8018353995
YOUTH OF ISRAEL 2019
Home
About
Events
Contact
Ojos de Arrey, Chihuahua, Mexico
2019 HEAD STAFF
Alex Tucker
Darias Parson
Tony Jones
We are super excited to announce the dates set for
July 17 thru July 25th
. We are honored and working hard to put our best foot forward and make this years YOI the best it could possibly be.
teamwork
Lorem ipsum dolor sit amet consectetur adipisicing.
Community
Lorem ipsum dolor sit amet consectetur adipisicing.
Along Together (convivir)
Lorem ipsum dolor sit amet consectetur adipisicing.


Copyright © 2017. All copyrights belong to their respective owners.
Template and Images owned by other copyright holders are used here under the guidelines of the Fair Use provisions of United States Copyright Law. These Template and Images are used here only for class project purposes, and are not intended to generate income for the school, its employees, or its students.


Create pull request Discuss and review the changes in this comparison with others.
Please login for Pull Request
| {{commit.author}} | {{commit.message}} | {{commit.commitId}} |
There isn't anything to compare.
There isn't anything to compare.
You'll need to use two different branch names to get a valid comparison.


Svaunit test class
List of immediate assertions tested during a specific test
{{{ Functions used to find out SVA properties
List of string which represents all the immediate assertions which can be tested
Timeout variable - the test will finished if time reaches this timeout
Pointer to VPI interface with SVAs, imports and exports to VPI API
Build phase method used to instantiate components
Arguments:
phase : the phase scheduled for build_phase method
Will disable the starting of any new attempt for all SVAs (this will have no effect on any existing attempts or if SVA was already disable; on default all SVAs are enable)
Will disable the starting of any new attempt for a given SVA (this will have no effect on any existing attempts or if SVA was already disable; on default all SVAs are enable)
Arguments:
assertion_name : assertion name to be found in SVA list
Will disable step callback for all SVAs (this will have no effect if step callback is not enabled or it was already disabled)
Will disable step callback for a given SVA (this will have no effect if step callback is not enabled or it was already disabled)
Arguments:
assertion_name : assertion name to be found in SVA list
Disable test to be tested
Will enable starting any new attempts for all SVAs (this will have no effect if SVA was already enable or on any current attempt)
Will enable starting any new attempts for a given SVA (this will have no effect if SVA was already enable or on any current attempt)
Arguments:
assertion_name : assertion name to be found in SVA list
Will enable step callback for all SVAs (by default, stepping is disabled; this will have no effect if stepping was already enabled; the stepping mode cannot be modified after the assertion attempt has started)
Will enable step callback for a given SVA (by default, stepping is disabled; this will have no effect if stepping was already enabled; the stepping mode cannot be modified after the assertion attempt has started)
Arguments:
assertion_name : assertion name to be found in SVA list
Enable test to be tested
Verify if the expression is FALSE - the test will fail if the expression is FALSE
Arguments:
expression : the expression to be checked
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if all SVAs succeeded - the test will fail if all SVA succeeded
Verify if a given SVA is exists - the test will fail if SVA is does not exists
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA is enabled - the test will fail if SVA is enable
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA finished - the test will fail if the assertion finished
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA didn't finished - the test will fail if the assertion didn't finished
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA didn't started - the test will fail if the assertion didn't started
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA didn't succeeded (the assertion should have failed) - the test will fail if the assertion didn't succeeded
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA didn't finished but the first state is START - the test will fail if the assertion didn't finished but the first state is START
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA succeeded - the test will fail if SVA succeeded
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Form the tree from test-suites names and tests name
Returns:
a string representing the tree
Get the immediate assertion info which corresponds to a given SVA
Returns:
the immediate assertion info which corresponds to a given SVA
Arguments:
sva_name : a string represents the SVA name used to select the immediate assertion
Get a list with names for all immediate assertion used
Arguments:
the string list which contains the name of the checks used in this unit test
Get a list with names for all immediate assertion used which were not used
Arguments:
the string list which contains the name of the checks not used in this unit test
Get a string with all checks used to verify SVAs
Returns:
a string represents the checks tested for SVAs
Get the total number of SVAs
Get the total number of SVAs tested from all tests
Returns:
the total number of SVAs tested from all tests
Compute the number of times an SVA with a given name failed
Returns:
the number of times an assertion failed
Arguments:
assertion_name : assertion name to be found in SVA list
Compute the number of times an SVA with a given name started
Returns:
the number of times an assertion started
Arguments:
assertion_name : assertion name to be found in SVA list
Compute the number of times an SVA with a given name succeeded
Returns:
the number of times an assertion succeeded
Arguments:
assertion_name : assertion name to be found in SVA list
Get the number of times an immediate assertion passed during simulation
Returns:
the number of times an immediate assertion passed during simulation
Get the number of times an immediate assertion was tested during simulation
Returns:
the number of times an immediate assertion was tested during simulation
Form the status to be printed as a string
Returns:
a string represents the status to be printed
Form the status of the test as a string
Returns:
a string which contains the status of test
Get all SVA from all tests which have not been tested
Arguments:
tested_sva : list of all SVAs which have not been tested
Get the names of the SVAs which were not tested during test
Returns:
the names of the SVAs which were not tested during test
Get a list of all SVAs which have the same tested status
Arguments:
tested_status : tested status used to collect SVA
sva_tested : a list of all SVAs which have the same tested status
Get the names of the SVAs which were tested during test
Returns:
the names of the SVAs which were tested during test
Get immediate assertions from all tests
Returns:
the total number of immediate assertions
Will discard any attempts of all SVAs (the SVA will remain enabled and does not reset any state used by any SVA)
Arguments:
sim_time : the simulation time from which the SVA attempts will be killed
Will discard any attempts of a given SVA (the SVA will remain enabled and does not reset any state used by this SVA)
Arguments:
assertion_name : assertion name to be found in SVA list
sim_time : the simulation time from which the SVA attempts will be killed
Automatic check verified at the end of test for all enabled SVAs, if there are not any checks in unit test
Verify if the expression is FALSE - the test will pass if the expression is FALSE
Arguments:
expression : the expression to be checked
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if all SVAs succeeded - the test will pass if all SVA succeeded
Verify if a given SVA is exists - the test will pass if SVA is does not exists
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA is enabled - the test will pass if SVA is enable
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA finished - the test will pass if the assertion finished
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA didn't finished - the test will pass if the assertion didn't finished
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA didn't started - the test will pass if the assertion didn't started
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA didn't succeeded (the assertion should have failed) - the test will pass if the assertion didn't succeeded
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA didn't finished but the first state is START - the test will pass if the assertion didn't finished but the first state is START
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Verify if a given SVA succeeded - the test will fail if SVA does not succeeded
Arguments:
assertion_name : assertion name to be found in SVA list
error_msg : user error message to be printed if the check fails
line : the line number where the check is exercised
filename : the file name where the check is exercised
Print a report for all checks tested for the current unit test
Print a report for all SVA which have failed
Will print the report for the current unit test
Form the status to be printed
Returns:
a string represents the status to be printed
Print a list with all SVAs and with its status
Print a report for all checks tested for the SVAs
Will print assertion info for an SVA with a given name
Arguments:
assertion_name : assertion name to be found in SVA list
Print the the SVAUnit topology
Will discard all current attempts in progress for all SVAs and resets the SVAs to initial state
Will discard all current attempts in progress for an SVA with a given name and resets the SVA to its initial state
Arguments:
assertion_name : assertion name to be found in SVA list
Set test name in VPI interface
Arguments:
test_name to be added inside VPI interface
Will discard any attempt in progress and disable any SVA to be started (all callbacks will be removed)
------------------------------- SYSTEM OFF -------------------------------- Will disable any SVA to being started and all current attempts will be considered as unterminated
------------------------------- SYSTEM ON -------------------------------- Will restart the SVAs after it was stopped
Will discard all attempts in progress for all SVAs and restore the entire assertion system to its initial state. (The vpiAssertionStepSuccess and vpiAssertionStepFailure callbacks will be removed)
Update the test's status according to the number of failed assertions
Define a behavior that will happens after running the test
Define a behavior that will happens before running the test E.g. initialize signals
Run phase method used to run test - it will be started only in VMANAGER mode
Arguments:
phase : the phase scheduled for run_phase method
Will start the unit test and will start the timeout mechanism
Task used to start testing - The user should create here scenarios to verify SVAs


followphpdevs is a great site and idea, however most of us know and follow them already.
So what about Up and Coming PHP Developers or other amazing contributers who we do not all know about yet?
An Open Source project, think someone should be on the list below, create a Pull Request.
Active in any of the below
{{ person.description }}


{% extends 'base.html' %} {% import "bootstrap/wtf.html" as wtf %} {% block content %}
Don't have an account?.. Sign up


NotifyMe!
+ Add a Class
Notifications
Messages
Read?
CIS 430: Class Cancelled (4/30)
Scholars,
Unfortunately I'll need to cancel today's 4:35pm class.
CIS 425: HW8 Due Date Extension
Hi all,
Due to recent Citrix issues I am extended the due date for HW8 to Tuesday, 4/1.
CIS 345: Quiz 5 on Tuesday
Hi all,
Your final CIS 345 quiz is scheduled on Tuesday, April 17. It will cover material from IC12-15.
CIS 430: Test Posted
Scholars,
The following test has been made available in Part 4: Hybrid: Q10
CIS 430: Part 3 Slides Posted
Scholars,
The Lecture slides for part 3 are posted as "Part 3: Responsive Web Slides"
Mark as Read


A list of Portables will be shown here. To narrow down the list of Portables, you can can change the view (e.g. Active Portables, Inactive Portables) and/or input filters by clicking on the columns.
How do I filter out Modulars on this view?
Modulars are not including in portable records. Navigate to the desired facility record and you will see the "Number of Modulars" field.


Thank you for visiting my site. This is the place where I share my knowledge and experience with the world, hope you'll find something useful here.


IT
Root
Home
Links
Home
Report
Stack
GG
Rosetta
Git
REPL
Yale
Tutorials
School
Online Books
Real
Parallel


Check out the property and see what the Startup Dojo is all about.
ABOUT US
Meet the team and learn about why we started the Startup Dojo.
CONTACT
Contact us to get more information or schedule a tour.
"The Dojo is to startups as arrows are to Katniss Everdeen."
- Scott Weinert from Comfy
"Moving into the Dojo was one of the best early decisions I made
with
my first startup. Now I'm onto my second and sometimes wish we hadn't
outgrown the space because of the energy and collaboration. Awesome
place to get started."


Portfolio
Home
About
Experience
Projects
Contact
(current)
Name
Email
I never share or sell your information.
Cancel
Submit
Portfolio | Contact
Copyright © 2018 · All Rights Reserved ·
Alton Carroll


Tree Quiz
This page lets you set up a quiz about trees that you can take. You can tailor it to your particular preferences, or just hit "Create a Quiz"
and take a general test. There are also quiz programs for wildflowers and birds.
If you are more interested in identifying trees, see the tree identification page.


{% extends "base.html" %} {% block content %}
403 Permission denied - Sorry, it seems you do not have permissions to access this page.
If you think there is a mistake, please contact a manager for your organization.
If you are a manager and think this is a mistake, please contact us. We do our best to reply within 24 hours. Thank you!


| |
The Kulgren House was constructed in 1890. Andrew Kulgren owned a harness shop at 400 E. Simpson Street, where he made and repaired harnesses and shoes, and like many local merchants, he settled in one of the neighborhoods adjacent to Simpson Street. Mr. Kulgren served on the Town Council for three years. This seemed to have set a precedent for residents at this address, as the next owner, Ben Cundall, served on the Council for thirteen years, including four terms as mayor.
Mary Kulgren ran a boarding house in the home. The small building at the rear of the property was the wash house for the miners, who were expected to clean up there after a day in the mines. Like all good housewives in town, Mrs. Kulgren waged constant battle against the ubiquitous coal dust. |
|


AllJoyn is...
a system that allows devices to advertise and share their abilities with other devices around them.
a protocol that your devices can use to interact intelligently.
a library you can include in your software to make smarter devices.
| Standard | Thin |
|---|---|
| Mobile, Laptop | RTOS |
| C, C++, Java, JS, Obj-C, Unity | C |
| Router optional | No Router |
| Control | Range | Units |
|---|---|---|
| Set Point | 75-130 | Degrees F |
| Current Temperature | 40-160 | Degrees F |
| Current Amps | 0-50 | Amps |
| Total Time | 0-MAXINT | Seconds |
| Total Amps | 0-MAXINT | Amps |
| Special Modes | 0-255 | Bitmask |
| Presets | Undefined | Undefined |
/******************************************************************************
* Copyright (c) 2015, Ivan R. Judson. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
******************************************************************************/
#define CONNECT_ATTEMPTS 10
/* All times are expressed in milliseconds. */
#define CONNECT_TIMEOUT (1000 * 60)
#define UNMARSHAL_TIMEOUT (1000 * 5)
#define SLEEP_TIME (1000 * 2)
#define METHOD_TIMEOUT (100 * 10)
static const char ServiceName[] = "com.myheatworks.model1";
static const char ServicePath[] = "/control";
static const uint16_t ServicePort = 25;
/*
* Buffer to hold the full service name. This buffer must be big enough to hold
* a possible 255 characters plus a null terminator (256 bytes)
*/
static char fullServiceName[AJ_MAX_SERVICE_NAME_SIZE];
/**
* The interface name followed by the method signatures.
*
* See also aj_introspect.h
*/
static const char* const sampleInterface[] = {
"com.myheatworks.model1", /* The first entry is the interface name. */
"?setPoint temp<y", /* Set the water temperature */
"?currentTemp temp>y", /* Get the water temperature setting */
"?softCurrentLimit current<y", /* Set the soft current limit */
"?currentDrawInstant current>y", /* Get the current draw at this instant */
"?timeOdometerValue time>i", /* Get the number of seconds the unit has been running. */
"?currentOdometerValue current>i", /* Get the integral of amps where dt = 4 seconds */
NULL
};
/**
* A NULL terminated collection of all interfaces.
*/
static const AJ_InterfaceDescription sampleInterfaces[] = {
sampleInterface,
NULL
};
/**
* Objects implemented by the application. The first member in the AJ_Object structure is the path.
* The second is the collection of all interfaces at that path.
*/
static const AJ_Object AppObjects[] = {
{ ServicePath, sampleInterfaces },
{ NULL }
};
/******************************************************************************
* Copyright (c) 2015, Ivan R. Judson. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
******************************************************************************/
#define AJ_MODULE MODEL1_SERVICE
#include <stdio.h>
#include <aj_debug.h>
#include "alljoyn.h"
#include "model1.h"
uint8_t dbgMODEL1_SERVICE = 0;
/*
* The value of the arguments are the indices of the
* object path in AppObjects (above), interface in sampleInterfaces (above), and
* member indices in the interface.
* The first index is 1 because the first entry in sampleInterface is the interface name.
* This makes the first index (index 0 of the methods) the second string in
* sampleInterface[].
*
* See also aj_introspect.h
*/
#define BASIC_SERVICE_SETPOINT AJ_APP_MESSAGE_ID(0, 0, 0)
#define BASIC_SERVICE_CURRENT_TEMP AJ_APP_MESSAGE_ID(0, 0, 1)
#define BASIC_SERVICE_SOFT_CURRENT_LIMIT AJ_APP_MESSAGE_ID(0, 0, 2)
#define BASIC_SERVICE_CURRENT_DRAW_INSTANT AJ_APP_MESSAGE_ID(0, 0, 3)
#define BASIC_SERVICE_TIME_ODOMETER AJ_APP_MESSAGE_ID(0, 0, 4)
#define BASIC_SERVICE_CURRENT_ODOMETER AJ_APP_MESSAGE_ID(0, 0, 5)
int main(int argc, char **argv)
{
AJ_Status status = AJ_OK;
AJ_BusAttachment bus;
uint8_t connected = FALSE;
uint32_t sessionId = 0;
/* One time initialization before calling any other AllJoyn APIs. */
AJ_Initialize();
/* This is for debug purposes and is optional. */
AJ_PrintXML(AppObjects);
AJ_RegisterObjects(AppObjects, NULL);
while (TRUE) {
AJ_Message msg;
if (!connected) {
status = AJ_StartService(&bus,
NULL,
CONNECT_TIMEOUT,
FALSE,
ServicePort,
ServiceName,
AJ_NAME_REQ_DO_NOT_QUEUE,
NULL);
if (status != AJ_OK) {
continue;
}
AJ_InfoPrintf(("StartService returned %d, session_id=%u\n", status, sessionId));
connected = TRUE;
}
status = AJ_UnmarshalMsg(&bus, &msg, UNMARSHAL_TIMEOUT);
if (AJ_ERR_TIMEOUT == status) {
continue;
}
if (AJ_OK == status) {
switch (msg.msgId) {
case AJ_METHOD_ACCEPT_SESSION:
{
uint16_t port;
char* joiner;
AJ_UnmarshalArgs(&msg, "qus", &port, &sessionId, &joiner);
status = AJ_BusReplyAcceptSession(&msg, TRUE);
AJ_InfoPrintf(("Accepted session session_id=%u joiner=%s\n", sessionId, joiner));
}
break;
case BASIC_SERVICE_SETPOINT:
{
uint8_t setPoint = 40;
AJ_Message reply;
AJ_UnmarshalArgs(&msg, "y", &setPoint);
AJ_AlwaysPrintf(("Setting set point to: %d F.\n", setPoint));
/* Make set setpoint call */
AJ_MarshalReplyMsg(&msg, &reply);
AJ_InfoPrintf(("Set target water temperature returned %d, session_id=%u\n", status, sessionId));
status = AJ_DeliverMsg(&reply);
}
break;
case BASIC_SERVICE_CURRENT_TEMP:
{
uint8_t currentTemp = 42;
AJ_Message reply;
AJ_Arg replyArg;
AJ_MarshalReplyMsg(&msg, &reply);
AJ_AlwaysPrintf(("Getting current temperature: %d F.\n", currentTemp));
/* Get the current temperature */
AJ_InitArg(&replyArg, AJ_ARG_BYTE, 0, (void *)¤tTemp, 0);
AJ_MarshalArg(&reply, &replyArg);
AJ_InfoPrintf(("Asked for current temperature returned %d, session_id=%u\n", status, sessionId));
status = AJ_DeliverMsg(&reply);
}
break;
case BASIC_SERVICE_SOFT_CURRENT_LIMIT:
{
uint8_t currentLimit = 10;
AJ_Message reply;
AJ_UnmarshalArgs(&msg, "y", ¤tLimit);
AJ_AlwaysPrintf(("Setting soft current limit to: %d amps.\n", currentLimit));
/* Actually set the set point! */
AJ_MarshalReplyMsg(&msg, &reply);
AJ_InfoPrintf(("Setting soft current limit: returned %d, session_id=%u\n", status, sessionId));
status = AJ_DeliverMsg(&reply);
}
break;
case BASIC_SERVICE_CURRENT_DRAW_INSTANT:
{
uint8_t currentUsedNow = 0;
AJ_Message reply;
AJ_Arg replyArg;
AJ_MarshalReplyMsg(&msg, &reply);
AJ_AlwaysPrintf(("Getting instantaneous current draw: %d amps.\n", currentUsedNow));
/* Get current draw */
AJ_InitArg(&replyArg, AJ_ARG_BYTE, 0, (void *)¤tUsedNow, 0);
AJ_MarshalArg(&reply, &replyArg);
AJ_InfoPrintf(("Asked for instant current draw value: returned %d, session_id=%u\n", status, sessionId));
status = AJ_DeliverMsg(&reply);
}
break;
case BASIC_SERVICE_TIME_ODOMETER:
{
int timeRunning = 0;
AJ_Message reply;
AJ_Arg replyArg;
AJ_MarshalReplyMsg(&msg, &reply);
AJ_AlwaysPrintf(("Getting time odometer: %d seconds.\n", timeRunning));
/* Get current time odometer */
AJ_InitArg(&replyArg, AJ_ARG_INT32, 0, (void *)&timeRunning, 0);
AJ_MarshalArg(&reply, &replyArg);
AJ_InfoPrintf(("Asked for time odometer value: returned %d, session_id=%u\n", status, sessionId));
status = AJ_DeliverMsg(&reply);
}
break;
case BASIC_SERVICE_CURRENT_ODOMETER:
{
int ampsUsed = 0;
AJ_Message reply;
AJ_Arg replyArg;
AJ_MarshalReplyMsg(&msg, &reply);
AJ_AlwaysPrintf(("Getting current odometer: %d amps.\n", ampsUsed));
/* Get current time odometer */
AJ_InitArg(&replyArg, AJ_ARG_INT32, 0, (void *)&sUsed, 0);
AJ_MarshalArg(&reply, &replyArg);
AJ_InfoPrintf(("Asked for current odometer value: returned %d, session_id=%u\n", status, sessionId));
status = AJ_DeliverMsg(&reply);
}
break;
case AJ_SIGNAL_SESSION_LOST_WITH_REASON:
/* Session was lost so return error to force a disconnect. */
{
uint32_t id, reason;
AJ_UnmarshalArgs(&msg, "uu", &id, &reason);
AJ_AlwaysPrintf(("Session lost. ID = %u, reason = %u", id, reason));
}
status = AJ_ERR_SESSION_LOST;
break;
default:
/* Pass to the built-in handlers. */
status = AJ_BusHandleBusMessage(&msg);
break;
}
}
/* Messages MUST be discarded to free resources. */
AJ_CloseMsg(&msg);
if ((status == AJ_ERR_SESSION_LOST || status == AJ_ERR_READ)) {
AJ_AlwaysPrintf(("AllJoyn disconnect.\n"));
AJ_Disconnect(&bus);
connected = FALSE;
/* Sleep a little while before trying to reconnect. */
AJ_Sleep(SLEEP_TIME);
}
}
AJ_AlwaysPrintf(("Basic service exiting with status %d.\n", status));
return status;
}
/******************************************************************************
* Copyright (c) 2015, Ivan R. Judson. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
******************************************************************************/
#define AJ_MODULE MODEL1_CLIENT
#include <stdio.h>
#include <stdlib.h>
#include <aj_debug.h>
#include <alljoyn.h>
#include "model1.h"
uint8_t dbgMODEL1_CLIENT = 0;
/*
* The value of the arguments are the indices of the
* object path in AppObjects (above), interface in sampleInterfaces (above), and
* member indices in the interface.
* The first index is 1 because the first entry in sampleInterface is the interface name.
* This makes the first index (index 0 of the methods) the second string in
* sampleInterface[].
*
* See also aj_introspect.h
*/
#define BASIC_CLIENT_SETPOINT AJ_PRX_MESSAGE_ID(0, 0, 0)
#define BASIC_CLIENT_CURRENT_TEMP AJ_PRX_MESSAGE_ID(0, 0, 1)
#define BASIC_CLIENT_SOFT_CURRENT_LIMIT AJ_PRX_MESSAGE_ID(0, 0, 2)
#define BASIC_CLIENT_CURRENT_DRAW_INSTANT AJ_PRX_MESSAGE_ID(0, 0, 3)
#define BASIC_CLIENT_TIME_ODOMETER AJ_PRX_MESSAGE_ID(0, 0, 4)
#define BASIC_CLIENT_CURRENT_ODOMETER AJ_PRX_MESSAGE_ID(0, 0, 5)
void SetPoint(AJ_BusAttachment *bus, uint32_t sessionId, uint8_t setPoint)
{
AJ_Status status = AJ_OK;
AJ_Message msg;
status = AJ_MarshalMethodCall(bus, &msg, BASIC_CLIENT_SETPOINT, fullServiceName, sessionId, 0, METHOD_TIMEOUT);
if (status == AJ_OK) {
status = AJ_MarshalArgs(&msg, "y", setPoint);
}
if (status == AJ_OK) {
status = AJ_DeliverMsg(&msg);
}
AJ_InfoPrintf(("SetSetPoint() resulted in a status of 0x%04x.\n", status));
}
void GetCurrentTemp(AJ_BusAttachment *bus, uint32_t sessionId)
{
AJ_Status status = AJ_OK;
AJ_Message msg;
status = AJ_MarshalMethodCall(bus, &msg, BASIC_CLIENT_CURRENT_TEMP, fullServiceName, sessionId, 0, METHOD_TIMEOUT);
if (status == AJ_OK) {
status = AJ_DeliverMsg(&msg);
}
AJ_InfoPrintf(("GetCurrentTemp() resulted in a status of 0x%04x.\n", status));
}
void SetSoftCurrentLimit(AJ_BusAttachment *bus, uint32_t sessionId, uint8_t currentLimit)
{
AJ_Status status = AJ_OK;
AJ_Message msg;
status = AJ_MarshalMethodCall(bus, &msg, BASIC_CLIENT_SOFT_CURRENT_LIMIT, fullServiceName, sessionId, 0, METHOD_TIMEOUT);
if (status == AJ_OK) {
status = AJ_MarshalArgs(&msg, "y", currentLimit);
}
if (status == AJ_OK) {
status = AJ_DeliverMsg(&msg);
}
AJ_InfoPrintf(("SetSoftCurrentLimit() resulted in a status of 0x%04x.\n", status));
}
void GetCurrentDraw(AJ_BusAttachment *bus, uint32_t sessionId)
{
AJ_Status status = AJ_OK;
AJ_Message msg;
status = AJ_MarshalMethodCall(bus, &msg, BASIC_CLIENT_CURRENT_DRAW_INSTANT, fullServiceName, sessionId, 0, METHOD_TIMEOUT);
if (status == AJ_OK) {
status = AJ_DeliverMsg(&msg);
}
AJ_InfoPrintf(("GetCurrentDraw() resulted in a status of 0x%04x.\n", status));
}
void GetTimeOdometer(AJ_BusAttachment *bus, uint32_t sessionId)
{
AJ_Status status = AJ_OK;
AJ_Message msg;
status = AJ_MarshalMethodCall(bus, &msg, BASIC_CLIENT_TIME_ODOMETER, fullServiceName, sessionId, 0, METHOD_TIMEOUT);
if (status == AJ_OK) {
status = AJ_DeliverMsg(&msg);
}
AJ_InfoPrintf(("GetTimeOdometer() resulted in a status of 0x%04x.\n", status));
}
void GetCurrentOdometer(AJ_BusAttachment *bus, uint32_t sessionId)
{
AJ_Status status = AJ_OK;
AJ_Message msg;
status = AJ_MarshalMethodCall(bus, &msg, BASIC_CLIENT_CURRENT_ODOMETER, fullServiceName, sessionId, 0, METHOD_TIMEOUT);
if (status == AJ_OK) {
status = AJ_DeliverMsg(&msg);
}
AJ_InfoPrintf(("GetCurrentOdometer() resulted in a status of 0x%04x.\n", status));
}
int main(int argc, char **argv)
{
AJ_Status status = AJ_OK;
AJ_BusAttachment bus;
uint8_t connected = FALSE;
uint8_t done = FALSE;
uint32_t sessionId = 0;
/*
* One time initialization before calling any other AllJoyn APIs
*/
AJ_Initialize();
AJ_PrintXML(AppObjects);
AJ_RegisterObjects(NULL, AppObjects);
while (!done) {
AJ_Message msg;
if (!connected) {
status = AJ_StartClientByName(&bus,
NULL,
CONNECT_TIMEOUT,
FALSE,
ServiceName,
ServicePort,
&sessionId,
NULL,
fullServiceName);
if (status == AJ_OK) {
AJ_InfoPrintf(("StartClient returned %d, sessionId=%u.\n", status, sessionId));
connected = TRUE;
SetPoint(&bus, sessionId, 50);
GetCurrentTemp(&bus, sessionId);
SetSoftCurrentLimit(&bus, sessionId, 48);
GetCurrentDraw(&bus, sessionId);
GetTimeOdometer(&bus, sessionId);
GetCurrentOdometer(&bus, sessionId);
} else {
AJ_InfoPrintf(("StartClient returned 0x%04x.\n", status));
break;
}
}
status = AJ_UnmarshalMsg(&bus, &msg, UNMARSHAL_TIMEOUT);
if (AJ_ERR_TIMEOUT == status) {
continue;
}
if (AJ_OK == status) {
switch (msg.msgId) {
case AJ_REPLY_ID(BASIC_CLIENT_CURRENT_TEMP):
{
AJ_Arg arg;
status = AJ_UnmarshalArg(&msg, &arg);
if (AJ_OK == status) {
AJ_AlwaysPrintf(("'%s.%s' (path='%s') returned '%d'.\n", fullServiceName, "currentTemp",
ServicePath, (int)*(arg.val.v_byte)));
} else {
AJ_InfoPrintf(("AJ_UnmarshalArg() returned status %d.\n", status));
GetCurrentTemp(&bus, sessionId);
}
}
break;
case AJ_REPLY_ID(BASIC_CLIENT_CURRENT_DRAW_INSTANT):
{
AJ_Arg arg;
status = AJ_UnmarshalArg(&msg, &arg);
if (AJ_OK == status) {
AJ_AlwaysPrintf(("'%s.%s' (path='%s') returned '%d'.\n", fullServiceName, "currentDrawInstant",
ServicePath, (int)*(arg.val.v_byte)));
} else {
AJ_InfoPrintf(("AJ_UnmarshalArg() returned status %d.\n", status));
GetCurrentTemp(&bus, sessionId);
}
}
break;
case AJ_REPLY_ID(BASIC_CLIENT_TIME_ODOMETER):
{
AJ_Arg arg;
status = AJ_UnmarshalArg(&msg, &arg);
if (AJ_OK == status) {
AJ_AlwaysPrintf(("'%s.%s' (path='%s') returned '%d'.\n", fullServiceName, "timeOdometerValue",
ServicePath, (int)*(arg.val.v_int32)));
} else {
AJ_InfoPrintf(("AJ_UnmarshalArg() returned status %d.\n", status));
GetCurrentTemp(&bus, sessionId);
}
}
break;
case AJ_REPLY_ID(BASIC_CLIENT_CURRENT_ODOMETER):
{
AJ_Arg arg;
status = AJ_UnmarshalArg(&msg, &arg);
if (AJ_OK == status) {
AJ_AlwaysPrintf(("'%s.%s' (path='%s') returned '%d'.\n", fullServiceName, "currentOdometerValue",
ServicePath, (int)*(arg.val.v_int32)));
} else {
AJ_InfoPrintf(("AJ_UnmarshalArg() returned status %d.\n", status));
GetCurrentTemp(&bus, sessionId);
}
}
break;
case AJ_SIGNAL_SESSION_LOST_WITH_REASON:
/* A session was lost so return error to force a disconnect. */
{
uint32_t id, reason;
AJ_UnmarshalArgs(&msg, "uu", &id, &reason);
AJ_AlwaysPrintf(("Session lost. ID = %u, reason = %u", id, reason));
}
status = AJ_ERR_SESSION_LOST;
break;
default:
/* Pass to the built-in handlers. */
status = AJ_BusHandleBusMessage(&msg);
break;
}
}
/* Messages MUST be discarded to free resources. */
AJ_CloseMsg(&msg);
if (status == AJ_ERR_SESSION_LOST) {
AJ_AlwaysPrintf(("AllJoyn disconnect.\n"));
AJ_Disconnect(&bus);
exit(0);
}
}
AJ_AlwaysPrintf(("Basic client exiting with status %d.\n", status));
return status;
}


The driver and/or carrier is responsible for ensuring the default vehicle parameters or user-entered vehicle parameters are an accurate representation of the actual vehicle, for verifying all clearances and restrictions on the route, and for ensuring the vehicle is operated in compliance with all applicable municipal bylaws and provincial and federal regulations.


| ▼CUtility::AbstractParser | Abstract parser interface |
| CUtility::CharGroupParser | Parser class that accepts only characters given |
| CUtility::HexStringParser | Parser class that accepts only hex string |
| CUtility::NilParser | Parser class that accepts all |
| CUtility::StringGroupParser | Parser class that accepts only strings given |
| CPLEN2::AccelerationGyroSensor | Management class of acceleration and gyro sensor |
| CPLEN2::Protocol::Buffer | Buffer struct |
| CPLEN2::Interpreter::Code | Code struct |
| CPLEN2::ExternalEEPROM | Management class of external EEPROM |
| CPLEN2::Motion::Frame | Class of a motion frame |
| CPLEN2::Motion::Header | Class of a motion header |
| CPLEN2::Interpreter | Management class of interpreter |
| CPLEN2::JointController | Management class of joints |
| CPLEN2::MotionController | Management class of a motion |
| CPLEN2::JointController::Multiplexer | Management class (as namespace) of multiplexer |
| CUtility::Profiler | Tiny metrics class |
| CPLEN2::Protocol | Analysis class of the PLEN2's protocol |
| CPLEN2::Soul | The class which makes natural moving, for PLEN |
| CPLEN2::System | Management class of basis about AVR MCU |


isambard.add_ons.knobs_into_holes module¶
-
class
KnobGroup
(monomers=None, polymer_id=' ', ampal_parent=None, cutoff=None)[source]¶ Bases:
ampal.pseudo_atoms.PseudoGroup
Collection of KnobsIntoHoles interactions with associated methods.
-
complementary_knobs
¶
-
daisy_chain_graph
¶ Directed graph with edges from knob residue to each hole residue for each KnobIntoHole in self.
-
daisy_chains
(kih, max_path_length=None)[source]¶ Generator for daisy chains (complementary kihs) associated with a knob.
Notes
- Daisy chain graph is the directed graph with edges from knob residue to each hole residue for each KnobIntoHole
- in self.
Given a KnobIntoHole, the daisy chains are non-trivial paths in this graph (walks along the directed edges) that begin and end at the knob. These paths must be of length <= max_path_length
Parameters:
-
static
filter_graph
(g, cutoff=7.0, min_kihs=2)[source]¶ Get subgraph formed from edges that have max_kh_distance < cutoff.
Parameters: Returns: subgraph formed from edges that have max_kh_distance < cutoff.
Return type: networkx.MultiDigraph
-
classmethod
from_helices
(assembly, cutoff=7.0, min_helix_length=8)[source]¶ Generate KnobGroup from the helices in the assembly - classic socket functionality.
Notes
Socket identifies knobs-into-holes (KIHs) packing motifs in protein structures. The following resources can provide more information: The socket webserver: http://coiledcoils.chm.bris.ac.uk/socket/server.html The help page: http://coiledcoils.chm.bris.ac.uk/socket/help.html The original publication reference: Walshaw, J. & Woolfson, D.N. (2001) J. Mol. Biol., 307 (5), 1427-1450.
Parameters: Returns: - instance (KnobGroup)
- None if no helices or no kihs.
-
get_assigned_regions
(helices=None, include_alt_states=False, complementary_only=False, cutoff=None)[source]¶ Parameters: - helices (None, or subset of chains in self.ampal_parent.) – If None, helices is set to self.ampal_parent.
- include_alt_states (bool) – If True, include alternate states for residues. If False, include only residues with a single defined state.
- complementary_only (bool) – Consider only KnobIntoHoles with complementary knobs.
- cutoff (None or float) – Cutoff at which to determine complementarity.
Returns: assigned_regions –
- Keys : int
The helix number
- Values : tuple(int)
The Residue numbers of the start and end of the assigned region.
Return type:
-
get_coiledcoil_region
(cc_number=0, cutoff=7.0, min_kihs=2)[source]¶ Assembly containing only assigned regions (i.e. regions with contiguous KnobsIntoHoles.
-
graph
¶ Returns MultiDiGraph from kihs. Nodes are helices and edges are kihs.
-
-
class
KnobIntoHole
(pseudo_atoms=None, mol_code='UNK', monomer_id=' ', insertion_code=' ', ampal_parent=None)[source]¶ Bases:
ampal.pseudo_atoms.PseudoMonomer
-
hole
¶
-
hole_chain
¶
-
hole_helix
¶
-
hole_residues
¶
-
is_parallel
¶
-
knob
¶
-
knob_chain
¶
-
knob_end
¶ Coordinates of the end of the knob residue (atom in side-chain furthest from CB atom. Returns CA coordinates for GLY.
-
knob_helix
¶
-
knob_residue
¶
-
max_kh_distance
¶
-
max_knob_end_distance
¶ Maximum distance between knob_end and each of the hole side-chain centres.
-
packing_angle
¶ Angle between CA-CB of knob and CA(h1)-CA(h2). Returns None if knob is GLY.
-
residues
¶
-
-
cluster_helices
(helices, cluster_distance=12.0)[source]¶ Clusters helices according to the minimum distance between the line segments representing their backbone.
Notes
Each helix is represented as a line segement joining the CA of its first Residue to the CA if its final Residue. The minimal distance between pairwise line segments is calculated and stored in a condensed_distance_matrix. This is clustered using the ‘single’ linkage metric
(all members of cluster i are at < cluster_distance away from at least one other member of cluster i).Helices belonging to the same cluster are grouped together as values of the returned cluster_dict.
Parameters: Returns: cluster_dict –
- Keys: int
cluster number
Values: [Polymer]
Return type:
-
find_contiguous_packing_segments
(polypeptide, residues, max_dist=10.0)[source]¶ Assembly containing segments of polypeptide, divided according to separation of contiguous residues.
Parameters: - polypeptide (Polypeptide) –
- residues (iterable containing Residues) –
- max_dist (float) – Separation beyond which splitting of Polymer occurs.
Returns: segments – Each segment contains a subset of residues, each not separated by more than max_dist from the previous Residue.
Return type:
-
find_kihs
(assembly, hole_size=4, cutoff=7.0)[source]¶ KnobIntoHoles between residues of different chains in assembly.
Notes
A KnobIntoHole is a found when the side-chain centre of a Residue a chain is close than (cutoff) Angstroms from at least (hole_size) side-chain centres of Residues of a different chain.
Parameters: Returns: kihs
Return type:
-
gen_reference_primitive
(polypeptide, start, end)[source]¶ Generates a reference Primitive for a Polypeptide given start and end coordinates.
Notes
Uses the rise_per_residue of the Polypeptide primitive to define the separation of points on the line joining start and end.
Parameters: - polypeptide (Polypeptide) –
- start (numpy.array) – 3D coordinates of reference axis start
- end (numpy.array) – 3D coordinates of reference axis end
Returns: reference_primitive
Return type:
-
make_pymol
(pdb_file, cutoff=7.0, min_kihs=2, outfile=None)[source]¶ Pymol script for viewing classic coiled-coil Socket output.
Notes
For examples of these views, browse the CC+ database here: http://coiledcoils.chm.bris.ac.uk/ccplus/search/.
Parameters: Returns: script_string – Pymol commands for classic coiled-coil view.
Return type:
-
side_chain_centres
(assembly, masses=False)[source]¶ PseudoGroup containing side_chain centres of each Residue in each Polypeptide in Assembly.
Notes
Each PseudoAtom is a side-chain centre. There is one PseudoMonomer per chain in ampal (each containing len(chain) PseudoAtoms). The PseudoGroup has len(ampal) PseudoMonomers.
Parameters: Returns: containing all side_chain centres, and with ampal_parent=assembly.
Return type:
-
start_and_end_of_reference_axis
(chains)[source]¶ - Get start and end coordinates that approximate the reference axis for a collection of chains
- (not necessarily all the same length).
Parameters: chains ([Polypeptide]) – Returns: start, end – 3D start and end coordinates for defining the reference axis. Return type: numpy.array
-
tag_residues_with_heptad_register
(helices)[source]¶ tags Residues in input helices with heptad register. (Helices not required to be the same length).
Parameters: helices ([Polypeptide]) – Returns: Return type: None


| Version: | 3.0 |
| Release: | rc1 (release notes) |
| Compiled at: | Mar 1, 2004 [19:37] GMT |
| SourceForge page: | http://sf.net/projects/itools-htmlarea/ |
HTMLArea is a free, customizable online editor. It works inside your browser. It uses a non-standard feature implemented in Internet Explorer 5.5 or better for Windows and Mozilla 1.3 or better (any platform), therefore it will only work in one of these browsers.
HTMLArea is copyright InteractiveTools.com and Dynarch.com and it is released under a BSD-style license. HTMLArea is created and developed upto version 2.03 by InteractiveTools.com. Version 3.0 developed by Mihai Bazon for InteractiveTools. It contains code sponsored by third-party companies as well. Please see our About Box for details about who sponsored what plugins.
Installation is (or should be) easy. You need to unpack the ZIP file in a directory accessible through your webserver. Supposing you unpack in your DocumentRoot and your DocumentRoot is /var/www/html as in a standard RedHat installation, you need to acomplish the following steps: (the example is for a Unix-like operating system)
cd /var/www/html unzip /path/to/archive/HTMLArea-3.0-rc1.zip mv HTMLArea-3.0-rc1 htmlarea find htmlarea/ -type f -exec chmod 644 {} \; find htmlarea/ -type d -exec chmod 755 {} \; find htmlarea/ -name "*.cgi" -exec chmod 755 {} \;
Notes. You may chose to symlink "htmlarea" to "HTMLArea-3.0-rc1", in which case your server needs to be configured to "FollowSymLinks". You need to make sure that *.cgi files are interpreted as CGI scripts. If you want to use the SpellChecker plugin you need to have a recent version of Perl installed (I recommend 5.8.0) on the server, and the module Text::Aspell, available from CPAN. More info in "plugins/SpellChecker/readme-tech.html".
About how to setup your pages to use the editor, please read the [outdated yet generally valid] documentation.
HTMLArea has reached version 3.0. As of this version, it supports:
We have a project page at SourceForge.net. There you can also find out how to retrieve the code from CVS, or you can browse the CVS online. We also have a bug system, a patch tracking system and a feature request page.
We invite you to say everything you want about HTMLArea on the forums at InteractiveTools.com. There you should also find the latest news.
Sometimes I post news about the latest developments on my personal homepage.
If it doesn't work, you have several options:
You can contact me directly only if you want to pay me for implementing custom features to HTMLArea. If you want to sponsor these features (that is, allow them to get back into the public HTMLArea distribution) I'll be cheaper. ;-)


{% extends 'base.html' %} {% block title %}Races - {% endblock %} {% block content %}
There are no races coming up
There are no race results


<lcQuestionBase2>
The <lcQuestionBase2>
element is the base for
<lcQuestion2>
in the learning2Domain domain. This is an "abstract"
element type intended only for use as a base for specialization. This element replaces the
<lcQuestion>
element in DITA 1.2.
Category: Top level interactions elements


Rating: * * * out of * * * *
Rated R for horror violence and gore, language and some nudity.
Starring: Geoffrey Rush, Famke Jansen, Ali Larter ,Brigette Wilson, Taye Diggs, Chris Kattan, Lisa Loeb, James Marsters. Running Time: 115 minutes
So here is the second of 1999's remakes of classic horror movies.  Now comes the highly awaited remake of House On Haunted Hill. The classic which starred Vincent Price as a man who pays a group of people 100,000 to stay in his house. If they survive the night they get the money. If not well you get the jurisdiction. Having not yet seen the film (DVD on its way) I wasn't sure if I would really like the remake. But sure enough it comes through and has a great storyline to fall back on.
Geoffrey Rush (in a fantastic role with an incredible performance) is Steven Price, the owner of an amusement park destined to scare the wits out of people. His wife Evelyn Price is throwing a party with her friends. Steven dismays at the idea and makes his own list. Somehow someone, or something changes that list and five other people are invited to the party. Eddie (Taye Diggs) an ex-baseball player, Sarah (Ali Carter) an ex-assistant who can re-wire anything, Melissa (Brigette Wilson) a talk-show host in sorts, Dr. Blackburn (Peter Ghallager), and Watson (Chris Kattan) a smart-mouthed humorist in ways. What he is gonna do is pay these five people 1,000,000 dollars if they can survive through the night. If they can they get the money, if not well they don't.
The House On Haunted Hill used to be an insane asylum.  Everyone who was in there burned to death. Now it is Steven Price's home and he is throwing this party for these five people. What starts out as a seemingly normal night, turns into a horrifying, blood splattering night. The deep dark secrets of what really happened in that asylum and why those guests are actually there are revealed. One-by-one the people start to disappear. Conspiracies start to turn up, and Steven Price finds out that his house may be alive after all. The people find rooms, which once held mental patients. Rooms which once had people dying. Rooms which may still contain these people. Now these five people must try and survive the night and try and survive the house, and they must survive each other with terrorfying results.
Since I officially haven't seen the original I can't say which is better. I can say however I liked this movie. Geoffrey Rush gives a one in a million performance as the rich Steven Price, and does a great job doing a Vincent Price role. Famke Jansen as his wife was great and even kind of eerie at times. Ali Carter and Taye Diggs sort of become the main characters and Ali Carter who debuted in Varsity Blues gives a fantastic performance here as does Taye Diggs. Chris Kattan gives us great comic relief and the movie contains a lot of comical lines. Peter Ghallager and Brigette Wilson were great as well and gave commanding performances as potential victims.
The plot was well conceived and was very absorbing. The movie has atmosphere the whole way through that is disturbing and creepy, and even sometimes downright scary. I found even the opening credits to me a little ominous. One thing I knew not to expect was a 'Haunting' type movie with special effects galore. Even though it had fantastic gore and special effects, the movie has only a 19 million dollar budget, which doesn's show all the way through but you can tell. The movie was written well, and it's only major flaw is the under-developed characters and plot holes that we are left with. The ending is quite clever and some may not even get it. I must say House On Haunted Hill was a surprise.  Instead I found a good Halloween movie with gore, scares and great acting. House On Haunted Hill is one of those movies you really can't take seriously. Though it is a well-made movie with a good storyline it still has some flaws. But besides that the movie is fun, smart and scary and makes us wonder why remakes like this can't be made all the time!
Reviewed By Brandon Herring October 28, 1999.
Brandon Herring Movie Review Heaven (http://www.geocities.com/hollywood/movie/3160/moviereviewheaven.html
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


Tim Chen, born in Zhejiang, China, was 183 cm tall.  He starts to read a lot of books since he was very young, including "The Bean Trees" and "Siddhartha". He has been studying in all kind of schools for the past 14 years and on AUGUST 23RD, 2018, he has turned 18 and he is able to book a hotel in United States.
| Type of School | School Name | Years |
|---|---|---|
| Kindergarten | He Hua Kindergarten | 2003-2004 |
| Kindergarten | Xin Yun Kindergarten | 2004-2006 |
| Elementary School | Fushan Foreign Language Primary School | 2006-2011 |
| Middle School | Jiaozhong Chuji High School | 2011-2015 |
| High School | Western Reserve Academy | 2015-2019 |
| College | Swarthmore College | 2019-2022 |


My Dear , I'm glad to inform you about my success in getting those funds transferred under the cooperation of a new partner from bangkok. Presently i'm in bangkok for investment projects with my own share of the total sum. mean while,i never forget your past efforts and attempts to assist me in transferring those funds despite that it failed us some how. Now contact my secretary , his name is mr issiac ahokou through his e-mail<EMAIL_ADDRESS>ask him to send you the total of $800.000.00 which i kept for your compensation for all the past efforts and attempts to assist me in this matter. I appreciated your efforts at that time very much. So feel free and get intouched with my secretary issiac and instruct him where to send the amount to you. Please do let me know immediately you receive it ,so that we can share the joy after all the sufferness at that time. At the moment, I am very busy here because of the investment projects which I and my partner are having at hand, finally, remember that I had forwarded instruction to the secretary on your behalf to receive that money, so feel free to get in touch with issiac, he will send the amount to you without delay,ok! good bye . best regards, Dr. zanou


Hey ! Whatsup !? Glad you came back.
Please
Log In
here to step inside
Username :
Password :
OR
SIGN UP


George Weston Limited (WNGRF) CEO Galen Weston on Q3 2019 Results - Earnings Call Transcript
by SA Transcripts, https://seekingalpha.com/author/sa-transcriptsGeorge Weston Limited (OTCPK:WNGRF) Q3 2019 Earnings Conference Call November 19, 2019 9:00 AM ET
Company Participants
Tara Speers - Senior Director, IR
Galen Weston - Chairman and CEO
Richard Dufresne - President and CFO
Luc Mongeau - President, Weston Foods
Conference Call Participants
Emily Foo - BMO Capital Markets
Irene Nattel - RBC Capital Markets
Krishna Ruthnum - CIBC
Operator
Ladies and gentlemen, thank you for standing by and welcome to the George Weston Limited 2019 Third Quarter Results Conference Call. At this time, all participants are in a listen-only mode. After the speakers' presentation, there will be a question-and-answer session. (Operator Instructions)
I would now like to hand the conference over to Tara Speers, Senior Director, Investor Relations. Thank you. Please go ahead.
Tara Speers
Thank you, Denise, and good morning, everyone. Welcome to the George Weston Limited third quarter 2019 results conference call. I'm joined this morning by Galen Weston, our Chairman and CEO; Richard Dufresne, our President and CFO; and Luc Mongeau, President of Weston Foods.
Before we begin today's call, I want to remind you that today's discussion will include forward-looking statements such as the company's beliefs and expectations regarding certain aspects of its financial performance in 2019 and future years. These statements are based on assumptions and reflect the management's current expectation. As such, they are subject to a number of risks and uncertainties that could cause actual results or events to differ materially from our expectations. These risks and uncertainties are discussed in the company's materials filed with the Canadian regulators. Any forward-looking statements speak only as of the date they are made. The company disclaims any intention or obligation to update or revise any forward-looking statements, whether as a result of new information, future events or otherwise, other than what is required by law.
Also, certain non-GAAP financial measures may be discussed or referred to today. Please refer to our Annual Report and other materials filed with the Canadian Securities Regulators for a reconciliation of each of these measures to the most directly comparable GAAP financial measure.
Since Loblaw Companies Limited and Choice Properties have both released their third quarter results, we will focus today's call on the performance of our Weston Foods segment.
With that, I would like to turn the call over to Richard.
Richard Dufresne
Thank you and good morning, everyone.
Let me start by saying that we are pleased with the results for the quarter. Our businesses performed well with good operating and financial results. On a consolidated basis, George Weston Limited reported revenues of CAD 15.2 billion, an increase of 2.4% compared to last year. Net earnings available to common shareholders were CAD 69 million compared to net earnings of CAD 51 million last year.
On an adjusted basis, net earnings available to common shareholders increased by CAD 103 million to CAD 391 million, mainly driven by the positive contribution of the company's direct ownership and Choice Properties as a result of last year's spin out, a decrease in income tax expense driven by the disposition of the portfolio of properties by choice, and the improvements in the underlying operating performance at Loblaw. We reported adjusted diluted net earnings per share of CAD 2.54, an increase of CAD 0.29 per share or 12.9% compared to last year.
Loblaw delivered on its financial framework in the quarter. The drug retail business had another strong quarter and the food business improved its sales performance compared to Q2. Management is committed to its strategy making targeted and measured investments to improve same-store sales and tonnage and driving process and efficiencies to support investment to position the company for the future. Through its buyback program, Loblaw repurchased approximately 4.3 million shares during the quarter. Our ownership now sits at approximately 51.8%.
Choice Properties delivered another quarter of strong results. Choice continues to focus on owning, operating and developing a portfolio of high quality assets. Choice further improved its balance sheet in the quarter, in line with our strategy.
Weston Foods performance was in line with our expectations for the quarter. Sales were CAD 638 million, up from CAD 638 million - CAD 630 million, sorry, in Q3 of last year. Weston Foods adjusted EBITDA was flat excluding the positive impact of IFRS 16 and the prior year net gain on the sale leaseback of a property.
Adjusted EBITDA was impacted by productivity improvements and the net benefits realized from Weston Foods transformation program, offset by higher input and distribution costs and an increase in performance-related compensation accruals.
We are pleased with the positive momentum we see at Weston Foods. Management is delivering results, including operational efficiencies, strong customer engagement and benefits from the transformation program. The team continues to focus on winning new business in its growth categories and driving operational efficiencies. There is still lots of work to do, but we're encouraged by our Q3 results as we continue to stabilize the business.
We have updated the full year outlook for Weston Foods. To note that we now expect full-year sales to be positive compared to last year attributed to the positive impact from foreign currency translation. As we look at the final quarter of 2019, our ability to drive value at George Weston will be from the continued performance of Loblaw and Choice and the stabilization of Weston Foods.
I will now turn the call over to Galen.
Galen Weston
Thank you, Richard.
The third quarter was another period of solid operating and financial results across our portfolio of businesses. Loblaw continued to execute against its strategy focusing on stable trading, while unlocking process and efficiencies to fuel investments in its strategic growth areas. Amidst the competitive marketplace, Loblaw improved its food sales trend with measured margin investments. However, the job is not yet done and it remains a continued area of focus for the business.
Choice Properties performed well during the quarter, demonstrating its commitments to owning high quality portfolio of properties, while further strengthening its balance sheet for the future. And lastly, Weston Foods demonstrated momentum as the business continued to stabilize. The improving trend is encouraging and gives us further confidence in our transformation towards becoming North America's premier bakery.
As we exit the third quarter, we're pleased with the performance of George Weston. Each of our portfolio businesses continue to show our commitment to executing against our strategies, in turn delivering long-term value for our shareholders.
I'll now ask the operator to open the line for questions.
Question-and-Answer Session
Operator
[Operator Instructions] Your first question comes from Peter Sklar with BMO Capital Markets. Your line is open.
Emily Foo
It's Emily Foo for Peter. So, for the Weston Bakery, sales increased, tax effect was 0.6%, and you mentioned that some of it was price. So I was just wondering how much of it is price and say whether or not you have some insight as to how price is going to be moving forward into 2020?
Richard Dufresne
Yes. The impact of price was very limited in Q3. The positive trend was mostly we had a very solid summer and our summer buns business, and we continue to grow our donuts business. The reality is that inflation is really becoming a theme in the food industry in North America, and for us we're focusing on driving efficiency and productivity gain to mitigate the impact of inflation.
Emily Foo
Yes. So while we're on that topic, can you tell us a little bit more about some specifics about the transformational programs that you've been working on and how much more runway do we have with the productivity improvements and benefits?
Richard Dufresne
Yes. So our transformation program is a three-year program. So we're about to complete year two. We're happy with where we are at this point, and we're on track to deliver our objectives.
Emily Foo
And just the mechanics question with regards to the sales outlook. So, without FX, we should expect 2019 sales to be slightly below 2018. So that would be a 2018 sales number also stripping for the FX impact?
Richard Dufresne
Yes. If we look at our sales performance excluding FX, it's been improving for every quarter so far in this year. So that's how we've been looking at our performance so far.
Operator
Your next question comes from Irene Nattel with RBC Capital Markets. Your line is open.
Irene Nattel
If we look at the Q3 EBITDA run rate, on an equivalent 12-week, basis it looks as though you're up about 10% versus the first half of the year. Is that sort of the similar - should we expect a similar kind of progression in Q4?
Richard Dufresne
Like Q4 is an important quarter for us, and so we need to see - we need to see it come to an end before we can comment. And we will update our outlook for 2020 once we release Q4 numbers.
Irene Nattel
I totally understand. Let me ask the question in a different way. Presumably if you're going to achieve your financial objective, as we move through late 2019 and into 2020, we need to see an acceleration in year-over-year EBITDA growth, is that okay. So that's reasonable. Okay. So when you say that you're on plan we should interpret it that way?
Galen Weston
Yes, it's the same as sales. If you look at her EBITDA performance, it's been improving quarter-over-quarter so far this year. So that's - we're encouraged by that. But like Q4 is an important quarter as Christmas and U.S. Thanksgiving, so we need to see it through to deliver the year.
Irene Nattel
And some of the innovation work you've been doing in the donut area, it seems to be an important element as we potentially in the go forward position of the business. Is there any commentary you can give us, any insights you can give us on to how that's progressing?
Richard Dufresne
Yes, this is progressing really well. In Q3, we continued to drive innovation in our donut business by launching our premium donuts. So, cookie tops donuts that we launched in the U.S. We're happy with the growth we're seeing in our donuts business. In Q4 of this year, we're going to be adding two lines. Two lines are going to come up for capacity as we will be satisfying demand for a foodservice contract we won in the U.S.
Irene Nattel
Excellent. And then just finally, one question. We know that Loblaw has had a negative Thanksgiving hit, for you guys. I assume you would have shipped earlier, but is there anything we should keep in mind, because the shift in timing of Canadian Thanksgiving and also...
Richard Dufresne
On Thanksgiving...
Irene Nattel
Yes. And then, just also in the U.S., there's a bit of a calendar shift, does that have any impact on you?
Richard Dufresne
No, the calendar did not impact us, so there was no impact in the quarter from Canadian Thanksgiving. And the ship of the week will not impact quarter-to-quarter results.
Operator
[Operator Instructions] Your next question comes from Mark Petrie with CIBC. Your line is open.
Krishna Ruthnum
This is actually Krishna Ruthnum on for Mark. My first question is, can you give us a sense of relative capacity utilization across categories? And I'm also wondering about which category saw sales growth in the quarter?
Richard Dufresne
Yes. So, part of our transformation program is the - includes the optimization of our network. We're at a place now where we're satisfied with the efficiency of the level of utilization within our network. We're at a place where we can meet near-term demands and we're at a place where we can add capacity as demand materializes. So, for example, earlier this year, we added a line in our artisan business to meet growing demand there.
As mentioned earlier, we are bringing online two additional lines in Q4 for our donuts business, and we're in the process of commissioning a line at - we'll be adding capacity in our bagels business early in 2020. So, growth in Q3 was driven by our growth in - growth in Q3 was driven by growth in our donuts business and alternative business as well.
Krishna Ruthnum
And can you elaborate a little bit more on which geographies are seeing more sales growth and additionally this CapEx investment?
Richard Dufresne
Yes, it's mixed. So the CapEx investment are split within - between Canada and U.S. So, bagel investment in Canada, donuts investment right now in the U.S., the artisan line was added in Gaffney, South Carolina. The growth of our business is split between retail and food service with a slight bias in the U.S.
Krishna Ruthnum
And lastly, just in Canada, CPI has been kicking up in the bakery category. Just wondering if you're seeing any inflation over and above your level of cost increases or if it's really just to capture the additional input costs?
Richard Dufresne
We have mentioned earlier, I mean, inflation is really seen across transportation, labor and cost of materials growing, and two, we're focusing the bulk of our efforts in partnering with retailers and food service operators and driving efficiencies and productivity gains to mitigate these impacts, and pricing is really a last resort.
Operator
There are no further questions queued up at this time. I'll turn the call back over to presenters.
Tara Speers
Thank you, Denise, and thank you everybody for your time this morning. If you have any follow-up questions, please don't hesitate to contact Roy or myself. And please mark your calendars for February 26th when we will report our fourth quarter 2019 results. Thank you.
Operator
This concludes today's conference call. You may now disconnect.


|
MLIB
|
This is a collection of bits and pieces crafted over the years. It is released with the hope that other people might find it useful or interesting.
The MIT License (MIT)
Copyright (c) 1999-2020 Mircea Neacsu
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


{{ card.description | truncatechars:200 | lower }}
Google Books Check Availability
Oops No Books were to be found. Keep looking.


class Gem::Resolver::Molinillo::DependencyGraph
A directed acyclic graph that is tuned to hold named dependencies
Constants
- Edge
A directed edge of a {DependencyGraph} @attr [Vertex] origin The origin of the directed edge @attr [Vertex] destination The destination of the directed edge @attr [Object] requirement The requirement the directed edge represents
Attributes
@return [Log] the op log for this graph
@return [{String => Vertex}] the vertices of the dependency graph, keyed
by {Vertex#name}
Public Class Methods
Initializes an empty dependency graph
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 54 def initialize @vertices = {} @log = Log.new end
Topologically sorts the given vertices. @param [Enumerable<Vertex>] vertices the vertices to be sorted, which must
all belong to the same graph.
@return [Array<Vertex>] The sorted vertices.
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 33 def self.tsort(vertices) TSort.tsort( lambda { |b| vertices.each(&b) }, lambda { |v, &b| (v.successors & vertices).each(&b) } ) end
Public Instance Methods
@return [Boolean] whether the two dependency graphs are equal, determined
by a recursive traversal of each {#root_vertices} and its {Vertex#successors}
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 128 def ==(other) return false unless other return true if equal?(other) vertices.each do |name, vertex| other_vertex = other.vertex_named(name) return false unless other_vertex return false unless vertex.payload == other_vertex.payload return false unless other_vertex.successors.to_set == vertex.successors.to_set end end
@param [String] name @param [Object] payload @param [Array<String>] parent_names @param [Object] requirement the requirement that is requiring the child @return [void]
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 144 def add_child_vertex(name, payload, parent_names, requirement) root = !parent_names.delete(nil) { true } vertex = add_vertex(name, payload, root) vertex.explicit_requirements << requirement if root parent_names.each do |parent_name| parent_node = vertex_named(parent_name) add_edge(parent_node, vertex, requirement) end vertex end
Adds a new {Edge} to the dependency graph @param [Vertex] origin @param [Vertex] destination @param [Object] requirement the requirement that this edge represents @return [Edge] the added edge
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 189 def add_edge(origin, destination, requirement) if destination.path_to?(origin) raise CircularDependencyError.new([origin, destination]) end add_edge_no_circular(origin, destination, requirement) end
Adds a vertex with the given name, or updates the existing one. @param [String] name @param [Object] payload @return [Vertex] the vertex that was added to `self`
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 159 def add_vertex(name, payload, root = false) log.add_vertex(self, name, payload, root) end
Deletes an {Edge} from the dependency graph @param [Edge] edge @return [Void]
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 199 def delete_edge(edge) log.delete_edge(self, edge.origin.name, edge.destination.name, edge.requirement) end
Detaches the {#vertex_named} `name` {Vertex} from the graph, recursively removing any non-root vertices that were orphaned in the process @param [String] name @return [Array<Vertex>] the vertices which have been detached
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 167 def detach_vertex_named(name) log.detach_vertex_named(self, name) end
Enumerates through the vertices of the graph. @return [Array<Vertex>] The graph's vertices.
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 14 def each return vertices.values.each unless block_given? vertices.values.each { |v| yield v } end
Initializes a copy of a {DependencyGraph}, ensuring that all {#vertices} are properly copied. @param [DependencyGraph] other the graph to copy.
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 76 def initialize_copy(other) super @vertices = {} @log = other.log.dup traverse = lambda do |new_v, old_v| return if new_v.outgoing_edges.size == old_v.outgoing_edges.size old_v.outgoing_edges.each do |edge| destination = add_vertex(edge.destination.name, edge.destination.payload) add_edge_no_circular(new_v, destination, edge.requirement) traverse.call(destination, edge.destination) end end other.vertices.each do |name, vertex| new_vertex = add_vertex(name, vertex.payload, vertex.root?) new_vertex.explicit_requirements.replace(vertex.explicit_requirements) traverse.call(new_vertex, vertex) end end
@return [String] a string suitable for debugging
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 96 def inspect "#{self.class}:#{vertices.values.inspect}" end
Rewinds the graph to the state tagged as `tag` @param [Object] tag the tag to rewind to @return [Void]
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 69 def rewind_to(tag) log.rewind_to(self, tag) end
@param [String] name @return [Vertex,nil] the root vertex with the given name
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 179 def root_vertex_named(name) vertex = vertex_named(name) vertex if vertex && vertex.root? end
Sets the payload of the vertex with the given name @param [String] name the name of the vertex @param [Object] payload the payload @return [Void]
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 207 def set_payload(name, payload) log.set_payload(self, name, payload) end
Tags the current state of the dependency as the given tag @param [Object] tag an opaque tag for the current state of the graph @return [Void]
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 62 def tag(tag) log.tag(self, tag) end
@param [Hash] options options for dot output. @return [String] Returns a dot format representation of the graph
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 102 def to_dot(options = {}) edge_label = options.delete(:edge_label) raise ArgumentError, "Unknown options: #{options.keys}" unless options.empty? dot_vertices = [] dot_edges = [] vertices.each do |n, v| dot_vertices << " #{n} [label=\"{#{n}|#{v.payload}}\"]" v.outgoing_edges.each do |e| label = edge_label ? edge_label.call(e) : e.requirement dot_edges << " #{e.origin.name} -> #{e.destination.name} [label=#{label.to_s.dump}]" end end dot_vertices.uniq! dot_vertices.sort! dot_edges.uniq! dot_edges.sort! dot = dot_vertices.unshift('digraph G {').push('') + dot_edges.push('}') dot.join("\n") end
@!visibility private
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 25 def tsort_each_child(vertex, &block) vertex.successors.each(&block) end
@param [String] name @return [Vertex,nil] the vertex with the given name
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 173 def vertex_named(name) vertices[name] end
Private Instance Methods
Adds a new {Edge} to the dependency graph without checking for circularity. @param (see add_edge) @return (see add_edge)
# File lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb, line 217 def add_edge_no_circular(origin, destination, requirement) log.add_edge_no_circular(self, origin.name, destination.name, requirement) end


The Servicemax Impact
We deliver software that brings together the right data at the right moment to delight customers and drive business results at the crucial point of service. We’re rethinking field service, and delivering cutting edge technology to help companies perfect service delivery, drive revenue and growth, and delight customers.
ServiceMax is delivering on this, and the impact is simple: lower costs, greater efficiency, happier customers and uncovering untapped revenue opportunities.
Thanks to our customers who are our patrons..


Kevin van Zonneveld
on 2009-02-02 10:41:33
@ Brett Zamir: It's probably possible to detect for this kind of input since the difference between good & bad input is at least 3 digits. Maybe we should sanitize it and save our users the trouble.
Brett Zamir
on 2009-02-02 03:25:09
A quick warning about this function (I'll try to add to SVN later)... This works in the PHP style of expecting a timestamp in seconds--NOT IN MILLISECONDS! So, don't try to pass in a raw JavaScript timestamp (like new Date())--which are in milliseconds, or else it will lock up the browser probably a thousand times longer than you intended! (No doubt you'd restart before that anyways (!), but, it's no fun to lock up the browser...)


A manual compressed-air spraying device comprising a head in which are fixed an air nozzle forming a venturi and an output nozzle is disclosed. The head delimits, between the venturi and the output nozzle, a mixing chamber into which directly opens a conduit for channelling product to be sprayed. The output nozzle presents a convergent section and a divergent section downstream of the convergent section.
This application is a U.S. national stage filing of International Patent Application No. PCT/FR2008/051242 filed on Jul. 3, 2008, which claims priority under the Paris Convention to French Application No. 07 04898, filed on Jul. 6, 2007.
This invention relates to venturi spraying devices and to the uses of such devices in cosmetology and in perfumery.
More particularly, the invention relates to a spraying device comprising:
U.S. Pat. No. 7,080,761 describes an example of such a spraying device, wherein the product to be sprayed must follow a complex and narrow path between the conduit for channeling and the output conduit, in such a way that this type of spraying device can possibly operate for spraying a liquid product, but not for spraying a powdery product.
In addition, the form of the output conduit disclosed in this document is also not suited for the spraying of powdery product.
Finally, the air nozzle of this document has a form that is entirely not suited for the effective carrying out of a vacuum capable of sucking the product to be sprayed.
This invention has in particular for purpose to overcome these disadvantages.
To this effect, according to the invention, a spraying device of the type in question is characterized in that the head delimits a mixing chamber between the air nozzle and the output nozzle, said mixing chamber forming said vacuum zone and being arranged directly above the conduit for channeling, in that the venturi comprises a convergent section, and in that the output conduit comprises a divergent section open towards the exterior and a convergent section open towards the mixing chamber upstream of the divergent section.
Thanks to these arrangements, the spraying device according to the invention is adapted to effectively spray powdery products, as well as liquid products. In addition, the form of the Venturi, provided with a convergent section, allows for effective suction of the product to be sprayed.
In various embodiments of the spraying device according to the invention, further recourse is possible to one and/or the other of the following arrangements:
Moreover, the invention also has for objective a use of a device such as defined hereinabove, for the spraying of a powdery product. This powdery product can be for example a perfumery product, a cosmetic product, or other.
Other characteristics and advantages of the invention shall appear during the course of the following description of several of its embodiments, provided by way of non-restricted examples, with regards to the attached drawings.
In the drawings:
figref[FIG. 1] is a general view of a spraying device according to a first embodiment of the invention,
figref[FIG. 2] is a vertical cross-section view of the device in figref[FIG. 1] ,
figref[FIG. 3] is a detailed view of the section in figref[FIG. 2] ;
figref[FIG. 4] is an exploded view of a portion of the device in figref[FIGS. 1 and 2] ,
figref[FIG. 5] is a view similar to the figref[FIG. 3] , in a second embodiment of the invention,
and figref[FIG. 6] is a view similar to the figref[FIG. 4] , in the second embodiment of the invention.
In the various figures, the same references designate identical or similar elements.
figref[FIG. 1] shows a portable spraying device comprising:
The product to be sprayed 6 contained in the reservoir 5 (see figref[FIG. 2] ) can be for example a powdery product, in particular a perfumery product, a cosmetic product, or other.
This powdery product, in particular a composition in the form of free perfumed cosmetic powder, can for example have a granulometry between a few micrometers and 200 μm, and a density between 0.6 and 1. This entails for example a mineral powder (such as mica, mineral pigments, etc.) or an organic powder (polyamide, PMMA or other), or a mixture of such mineral and organic powders. This product can also contain a mixed powder such as for example organic coloring agents fixed on a mineral support.
Note that the bulb 4 can for example comprise an air inlet valve 4 a allowing the air to enter into the bulb 4 when it inflates via elasticity, but preventing the air outlet towards the exterior when a user presses said bulb 4.
As shown in the figref[FIGS. 2 to 4] , the distributor 2 can comprise a head 107 which can for example be molded of plastic material. This head 107 can be fixed by clipping-on or other on the neck 8 of the reservoir 5, in such a way as to close said reservoir. A seal 9 can where applicable be interposed between the head 107 and the neck 8.
Finally, the head 107 can where applicable be covered by a decorative added external envelope 31 (figref[FIGS. 1 to 4] ) which has recesses on the outlet orifice 3 and a tip connecting the head 107 to the bulb 4.
The head 107 is crossed by a nozzle housing 110 which, in the example shown in the drawings, has a general form of a revolution around a substantially horizontal axis X, for example a cylindrical form.
The head 107 further comprises a well 114 extending according to a substantially vertical axis Z, which opens directly upwards in a mixing chamber 119 delimited by the nozzle housing 110. In the well 114 is nested by force a dip tube 15 made of plastic material, delimiting a conduit for channeling product to be sprayed, extending downwards in the reservoir 5 and dipping into the product 6 to be sprayed (see figref[FIGS. 2 to 4] ). The dip tube can for example have an internal diameter between 0.6 and 2 mm.
At the rear end 111 of the nozzle housing 110 is nested an air nozzle 116 which is molded of a single part made of synthetic material, in particular of thermoplastic.
As shown in more detail in figref[FIG. 4] , the air nozzle 116 can have an exterior form that is complementary to the nozzle housing 10, in such a way as to be able to be nested by force via the rear end 11 of said nozzle housing. The air nozzle 116 is crossed by a recess centered on the axis X, which forms, from the rear towards the front:
a tip housing 117, having for example a cylindrical form of a revolution centered on the axis X, of diameter D 1,
The conduit 118 b opens in the mixing chamber 119 of the head 107, at the front end 116 a of the air nozzle 116. Said front end 116 a of the air nozzle can have a form of a point, for example tapered, protruding in the mixing chamber 119.
In the example in figref[FIGS. 1 to 4] , a tip 122, which can be for example molded from plastic material, is nested by force in the tip housing 117.
As shown in more detail in figref[FIG. 3] , the tip 122 comprises a front end 123 and a rear end 124 whereon the bulb 4 is fixed in a sealed manner. The front end 123 of the tip 122 is nested to the exterior of the rear end of the air nozzle 116, and said tip further comprises a tubular portion 123 a, formed in the interior of the front end 123, which is nested in the tip housing 117. The tip 122 is pierced with a central recess which extends according to the axis X and which forms, from the rear towards the front:
The air nozzle 116 further contains an inlet valve 28 which comprises a valve member 29, for example a ball made of plastic material or other, and coiled spring 30 supporting the convergent section 18 (or for example on a shoulder 118 a surrounding this convergent section 18) and soliciting the valve member towards the rear, in contact against the valve seat 126.
At the front end 112 of the nozzle housing is furthermore nested by force an output nozzle 132 which delimits the output conduit 120, this output nozzle 132 also being nested by force in the recess arranged across from the output 3 in the added external envelope 31. The output nozzle 132 does not extend to the contact of the air nozzle 116, in such a way that these two nozzles leave in the nozzle housing 110 a free space which constitutes the aforementioned mixing chamber 119. The output nozzle 132 can comprise at its front end, an external collar 132 a which abuts against the external envelope 31.
The output nozzle 132 comprises, from the rear towards the front (i.e. from upstream towards downstream):
The head 107, the air nozzle 116, the tip 122 and the output nozzle 132 delimit as such an air circuit comprising, from upstream to downstream (i.e. from the rear towards the front in this case):
The convergent section 118 of the air nozzle 116, forms a venturi which defines a vacuum zone corresponding substantially to the mixing chamber 119, which is pressurized when air circulates in the air circuit from upstream towards downstream. Due to the fact that the venturi is formed in a part molded from synthetic material, its form is perfectly defined and can be reproduced from one spraying device to the other, independently of any mounting tolerance, in such a way that the vacuum created by the venturi is also perfectly defined.
In the particular case shown in the figref[FIGS. 1 to 4] , the air inlet conduit 127 is cylindrical, of diameter D 1 for example between 2 and 3 mm (in particular of a magnitude of 2.3 mm) and the minimum diameter D 2 of the convergent section 118 is for example between 0.5 and 0.7 mm (in particular of a magnitude of 0.6 mm). The ratio of the diameters D 1/D 2 can be between 10% and 25% or, more generally, the ratio between the area of the corresponding sections can be between 1% and 6.5%. The angle at the top α of the convergent section 118 can for example be between 20 and 40 degrees.
In light of the fact that the head 107 can where applicable be covered by a decorative added external envelope 31, the head 107 is independent of the exterior style of the spraying device 1. In addition, the air nozzle 116 and the output nozzle 132 can themselves be standard parts used on several types of sprayers 1, independently not only in relation to the exterior style of the spraying device 1, but also to the type of head 107 (several types of head 107 can be used according to the applications, in particular in order to adapt to several types of reservoirs 5).
A modular device can as such be manufactured comprised of a small number of thermoplastic parts which are simple to produce, and which implement all of the functions of the connection to the compressed air generator, venturi, channeling product, fixing on a recipient, product output, etc. These parts are assembled for example by simple nesting in relation to one another.
The device which has just been described operates as follows. When a user presses the bulb 4, the inlet valve 4 a of this bulb remains closed and the air contained in the bulb is compressed and insufflated into the distributor 2, by following the air circuit of this distributor. Subsequent to its passing in the venturi formed by the convergent section 118, the air flow creates a vacuum (by decreasing the pressure for example by 20 to 40 mbar [i.e. the equivalent of a column of 20 to 40 cm of water] in relation to the ambient pressure).
 If the powdery product has agglomerates, these possible agglomerates are disintegrated by the front end 116 a in the form of a point which protrudes into the mixing chamber 119 above the conduit for channeling delimited by the dip tube 15 (this front end in the form of a point does not however hinder the arrival of the powdery product in the mixing chamber 119 due to the form of a point of this front end and due to the fact that it does not fully overhang the section of passing of the conduit for channeling.
Note that the spraying device according to the invention makes it possible to spray a substantially constant dose of powdery product, right from the first actuating of the bulb 4, and this, regardless of the level of product 6 in the reservoir 5, as soon as the lower end of the dip tube 15 dips into the product 6.
In the second embodiment of the invention, shown in the figref[FIGS. 5 and 6] , the spraying device 1 comprises as hereinabove a distributor 2 provided with an outlet orifice 3, a manual compressed-air generator, comprised here of a manual pump 304, and a reservoir 5 containing the product to be sprayed 6, which can be for example similar to the powdery product described hereinabove.
The distributor 2 comprises a head 307 which can for example be molded from plastic material and which can in particular be fixed by clipping-on or other on the neck 8 of the reservoir 5, a seal 9 able to be, where applicable, interposed between the head 7 and the neck 8.
In the head 7 is arranged a cylindrical nozzle housing 310 which opens towards the exterior at a front end 312. The nozzle housing 310 extends according to a substantially horizontal axis X from the front end 312 to a rear end 311 where said nozzle housing is extended upwards by a shaft 311 a of which the lateral wall protrudes upwards.
The head 307 comprises as hereinabove, a well 314 which opens upwards in the nozzle housing 310 and which extends downwards, in parallel to a substantially vertical axis Z. In the well 314 can be nested a dip tube 15 made of plastic material or other, which extends downwards by dipping into the product to be sprayed 6 contained in the reservoir 5. The dip tube 15 as such comprises, as hereinabove, a conduit for channeling product to be sprayed towards a mixing chamber 319 delimited on the inside by the nozzle housing 310, above the well 314.
At the rear end 311 of the nozzle housing is nested by force an air nozzle 316 which is molded of a single part of synthetic material, in particular thermoplastic. The air nozzle 316 has an exterior cylindrical form that is complementary to the interior form of the nozzle housing 310, and it delimits interiorly a cylindrical air inlet conduit 327 of diameter D 1, centered on the axis X. This inlet conduit 327 is extended, to 90 degrees upwards, inside the shaft 311 a, passing through a hole 316 b arranged at the rear end of the air nozzle 316.
The air inlet conduit 327 is extended towards the front, in the air nozzle 316, by a tapered convergent section 318 which can have an angle at the top for example between 20 and 40 degrees and which is extended by a short narrowed passage 318 b of diameter D 2, arranged at the front end 316 a of the air nozzle. The diameters D 1 and D 2 can be similar to the diameters already described in the first embodiment of the invention.
The front end 316 a of the air nozzle can be in the form of a point, in particular in a tapered form, and protrudes into the aforementioned mixing chamber 319, above the well 314.
Moreover, at the front end 312 of the nozzle housing is nested by force an output nozzle 332 of which the rear end arrives at the limit of the mixing chamber 319 and of which the front end comprises an exterior collar 332 a coming to abut against the exterior lateral wall of the head 307.
The output nozzle 332 delimits the output conduit 320 which can for example comprise a convergent inlet cone 320 a open towards the mixing chamber 319, followed by a convergent section 320 b then where applicable by a short cylindrical passage of transition and finally by a divergent section 320 c opening towards the exterior on the outlet orifice 3, diameter D 3. The form and the dimensions of the outlet passage 320 and of the outlet orifice 3 can be identical or similar in form and in dimension of the output passage 120 and of the outlet orifice 3 of the second embodiment described hereinabove.
Moreover, on the aforementioned shaft 311 a, can be nested a tip 322 belonging to a part 334 which can be molded of plastic material. The tip 322 has a general cylindrical form of revolution centered on a vertical axis parallel to the axis Z and extends upwards to a tapered portion which converges upwards by forming a valve seat 326. The valve seat 326 is normally sealed by a valve member 29 solicited upwards par coiled spring 30 pressing against the upper end of the shaft 311 a. The valve member 29 and the spring 30 can be identical or similar to those already described hereinabove. The valve member 29 forms with the spring 30 and the valve seat 326 an air inlet valve 28 which allows only the entry of the air in the air inlet conduit 327, through a recess 326 a arranged in the center of the valve seat 326.
The part 334 made of plastic material forms moreover a substantially horizontal piston 335 and has for example a form of a disk centered on the axis Z.
The piston 335 can comprise exteriorly one or several peripheral lips 336 whereon is nested a push-button 337 in the form of an inverted cup, made for example by molding of plastic material.
The push-button 337 can comprise for example an upper bottom 338 extended downwards by a cylindrical skirt 339 centered on the axis Z, the interior wall 339 a of this skirt sliding sealingly on the peripheral lips 336 of the piston.
At its lower end, the cylindrical skirt 339 of the push-button is extended radially towards the exterior, by a flange ring 339 b (or where applicable by exterior prongs) which is guided by vertical sliding, without sealing, by the cylindrical interior surface 340 a of an annular lateral wall 340 centered on the axis Z, which can be formed of a single part with the head 307.
The annular lateral wall 340 comprises, at its upper end, an interior rim 341 (continuous or discontinuous) against which abuts the flange ring 339 b upwards, in order to limit the sliding upwards of the push-button 337.
In the piston 335 can furthermore be formed an air inlet valve 342 which allows only the entry of air from the exterior, via the space located below the piston 335, towards the space delimited between the piston 335 and the push-button 337. This valve 342 can comprise for example an orifice 344 of tapered form, expanded upwards, which delimits as such a valve seat 345 against which is applied a valve member 343 which can for example be formed by a tab molded from a single part with the piston 335 and connected to this piston by a zone forming a hinge 343 a.
Moreover, coiled spring 346 is interposed between the piston 335 and the bottom 338 of the push-button 337.
Finally, the piston 335 can be supported by two cylindrical tubular supports 347 which extend downwards according to the axis Z starting from the lower surface of said piston and which are nested by force on two cylindrical tenons 348 molded from a single part with the head 307 and extending upwards starting from said head (see figref[FIG. 10] ).
The device that has just been described operates as follows.
When a user presses on the push-button 337, against the solicitation of the spring 346, he compresses the air contained in the chamber which is delimited between the piston 335 and the push-button 337, in such a way that this compressed air is expulsed through the air inlet valve 28, towards the air inlet conduit 327, then the convergent section 318 forming venturi, then the mixing chamber 319 where a vacuum is produced sucking upwards the powdery product 6 contained inside the reservoir 5. This powdery product is mixed with the air flow inside the chamber 319, and then sprayed towards the exterior through the output conduit 320 as explained hereinabove.
When the user releases the push-button 337, the latter returns to its initial position under the solicitation of the spring 346. During this movement, the air inlet valve 28 remains closed, but the valve 342 opens, allowing the entry of air into the chamber delimited between the piston 335 and the push-button 337.


Allows the user to compare SIRI (Service Interface for Real Time Information) data sets to their GTFS (General Transit Feed Specification) counterparts, a "Request_id" column us needed for the SIRI data frame in order to subset parts of it for use.
| Version: | 0.2.4 |
| Depends: | R (≥ 3.4.0) |
| Imports: | dplyr (≥ 0.7.2), reshape2 (≥ 1.4.2), sp (≥ 1.2.5), rgdal (≥ 1.2), data.table (≥ 1.10.4), rgeos (≥ 0.3.23), easycsv (≥ 1.0.5) |
| Published: | 2018-05-21 |
| Author: | Dror Bogin [aut, cre] |
| Maintainer: | Dror Bogin <dror.bogin at gmail.com> |
| BugReports: | https://github.com/bogind/SIRItoGTFS/issues |
| License: | GPL-2 |
| URL: | https://github.com/bogind/SIRItoGTFS, http://user47094.vs.easily.co.uk/siri/documentation.htm, https://developers.google.com/transit/gtfs/ |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | SIRItoGTFS results |
| Reference manual: | SIRItoGTFS.pdf |
| Package source: | SIRItoGTFS_0.2.4.tar.gz |
| Windows binaries: | r-devel: SIRItoGTFS_0.2.4.zip, r-release: SIRItoGTFS_0.2.4.zip, r-oldrel: SIRItoGTFS_0.2.4.zip |
| OS X binaries: | r-release: SIRItoGTFS_0.2.4.tgz, r-oldrel: SIRItoGTFS_0.2.4.tgz |
| Old sources: | SIRItoGTFS archive |
Please use the canonical form https://CRAN.R-project.org/package=SIRItoGTFS to link to this page.