This week, Core Team Member Jeremy Danyow shows us a new plugin to Aurelia's binding engine that he's been working on: aurelia-computed .
null is a plugin for the Aurelia platform that improves the efficiency of data-binding computed properties. Binding to computed properties (properties with getter functions) typically requires dirty-checking. This plugin uses Aurelia's javascript parser to parse the body of the property's getter function and check the resulting abstract syntax tree (AST) for "observability". If the getter function is observable, a specialized observer is returned to Aurelia's pluggable binding system . The observer publishes change events when properties accessed by the getter function change.
What types of properties can aurelia-computed observe?
One-liners that access members that are accessible from the binding scope are good candidates for observation by this plugin. Here's a few examples:
// "firstName" and "lastName" will be observed.
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
// "isLoggedIn", "user" and "user.name" will be observed.
get userName() {
return this.isLoggedIn ? this.user.name : '(Anonymous)';
}
// "count" will be observed.
get shoppingCartDescription() {
return this.count + ' ' + this.pluralize('item', this.count);
}
var _bar = 'baz';
export class Foo {
// This property cannot be observed by aurelia-computed.
// Dirty-checking will be required.
// "_bar" can't be accessed from the binding scope.
get bar() {
return _bar;
}
}
Other options
Aurelia's binding system already has a method for observing computed properties- the @computedFrom
decorator. Simply decorate any property with @computedFrom(propertyName1[, propertyName2..., propertyNameN])
and Aurelia's binding system will observe the specified properties and re-evaluate bindings when any of the properties change. The aurelia-computed plugin simply automates the dependency identification and is able to support more complex scenarios such as observing property paths (this.aurelia.computed.supports.me
). There's also the dirty-checking fallback which isn't anything to worry about most of the time.
Development Logging
Enable debug logging in your application (see below for instructions) to view aurelia-computed's log messages. Aurelia-computed logs when it's not able to parse a property getter function or when the function's logic is not observable. This will tell you when Aurelia is going to use dirty-checking. Here's an example:
<template>
Thanos wants ${whatThanosWants}
</template>
var infinityStones = ['Soul','Time','Space','Mind','Reality','Power'];
export class Thanos {
get whatThanosWants() {
return infinityStones;
}
}
Since infinityStones
is declared in the module scope, which binding cannot access, aurelia-computed logs the following message:
Get Started
- Install aurelia-computed:
jspm install aurelia-computed
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
// enable debug logging to see aurelia-computed's messages.
.developmentLogging()
// install the plugin
.plugin('aurelia-computed');
aurelia.start().then(a => a.setRoot());
}


Guidance
Information about the property data survey programme (PDSP), which provides up-to-date and accurate information on the condition of schools.
PDF , 456KB , 24 pages
PDF , 413KB , 19 pages
PDF , 657KB , 24 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 2.12MB , 37 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 6.24MB , 137 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
The property data survey programme (PDSP) was set up to provide up-to-date and accurate information on the condition of schools and colleges.
The programme of surveys ran from May 2012 to July 2014. Just under 19,000 establishments were surveyed.
The information gathered has provided the department with a clearer picture of the condition of the school estate which is being used to help ensure that funding is targeted to where it is most needed.
To date the information collected has been used to support the Schools Condition Allocations and the second phase of the Priority School Building Programme (PSBP2) The survey was carried out by qualified surveyors who carried out visual inspections of education buildings in line with a surveying manual The property data survey programme manual parts 1 to 3 are available on this page.
The high level results of the property data survey and technical information on how we have calculated the relative condition need across the education estate are also available on this page.
Published: 11 March 2014
Updated: 9 February 2015
From: Education Funding Agency


Responsive Design
My tea's gone cold. I'm wondering why I got out of bed at all. The morning rain clouds up my window. And I can't see at all. And even if I could it'd all be gray.  It reminds me that it's not so bad, it's not so bad.
My tea's gone cold. I'm wondering why I got out of bed at all. The morning rain clouds up my window. And I can't see at all. And even if I could it'd all be gray.  It reminds me that it's not so bad, it's not so bad.
Another Section
Feminist women love Eminem.  Look at him, walkin' around, grabbin' his you-know-what. Flippin' the you-know-who," "Yeah, but he's so cute though.". Yeah, I probably got a couple of screws up in my head loose. But no worse than what's goin' on in your parents' bedrooms.
Feminist women love Eminem.  Look at him, walkin' around, grabbin' his you-know-what. Flippin' the you-know-who," "Yeah, but he's so cute though.". Yeah, I probably got a couple of screws up in my head loose. But no worse than what's goin' on in your parents' bedrooms.
Feminist women love Eminem.  Look at him, walkin' around, grabbin' his you-know-what. Flippin' the you-know-who," "Yeah, but he's so cute though.". Yeah, I probably got a couple of screws up in my head loose. But no worse than what's goin' on in your parents' bedrooms.
Feminist women love Eminem.  Look at him, walkin' around, grabbin' his you-know-what. Flippin' the you-know-who," "Yeah, but he's so cute though.". Yeah, I probably got a couple of screws up in my head loose. But no worse than what's goin' on in your parents' bedrooms.
Feminist women love Eminem.  Look at him, walkin' around, grabbin' his you-know-what. Flippin' the you-know-who," "Yeah, but he's so cute though.". Yeah, I probably got a couple of screws up in my head loose. But no worse than what's goin' on in your parents' bedrooms.
Feminist women love Eminem.  Look at him, walkin' around, grabbin' his you-know-what. Flippin' the you-know-who," "Yeah, but he's so cute though.". Yeah, I probably got a couple of screws up in my head loose. But no worse than what's goin' on in your parents' bedrooms.


Register
Login
kittens rise up
Blog
FAQ
A game with a heavy focus on resource management and long term progression.


--- layout: page title: "About" permalink: "about.html" description: "This is what I do." ---
My name is Rey Pham. I'm currently working as Android developer at EPI Technologies
I love coding. I work on some Open Source projects in my free time. I also like games and photography.
This is my official web site. Most of the posts are about Android, but I also post anything else I find interesting.


At least 4 Dead and Dozens Injured in an Explosion near the Turkish Border in Syria
A car bomb exploded in the city of Tell Abiad, Syria, near the border with Turkey. At least 4 people were killed and dozens were injured.
Following the blast, roads leading to and from the city were closed by local authorities, while the seriously injured were taken to a hospital in the nearby Turkish city of Akcakale.
No terrorist group has yet claimed responsibility.
In mid-October, the city of Tell Abiad was conquered by the Turkish Armed Forces and the Turkish-backed Free Syrian Army by the Syrian Democratic Forces as part of Operation Peace Spring.
Ankara said the offensive, which began on October 9, was aimed at removing Kurdish fighters, considered terrorists by Ankara, from the border region and establishing a "safe zone" to resettle some of the refugees in the country.


12
1-2 Moses' older sister Miriam and his older brother Aaron were saying this: "Is Moses the only one to whom Yahweh has spoken messages to tell to us? Does Yahweh not speak messages to us two also?" They told people that they were saying that because Moses had married a woman who was a descendant of the Cush people group, but they were really saying that because they were jealous. But Yahweh heard what they were saying.
3 The truth was that Moses was very humble. He was more humble than anyone else on the earth and Moses had not appointed himself to be their leader.
4 So immediately Yahweh spoke to Moses and to Aaron and Miriam. He said, "All three of you must go and stand at the sacred tent." So they did that.
5 Then Yahweh descended to the entrance of the tent in a cloud that resembled a huge white pillar. He told Aaron and Miriam to step forward, so they did.
6 Then he said to them,
"Listen to me!
When a prophet is among you,
I usually reveal myself to him by allowing him to see visions,
and I speak to him in dreams.
7 But that is not the way I speak to my servant Moses.
I trust that he will lead my people well.
8 So I talk to him face to face.
I speak to him clearly, not using parables.
He has even seen what I look like.
So you should be afraid to criticize my servant Moses!"
9 Yahweh was very angry with Miriam and Aaron, and he left.
10 When the cloud rose up from the sacred tent, Aaron looked at Miriam, and he saw that her skin was as white as snow, because she now had leprosy.
11 Aaron said to Moses, "My master, please do not punish us for this sin that we have foolishly committed.
12 Do not allow Miriam to be like a baby that is already dead when it is born, whose flesh is already half decayed!"
13 So Moses cried out to Yahweh, saying, "God, I plead with you to heal her!"
14 But Yahweh replied, "If her father had rebuked her for doing something wrong by spitting in her face, she would have been ashamed for seven days. She should be ashamed because of what she has done. So send her outside the camp for seven days. Then she will not have leprosy anymore, and she may return to the camp."
15 So they sent her outside the camp for seven days. The people did not move to another location until she returned.
16 But after she returned, they left Hazeroth and moved north in the Paran Desert and set up their tents there.


Rising Gate Calculator
How to hang a rising gate, neatly!
Calculate the offset of one hinge of a gate to make it rise on opening, yet be vertical both when closed and when open.
Much more information here.
Calculate the offset of one hinge of a gate to make it rise on opening, yet be vertical both when closed and when open.
Much more information here.


Recurring Expense
Description
Label
Next due date
Recurrence period
Option Text
Expense type
Wireframe
Amount
Creditor name
Reference number
Note
Cancel
Submit


Transform the molecule structure data into graphic objects for display.
| Visibility |
various toggles |
The following items can be made independently visible:
- atoms
- bonds
- atom names
- residue names
|
| single res name |
toggle |
If set only a residue name label per residue is displayed instead of one label per atom. |
| Fast Rot |
toggle |
If set the atom structure is replaced on viewer by a lighter one during manimulations. This is useful with big structures to
speedup manipulations. |
| Resolution |
radio buttons |
Sets the resolution of ball and sticks. Useful with big molecules. |
| Visualization format |
list |
Select the visualization format for the molecule. The available formats are:
- Ball and Stick
- Standard format.
- CPK
- Usual space filling format.
- Colored Stick
- Only bonds are show with rounded edges.
- Colored Residue
- Only bonds are show colored by the corresponding residue type.
- Stick
- Only bonds are show colored by the default object color.
- Licorice
- Only bonds are show with rounded edges -like colored stick- but also orphan atoms are show.
- Licorice Stick
- Same as Stick, but with rounded edges.
- Ball and Stick (charge)
- The atoms are colored by the charge value.
- CPK (charge)
- Usual space filling format in which the atoms are colored by the charge value.
- Licorice (charge)
- Only the bonds are show, but with rounded edges. Also orphan atoms are show. The atoms are colored by the charge value.
|
| Bonds format |
radio buttons |
The bonds can be represented as:
- lines
- tube
- all H bonds (normal and H-bonds) as lines
- only the H-bonds as lines
|
| Split Color |
toggle |
Set the coloring of bonds to be two uniform bands instead of an interpolated color between the two atoms colors. |
| Open display parameter settings |
button |
Open an auxiliar screen to set rarely changed graphic display settings. |
| use manual limits |
toggle |
This section appears only if a representation that maps charge values is selected.
For the charge color mapping use the limits entered below. If not set the charge limits are computed by the module and show
in the fields below. |
| min, max |
numeric fields |
Limits of the atoms charge values. Used to color the atoms itself. |


| PostgreSQL 9.0.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Appendix B. Date/Time Support | Next |
Since timezone abbreviations are not well standardized, PostgreSQL provides a means to customize the set of abbreviations accepted by the server. The timezone_abbreviations run-time parameter determines the active set of abbreviations. While this parameter can be altered by any database user, the possible values for it are under the control of the database administrator — they are in fact names of configuration files stored in .../share/timezonesets/ of the installation directory. By adding or altering files in that directory, the administrator can set local policy for timezone abbreviations.
timezone_abbreviations can be set to any file name found in .../share/timezonesets/, if the file's name is entirely alphabetic. (The prohibition against non-alphabetic characters in timezone_abbreviations prevents reading files outside the intended directory, as well as reading editor backup files and other extraneous files.)
A timezone abbreviation file can contain blank lines and comments beginning with #. Non-comment lines must have one of these formats:
time_zone_name offset time_zone_name offset D @INCLUDE file_name @OVERRIDE
A time_zone_name is just the abbreviation being defined. The offset is the zone's offset in seconds from UTC, positive being east from Greenwich and negative being west. For example, -18000 would be five hours west of Greenwich, or North American east coast standard time. D indicates that the zone name represents local daylight-savings time rather than standard time. Since all known time zone offsets are on 15 minute boundaries, the number of seconds has to be a multiple of 900.
The @INCLUDE syntax allows inclusion of another file in the .../share/timezonesets/ directory. Inclusion can be nested, to a limited depth.
The @OVERRIDE syntax indicates that subsequent entries in the file can override previous entries (i.e., entries obtained from included files). Without this, conflicting definitions of the same timezone abbreviation are considered an error.
In an unmodified installation, the file Default contains all the non-conflicting time zone abbreviations for most of the world. Additional files Australia and India are provided for those regions: these files first include the Default file and then add or modify timezones as needed.
For reference purposes, a standard installation also contains files Africa.txt, America.txt, etc, containing information about every time zone abbreviation known to be in use according to the zoneinfo timezone database. The zone name definitions found in these files can be copied and pasted into a custom configuration file as needed. Note that these files cannot be directly referenced as timezone_abbreviations settings, because of the dot embedded in their names.
Note: If an error occurs while reading the time zone data sets, no new value is applied but the old set is kept. If the error occurs while starting the database, startup fails.
| Caution |
Time zone abbreviations defined in the configuration file override non-timezone meanings built into PostgreSQL. For example, the Australia configuration file defines SAT (for South Australian Standard Time). When this file is active, SAT will not be recognized as an abbreviation for Saturday. |
| Caution |
If you modify files in .../share/timezonesets/, it is up to you to make backups — a normal database dump will not include this directory. |


404
PAGE NOT FOUND
Sorry, it appears the page you were looking for doesn't exist anymore or might have been moved.
HOME


--- layout: base title: eCash ---
You're invited to the next era of sound money for the world.
Derived from one of the most trusted names in cryptocurrency, what was once known as BCHA is now eCash.
For information on the rebrand from BCHA to eCash, please visit our BCHA page.
eCash is the natural continuation of the Bitcoin Cash project. Realizing the vision of the legendary Milton Friedman, eCash follows through on key promises such as the innovative Avalanche consensus layer while also introducing concepts never before seen in a Bitcoin project such as staking, fork-free network upgrades, and subchains.
Look for the ticker symbol XEC on exchanges, wallets, or price charts, and take your first step towards true financial freedom.
Question: What is the eCash supply?
Answer: The supply of eCash is limited to 21 Trillion XEC. This means that measured in satoshis, the eCash supply is the same as BTC supply: 2.1 quadrillion satoshi. The different headline number simply reflects the 1,000,000:1 redenomination of the eCash base unit. The equivalence of the BTC and XEC supply can seen visually by writing their supply limits like this:
XEC: 21,000,000,000,000.00
BTC: 21,000,000.000,000,00
eCash also follows that same halving schedule as Bitcoin, with reward halvings occurring every 210,000 blocks.
More information on eCash supply is available at ecash.supply.
Question: Will XEC be burned to decrease supply?
Answer: No. eCash is unburnable.
The issuance of eCash is not controlled by Bitcoin ABC, or any single person or group. It is mined into existence starting with the Bitcoin Genesis block in 2009. This means that, even if the team wanted to, it would be impossible to "burn" the supply. This is a feature, not a bug.
eCash is different from other new tokens where the founding teams often hold a large proportion of the total supply. In those other coins, the large amount of coins that the team holds is still waiting to be released into the market, causing future inflation. XEC, on the other hand, is already over 90% issued, and the dev team holds only a small amount relative to total supply. This means that new supply of XEC into the market will continue to be very limited.
Question: What is the contract address?
Answer: XEC is not an ERC-20 token, it is its own blockchain similar to Bitcoin (BTC).
There is a "Wrapped XEC" token available on the Binance Smart Chain, with contract address 0x0Ef2e7602adD1733Bfdb17aC3094d0421B502cA3. Users should recognize that holding this BEP-20 token, or similar "wrapped XEC" products, has custodial risk as you have to trust that the custodian (in this case Binance) will hold the full reserves of native XEC safely. For this reason, we recommend that users hold their coins as real native XEC, in a wallet where they control the keys.
To hold native XEC yourself, you can use a supporting wallet. Write down the "seed phrase" for your wallet and store that in a safe place. This is usually 12 words. The 12 words contain enough information to restore the private keys of the wallet in case you need to recover them in the future.
Before sending eCash or BCH from your wallet, it is important to split your pre-fork coins so that your transactions are not replayed (for example also sending BCH when you only meant to send eCash to someone). There a several ways this can be done.
A good way to split BCH and eCash from each other is to use Electrum ABC and Electron Cash, as described here.
Another method is to use an exchange such as Coinex which will split the coins for you, as this tutorial explains. But remember that the splitting process may not always go as planned so it is wise to test with smaller amounts first, or use a method where you only send coins to yourself (as with the Electrum ABC - Electron Cash method above).
Warning: There are scammers and thieves who create fake coin splitting tools and services to steal people's coins. Never send your coins, or enter your private key or recovery words into any site or software unless you are certain that it can be trusted. The scammers create fake social media profiles and Youtube channels, so always double check sources and be careful following any links. Always be very cautious, and ask for help if you are unsure.
For more information see e.cash.
For direct support, please contact us at: support@bitcoinabc.org.


CONTRIBUTING.md HISTORY.rdoc LICENSE Manifest.txt README.rdoc Rakefile bin/launchy lib/launchy.rb lib/launchy/application.rb lib/launchy/applications/browser.rb lib/launchy/cli.rb lib/launchy/deprecated.rb lib/launchy/descendant_tracker.rb lib/launchy/detect.rb lib/launchy/detect/host_os.rb lib/launchy/detect/host_os_family.rb lib/launchy/detect/nix_desktop_environment.rb lib/launchy/detect/ruby_engine.rb lib/launchy/detect/runner.rb lib/launchy/error.rb lib/launchy/os_family.rb lib/launchy/version.rb spec/application_spec.rb spec/applications/browser_spec.rb spec/cli_spec.rb spec/detect/host_os_family_spec.rb spec/detect/host_os_spec.rb spec/detect/nix_desktop_environment_spec.rb spec/detect/ruby_engine_spec.rb spec/detect/runner_spec.rb spec/launchy_spec.rb spec/mock_application.rb spec/spec_helper.rb spec/tattle-host-os.yaml spec/version_spec.rb tasks/default.rake tasks/this.rb


Bolsonaro sent the highly divisive bill to lawmakers Thursday amid an increase in killings by police across the country. It could face stiff opposition from political opponents and human rights advocates.
11 PEOPLE KILLED IN GUN ATTACK AT BAR IN BRAZIL: REPORTS
“We will now depend on lawmakers, congressmen and senators to approve this,” he said in Brasilia, according to Reuters.
Under the bill, sentences could be reduced and judicial protection given to officers and soldiers who kill in situations in which they face “unfair, current or imminent aggression" to themselves or others during Guarantee of Law and Order (GLO) missions.
The missions are temporary operations created by order of the president that are intended to tackle cases of uncontrollable violence. Bolsonaro said the bill would represent a shift against violence in the South American nation.
CLICK HERE TO GET THE FOX NEWS APP
The bill is similar to one proposed earlier this year that offers greater protections to officers who kill. Justice Minister Sergio Moro proposed the legislation as a crime-fighting tool, but it has languished in the legislature.


VIEW ONLINE
SERVER_DATA
View on application
MkitDigital Server Status App , all rights reserved 2016 ©


Uber strengthens India push with $250-million investment
Ride-hailing business, Uber Eats will benefit from the investment that was approved on October 29.
Ride-hailing firm Uber has invested Rs 1,767 crore (around $250 million) in its India business, further committing to a market where it is going up against local startups across a range of sectors.
The investment, approved on October 29, was disclosed in a regulatory filing to the Registrar of Companies.
“This appears to be the largest piece of foreign direct investment by Uber into India till date,” said Vivek Durai, CEO and co-founder of data intelligence company Paper.vc. “Given recent statements from Uber, one could hazard a guess that this poses a more direct challenge to Swiggy than to Ola.”
The money, a company source said, will be deployed in the ride-hailing business that counts Ola as the main rival.
The cash infusion will also strengthen Uber Eats, where the San Francisco-based company is being outmatched by Swiggy and Zomato.
Uber, which has invested about $2 billion in India so far, has also consolidated its India operations under a single entity Uber India Systems.
The investment by Uber comes on the heels of Ola raising $200 million from Microsoft at a valuation of $10 billion.
Other than cab-aggregating and food delivery, the company is looking at building multiple business lines with Uber Money, which is to be launched early next year. It also has plans for an intercity bus business that will compete with MakeMyTrip-owned RedBus.
Ola, too, is looking to expand its business beyond cab-hailing to build an electric infrastructure with two-wheelers, three-wheelers, batteries, and swapping and charging infrastructure.Get access to India's fastest growing financial subscriptions service Moneycontrol Pro for as little as Rs 599 for first year. Use the code "GETPRO". Moneycontrol Pro offers you all the information you need for wealth creation including actionable investment ideas, independent research and insights & analysis For more information, check out the Moneycontrol website or mobile app.


This is part of the series The CDPH Way—Becoming the best at getting better.
For background, here is an overview slide set and lean reporting templates.
Humility is the key to unleashing and supercharging personal and organizational performance improvement. However, not everyone feels comfortable introducing complex topics like cultural humility. I was fortunate to discover Professor Edward Hess’ book “Humility is the New Smart: Rethinking human excellence in the smart machine age” [1]. I believe his book is a non-threatening, practical, and inspiring way to introduce humility to your staff. Based on Hess’ book, the article below is an excerpt from our population health lean reference document.1 … Tomás J. Aragón
Redefining what it means to be “smart”
Our world is changing fast! Automation, machine learning, and artificial intelligence—the Smart Machine Age (SMA)—are disrupting and displacing the workforce. Transdisciplinary teamwork is the new norm. People skills, creative and critical thinking, innovation, and improvement are more important now than ever!
Unfortunately, our native cognitive abilities have not evolved at the same pace [2]. Our brain is wired to sense “dangers” and react based on perceived threats and emotions. Our brain is wired for efficiency: it defaults to personality traits, fast decisions via nonconscious schemas or learned mindsets. We resist new ideas that demand new cognitive effort. Our decisions are suboptimal due to cognitive biases: (a) protection of mindset, (b) personality and habits, (c) faulty reasoning, (d) automatic associations, (e) relative thinking, and (f) social influences [3].
Humans are prone to defensiveness from our innate drive to protect our ego2 and to avoid our fears (vulnerability, uncertainty, risk, intellectual or emotional exposure, uninvited scrutiny). Science shows these behaviors impede creativity, critical and innovative thinking, reflective listening, and emotionally engaging others [1]. We mitigate these biases using brain science. We start with a new definition of “being smart” (“NewSmart”). We must embrace intellectual humility, honesty, and courage and redesign organizations for this new age. Professor Edward Hess’ NewSmart Humility has four interdependent components:
- NewSmart principles,
- Humility mindset,
- NewSmart behaviors, and
- NewSmart organization [1].
The “NewSmart” principles
“To change our mental model for the SMA,” Hess writes, “we first need to accept a quality-based definition of ‘being smart’—a NewSmart—that we define as excelling at the highest level of thinking, learning, and emotionally engaging with others that one is capable of doing. NewSmart is a measure not of what you know or how much you know but of
- the quality of your thinking, listening, collaborating, and learning;
- how good you are at “not” knowing and decoupling your beliefs (not values) from your ego;
- how good you are at being open to continually stress-testing your beliefs about how the world works;
- how good you are at trying out new ideas and ways to accomplish your objectives and learning from those experiments” [1].
“So what does the high-quality thinking, learning, and emotional engagement underlying NewSmart look like in practice?” The NewSmart principles are worth committing to memory:
- “I’m defined not by what I know or how much I know, but by the quality of my thinking, listening, relating, and collaborating.”
- “My mental models are not reality—they are only my generalized stories of how my world works.”
- “I’m not my ideas, and I must decouple my beliefs (not values) from my ego.”
- “I must be open-minded and treat my beliefs (not values) as hypotheses to be constantly tested and subject to modification by better data.”
- “My mistakes and failures are opportunities to learn.”
This Table compares the “old smart” to the NewSmart.
| Old smart | NewSmart |
|---|---|
| I know | I’m good at not knowing |
| I tell | I ask |
| Defend my views | Improve my views |
| Seek confirmation | Seek truth |
| Close mind | Open mind |
| Insecure if beliefs are challenged | Insecure if beliefs are NOT challenged |
| Mistakes are bad | Mistakes are learning opportunities |
| Perfectionism | Learning |
The Humility mindset
We embrace two definitions of humility:
- Dickson defines humility as “the noble choice to forgo your status, [and to] use your influence for the good of others before yourself,” [4] and
- Hess defines “Humility as a mindset about oneself that is open-minded, self-accurate, and ‘not all about me,’ and that enables one to embrace the world as it ‘is’ in the pursuit of human excellence” [1].
“Humility is a mindset that results in not being so self-centered, ego defensive, self-enhancing, self-promotional, and closed-minded—all of which the science of learning and cognition shows inhibit excellence at higher-order thinking and emotionally engaging with others” [1].
The NewSmart behaviors
The NewSmart and Humility mindsets drive behaviors that are supported and improved with evidence-based skills. Hess clusters them into four behavioral categories:
- Quieting Ego,
- Managing Self (one’s thinking and emotions),
- Reflective Listening, and
- Otherness (emotionally connecting and relating).
(a) Quieting Ego
“Quieting Ego is how we can deliberately work to reduce our reflexive emotional defensiveness; have empathy and open-mindedness; engage in Reflective Listening; and proactively seek other people’s feedback and perspectives to stress-test our own thinking. Quieting Ego is a way of practicing and operationalizing Humility. To quiet our ego is to perceive others and the world without filtering everything through a self-focused lens and to tamp down on negative or self-protective”inner talk” that is driven consciously or subconsciously by our fears and insecurities” [1]. Quieting Ego starts with four evidence-based behaviors:
- mindfulness,
- mindfulness meditation,
- daily Quiet Ego reminders, and
- practicing gratitude.
(b) Managing Self (one’s thinking and emotions)
“Managing Self—our emotions and thinking—aids us in engaging in the higher-level thinking and behavior required … . It’s necessary to remain open-minded and be willing to test our beliefs and modify our points of view if presented with better data. It’s also how we’re able to overcome our fear of mistakes in order to take ownership of them and learn from them, and helps us more effectively relate to and collaborate with others” [1].
“Managing Self comes from the science of ‘self-regulation’ and ‘self-control,’ which are broad psychological concepts that mean to monitor and manage one’s emotions, thoughts, and behaviors” [1] and start with these practices:
- slowing down,
- managing thoughts,
- managing emotions, and
- emotional intelligence.
For managing thoughts, Hess’ “thinking toolbox” starts with familiar concepts from population health lean (PDSA problem-solving, root cause analysis, etc.). We also highly recommend reading Richard Nisbett’s Mindware: Tools for Smart Thinking [5].
For managing emotions, “We’ve discussed how ego and fear are the two big learning inhibitors and explored our reflexive tendency as humans to be emotionally defensive and self-protective. We’ve discussed how negative emotions can undermine our behavior and thinking and how positive emotions can improve them. Stress, anger, and anxiety can cause narrow-mindedness and the fight-flee-or-freeze syndrome. … Positive emotions, on the other hand, have been scientifically linked not just to higher health and well-being but also to broader attention, open-mindedness, deeper focus, and more flexible thinking, all of which underlie creativity and innovative thinking. Positive emotions also improve decision making and general cognitive processing.”
Hess’ “managing emotions toolbox” includes effective techniques such as
- psychological distancing,
- reframing,
- positive memories,
- positive self-talk, and
- if-then implementation plans.
See Hess book for illustrative examples [1].
Emotional intelligence (EI) is “the ability to monitor one’s own and others’ feelings and emotions, to discriminate among them and to use this information to guide one’s thinking and actions. … Sensitivity to other people’s emotions has been found to be a key to effective collaboration.” The EI model includes these abilities:
- Perceive and differentiate emotions in self and others.
- Use emotions to facilitate reasoning, aid judgment and memory processes, problem solve, communicate with others, and facilitate open-mindedness.
- Understand emotions by analyzing the emotions of yourself and others.
- Manage emotions in self and others.
(c) Reflective Listening
“Reflective Listening is so important because it underlies all [other skills]. Why? Because your thinking and learning are limited by cognitive biases, emotional defensiveness, ego, and fear.  [We know from] evidence that it’s hard for any of us to critique our own thinking and truly think critically. We’re just too wired to confirm what we already believe, and we feel too comfortable having a cohesive simple story of how our world works. We need to have thinking ‘partners’ who force us to confront those biases, and we need to listen to them” [1].
Reflective Listening includes these practices:
- preparing to listen reflectively,
- listening with a Quiet Ego and an open mind, and
- inquiring with genuine curiosity, humility, and respect (humble inquiry).
Here’s a preparation checklist for Reflective Listening:
- Is my mind clear? If not, take several deep, slow breaths.
- Am I calm emotionally? If not, take a few more deep breaths, focusing on breathing in for four seconds and very, very slowly breathing out for four seconds.
- Say to yourself a couple of times:
- “I am not my ideas.”
- “It’s not all about me.”
- “Don’t be defensive.”
- “Ask questions before telling.”
- “Don’t interrupt.”
- “Stay focused.”
- “Critique ideas, not people.”
- “Listen to understand, not to confirm.”
(d) Otherness (emotionally connecting and relating)
Hess writes “We need others because we can’t think, innovate, or relate at our best alone. To relate to other people you first have to make a connection with them. It is by building a relationship over time that you build trust, and when you have caring trust, you have set the stage for the highest level of human engagement. … So how do you get better at connecting and relating? It’s quite obvious that connecting and relating to people is inhibited by arrogance, self-absorption, self-centeredness, not listening, closed-mindedness, lack of empathy, emotional defensiveness, and the ego protection and fear that flow from the Old Smart mental model. Accepting NewSmart and Humility as well as practicing Quieting Ego, Managing Self, and Reflective Listening lays the groundwork for relationship building with others.”
Otherness behaviors include:
- using the fives keys to connecting,
- building trust and conveying caring,
- preparing for meetings,
- choosing words wisely.
The five keys to connecting are
- be present,
- be genuine,
- communicate affirmation,
- listen effectively, and
- communicate support.
Prepare for meetings with this checklist:
- be really present,
- genuinely smile—a big smile,
- make eye contact,
- be positive,
- listen reflectively,
- stay fully present, and
- do no harm.
Choose your words wisely: use “Yes, and” instead of “Yes, but” to build on the ideas of others; use “I believe” instead of “I think” to acknowledge your ideas are hypotheses open to critique and testing; use “I want to” instead of “I have to” and “I won’t” instead of “I can’t” to emphasize the power of choice.
NewSmart organization
Finally, design your organizational culture and environment for learning, adaptation, innovation, and improvement leveraging established psychological concepts:
- positivity (promote positive emotions, minimize negative emotions);
- self-determination theory (promote intrinsic motivation by supporting innate human drives for autonomy, relatedness, and competence); and
- psychological safety (feeling safe to speak freely; to experiment, fail, and learn; to seek and give constructive feedback; to challenge others’ thinking, including the “boss”).
The Table below summarizes the new cultural ways of a NewSmart organization.
| Old Cultural Ways | New Cultural Ways |
|---|---|
| Individuals win | Teams win |
| Play cards close to the chest | Transparency |
| Highest-ranking person can trump | Best idea or argument wins |
| Listening to confirrm | Listening to learn |
| Telling | Asking questions (humble inquiry) |
| Knowing | Being good at not knowing |
| IQ | IQ and EQ (emotional intelligence) |
| Mistakes are always bad | Mistakes are learning opportunities |
| Compete | Collaborate |
| Self-promote | Self-reflect |
References
Footnotes
Aragón TJ, Garcia BA. We will be the best at getting better! An introduction to population health lean. eScholarship.org; 2017. Available from http://bit.ly/phleandoc2↩
Ego is best understood as “self-concept” which is a collection of beliefs about oneself, including our many identities (gender, racial, professional, etc.). “Self-concept is made up of one’s self-schemas, and interacts with self-esteem, self-knowledge, and the social self to form the self as whole. … The temporal self-appraisal theory argues that people have a tendency to maintain a positive self-evaluation by distancing themselves from their negative self and paying more attention to their positive one.” (source: Wikipedia. Self-concept; 2017. Online. Available from: https://en.wikipedia.org/wiki/Self-concept.)↩


{% extends 'upload/base.html' %} {% load bootstrap3 %} {% block content %}
1) Navigate to the processing form via the "Submit job" link.
2) Enter your email address and other required parameters in the form.
You must upload a job name, two half maps (.mrc format), a full map (also .mrc format), and an appropriate pixel size. All other parameters are optional. Click "Submit job".3) You should receive an email to confirm your processing job. If you do not receive an email, please check your spam folders.
4) When your job is complete, you will receive another email with a link to download the compressed results. Also included in the email is a password to decompress the .zip file.


Documentation for risk_dash
¶
Contents:
risk_dash
Disclaimer: Due to data issues, only up to March 28th EOD is available from Quandl’s WIKI EOD Stock Prices found in the example application.
Abstract
Thesis Steps
Getting Started - Locally Running the Dash App
Documentation
Object Model
File Structure
Current App Features
Future App/Package Features
License
risk_dash Overview and Getting Started
Overview
Installation
Getting Started
Security data, Security objects, and creating Security Subclasses
Portfolio Data and creating a Portfolio
Calculating Risk Metrics and Using the Portfolio class
Simulating the Portfolio
Summary
risk_dash Dash application documentation
Overview
Getting Started - Locally Running the Dash App
Dash applications
The risk_dash Dash object
Running the application locally
Application Usage
Individual Equity Analysis Page - single_ticker.py
Portfolio Metrics - portfolio_metrics.py
Summary
risk_dash.securities
risk_dash.market_data
risk_dash.simgen
Indices and tables
¶
Index
Module Index
Search Page
Related Topics
Documentation overview
Next:
risk_dash
Quick search


Provides rigid body physics, optimized for Javascript.
The Physics2DDevice object can be used to create the following objects:
Physics2D uses SI units of meters (m), radians (rad), seconds (s), kilograms (kg) and Newtons (N). Physics2D coordinates have y-axis pointing down.
Physics parameters are tuned for objects in size ranging down to an absolute minimum of 0.001m = 1mm. Objects smaller than this will not behave correctly due to contact slop and thresholds in continuous collision detection routines. At the same time, for stability reasons there is a permitted slop in positional contacts of 0.01m = 1cm so that whilst objects down to 1mm are acceptible, objects this small will not interact together properly. You should try to keep objects at least 1cm big.
A suggestion if your game operates in pixels (px) is to use a scaling factor of roughly 60px for every 1m.
Required scripts
The Physics2DDevice object requires:
/*{{ javascript("jslib/physics2ddevice.js") }}*/
/*{{ javascript("jslib/boxtree.js") }}*/
Summary
Create a World object to which rigid bodies and constraints can be added. Rigid bodies and constants can only be added to a single World at any given time.
Syntax
var world = phys2D.createWorld({
broadphase : broadphaseObject,
gravity : [0, 10],
velocityIterations : 8,
positionIterations : 8,
});
Supply a Broadphase object to be used by this World.
If unspecified, then a BoxTree broadphase as created using phys2D.createBoxTreeBroadphase() will be used.
The direction and magnitude of global acceleration due to gravity, applied to all dynamic bodies per update.
Defaults to [0, 10].
The number of physics iterations to use when solving errors in velocity constraints. This value must be positive, and is largely responsible for the stability of the physics.
Defaults to 8.
The number of physics iterations to use when solving errors in position constraints. This value must be positive and is responsible for solving errors in contact penetrations and stiff constraints.
Defaults to 8.
Summary
Create a Broadphase object built using a 1-axis Sweep and Prune approach in the x-axis direction.
Syntax
var broadphase = phys2D.createSweepAndPruneBroadphase();
Summary
Create a Broadphase object built using a pair of BoxTree objects separating static/sleeping bodies from active bodies. This is a more generally performant broadphase than the 1-axis Sweep and Prune.
Syntax
var broadphase = phys2D.createBoxTreeBroadphase();
Summary
Create a RigidBody object.
Syntax
phys2D.createRigidBody({
type : 'dynamic',
shapes : [],
mass : 10,
inertia : 20,
sleeping : false,
bullet : false,
position : [0, 0],
rotation : 0,
velocity : [0, 0],
angularVelocity : 0,
force : [0, 0],
torque : 0,
linearDrag : 0.05,
angularDrag : 0.05,
surfaceVelocity : [0, 0],
userData : null
});
The type of Rigid Body to create. One of ‘static’, ‘dynamic’, ‘kinematic’.
Defaults to ‘dynamic’.
The mass in kg for this rigid body. This value must be strictly positive and has no effect on static and kinematic bodies which in terms of physics computations are assumed to have infinite mass. However if such a body should be transformed into a dynamic body at run-time, this value will still persist.
If unspecified, mass will be computed as per body.computeMassFromShapes().
The moment of inertia in kg.m2/rad2. This value must be strictly positive and has no effect on static and kinematic bodies which in terms of physics computations are assumed to have infinite inertia. However if such a body should be transformed into a dynamic body at run-time, this value will still persist.
If unspecified, inertia will be computed as per body.computeInertiaFromShapes().
Define if the body is to be created in a sleeping state. When added to a World object, the body will remain asleep until woken.
Defaults to false.
Define if a dynamic body should collide continuously with other dynamic bodies. Continuous collision occur always between static/kinematic and dynamic bodies, but will occur between two dynamic bodies only if at least one of them is marked as a bullet.
Due to implementation details of continuous collisions, you are advised not to create groups of bodies that interact together as bullets which may lead to visual stalling.
The position of the body’s origin in world coordinates. The position of a static body cannot be changed once it has been assigned to a World object, and modifications to this value equate to a teleportation of the body. kinematic bodies should be moved via manipulations of the body velocity.
Defaults to [0, 0].
The rotation of the body in clockwise radians. The rotation of a static body cannot be changed once it has been assigned to a World object, and modifications to this value equate to a teleportation of the body. kinematic bodies should be rotated via manipulations of the body angularVelocity.
Defaults to 0.
The linear velocity of the body in m/s. This parameter is ignored for static bodies which are not permitted to have a velocity.
Defaults to [0, 0].
The angular velocity of the body in rad/s. This parameter is ignored for static bodies which are not permitted to have a velocity.
Defaults to [0, 0].
Force applied to the body at it’s origin for every update. As this is a force, and not an acceleration this property has no effect on static and kinematic bodies, or any dynamic body with infinite mass.
This force is persistent, and is not reset after world update.
Defaults to [0, 0].
Torque applied to the body at it’s origin for every update. As this is a torque, and not an acceleration this property has no effect on static and kinematic bodies, or any dynamic body with infinite inertia.
This torque is persistent, and is not reset after world update.
Defaults to [0, 0].
The fraction of the linear velocity of a body which will be lost per second. This value must be >= 0. This property has no effect on static and kinematic bodies, or any dynamic body with infinite mass.
Defaults to 0.05.
The fraction of the angular velocity of a body which will be lost per second. This value must be >= 0. This property has no effect on static and kinematic bodies, or any dynamic body with infinite inertia.
Defaults to 0.05.
An additional velocity in (m/s) used for contact physics and rotated to match the surface direction used to manipulate the effects of friction and normal reactions. Static objects may also be given a surface velocity.
For example one may create a conveyor belt that moves objects pushed against in a clockwise direction by supplying a surface velocity with positive x-component.
Defaults to [0, 0].
Summary
Return the default Material, instantiated as a Singleton by result of Physics2DDevice.createMaterial({});.
Syntax
var material = phys2D.getDefaultMaterial();
Summary
Create a new Material object.
Syntax
var material = phys2D.createMaterial({
elasticity : 0,
staticFriction : 2,
dynamicFriction : 1,
rollingFriction : 0.005,
density : 1,
userData : null
});
Coefficient of restitution for this material.
Values of elasticity are combined during collision as clamp(0.5 * (elasticity1 + elasticity2), [0, 1]).
In this way, elasticity may be given any value (Even infinity) and the result will still be a valid coefficient of restitution for a collision with 0 being no elasticity, and 1 being complete elasticity.
Default value is 0.
Coefficient of static friction for this material.
When the relative, tangential velocity of the two rigid bodies at contact point is near zero, static friction will be used.
This value must be >= 0 and should intuitively be greater than dynamicFriction. Values are combined in collision as Math.sqrt(friction1 * friction2).
Default value is 2.
Coefficient of dynamic friction for this material.
Apart from the above scenario, dynamic friction is used between two rigid bodies.
This value must be >= 0 and should intuitively be greater than staticFriction. Values are combined in collision as Math.sqrt(friction1 * friction2).
Default value is 1.
Coefficient of rolling friction for this material.
When one of the colliding shapes is a Circle type, then rolling friction will be applied to the objects.
This value must be >= 0 and values are combined in collision as Math.sqrt(friction1 * friction2).
Default value is 0.005.
Density of material in units of kg/m/m.
When a RigidBody has its mass or inertia set from its shapes, or when computing mass or inertia based on its shapes. Then the material density is used to compute the mass and inertia of the Shape using it.
Default value is 1.
Summary
Create a Circle shape.
Syntax
phys2D.createCircleShape({
radius : 10,
origin : [0, 0],
// ... + common Shape constructor parameters
});
The origin of the Circle shape within the local coordinate system of the Body it is assigned to.
Defaults to [0, 0]
For common Shape constructor parameters see Shape
Summary
Create a Polygon shape.
Syntax
phys2D.createPolygonShape({
vertices : [[0, 0], [0, 2], [3, 4]],
// ... + common Shape constructor parameters
});
The vertices of the Polygon in the local coordinate system of the Body it is assigned to.
The vertices list is copied internally and may be re-used multiple times.
These vertices must define a convex, non-intersecting polygon and must be in a clockwise order (Remembering that Physics2D coordinates have y-axis pointing down). This property is unchecked.
For common Shape constructor parameters see Shape
Summary
Create a set of vertices defining an axis-aligned box, centered at the origin.
Syntax
var vertices = phys2D.createBoxVertices(width, height);
Summary
Create a set of vertices defined by the given axis-aligned rectangle.
Syntax
var vertices = phys2D.createRectangleVertices(x1, y1, x2, y2);
The x-coordinate of the bottom-right corner of rectangle.
In case that x2 < x1, the values of x1/x2 will be swapped.
The y-coordinate of the bottom-right corner of rectangle.
In case that y2 < y1, the values of y1/y2 will be swapped.
Summary
Create a set of vertices defining a (Possibly squished) regular polygon.
Syntax
var vertices = phys2D.createRegularPolygonVertices(diameterX, diameterY, numVertices);
The vertices are generated by:
angle = N * (Math.PI * 2 / numVertices);
vertex = [(diameterX / 2) * Math.cos(angle), (diameterY / 2) * Math.sin(angle)];
Summary
Create a CollisionUtils object.
Syntax
var utils = phys2D.createCollisionUtils();
Summary
Create a PointConstraint object.
A Point constraint, constrains the anchor points on the two bodies to be locked together.
worldAnchorA === worldAnchorB
Syntax
var constraint = phys2D.createPointConstraint({
bodyA : firstRigidBody,
bodyB : secondRigidBody,
anchorA : [1, 0],
anchorB : [-1, 0],
// ... + common Constraint constructor parameters
});
The anchor point for the first body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The anchor point for the second body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
For common constructor parameters, see Constraint.
Summary
Create a WeldConstraint object.
A Weld constraint constrains the anchor points on the two bodies to be locked together, and their relative rotation to be locked at a specific value. These sub-constraints are solved as a single complex constraint for extra stability.
(worldAnchorA === worldAnchorB) && (rotationB - rotationA === phase)
Syntax
var constraint = phys2D.createWeldConstraint({
bodyA : firstRigidBody,
bodyB : secondRigidBody,
anchorA : [1, 0],
anchorB : [-1, 0],
phase : angularPhase,
// ... + common Constraint constructor parameters
});
The anchor point for the first body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The anchor point for the second body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The target value for the difference in rotations, if phase were equal to 1, then the second rigid body would be constrained to have a rotational value 1 rad greater than the first body.
Default value is 0.
For common constructor parameters, see Constraint.
Summary
Create a AngleConstraint object.
An Angle constraint constrains the weighted difference of the rotations of the two bodies to be locked to a given range of values.
lowerBound <= (rotationB * ratio) - rotationA <= upperBound
Syntax
var constraint = phys2D.createAngleConstraint({
bodyA : firstRigidBody,
bodyB : secondRigidBody,
ratio : 1,
lowerBound : -Math.PI,
upperBound : Math.PI
// ... + common Constraint parameters
});
The ratio in the constraint equation. If ratio were equal to 2, then bodyA would be forced to rotate twice as fast as bodyB when constraint is at a limit.
Default value is 1.
The lower bound in the constraint equation. This value must be <= upperBound.
Default value is 0.
The upper bound in the constraint equation. This value must be >= lowerBound.
Default value is 0.
For common constructor parameters, see Constraint.
Summary
Create a DistanceConstraint object.
A Distance constraint constrains the distance between the anchor points of the two bodies to be locked to a given range of values.
lowerBound <= distance(worldAnchorA, worldAnchorB) <= upperBound
This constraint degenerates when the distance between anchors is 0.
To lock the distance at exactly 0 you will find much greater stability and accuracy by using the two-dimensional Point constraint instead.
Syntax
var constraint = phys2D.createDistanceConstraint({
bodyA : firstRigidBody,
bodyB : secondRigidBody,
anchorA : [1, 0],
anchorB : [1, 0]
lowerBound : 1,
upperBound : 4
// ... + common Constraint parameters
});
The anchor point for the first body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The anchor point for the second body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The lower bound in the constraint equation. This value must be >= 0.
Default value is 0.
The upper bound in the constraint equation. This value must be >= lowerBound.
Default value is 0.
For common constructor parameters, see Constraint.
Summary
Create a LineConstraint object.
A Line constraint constrains the anchor point on the second body, to be constrained to a line segment defined on the first body.
(perpDot(worldAxis, worldAnchorB - worldAnchorA) === 0) &&
(lowerBound <= dot(worldAxis, worldAnchorB - worldAnchorA) <= upperBound)
Syntax
var constraint = phys2D.createLineConstraint({
bodyA : firstRigidBody,
bodyB : secondRigidBody,
axis : [0, 1]
anchorA : [1, 0],
anchorB : [-1, 0],
lowerBound : -1,
upperBound : 1
// ... + common Constraint parameters
});
The axis for the line constraint, defined in the local coordinate system of the first rigid body.
This vector must not be of zero length and will be automatically normalized when set.
The anchor point for the first body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The anchor point for the second body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The lower bound in the constraint equation. This value must be <= upperBound.
Default value is -infinity.
The upper bound in the constraint equation. This value must be >= lowerBound.
Default value is infinity.
For common constructor parameters, see Constraint.
To define the values for constraint bounds, anchorA and axis to match a given line segment defined locally to bodyA, you should create the constraint like:
var constraint = phys2D.createLineConstraint({
axis : fromPoint - startPoint,
anchorA : startPoint,
lowerBound : 0,
upperBound : length(fromPoint - startPoint)
...
});
This constraint would most often be used to implement (In conjunction with a Distance constraint) suspension on a vehicle. Using the line constraint to limit how the wheel moves in relation to the vehicle, and the distance constraint to supply dampening through elasticity.
Summary
Create a MotorConstraint object.
 Which constrains the weighted difference of the angular velocities of two objects to be locked at a given value.
(bodyB.getAngularVelocity() * ratio) - bodyA.getAngularVelocity() === rate
Syntax
var constraint = phys2D.createMotorConstraint({
bodyA : firstRigidBody,
bodyB : secondRigidBody,
ratio : 1,
rate : 0
// ... + common Constraint parameters
});
The ratio for the motor. For instance if the ratio were 2, then the first rigid body would be forced to rotate twice as fast as the second rigid body.
This value must be non-zero.
Default value is 1.
The rate for the motor.
Default value is 0.
For common constructor parameters, see Constraint.
This constraint can also be used to implement a form of angular friction for a body by appropriately setting the maxForce parameter to limit the force that can be applied, and using a static body as the other body in constraint.

Summary
Create a PulleyConstraint object.
The Pulley constraint constrains the weighted sum of the distances between pairs of anchors (anchorA <-> anchorB) (anchorC <-> anchorD) to be locked to a given range of values.
lowerBound <= distance(worldAnchorA, worldAnchorB) + (ratio * distance(worldAnchorC, worldAnchorD)) <= upperBound
This constraint will partially degenerate when the distance of any one pair is 0 and it may be wise if this is able to occur, to create additional distance constraints for each separate pair to enforce that the length may not reach 0.
Syntax
var constraint = phys2D.createPulleyConstraint({
bodyA : firstRigidBody
bodyB : secondRigidBody,
bodyC : thirdRigidBody,
bodyD : fourthRigidBody,
anchorA : [1, 0],
anchorB : [-1, 0],
anchorC : [1, 0],
anchorD : [-1, 0],
ratio : 1,
lowerBound : 1,
upperBound : 4
// + common Constraint constructor parameters.
});
The second rigid body in constraint.
This body is permitted to be equal to bodyC.
The third rigid body in constraint.
This body is permitted to be equal to bodyB.
The anchor point for the first body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The anchor point for the second body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The anchor point for the third body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The anchor point for the fourth body, defined in the local coordinate system of the rigid body.
Default value is the origin; [0, 0].
The ratio of the constraint. For instance if the ratio is 2, then the length between the first two anchors will change twice as fast as the length between the last two anchors.
This value must be non-zero.
Default value is 1.
The lower bound in the constraint equation. This value must be <= upperBound.
Default value is 0.
The upper bound in the constraint equation. This value must be >= lowerBound.
Default value is 0.
For common constructor parameters, see Constraint.
Summary
Create a CustomConstraint object.
The CustomConstraint API provides a higher level of abstraction for creating custom constraints. At the most basic level for a standard positional constraint, you will provide methods to compute positional errors in constraint, and to compute the constraint jacobian and the rest of the mathematics and physics is performed by the API.
The CustomConstraint API has all parameters common with the other constraints, including being able to make the constraint non-stiff and limit the amount of force used.
Syntax
var constraint = phys2D.createCustomConstraint({
dimension : 2,
bodies : [bodyA, bodyB],
position : function positionErrorFn(data, index)
{
data[index] = errorInFirstDimension;
data[index + 1] = errorInSecondDimension;
},
jacobian : function jacobianFn(data, index)
{
data[index] = `jacobian term for x-velocity of first body, in first dimension`;
data[index + 1] = `jacobian term for y-velocity of first body, in first dimension`;
data[index + 2] = `jacobian term for angular velocity of first body, in first dimension`;
data[index + 3] = `jacobian term for x-velocity of second body, in first dimension`;
data[index + 4] = `jacobian term for y-velocity of second body, in first dimension`;
data[index + 5] = `jacobian term for angular velocity of second body, in first dimension`;
data[index + 6] = `jacobian term for x-velocity of first body, in second dimension`;
data[index + 7] = `jacobian term for y-velocity of first body, in second dimension`;
data[index + 8] = `jacobian term for angular velocity of first body, in second dimension`;
data[index + 9] = `jacobian term for x-velocity of second body, in second dimension`;
data[index + 10] = `jacobian term for y-velocity of second body, in second dimension`;
data[index + 11] = `jacobian term for angular velocity of second body, in second dimension`;
},
positionConstants : function positionConstantsFn()
{
// Perform any useful computations whose results may be used in definition of
// position and jacobian functions.
},
velocityClamp : function velocityClampFn(data, index)
{
// Clamp impulse values at
// data[index] :: impulse in first dimension
// data[index + 1] :: impulse in second dimension
},
positionClamp : function positionClampFn(data, index)
{
// Clamp impulse values at
// data[index] :: impulse in first dimension
// data[index + 1] :: impulse in second dimension
},
debugDraw : function debugDrawFn(debugDrawObject, stiff)
{
// Draw constraint information to debug object.
}
// + common Constraint constructor parameters.
});
The number of dimensions in the constraint. This value must be >= 1.
For example the Angle, Distance, Motor and Pulley constraints are 1 dimensional, whilst the Point and Line constraints are 2 dimensional, and the Weld constraint is 3 dimensional.
The function which computes the positional error of the constraint.
If unspecified, the constraint will be treat as a velocity-only constraint like the Motor constraint.
The this object in calls to the position function will be the created constraint.
The function which computes the jacobian of the constraint, this implicitly defines also the velocity error of the constraint.
The this object in calls to this function will be the created constraint.
The function which may be defined to compute values common to the position and jacobian functions.
This function may be left unspecified.
The function to be called when performing velocity iterations to detail additional clamping of impulses.
This can be used to create things like Distance and Angle constraints, or ratchet type mechanisms.
This function may be left unspecified.
The function to be called when performing position iterations to detail additional clamping of impulses.
This can be used to create things like Distance and Angle constraints, or ratchet type mechanisms.
This function may be left unspecified.
The function to be called when drawing this constraint in the Debug draw object.
The debug parameter is a reference to the Physics2DDebugDraw object drawing this constraint, and stiff whether constraint is presently stiff.
This function may be left unspecified.
For common constructor parameters, see Constraint.
During physics update, methods of the CustomConstraint will be called in the following orders:
// Once per update.
positionConstants();
if (positionalContraint && !stiff)
{
position(..);
}
jacobian(..);
// In every velocity iteration
velocityClamp(..);
// In every position iteration (for stiff, positional constraints)
positionConstants();
position(..);
jacobian(..);
positionClamp(..);


Paragraph
Words
Sentence
copy
generate
#100Days100Projects


W3C
The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.
The way people work has evolved over time.
A lot of experience from software development can inspire us.
This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together.
We are not thinking about the same thing as XHTML Modularisation was.


EMERGO
Copyright (c) 1980s Christian Freeling & Ed van Zon.
This game is played on the following empty board:
- OFF BOARD - Each player starts with 12 stones each off-board.
- PIECE - A piece is a stack of one or more stones of either color.
- The piece belongs to the player that has the top stone.
- CAPTURE - A piece jumps an adjacent (orthogonal) opponent piece, landing on the immediate cell that must be empty. Doing so, he captures the top stone of the jumped piece.
- Capture is mandatory, i.e., it must be done before a drop or a move (see below).
- Capture is multiple (several jumps must be made if possible) and must be maximize the number of captured stones. Jumps of 180º are invalid.
- In a multiple capture the capturing piece may visit a cell more than once as well as jump a piece more than once.
- DROP - An off-board stone can be dropped on an empty cell.
- Dropping may not force an opponent into making a capture, unless the entering player is already being attacked by his opponent.
- Each player may not enter more than one stone, unless his opponent has all twelve stones on the board, in which case he must enter his remaining stones as one piece. This piece is called the shadowpiece.
- MOVE - If a player has no captures available, and all stones were already dropped, then he must move one of his pieces into an adjacent (orthogonal) empty cell.
- GOAL - Wins the player that captures all enemy stones.
- However, draws are possible if a player has at least one piece left and cannot move; or a 3-fold repetition of the same position with the same player, occurs.
An example White drops a stone at g6 (the cell with the marked dot). He can do this because Black already is attacking him. Then, Black must capture 5 white stones (jumping sequence 1 to 5) making a piece like the one showed in the top left corner. Then, White drops a stone above it at cell [6], and black must make a second capture to square 3. After that white captures the top black stone of that stack and gains a better position.
Freeling's words: The game is a joint effort by Ed van Zon, who got me interested in Lasca's way of capture in the first place, and me. [...] Emergo derives from the Latin 'Luctor et Emergo', the motto of the Dutch province of Zeeland, and meaning 'I wrestle and emerge'. You'll find this name to be very appropriate. Emergo originates in the game Lasca, invented by the legendary Chess world champion Emanuel Lasker. Lasker made a classic mistake: he left a great idea where he found it, which was in the game of Checkers. Thus he hooked it up to three interrelated principles of this game: an initial position, a forward orientation and promotion. None of these is needed to implement the essence of his idea, and applying them makes Lasca an overcomplicated game. [www.mindsports.net/Arena/Emergo/AboutEmergo.html]
You can also play and read extensive information about the game at the MindSports Arena.
There's a variant of Emergo to the hexagonal board, HexEmergo (the first player has a decisive advantage).


Your entire tribe is sleeping. What are you up to now?


TWTOExpo is a visual arts exhibition designed from a group of high school students (2019), seeking to create a medium of artistic expression for all high schoolers in Albania and maybe beyond, in a near future. This exhibition welcomes all work that is important to students because we have faith that the time one dedicates to creation is what makes creation powerful and important. Thus, we welcome any high schooler to send us their paintings, drawings, photographs, videos and any other visual medium they may have worked on, for we value all they value to take the time to work on. Anyone who creates deserves to be able to share their creations, what they believe is most important for the world's eye to see. This activity, together with our partners CLMB & OFICINA aim to promote young artists to further competitions and possible internship or educational experience.
"From eye to eye"
- Our team
TWTOExpo aims to give life and promote the way the youth see the world. Everyone is free to apply with a maximum of 10 works of art. We do not want to limit your creativity, so everyone can apply with the most beautiful pictures they posses.
 Or maybe you just like taking pictures of everyday life? In both cases we would be pleased to get an application from you.
Do you usually draw on a piece of paper or on the table? Or maybe you are a professional and talented painter? However you may classify yourself, you are welcomed to apply and share your creativity with the world.
  Whatever you like doing or editing you are welcomed to apply at this year's TWTOExpo..
"As everything else, TWTOExpo started like any other idea. I had just reopened the photography club in my school, and we were attending the presentation of the Multimedia TAF contest, where high schoolers should create a 7 minute-long video about a given topic. I was surprised by the number of students that actually were there and wanted to take part and express themselves. So I thought "Why not create an event where all these young people can express themselves and their work?". That day I talked with my friends from other high schools and even though most of the schools didn't have a well-organized photography club, there were people who actually wanted to take part. This is how an IDEA got to evolve in some actual work."
- Mario AllaBelow you will find some of the best photography art works that took part last year.
To be successful you need the proper team mates
I am a high school student, currently attending my 4-th year at Harry Fultz Institute where I study Electronics. I am very passionate about robotics, programming, music and photography.
Mario Alla
Head OrganizerYoungster with a passion for art in all its forms. Studying at Asim Vokshi High School of foreign languages. My love for art stays side by side with the desire to improve the world.
Grejd Hyska
Organizer"Aperto vivere voto" ~Pireus is my life mantra. Senior student at Turgut Ozal High School with a passion for law, literature and the Philosophy-Politics-Economics trinity.
Artela Roshi
OrganizerSomewhere between basketball and photography I found myself studying Electronic Engineering. None of them related, all of them my passions.
Denis Haxhiaj
OrganizerHigh school student, attending 3rd year at Qemal Stafa High school. Portrait and fashion photographer. Also a tennis player and a huge fan of graphic design.
Xhesika Lleshi
OrganizerWe would really appreciate feedback, because as young people ourselves, we are conscious that everything may not be completely perfect, so please leave feedback and help for us. TWTOExpo evolve
Oficina, Asim Vokshi Str. 1001 Tirana Albania


{% extends "layout.html" %} {% block content %}
This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.
Learn more


Lifeforce is the codename for the set of REST apis that powers this website, several android apps, other webapps, my Minecraft Server and more. All of this code is open source and can be found on my GitHub account here
Some of these APIs will require authentication, while others are totally public.
Lifeforce can also be configured to respond to GitHub webhooks to automatically redeploy any project that is configured with a path to the source location and given an update script to run.


Jack Cork: 'We need first away win under our belts'
Burnley are setting their sights on banking a first away win of the season against a Watford side who have struggled in front of their own fans.
Burnley entered the international break in high spirits, with a 3-0 victory over West Ham at Turf Moor lifting them back to 10th in the table, but have taken just three points from a possible 18 on the road.
Only bottom club Norwich have a worse return than that but the Clarets have an ideal opportunity to put things right with Saturday's trip to Vicarage Road, where Watford have failed to win in their last 10 Premier League matches.
Jack Cork, who played for the Hornets under Brendan Rodgers during a 2009 loan spell, said: "We will be going there trying to get a first away win and they will be trying to get a first home win, so it will be a tough game for both teams and hopefully one where we can come away with the points.
"It will be nice to get that first away win and put it away and put it to the back of our minds, to go there and have a good performance and start this Christmas period with a win.
"But there's never an easy game. Last season Watford reached the FA Cup final and finished in the top half and are still the same group really.
"They've been losing games and when you're in that streak it's hard to pull yourself out and find that spark you need. It's tough."
Burnley captain Ben Mee is equally keen to end the awayday drought but is happy with the season overall, with the club's tally of 15 points putting them six clear compared to the same stage last year.
"We're miles away from where we were last season," Mee told the club's official website.
"Last season wasn't good enough. We wanted to be better and we are doing that.
"We have put in some good performances away from home – minus the one at Sheffield United – without getting a win. Hopefully we can pick that up and move on from there."
body check tags ::


Talbot method:
A method to calculate the orientation of a finite strain-ellipsoid from the orientation of stretched and shortened lines in an outcrop.


{% include head.html %}
{% include navbar.html %}
{{ site.title }}
Professional Model
{{ content }}
{% include footer.html %} {% include analytics.html %}


Pique celebrates Luis Enrique return after Moreno’s ‘surprise’ Spain exit
by FSA EditorLuis Enrique’s return to football is the “best news” of the sudden Spain coaching switch, says Barcelona defender Gerard Pique.
Gerard Pique has welcomed Spain’s reappointment of Luis Enrique but admitted to being surprised at Roberto Moreno’s abrupt departure.
The Royal Spanish Football Federation (RFEF) confirmed the unexpected coaching change on Tuesday, bringing an end to Moreno’s brief stint in charge of the 2010 World Cup winners.
Moreno took over in a caretaker capacity in March and assumed the head coach role on a full-time basis in June.
Luis Enrique had stepped down as his young daughter, Xana, had developed bone cancer. She died in August.
His former assistant, Moreno, won seven and drew two of the nine matches he oversaw in total, leading to a sense of shock when it became evident that Monday’s Euro 2020 qualifier against Romania was to be his last game.
“In truth it is a little surprising, we all got a little surprise,” Barca defender Pique told Mundo Deportivo.
“I’m not there, I haven’t talked to my [Barcelona] team-mates because they played on Monday and they didn’t train [Tuesday].”
“I am very happy that Luis Enrique returns to training, that is the best news of all,” he continued.
“Regarding the relationship between Luis Enrique and Robert Moreno, I have no idea what happened.”
Pique has been out of the Spain side since retiring from international football following the 2018 World Cup in Russia.
He remains a regular starter at club level and expects to stay at Camp Nou until the end of his distinguished career, which could yet end before his contract expires in 2022.
“I have always said my last team will be Barca,” said the 32-year-old.
“I have absolutely no intention of wearing any other shirt because… I have been a ‘Cule’ all my life. For me, being at Barca is the biggest dream of all.
“My intention is to get to 2022, but I don’t have a crystal ball and I don’t know if I’m going to be able to do it.
“If I see that I lose importance or see that I am not at the [required] level, I have no problem leaving earlier.
“I don’t think it will happen because I know myself and I am able to endure until 2022, but you never know.”


{{ post.title }}
{{ post.date | date: '%B %d, %Y' }}
Stop wasting time and get break specific information. No more "I'm not quite convinced, let's check just one more spot...."
We maintain a detailed database on break specific conditions, we match this with forecasting and reporting to produce quality.
We can give you the heads up when a favorite break is looking like it will be working. Maybe a road trip is on order?
Surf. Our mission is to provide a reliable, break specific surf forecast and information tool. We want to be updated when conditions look good and be notified where. We can tell you where is good on the current tide, the current swell and let you know if a weekend trip is in order. Sign up to our news letter for updates!
The time spent checking spots, dreaming of a road trip where you score and reliying on other people's knowledge is over'
Sign up to hear the latest news and progress in our journey to get quality sessions, every time.
{{ post.date | date: '%B %d, %Y' }}


Jan Macháček @honzam399
def api(request: HttpRequest): HttpResponse = {
???
}
A service is an Actor
implementation that handles the incoming HttpRequest
s,
and replies with appropriate HttpResponse
s.
def receive = {
case request: HttpRequest =>
val response = HttpResponse(...)
sender ! response
}
class HelloWorldService extends Actor {
def receive: Receive = {
case request: HttpRequest =>
val response = HttpResponse(...)
sender ! response
}
}
Because the service is a plain Actor
, one can test it using TestKit.
class HelloWorldServiceSpec
extends TestKit(ActorSystem())
with SpecificationLike with ImplicitSender {
val service = TestActorRef[HelloWorldService]
"Any request" should {
"Reply with Hello, world" in {
service ! HttpRequest()
expectMsgType[HttpResponse].entity
mustEqual HttpEntity("Hello, world")
}
}
}
Use spray-can
HTTP server. We bind the services to it.
object HelloWorld extends App {
val system = ActorSystem()
val service =
system.actorOf(Props[HelloWorldService])
IO(Http)(system) ! Http.Bind(
service, "<IP_ADDRESS>", port = 8080)
Console.readLine()
system.shutdown()
}
class HelloWorldService extends Actor { ... }
[INFO] (...) Bound to /<IP_ADDRESS>:8080
[WARN] (...) Configured registration timeout of 1
second expired, stopping
class HelloWorldService extends Actor {
def receive: Receive = {
case request: HttpRequest =>
val response = HttpResponse(...)
sender ! response
case _: Http.Connected =>
sender ! Http.Register(self)
}
}
HttpRequest
s.Route
s using convenient DSL, and then turn these routes to the Receive
partial function.First, the Route
itself:
trait DemoRoute extends Directives {
val demoRoute: Route =
get {
complete {
"Hello, world"
}
}
}
Next up, expressing the Receive
PF using the route:
class MainService(route: Route)
extends HttpServiceActor {
def receive: Receive = runRoute(route)
}
Spray's DSL extends to testing, too!
class DemoRouteSpec extends Specification
with Specs2RouteTest with DemoRoute {
"Any request" should {
"Reply with Hello, World" in {
Get() ~> demoRoute ~> check {
responseAs[String] mustEqual "Hello, world"
}
}
}
}
get
, post
, put
, ...,path("customer" / IntNumber)
, parameter('id.as[Int])
headerValueByName("User-Agent")
,cookie("spray")
~
To complete a route, we must provide RequestContext => ()
. complete
does just that, or we can do it ourselves.
trait TweetAnalysisRoute extends Directives {
val tweetAnalysisRoute: Route =
post {
path("tweets" / Segment) ???
}
}
To complete a route, we must provide RequestContext => ()
. complete
does just that, or we can do it ourselves.
trait TweetAnalysisRoute extends Directives {
val tweetAnalysisRoute: Route =
post {
path("tweets" / Segment)(sendTweetAnalysis)
}
def sendTweetAnalysis(query: String)
(ctx: RequestContext): Unit = {
ctx.receiver ! ChunkedMessageStart(...)
}
}
We want to stream results of a Twitter search, and show:


Toggle navigation
mTree
Settings
Profile
Help
Overview
(current)
Start Experiment
Analytics
Export
Experiment Dashboard
Start
Pause
Stop


WITNESS LIST Appropriations Committee (Subcommittee on General Government) December 1, 1998-9:00A Performance Measures & Year 2000 On: Batiste, John Paul (Texas Commission on the Arts) Beckett, Shelia (Employee Retirement Sytems) Bell, Doug (Texas Low-Level Radioactive Waste Disposal Authority) Black, Jim (Secretary of State) Buerschinger,Charles (Texas Veterans Commission) Burgdorf, Jayna (Texas Parks and Wildlife) Coats, Max (Texas Animal Health Commission) Coffee, Roy (Office of State-Federal Relations) Colley, Terry (Texas Historical Commission) Cordes, Donna (General Services Commission) Crawford,Richard (State Preservation Board) Crump, Gene (General Services Commission) Daniels, Jerry (Aircraft Pooling Board) Goerke, Jim (Advisory Commission on State Emergency Communications) Graves, Stan (Texas Historical Commission) Hale, William (Texas Commission on Human Rights) Harrison, Tom (Texas Ethics Commission) Heald, Charles (Texas Dept. of Transportation) Hernandez, Ricardo (Texas Commission on the Arts) Horwitz, Rita (Pension Review Board) Jaboi, Rick (Texas Low-Level Radioactive Waste Disposal Authority) Jaroszewski, Dale (Texas Animal Health Commission) Lundquist, Karen (Texas Ethics Commission) Martin, Robert (Library and Archives Commission) McGeehan, Ann (Secretary of State) Oaks, Lawrence (Texas Historical Commission) Purcell, Carolyn (Dept. of Information Resoures) Ragland, Brian (State Preservation Board) Ramsey, Don (Aircraft Pooling Board) Saetas, Jeff (Texas Natural Resource Conservation Commission) Sandeler, Morris (Fire Fighters Pension Fund) Sansom, Andrew (Texas Parks and Wildlife) Segura, Josphine Delga (Texas Commission on Human Rights) Shankle, Glen (Texas Natural Resource Conservation Commission) Spence, Carey (Advisory Commission on State Emergency Communications) Thomas, Pat (Secretary of State) Treadway, Tom (General Services Commission) Tucker, Jerry (Office of the Governor) Tunnell, Curtis (Texas Historical Commission) Wadle, Lanny (Texas Dept. of Transportation) Walsh, Joanne (Texas Dept. of Transportation) Ware, Connie (Texas Commission on the Arts) Wassdorf, Lorna (Secretary of State) Whittenton, Suzy (Texas Animal Health Commission) Zeplin, Larry (Dept. of Information Resources)


The bass guitar, electric bass or simply bass, is the lowest-pitched member of the guitar family. It is a plucked string instrument similar in appearance and construction to an electric or an acoustic guitar, but with a longer neck and scale length, and typically four to six strings or courses. Since the mid-1950s, the bass guitar has largely replaced the double bass in popular music.
The four-string bass is usually tuned the same as the double bass, which corresponds to pitches one octave lower than the four lowest-pitched strings of a guitar (E, A, D, and G). However, it is also possible to tune the strings differently for playing specific genres of songs.
Bass is played primarily with the fingers or thumb, or with a pick. In order to be heard at normal performance volumes, electric basses require external amplification.
Check out the video of how Homer discovered bass:


MIMIC A film review by Mark R. Leeper
Capsule: Guillermo del Toro needed a better story, but his visual style and his offbeat direction make this a horror film that gets the viewer where he lives. This is certainly the scariest giant insect film I remember ever seeing. Mutated six-foot (and six-footed) insects live in the depths of the New York Subway System. Rating: low +2 (-4 to +4) 7 (0 to 10). There is a small spoiler following the review as I discuss a premise point.
Guillermo del Toro was an unknown new director in 1994 when his CRONOS played the arthouse circuit. It turned out to be a fresh and arresting take on the vampire film. Mexican horror film to that point had a reputation for shoddy production values. Del Toro brought a fascinating no-holds-barred morbidity to his work that made the film rich and memorable. He is back with his second film and he proves to be just about the only filmmaker in the world who could have pulled off a giant insects in the subway plot and turn it into a film worth watching.
Three years ago a deadly disease carried by cockroaches was killing and crippling children.  Dr. Susan Kyle (Mira Sorvino) was the entomologist who created the new insect. The approach seemed to work perfectly, but now Kyle is seeing signs of a new insect in the subway tunnels that could be more dangerous than the original disease. But there is something else going on. Strangers seem to be running around the city furthering the ends of the insects. They are shady characters who seem to inhabit the dark corners of the city. And they have a special interest in Dr. Kyle.
This is an odd role for Academy Award winning Sorvino. At base this is an overly familiar story. Science has created a monster and now a few people have to fight it. Sorvino could certainly have chosen a film with a more original and less cable-fare-like plot had she wanted. But in this second film del Toro shows us exactly what his strengths and weaknesses as a filmmaker will be. He does not have really original plot ideas. Here he takes a short story by classic science fiction writer Donald A. Wollheim, but still turns it into a familiar plot. But the only film with a comparable style is his CRONOS. He has a marvelous way of keeping secret that this will be a story that has been done before. His telling is atmospheric and not quite linear. He creates perhaps too many characters, certainly at the beginning, but the major characters are fairly unique. Most interesting is a small boy who may be a genius and who may be retarded, but we are never sure which. Del Toro has carefully distorted color to heighten the ominous atmosphere. He plays with light and darkness preferring the latter. If the obvious is inevitable, at least del Toro keeps it at bay for a good long time.
If del Toro's work is to be compared to any other filmmaker, I would choose film producer Val Lewton. He makes terrific atmospheric B-pictures that are better than most of the A-pictures around. Both take the familiar and imbue it with a sense of real dread. I would give this second effort a +2 on the -4 to +4 scale.
SPOILER WARNING:
The who premise behind the title sounds like one that would come from Donald A. Wollheim, but it is faulty. It is true that insects and other creatures with a short generation time mimic their predators. But this is only with frequent contact with the predators. It is not a mystical process, but natural selection, a form of evolution. We would have had to been killing off a lot of six-foot insects in the subways before by chance some would look like humans and that would render them some protection. There is a lake in Japan where the crabs have backs that look like masks of humans. After a great battle was fought on the lake fishermen who pulled crabs from the lake would throw back the ones whose back look vaguely like human faces, thinking them to contain the souls of those killed in the battle. Over hundreds of years the only crabs that were safe were those that had really good renderings of masks. A species whose predator did not constantly select for resembling itself would not come to resemble its predator.
Mark R. Leeper<EMAIL_ADDRESS>Copyright 1997 Mark R. Leeper
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


Plumbing Specification¶
OSCARS 1.0 has introduced a design which enables users to logically represent the circuit flow(s) that are scheduled. In addition to specifying the essential parameters as inputs, such as the start- and end-times, required bandwidth, etc., circuits can be represented visually and described easily using terminology from the real world. Consider the plumbing works of a home or office building as shown in the figure below. The three main components are:
- Pipes, which carry the water throughout the system.
- Junctions, which are the major hubs at which the water may be diverted or change course. These can be visualized as the T-junctions which connect three or more pipes together.
- Fixtures, which represent the ingress and egress points to the plumbing. These are items such as taps/faucets, sinks, bathtubs, etc. For the sake of simplicity, we will impose a rule that all Fixtures are attached directly to a Junction.
OSCARS applies the above analogy to each circuit request and reservation; obviously replacing the water transferred through the system with network traffic. Here, the fixtures are simply the ingress/egress ports where the data enters/exits the network. The junctions represent the network devices (Ethernet switches and MPLS routers). Note that the ingress/egress ports are found on these devices. Lastly, the pipes will connect the junctions. OSCARS passes the user request into the Path Computation Engine (PCE) in the form of a set of Requested Pipes and Requested “Simple” Junctions (which represent a request to establish a circuit from one port on a device to another port on the same device). Note: No fewer than two fixtures may be specified as part of a circuit request.
Using these sets of requested pipes and junctions, pathfinding is performed by PCE modules based on the user’s Circuit Request Specification, and then the solution paths are translated back into Reserved Pipes, Reserved Junctions, and Reserved Fixtures. An example of the distinction between Requested plumbing, the physical path, and Reserved plumbing is shown in the figure above. This process (performed by the Translation PCE Module) takes a physical path, and converts it into a series of pipes (or just singular junctions, for any requested “simple” junctions) in the following manner:
- For each pair of adjacent Ethernet switches, a reserved pipe is constructed, with the ports connecting them contained within the pipe, and with the two switches represented as junctions.
- For each Ethernet switch – MPLS router pair, a reserved pipe is constructed in the same fashion.
- For each segment of two or more MPLS routers “in a row”, one reserved MPLS pipe is constructed, where the first MPLS router and the last MPLS router in the segment act as junctions, while any intermediate ports or other MPLS routers are contained within the pipe.
The reserved plumbing elements comprise the circuit’s Circuit Reservation Specification.
Advanced Plumbing¶
The advantage to this logical plumbing setup is that it enables a user to very easily visualize the requested circuit from a logical perspective. Furthermore, if the user wishes to take advantage of the numerous new service enhancements offered by the PCE, or provide details for multiple circuits simultaneously, they can do so simply be prescribing pipes correctly. Each circuit request may consist of multiple plumbing units. For example, consider the following figure which specifies a pair pipes as part of the same circuit request. OSCARS will handle both of those pipes together as a single submission and produce the following pair of circuits.
Multi-Pipe Plumbing¶
Consider a case where two paths are required between the end-points of a circuit. This may include scenarios such as multipath routing in which the user wishes to oversubscribe the bandwidth capacity of a connection for parallel transfers. Specifically, two circuits (which may or may not consist of the same physical routes through the network topology) are desired. Another use-case is survivable networking. The user may expect two (or more) link-disjoint paths through the network in case on circuit fails due to a physical malfunction on the network. The following diagram depicts the appropriate Request Specification. A user very simply needs to specify two distinct pipes, both with the same junctions and fixtures, and OSCARS handled the rest.
Multi-Directional Plumbing¶
Many networking applications call for replicated backup of mission-critical datasets or distribution of information for collaborative analysis and study. OSCARS 1.0 supports these use-cases easily, enabling the user to specify such a multi-directional or multicast communication setup effortlessly through the appropriate plumbing description. Consider the figure below. Two unique pipes are established between the set of three junctions. This specification ensures that the top-left resource is able to share and distribute data to both of its peers. As a bonus, the junction at the bottom of the figure has three fixtures specified, indicating that data will be distributed onto three adjacent LANs (which may be entirely separate network domains).
User’s Choice Plumbing¶
Given this robust plumbing infrastructure the possibilities are truly endless when it comes to specifying a logical request. As long as at least two fixtures are included in the specification (and of course assuming that the network can support the desired bandwidth and VLAN resources) any circuit set is feasible. Consider the pair of figures below for an idea of the possibilities.
OSCARS 1.0 is designed to seamlessly adapt to a user’s changing service requirements. More importantly, OSCARS 1.0 has been designed with a focus on introducing a novel service suite never before offered on a such a large-scale or commercial system. By focusing on the cutting-edge at inception, new and emerging communication paradigms from academia and industry alike will be easily adopted in OSCARS!
The Path Computation Engine (PCE) is responsible for computing the routes necessary to construct the circuit reservation. If the user specifies multiple pipes with different parameters or service requirements, each pipe is handled independently. For example, a request consisting of two unique pipes, where one pipe specifies Service A, and the other specifies Service B, both pipes will be satisfied without interference from the other’s service.


Congratulations, you have already lived 10% of your life!
You have Lived for 35 years.
You have Lived for 35 months.
You have Lived for 23 weeks.
You have been alive for 30000 days.
350000 hours have passed by since you were born.
You have Lived for 300000 minutes.
You have Lived for 300000 minutes.


KISS THE GIRLS (Paramount)Directed by Gary Fleder
Based on James Patterson's best-seller, "Kiss The Girls" comes on like an intelligent, intense psychological thriller, and for about half an hour you might suspect you've found the new "Silence of the Lambs," or "Seven '97." But like a good-looking blind date who promises dinner and a movie, then takes you to Burger King and "Wishmaster," the spell dissipates quickly, leaving you feeling seduced and abandoned.
Put the blame partially on Patterson and screenwriter David Klass. After an arresting set-up involving a voyeur who kidnaps bright young women and imprisons them in an underground lair, the story turns into a flat combination of John Fowles' "The Collector" and "Silence," with scraps of the far-superior "Copycat" thrown in to no good effect. Morgan Freeman, excellent as always, plays Dr. Alex Cross, a forensic psychologist from Washington D.C. who travels to Durham, N.C. to probe the disappearance of his niece. Down South he runs into snickering cracker cops (are there any other kind in second-rate movies?) who try to give him the brush-off, and Cross, despite being hundreds of miles outside of his jurisdiction, determines to investigate the kidnapping personally.
That's just the first of many incredulities the audience is asked to swallow. Even more improbably, Cross teams up with a civilian, a doctor named Kate McTiernan (Ashley Judd) who's the only victim to have escaped from this covetous captor, who identifies himself as "Casanova." The multi-layered relationship that appears to be developing between Cross and McTiernan is by far the most original and intriguing aspect of "Kiss The Girls," but the movie largely ignores it, choosing instead to trot out the usual cat-and-mouse games and an anti-climactic trip through a haunted house that's hauntingly similar--and inferior to--the finale of "Silence." Only the charisma of Freeman and Judd (who's rapidly developing into a reliably solid performer) keeps the movie afloat and the audience awake, since the excellent supporting cast (Cary Elwes, Jeremy Piven, Tony Goldwyn, etc) is woefully underutilized. Cross' frequent snafus make you wonder what this man is doing calling himself a cop, but Freeman's poise and intelligence allows you to give the guy the benefit of the doubt. Though McTiernan is called upon to behave almost as recklessly and unconvincingly, Judd gives the woman a daunting sense of conviction. "Kiss" is further hobbled by the look-at-me-I-just-got-out-of-film-school style of director Gary Fleder ("Things To Do In Denver When You're Dead"), whose motto seems to be "when in doubt, shoot it with a jiggly hand-held camera." Several scenes in the film also feature pointless slow-motion, the trademark of many a desperate director, and those who like to spot continuity flaws will marvel at how McTiernan's scarred face heals almost overnight and how Cross emerges from a dunking in a well with remarkably dry clothing. James Sanford
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


Difficulty
Player Speed
Sound
Use the arrow keys to move up, down, left, and right. You can adjust how fast the player moves by changing player speed. Easy, Medium, and Hard settings affect how quickly the cars speed up every level.
In answer to the age old question...