Effective date: May 13, 2019
Election Stats ("us", "we", or "our") operates the https://electionstats.eu website (hereinafter referred to as the "Service").
This page informs you of our policies regarding the collection, use, and disclosure of personal data when you use our Service and the
choices you have associated with that data.
Your privacy is important to us. It is our policy to respect your privacy regarding any information we may collect from you across our
website, https://electionstats.eu, and other sites we own and operate
We use your data to provide and improve the Service. By using the Service, you agree to the collection and use of information in
accordance with this policy.
Information Collection And Use
We collect several different types of information for various purposes to provide and improve our Service to you.
Types of Data Collected
Personal Data
While using our Service, we may ask you to provide us with certain personally identifiable information that can be used to contact or
identify you ("Personal Data"). Personally identifiable information may include, but is not limited to:
• Cookies and Usage Data
• Usage Data
We may also collect information on how the Service is accessed and used ("Usage Data"). This Usage Data may include information such as
your computer's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that you visit, the
time and date of your visit, the time spent on those pages, unique device identifiers and other diagnostic data.
Tracking & Cookies Data
We use cookies and similar tracking technologies to track the activity on our Service and hold certain information.
Cookies are files with small amount of data which may include an anonymous unique identifier. Cookies are sent to your browser from a
website and stored on your device. Tracking technologies also used are beacons, tags, and scripts to collect and track information and to
improve and analyze our Service.
You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. However, if you do not accept cookies, you
may not be able to use some portions of our Service.
Examples of Cookies we use:
• Session Cookies. We use Session Cookies to operate our Service.
• Preference Cookies. We use Preference Cookies to remember your preferences and various settings.
• Security Cookies. We use Security Cookies for security purposes.
Use of Data
• Election Stats uses the collected data for various purposes:
• To provide and maintain the Service
• To notify you about changes to our Service
• To allow you to participate in interactive features of our Service when you choose to do so
• To provide customer care and support
• To provide analysis or valuable information so that we can improve the Service
• To monitor the usage of the Service
• To detect, prevent and address technical issues
Transfer Of Data
Your information, including Personal Data, may be transferred to — and maintained on — computers located outside of your state, province,
country or other governmental jurisdiction where the data protection laws may differ than those from your jurisdiction.
If you are located outside the Netherlands and choose to provide information to us, please note that we transfer the data, including
Personal Data, to the Netherlands and process it there.
Your consent to this Privacy Policy followed by your submission of such information represents your agreement to that transfer.
Election Stats will take all steps reasonably necessary to ensure that your data is treated securely and in accordance with this Privacy
Policy and no transfer of your Personal Data will take place to an organization or a country unless there are adequate controls in place
including the security of your data and other personal information.
Disclosure Of Data
Legal Requirements
Election Stats may disclose your Personal Data in the good faith belief that such action is necessary to:
• To comply with a legal obligation
• To protect and defend the rights or property of Election Stats
• To prevent or investigate possible wrongdoing in connection with the Service
• To protect the personal safety of users of the Service or the public
• To protect against legal liability
Security Of Data
The security of your data is important to us, but remember that no method of transmission over the Internet, or method of electronic
storage is 100% secure. While we strive to use commercially acceptable means to protect your Personal Data, we cannot guarantee its
absolute security.
Service Providers
We may employ third party companies and individuals to facilitate our Service ("Service Providers"), to provide the Service on our behalf,
to perform Service-related services or to assist us in analyzing how our Service is used.
These third parties have access to your Personal Data only to perform these tasks on our behalf and are obligated not to disclose or use
it for any other purpose.
Analytics
We may use third-party Service Providers to monitor and analyze the use of our Service.
Google Analytics. Google Analytics is a web analytics service offered by Google that tracks and reports website traffic. Google uses the
data collected to track and monitor the use of our Service. This data is shared with other Google services. Google may use the collected
data to contextualize and personalize the ads of its own advertising network.You can opt-out of having made your activity on the Service
available to Google Analytics by installing the Google Analytics opt-out browser add-on. The add-on prevents the Google Analytics
JavaScript (ga.js, analytics.js, and dc.js) from sharing information with Google Analytics about visits activity.For more information on
the privacy practices of Google, please visit the Google Privacy & Terms web page: https://policies.google.com/privacy?hl=en
Links To Other Sites
Our Service may contain links to other sites that are not operated by us. If you click on a third party link, you will be directed to that
third party's site. We strongly advise you to review the Privacy Policy of every site you visit.
We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.
Children's Privacy
Our Service does not address anyone under the age of 18 ("Children").
We do not knowingly collect personally identifiable information from anyone under the age of 18. If you are a parent or guardian and you
are aware that your Children has provided us with Personal Data, please contact us. If we become aware that we have collected Personal
Data from children without verification of parental consent, we take steps to remove that information from our servers.
Changes To This Privacy Policy
We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page.
We will let you know via email and/or a prominent notice on our Service, prior to the change becoming effective and update the "effective
date" at the top of this Privacy Policy.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are
posted on this page.
Contact Us
If you have any questions about this Privacy Policy, please contact us.


Induction on Graphs
2019-12-12Created: Oct 31, 2019 10:57 AM Deadline: Nov 07, 2019 Name: Richard Gao Required?: No Status: Completed Topic: Sets and Functions
Question:
Prove by induction on the number of edges that for any simple (not necessarily connected) graph, G, the sum of the degrees of all of G’s vertices is equal to twice the number of edges in G.
If you prefer mathier notation, what follows is a restatement of the problem. Let G be a simple (not necessarily connected) graph on the vertex set V and the edge set E, with |E| = n. Prove by induction on n that:
\sum_{v\in V}deg(v) = 2n
Answer:
P(n) is the proposition that "Given a graph G with n edges, there are 2n total degrees from all of G's vertices" for all n > 1.
Basis Step: P(1)
A graph with n=1 edges has has 2 vertices by the definition of an edge. Each vertex has a degree of 1 being the edge, summing up to 2 degrees.
Inductive Step: Assume P(k) is true
Assume P(1) .... P(k) are true for some k ≥ 1.
Show: P(k+1) is true
Consider P(k+1) or a simple graph G with k+1 edges. Removing an edge from graph G, provides a graph G' with k edges. By the induction hypotheses a graph with k edges has 2k total degrees. It follows that G has 2k+2 or 2(k+1) total degrees as an edge connects two vertices adding 2 degrees to the total. This completes the induction step.
Since P(1) is true and the implication P(k)→P(k+1) is true for all integers k ≥ 1, the principle of mathematical induction shows that P(n) is true for all positive integers greater than 1.❏


--- layout: default title: Pull Requests Total permalink: /pr-total ---
The total number of merged and new pull requests.
The top 20 repositories with the most merged or new pull requests in the last month.
The top 20 organizations with the most merged or new pull requests in the last month.


{% extends "base.html" %} {% block content %}
A Geo-IP enabled PyPI proxy. It redirects requests made to URLs below /simple to the geographically nearest PyPI mirror (excluding a.pypi.python.org).
You are currently connecting from this IP address: {{ ip }}
{% if no_mirror %}No mirror could be found for your IP address. Your requests will be redirected to the fallback mirror '{{ fallback_mirror }}'.
{% else %}Your requests will be redirected to this mirror: {{ mirror }}. It is approx. {{ "%0.0f" % mirror_distance }} km away from the reported location of your IP address.
| Mirror | Distance |
| {{ mirror }} | {{ "%0.0f" % distance }} km |
Note: Only mirrors that have been updated in the last hour are considered.
To use this proxy as your default index in PIP add the following to your ~/.pip/pip.conf:
[global]
index-url = http://nearest-pypi.ulo.pe/simple
Nearest PyPI is open source (MIT license).
You can find the source code on github.


--- ---
You should add a WS_SIZEBOX constant to the your panel window style:
type TMyNewPanel = class(TPanel) protected procedure CreateParams(var Params: TCreateParams); override; end; ... procedure TMyNewPanel.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.Style := Params.Style or WS_SIZEBOX; end;
A ready made project containing this demo code is available. View the project.
In this demo we dynamically create a TMyNewPanel on a form so that you can experiment with resizing it by dragging its borders.
Start a new Delphi VCL application and create an
OnCreate event handler for the form. Name the form
"Form1" and save it as Unit1.pas
. Now code
the unit as follows.
unit Unit1; interface uses ExtCtrls, Controls, Forms; type TMyNewPanel = class(TPanel) protected procedure CreateParams(var Params: TCreateParams); override; end; TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private fPnl: TMyNewPanel; end; var Form1: TForm1; implementation uses Windows; {$R *.dfm} { TMyNewPanel } procedure TMyNewPanel.CreateParams(var Params: TCreateParams); begin inherited; Params.Style := Params.Style or WS_SIZEBOX; end; { TForm1 } procedure TForm1.FormCreate(Sender: TObject); begin fPnl := TMyNewPanel.Create(Self); fPnl.Parent := Self; fPnl.Top := 20; fPnl.Left := 20; fPnl.Caption := fPnl.ClassName; end; end.
Demo by Peter Johnson
See Tip #92 for a different approach to making a resizeable panel that uses a size grip and hit testing.


This page contains some basic HTML5 elements. The DOM tree for the document contains a DOM node for every element
Here's an unordered list:


Reports
Launchpad
New Report
Create New Report
Exports:
CSV
Excel
PDF
Parameters:
v.2.1 Last Updated: 4/24/2019
Select a report to see the info in this panel.
Published Date:
Request Date:
Requester:
Categories:
Description:
Parameters
Fields
Filters


--- layout: post esbma_id: 1809 title: Video of my presentation from OSCON 2011 date: 2011-08-22 19:05:37 ---
Part 1:
Part 2:
Part 3:


01 March 1999
Disease Outbreak Reported
On 13 February, an outbreak of an unidentified disease was reported to have occurred in Darwaz, Badakhshan, Afghanistan. On 26 February, a specialized WHO team arrived on site at one of the affected villages, Jamarche Bala, with the logistic support of the United Nations system. Other villages were visited by Médecins sans frontières and Focus (Aga Khan Foundation).
The outbreak began around mid-January after 2 young men returned from the village of Waram, both suffering from an acute respiratory infection. Over the next 2 days, approximately 40 persons living in the same household became ill. The disease then spread through the whole village, affecting 70%-80% of households. The village has a population of 5 400. The deaths occurred among both males and females and involved primarily infants and the elderly. The most recent case was reported on 26 February. Cases were treated by the team with chloramphenicol, which resulted in a significant improvement, suggesting that severely ill patients were suffering from secondary bacterial infections. There were no deaths among those treated.
The disease is flu-like and is characterized by abrupt onset of fever, headaches and myalgia, followed by chest pain and cough. Living and sanitary conditions are crowded, and the water supply is unprotected. Nutrition is of poor quality. There are no health services in this very remote area, which has not been accessed by routine immunization teams.
Preliminary conclusions of the WHO team in the field is that the outbreak now declining was an influenza-like illness which has affected a large proportion of the population. The rate of secondary complications (mainly pneumonia) was high. Mortality is 1%-2% of the total population primarily due to lack of antibiotic availability and overall poor living and nutritional conditions.
WHO and its local partners are now helping local authorities to organize follow-up treatment and arranging for additional medical supplies to the area. Clinical specimens collected by the field team will be analysed shortly.


PVC — a streaming build ecosystem combining the power of scriptcs with composable task execution.
Scaffold
Use our initialization scripts to get started quickly with a new application or component!Build
As you iterate, manage all aspects of your build and compilation with PVC.Publish
Easily publish your code to NuGet, Amazon S3 or Azure with a simple task!
cinst pvc
Install some plugins.
pvc install Pvc.Less;
pvc install Pvc.MSBuild
Then create a pvcfile.csx
pvc.Task("default", () => {
pvc.Source("*.less")
.Pipe(new PvcLess())
.Save("~/deploy");
});
pvc.Task("build", () => {
pvc.Source("WebApplication.sln")
.Pipe(new PvcMSBuild(
buildTarget: "Clean;Build"
enableParallelism: true
));
});
And let the magic happen (compile your LESS):
pvc
Or to trigger MSBuild:
pvc build
Check out the documentation to learn more about how to build your pvcfile.
PVC's pvcfile.csx
is a C# script powered by scriptcs. Make a change, run your script. No compilation, No IDE necessary. Just get things done!
Define Tasks, call plugins or handle streams yourself, right in your script.
pvc.Task("list-projects", () => {
pvc.Source("**/*.csproj")
.Pipe((streams) => {
foreach (var stream in streams) {
Console.WriteLine(stream.StreamName);
}
});
});
Plugins provide the functionality that makes PVC nice to use. Like we saw in the Getting Started section, you can install plugins from the command line using pvc install Pvc.PluginName
| Here's a selection of PVC plugins | |
|---|---|
| Pvc.MSBuild | Build your project with PVC. |
| Pvc.NuGet | Build and push packages to NuGet and SymbolSource. |
| Pvc.Less | Compiles LESS to CSS and creates source maps. |
| Pvc.Sass | Compiles SASS to CSS and creates source maps. |
| Pvc.Ajaxmin | Minifies JavaScript and generates sourcemaps. |
| Pvc.HtmlCompressor | Minifies HTML. |
| Pvc.S3 | Upload files to Amazon S3. |
| Pvc.AzureBlob | Upload files to Microsoft Azure Blob Storage. |
| Pvc.Browserify | Runs Browserify (yep, from Node!) on your JS. |
PVC supports scaffolding new applications and components using pvc init template-name
// Sample from https://github.com/pvcbuild/pvc-init-templates/blob/master/plugin.json
{
"templateRepo": "https://github.com/pvcbuild/pvc-init-plugin.git",
"replacementExtensions": [".cs", ".csproj", ".nuspec", ".sln", "LICENSE"],
"config": {
"pluginName": null,
"license": null
},
"prompts": {
"Plugin Name: ": {
"field": "pluginName"
},
"License: ": {
"field": "license",
"options": [
["MIT"],
["Apache 2", "Apache2"],
["BSD"],
["None (will add later)", null]
],
"choose": "LICENSE"
}
}
}
A template consists of a simple JSON file that links to a git repository, configuration variables and prompts. To add your own templates make a pull request against the pvc-init-templates repository.
Extending and creating a plugin in PVC is incredibly simple. Start out by running the init script: pvc init plugin
Your plugin class will extend PvcPlugins.PvcPlugin
and implement the streaming interface.
public override IEnumerable Execute(IEnumerable inputStreams)
{
var resultStreams = new List<PvcStream>();
foreach (var inputStream in inputStreams)
{
// Do things with Streams, add to results
resultStreams.Add(inputStream);
}
return resultStreams;
}
A plugin can filter the streams passed to it by overriding the SupportedTags
property.
// Only pass in LESS streams
public override string[] SupportedTags
{
get
{
return new string[] { ".less" };
}
}
Every plugin in the pipeline has full control to add or remove any streams at will. If you're interested in building a plugin, checkout our plugin request list for ideas!
The lifeblood of this ecosystem. We thank everyone who contributes to the PVC core or writes a plugin.


Thanks for registering with peeljobs
We have created your peeljobs account with us
Please verify your email to post jobs.
Click continue to go through our site.
{% load compress %} {% load static %}
We have created your peeljobs account with us
Please verify your email to post jobs.
Click continue to go through our site.


Qualcomm beats quarterly revenue estimates
Qualcomm Inc beat analysts' estimates for fourth-quarter revenue on Wednesday, sending its shares up 5per cent in extended trading.
REUTERS: Qualcomm Inc beat analysts' estimates for fourth-quarter revenue on Wednesday, sending its shares up 5per cent in extended trading.
Revenue fell about 17per cent to US$4.81 billion, but beat analysts' estimates of US$4.70 billion.
(Reporting by Munsif Vengattil in Bengaluru and Stephen Nellis in San Francisco; Editing by Sriraj Kalluvila)


SWAPON
Section: Linux Programmer's Manual (8)Updated: 25 September 1995
Index Return to Main Contents
NAME
swapon, swapoff - enable/disable devices and files for paging and swappingSYNOPSIS
Get info:swapon -s [-h] [-V]
Enable/disable:
swapon
[-f]
[-p
priority]
[-v]
specialfile...
swapoff
[-v]
specialfile...
Enable/disable all:
swapon -a
[-e]
[-f]
[-v]
swapoff -a
[-v]
DESCRIPTION
swapon is used to specify devices on which paging and swapping are to take place.The device or file used is given by the specialfile parameter. It may be of the form -L label or -U uuid to indicate a device by label or uuid.
Calls to swapon normally occur in the system boot scripts making all swap devices available, so that the paging and swapping activity is interleaved across several devices and files.
swapoff disables swapping on the specified devices and files. When the -a flag is given, swapping is disabled on all known swap devices and files (as found in /proc/swaps or /etc/fstab).
- -a, --all
- All devices marked as ``swap'' in /etc/fstab are made available, except for those with the ``noauto'' option. Devices that are already being used as swap are silently skipped.
- -e, --ifexists
- Silently skip devices that do not exist.
- -f, --fixpgsz
- Reinitialize (exec /sbin/mkswap) the swap space if its page size does not match that of the the current running kernel. mkswap(2) initializes the whole device and does not check for bad blocks.
- -h, --help
- Provide help.
- -L label
- Use the partition that has the specified label. (For this, access to /proc/partitions is needed.)
- -p, --priority priority
- Specify the priority of the swap device. priority is a value between 0 and 32767. Higher numbers indicate higher priority. See swapon(2) for a full description of swap priorities. Add pri=value to the option field of /etc/fstab for use with swapon -a.
- -s, --summary
- Display swap usage summary by device. Equivalent to "cat /proc/swaps". Not available before Linux 2.1.25.
- -U uuid
- Use the partition that has the specified uuid.
- -v, --verbose
- Be verbose.
- -V, --version
- Display version.
NOTES
You should not use swapon on a file with holes. Swap over NFS may not work.swapon automatically detects and rewrites swap space signature with old software suspend data (e.g S1SUSPEND, S2SUSPEND, ...). The problem is that if we don't do it, then we get data corruption the next time an attempt at unsuspending is made.
SEE ALSO
swapon(2), swapoff(2), fstab(5), init(8), mkswap(8), rc(8), mount(8)FILES
/dev/sd?? standard paging devices
/etc/fstab ascii filesystem description table
HISTORY
The swapon command appeared in 4.0BSD.AVAILABILITY
The swapon command is part of the util-linux-ng package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
Index
This document was created by man2html, using the manual pages.
Time: 05:34:30 GMT, December 24, 2015


Quotas for instances, volumes, and floating ips.
-
class AbsoluteResource(name, flag=None)
Bases: nova.quota.BaseResource
Describe a non-reservable resource.
-
class BaseResource(name, flag=None)
Bases: object
Describe a single resource for quota checking.
-
default
Return the default value of the quota.
-
quota(driver, context, **kwargs)
Given a driver and context, obtain the quota for this
resource.
| Parameters: |
- driver – A quota driver.
- context – The request context.
- project_id – The project to obtain the quota value for.
If not provided, it is taken from the
context. If it is given as None, no
project-specific quota will be searched
for.
- quota_class – The quota class corresponding to the
project, or for which the quota is to be
looked up. If not provided, it is taken
from the context. If it is given as None,
no quota class-specific quota will be
searched for. Note that the quota class
defaults to the value in the context,
which may not correspond to the project if
project_id is not the same as the one in
the context.
|
-
class CountableResource(name, count, flag=None)
Bases: nova.quota.AbsoluteResource
Describe a resource where the counts aren’t based solely on the
project ID.
-
class DbQuotaDriver
Bases: object
Driver to perform necessary checks to enforce quotas and obtain
quota information. The default driver utilizes the local
database.
-
commit(context, reservations)
Commit reservations.
| Parameters: |
- context – The request context, for access checks.
- reservations – A list of the reservation UUIDs, as
returned by the reserve() method.
|
-
destroy_all_by_project(context, project_id)
Destroy all quotas, usages, and reservations associated with a
project.
| Parameters: |
- context – The request context, for access checks.
- project_id – The ID of the project being deleted.
|
-
expire(context)
Expire reservations.
Explores all currently existing reservations and rolls back
any that have expired.
| Parameters: | context – The request context, for access checks. |
-
get_by_class(context, quota_class, resource)
Get a specific quota by quota class.
-
get_by_project(context, project_id, resource)
Get a specific quota by project.
-
get_class_quotas(context, resources, quota_class, defaults=True)
Given a list of resources, retrieve the quotas for the given
quota class.
| Parameters: |
- context – The request context, for access checks.
- resources – A dictionary of the registered resources.
- quota_class – The name of the quota class to return
quotas for.
- defaults – If True, the default value will be reported
if there is no specific value for the
resource.
|
-
get_defaults(context, resources)
Given a list of resources, retrieve the default quotas.
| Parameters: |
- context – The request context, for access checks.
- resources – A dictionary of the registered resources.
|
-
get_project_quotas(context, resources, project_id, quota_class=None, defaults=True, usages=True)
Given a list of resources, retrieve the quotas for the given
project.
| Parameters: |
- context – The request context, for access checks.
- resources – A dictionary of the registered resources.
- project_id – The ID of the project to return quotas for.
- quota_class – If project_id != context.project_id, the
quota class cannot be determined. This
parameter allows it to be specified. It
will be ignored if project_id ==
context.project_id.
- defaults – If True, the quota class value (or the
default value, if there is no value from the
quota class) will be reported if there is no
specific value for the resource.
- usages – If True, the current in_use and reserved counts
will also be returned.
|
-
limit_check(context, resources, values)
Check simple quota limits.
For limits–those quotas for which there is no usage
synchronization function–this method checks that a set of
proposed values are permitted by the limit restriction.
This method will raise a QuotaResourceUnknown exception if a
given resource is unknown or if it is not a simple limit
resource.
If any of the proposed values is over the defined quota, an
OverQuota exception will be raised with the sorted list of the
resources which are too high. Otherwise, the method returns
nothing.
| Parameters: |
- context – The request context, for access checks.
- resources – A dictionary of the registered resources.
- values – A dictionary of the values to check against the
quota.
|
-
reserve(context, resources, deltas, expire=None)
Check quotas and reserve resources.
For counting quotas–those quotas for which there is a usage
synchronization function–this method checks quotas against
current usage and the desired deltas.
This method will raise a QuotaResourceUnknown exception if a
given resource is unknown or if it does not have a usage
synchronization function.
If any of the proposed values is over the defined quota, an
OverQuota exception will be raised with the sorted list of the
resources which are too high. Otherwise, the method returns a
list of reservation UUIDs which were created.
| Parameters: |
- context – The request context, for access checks.
- resources – A dictionary of the registered resources.
- deltas – A dictionary of the proposed delta changes.
- expire – An optional parameter specifying an expiration
time for the reservations. If it is a simple
number, it is interpreted as a number of
seconds and added to the current time; if it is
a datetime.timedelta object, it will also be
added to the current time. A datetime.datetime
object will be interpreted as the absolute
expiration time. If None is specified, the
default expiration time set by
–default-reservation-expire will be used (this
value will be treated as a number of seconds).
|
-
rollback(context, reservations)
Roll back reservations.
| Parameters: |
- context – The request context, for access checks.
- reservations – A list of the reservation UUIDs, as
returned by the reserve() method.
|
-
class QuotaEngine(quota_driver_class=None)
Bases: object
Represent the set of recognized quotas.
-
commit(context, reservations)
Commit reservations.
| Parameters: |
- context – The request context, for access checks.
- reservations – A list of the reservation UUIDs, as
returned by the reserve() method.
|
-
count(context, resource, *args, **kwargs)
Count a resource.
For countable resources, invokes the count() function and
returns its result. Arguments following the context and
resource are passed directly to the count function declared by
the resource.
| Parameters: |
- context – The request context, for access checks.
- resource – The name of the resource, as a string.
|
-
destroy_all_by_project(context, project_id)
Destroy all quotas, usages, and reservations associated with a
project.
| Parameters: |
- context – The request context, for access checks.
- project_id – The ID of the project being deleted.
|
-
expire(context)
Expire reservations.
Explores all currently existing reservations and rolls back
any that have expired.
| Parameters: | context – The request context, for access checks. |
-
get_by_class(context, quota_class, resource)
Get a specific quota by quota class.
-
get_by_project(context, project_id, resource)
Get a specific quota by project.
-
get_class_quotas(context, quota_class, defaults=True)
Retrieve the quotas for the given quota class.
| Parameters: |
- context – The request context, for access checks.
- quota_class – The name of the quota class to return
quotas for.
- defaults – If True, the default value will be reported
if there is no specific value for the
resource.
|
-
get_defaults(context)
Retrieve the default quotas.
| Parameters: | context – The request context, for access checks. |
-
get_project_quotas(context, project_id, quota_class=None, defaults=True, usages=True)
Retrieve the quotas for the given project.
| Parameters: |
- context – The request context, for access checks.
- project_id – The ID of the project to return quotas for.
- quota_class – If project_id != context.project_id, the
quota class cannot be determined. This
parameter allows it to be specified.
- defaults – If True, the quota class value (or the
default value, if there is no value from the
quota class) will be reported if there is no
specific value for the resource.
- usages – If True, the current in_use and reserved counts
will also be returned.
|
-
limit_check(context, **values)
Check simple quota limits.
For limits–those quotas for which there is no usage
synchronization function–this method checks that a set of
proposed values are permitted by the limit restriction. The
values to check are given as keyword arguments, where the key
identifies the specific quota limit to check, and the value is
the proposed value.
This method will raise a QuotaResourceUnknown exception if a
given resource is unknown or if it is not a simple limit
resource.
If any of the proposed values is over the defined quota, an
OverQuota exception will be raised with the sorted list of the
resources which are too high. Otherwise, the method returns
nothing.
| Parameters: | context – The request context, for access checks. |
-
register_resource(resource)
Register a resource.
-
register_resources(resources)
Register a list of resources.
-
reserve(context, expire=None, **deltas)
Check quotas and reserve resources.
For counting quotas–those quotas for which there is a usage
synchronization function–this method checks quotas against
current usage and the desired deltas. The deltas are given as
keyword arguments, and current usage and other reservations
are factored into the quota check.
This method will raise a QuotaResourceUnknown exception if a
given resource is unknown or if it does not have a usage
synchronization function.
If any of the proposed values is over the defined quota, an
OverQuota exception will be raised with the sorted list of the
resources which are too high. Otherwise, the method returns a
list of reservation UUIDs which were created.
| Parameters: |
- context – The request context, for access checks.
- expire – An optional parameter specifying an expiration
time for the reservations. If it is a simple
number, it is interpreted as a number of
seconds and added to the current time; if it is
a datetime.timedelta object, it will also be
added to the current time. A datetime.datetime
object will be interpreted as the absolute
expiration time. If None is specified, the
default expiration time set by
–default-reservation-expire will be used (this
value will be treated as a number of seconds).
|
-
resources
-
rollback(context, reservations)
Roll back reservations.
| Parameters: |
- context – The request context, for access checks.
- reservations – A list of the reservation UUIDs, as
returned by the reserve() method.
|
-
class ReservableResource(name, sync, flag=None)
Bases: nova.quota.BaseResource
Describe a reservable resource.


OUR CARE RUNS DEEP
Dallas Pets Alive (DPA) is a volunteer-driven nonprofit organization dedicated to giving at-risk
animals a new start. Since our beginning in 2012, it has been our mission to help Dallas reach
No Kill Status, meaning we're committed to saving all healthy and treatable animals from
euthanasia.
WE DO THINGS DIFFERENTLY
DPA does not currently have a shelter facility, meaning we rely entirely on a dedicated team of foster
families to care for pets until they're adopted into a furrever home. We are one of the primary transfer partners
for Dallas Animal Services. We've successfully helped increase their live release rate from 42.7% in 2012 to
73.3% in 2016.
BUT WE STILL HAVE A LONG WAY TO GO
At any given time, DPA has over 300 fosters housing 300+ pets. To capitalize and grow on this successful
network, DPA needs a showroom to allow more access for the public to meet the pets and realize that
adoption is not an option, it is the option. A huge hurdle we face is the assumption that rescue
animals are damaged. Our innovative approach of building a facility out of shipping containers shows
the community that there is beauty in used.
WE'RE GOT BIG PLANS
In 2020, DPA will build its first adoption center, giving pets the chance they need to find a loving home.
This adoption center will be a space for future pet parents to gather and meet our adoptable pets,
allowing us to substantially grow the number of animals we can rescue. By creating this facility, we
will also finally have a centralized area for foster families to bring their animals that will promote
adoption and prevent the need for overnight shelter stays.
WHAT TO EXPECT
- A building that's partially constructed out of 12 shipping containers,
a method that's socially responsible and cost efficient
- A space that's around 3,800 square feet with an 800-square-foot roof deck. It will be able
to house approximately 40 animals per day (which will help us increase our adoption rate
to 1,720 animals per year)
- Digital kennel cards that display each animal's bio and information
- Wellness clinic inside, ideal for checkups and vaccinations
- Large outdoor play area for animals and potential adopters to socialize
- Outdoor rooftop space with turf, ideal for meetings or dog training sessions
- Special catified-containers
YOU CAN HELP BUILD A BETTER WAY
We're so excited to construct this incredible adoption center, but we can't do it without you! Help us
reach our fundraising goal of $1 million.


Constructor
new Object(attributes, options)
Creates a new model with defined attributes. A client id (cid) is
automatically generated and assigned for you.
You won't normally call this method directly. It is recommended that
you use a subclass of ML.Object
instead, created by calling
extend
.
However, if you don't want to use a subclass, or aren't sure which subclass is appropriate, you can use this form:
var object = new ML.Object("ClassName");That is basically equivalent to:
var MyClass = ML.Object.extend("ClassName"); var object = new MyClass();
Parameters:
| Name | Type | Description |
|---|---|---|
attributes |
Object | The initial set of data to store in the object. |
options |
Object | A set of Backbone-like options for creating the object. The only option currently supported is "collection". |
- Source:
- See:
Methods
(static) _create()
Creates an instance of a subclass of ML.Object for the given classname.
(static) _getSubclass()
Returns the appropriate subclass for making new instances of the given
className string.
(static) createWithoutData(className, id) → {ML.Object}
Creates an instance of a subclass of ML.Object for the give classname
and id.
Parameters:
| Name | Type | Description |
|---|---|---|
className |
String | The name of the ML class backing this model. |
id |
String | The object id of this model. |
Returns:
A new subclass instance of ML.Object.
- Type
- ML.Object
(static) destroyAll(The, options) → {ML.Promise}
Delete objects in batch.The objects className must be the same.
Parameters:
| Name | Type | Description |
|---|---|---|
The |
Array | ParseObject array to be deleted. |
options |
Object | Standard options object with success and error callbacks. |
Returns:
A promise that is fulfilled when the save
completes.
- Type
- ML.Promise
(static) extend(className, protoProps, classProps) → {Class}
Creates a new subclass of ML.Object for the given ML class name.
Every extension of a ML class will inherit from the most recent previous extension of that class. When a ML.Object is automatically created by parsing JSON, it will use the most recent extension of that class.
You should call either:
var MyClass = ML.Object.extend("MyClass", { Instance properties }, { Class properties });or, for Backbone compatibility:
var MyClass = ML.Object.extend({ className: "MyClass", Other instance properties }, { Class properties });
Parameters:
| Name | Type | Description |
|---|---|---|
className |
String | The name of the ML class backing this model. |
protoProps |
Object | Instance properties to add to instances of the class returned from this method. |
classProps |
Object | Class properties to add the class returned from this method. |
Returns:
A new subclass of ML.Object.
- Type
- Class
(static) new(attributes, options) → {ML.Object}
Creates a new model with defined attributes,
It's the same with
new ML.Object(attributes, options);
Parameters:
| Name | Type | Description |
|---|---|---|
attributes |
Object | The initial set of data to store in the object. |
options |
Object | A set of Backbone-like options for creating the object. The only option currently supported is "collection". |
- Since:
- v0.4.4
- Source:
- See:
Returns:
- Type
- ML.Object
(static) saveAll(list, options)
Saves the given list of ML.Object.
If any error is encountered, stops and calls the error handler.
There are two ways you can call this function.
The Backbone way:
ML.Object.saveAll([object1, object2, ...], { success: function(list) { // All the objects were saved. }, error: function(error) { // An error occurred while saving one of the objects. }, });A simplified syntax:
ML.Object.saveAll([object1, object2, ...], function(list, error) { if (list) { // All the objects were saved. } else { // An error occurred. } });
Parameters:
| Name | Type | Description |
|---|---|---|
list |
Array | A list of ML.Object . |
options |
Object | A Backbone-style callback object. |
_applyOpSet()
Applies the set of ML.Op in opSet to the object target.
_canBeSerialized()
Returns true if this object can be serialized for saving.
_cancelSave()
Called when a save fails because of an error. Any changes that were part
of the save need to be merged with changes made after the save. This
might throw an exception is you do conflicting operations. For example,
if you do:
object.set("foo", "bar");
object.set("invalid field name", "baz");
object.save();
object.increment("foo");
then this will throw when the save fails and the client tries to merge
"bar" with the +1.
_finishFetch()
Called when a fetch or login is complete to set the known server data to
the given object.
_finishSave()
Called when a save completes successfully. This merges the changes that
were saved into the known server data, and overrides it with any data
sent directly from the server.
_getSaveJSON()
Returns a JSON-encoded set of operations to be sent with the next save
request.
_mergeMagicFields(attrs)
Pulls "special" fields like objectId, createdAt, etc. out of attrs
and puts them on "this" directly. Removes them from attrs.
Parameters:
| Name | Type | Description |
|---|---|---|
attrs |
A dictionary with the data for this ML.Object. |
_rebuildAllEstimatedData()
Populates attributes by starting with the last known data from the
server, and applying all of the local changes that have been made since
then.
_rebuildEstimatedDataForKey()
Populates attributes[key] by starting with the last known data from the
server, and applying all of the local changes that have been made to that
key since then.
_refreshCache()
Updates _hashedJSON to reflect the current state of this object.
Adds any changed hash values to the set of pending changes.
_resetCacheForKey()
Replaces the cached value for key with the current value.
Returns true if the new value is different than the old value.
_startSave()
Returns the json to be sent to the server.
_toPointer()
Gets a Pointer referencing this Object.
_validate()
Run validation against a set of incoming attributes, returning `true`
if all is well. If a specific `error` callback has been passed,
call that instead of firing the general `"error"` event.
add(attr, item)
Atomically add an object to the end of the array associated with a given
key.
Parameters:
| Name | Type | Description |
|---|---|---|
attr |
String | The key. |
item |
The item to add. |
addUnique(attr, item)
Atomically add an object to the array associated with a given key, only
if it is not already present in the array. The position of the insert is
not guaranteed.
Parameters:
| Name | Type | Description |
|---|---|---|
attr |
String | The key. |
item |
The object to add. |
change()
Call this method to manually fire a `"change"` event for this model and
a `"change:attribute"` event for each changed attribute.
Calling this will cause all objects observing the model to update.
changedAttributes()
Returns an object containing all the attributes that have changed, or
false if there are no changed attributes. Useful for determining what
parts of a view need to be updated and/or what attributes need to be
persisted to the server. Unset attributes will be set to undefined.
You can also pass an attributes object to diff against the model,
determining if there *would be* a change.
clear()
Clear all attributes on the model, firing
"change"
unless
you choose to silence it.
clone() → {ML.Object}
Creates a new model with identical attributes to this one.
Returns:
- Type
- ML.Object
destroy() → {ML.Promise}
Destroy this model on the server if it was already persisted.
Optimistically removes the model from its collection, if it has one.
If `wait: true` is passed, waits for the server to respond
before removal.
Returns:
A promise that is fulfilled when the destroy
completes.
- Type
- ML.Promise
dirty(attr) → {Boolean}
Returns true if this object has been modified since its last
save/refresh. If an attribute is specified, it returns true only if that
particular attribute has been modified since the last save/refresh.
Parameters:
| Name | Type | Description |
|---|---|---|
attr |
String | An attribute name (optional). |
Returns:
- Type
- Boolean
escape()
Gets the HTML-escaped value of an attribute.
existed()
Returns true if this object was created by the ML server when the
object might have already been there (e.g. in the case of a Facebook
login)
fetch(fetchOptions, options) → {ML.Promise}
Fetch the model from the server. If the server's representation of the
model differs from its current attributes, they will be overriden,
triggering a
"change"
event.
Parameters:
| Name | Type | Description |
|---|---|---|
fetchOptions |
Object | Optional options to set 'keys' and 'include' option. |
options |
Object | Optional Backbone-like options object to be passed in to set. |
Returns:
A promise that is fulfilled when the fetch
completes.
- Type
- ML.Promise
fetchWhenSave(enable)
Set whether to enable fetchWhenSave option when updating object.
When set true, SDK would fetch the latest object after saving.
Default is false.
Parameters:
| Name | Type | Description |
|---|---|---|
enable |
boolean | true to enable fetchWhenSave option. |
get(attr)
Gets the value of an attribute.
Parameters:
| Name | Type | Description |
|---|---|---|
attr |
String | The string name of an attribute. |
getCreatedAt() → {Date}
Returns the object's createdAt attribute.
Returns:
- Type
- Date
getObjectId() → {String}
Returns the object's objectId.
Returns:
the objectId.
- Type
- String
getUpdatedAt() → {Date}
Returns the object's updatedAt attribute.
Returns:
- Type
- Date
has(attr) → {Boolean}
Returns
true
if the attribute contains a value that is not
null or undefined.
Parameters:
| Name | Type | Description |
|---|---|---|
attr |
String | The string name of the attribute. |
Returns:
- Type
- Boolean
hasChanged(attr) → {Boolean}
Determine if the model has changed since the last
"change"
event. If you specify an attribute name, determine if that attribute
has changed.
Parameters:
| Name | Type | Description |
|---|---|---|
attr |
String | Optional attribute name |
Returns:
- Type
- Boolean
increment(attr, amount)
Atomically increments the value of the given attribute the next time the
object is saved. If no amount is specified, 1 is used by default.
Parameters:
| Name | Type | Description |
|---|---|---|
attr |
String | The key. |
amount |
Number | The amount to increment by. |
initialize()
Initialize is an empty function by default. Override it with your own
initialization logic.
isNew() → {Boolean}
Returns true if this object has never been saved to ML.
Returns:
- Type
- Boolean
isValid() → {Boolean}
Checks if the model is currently in a valid state. It's only possible to
get into an *invalid* state if you're using silent changes.
Returns:
- Type
- Boolean
op(attr) → {ML.Op}
Returns an instance of a subclass of ML.Op describing what kind of
modification has been performed on this field since the last time it was
saved. For example, after calling object.increment("x"), calling
object.op("x") would return an instance of ML.Op.Increment.
Parameters:
| Name | Type | Description |
|---|---|---|
attr |
String | The key. |
Returns:
The operation, or undefined if none.
- Type
- ML.Op
previous(attr)
Gets the previous value of an attribute, recorded at the time the last
"change"
event was fired.
Parameters:
| Name | Type | Description |
|---|---|---|
attr |
String | Name of the attribute to get. |
previousAttributes() → {Object}
Gets all of the attributes of the model at the time of the previous
"change"
event.
Returns:
- Type
- Object
relation(String)
Gets a relation on the given class for the attribute.
Parameters:
| Name | Type | Description |
|---|---|---|
String |
attr The attribute to get the relation for. |
remove(attr, item)
Atomically remove all instances of an object from the array associated
with a given key.
Parameters:
| Name | Type | Description |
|---|---|---|
attr |
String | The key. |
item |
The object to remove. |
save() → {ML.Promise}
Set a hash of model attributes, and save the model to the server.
updatedAt will be updated when the request returns.
You can either call it as:
object.save();or
object.save(null, options);or
object.save(attrs, options);or
object.save(key, value, options);For example,
gameTurn.save({ player: "Jake Cutter", diceRoll: 2 }, { success: function(gameTurnAgain) { // The save was successful. }, error: function(gameTurnAgain, error) { // The save failed. Error is an instance of ML.Error. } });or with promises:
gameTurn.save({ player: "Jake Cutter", diceRoll: 2 }).then(function(gameTurnAgain) { // The save was successful. }, function(error) { // The save failed. Error is an instance of ML.Error. });
Returns:
A promise that is fulfilled when the save
completes.
- Type
- ML.Promise
set(key, value, options) → {Boolean}
Sets a hash of model attributes on the object, firing
"change"
unless you choose to silence it.
You can call it with an object containing keys and values, or with one key and value. For example:
gameTurn.set({ player: player1, diceRoll: 2 }, { error: function(gameTurnAgain, error) { // The set failed validation. } }); game.set("currentPlayer", player2, { error: function(gameTurnAgain, error) { // The set failed validation. } }); game.set("finished", true);
Parameters:
| Name | Type | Description |
|---|---|---|
key |
String | The key to set. |
value |
The value to give it. | |
options |
Object | A set of Backbone-like options for the set.
The only supported options are silent ,
error , and promise . |
Returns:
true if the set succeeded.
- Type
- Boolean
toJSON() → {Object}
Returns a JSON version of the object suitable for saving to ML.
Returns:
- Type
- Object
unset()
Remove an attribute from the model, firing
"change"
unless
you choose to silence it. This is a noop if the attribute doesn't
exist.


Female MMA fighter, 26, dies from brain injury during fight
An amateur MMA fighter has died after suffering a fatal brain injury during a fight this weekend.
Saeideh – known as Sai – Aletaha, 26, collapsed during the bout at Central Hall in Southampton on Saturday night and was taken to hospital in a life-threatening condition but died the next day.
Hampshire Police said inquiries into exactly what happened are ongoing, while tributes to Sai, a British-Iranian student at Loughborough University, have been paid online.
A post on the Facebook page for Southampton’s Lookborai gym – where Sai was a member – said: ‘Following the show Saturday we regret to announce that one of our team mates unfortunately suffered an injury leaving her in a critical condition that she tragically will not recover from.
‘Saeideh Aletaha was a lovely character with a beautiful soul. Her dedication to the sport was 110% travelling miles every day just to train.
Advertisement Advertisement
‘She found her place with us just a few months ago but has become a part of the family and will be sorely missed.
‘This news comes as a devastating blow to us all at the gym and the whole community. Our thoughts and prayers go out to her family.’
A South Central Ambulance Service spokesman said an ambulance was sent to Central Hall to answer a call shortly after 8.50pm on Saturday reporting that a participant in a martial arts event had collapsed.
The lightweight MMA fighter, described by friends as a ‘beautiful soul’, was taking part in the Fast & Furious Fight series organised by Lookborai and Exile Gym, which had doctors and paramedics at ringside.
A post on the Fast and Furious Fight event’s Facebook page said: ‘All competitors get in prepared that they may be injured and this is something not expected to happen 99.9% of the time.
‘But, it can and in this we make the environment as safe as possible with pre and post medicals from a doctor, and full medical cover throughout with doctor, paramedic and ambulance on site alongside our experienced team of staff with numerous first aiders, safety is not something ever skimped on in any of our 19 shows and all matches are made equal.
‘Thoughts of course go out to all family, friends and team mates, if anyone needs any support please come to us or your coaches.
‘Thank you to our team on the night who acted with utmost professionalism and carried their duties out above and beyond to react to the situation, and again we are here for any of you that needs it in this sad time.’
Advertisement Advertisement
Another statement on Exile Gym’s Facebook page also said ‘she will be sorely missed’.
It added: ‘If there is any questions or if anyone feels they need support at this time please please do contact us.’
Hampshire Police said: ‘We were called shortly before 1am on Sunday November 17 by colleagues at Southampton General Hospital informing us of a woman who was being treated in hospital for a life-threatening brain injury.
‘The woman, aged 26, died in hospital later that day.
‘Inquiries into exactly what happened are ongoing. Next of kin have been informed.’
Got a story for Metro.co.uk?
Get in touch with our news team by emailing us at<EMAIL_ADDRESS>For more stories like this, check our news page.


In cryptography, a Caesar cipher, also known as Caesar's cipher, the shift cipher, Caesar's code or Caesar shift, is one of the simplest and most widely known encryption techniques. It is a type of substitution cipher in which each letter in the plaintext is replaced by a letter some fixed number of positions down the alphabet. For example, with a left shift of 3, D would be replaced by A, E would become B, and so on. The method is named after Julius Caesar, who used it in his private correspondence The encryption step performed by a Caesar cipher is often incorporated as part of more complex schemes, such as the Vigenère cipher, and still has modern application in the ROT13 system.


The server is the process running the “blackboard process”. It is an ordinary SICStus process, which can be run on a separate machine if necessary.
To load the package, enter the query
| ?- use_module(library('linda/server')).
and start the server with linda/[0,1]
.
linda
linda(
:Options)
-
GoalWhen the linda server is started, Host and Port are bound to the server host and port respectively and the goal Goal is called. A typical use of this would be to store the connection information in a file so that the clients can find the server to connect to.
For backward compatibility, if Options is not a list, it is
assumed to be an option of the form Address-
Goal.
In SICStus before 3.9.1, Goal needed an explicit module
prefix to ensure it was called in the right module. This is no
longer necessary since linda/1
is now a meta-predicate.
accept_hook(
Client,
Stream,
Goal)
Example:
| ?- linda([(Host:Port)-mypred(Host,Port), accept_hook(C,S,should_accept(C,S))]).
will call mypred/2
when the server is started. mypred/2
could start the client-processes, save the address for the clients
etc. Whenever a client attempts to connect from a host with IP address
Addr, a bi-directional socket stream Stream will be
opened to the client, and should_accept(
Addr,
Stream)
will be called to determine if the client should be allowed to connect.


Backbone.js gives structure to web applications by providing models with
key-value binding and custom events, collections with a rich API of enumerable
functions, views with declarative event handling, and connects it all to your
existing API over a RESTful JSON interface.
The project is hosted on GitHub, and the annotated source code is available, as well as an online test suite, an example application, a list of tutorials and a long list of real-world projects that use Backbone. Backbone is available for use under the MIT software license.
You can report bugs and discuss features on the GitHub issues page, on Freenode IRC in the #documentcloud channel, post questions to the Google Group, add pages to the wiki or send tweets to @documentcloud.
Backbone is an open-source component of DocumentCloud.
Here, I try to document the good practices that our team has learned along the
way building Backbone applications.
This document assumes that you already have some knowledge of Backbone.js,
jQuery, and of course, JavaScript itself.
Here are some patterns that would apply to Backbone models.
The problem: Your application needs models to be available on page load.
Solution: Bootstrap collections and models by creating collections in an
inline

To get a single Photo
, instead of creating a Photo
instance and usingfetch()
, simply pluck it from the giant collection.
// Gets by ID
var photo = App.photos.get(2);
// Gets a bunch of photos based on criteria
var photo = App.photos.select(function(photo) {
return photo.filename.match(/^IMG/);
});
In your server-side templates, you will probably be using to_json
on a
collection of your server-side models.

If you use HAML, you will need use a syntax similar to this.
:javascript
App.photos = new Photos(#{@photos.to_json});
In your server-side templates, you will probably be using json_encode()
on a
collection of your server-side models.

The problem: if you need to use view templates in a small Backbone
application, defining your templates in JavaScript code will be unwieldy and
difficult to maintain.
Solution: You may need some view templates to be inline in the HTML page.
This solution has been outlined by John Resig in his blog post about JavaScript
micro templating.
You can put templates in an HTML
In JavaScript, you can get the innerHTML
(or jQuery’s .html()) of that
HTML element to fetch the raw template data. You can pass this onto Underscore’s_.template
to create a template function.
$("#template-contact").html();
//=> "
\n<%= name %></str..."
template = _.template($("#template-contact").html());
//=> function() { ... }
In practice, you will most likely be using this in the render()
method of a
view like so.
var ContactView = Backbone.View.extend({
template: _.template($("#template-contact").html()),
render: function() {
// This is a dictionary object of the attributes of the models.
// => { name: "Jason", email<EMAIL_ADDRESS>}
var dict = this.model.toJSON();
// Pass this object onto the template function.
// This returns an HTML string.
var html = this.template(dict);
// Append the result to the view's element.
$(this.el).append(html);
// ...
}
});
Single-page apps only.
This assumes that your Backbone application is all contained in one HTML page.
If your app spans across multiple HTML pages, and each page will be needing the
same templates, you may be redundantly streaming the template data to the
browser unnecessarily. Consider using JST templates instead.
Note that the given example assumes that the #template-contact
element appears
before you include JavaScript files, as it requires the template element to be
accessible before the class is defined.
The problem: if you need to use view templates in a small-to-large Backbone
application, defining your templates in JavaScript code will be unwieldy and
difficult to maintain.
Solution: You may need put the templates in a JavaScript file.
Your app will need to serve a dynamically-created JavaScript file that
compiles your files.
A common JST file will create the JST
object (in the window namespace), with
each of its members defined as template functions. In this example, we’ll use
Underscore’s _.template
, which returns functions.
// http://myapp.com/javascripts/jst.js
window.JST = {};
window.JST['person/contact'] = _.template(
"
<%= name %> ..."
);
window.JST['person/edit'] = _.template(
"<form method='post'><input type..."
);
You will then need to link to this JavaScript page in your HTML.

In your JavaScript code, simply access the JST object’s members to access the
views.
var html = JST['person/edit']();
var dict = { name: "Jason", email<EMAIL_ADDRESS>};
var html = JST['person/contact'](dict);
The problem: there may be parts of HTML templates that can be reused in many
parts of the application. Defining them more than once is not DRY, which may
make your application less maintainable.
Solution: separating these snippets into partials.
Partials are templates that are meant to be used inside other templates.
One typical use of partials is for lists where the template for list items may
be defined as a separate template from the list itself.
You can pass the template function for the partial as a parameter to the first
template.
In this example, the function itemTemplate
is passed onto the parameters fortemplate()
.
TasksList = Backbone.View.extend({
template: _.template([
"
",
"<% items.each(function(item) { %>",
"<%= itemTemplate(item) %>",
"<% }); %>",
"
"
].join('')),
itemTemplate: _.template(
"
<%= name %>
"
),
render: function() {
var html = this.template({
items: tasks /* a collection */,
itemTemplate: this.itemTemplate
});
$(this.el).append(html);
}
});
The problem: When you have events that trigger animations, they can mess up
when the user clicks too fast.
The solution: Make a buffering system to ensure that animations are fired
serially (one after the other) and never parallel (at the same time).
Let’s say you have this innocent code that performs an animation.
One fundamental flaw here is that it assumes that .showNext()
will only be
called when it is not animating. When the user clicks “Next” while the animation
is working, unexpected results will occur.
PicturesView = Backbone.View.extend({
events: {
'click .next': 'showNext'
},
showNext: function() {
var current = this.$(".current");
var nextDiv = this.$(".current + div");
if (nextDiv.length == 0) { return; }
// Make the current one move to the left via jQuery.
// This uses jQuery.fn.animate() that changes CSS values, then fires
// the function supplied when it's done.
current.animate({ left: -300, opacity: 0 }, function() {
current.removeClass('.current');
nextDiv.addClass('.current');
});
}
});
Here’s a simple buffering solution. It provides two commands:
add(fn)
which adds a given function to the buffer, andnext()
which moves onto the next command. This is passed onto the functionsTo use this, put your animations inside an anonymous function to be passed ontoadd()
. Be sure to trigger next()
when the animations are done.
Buffer = {
commands: [],
add: function(fn) {
// Adds a command to the buffer, and executes it if it's
// the only command to be ran.
var commands = this.commands;
commands.push(fn);
if (this.commands.length == 1) fn(next);
// Moves onto the next command in the buffer.
function next() {
commands.shift();
if (commands.length) commands[0](next);
}
}
};
This is our example from a while ago that has been modified to use the bufferer.
showNext: function() {
var current = this.$(".current");
var nextDiv = this.$(".current + div");
if (nextDiv.length == 0) { return; }
// Ensure that the animation will not happen while another
// animation is ongoing.
Buffer.add(function(next) {
current.animate({ left: -300, opacity: 0 }, function() {
current.removeClass('.current');
nextDiv.addClass('.current');
// Trigger the next animation.
next();
});
});
}
You can make the Buffer
object into a class that you can instantiate. This
lets you have multiple buffers as you need. This way, you can have a buffer for
each view instance.
jQuery also provides a very similar function, jQuery.fn.queue(). This
may be adequate for most simple animations.
The problem: Your view code is starting to bloat as it tries to do too many
things in one class.
The solution: Break it apart into smaller sub-views.
This is a common occurrence if you have one giant view that takes care of the
entire page. View classes may become unwieldy once they get up to 200 lines.
It may be wise to delegate some areas of the view to be the responsibility of
another view.
In this example, we have a view that handles the entire application “chrome.”
Let’s break apart some of its parts on its render()
function. Notice that
we’re using this.$()
to select elements inside the ChromeView
‘s element
itself.
App.ChromeView = Backbone.View.extend({
render: function() {
// Instantiate some "sub" views to handle the responsibilities of
// their respective elements.
this.sidebar = new App.SidebarView({ el: this.$(".sidebar") });
this.menu = new App.NavigationView({ el: this.$("nav") });
}
});
$(function() {
App.chrome = new App.ChromeView({ el: $("#chrome") });
});
We will then be able to access the sub-views like so:
App.chrome.sidebar.toggle();
App.chrome.menu.expand();
All Backbone objects can emit events. To maintain the separation of
responsibilities of the view classes, you may have the sub-views trigger
events that the parent view would need (and vice versa).
For instance, we may implement SidebarView
to trigger events when the sidebar
is collapsed or expanded:
App.SidebarView = Backbone.View.extend({
toggle: function() {
if ($(this.el).is(':visible')) {
$(this.el).hide();
this.trigger('collapse'); // <==
} else {
$(this.el).show();
this.trigger('expand'); // <==
}
},
});
And the parent view (ChromeView
) may listen to them like so:
App.ChromeView = Backbone.View.extend({
render: function() {
this.sidebar = new App.SidebarView({ el: this.$(".sidebar") });
this.sidebar
.bind('collapse', this.onSidebarCollapse)
.bind('expand', this.onSidebarExpand);
// ...
}
});
The problem: Your view code is starting to bloat as it tries to do too many
things in one class, and making sub-views with its child elements is not an
option.
The solution: Make a sub-view with the same element. This will allow you to
delegate certain responsibilities to another view class.
You can make 2 or more views that target the same element. This is useful when
there are many controls in a view, but creating sub-views (with their scopes
limited to a set of elements in the bigger view) may be too messy, or just not
possible.
In this example, ChromeView
will make a sub-view that shares the same element
as it does.
App.ChromeView = Backbone.View.extend({
events: {
'click button': 'onButtonClick'
},
render: function() {
// Pass our own element to the other view.
this.tabs = new App.TabView({ el: this.el });
}
});
App.TabView = Backbone.View.extend({
// Notice this view has its own events. They will not
// interfere with ChromeView's events.
events: {
'click nav.tabs a': 'switchTab'
},
switchTo: function(tab) {
// ...
},
hide: function() {
// ...
}
});
You can delegate some functionality to the sub-view. In this example, we can
write the (potentially long) code for hiding tabs in the TabView
, makingChromeView
easier to maintain and manage.
App.ChromeView = Backbone.View.extend({
// ...
goFullscreen: function() {
this.tabs.hide();
}
});
You may also provide publicly-accessible methods to TabView
that will be meant
to be accessed outside of ChromeView
.
var chrome = new App.ChromeView;
chrome.tabs.switchTo('home');
You can also make delegate views private by design: that is, it shouldn’t be
used outside the parent view (ChromeView
in our example).
As JavaScript lacks true private attributes, you can set prefix it with an
underscore to signify that it’s private and is not part of it’s public
interface. (This is a practice taken from Python’s official style
guide.)
App.ChromeView = Backbone.View.extend({
render: function() {
this._tabs = new App.TabView({ el: this.el });
}
});
The problem: Sometimes you have the same functionality for multiple objects and it doesn’t
make sense to wrap your objects in a parent object. For example, if you have
two views that share methods but don’t — and shouldn’t — have a shared
parent view.
The solution: For this scenario, it’s appropriate to use a mixin.
You can define an object that has attributes and methods that can be shared
across different classes. This is called a mixin.
You can define a mixin as a regular object literal with functions in it.
App.Mixins.Navigation = {
toggle: function() { /* ... */ },
open: function() { /*... */ },
close: function() { /* ... */ }
};
You may then extend your classes with these mixins. You can use Underscore’s
_.extend function to attach these to your class prototypes.
App.Views.Menu = Backbone.View.extend({
// I need to know how to toggle, open, and close!
});
_.extend(App.Views.Menu.prototype, App.Mixins.Navigation);
App.Views.Tabs = Backbone.View.extend({
// I too need to know how to toggle, open, and close!
});
_.extend(App.Views.Tabs.prototype, App.Mixins.Navigation);
The above presents two caveats, which can be problematic in some situations:
Your attributes and methods in your mixin will override the methods you
define in the class itself (via Backbone.View.extend
). Ideally, it should be
the other way around.
The _.extend(...)
line is after all the methods you’ve defined in the
class, and can easily be neglected by developers new to your project.
To remedy this, you can use this alterative syntax. This will let you write
methods and attributes in your class that will override the mixin’s default
behavior.
App.Views.Menu = Backbone.View.extend(
_.extend({}, App.Mixins.Navigation, {
// (Methods and attributes here)
}));
App.Views.Tabs = Backbone.View.extend(
_.extend({}, App.Mixins.Navigation, {
// (Methods and attributes here)
}));
The prototypes for your views now both have the methods defined in your mixin.
New App.Views.Tabs
and App.Views.Menu
instances will now be able to respond
to .toggle()
, .open()
and .close()
.
var tabs = new App.Views.Tabs;
// These will call the methods you've defined
// in App.Mixins.Navigation.
tabs.toggle();
tabs.open();
tabs.close();
You can also use mixins in Models and Routers as well.
// Router
App.PageRouter = Backbone.Router.extend(
_.extend({}, App.Mixins.HasSettings, {
// (Methods and attributes here)
}));
// Model
App.Widget = Backbone.Model.extend(
_.extend({}, App.Mixins.IsDeletable, {
// (Methods and attributes here)
}));
Classes often start in uppercase letters, while instances start with lowercase
letters. This is a throwback of the general Python and Ruby practice of having
constant names start with uppercase letters.
// Classes:
Photo
Album
Author
// Instances:
photo
myAlbum
For names with multiple words, JavaScript often calls for CamelCase. Using
underscores are discouraged in JavaScript.
// Good (CamelCase):
PhotoAlbum
albumCover
// Avoid (under_scores):
photo_album
album_cover
The convention we use puts everything in one App
namespace to keep things
organized properly.
window.App = {
...
};
Subsequent models, views, and other classes will be made in this namespace.
App.Photo = Backbone.Model.extend({
...
};
Some people prefer to use namespaces based on their app’s name. Consider, say,BF.Photo
(instead of App.Photo
) if your application name is “Bacefook.”
Models: App.Photo
Collections: App.Photos
Views: App.PhotoView
Main router: App.Router
Custom routers: App.SpecialRouter
Router instance: App.router
View instances: App.photoView
Singleton model instances: App.photo
Collection instances: App.photos
Some people prefer a verbose two-level version where the classes are divided
into their own namespaces as well.
This is often done to make it easy to iterate over all available models,
collections, and views.
Models: App.Models.Photo
Collections: App.Collections.Photos
Views: App.Views.Photo
You may adopt a Asynchronous Module Definition-style method of
organization using a library like RequireJS. This will allow you
to organize your modules in the require(...)
way familiar to those who use
NodeJS.
If you adopt an AMD library, there will be no need to use namespaces for your
JavaScript classes.
define(function(require) {
var Photo = require('models/photo');
var Photos = require('collections/photos');
var MenuView = require('views/menu');
var MainRouter = require('router/main');
// ...
});
For more information on RequireJS, AMD, and using it on your Backbone project,
see:
For applications that do not use Asynchronous Module Definition-style
organization, there always seem to have 3 basic JavaScript files.
This is often app.js
, which defines the basic namespace.
// app.js
window.App = {
...
};
If you use the namespacing method outlined earlier in this document, there are 2
common naming conventions for individual classes:
Name the files as the exact class name they contain. For instance,App.PhotoView
should be stored as app/photoview.js
.
Place each of the class types in their own folders. For instance,
the PhotoView
may be defined as app/views/photoview.js
, orviews/photoview.js
.
In this approach, avoid putting code in the files other than the actual
class it defines. This makes your convention predictable for the benefit of
those new to your project.
// app/photoview.js
App.PhotoView = Backbone.View.extend({
...
});
This is the file where you do miscellaneous things that do not belong in any of
the Backbone classes:
This is often named application.js
or setup.js
.
In larger projects, this can span multiple files. Don’t be afraid to refactor it
to multiple files.
This is often the only place you will want to put the onload hook$(function() { ... })
.
$(function() {
// Set up some options for jQuery and plugins.
$(document).ajaxError(function() {
alert("There was an error.");
});
// Provide options for your plugins.
$("a[rel~=lightbox]").click(function() {
$(this).openAsLightbox();
});
Backbone.emulateJSON = true;
// Initialize Backbone views.
App.chromeView = new App.ChromeView({ el: $("body") });
App.router = new App.Router;
// Initialize the Backbone router.
Backbone.history.start();
});
Consider loading them in this order:
app.js
(the namespace)app/*.js
(individual classes)setup.js
(the glue)

Here are a few common practices that I believe should generally be avoided.
jQuery allows you to defer execution of code until when the DOM is fully-loaded
with $(document).ready(…), or its short form, $(...)
. This
is useful for getting everything set up once your HTML document is ready.
$(document).ready(function() {
// Initialize the router.
App.router = new App.MainRouter;
// Initialize the main view.
App.dashboard = new App.Dashboard({ ... });
// and so on...
});
// Or its shorter form:
$(function() {
// ...
});
A common anti-pattern is to put class definitions (for views, models, and such)
inside these blocks. They are not necessary.
// AVOID this:
$(function() {
App.PhotoView = Backbone.View.extend({
...
});
});
Your classes should be ready before the HTML DOM is. This will save you from
running into problems later where certain classes may not be available at
certain parts of your application.
// Consider instead:
App.PhotoView = Backbone.View.extend({
...
});
Put things in your view class code as much as possible.
Every time you make an event handler outside a view class, consider making a new
view class.
App.PhotoView = Backbone.View.extend({
...
});
// AVOID this!
$("a.photo").click(function() { ... });
Other links of interest:
© 2011-2012, Rico Sta. Cruz. Released under the MIT
License.
This document is authored and maintained by Rico Sta. Cruz with help from
its contributors. It is sponsored by my startup, Sinefunc, Inc.


Recently I was in New York city visiting some cousins of mine. I had brought some mushrooms because I find that there is nothing better than tripping in the city. The chaos seems to enhance my trip audibly and visually.
When I pulled out the sack of mushrooms my cousin told me of this sleeping pill he had been prescribed that had caused him to have hypnotic and physchedelic effects. I was skeptical but was willing to give it a try. I took 10 mg of Ambien, the recommended dosage on the prescription bottle. Within thirty minutes I could feel the effects. A slight change in light and a resistance to movement, body tension, etc.
The high was nice but not as intense as what I was looking for. So I decided to take out 5 good looking caps from my bag. I quickly downed them, grabbed some water and set off for my days adventure.
Within 1:00 my trip was in full force, but with some slight changes. Normally when I trip I cannot sit still and often find myself pacing and talking incessantly. Instead this time i felt that my limbs were heavy, and often times found myself sitting instead of standing.
I welcomed this feeling as sometimes the nervousness associated with tripping balls is unnerving.
About 1:30 minutes I started to feel a floating sensation when I was walking. I'm sure I looked retarded to anyone who saw me moon-walking through the park I had resigned to. The floaty feeling was actually quite strange because it didn't some from my head, but rather my stomach. The feeling lasted about 2:00 hours.
4:00 hours into my trip I started to feel the comedown. This was the only part of the experience that I did not enjoy. Normally when I eat muchrooms the comedown is quite tame. I smoke a bowl or two, try to sleep, or take a shower. However because Ambien is a sedative it made me pass out into a harsh sleep. I had a few bizarre dreams and awoke about three hours later feeling drowsy and slightly nauseated. In all this experience was quite enjoyable.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Roma knocked out of third place with defeat at Parma
AS Roma lost third place in Serie A when they slumped to a 2-0 defeat at Parma after Mattia Sprocati and Andreas Cornelius grabbed second-half goals on Sunday to end the visitors' six-match unbeaten league run.
MILAN: AS Roma lost third place in Serie A when they slumped to a 2-0 defeat at Parma after Mattia Sprocati and Andreas Cornelius grabbed second-half goals on Sunday to end the visitors' six-match unbeaten league run.
Roma, playing three days after a Europa League defeat by Borussia Moenchengladbach, nearly went ahead midway through the second period when Aleksandar Kolarov rattled the woodwork with a free kick and Javier Pastore's effort from the rebound was brilliantly saved by Luigi Sepe.
Instead, Sprocati fired Parma ahead from Riccardo Gagliolo's cross in the 68th minute and Cornelius added a second on the break with the last move of the match.
Roma were overhauled by free-scoring Lazio, who beat visiting Lecce 4-2, and Cagliari, who hammered Fiorentina 5-2 at home. Both have 24 points, followed by Atalanta and Roma on 22, Napoli with 19 and Parma who are eighth on 17.
Five players shared Cagliari's goals as the Sardinians continued their impressive season - Marko Rog, Fabio Piscane, Giovanni Simeone, Joao Pedro and Radja Nainggolan, who also provided three assists.
Dusan Vlahovic scored twice late on to make the score more respectable for Fiorentina.
Serie A leading scorer Ciro Immobile took his tally to 14 this season by converting a penalty for Lazio.
Joaquin Correa put Lazio ahead on the half hour and Gianluca Lapadula replied 10 minutes later.
Sergei Milinkovic-Savic put Lazio back in front in the 62nd minute but then gave away a penalty five minutes later.
Khouma Babacar saw his effort saved by Thomas Strakosha and although Gianluca Lapadula put the rebound in, it was disallowed for encroachment.
Immobile made no mistake when Lazio were awarded a penalty to make it 3-1 and Correa then got his second for the hosts before Andrea La Mantia pulled one back for Lecce.
Udinese goalkeeper Juan Musso saved a penalty from SPAL substitute Andrea Petagna in the eighth minute of stoppage time to rescue a 0-0 home draw for his side as the visitors moved off the bottom of the table.
Claudio Ranieri's Sampdoria also managed a 0-0 draw at home to Atalanta who had Ruslan Malinovskyi sent off for a second bookable offence in the 74th minute.
(Writing by Brian Homewood; Editing by Ken Ferris)


Page maintained by Ke-Sen Huang.
If you have additions or changes, send an e-mail.
Note that when possible I link to the page containing the link to the actual PDF or PS of the preprint.
I prefer this as it gives some context to the paper and avoids possible copyright problems with direct linking.
Thus you may need to search on the page to find the actual document.
the Eurographics Digital Library Link for the paper
Paper Abstract
Author Preprint
Paper Video
Paper Presentation
Paper Images
Paper Data
Demo Program or Source Code
Related Links
Changelog
Session: Deformation
- Example-Driven Deformations Based on Discrete Shells
-
Stefan Frohlich,
Mario Botsch
- Flexible Developable Surfaces
-
Justin Solomon,
Etienne Vouga,
Max Wardetzky,
Eitan Grinspun
- Smooth Shape-Aware Functions with Controlled Extrema
-
Alec Jacobson,
Tino Weinkauf,
Olga Sorkine
Session: Correspondence
- Nonrigid Matching of Undersampled Shapes via Medial Diffusion
-
Matthew Berger,
Claudio Silva
- Microtiles: Extracting Building Blocks from Correspondences
-
Javor Kolojanov,
Martin Bokeloh,
Michael Wand,
Leonidas Guibas,
Philipp Slusallek,
Hans-Peter Seidel
- Finding Surface Correspondences Using Symmetry Axis Curves
-
Tianqiang Liu,
Vladimir G. Kim,
Thomas Funkhouser
- Soft Maps Between Surfaces
-
Justin Solomon,
Andy Nguyen,
Adrian Butscher,
Mirela Ben-Chen,
Leonidas Guibas
Session: Computational Geometry
- Tighter Bounds on the Size of Optimal Meshes
-
Donald Sheehy
- From a Medial Surface to a Mesh
-
Thomas Delame,
Celine Roudet,
Dominique Faudot
Session: Modeling
- A Linear Variational System for Modeling from Curves
-
James Andrews,
Pushkar Joshi,
Nathan Carr
- Modeling Polyhedral Meshes with Affine Maps
-
Amir Vaxman
- Shape-Up: Shaping Discrete Geometry with Projections
-
Sofien Bouaziz,
Mario Deuss,
Yuliy Schwartzburg,
Thibaut Weise,
Mark Pauly
Session: Shape Analysis
- Radial Symmetry Detection and Shape Characterization with the Multiscale Area Projection Transform
-
Andrea Giachetti,
Christian Lovato
- Computing Extremal Quasi-Conformal Maps
-
Ofir Weber,
Denis Zorin,
Ashish Myles
- Growing Least Squares for the Continuous Analysis of Manifolds in Scale-Space
-
Nicolas Mellado,
Pascal Barla,
Gael Guennebaud,
Patrick Reuter
- Co-Segmentation of 3D Shapes via Subspace Clustering
-
Ruizhen Hu,
Lubin Fan,
Ligang Liu
Session: Visualization and Perception
- Dihedral Angle Mesh Error: a Fast Perception Correlated Distortion Measure for Fixed Connectivity Triangle Meshes
-
Libor Vasa,
Jan Rus
- Stream Surface Parametrization by Flow-Orthogonal Front Lines
-
Maik Schulze,
Tobias Germer,
Christian Roessl,
Holger Theisel
Session: Flows
- Mean Curvature Skeletons
-
Andrea Tagliasacchi,
Ibraheem Alhashim,
Matt Olson,
Hao Zhang
- Can Mean-Curvature Flow Be Made Non-Singular
-
Michael Kazhdan,
Mirela Ben-Chen,
Jake Solomon
- Time-discrete Geodesics in the Space of Shells
-
Behrend Heeren,
Benedikt Wirth,
Max Wardetzky,
Martin Rumpf
Session: Point Sets
- Scale Space Meshing of Raw Data Point Sets
-
Julie Digne,
Jean-Michel Morel,
Charyar-Mehdi Souzani,
Claire Lartigue
- Fast Normal Estimation for Point Clouds with Sharp Features using a Robust Randomized Hough Transform
-
Alexandre Boulch,
Renaud Marlet
- Parallel Blue-noise Sampling by Constrained Farthest Point Optimization
-
Renjie Chen,
Craig Gotsman
- Feature-Preserving Reconstruction of Singular Surfaces
-
Yusu Wang,
Tamal Dey,
Xiaoyin Ge,
Lei Wang,
Qichao Que,
Issam Safa
kesen.huang@gmail.com


Scroll Down
Uses animate.css for all my animations.
I bet there is a better way to do this without using 2 headers. Let me know if you have a better solution!
Pop-up salvia meh, direct trade vinyl normcore Intelligentsia seitan pickled. Normcore Shoreditch distillery, Neutra artisan health goth hashtag keffiyeh sartorial chia umami next level cold-pressed lo-fi. Pitchfork Carles heirloom biodiesel dreamcatcher semiotics, food truck sriracha Thundercats fingerstache 8-bit. Wayfarers Bushwick occupy four loko cardigan, skateboard crucifix Pinterest twee. Semiotics keytar selfies iPhone, tofu tousled umami Kickstarter Pitchfork Shoreditch polaroid 3 wolf moon Neutra Odd Future drinking vinegar. Heirloom yr squid Helvetica aesthetic. Pickled cred asymmetrical, twee listicle slow-carb Thundercats wolf Etsy post-ironic banh mi cold-pressed tousled pop-up.
IPhone pug wayfarers Pinterest, sustainable readymade butcher pop-up actually mixtape bitters ethical. Fap cronut cardigan, bespoke heirloom Banksy flannel tousled. Fixie YOLO blog distillery, squid PBR put a bird on it Shoreditch pour-over 3 wolf moon heirloom ennui salvia paleo sustainable. Brunch fashion axe vegan, organic mumblecore skateboard selvage kitsch fixie DIY hella. Hella paleo Pinterest, XOXO put a bird on it chillwave Carles disrupt Kickstarter locavore American Apparel tilde twee pickled church-key. +1 ugh forage pop-up, artisan paleo skateboard. Hashtag before they sold out deep v, lo-fi gastropub crucifix salvia four loko Portland cronut Truffaut.


| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|---|---|---|---|---|---|
| 6C | INS m8, DX | NP | Valid | Valid | Input byte from I/O port specified in DX into memory location specified in ES:(E)DI or RDI.* |
| 6D | INS m16, DX | NP | Valid | Valid | Input word from I/O port specified in DX into memory location specified in ES:(E)DI or RDI.1 |
| 6D | INS m32, DX | NP | Valid | Valid | Input doubleword from I/O port specified in DX into memory location specified in ES:(E)DI or RDI.1 |
| 6C | INSB | NP | Valid | Valid | Input byte from I/O port specified in DX into memory location specified with ES:(E)DI or RDI.1 |
| 6D | INSW | NP | Valid | Valid | Input word from I/O port specified in DX into memory location specified in ES:(E)DI or RDI.1 |
| 6D | INSD | NP | Valid | Valid | Input doubleword from I/O port specified in DX into memory location specified in ES:(E)DI or RDI.1 |
NOTES:
*
In 64-bit mode, only 64-bit (RDI) and 32-bit (EDI) address sizes are supported. In non-64-bit mode, only 32-bit (EDI) and 16-bit (DI) address sizes are supported.
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| NP | NA | NA | NA | NA |
Copies the data from the I/O port specified with the source operand (second operand) to the destination operand (first operand). The source operand is an I/O port address (from 0 to 65,535) that is read from the DX register. The destination operand is a memory location, the address of which is read from either the ES:DI, ES:EDI or the RDI registers (depending on the address-size attribute of the instruction, 16, 32 or 64, respectively). (The ES segment cannot be overridden with a segment override prefix.) The size of the I/O port being accessed (that is, the size of the source and destination operands) is determined by the opcode for an 8-bit I/O port or by the operand-size attri-bute of the instruction for a 16- or 32-bit I/O port.
At the assembly-code level, two forms of this instruction are allowed: the “explicit-operands” form and the “no-operands” form. The explicit-operands form (specified with the INS mnemonic) allows the source and destination operands to be specified explicitly. Here, the source operand must be “DX,” and the destination operand should be a symbol that indicates the size of the I/O port and the destination address. This explicit-operands form is provided to allow documentation; however, note that the documentation provided by this form can be misleading. That is, the destination operand symbol must specify the correct type (size) of the operand (byte, word, or doubleword), but it does not have to specify the correct location. The location is always specified by the ES:(E)DI registers, which must be loaded correctly before the INS instruction is executed.
The no-operands form provides “short forms” of the byte, word, and doubleword versions of the INS instructions. Here also DX is assumed by the processor to be the source operand and ES:(E)DI is assumed to be the destination operand. The size of the I/O port is specified with the choice of mnemonic: INSB (byte), INSW (word), or INSD (doubleword).
After the byte, word, or doubleword is transfer from the I/O port to the memory location, the DI/EDI/RDI register is incremented or decremented automatically according to the setting of the DF flag in the EFLAGS register. (If the DF flag is 0, the (E)DI register is incremented; if the DF flag is 1, the (E)DI register is decremented.) The (E)DI register is incremented or decremented by 1 for byte operations, by 2 for word operations, or by 4 for doubleword operations.
The INS, INSB, INSW, and INSD instructions can be preceded by the REP prefix for block input of ECX bytes, words, or doublewords. See “REP/REPE/REPZ /REPNE/REPNZ—Repeat String Operation Prefix” in Chapter 4 of the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 2B, for a description of the REP prefix.
These instructions are only useful for accessing I/O ports located in the processor’s I/O address space. See Chapter 18, “Input/Output,” in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1, for more information on accessing I/O ports in the I/O address space.
In 64-bit mode, default address size is 64 bits, 32 bit address size is supported using the prefix 67H. The address of the memory destination is specified by RDI or EDI. 16-bit address size is not supported in 64-bit mode. The operand size is not promoted.
IF ((PE = 1) and ((CPL > IOPL) or (VM = 1))) THEN (* Protected mode with CPL > IOPL or virtual-8086 mode *) IF (Any I/O Permission Bit for I/O port being accessed = 1) THEN (* I/O operation is not allowed *) #GP(0); ELSE (* I/O operation is allowed *) DEST ← SRC; (* Read from I/O port *) FI; ELSE (Real Mode or Protected Mode with CPL IOPL *) DEST ← SRC; (* Read from I/O port *) FI; Non-64-bit Mode: IF (Byte transfer) THEN IF DF = 0 THEN (E)DI ← (E)DI + 1; ELSE (E)DI ← (E)DI – 1; FI; ELSE IF (Word transfer) THEN IF DF = 0 THEN (E)DI ← (E)DI + 2; ELSE (E)DI ← (E)DI – 2; FI; ELSE (* Doubleword transfer *) THEN IF DF = 0 THEN (E)DI ← (E)DI + 4; ELSE (E)DI ← (E)DI – 4; FI; FI; FI; FI64-bit Mode: IF (Byte transfer) THEN IF DF = 0 THEN (E|R)DI ← (E|R)DI + 1; ELSE (E|R)DI ← (E|R)DI – 1; FI; ELSE IF (Word transfer) THEN IF DF = 0 THEN (E)DI ← (E)DI + 2; ELSE (E)DI ← (E)DI – 2; FI; ELSE (* Doubleword transfer *) THEN IF DF = 0 THEN (E|R)DI ← (E|R)DI + 4; ELSE (E|R)DI ← (E|R)DI – 4; FI; FI; FI;
None
| #GP(0) |
If the CPL is greater than (has less privilege) the I/O privilege level (IOPL) and any of the corresponding I/O permission bits in TSS for the I/O port being accessed is 1. If the destination is located in a non-writable segment. If an illegal memory operand effective address in the ES segments is given. |
| #PF(fault-code) | If a page fault occurs. |
| #AC(0) | If alignment checking is enabled and an unaligned memory reference is made while the current privilege level is 3. |
| #UD | If the LOCK prefix is used. |
| #GP | If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit. |
| #SS | If a memory operand effective address is outside the SS segment limit. |
| #UD | If the LOCK prefix is used. |
| #GP(0) | If any of the I/O permission bits in the TSS for the I/O port being accessed is 1. |
| #PF(fault-code) | If a page fault occurs. |
| #AC(0) | If alignment checking is enabled and an unaligned memory reference is made. |
| #UD | If the LOCK prefix is used. |
Same exceptions as in protected mode.
| #SS(0) | If a memory address referencing the SS segment is in a non-canonical form. |
| #GP(0) |
If the CPL is greater than (has less privilege) the I/O privilege level (IOPL) and any of the corresponding I/O permission bits in TSS for the I/O port being accessed is 1. If the memory address is in a non-canonical form. |
| #PF(fault-code) | If a page fault occurs. |
| #AC(0) | If alignment checking is enabled and an unaligned memory reference is made while the current privilege level is 3. |
| #UD | If the LOCK prefix is used. |


Computes and tests individual (species, phylogenetic and functional) diversity-area relationships, i.e., how species-, phylogenetic- and functional-diversity varies with spatial scale around the individuals of some species in a community. See applications of these methods in Wiegand et al. (2007) <doi:10.1073/pnas.0705621104> or Chacon-Labella et al. (2016) <doi:10.1007/s00442-016-3547-z>.
| Version: | 1.0 |
| Depends: | spatstat, FD, picante, ape |
| Suggests: | ecespa, vegan |
| Published: | 2017-05-04 |
| Author: | Marcelino de la Cruz |
| Maintainer: | Marcelino de la Cruz <marcelino.delacruz at urjc.es> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | yes |
| CRAN checks: | idar results |
| Reference manual: | idar.pdf |
| Package source: | idar_1.0.tar.gz |
| Windows binaries: | r-devel: idar_1.0.zip, r-release: idar_1.0.zip, r-oldrel: idar_1.0.zip |
| OS X binaries: | r-release: idar_1.0.tgz, r-oldrel: idar_1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=idar to link to this page.


|
ReactPhysics3D
0.8.0
C++ Physics engine library
|
#include <Deque.h>
Public Member Functions | |
| Iterator ()=default | |
| Constructor. | |
| Iterator (const Deque< T > *deque, size_t virtualIndex) | |
| Constructor. | |
| Iterator (const Iterator &it) | |
| Copy constructor. | |
| reference | operator* () |
| Deferencable. | |
| const_reference | operator* () const |
| Const Deferencable. | |
| const_pointer | operator-> () const |
| Deferencable. | |
| Iterator & | operator++ () |
| Post increment (it++) | |
| Iterator | operator++ (int number) |
| Pre increment (++it) | |
| Iterator & | operator-- () |
| Post decrement (it–) | |
| Iterator | operator-- (int number) |
| Pre decrement (–it) | |
| Iterator | operator+ (const difference_type &n) |
| Plus operator. | |
| Iterator & | operator+= (const difference_type &n) |
| Plus operator. | |
| Iterator | operator- (const difference_type &n) |
| Minus operator. | |
| Iterator & | operator-= (const difference_type &n) |
| Minus operator. | |
| difference_type | operator- (const Iterator &iterator) const |
| Difference operator. | |
| bool | operator< (const Iterator &other) const |
| Comparison operator. | |
| bool | operator> (const Iterator &other) const |
| Comparison operator. | |
| bool | operator<= (const Iterator &other) const |
| Comparison operator. | |
| bool | operator>= (const Iterator &other) const |
| Comparison operator. | |
| bool | operator== (const Iterator &iterator) const |
| Equality operator (it == end()) | |
| bool | operator!= (const Iterator &iterator) const |
| Inequality operator (it != end()) | |
Friends | |
| class | Deque |
| Frienship. | |
Class Iterator.
This class represents an iterator for the Deque


Ujang maman is a superhero name in Indonesia, especially in my family. He is not a fictional character but an original hero in my family, a hero for his children and for his wife. So, I use the name as a user in this template. Not a tribute, I'm just bored with 'John Doe'.


{% if success %}
You've been successfully unsubscribed from reminders.
You can resubscribe at any time at www.writetogov.com
{% elif has_invalid_token %}
Your unsubscribe link has expired or is invalid.
{% else %}
There was an error unsubscribing you. Please contact<EMAIL_ADDRESS>{% endif %}
{% endblock %}


- *Boilerplate:* component needs to query stores for initial state,
and register a listener to be notified about future changes.
- Note that the view component is coupled to its store by class name,
and by using the getAllProducts query offered by the store.


Martin has added a customer Successfully
Jennifer purchased Light Dashboard 2.0.
Robin marked a ticket as unsolved.
David purchased Light Dashboard 1.0.
James. has added acustomer Successfully
Your business dashboard template


Cloudinary Video Player
Adaptive streaming
MPEG-DASH
In network tab look for mpd manifest and .mp4dv and .mp4da chunks


Obsidian Farms
Hello there, here are some of the best Farm produce
Favorite page
This is a link to GitHub!
poultry
fishery
Processed food


This package provides useful base classes for building graphical agent
applications. The design follows a model-view-controller pattern.
The AgentAppModel
serves as model, the AgentAppFrame
together with its embedded AgentView
as view, and the
AgentAppController
as controller. The SimpleAgentAppDemo
demonstrates, how this parts can be plugged together.
Start the main method of AgentAppFrame
to see the layout of the
frame. It is configurable in many ways, even without subclassing. A
demo application with model, view, and controller, but still without any content,
can be seen when starting the SimpleAgentAppDemo
. Look for classes
with the ending ...AppDemo
in the aima.gui.applications
package to see agents at work.
This simple framework is strongly based on inheritance. You can extend any
of the given base classes with the features you need. To be very flexible with
respect to content, no methods are included which transfer data between model
and view. So typically, you will design a model and a corresponding
AgentView
together - the model should provide access to all
the data, which is needed by the view to visualize the agent in its environment
meaningful.


Dashboard
Recent Milestone
Show the recent milestones in projects which belong you.
Recent Updated
Show the timeline past of 3 days in projects which belong you.
Active Tickets
Show the active tickets which you involved(owner, reporter).
Show the recent milestones in projects which belong you.
Show the timeline past of 3 days in projects which belong you.
Show the active tickets which you involved(owner, reporter).


Xavier: Azmin didn’t tell Pakatan presidential council about meeting with BN leaders
by BY OPALYN MOKGEORGE TOWN, Nov 19 ― The Pakatan Harapan (PH) presidential council was not told of the meeting at Datuk Seri Azmin Ali’s home in Putrajaya involving the coalition’s and Barisan Nasional (BN) federal lawmakers last night, said PKR vice president Datuk Dr Xavier Jayakumar.
The water, land and natural resources minister said any leader in PH who wished to meet with outside parties must inform the presidential council about it.
“The PH presidential council makes decisions collectively with all component parties on any matters and this process must be followed,” he said in a press conference here after attending an International Conference on Dam Safety Management and Engineering.
When asked if he knew of the meeting, he said no.
Yesterday, there were reports of a clandestine meeting at Azmin’s house in Putrajaya involving 22 BN lawmakers.
There were claims that Azmin and former Umno vice-president Datuk Seri Hishammuddin Hussein were planning to discuss how to secure lawmakers’ support for Tun Dr Mahathir Mohamad to remain as the prime minister.
Azmin’s testy relationship with PKR president Datuk Seri Anwar Ibrahim has fuelled speculation that he could be an obstacle to the latter succeeding Dr Mahathir.


Required to load the plot data from a CSV file.
One plotting option must be selected.
The data series filename should specify the name of the csv file to load the data from.
The column headings from the csv file are used as the labels of the points plotted.
Known bugs:
- BUG: Currently, only the first row of the csv file is plotted, this may be changed in the future.
The csv plugin expects the first row to contain the column names, and subsequent rows to contain the values to be plotted on a per
column basis.
- BUG: The csv plugin does not support click-able urls at the moment.
- BUG: The url should be configurable.