XNLO - UPPE
1.3.0
Unidirectional Pulse Propagation Equation
Here is a list of all class members with links to the classes they belong to:
- n -
n_active :
grid_tw
n_glass :
capillary_fibre
n_m() :
Config_Settings
,
grid_rkr
n_m_ :
Config_Settings
n_m_description() :
Config_Settings
n_m_description_ :
Config_Settings
n_m_description_set() :
Config_Settings
n_m_set() :
Config_Settings
n_r() :
Config_Settings
,
grid_rkr
n_r_ :
Config_Settings
n_r_description() :
Config_Settings
n_r_description_ :
Config_Settings
n_r_description_set() :
Config_Settings
n_r_set() :
Config_Settings
n_star :
keldysh_gas
n_t() :
Config_Settings
,
grid_tw
n_t_ :
Config_Settings
n_t_description() :
Config_Settings
n_t_description_ :
Config_Settings
n_t_description_set() :
Config_Settings
n_t_set() :
Config_Settings
n_z() :
Config_Settings
n_z_ :
Config_Settings
n_z_description() :
Config_Settings
n_z_description_ :
Config_Settings
n_z_description_set() :
Config_Settings
n_z_set() :
Config_Settings
nl_polarization() :
keldysh_gas
Generated by
1.8.13


--- layout: documentation title: FuzzyHashBlockType ---
The FuzzyHashBlockType is used for characterizing the internal components of a single block in a cryptograhic fuzzy hash algorithmic calculation.
| Field Name | Type | Description |
|---|---|---|
| Block_Hash_Value0..1 | HashValueType |
The Block_Hash_Value field is optional and specifies a fuzzy hash calculation result value for this Block. |
| Segment_Count0..1 | IntegerObjectPropertyType |
The Segment_Count field is optional and specifies the number of segments identified and utilized within this fuzzy hash calculation. |
| Segments0..1 | HashSegmentsType |
The Segments field is optional and specifies the set of segments identified and utilized within this fuzzy hash calculation. |


import connexion
import datetime
import socket
from sqlalchemy import text
import project.app
from access_control import __version__
from swagger_server.models.all_user_roles import AllUserRoles # noqa: E501
from swagger_server.models.domain_roles import DomainRoles # noqa: E501
from swagger_server.models.health_info import HealthInfo # noqa: E501
from swagger_server.models.purged_invitations import PurgedInvitations # noqa: E501
from swagger_server.models.resource_permission import ResourcePermission # noqa: E501
from swagger_server.models.site import Site # noqa: E501
from swagger_server.models.site_and_domain_roles import SiteAndDomainRoles # noqa: E501
from swagger_server.models.site_role_labels_aggregated import SiteRoleLabelsAggregated # noqa: E501
from swagger_server.models.user_deletion_data import UserDeletionData # noqa: E501
from swagger_server.models.user_site_role_labels_aggregated import UserSiteRoleLabelsAggregated # noqa: E501
from swagger_server.models.user_with_roles import UserWithRoles # noqa: E501
db = project.app.DB
SQL_ALL_DOMAIN_ROLES_FOR_USER = """
-- Given a user id (:user_id), find all roles in the organisational domain tree
-- Finding all the implicit and explicit roles is simple,
-- however, we need to return the results in such a way
-- that the domain hierarchy can be interpreted and roles
-- pushed down the tree.
WITH RECURSIVE _domain_tree AS (
SELECT domain.id, domain.parent_id, 0 AS position
FROM domain
WHERE domain.parent_id IS NULL -- The root domain
UNION
SELECT domain.id, domain.parent_id,
_domain_tree.position + 1 AS position
FROM _domain_tree,
domain
WHERE domain.parent_id = _domain_tree.id
),
_roles AS (
SELECT domain.id, domain.parent_id,
-- Domain roles are distinct per definition
array_agg(domainrole.role_id) AS implicit_roles,
-- User domain roles are distinct per definition
array_agg(userdomainrole.role_id) AS explicit_roles
FROM _domain_tree AS domain
LEFT OUTER JOIN domain_role AS domainrole
ON (domain.id = domainrole.domain_id AND
domainrole.grant_implicitly)
LEFT OUTER JOIN user_domain_role AS userdomainrole
ON (domain.id = userdomainrole.domain_id AND
userdomainrole.user_id = :user_id)
GROUP BY domain.id, domain.parent_id, domain.position
ORDER BY domain.position
)
-- Return all the nodes of the tree with the roles for the
-- specified user. The list of roles needs to be post-processed
-- as it may contain duplicates and NULL values, e.g. {6,null} or {null,null}
SELECT id, parent_id, implicit_roles || explicit_roles AS roles
FROM _roles;
"""
SQL_ALL_SITE_ROLES_FOR_USER = """
WITH _roles AS (
SELECT site.id, site.domain_id,
-- Site roles are distinct per definition
array_agg(siterole.role_id) AS implicit_roles,
-- User site roles are distinct per definition
array_agg(usersiterole.role_id) AS explicit_roles
FROM site
LEFT OUTER JOIN site_role AS siterole
ON (site.id = siterole.site_id AND
siterole.grant_implicitly)
LEFT OUTER JOIN user_site_role AS usersiterole
ON (site.id = usersiterole.site_id AND
usersiterole.user_id = :user_id)
GROUP BY site.id, site.domain_id
)
-- Return all the sites with the implicit and explicit
-- roles for the specified user.
-- The list of roles needs to be post-processed as it may contain duplicates and NULL values, e.g.
-- {6,null} or {null,null}
SELECT id, domain_id, implicit_roles || explicit_roles AS roles
FROM _roles;
"""
SQL_DOMAIN_ROLES = """
-- Given a domain id (:domain_id), find all roles that can be assigned
-- in the domain lineage
-- Finding all the roles is simple,
-- however, we need to return the results in such a way
-- that the domain hierarchy can be interpreted and roles
-- pushed down the tree.
WITH RECURSIVE _domain_tree AS (
SELECT domain.id, domain.parent_id, 0 AS position
FROM domain
WHERE domain.id = :domain_id
UNION
SELECT domain.id, domain.parent_id,
_domain_tree.position - 1 AS position
FROM _domain_tree,
domain
WHERE _domain_tree.parent_id = domain.id
)
SELECT domain.id, domain.parent_id,
array_agg(domainrole.role_id) AS roles
FROM _domain_tree AS domain
LEFT OUTER JOIN domain_role AS domainrole
ON (domain.id = domainrole.domain_id)
GROUP BY domain.id, domain.parent_id, domain.position
ORDER BY domain.position
"""
SQL_SITE_ROLES = """
-- Given a site id (:site_id), find all roles that can be assigned
-- to it.
SELECT site.id, site.domain_id, array_agg(siterole.role_id) AS roles
FROM site
LEFT OUTER JOIN site_role AS siterole
ON (site.id = siterole.site_id)
WHERE site.id = :site_id
GROUP BY site.id, site.domain_id
"""
SQL_SITE_ROLE_LABELS_AGGREGATED = """
-- Given a site id (:site_id) find all roles that can be assigned to it
-- directly and via its domain lineage.
-- The recursive query needs to come first
-- Get domain lineage ids
WITH RECURSIVE _domain_lineage AS (
SELECT domain.id, domain.parent_id
FROM domain, site
WHERE domain.id = site.domain_id
AND site.id = :site_id
UNION DISTINCT
SELECT domain.id, domain.parent_id
FROM domain, _domain_lineage
WHERE domain.id = _domain_lineage.parent_id
),
-- Find all roles that can be assigned in the domain lineage
_domain_role_ids AS (
SELECT role_id
FROM domain_role, _domain_lineage
WHERE domain_role.domain_id = _domain_lineage.id
),
-- Find all roles that can be assigned for the site
_site_role_ids AS (
SELECT role_id
FROM site_role
WHERE site_role.site_id = :site_id
),
-- Create a list of role ids, potentially containing duplicates
_role_ids AS (
SELECT * FROM _domain_role_ids
UNION
SELECT * FROM _site_role_ids
)
-- Return a set of role labels
-- The order in which the roles are returned is not guaranteed and
-- applications should not rely on it.
SELECT DISTINCT(label)
FROM role, _role_ids
WHERE role.id = _role_ids.role_id
"""
SQL_USER_SITE_ROLE_LABELS_AGGREGATED = """
-- Given a site id (:site_id) and a user id (:user_id), find all roles
-- The recursive query needs to come first
-- Get domain lineage ids
WITH RECURSIVE _domain_lineage AS (
SELECT domain.id, domain.parent_id
FROM domain, site
WHERE domain.id = site.domain_id
AND site.id = :site_id
UNION DISTINCT
SELECT domain.id, domain.parent_id
FROM domain, _domain_lineage
WHERE domain.id = _domain_lineage.parent_id
),
-- Find all implicit roles defined for the domain lineage
_implicit_domain_role_ids AS (
SELECT role_id
FROM domain_role, _domain_lineage
WHERE domain_role.domain_id = _domain_lineage.id
AND domain_role.grant_implicitly
),
-- Find all explicit roles defined for the domain lineage
_explicit_domain_role_ids AS (
SELECT role_id
FROM user_domain_role, _domain_lineage
WHERE user_domain_role.domain_id = _domain_lineage.id
AND user_domain_role.user_id = :user_id
),
-- Find all implicit roles defined for the site
_implicit_site_role_ids AS (
SELECT role_id
FROM site_role
WHERE site_role.site_id = :site_id
AND site_role.grant_implicitly
),
-- Find all explicit roles defined for the site
_explicit_site_role_ids AS (
SELECT role_id
FROM user_site_role
WHERE user_site_role.site_id = :site_id
AND user_site_role.user_id = :user_id
),
-- Create a list of role ids, potentially containing duplicates
_role_ids AS (
SELECT * FROM _implicit_domain_role_ids
UNION
SELECT * FROM _explicit_domain_role_ids
UNION
SELECT * FROM _implicit_site_role_ids
UNION
SELECT * FROM _explicit_site_role_ids
)
-- Return a set of role labels
-- The order in which the roles are returned is not guaranteed and
-- applications should not rely on it.
SELECT DISTINCT(label)
FROM role, _role_ids
WHERE role.id = _role_ids.role_id
"""
SQL_USERS_WITH_ROLES_FOR_DOMAIN = """
-- Given a domain_id, find all users and their roles on that domain.
-- We find all the users that has roles in the specified domains lineage
-- in order to get all effective roles the a users have.
WITH RECURSIVE _domain_lineage AS (
SELECT domain.id, domain.parent_id
FROM domain
WHERE domain.id = :domain_id
UNION
SELECT domain.id, domain.parent_id
FROM _domain_lineage, domain
WHERE domain.id = _domain_lineage.parent_id
)
SELECT user_domain_role.user_id,
array_agg(DISTINCT user_domain_role.role_id) AS role_ids
FROM user_domain_role, _domain_lineage AS domain
WHERE domain.id = user_domain_role.domain_id
GROUP BY user_domain_role.user_id;
"""
SQL_USERS_WITH_ROLES_FOR_SITE = """
-- Given a site id (:site_id) find all users and their roles on that site.

-- This is computed as the cross-product between the resource and permission table.
SELECT resource.id AS resource_id, permission.id AS permission_id
FROM resource, permission
"""
SQL_RESOURCE_PERMISSIONS_FOR_ROLES = """
-- Given a list of roles (:role_ids) find all resource permissions linked to them.
SELECT resource_id, permission_id
FROM role_resource_permission
WHERE role_resource_permission.role_id = ANY(:role_ids)
"""
SQL_SITES_UNDER_DOMAIN = """
-- Given a domain id (:domain_id) find all sites linked to it or any of its subdomains.
-- The recursive query needs to come first
-- Get domain ids for the subtree rooted at the domain with id :domain_id
WITH RECURSIVE _domain_tree AS (
SELECT domain.id
FROM domain
WHERE domain.id = :domain_id
UNION DISTINCT
SELECT domain.id
FROM domain, _domain_tree
WHERE domain.parent_id = _domain_tree.id
)
SELECT site.*
FROM site, _domain_tree
WHERE domain_id = _domain_tree.id
"""
SQL_PURGE_EXPIRED_INVITATIONS = """
-- Given a cutoff date (:cutoff_date), find all invitations with an
-- expired_date beyond the cutoff_date and purge them.
-- The InvitationDomainRoles and InvitationSiteRoles must be purged prior to
-- purging the Invitation itself, to avoid errors.
WITH invitations_to_delete AS (
SELECT id
FROM invitation
WHERE expires_at < :cutoff_date
),
deleted_invitation_domain_roles AS (
DELETE FROM invitation_domain_role
USING invitations_to_delete
WHERE invitation_id = invitations_to_delete.id
),
deleted_invitation_site_roles AS (
DELETE FROM invitation_site_role
USING invitations_to_delete
WHERE invitation_id = invitations_to_delete.id
),
deleted_invitations AS (
DELETE FROM invitation
USING invitations_to_delete
WHERE invitation.id = invitations_to_delete.id
RETURNING *
)
SELECT COUNT(*) AS amount
FROM deleted_invitations;
"""
SQL_DELETE_USER_DATA = """
-- Given a user id (:user_id),
-- delete UserDomainRoles and UserSiteRoles tied to user id
WITH deleted_site_roles AS (
DELETE FROM user_site_role
WHERE user_id = :user_id
RETURNING user_id
),
deleted_domain_roles AS (
DELETE FROM user_domain_role
WHERE user_id = :user_id
RETURNING user_id
),
deleted_rows AS (
SELECT * FROM deleted_site_roles
UNION ALL -- ALL is required so that duplicates are not dropped
SELECT * FROM deleted_domain_roles
)
SELECT COUNT(*) AS amount
FROM deleted_rows;
"""
[docs]def delete_user_data(user_id): # noqa: E501
"""delete_user_data
# noqa: E501
:param user_id: A UUID value identifying the user.
:type user_id: dict | bytes
:rtype: UserDeletionData
"""
with db.session.get_bind().begin() as connection:
result = connection.execute(
text(SQL_DELETE_USER_DATA),
**{"user_id": user_id}
)
amount = result.fetchone()["amount"]
return UserDeletionData(amount=amount)
[docs]def get_all_user_roles(user_id): # noqa: E501
"""get_all_user_roles
Get the effective roles that a user has at any place in the organisational tree. # noqa: E501
:param user_id: A UUID value identifying the user.
:type user_id: dict | bytes
:rtype: AllUserRoles
"""
domain_rows = db.session.get_bind().execute(
text(SQL_ALL_DOMAIN_ROLES_FOR_USER), **{"user_id": user_id}
)
site_rows = db.session.get_bind().execute(
text(SQL_ALL_SITE_ROLES_FOR_USER), **{"user_id": user_id}
)
roles = {}
for row in domain_rows:
key = "d:%s" % row["id"]
roles[key] = set(filter(None, row["roles"]))
if row["parent_id"]:
# Child domains inherit the roles of their parent
parent_key = "d:%s" % row["parent_id"]
roles[key].update(roles[parent_key])
for row in site_rows:
key = "s:%s" % row["id"]
roles[key] = set(filter(None, row["roles"]))
if row["domain_id"]:
# Sites inherit the roles of their domain
parent_key = "d:%s" % row["domain_id"]
roles[key].update(roles[parent_key])
# Convert the sets to lists so that they are JSON serialisable
for k, v in roles.items():
roles[k] = list(v)
return AllUserRoles(**{"roles_map": roles, "user_id": user_id})
[docs]def get_domain_roles(domain_id): # noqa: E501
"""get_domain_roles
Get the domain and its lineage's roles defined for a domain. # noqa: E501
:param domain_id: A unique integer value identifying the domain.
:type domain_id: int
:rtype: DomainRoles
"""
result = db.session.get_bind().execute(
text(SQL_DOMAIN_ROLES), **{"domain_id": domain_id}
)
roles = {}
for row in result:
key = "d:%s" % row["id"]
roles[key] = set(filter(None, row["roles"]))
if row["parent_id"]:
# Child domains inherit the roles of their parent
parent_key = "d:{}".format(row["parent_id"])
roles[key].update(roles[parent_key])
# Convert the sets to lists so that they are JSON serialisable
for k, v in roles.items():
roles[k] = list(v)
return DomainRoles(**{"domain_id": domain_id, "roles_map": roles})
[docs]def get_resource_permissions_for_roles(role_ids): # noqa: E501
"""get_resource_permissions_for_roles
Get a list of all resource permissions the specified roles have. # noqa: E501
:param role_ids:
:type role_ids: List[int]
:rtype: List[ResourcePermission]
"""
resource_permissions = db.session.get_bind().execute(text(SQL_RESOURCE_PERMISSIONS_FOR_ROLES),
role_ids=role_ids)
return [ResourcePermission(**row) for row in resource_permissions]
[docs]def get_site_and_domain_roles(site_id): # noqa: E501
"""get_site_and_domain_roles
Get the site- and domain lineage roles defined for a given site. # noqa: E501
:param site_id: A unique integer value identifying the site.
:type site_id: int
:rtype: SiteAndDomainRoles
"""
site_rows = db.session.get_bind().execute(
text(SQL_SITE_ROLES), **{"site_id": site_id}
)
roles = {}
for site_row in site_rows:
if site_row["domain_id"]:
domain_rows = db.session.get_bind().execute(
text(SQL_DOMAIN_ROLES), **{"domain_id": site_row["domain_id"]}
)
for row in domain_rows:
key = "d:%s" % row["id"]
roles[key] = set(filter(None, row["roles"]))
if row["parent_id"]:
# Child domains inherit the roles of their parent
parent_key = "d:%s" % row["parent_id"]
roles[key].update(roles[parent_key])
key = "s:%s" % site_row["id"]
roles[key] = set(filter(None, site_row["roles"]))
if site_row["domain_id"]:
# Sites inherit the roles of their domain
parent_key = "d:%s" % site_row["domain_id"]
roles[key].update(roles[parent_key])
for k, v in roles.items():
roles[k] = list(v)
return SiteAndDomainRoles(**{"roles_map": roles, "site_id": site_id})
[docs]def get_site_role_labels_aggregated(site_id): # noqa: E501
"""get_site_role_labels_aggregated
Get a list of all possible role labels that a user can have from the specified site's perspective. # noqa: E501
:param site_id: A unique integer value identifying the site.
:type site_id: int
:rtype: SiteRoleLabelsAggregated
"""
result = db.session.get_bind().execute(text(SQL_SITE_ROLE_LABELS_AGGREGATED), **{"site_id": site_id})
return SiteRoleLabelsAggregated(
**{"roles": [row["label"] for row in result],
"site_id": site_id}
)
[docs]def get_sites_under_domain(domain_id): # noqa: E501
"""get_sites_under_domain
Get a list of all sites linked directly or indirectly to the specified domain. # noqa: E501
:param domain_id: A unique integer value identifying the domain.
:type domain_id: int
:rtype: List[Site]
"""
result = db.session.get_bind().execute(text(SQL_SITES_UNDER_DOMAIN), **{"domain_id": domain_id})
return [Site(**row) for row in result]
[docs]def get_tech_admin_resource_permissions(): # noqa: E501
"""get_tech_admin_resource_permissions
Get a list of all possible permissions any user can have. This is effectively what a tech admin user can do. # noqa: E501
:rtype: List[ResourcePermission]
"""
resource_permissions = db.session.get_bind().execute(text(SQL_TECH_ADMIN_RESOURCE_PERMISSIONS))
return [ResourcePermission(**row) for row in resource_permissions]
[docs]def get_user_site_role_labels_aggregated(user_id, site_id): # noqa: E501
"""get_user_site_role_labels_aggregated
Get a list of all role labels that the specified user has from the specified site's perspective. # noqa: E501
:param user_id: A UUID value identifying the user.
:type user_id: dict | bytes
:param site_id: A unique integer value identifying the site.
:type site_id: int
:rtype: UserSiteRoleLabelsAggregated
"""
sql = text(SQL_USER_SITE_ROLE_LABELS_AGGREGATED)
result = db.session.get_bind().execute(sql, **{"user_id": user_id, "site_id": site_id})
items = [row["label"] for row in result]
obj = UserSiteRoleLabelsAggregated(
**{"roles": items,
"user_id": user_id,
"site_id": site_id}
)
return obj
[docs]def get_users_with_roles_for_domain(domain_id): # noqa: E501
"""get_users_with_roles_for_domain
Get a list of Users with their effective roles within the given domain. # noqa: E501
:param domain_id: A unique integer value identifying the domain.
:type domain_id: int
:rtype: List[UserWithRoles]
"""
sql = text(SQL_USERS_WITH_ROLES_FOR_DOMAIN)
result = db.session.get_bind().execute(sql, **{"domain_id": domain_id})
users_with_roles = [
UserWithRoles(
user_id=row["user_id"],
role_ids=row["role_ids"]
) for row in result
]
return users_with_roles
[docs]def get_users_with_roles_for_site(site_id): # noqa: E501
"""get_users_with_roles_for_site
Get a list of Users with their effective roles within the given site. # noqa: E501
:param site_id: A unique integer value identifying the site.
:type site_id: int
:rtype: List [UserWithRoles]
"""
sql = text(SQL_USERS_WITH_ROLES_FOR_SITE)
result = db.session.get_bind().execute(sql, **{"site_id": site_id})
users_with_roles = [
UserWithRoles(
user_id=row["user_id"],
role_ids=row["role_ids"]
) for row in result
]
return users_with_roles
[docs]def purge_expired_invitations(cutoff_date=None): # noqa: E501
"""purge_expired_invitations
Purge all the expired invitations past a cutoff_date (defaults to today).
:param cutoff_date: An optional cutoff_date to purge invitations expired past this date.
:type cutoff_date: date
:rtype: PurgedInvitations
"""
if cutoff_date is None:
cutoff_date = str(datetime.datetime.now().date())
# For some reason we have to do this SQL query in a transaction.
# Ref: http://docs.sqlalchemy.org/en/latest/core/connections.html#using-transactions
with db.session.get_bind().begin() as connection:
result = connection.execute(
text(SQL_PURGE_EXPIRED_INVITATIONS), **{"cutoff_date": cutoff_date}
)
amount = result.fetchone()["amount"]
return PurgedInvitations(amount=amount)
[docs]def healthcheck(): # noqa: E501
"""healthcheck
Get the status of the service. # noqa: E501
:rtype: HealthInfo
"""
result = db.engine.execute("SELECT LOCALTIMESTAMP")
db_timestamp = result.fetchone()[0]
result = HealthInfo(
host=socket.getfqdn(),
server_timestamp=datetime.datetime.now(),
version=__version__,
db_timestamp=db_timestamp
)
return result


| Author | Stef Mientki, Copyright © 2002..2006, all rights reserved. |
| Adapted-by | Sebastien Lelong, Rob Hamerling. |
| Compiler | 2.4o |
USART2 hardware control. Routines for sending and receiving through the second [E]USART2
- See also the notes in serial_hardware library. - When the physical locations of pin_TX and pin_RX are configurable for a specific PIC, the device file will probably contain names like pin_TX2_RC2 and pin_RX2_RC1 and another pair with other pin suffixes. Depending for which pair of pins the USART is configured aliases without suffixes have to be specified, like: alias pin_TX2 is pin_TX2_RC2 alias pin_RX2 is pin_RX2_RC1 alias pin_TX2_direction is pin_TX2_RC2_direction alias pin_RX2_direction is pin_RX2_RC1_direction
serial_hw2_init()
serial_hw2_write(byte in data)
serial_hw2_enable()
serial_hw2_data_raw'put(byte in data)
serial_hw2_data'put(byte in data)
serial_hw2_write_word(word in data)
serial_hw2_disable()
serial_hw2_data_raw'get() return byte
serial_hw2_data'get() return byte
serial_hw2_read(byte out data) return bit
serial_hw2_init()
Title: Initialize second serial port Arguments: (none) Returns: (nothing)
serial_hw2_write(byte in data)
Title: Transmit character Arguments: Data (byte) to transmit Returns: (nothing) Notes: Hardware transmit buffer must be empty, wait if necessary
serial_hw2_enable()
Title: Enable USART2 Arguments: (none) Returns: (nothing) Title: Re-enable USART after use of serial_hw2_disable()
serial_hw2_data_raw'put(byte in data)
These are real raw procedures, declared as pseudo variables the user is totally responsible for testing the transmit/receive flag before using these functions
serial_hw2_data'put(byte in data)
Title: Transmit byte Arguments: Data (byte) to be transmitted Returns: (nothing) Notes: This pseudo variable allows a language construct like serial_hw2_data =to transmit a byte to the seial port
serial_hw2_write_word(word in data)
Title: Transmit word Arguments: Data (word) to transmit Returns: (nothing) Notes: Send word as 2 bytes, Most Significant Byte first. See also serial_hw_write()
serial_hw2_disable()
Title: Disable USART2 Arguments: (none) Returns: (nothing) Notes: Allows pins to be used (temporary) for other purposes. USART can be enabled again by calling serial_hw2_enable()
serial_hw2_data_raw'get() return byte
No documentation found
serial_hw2_data'get() return byte
Title: Receive byte Arguments: (none) Returns: Data (byte) received Notes: This pseudo variable allows a language construct like databyte = serial_hw2_data to receive a byte from the serial port into variable 'databyte'
serial_hw2_read(byte out data) return bit
Title: Receive byte Arguments: (none) Returns: bit: TRUE data available FALSE no data available
_serial_hw2_read(byte out data) return bit
Title: Receive byte Arguments: (none) Returns: bit: TRUE data available FALSE no data available Notes: Using this inline function for serial_hw_data'get saves a stack level With overrun error the USART is reset (error(?)byte is returned!)
| 16f1947 | 16f1947_serial_hardware2.jal |
| 18f25k22 | 18f25k22_eusart2.jal |
| 18f27j53 | 18f27j53_xbee_api_rx.jal |
| 18f27j53 | 18f27j53_pps_rx2tx2.jal |
| 18f6722 | 18f6722_serial_hardware2.jal |


whack
`Prev `__
W
`Next `__
--------------
**whack**: v.
According to arch-hacker James Gosling (designer of
`*NeWS* <../N/NeWS.html>`__, `*GOSMACS* <../G/GOSMACS.html>`__ and
Java), to “...modify a program with no idea whatsoever how it works.”
(See `*whacker* `__.) It is actually possible to do this
in nontrivial circumstances if the change is small and well-defined and
you are very good at `*glark* <../G/glark.html>`__\ ing things from
context. As a trivial example, it is relatively easy to change all
**stderr** writes to **stdout** writes in a piece of C filter code which
remains otherwise mysterious.
--------------
+----------------------------+----------------------------+---------------------------------+
| `Prev `__ | `Up <../W.html>`__ | `Next `__ |
+----------------------------+----------------------------+---------------------------------+
| wetware | `Home <../index.html>`__ | whack-a-mole |
+----------------------------+----------------------------+---------------------------------+


| Modifier and Type | Class and Description |
|---|---|
class |
Vector
Vector.java --- Class used for Vector operations.
|
| Modifier and Type | Field and Description |
|---|---|
private Point |
Line.endPoint |
private Point |
Line.startPoint |
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<Point> |
Polygon.vertices |
| Modifier and Type | Method and Description |
|---|---|
Point |
Point.clone() |
static Point |
Converter.convert(java.awt.geom.Point2D point)
Function for converting a java.awt Point into it's wrapper equivalent.
|
static Point |
Converter.convert(java.awt.geom.Point2D point,
Point.Type type)
Function for converting a java.awt Point into it's wrapper equivalent.
|
private Point |
Polygon.findTopStartingPoint()
Function for finding the top/left most starting Point of all given
vertices.
|
Point |
Polygon.getClosestIntersection(Line line)
Function for finding the closest intersection between this Polygon and a
given Line.
|
Point |
Line.getEndPoint() |
Point |
Line.getIntersection(Line otherLine)
Function for calculating the actual intersection Point between this Line
instance and another provided one.
|
Point |
Line.getStartPoint() |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<bwapi.Pair<Line,Point>> |
Polygon.findIntersections(Line line)
Function for finding an intersection between this Polygon and a given
Line.
|
private static java.util.List<Point> |
Polygon.generatePointList(bwta.Polygon bwtaPolygon)
Function for converting the Positions inside a BWTA Polygon to Points.
|
private java.util.HashSet<Point> |
Polygon.generatePossibleAdjacentPoints(Point point,
java.util.HashSet<bwapi.TilePosition> checkedTilePositions)
Function for generating the Points that are the direct neighbours of a
provided Point instance with the standard tile-size stored in the Core
instance.
|
java.util.List<Point> |
Polygon.getVertices() |
| Modifier and Type | Method and Description |
|---|---|
void |
Polygon.addVertex(Point p)
Adds a Point to the Polygon's end that resembles a vertex.
|
boolean |
Polygon.contains(Point p)
Function for test if a Point lies inside the Polygon.
|
boolean |
Line.contains(Point point)
Convenience function.
|
boolean |
Line.contains(Point point,
int totalPointBoxSize)
Function for checking if the Line instance contains a Point.
|
static java.awt.geom.Point2D |
Converter.convert(Point point)
Function for converting a Point into it's java.awt equivalent.
|
private java.util.HashSet<Point> |
Polygon.generatePossibleAdjacentPoints(Point point,
java.util.HashSet<bwapi.TilePosition> checkedTilePositions)
Function for generating the Points that are the direct neighbours of a
provided Point instance with the standard tile-size stored in the Core
instance.
|
Point.Direction |
Point.getDirectionToSecondPoint(Point to)
Convenience function.
|
static Point.Direction |
Point.getDirectionToSecondPoint(Point from,
Point to)
Function for getting the direction of a Point to another one.
|
private boolean |
Polygon.isInsideAndUnchecked(Point point,
java.util.HashSet<bwapi.TilePosition> checkedTilePositions)
Function for checking if a Point is inside the Polygon itself and the
TilePosition generated by it is not already in a HashSet of already
checked TilePositions.
|
| Constructor and Description |
|---|
Line(Point startPoint,
Point endPoint) |
Vector(Point start,
Point end) |
Vector(Point start,
bwapi.Position end) |
Vector(bwapi.Position start,
Point end) |
| Constructor and Description |
|---|
Polygon(java.util.List<Point> vertices) |
| Modifier and Type | Method and Description |
|---|---|
private Point |
PolygonContenderFactory.generateThirdPointForPolygon(bwapi.Pair<bwapi.Unit,bwapi.Unit> mineralAndGeyser,
Point.Direction mineralsToBase,
Point.Direction geysersToBase)
Function for generating another Point for the Polygon, that is inserted
at the third position in the List of vertices.
|
| Modifier and Type | Field and Description |
|---|---|
private Point |
RetreatPositionCluster.leaderPosition |
private Point |
RetreatPositionClusterElement.position |
| Modifier and Type | Method and Description |
|---|---|
Point |
RetreatUnit.defineCurrentPosition()
Function for defining the current Position of the Unit.
|
Point |
RetreatPositionCluster.getAssignedPosition(RetreatUnit retreatUnit)
Function for returning the Point that the given Unit is assigned to.
|
Point |
RetreatPositionClusterElement.getPosition() |
| Modifier and Type | Method and Description |
|---|---|
private RetreatPositionClusterElement |
RetreatPositionCluster.extractClosestFreeClusterElement(Point appliedDirectionPoint)
Function for extracting the closest free cluster element from the
available ones in the matrix.
|
boolean |
RetreatPositionValidator.validatePosition(Point position,
boolean isLeaderPosition)
Function for validating a Position generated by the
RetreatPositionCluster . |
boolean |
RetreatActionGeneralSuperclass.PositionValidator.validatePosition(Point position,
boolean isLeaderPosition) |
boolean |
GroupingAtPositionAction.PositionValidator.validatePosition(Point position,
boolean isLeaderPosition) |
| Constructor and Description |
|---|
RetreatPositionCluster(RetreatUnit leader,
Point leaderPosition,
int distanceBetweenUnits,
int matrixTurnAngleXDEG,
int matrixTurnAngleYDEG,
RetreatPositionValidator retreatPositionValidator) |
RetreatPositionClusterElement(Point position,
boolean isValid) |
| Modifier and Type | Method and Description |
|---|---|
private static boolean |
SteeringFactory.doesIntersectionBelongToChokePoint(bwta.Chokepoint chokePoint,
bwapi.Pair<Line,Point> intersection)
Function for determining if an intersection belongs to a ChokePoint.
|
private static boolean |
SteeringFactory.doesOneIntersectionBelongToChokePoint(bwta.Chokepoint chokePoint,
java.util.List<bwapi.Pair<Line,Point>> intersections)
Function for determining if any intersection of a List of provided
intersections belongs to a ChokePoint.
|
| Modifier and Type | Method and Description |
|---|---|
Point |
PlayerUnit.defineCurrentPosition() |


This keyboard layout was designed for use with the revised Harari Latin orthography adopted by the Harari Community Language schools in Melbourne, Australia. The Latin script is used to teach the younger Harari children their own language.
Here are character sequences for input in Keyman.
| Key sequence | Glyph | Codepoints |
|---|---|---|
| a[ | â | U+00E2 |
| a] | ȧ | U+0227 |
| d] | ḋ | U+1E0B |
| e[ | ê | U+00EA |
| h] | ḣ | U+1E23 |
| i[ | î | U+00EE |
| o[ | ô | U+00F4 |
| s] | ṡ | U+1E61 |
| t] | ṫ | U+1E6B |
| u[ | û | U+00FB |
| z] | ż | U+017C |
| \ | ʼ | U+02BC |


| Total net profit | -12.6 | Gross profit | 9.66 | Gross loss | -22.26 |
| Profit factor | 0.43 | Expected payoff | -0.23 | ||
| Absolute drawdown | -12.6 | Maximal drawdown (%) | 12.03 (-2110.53%) | ||
| Total trades | 54 | Profit trades (% of total) | 29 (53.7%) | Loss trades (% of total) | 25 (46.3%) |
| Long positions (won %) | 24 (70.83%) | Short positions (won %) | 30 (40.0%) | ||
| Largest | profit trade | 0.8 | loss trade | -1.22 | |
| Average | profit trade | 0.33 | loss trade | -0.89 | |
| Minimum | profit trade | 0.06 | loss trade | -0.21 | |
| Maximum | take profit in pips | 8.1 | stop loss in pips | -17.0 | |
| Average | take profit in pips | 4.0 | stop loss in pips | -10.3 | |
| Minimum | take profit in pips | 0.6 | stop loss in pips | -7.2 | |
| Maximum | Reward-Risk | 0.9 | Duration in minutes | 4964 | |
| Average | Reward-Risk | 0.4 | Duration in minutes | 1021.4 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 83 | |
| Maximum | consecutive wins (profit in money) | 7.0 (1.99) | consecutive losses (loss in money) | 4.0 (-3.78) | |
| Average | consecutive wins | 1.0 | consecutive losses | 1.0 |
| Total net profit | -3.25 | Gross profit | 3.44 | Gross loss | -6.69 |
| Profit factor | 0.51 | Expected payoff | -0.14 | ||
| Absolute drawdown | -3.91 | Maximal drawdown (%) | 4.61 (658.57%) | ||
| Total trades | 24 | Profit trades (% of total) | 17 (70.83%) | Loss trades (% of total) | 7 (29.17%) |
| Largest | profit trade | 0.35 | loss trade | -1.22 | |
| Average | profit trade | 0.2 | loss trade | -0.96 | |
| Minimum | profit trade | 0.06 | loss trade | -0.23 | |
| Maximum | take profit in pips | 4.5 | stop loss in pips | -17.0 | |
| Average | take profit in pips | 2.4 | stop loss in pips | -11.8 | |
| Minimum | take profit in pips | 0.6 | stop loss in pips | -10.4 | |
| Maximum | Reward-Risk | 0.4 | Duration in minutes | 3642.0 | |
| Average | Reward-Risk | 0.2 | Duration in minutes | 702.2 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 90.0 | |
| Maximum | consecutive wins (profit in money) | 6.0 (1.24) | consecutive losses (loss in money) | 2.0 (-2.28) | |
| Average | consecutive wins | 2.0 | consecutive losses | 1.0 |
| Total net profit | -9.35 | Gross profit | 6.22 | Gross loss | -15.57 |
| Profit factor | 0.4 | Expected payoff | -0.31 | ||
| Absolute drawdown | -9.35 | Maximal drawdown (%) | 8.78 (-1540.35%) | ||
| Total trades | 30 | Profit trades (% of total) | 12 (40.0%) | Loss trades (% of total) | 18 (60.0%) |
| Largest | profit trade | 0.8 | loss trade | -1.18 | |
| Average | profit trade | 0.52 | loss trade | -0.86 | |
| Minimum | profit trade | 0.31 | loss trade | -0.21 | |
| Maximum | take profit in pips | 8.1 | stop loss in pips | -12.0 | |
| Average | take profit in pips | 5.3 | stop loss in pips | -9.1 | |
| Minimum | take profit in pips | 3.1 | stop loss in pips | -7.2 | |
| Maximum | Reward-Risk | 0.9 | Duration in minutes | 4964.0 | |
| Average | Reward-Risk | 0.6 | Duration in minutes | 1276.8 | |
| Minimum | Reward-Risk | Duration in minutes | 83.0 | ||
| Maximum | consecutive wins (profit in money) | 4.0 (2.13) | consecutive losses (loss in money) | 4.0 (-3.78) | |
| Average | consecutive wins | 1.0 | consecutive losses | 2.0 |


Code source on Github
2 disks with rotation
2 disks with rotation and spaghetti
2 disks with user variations
2 disks with user variations and sound
Vibrating Starn
Medusa or not Medusa


Geographic coordinates are measured as latitude and longitude.
The
latitude is a small circle parallel to the equator (0° to 90° north and
0° to 90° south).
Longitudes are great circles connecting the north and the south pole.
(0° to 180° east and 0° to 180° west).


above |
K'an The Abysmal, Water |
|
below |
Li The Clinging, Flame |
After Completion. Success in small matters.
Perseverance furthers.
At the beginning good fortune,
At the end disorder.
Water over fire: the image of the condition
In After Completion.
Thus the superior man
Takes thoughts of misfortune
And arms himself against it in advance.
Nine at the beginning means:
He brakes his wheels.
He gets his tail in the water.
No blame.
Six in the second place means:
The woman loses the curtain of her carriage.
Do not run after it;
On the seventh day you will get it.
Nine in the third place means:
The Illustrious Ancestor
Disciplines the Devil's Country.
After three years he conquers it.
Inferior people must not be employed.
Six in the fourth place means:
The finest clothes turn to rags.
Be careful all day long.
Nine in the fifth place means:
The neighbor in the east who slaughters an ox
Does not attain as much real happiness
As the neighbor in the west
With his small offering.
Six at the top means:
He gets his head in the water. Danger.


by Curtis Edmonds --<EMAIL_ADDRESS>Moviemaking is a lot like being the general manager of an NFL team in the post-salary cap era -- you've got to know how to allocate your resources. Every dollar spent on a free-agent defensive tackle is one less dollar than you can spend on linebackers or safeties or centers. In the NFL, this leads to teams like the Detroit Lions, who boast a superstar running back with a huge contract, but can only field five guys named Herb to block for him. In the movies, you end up with films like "Spawn", with a huge special-effects budget but not enough money to hire any recognizable actors.
Jackie Chan is the Barry Sanders of moviemaking. He spins and darts across the screen like Sanders cutting back through the defensive line. Watching Jackie in Operation Condor as he drives his motorcycle through the crowded streets of Madrid, fleeing an armada of pursuers in identical black compact cars, is reminiscent of Sanders running for daylight with the Chicago Bears in hot pursuit, except that Sanders doesn't have to worry about rescuing runaway baby carriages.
But like the Lions star, Jackie doesn't have anybody to block for him.
Almost every cent that's invested in a Jackie Chan movie goes for stunts, and as Chan does his own stunts, the rest of the money goes to pay his hospital bills. This leaves about 75 cents to pay for things like directors (Chan directs), scripts and dubbing and supporting characters, not to mention the hideous title sequence. This also explains why the movie was shot in odd places like Morocco and Spain. (Chan's first release in this country, "Rumble in the Bronx", was supposedly set in New York, but was filmed in Vancouver, and in the chase scenes the Canadian Rockies are clearly visible.) Heck, Jackie doesn't even have enough money for a haircut, looks like, much less a personal hairstylist.
In Condor, Chan plays the same character he's always played, himself, a mixture of Bruce Lee and Tim Allen, a master of both kung-fu and slapstick-fu. Jackie is sent by the UN to retrieve a cache of lost Nazi gold in the North African desert, and is chased by a horde of neo-Nazi sympathizers and two stereotypical Arabs (one of the things I like about Jackie Chan movies: no political correctness).
En route, we have an extended motorcycle chase scene, a hilarious fight in the Moroccan version of Motel 6 with the neo-Nazis, and two confrontations with savage natives. Once at the secret desert base, there is a long chop-socky sequence, followed by the film's centerpiece, a wind-tunnel fight that's even better than the one in Face/Off.
This is where the money was spent, on well-choreographed kung-fu sequences, on giant Kevlar hamster balls, on smashed-up crates of bananas, and on scorpions. Ignore the gaping holes in the plot (how, exactly, if the villain's legs were broken, did he escape from the secret Nazi base, and why didn't he take the key with him?). Don't worry about the production values, or what, exactly, the Japanese girl was doing hitchhiking across the Sahara. Just go see the movie.
Operation Condor has pretentions of being a "Raiders of the Lost Ark" knockoff, but one wonders what Jackie could do with the Raiders franchise blocking for him -- with a Lawrence Kazdan screenplay, a John Williams score, Spielberg directing and George Lucas producing, Condor might be an A+ movie. However, you've got to go with what you've got, and what you've got in Jackie Chan is something special -- a talent that mainstream Hollywood should, could, and ought to utilize.
Rating: A-
-- Curtis "BlueDuck" Edmonds<EMAIL_ADDRESS>The Hollywood Stock Brokerage and Resource Your guide to the Hollywood Stock Exchange -- http://www.hsx.com http://www.hsbr.org/brokers/blueduck/
"I don't want to study law," she said with the same tone as if she had been saying, "I don't want to turn into a cockroach."
-- Mark Helprin, "A Soldier of the Great War"
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


You can use DecimalFormat to parse and format various numbers in any locale. Use DecimalFormat(pattern) constructor to create new formatter. The formatter consists of pattern and symbols. Symbols can be changed using specific API.
Example:
new DecimalFormat(##.##).setDecimalSeparator(,)
| pattern | positivePattern {;negativePattern} |
| positivePattern | {prefix}integer{.fraction}{suffix} |
| negativePattern | the same structure as for the positivePattern |
| prefix | \\u0000..\\uFFFD - characters |
| suffix | the same structure as for the prefix |
| integer | '#'*'0'*'0' |
| fraction | '0'*'#'* |
Used notation:
0 is used for minimum integer digits denotion, # - for maximum.
{} means optional, * - repetitive (zero or more times)
Example:
for pattern #,##0.### the number 123456789.123 can be formatted as 123,456,789.123
If optional negativePattern is absent, then positivePattern is prefixed with the localized minus sign. We use negativePattern to specify negative prefix and suffix. Such characteristics as number of digits, minimal digits and other are the same as in the positivePattern. So we do not obliged to specify negativePattern if it the same as the positivePattern except minus(-) sign.
Digits, separators, prefixes, suffixes and others may be set to arbitrary values. But be careful when setting the strings and symbols. They must be distinct and cannot collide. For example, if group and decimal separators are the same formatter will not be able to parse the number.
Grouping separator is a constant number of digits used to separate thousands or ten-thousands (in some countries). Do not use various number of digits between two group separators.
You can use the following characters in the formatting pattern:
| 0 | a digit - always displayed, even if number has less digits (then 0 is displayed) |
| # | a digit, leading zeroes are omitted |
| . | decimal separator |
| , | grouping separator |
| E | separation of mantissa and exponent for exponential formats |
| ; | separates positive and negative subpatterns |
| - | marks the negative number prefix |
| % | multiplies by 100 and shows number as percentage |
| ‰ (\u2030) | multiplies by 1000 and shows number as per mille |
| ¤ (\u00A4) | currency sign - replaced by the currency sign for the Locale. Also makes formatting use the monetary decimal separator instead of normal decimal separator. ¤¤ makes formatting use international monetary symbols |
| ‘ (\u2018) | marks a quote around special characters in prefix or suffix of formatted number |


Clicking on the Test Rules element in the navigator window opens an interface in the work window and interacts with the /rules/rule-check end point of Eiffel Intelligence. This interface can be used to test rules on events.
The graphical user interface for testing rules consists of two panes. Left pane is intended to add the rules and right pane is intended for adding the Eiffel events.
Add buttons are for adding new rules/events. When you click on one of them, a new text area will show up. Then you can write or paste rule/event into it. There can be only one JSON object per text area. This means that it is not allowed to have more than one rule/event per text area.
Load buttons are for loading rules/events from external files. The file content should be formatted as JSON objects in a JSON list, ex. [{Object1}, {Object2}]. After clicking on the button, it is possible to choose between replacing and appending to already written rules/events. A pop-up window with those two options shows up.
After that, you need to choose from which file you want to load rules/events.
When the file has been chosen, rules or events are loaded into text areas. In this example events template was loaded and the result can be seen on the image below.
Download buttons are for downloading edited rules/events. This enables to edit rules/events locally and then upload them using above mentioned “Load From File” buttons.
By clicking on "Get Template" buttons you will download rules respective events template. Rule´s template contains 3 rules and event´s template contains 3 events.
Rules Template
[ { "TemplateName": "ARTIFACT_TEST", "Type": "EiffelArtifactCreatedEvent", "TypeRule": "meta.type", "IdRule": "meta.id", "StartEvent": "YES", "IdentifyRules": "[meta.id]", "MatchIdRules": { "_id": "%IdentifyRules_objid%" }, "ExtractionRules": "{ id : meta.id, type : meta.type, time : meta.time, gav : data.gav, fileInformation : data.fileInformation, buildCommand : data.buildCommand }", "DownstreamIdentifyRules": "links | [?type=='COMPOSITION'].target", "DownstreamMergeRules": "{\"externalComposition\":{\"eventId\":%IdentifyRules%}}", "DownstreamExtractionRules": "{artifacts: [{id : meta.id}]}", "ArrayMergeOptions": "", "HistoryIdentifyRules": "links | [?type=='COMPOSITION'].target", "HistoryExtractionRules": "{internalComposition:{artifacts: [{id : meta.id}]}}", "HistoryPathRules": "{artifacts: {id: meta.id}}", "ProcessRules": null, "ProcessFunction": null }, { "TemplateName": "ARTIFACT_TEST", "Type": "EiffelArtifactPublishedEvent", "TypeRule": "meta.type", "IdRule": "meta.id", "StartEvent": "NO", "IdentifyRules": "links | [?type=='ARTIFACT'].target", "MatchIdRules": { "_id": "%IdentifyRules_objid%" }, "ExtractionRules": "{ publications :[ { eventId : meta.id, time : meta.time, locations : data.locations }] }", "ArrayMergeOptions": "", "HistoryIdentifyRules": "", "HistoryExtractionRules": "", "ProcessRules": null, "ProcessFunction": null }, { "TemplateName": "ARTIFACT_TEST", "Type": "EiffelConfidenceLevelModifiedEvent", "TypeRule": "meta.type", "IdRule": "meta.id", "StartEvent": "NO", "IdentifyRules": "links | [?type=='SUBJECT'].target", "MatchIdRules": { "_id": "%IdentifyRules_objid%" }, "ExtractionRules": "{confidenceLevels :[{ eventId:meta.id, time:meta.time, name:data.name, value:data.value}]}", "ArrayMergeOptions": "", "HistoryIdentifyRules": "", "HistoryExtractionRules": "", "ProcessRules": null, "ProcessFunction": null } ]
Events Template
[ { "meta": { "id": "df4cdb42-1580-4cff-b97a-4d0faa9b2b22", "type": "EiffelArtifactCreatedEvent", "version": "1.1.0", "time":<PHONE_NUMBER>194, "tags": [], "source": { "domainId": "someDomain", "host": "someHost", "name": "someName", "serializer": { "groupId": "com.github.Ericsson", "artifactId": "eiffel-remrem-semantics", "version": "0.0.10" }, "uri": "http://host:port/path" }, "security": { "sdm": { "authorIdentity": "test", "encryptedDigest": "sample" } } }, "data": { "gav": { "groupId": "someGroup", "artifactId": "someArtifact", "version": "someVersion" }, "fileInformation": [ { "classifier": "", "extension": "war" } ], "buildCommand": "trigger", "requiresImplementation": "NONE", "dependsOn": [ { "groupId": "", "artifactId": "", "version": "" } ], "implements": [], "name": "event", "customData": [] }, "links": [ { "type": "CAUSE", "target": "f2752b34-e4d6-4d6e-8ea8-e5e17aa9e1b3" } ] }, { "meta": { "id": "e3be0cf8-2ebd-4d6d-bf5c-a3b535cd084e", "type": "EiffelConfidenceLevelModifiedEvent", "version": "1.1.0", "time":<PHONE_NUMBER>324, "tags": [], "source": { "domainId": "someDomain", "host": "someHost", "name": "someName", "serializer": { "groupId": "com.github.Ericsson", "artifactId": "eiffel-remrem-semantics", "version": "0.0.10" }, "uri": "http://host:port/path" }, "security": { "sdm": { "authorIdentity": "true", "encryptedDigest": "true" } } }, "data": { "name": "dummy_1_stable", "value": "SUCCESS", "issuer": { "name": "", "email": "", "id": "", "group": "" }, "customData": [] }, "links": [ { "type": "SUBJECT", "target": "df4cdb42-1580-4cff-b97a-4d0faa9b2b22" } ] }, { "meta": { "id": "2acd348d-05e6-4945-b441-dc7c1e55534e", "type": "EiffelArtifactPublishedEvent", "version": "1.1.0", "time":<PHONE_NUMBER>758, "tags": [], "source": { "domainId": "someDomain", "name": "someName", "serializer": { "groupId": "com.github.Ericsson", "artifactId": "eiffel-remrem-semantics", "version": "0.0.10" } } }, "data": { "locations": [ { "type": "NEXUS", "uri": "http://host:port/path" } ], "customData": [] }, "links": [ { "type": "ARTIFACT", "target": "df4cdb42-1580-4cff-b97a-4d0faa9b2b22" } ] } ]
"Clear All" buttons remove all rules respective events. After clicking on button, a pop-up window shows up and asks for confirmation. After confirming all rules or events are removed.
It is possible to use curl to get required information. To get information about test rules status, if this functionality is enabled in back end or not, you can execute command below.
curl -X GET http://<host>:8080/rules/rule-check/testRulePageEnabled?backendurl="http://<IP_ADDRESS>:8090/"
To execute rules on specific events with curl, you need to create a JSON file with rules and events. File should contain:
{ "listEventsJson": [ {Event1}, {Event2} ... ], "listRulesJson": [ {Rule1}, {Rule2}, ... ] }
And then run curl command below.
curl -X POST -d "@<path to file>" -H "Content-Type: application/json" http://<host>:8080/rules/rule-check/aggregation?backendurl="http://<IP_ADDRESS>:8090/"
More information about how to write rules can be found here.


View on GitHub
Select a constellation to draw:
Animate:
Animation speed
1
Stars twinkle:
Twinkle timescale
70
ms
Twinkle amplitude
1
Draw lines:
Slideshow delay between constellations
4000
ms
Fade between constellations:
Fade duration
750
ms
Random selection weights:
Popular
Strking
Medium
Small
Draw
Draw random constellation
Random slideshow
Stop
(New settings may not take effect until a new constellation is drawn. This degree of interactivity is provided for experimentation and is not seen as a likely use case for this library.)


WITNESS LIST Finance Committee March 23, 1999-9:00A Adjutant General's Department On: Cargile, Eugene D. (Adjutant General's Department), Austin Marty, Wayne D. (Adjutant General's Department), Austin Commission on Fire Protection On: Warren, Sr., Gary L. (Texas Commission on Fire Protection), Austin Juvenile Probation Commission On: Brooke, Linda (Texas Juvenile Probation Commission), Austin Fabelo, Tony (Criminal Justice Policy Council), Austin Spriggs, Vicki (Texas Juvenile Probation Commission), Austin Vice, Sandra (State Auditor's Office), Austin Local Continuing Educ. for Officers THIS LIST HAS NO WITNESSES. Military Facilities Commission On: Malcolm, Jerry D. (Texas Military Facilities Commission), Austin McElhaney, Mike (Governor's Office of Budget & Planning), Austin Polygraph Examiners Board THIS LIST HAS NO WITNESSES. Private Investigators/Security Agen On: Kimbrough, Jay (Board of Private Investigators & Private Security Agencies), Austin TCLEOSE On: Dozier, Jim (Commission on Law Enforcement Officer Standards & Education), Austin Youth Commission On: Graham, Terry (Texas Youth Commission), Austin Robinson, Steve (Texas Youth Commission), Austin


CanvasClip ( ImgSlot, src_x, src_y, src_w, src_h, flag )
Saves a portion of the current canvas to an image slot.
NOTE: THIS ROUTINE SHOULD NOT BE USED DURING
SPEED CRITICAL MOMENTS OF YOUR PROGRAM
Flag - If 0 then saved image will be accessible from any window at the expense of speed
If Flag is 1 then saved image will only be accessible in the window it was created
Example:
CanvasClip ( 1, 0, 0, 50, 50, 1 )


--help display this help and exit
--version output version information and exit
Print the value of EXPRESSION to standard output. A blank line below separates increasing precedence groups. EXPRESSION may be:
ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2
ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0
ARG1 < ARG2 ARG1 is less than ARG2
ARG1 <= ARG2 ARG1 is less than or equal to ARG2
ARG1 = ARG2 ARG1 is equal to ARG2
ARG1 != ARG2 ARG1 is unequal to ARG2
ARG1 >= ARG2 ARG1 is greater than or equal to ARG2
ARG1 > ARG2 ARG1 is greater than ARG2
ARG1 + ARG2 arithmetic sum of ARG1 and ARG2
ARG1 - ARG2 arithmetic difference of ARG1 and ARG2
ARG1 * ARG2 arithmetic product of ARG1 and ARG2
ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2
ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2
STRING : REGEXP anchored pattern match of REGEXP in STRING
match STRING REGEXP same as STRING : REGEXP
substr STRING POS LENGTH substring of STRING, POS counted from 1
index STRING CHARS index in STRING where any CHARS is found, or 0
length STRING length of STRING
+ TOKEN interpret TOKEN as a string, even if it is a
keyword like 'match' or an operator like '/'
( EXPRESSION ) value of EXPRESSION
Beware that many operators need to be escaped or quoted for shells. Comparisons are arithmetic if both ARGs are numbers, else lexicographical. Pattern matches return the string matched between e( and e) or null; if e( and e) are not used, they return the number of characters matched or 0.
Exit status is 0 if EXPRESSION is neither null nor 0, 1 if EXPRESSION is null or 0, 2 if EXPRESSION is syntactically invalid, and 3 if an error occurred.
Written by Mike Parker, James Youngman, and Paul Eggert.
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report expr translation bugs to <http://translationproject.org/team/>
Copyright © 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
Full documentation at: <http://www.gnu.org/software/coreutils/expr>
or available locally via: info (aq(coreutils) expr invocation(aq


The Game
Game Screens
ZooKillSoccer - Start Screen
Welcome to ZooKillSoccer
ZooKillSoccer
ZooKillSoccer - game Screen
ZooKillSoccer - You Won Screen
You Won!

Game Score:
0
Welcome to ZooKillSoccer
ZooKillSoccer
You Won!
You Lost!


AFCON U23: Egypt vs. Ivory Coast final, Ghana vs. SA for last Olympic 2020 slot
by Abdur Rahman Alfa ShabanEgypt is hosting the Under-23 African Cup of Nations, AFCON, months after it hosted the AFCON proper. The event is running between November 8 – 22, 2019.
At the semi-final stage, there is sure to be a new champions after the defending champions, Nigeria, failed to make it past the group stages.
The winners, second and third-place teams automatically qualify to represent Africa in the Olympic Games slated for 2020.
Ghana lost their semi final fixture with Ivory Coast and is set to face South Africa in the third-place match. The Winner becomes the third African representative at the Tokyo Olympics.
The Ivorian side will now face the hosts Egypt in the final on November 22. Egypt thumped South Africa by three unanswered goals. The Ivorians needed penalties to eliminate Ghana after a two-all drawn game at the end of extra time
With two groups of four teams each, the Egyptian capital Cairo hosted the entire tournament with the Cairo and Al Salam stadiums being the venues.
GROUP A finished with Egypt topping with 9 points. Ghana edged out Cameroon with superior goal difference after both teams finished with four points apiece. Mali came last with zero points.
In GROUP B, Ivory Coast topped with six points whiles South Africa bagged five points. Defending champions Nigeria managed four points whiles Zambia finished bottom with a point.
In the knockout stage, extra time and penalty shoot-out are used to decide the winner if necessary. An exception is with the third place match where extra-time will be skipped for shootouts to decide.


She uttered something---but I couldn't quite make it out but I thought she called Typography, "absolutely beautiful." Certainly more useful than an 11" 11\" ruler for measuring in feet.
This copy has been in ``semi-progress'' from 1972--2015 ... even moreso in the recent '10s.
(c) (r) (tm) ... and let's not forget 98.6(deg)F
'foo' "this" ... par=`foo`]]
'foo' "this" ... [*content?par=`foo`]]


v1.0.1
What's new
Support
Live Preview
Getting Started
Introduction
File Structure
Customization
Changelog
Components
Typography
Alerts
Badges
Buttons
Cards
Forms
Icons
Pagination
Plugins
Ajaxchimp
Magnific Popup
Multiselect
Swiper
jQuery Validate
Utilities
Background
Color
Shadow
Spacing
Transform
Hello World
Introduction
CSS
JS
Hello world
#
How Are u?
def
static
(
path
):
pass


Adyen API Library for ruby
Payments are authenticated via webservice username and password.
adyen.ws_user =<EMAIL_ADDRESS>adyen.ws_passord = "super_secure_password123"
The Payments service can be used to authorise and modify payments by sending data directly to Adyen's servers.
The simplest example is an authorise call with raw card data:
response = adyen.payments.authorise('{
"card": {
"number": "4111111111111111",
"expiryMonth": "08",
"expiryYear": "2018",
"holderName": "Test Person",
"cvc": "737"
},
"amount": {
"value": 1500,
"currency": "USD"
},
"reference": "YOUR_REFERENCE",
"merchantAccount": "YOUR_MERCHANT_ACCOUNT"
}')
You can then capture the payment with a subsequent call to the capture method:
response = adyen.payments.capture('{
"merchantAccount": "YOUR_MERCHANT_ACCOUNT",
"originalReference": "<PSP reference from authorise response>",
"modificationAmount": {
"value": 1500,
"currency": "USD"
}
}')
Refunds and cancellations work in the same way.
The adjust_authorisation method can be used to change the amount of an authorisation after the initial submission. However this is only available for certain MCC's, so please contact<EMAIL_ADDRESS>before sending your own requests.


Braxton Perry
(They/Them)
Developer
Braxton is a multidisciplinary software developer and technologist who has a varied background working with almost every technology and programming language. Their educational background is based in the physical arts, allowing them to approach technical problems from a uniquely human-first viewpoint. They are also deeply interested in the ever increasing intersection of interaction and dependance between humans and technology.


Welcome to Best Cars dealership, home to the best cars in North America. We sell domestic and imported cars at reasonable prices.


{% extends "base.html" %} {% block body %} What's This? A repository for all your OLTP experiment results. A tool eliminates the tedious burden of visualizing your experiments. A smart adviser unveils potential improvements for your database. Sign up now! Learn more »
Sign up now! Learn more »


apa.cls is a document class for typesetting manuscripts with LaTeX
according to the rules of the 5th edition (2001) of the
Publication Manual of the
American Psychological Association.
It simplifies writing of the manuscript, taking
care of appearance and leaving only the content to the author (in true
LaTeX fashion) and it also allows both for manuscript look and journal
look with a simple option to the class-loading command.
Note:
apa.cls is not in any way connected to or endorsed by
the American Psychological Association.
An article (in Greek) about apa.cls
can be found in the first issue of
Eutupon, the
magazine of the
Greek Tex Friends Group.
A more recent
article in English is also availabe.
Warning:
apa.cls has a well defined scope and purpose, and I'm already too busy for it.
Please don't request modifications or features that are not related to the
stated purpose (which is to create manuscripts suitable for submission to APA journals
and to typeset these same manuscripts in true journal look). For example, if you
want the figures in the manuscript text but the rest as in man mode, then you're
on your own as to how you might modify apa.cls (or not) to achieve that.
In particular, if you want to write your thesis, apa.cls is not for you.
Please do not write to me asking for help with this. Use apacite for APA-style
citations and write your own typesetting code or
search for a thesis class suitable for your University.
Manuscript look (man mode)
In man mode, apa.cls typesets a title page, abstract page, text body, then
references, appendices, author notes, footnotes, tables, figure captions, and
figures. All text is double spaced. The title page contains
the (centered) title, author name, affiliation, short title, and the
running head (automatically capitalized). A note may be inserted in
place of each table and figure in the text.
The title is printed as a heading at the beginning of the text. \leftheader
is ignored while the contents of \note are printed under the author
names and affiliations, typically the date of submission. The “Author
Notes” page contains the contents of \acknowledgements. A footnote
page is produced if there is at least one footnote in the text.
Printed journal look (jou mode)
In jou mode, apa.cls typesets the text in double-sided, double column format, with
an appropriately centered title, author names, affiliations, note,
and abstract. The contents of acknowledgements are printed as
footnotes in a box at the lower left corner of the first page.
Journal-like headers can also be produced on the first page.
Dimensions and overall “look” are modeled after
JEP:HPP. The purpose
of this format is to produce readable and reasonably condensed output
for double-sided printing and distribution.
Regular LaTeX look (doc mode)
In doc mode, apa.cls typesets the text in single-sided,
single-column format, with
an appropriately centered title, author names, affiliations, note,
and abstract on the first page. The contents of acknowledgements are
printed at the bottom of the first page. Section headings and
enumeration follow the APA guidelines and floats (figures and tables)
are inserted in the text where they are defined, as in regular LaTeX
articles.
The purpose of this format is to provide hardcopies during the
development of articles that are later going to be submitted (using
the manuscript format) and distrubuted (using the journal
format). The advantage over using a regular article class is that all
the extra definitions are supported and no changes need thus be made
to the text other than the format parameter.
apa.cls is written and maintained by
Athanassios Protopapas, who currently works at the
Institute for Language & Speech Processing in Athens, Greece.
The current version is 1.3.4, released on December 9th, 2008. It can found
on CTAN,
the LaTeX Catalogue,
or it may be downloaded from here. There are no more recent
“working” versions at this time.
apa.cls is distributed under the terms of the
LaTeX Project Public License
(lppl). In short, this means that the software is copyright but you are granted
“a license which gives you, the ‘user’ of the software,
legal permission to copy, distribute, and/or modify the software.
However, if you modify the software and then distribute it (even just
locally) you must change the name of the software to avoid confusion”
(quoted from
The TeX Catalogue License Definitions).
The history of apa.cls revisions can be found in the CHANGELOG file.
There is still a lot of work to be done before apa.cls can be considered
sufficiently complete. Unfortunately I don't have much time to devote to
it any more, so updates are few and far between. I am quite ready to hand over the honor
of maintaining apa.cls to someone fresh and willing. If you think apa.cls is
worth some of your time and you would like to contribute to it, be sure
to let me know. Alternatively,
feel free to work on one of the following topics (or something else you think is
missing or in need of improvement) and send me the result:
- Stop messing with captions and use a standard package such as caption2 or ccaption for all cases
- Stop messing with endfloat and use loflot or other appropriate package for the captions page
- Use fancyhdr for all headings in all modes
- Set entire appendix in smaller font size (including headings)
- Follow manual guidelines for table "Note" vs. probabilities (3.70/p. 170)
- Turn wide tables sideways automatically
- Clean up the font act — remove rm/hrm/hsl etc.
- Use the geometry package to set margins taking into account paper size (letter, A4)
- Add contact information command and field for first page (man mode only)
- Confirm need for continuation note at page end required with long tables (5.21/p. 301) and modify accordingly.
Although this is a purely “free time” project for me, in general
I have tried to be responsive about requests related to apa.cls and
especially when bugs or other problems are involved. Do not hesitate
to contact me if you encounter
difficulties or unexpected (or unacceptable) behavior when using apa.cls
to prepare manuscripts for submission, after you have searched
apacls.txt and
examples.txt
and failed to find an answer to your problem. Don't even think about writing
to me about using apa.cls for any purpose other than preparing an APA style
manuscript for submission to a journal.
apa.cls was created a long time ago out of stylefile mutations based on
theapa
style by Young U. Ryu. Some of Young Ryu's code still survives in the current
version, in particular the sectioning and seriation/enumeration commands.
Many people have contributed to the development of apa.cls through bug reports,
suggestions and requests for features and improvements, and even some actual code!
The name of every contributor is mentioned in the CHANGELOG and
I am grateful to them all.
Other than a running LaTeX2e installation and the
apacite
package for APA style citations (sty and bst), there isn't much you need in order
to use apa.cls. Required packages for man mode are
endfloat and
endnotes.
For jou mode there are no required packages, but
fancyhdr,
ftnright,
txfonts (or
pslatex, or
times and
mathptm), and
flushend are nice to have
(after all, you want your article to really look like published, don't you?).
apa.cls is distributed with two files you must read carefully before trying to use it,
apacls.txt and
examples.txt. An online version of those instructions follows. You may also examine apaexample.tex (and the accompanying bibliography file examplebib.bib), which contains a minimal complete sample “article” that can be processed using apa.cls to produce an APA-style manuscript.
To use apa.cls, include one of the following at the top of your document preamble:
\documentclass[jou]{apa}
\documentclass[man]{apa}
\documentclass[doc]{apa}
You should not load the article class because it is automatically called by apa.cls.
You should also not load any of the required or optional packages mentioned above
using the command \usepackage because they are automatically loaded by
apa.cls in the appropriate order.
In the preamble of your document, define the basic manuscript information:
\author{First Author and Second Author}
\affiliation{Department of Both Authors\\ University}
If there is only one author or more than one author but all in the same department, use
the \author command as in the above example, with all names in its argument; and use the \affiliation command for the department.
If there are people from two different departments, use the \twoauthors
and \twoaffiliations commands to group them appropriately:
\twoauthors{First Author(s)}{Second Author(s)}
\twoaffiliations{Affiliation of 1st Author(s)}{Affiliation of 2nd Author(s)}
For three affiliations use \threeauthors and \threeaffiliations,
and for four affiliations there's \fourauthors and \fouraffiliations. Five and six affiliations (and corresponding authors or author groups) are similarly supported (\fiveauthors and so on). If there
are more than six departments involved you're out of luck with apa.cls and I doubt they would fit on the title page anyways.
In addition to authors and their affiliations, you should also define the following:
\abstract{Text of your abstract...}
\acknowledgements{Author notes, acknowledgements, contact information...}
\rightheader{Running head for journal look}
\shorttitle{Short title for manuscript header}
\leftheader{Left head for journal look}
These fields are not technically necessary for the document to pass through LaTeX, though they
are obligatory for any real APA-style manuscript. If you don't define a right header
or short title, they default to the title; if you don't define a left header, it
defaults to the author name(s).
You may also define a note if you want:
\note{Date of current draft; or status; or additional address information...}
If you really want your document to have the journal look, you should also define
the fields for the first page header, which in the journals hold
reference and copyright information. In apa.cls there are:
\journal{Journal name}
\volume{Volume, number, pages}
\ccoppy{Copyright notice}
\copnum{Serial number or other reference}
The content of these definitions is ignored in man mode (manuscript look),
of course.
After these definitions in the preamble, you begin your manuscript in the
regular LaTeX way and invoke the command to make the title page:
\begin{document}
\maketitle
Do not leave a blank line between these two commands. Also, do
not leave a blank line between \maketitle
and the beginning of your (introduction) text, either. This is
important for the correct typesetting of the first manuscript page.
The default sectioning for apa.cls maps the standard LaTeX sectioning
commands \section, \subsection, and \subsubsection to
the three-level heading definitions of the APA manual. See
examples.txt for usage examples.
If you need
more or fewer heading levels, you can use the command \headinglevels{four}
(or any number between one and five—spelled out—instead of four)
and then use \paragraph and \subparagraph for the lower-level
sectioning.
Actually, if you need fewer than three levels you don't really need to do anything
other than use only \section and \subsection, but if you do
invoke the \headinglevels command, then the appearance of the manuscript
will strictly conform to the APA guidelines for the fewer levels.
Note: Don't bother to \label your sections; since they are not
numbered according to APA style, they cannot be referenced elsewhere in the document
using \ref, so there is no point in labeling them.
See file apaenum.txt in the
apa.cls distribution. Enumeration and seriation are taken without
modification from Young U. Ryu's code. In short, there are three kinds
of environments, called seriate, enumerate, and
itemize. They are used in the same way the standard LaTeX environments
enumerate and itemize are used, but produce output according
to the APA style. The seriate
environment is used for inline enumeration, when you want to say, for example
(a) one thing, (b) another thing, and (c) maybe a third thing, all in APA style.
Floats, that is, figures and tables, are used in the regular LaTeX way,
through the figure and table environments, respectively.
You can use the t and b options for selectively putting
a float at the top or bottom of a page. Always include p after
t or b so that you won't risk
running out of space if a float is too big. The h option for
in-text figures is not recommended because it's not used in APA journals.
Remember to use \label for floats after the caption
(and not inside it!)
Images
I assume that in figures we most often want to include an image for some graph
or other kind of picture which is stored in a separate image file of
the right kind (eps if we use latex with dvips,
pdf if we use pdflatex or latex with dvipdfm).
An image can be included in any way you like, but apa.cls provides
a way to deal automatically with fitting encapsulated postscript (EPS)
files without worrying about dimensions or mode. Just use the command
\fitfigure instead of \includegraphics.
For example, if you want to include a graph from file graph1.eps, the
simplest (and recommended) way is:
\begin{figure}[tp]
\fitfigure{graph1}
\caption{This is the caption of the figure.}
\label{fig:fig1}
\end{figure}
You may include the image file extension (.eps in this case)
in the \fitfigure or \includegraphics command,
but if you omit it (as in the example), then if you happen to use pdflatex it
will automatically load the corresponding .pdf graphic file (assuming
you have made one with eps2pdf), while dvips will load the
.eps file. In short, you don't need the extension, and leaving it out
may make your life easier.
In case of a bitmap eps (as opposed to a graph or line drawing), you
probably don't want it scaled in man mode, for best reproduction, so
use \fitbitmap instead.
Note: If you want to include images in your manuscript, don't forget the command
\usepackage{graphicx} in your preamble! You should
not use
epsfig or graphics instead of graphicx.
Tables
Tables are stretched to occupy the corresponding text width and are placed with
appropriate typefaces etc., but it is your responsibility to format the
tabular environments
in accordance with the APA guidelines (e.g., no vertical lines, and so on).
You should always precede the actual table body with its
caption (i.e., use \caption before \begin{tabular})
or the results won't be conforming to the APA requirements for tables.
To match the APA-journal look you can use \thickline (instead of
\hline) for the top separator (right after starting the tabular
environment).
Because a paragraph break is inserted in manuscript mode (optionally with an
“insert table/figure” note), don't define tables in the middle of a
paragraph.
Wide (two-column) tables and figures
When an image or table is too wide for a single column, use a double-column
float, noted with an asterisk after the float environment designation (see
the LaTeX book). For a wide (two-column) figure, use \begin{figure*}
and \end{figure*}, instead of beginning and ending {figure}.
For a two-column table, similary, begin and end a table* environment.
When using double column figures, it looks better in jou mode
if you use \centeredcaption instead of caption, with the first parameter
about equal to the width of the float (table or figure). This makes no difference in
man mode.
If your table is too wide to fit upright on a manuscript page, load the rotating
package and use a sidewaystable environment (instead of table). You
need the special configuration file
endfloat.cfg, supplied with apa.cls,
for this to work.
Long tables
By popular demand,
longtable now (sort of) works with
apa.cls. You must not load the longtable
package yourself, due to precedence requirements for proper endfloat
function and cross-definitions. Instead, pass the longtable
option to apa.cls. See the
longtable documentation or
the LaTeX Companion for instructions on using longtable.
Since longtable only works in single-column documents it can only be
used with man mode. Unfortunately the conditional compilation
(ifapamode) commands won't work
to keep a single table body and apply a mode-specific (table or
longtable) environment because of illegal cross-nesting with
environment begin/end. In fact the table environment won't even work
inside in ifapamode argument, which makes it impossible to have a
single file that can be processed for both man and jou. This defeats
the purpose of apa.cls, so only resort to longtable if you absolutely
have to.
You will need the supplied endfloat.cfg to use it.
A simpler, less clean solution for long tables (not using any specialized package) is
shown on page 47 of an article about apa.cls.
Notes in tables
There is a simple way to include notes in
tables such as, for example, to indicate levels of significance. The
command \tabfnm{X} inside a table cell (tabular environment) produces
the note mark. Use \tabfnt{X}{Note text} immediately before or after
\end{tabular} inside the table environment to produce the note text.
See examples.txt. It is not possible
to number the notes automatically, but since it is frequently necessary to refer
to the same note repeatedly within a table (e.g., for a level of significance),
automatic numbering would create more problems than it would solve.
You can have some text appear differently in each mode, or only appear
in some mode(s). You can also modify the appearance of tables,
figures, or equations between modes of compilation. Here's an
unexciting example:
\ifapamodeman{This is printed in man mode only}{This is not man mode}
You can also use the three-way switch:
The current mode is \ifapamode{man}{jou}{doc}
The journal format (jou mode) uses Times Roman by default (it does look like
published after all). If you don't have txfonts.sty or pslatex.sty or times.sty, or
if you just prefer computer modern fonts, add notimes after the jou option
in the class line: \documentclass[jou,notimes]{apa} (notimes has no
effect in modes other than jou and may be left in when switching).
The manuscript format (man mode) uses Computer Modern by default but can use
Helvetica or typewriter look by using the options helv or tt,
respectively. I find the result with either of these much more
“manuscript”-like looking, especially using tt
(\documentclass[man,tt]{apa}), but that's a matter of taste.
These options have no effect in modes other than man
and may be left in when switching.
In the document format (doc mode), Computer Modern are used be default
and should probably be used all the time since, after all, this is supposed to
be the most “regular” LaTeX-like format.
By default, apa.cls uses the
apacite
package by Erik Meijer for citations which offers complete coverage and excellent conformance
to APA guidelines, including apacite handling of electronic sources
and non-English language forms.
You should count on using bibTeX with the corresponding
apacite.bst
style file for your bibliography. Citation commands include the standard bibtex
options such as \cite but there are substantial extensions to cover other needs
such as contracted vs. full author lists, author name only or year only for complex
constructions, text preceding or following reference list in parentheses etc.
For instructions on using the various citation forms and output examples get
apacite.tex,
testAPA.tex, and
readme.apa
from the CTAN mirror near you.
At the end of your document, before any appendices, issue the \bibliography
command with the file names of the relevant bib files (standard bibtex usage). Do not use a
\bibliographystyle command, because apacite
is selected and loaded automatically (however, for backwards compatibility,
any existing \bibliographystyle command is nicely ignored with a warning).
BibLaTeX update: As of version 1.3.4, apa.cls can also be used with BibLaTeX (with the biblatex-apa style by Philip Kime).
Use the noapacite option to apa.cls to prevent it from
automatically loading apacite. You can then load biblatex as
usual and use the biblatex-apa package for citations and references. See
the biblatex documentation and biblatex-apa documentation.
The appendix part comes last, that is, after the references section.
Consistent with standard LaTeX usage, the command \appendix is used once,
at the point where your (first) appendix starts, to signal the change from
regular matter to appendix matter. From that point on, regular sectioning
commands refer to appendix sections. In particular, each use of the \section
command starts a new appendix. Use, for example
\section{Appendix Title}
to start an appendix (even if there is only one). Each appendix has its title,
while numbering (“Appendix A,” “Appendix B” etc.) is
taken care of automatically in case there are more than one appendices.
You are free to
use figures and tables in the usual way in the appendix(es). apa.cls
will number them correctly and include them in the table and figure lists where they
belong.
You may use
cross-references to appendixes, because they are numbered, if there
are more than one. A command such as \label{app:xxx} after the appendix
\section sets the label. Then you may refer to this appendix with
Appendix~\ref{app:xxx}
from anywhere in your manuscript.
As of 2005, apa.cls and apacite can handle non-English documents with babel. Because there are potential conflicts between apacite and babel, you may not load babel from your document, but must pass it as an option to apa.cls, so that it can be loaded in the appropriate order and handled correctly. Desired languages are listed as additional options to apa.cls, and will be passed on to babel automatically when loaded. Remember that the main language of your document is the one listed last. For example, if your article is written in Dutch, use
\documentclass[man,babel,english,dutch]{apa}
If, however, your article is in English but you need support for Greek, for example to cite certain passages using \textgreek, then use
\documentclass[man,babel,greek,english]{apa}
instead.
apa.cls produces certain strings in the manuscript, mostly as titles to obligatory sections (pages): “Running head,” “Author note,” “Figure captions,” and “Footnotes” (other strings, such as “Abstract,” “References,” and the float labels “Table” and “Figure” are handled by babel and/or apacite). These strings are defined in external files, so new ones can easily be added. These files are named with the language name (as known by babel) and the extension .apa (for example, greek.apa). If the definitions for your languages are not supplied with apa.cls, copy english.apa with the new file name for your language, and edit the macro definitions inside the new file to display the correct strings in the new language. Send me the new file so it can be included with future distributions of apa.cls.
If you use vectors, the command \apavector{X} will make your life easier.
If you need to use additional options for article.cls, list them as apa.cls options and they will be automatically passed along to
article.cls.
In the following alphabetical list of commands you can see the number
and kind of parameters needed for the use of each one:
\abstract{Abstract text}
\acknowledgements{Author notes etc.}
\affiliation{Department\\ University}
\twoaffiliations{Affiliation of 1st Author(s)}{Affil. of 2nd Author(s)}
\threeaffiliations{...}{...}{...}
\fouraffiliations{...}{...}{...}{...}
\fiveaffiliations{...}{...}{...}{...}{...}
\sixaffiliations{...}{...}{...}{...}{...}{...}
\apamatrix{M}
\apavector{A}
\appendix
\author{Author Name(s)}
\twoauthors{First Author(s)}{Second Author(s)}
\threeauthors{...}{...}{...}
\fourauthors{...}{...}{...}{...}
\fiveauthors{...}{...}{...}{...}{...}
\sixauthors{...}{...}{...}{...}{...}{...}
\ccoppy{Copyright notice}
\centeredcaption{width}{caption-text}
\copnum{Serial number}
\fitbitmap[optional-height]{eps-filename}
\fitfigure[optional-height]{eps-filename}
\ifapamode{man-code}{jou-code}{doc-code}
\ifapamodeman{man-mode-code}{doc-or-jou-code}
\ifapamodejou{jou-mode-code}{doc-or-man-code}
\ifapamodedoc{doc-mode-code}{man-or-jou-code}
\leftheader{Author name list}
\journal{Journal name}
\maketitle
\note{Draft/submission date, etc.}
\rightheader{Running head}
\shorttitle{Short title}
\tabfnm{a}
\tabfnt{a}{Note text}
\thickline
\title{Title}
\volume{Volume, number, pages}
- babel
- Loads babel to support hyphenation and features for languages other
than English. Desired languages should be listed as additional options
after babel.
- fignum
- Effective in man mode, adds figure numbering to the figure pages.
Makes it easier to refer to figures and I recommend it for the
reviewers' copies, but for the original figures you need to have
them printed without this and write the number with pencil on the back.
- floatmark
- Effective in man mode, inserts placeholders for floats in text
(“Insert Figure X about here” – no longer required by APA)
- helv
- Effective in man mode, uses Helvetica as the base typeface
- longtable
- Only usable in man mode, loads longtable.sty if
you really must use long tables in your manuscript.
- noapacite
- Prevents loading of apacite to allow use of BibLaTeX with the biblatex-apa
style for citations and references. See the biblatex and biblatex-apa documentation.
- nobf
- Effective in man mode, turns off boldface in section headers for strict
conformance to APA style.
- nosf
- Effective in man mode, neutralizes the \helvetica command. This is
only included for backwards compatibility and should not be used any more since
the \helvetica command is not supported now.
- notab
- Effective in jou mode, cancels the automatic stretching of tabular
environments to the width of their enclosing float.
- notimes
- Effective in jou mode, cancels loading pslatex (or times) and
uses computer modern fonts.
- notxfonts
- Effective in jou mode, ignores search for txfonts and tries to load
pslatex (or times) in order to typeset with Times Roman.
- tt
- Effective in man mode, uses a typewriter base typeface
Note: Options may be left in the \documentclass line when compiling
any mode, since they are quietly ignored when they are not effective.
If you follow the instructions you shouldn't really have any problems.
In terms of restrictions, you should keep in mind that only up to six
affiliations (for article author(s)) are supported, and that there is no
provision for A4 paper dimensions (but see
examples.txt for a workaround).
Last updated on December 9th, 2008
by
Athanassios Protopapas


--- layout: post title: Episode 048 | Kyle Simpson - Deeper Understanding link: http://traffic.libsyn.com/developeronfire/DeveloperOnFire-48-KyleSimpson.mp3 length: 50331648 speaker: Dave Rael duration: '52:07' subtitle: 'Developer On Fire: Kyle Simpson' guest_name: Kyle Simpson image: /assets/images/KyleSimpson.png guest_blog: http://getify.me/ guest_twitter: getify disqus_url: http://developeronfire.com/Podcast/Episodes/kyle-simpson-deeper-understanding episode_number: 48 book_recommendations: - { url: "http://www.amazon.com/dp/1593272820/?tag=devonfir-20", title: "Eloquent JavaScript: A Modern Introduction to Programming", author: "Marijn Haverbeke"} tags: - { url: "http://www.amazon.com/dp/1593272820/?tag=devonfir-20", title: "Eloquent JavaScript: A Modern Introduction to Programming", author: "Marijn Haverbeke"} redirect_from: - "/48/" - "/048/" - "/0048/" - "/kyle-simpson-deeper-understanding/" - "/Kyle-Simpson/" - "/KyleSimpson/" - "/Podcast/Episodes/48/" - "/Podcast/Episodes/048/" - "/Podcast/Episodes/0048/" - "/Podcast/Episodes/kyle-simpson-deeper-understanding/" - "/Podcast/Episodes/Kyle-Simpson/" - "/Podcast/Episodes/KyleSimpson/" guid: http://developeronfire.com:80/Podcast/Episodes/kyle-simpson-deeper-understanding ---
Kyle Simpson is Head of Curriculum for MakerSquare and an evangelist of the open web. He's passionate about all things JavaScript, writes books, teaches JavaScript, speaks, and contributes to the world of OSS.
1. Ask deeper and better questions
2. Learn how to want to learn
3. Never forgot the Prioroty of Constituencies


--- layout: post authors: ["Greg Wilson"] title: "A New Template for Lessons" date: 2014-10-14 time: "11:30:00" tags: ["Tooling"] ---
Note: this post has been superseded by this one. Please post comments and feedback there.
We blogged two weeks ago about a new template for workshop websites. It's now time to start thinking about what lessons will look like: as we said at the last lab meeting, we're going to break the current lesson repository into smaller and more manageable pieces, but we need to decide what those pieces will look like first. The post below is our current thoughts; comments and/or follow-on posts about alternatives like those already written by Gabriel Devenyi and Raniere Silva would be very welcome.

A topic is a single scene in that story, typically 5-15 minutes long.
A slug is a short identifier for something, such
as filesys
(for "file system").
{.attribute}
syntax for specifying anchors and
classes rather than the clunky syntax our current notes use to be
compatible with Jekyll.
>
to make scope easier for
people and machines to see.
Each lesson is stored in a directory that is laid out as described below. That directory is a self-contained Git repository (i.e., there are no submodules or clever tricks with symbolic links).
index.md
: the home page for the lesson. (See "Home
Page" below.)
dd-slug.md
: the topics in the lesson. dd
is a sequence number such as 01
, 02
, etc.,
and slug
is an abbreviated single-word mnemonic for the
topic. Thus, 03-filesys.md
is the third topic in this
lesson, and is about the filesystem. (Note that we use hyphens
rather than underscores in filenames.) See "Topics" below.
intro.md
: slides for a short presentation (3 minutes or
less) explaining what the lesson is about and why people would want
to learn it. See "Introductory Slides" below.
glossary.md
: definitions of key terms. This is what the
lesson exports that other lessons can use (just as an API is the
functions a library exports for other code to use). See "Glossary"
below.
reference.md
: a reference guide to key terms and
commands, syntax, etc., to be printed and given to learners. See
"Reference Guide" below.
instructors.md
: the instructor's guide for the
lesson. See "Instructor's Guide" below.
code/
: a sub-directory containing all code samples. See
"Software and Data" below.
data/
: a sub-directory containing all data files for
this lesson. See "Software and Data" below.
img/
: images (including plots) used in the lesson. See
"Images" below.
web/
: web resources, such as CSS files, icons, and
Javascript. See "Web Resources" below.
_layouts/
: page layout templates. See "Web Resources"
below.
_includes/
: page inclusions. See "Web Resources" below.
bin/
: tools for managing lessons. See "Tools" below.
Makefile
contains commands to build and manage the
lesson. (See "Tools" below.)
index.md
must be structured as follows:
--- layout: lesson title: Lesson Title keywords: ["some", "key terms", "in a list"] --- Paragraph of introductory material. > ## Prerequisites {.prereq} > > A short paragraph describing what learners need to know > before tackling this lesson. > ## Learning Objectives {.objectives} > > * Overall objective 1 > * Overall objective 2 ## Topics * [Topic Title 1](01-slug.html) * [Topic Title 2](02-slug.html) ## Other Resources * [Introduction](intro.html) * [Glossary](glossary.html) * [Reference Guide](reference.html) * [Instructor's Guide](guide.html) * [Setting Up](http://software-carpentry.org/setup/some-page.html)
Note: software installation and configuration instructions aren't in the lesson. They may be shared with other lessons, so they will be stored centrally on the Software Carpentry web site and linked from the lessons that need them.
Note: the description of prerequisites is prose for human consumption, not a machine-comprehensible list of dependencies. We may supplement the former with the latter once we have more experience with this lesson format and know what we actually want to do.
Each topic must be structured as follows:
--- layout: topic title: Topic Title --- > ## Learning Objectives {.objectives} > > * Learning objective 1 > * Learning objective 2 Paragraphs of text mixed with: ~~~ {.python} some code: to be displayed ~~~ ~~~ {.output} output from program ~~~ ~~~ {.error} error reports from program (if any) ~~~ and possibly including: > ## Callout Box {.callout} > > An aside of some kind. > ## Key Points {.keypoints} > > * Key point 1 > * Key point 2 > ## Challenge Title {.challenge} > > Description of a single challenge. > There may be several challenges.
callout
class and some text, code,
etc.
challenge
class.
Every lesson must include a short slide deck suitable for a short presentation (3 minutes or less) that the instructor can use to explain to learners what the subject is, how knowing it will help learners, and what's going to be covered. Slides are written in Markdown, and compiled into HTML for use with reveal.js.
--- layout: slides --- body of slides
Each term in the glossary is laid out as a separate block quote,
with the term in a heading. Yes, this is odd, but as noted in the
introduction, we want to avoid putting HTML in Markdown, and we
can't add identifiers to paragraphs using {#whatever}
notation: that only works on headers.
--- layout: glossary --- > ## First Term {#first-anchor} > The definition. > See also: [another word](#another-anchor) > ## Another Term {#another-anchor} > The definition. > See also: [first term](#some-anchor)
The layout of the reference guide is up to the lesson's author. The only thing required is the YAML header:
--- layout: reference ---
The instructor's guide is laid out as follows:
--- layout: guide --- introductory text ## General Points 1. first point 1. second point (separated by blank line, may span multiple lines, starts with `1.` to indicate numbered list. ## Large Sub-Topic 1. first point on a sub-topic large enough to need a section 1. second point
All of the software samples used in the lesson must go in a
directory called code/
. Every sample must be listed in
the file code/index.md
, which must be formatted as
follows:
--- layout: index --- * `filename.ext`: one-line description * `filename.ext`: one-line description
Stand-alone data files must go in a directory
called data/
. Groups of related data files must be put
together in a sub-directory of data/
with a meaningful
(short) name. Every data file or data set must be listed in the
file code/index.md
, which must be formatted as follows:
--- layout: index --- * `filename.ext`: one-line description * `sub-directory/`: one-line description
Note: This mirrors the layout a scientist would use
for actual work (see Noble's
"A
Quick Guide to Organizing Computational Biology Projects" or
Gentzkow and Shapiro's
"Code
and Data for the Social Sciences: A Practitioner's
Guide"). However, it may cause novice learners
problems. If code/program.py
includes a hard-wired path
to a data file, that path must be either datafile.ext
or data/datafile.ext
. The first will only work if the
program is run with the lesson's root directory as the current
working directory, while the second will only work if the program is
run from within the code/
directory. This is a learning
opportunity for students working from the command line, but a
confusing annoyance inside IDEs and the IPython Notebook (where the
tool's current working directory is less obvious). And yes, the
right answer is to pass filenames on the command line, but that
requires learners to understand how to get command line arguments,
which isn't something they'll be ready for in the first hour or two.
Images used in the lessons must go in an img/
directory. We strongly prefer SVG for line drawings, since they are
smaller, scale better, and are easier to edit. Screenshots and other
raster images must be PNG or JPEG format. The img/
directory does not need to have an index.md
file.
Files used to generate the HTML version of a lesson are stored in the following directories:
web/css
: CSS style files
web/js
: Javascript files
web/img
: images such as logos and buttons
_layouts
: page layout templates
_includes
: inclusions in web pages, such as the
standard header and footer
These files will usually not be edited by lesson authors.
The bin/
directory contains a program
called check.py
that checks that the contents of the
lesson conform to the rules above.
The lesson's root directory contains a Makefile
with
commands to manage lesson content. Its targets are:
make
: without a target, this will print help.
make commands
: prints the same help.
make topic dd-slug
: create a new topic file with the
given sequence number and slug.
make check
: run bin/check.py
to make sure
that everything is formatted properly, and print error messages
identifying problems if it's not.
make site
: build the lesson website locally for
previewing. This assumes make check
has given the site
a clean bill of health, and requires Pandoc.
make summary
: create a YAML-formatted summary of the
lesson, including a list of the topics it includes, the terms it
defines, the lesson's software requirements, etc.
make clean
: tidy up (i.e., delete the locally-built
website).
Note: The Makefile should also include targets to turn IPython Notebooks into Markdown and compare the result with the committed Markdown topic files, and do equivalent conversions for other formats.
Note: The Makefile should contain targets to re-run code and check the output, but there's no general way to do this (and we're not about to build our own literate programming environment).


Thank you for listening! Got more questions, or just want to chat? Contact us at<EMAIL_ADDRESS>To stay up to date, sign up for our low-traffic list at openaccessbutton.org/libraries.
View Online
Download PDF
Download .pttx
View the handout


18th October 2022 - Version 0.2.3
Change the html pages DOCTYPE to "html", namely the HTML5 standard.
Change the footnote to show we are now using the firefox HTML Validator
based on the Tidy and OpenSP libraries.
Also add a link to the wpl website.
16th July 2022 - Version 0.2.2
Improve look of webpages by changing font type and size. Set a maximum width on the text content. Change colours for text boxes.
1st September 2021 - Version 0.2.1
Add coloured boxes for Warnings, Notes Tips and Code.
3rd March 2018 - Version 0.2.0
The WebPagesLayout program uses the latest update to create its own website. The website can be found at https://nickmat.github.io/WebPageLayout/website/index.htm
This version now outputs the files that are common to all the sister websites, namely, the livery.css and common graphic files and so provides a central place to maintain and refine them. A common naming convention for the icon and bullet images has also been introduced. These steps will make it easier to use with TheFamilyPack website, which will happen soon.


menu_spacing 3x
menu_spacing(3x) menu_spacing(3x)
NAME
menu_spacing - Control spacing between menu items.
SYNOPSIS
#include <menu.h>
int set_menu_spacing(MENU *menu,
int spc_description,
int spc_rows,
int spc_columns);
int menu_spacing(const MENU *menu,
int* spc_description,
int* spc_rows,
int* spc_columns);
DESCRIPTION
The function set_menu_spacing sets the spacing informa-
tions for the menu. spc_description controls the number
of spaces between an item name and an item description. It
must not be larger than TABSIZE. The menu system puts in
the middle of this spacing area the pad character. The
remaining parts are filled with spaces. spc_rows controls
the number of rows that are used for an item. It must not
be larger than 3. The menu system inserts then blank lines
between item rows, these lines will contain the pad char-
acter in the appropriate positions. spc_columns controls
the number of blanks between columns of items. It must not
be larger than TABSIZE. A value of 0 for all the spacing
values resets them to the default, which is 1 for all of
them.
The function menu_spacing passes back the spacing info for
the menu. If a pointer is NULL, this specific info is sim-
ply not returned.
RETURN VALUE
Both routines return E_OK on success. set_menu_spacing may
return E_POSTED if the menu is posted, or E_BAD_ARGUMENT
if one of the spacing values is out of range.
SEE ALSO
curses(3x), menu(3x).
NOTES
The header file <menu.h> automatically includes the header
file <curses.h>.
PORTABILITY
These routines are specific to ncurses. They were not
supported on Version 7, BSD or System V implementations.
It is recommended that any code depending on them be con-
ditioned using NCURSES_VERSION.
AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new
curses by Eric S. Raymond.
menu_spacing(3x)
Man(1) output converted with
man2html