The High Availability (HA) module provides active-passive, hot-standby messaging clusters to provide fault tolerant message delivery.
In an active-passive cluster only one broker, known as the primary, is active and serving clients at a time. The other brokers are standing by as backups. Changes on the primary are replicated to all the backups so they are always up-to-date or "hot". Backup brokers reject client connection attempts, to enforce the requirement that clients only connect to the primary.
If the primary fails, one of the backups is promoted to take over as the new primary. Clients fail-over to the new primary automatically. If there are multiple backups, the other backups also fail-over to become backups of the new primary.
This approach relies on an external cluster resource manager to detect failures, choose the new primary and handle network partitions. rgmanager is supported initially, but others may be supported in the future.
In order to avoid message loss, the primary broker delays acknowledgement of messages received from clients until the message has been replicated and acknowledged by all of the back-up brokers, or has been consumed from the primary queue.
This ensures that all acknowledged messages are safe: they have either been consumed or backed up to all backup brokers. Messages that are consumed before they are replicated do not need to be replicated. This reduces the work load when replicating a queue with active consumers.
Clients keep unacknowledged messages in a buffer [1] until they are acknowledged by the primary. If the primary fails, clients will fail-over to the new primary and re-send all their unacknowledged messages. [2]
If the primary crashes, all the acknowledged messages will be available on the backup that takes over as the new primary. The unacknowledged messages will be re-sent by the clients. Thus no messages are lost.
Note that this means it is possible for messages to be duplicated. In the event of a failure it is possible for a message to received by the backup that becomes the new primary and re-sent by the client. The application must take steps to identify and eliminate duplicates.
When a new primary is promoted after a fail-over it is initially in "recovering" mode. In this mode, it delays acknowledgement of messages on behalf of all the backups that were connected to the previous primary. This protects those messages against a failure of the new primary until the backups have a chance to connect and catch up.
Not all messages need to be replicated to the back-up brokers. If a message is consumed and acknowledged by a regular client before it has been replicated to a backup, then it doesn't need to be replicated.
HA Broker States
Broker is not part of a HA cluster.
Newly started broker, not yet connected to any existing primary.
A backup broker that is connected to the primary and downloading existing state (queues, messages etc.)
A backup broker that is fully caught-up and ready to take over as primary.
Newly-promoted primary, waiting for backups to connect and catch up. Clients can connect but they are stalled until the primary is active.
The active primary broker with all backups connected and caught-up.
There are a some known limitations in the current implementation. These will be fixed in future versions.
Transactional changes to queue state are not replicated atomically. If the primary crashes during a transaction, it is possible that the backup could contain only part of the changes introduced by a transaction.
Configuration changes (creating or deleting queues, exchanges and bindings) are replicated asynchronously. Management tools used to make changes will consider the change complete when it is complete on the primary, it may not yet be replicated to all the backups.
Federation links to the primary will fail over
correctly. Federated links from the primary
will be lost in fail over, they will not be re-connected to the new
primary. It is possible to work around this by replacing the
qpidd-primary
start up script with a script that
re-creates federation links when the primary is promoted.
Some resource managers (including rgmanager) support virtual IP addresses. A virtual IP address is an IP address that can be relocated to any of the nodes in a cluster. The resource manager associates this address with the primary node in the cluster, and relocates it to the new primary when there is a failure. This simplifies configuration as you can publish a single IP address rather than a list.
A virtual IP address can be used by clients to connect to the primary. The following sections will explain how to configure virtual IP addresses for clients or brokers.
The broker must load the ha
module, it is loaded by
default. The following broker options are available for the HA module.
Broker management is required for HA to operate, it is enabled by
default. The option mgmt-enable
must not be set to
"no"
Incorrect security settings are a common cause of problems when getting started, see Section 1.12.9, “Security and Access Control.”.
Table 1.28. Broker Options for High Availability Messaging Cluster
| Options for High Availability Messaging Cluster | |
|---|---|
ha-cluster
| Set to "yes" to have the broker join a cluster. |
ha-queue-replication
| Enable replication of specific queues without joining a cluster, see Section 1.13, “Replicating Queues with the HA module”. |
ha-brokers-url
|
The URL [a] used by cluster brokers to connect to each other. The URL should contain a comma separated list of the broker addresses, rather than a virtual IP address. |
ha-public-url |
This option is only needed for backwards compatibility if you
have been using the
If set, this URL is advertised by the
|
ha-replicate VALUE |
Specifies whether queues and exchanges are replicated by default.
|
|
| Authentication settings used by HA brokers to connect to each other, see Section 1.12.9, “Security and Access Control.” |
ha-backup-timeout
[b]
|
Maximum time that a recovering primary will wait for an expected backup to connect and become ready. |
link-maintenance-interval
[b]
|
HA uses federation links to connect from backup to primary. Backup brokers check the link to the primary on this interval and re-connect if need be. Default 2 seconds. Set lower for faster failover, e.g. 0.1 seconds. Setting too low will result in excessive link-checking on the backups. |
link-heartbeat-interval
[b]
|
HA uses federation links to connect from backup to primary. If no heart-beat is received for twice this interval the primary will consider that backup dead (e.g. if backup is hung or partitioned.) This interval is also used to time-out for broker status checks, it may take up to this interval for rgmanager to detect a hung or partitioned broker. Clients sending messages may be held up during this time. Default 120 seconds: you will probably want to set this to a lower value e.g. 10. If set too low rgmanager may consider a slow broker to have failed and kill it. |
[a] The full format of the URL is given by this grammar: url = ["amqp:"][ user ["/" password] "@" ] addr ("," addr)* addr = tcp_addr / rmda_addr / ssl_addr / ... tcp_addr = ["tcp:"] host [":" port] rdma_addr = "rdma:" host [":" port] ssl_addr = "ssl:" host [":" port]'
[b]
Values specified as |
To configure a HA cluster you must set at least ha-cluster
and
ha-brokers-url
.
Broker fail-over is managed by a cluster resource manager. An integration with rgmanager is provided, but it is possible to integrate with other resource managers.
The resource manager is responsible for starting the qpidd broker
on each node in the cluster. The resource manager then promotes
one of the brokers to be the primary. The other brokers connect to the primary as
backups, using the URL provided in the ha-brokers-url
configuration
option.
Once connected, the backup brokers synchronize their state with the primary. When a backup is synchronized, or "hot", it is ready to take over if the primary fails. Backup brokers continually receive updates from the primary in order to stay synchronized.
If the primary fails, backup brokers go into fail-over mode. The resource manager must detect the failure and promote one of the backups to be the new primary. The other backups connect to the new primary and synchronize their state with it.
The resource manager is also responsible for protecting the cluster from split-brain conditions resulting from a network partition. A network partition divide a cluster into two sub-groups which cannot see each other. Usually a quorum voting algorithm is used that disables nodes in the inquorate sub-group.
This section assumes that you are already familiar with setting up and configuring clustered services using cman and rgmanager. It will show you how to configure an active-passive, hot-standby qpidd HA cluster with rgmanager.
Once all components are installed it is important to take the following step:
chkconfig rgmanager on
chkconfig cman on
chkconfig qpidd off
The qpidd service must be off in
chkconfig
because rgmanager
will
start and stop qpidd
. If the normal system init
process also attempts to start and stop qpidd it can cause rgmanager to
lose track of qpidd processes. The symptom when this happens is that
clustat
shows a qpidd
service to
be stopped when in fact there is a qpidd
process
running. The qpidd
log will show errors like this:
critical Unexpected error: Daemon startup failed: Cannot lock /var/lib/qpidd/lock: Resource temporarily unavailable
You must provide a cluster.conf
file to configure
cman and rgmanager. Here is
an example cluster.conf
file for a cluster of 3 nodes named
node1, node2 and node3. We will go through the configuration step-by-step.
<?xml version="1.0"?> <!-- This is an example of a cluster.conf file to run qpidd HA under rgmanager. This example assumes a 3 node cluster, with nodes named node1, node2 and node3. NOTE: fencing is not shown, you must configure fencing appropriately for your cluster. --> <cluster name="qpid-test" config_version="18"> <!-- The cluster has 3 nodes. Each has a unique nodeid and one vote for quorum. --> <clusternodes> <clusternode name="node1.example.com" nodeid="1"/> <clusternode name="node2.example.com" nodeid="2"/> <clusternode name="node3.example.com" nodeid="3"/> </clusternodes> <!-- Resouce Manager configuration. --> status_poll_interval is the interval in seconds that the resource manager checks the status of managed services. This affects how quickly the manager will detect failed services. --> <rm status_poll_interval="1"> <!-- There is a failoverdomain for each node containing just that node. This lets us stipulate that the qpidd service should always run on each node. --> <failoverdomains> <failoverdomain name="node1-domain" restricted="1"> <failoverdomainnode name="node1.example.com"/> </failoverdomain> <failoverdomain name="node2-domain" restricted="1"> <failoverdomainnode name="node2.example.com"/> </failoverdomain> <failoverdomain name="node3-domain" restricted="1"> <failoverdomainnode name="node3.example.com"/> </failoverdomain> </failoverdomains> <resources> <!-- This script starts a qpidd broker acting as a backup. --> <script file="/etc/init.d/qpidd" name="qpidd"/> <!-- This script promotes the qpidd broker on this node to primary. --> <script file="/etc/init.d/qpidd-primary" name="qpidd-primary"/> <!-- This is a virtual IP address for client traffic. monitor_link="yes" means monitor the health of the NIC used for the VIP. sleeptime="0" means don't delay when failing over the VIP to a new address. --> <ip address="<IP_ADDRESS>" monitor_link="yes" sleeptime="0"/> </resources> <!-- There is a qpidd service on each node, it should be restarted if it fails. --> <service name="node1-qpidd-service" domain="node1-domain" recovery="restart"> <script ref="qpidd"/> </service> <service name="node2-qpidd-service" domain="node2-domain" recovery="restart"> <script ref="qpidd"/> </service> <service name="node3-qpidd-service" domain="node3-domain" recovery="restart"> <script ref="qpidd"/> </service> <!-- There should always be a single qpidd-primary service, it can run on any node. --> <service name="qpidd-primary-service" autostart="1" exclusive="0" recovery="relocate"> <script ref="qpidd-primary"/> <!-- The primary has the IP addresses for brokers and clients to connect. --> <ip ref="<IP_ADDRESS>"/> </service> </rm> </cluster>
There is a failoverdomain
for each node containing just that
one node. This lets us stipulate that the qpidd service should always run on all
nodes.
The resources
section defines the qpidd
script used to start the qpidd service. It also defines the
qpid-primary script which does not
actually start a new service, rather it promotes the existing
qpidd broker to primary status.
The resources
section also defines a virtual IP
address for clients: <IP_ADDRESS>
.
qpidd.conf
should contain these lines:
ha-cluster=yes ha-brokers-url=<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>
The brokers connect to each other directly via the addresses listed in ha-brokers-url. Note the client and broker addresses are on separate sub-nets, this is recommended but not required.
The service
section defines 3 qpidd
services, one for each node. Each service is in a restricted fail-over
domain containing just that node, and has the restart
recovery policy. The effect of this is that rgmanager will run
qpidd on each node, restarting if it fails.
There is a single qpidd-primary-service
using the
qpidd-primary script which is not restricted to a
domain and has the relocate
recovery policy. This means
rgmanager will start qpidd-primary on one of the nodes
when the cluster starts and will relocate it to another node if the
original node fails. Running the qpidd-primary
script
does not start a new broker process, it promotes the existing broker to
become the primary.
As explained above both the per-node qpidd
service
and the re-locatable qpidd-primary
service are
implemented by the same qpidd
daemon.
As a result, stopping the qpidd
service will not stop
a qpidd
daemon that is acting as primary, and
stopping the qpidd-primary
service will not stop a
qpidd
process that is acting as backup.
To shut down a node that is acting as primary you need to shut down the
qpidd
service and relocate the
primary:
clusvcadm -d somenode-qpidd-service clusvcadm -r qpidd-primary-service
This will shut down the qpidd
daemon on that node and
prevent the primary service service from relocating back to the node
because the qpidd service is no longer running there.
Normally, clients are not allowed to connect to a backup broker. However management tools are allowed to connect to a backup brokers. If you use these tools you must not add or remove messages from replicated queues, nor create or delete replicated queues or exchanges as this will disrupt the replication process and may cause message loss.
qpid-ha allows you to view and change HA configuration settings.
The tools qpid-config, qpid-route and qpid-stat will connect to a backup if you pass the flag ha-admin on the command line.
By default, queues and exchanges are not replicated automatically. You can change
the default behaviour by setting the ha-replicate
configuration
option. It has one of the following values:
all: Replicate everything automatically: queues, exchanges, bindings and messages.
configuration: Replicate the existence of queues, exchange and bindings but don't replicate messages.
none: Don't replicate anything, this is the default.
You can over-ride the default for a particular queue or exchange by passing the
argument qpid.replicate
when creating the queue or exchange. It
takes the same values as ha-replicate
Bindings are automatically replicated if the queue and exchange being bound both
have replication all
or configuration
, they
are not replicated otherwise.
You can create replicated queues and exchanges with the qpid-config management tool like this:
qpid-config add queue myqueue --replicate all
To create replicated queues and exchanges via the client API, add a
node
entry to the address like this:
"myqueue;{create:always,node:{x-declare:{arguments:{'qpid.replicate':all}}}}"
There are some built-in exchanges created automatically by the broker, these
exchanges are never replicated. The built-in exchanges are the default (nameless)
exchange, the AMQP standard exchanges (amq.direct, amq.topic, amq.fanout
and
amq.match
) and the management exchanges (qpid.management, qmf.default.direct
and
qmf.default.topic
)
Note that if you bind a replicated queue to one of these exchanges, the binding will not be replicated, so the queue will not have the binding after a fail-over.
Clients can only connect to the primary broker. Backup brokers reject any connection attempt by a client. Clients rejected by a backup broker will automatically fail-over until they connect to the primary.
Clients are configured with the URL for the cluster (details below for each type of client). There are two possibilities
The URL contains multiple addresses, one for each broker in the cluster.
The URL contains a single virtual IP address that is assigned to the primary broker by the resource manager. This is the recommended configuration.
In the first case, clients will repeatedly re-try each address in the URL until they successfully connect to the primary. In the second case the resource manager will assign the virtual IP address to the primary broker, so clients only need to re-try on a single address.
When the primary broker fails, clients re-try all known cluster addresses until they connect to the new primary. The client re-sends any messages that were previously sent but not acknowledged by the broker at the time of the failure. Similarly messages that have been sent by the broker, but not acknowledged by the client, are re-queued.
TCP can be slow to detect connection failures. A client can configure a connection to use a heartbeat to detect connection failure, and can specify a time interval for the heartbeat. If heartbeats are in use, failures will be detected no later than twice the heartbeat interval. The following sections explain how to enable heartbeat in each client.
Note: the following sections explain how to configure clients with multiple dresses, but if you are using a virtual IP address you only need to configure that one address for clients, you don't need to list all the addresses.
Suppose your cluster has 3 nodes: node1
,
node2
and node3
all using the
default AMQP port, and you are not using a virtual IP address. To connect
a client you need to specify the address(es) and set the
reconnect
property to true
. The
following sub-sections show how to connect each type of client.
With the C++ client, you specify multiple cluster addresses in a single URL
[3]
You also need to specify the connection option
reconnect
to be true. For example:
qpid::messaging::Connection c("node1,node2,node3","{reconnect:true}");
Heartbeats are disabled by default. You can enable them by specifying a
heartbeat interval (in seconds) for the connection via the
heartbeat
option. For example:
qpid::messaging::Connection c("node1,node2,node3","{reconnect:true,heartbeat:10}");
With the python client, you specify reconnect=True
and a list of host:port
addresses as
reconnect_urls
when calling
Connection.establish
or
Connection.open
connection = qpid.messaging.Connection.establish("node1", reconnect=True, reconnect_urls=["node1", "node2", "node3"])
Heartbeats are disabled by default. You can enable them by specifying a heartbeat interval (in seconds) for the connection via the 'heartbeat' option. For example:
connection = qpid.messaging.Connection.establish("node1", reconnect=True, reconnect_urls=["node1", "node2", "node3"], heartbeat=10)
In Java JMS clients, client fail-over is handled automatically if it is enabled in the connection. You can configure a connection to use fail-over using the failover property:
connectionfactory.qpidConnectionfactory = amqp://guest:guest@clientid/test?brokerlist='tcp://localhost:5672'&failover='failover_exchange'
This property can take three values:
Fail-over Modes
If the connection fails, fail over to any other broker in the cluster.
If the connection fails, fail over to one of the brokers specified in the brokerlist.
Fail-over is not supported; the connection is to a single broker only.
In a Connection URL, heartbeat is set using the heartbeat property, which is an integer corresponding to the heartbeat period in seconds. For instance, the following line from a JNDI properties file sets the heartbeat time out to 3 seconds:
connectionfactory.qpidConnectionfactory = amqp://guest:guest@clientid/test?brokerlist='tcp://localhost:5672'&heartbeat='3'
This section outlines the HA specific aspects of security configuration. Please see Section 1.5, “Security” for more details on enabling authentication and setting up Access Control Lists.
Unless you disable authentication with auth=no
in
your configuration, you must set the options below
and you must have an ACL file with at least the
entry described below.
Backups will be unable to connect to the primary if the security configuration is incorrect. See also Section <IP_ADDRESS>, “Authentication and ACL failures”
When authentication is enabled you must set the credentials used by HA brokers with following options:
Table 1.29. HA Security Options
| HA Security Options | |
|---|---|
| User name for HA brokers. Note this must not include the |
| Password for HA brokers. |
|
Mechanism for HA brokers. Any mechanism you enable for broker-to-broker communication can also be used by a client, so do not use ha-mechanism=ANONYMOUS in a secure environment. |
This identity is used to authorize federation links from backup to primary. It is also used to authorize actions on the backup to replicate primary state, for example creating queues and exchanges.
When authorization is enabled you must have an Access Control List with the
following rule to allow HA replication to function. Suppose
ha-username
=USER
acl allow USER
@QPID all all
To integrate with a different resource manager you must configure it to:
Start a qpidd process on each node of the cluster.
Restart qpidd if it crashes.
Promote exactly one of the brokers to primary.
Detect a failure and promote a new primary.
The qpid-ha command allows you to check if a broker is primary, and to promote a backup to primary.
To test if a broker is the primary:
qpid-ha -b broker-address
status --expect=primary
This will return 0 if the broker at broker-address
is the primary,
non-0 otherwise.
To promote a broker to primary:
qpid-ha --cluster-manager -b broker-address
promote
Note that promote
is considered a "cluster manager
only" command. Incorrect use of promote
outside of the
cluster manager could create a cluster with multiple primaries. Such a
cluster will malfunction and lose data. "Cluster manager only" commands
are not accessible in qpid-ha without the
--cluster-manager
option.
To list the full set of commands use:
qpid-ha --cluster-manager --help
If you use a persistent store for your messages then each broker in a cluster will have its own store. If the entire cluster fails and is restarted, the *first* broker that becomes primary will recover from its store. All the other brokers will clear their stores and get an update from the primary to ensure consistency.
This section applies to clusters that are using rgmanager as the cluster manager.
When you initially start a HA cluster, all brokers are in
joining
mode. The brokers do not automatically select
a primary, they rely on the cluster manager rgmanager
to do so. If rgmanager
is not running or is not
configured correctly, brokers will remain in the
joining
state. See Section 1.12.5, “Configuring with rgmanager as resource manager”
If a broker is unable to establish a connection to another broker in the cluster due to authentication or ACL problems the logs may contain errors like the following:
info SASL: Authentication failed: SASL(-13): user not found: Password verification failed
warning Client closed connection with 320: User anonymous@QPID federation connection denied. Systems with authentication enabled must specify ACL create link rules.
warning Client closed connection with 320: ACL denied anonymous@QPID creating a federation link.
Set the HA security configuration and ACL file as described in Section 1.12.9, “Security and Access Control.”. Once the cluster is running and the primary is promoted , run:
qpid-ha status --all
to make sure that the brokers are running as one cluster.
The following configuration settings affect recovery time. The values shown are examples that give fast recovery on a lightly loaded system. You should run tests to determine if the values are appropriate for your system and load conditions.
<rm status_poll_interval=1>
status_poll_interval is the interval in seconds that the resource manager checks the status of managed services. This affects how quickly the manager will detect failed services.
<ip address="<IP_ADDRESS>" monitor_link="yes" sleeptime="0"/>
This is a virtual IP address for client traffic. monitor_link="yes" means monitor the health of the network interface used for the VIP. sleeptime="0" means don't delay when failing over the VIP to a new address.
link-maintenance-interval=0.1
Interval for backup brokers to check the link to the primary re-connect if need be. Default 2 seconds. Can be set lower for faster fail-over. Setting too low will result in excessive link-checking activity on the broker.
link-heartbeat-interval=5
Heartbeat interval for federation links. The HA cluster uses federation links between the primary and each backup. The primary can take up to twice the heartbeat interval to detect a failed backup. When a sender sends a message the primary waits for all backups to acknowledge before acknowledging to the sender. A disconnected backup may cause the primary to block senders until it is detected via heartbeat.
This interval is also used as the timeout for broker status checks by rgmanager. It may take up to this interval for rgmanager to detect a hung broker.
The default of 120 seconds is very high, you will probably want to set this to a lower value. If set too low, under network congestion or heavy load, a slow-to-respond broker may be re-started by rgmanager.
Note: for definition of broker states joining, catch-up, ready, recovering and active see HA Broker States
The cluster can only guarantee availability as long as there is at least one active primary broker or ready backup broker left alive. If all the brokers fail simultaneously, the cluster will fail and non-persistent data will be lost.
While there is an active primary broker, clients can get service. If the active primary fails, one of the "ready" backup brokers will take over, recover and become active. Note a backup can only be promoted to primary if it is in the "ready" state (with the exception of the first primary in a new cluster where all brokers are in the "joining" state)
Given a stable cluster of N brokers with one active primary and N-1 ready backups, the system can sustain up to N-1 failures in rapid succession. The surviving broker will be promoted to active and continue to give service.
However at this point the system cannot sustain a failure of the surviving broker until at least one of the other brokers recovers, catches up and becomes a ready backup. If the surviving broker fails before that the cluster will fail in one of two modes (depending on the exact timing of failures)
All brokers are in joining or catch-up mode. rgmanager tries to promote a new primary but cannot find any candidates and so gives up. clustat will show that the qpidd services are running but the the qpidd-primary service has stopped, something like this:
Service Name Owner (Last) State ------- ---- ----- ------ ----- service:mrg33-qpidd-service <IP_ADDRESS> started service:mrg34-qpidd-service <IP_ADDRESS> started service:mrg35-qpidd-service <IP_ADDRESS> started service:qpidd-primary-service (<IP_ADDRESS>) stopped
Eventually all brokers become stuck in "joining" mode,
as shown by: qpid-ha status --all
At this point you need to restart the cluster in one of the following ways:
Restart the entire cluster:
In luci:
click reboot to restart the entire cluster
your-cluster
:Nodes
Stop and restart the cluster with
ccs --stopall; ccs --startall
Restart just the Qpid services:In luci:
your-cluster
:Service Groups
Select all the qpidd (not qpidd-primary) services, click restart
Select the qpidd-primary service, click restart
Stop the qpidd-primary
and
qpidd
services with clusvcadm
,
then restart (qpidd-primary last)
A network partition is a a network failure that divides the cluster into two or more sub-clusters, where each broker can communicate with brokers in its own sub-cluster but not with brokers in other sub-clusters. This condition is also referred to as a "split brain".
Nodes in one sub-cluster can't tell whether nodes in other sub-clusters are dead or are still running but disconnected. We cannot allow each sub-cluster to independently declare its own qpidd primary and start serving clients, as the cluster will become inconsistent. We must ensure only one sub-cluster continues to provide service.
A quorum determines which sub-cluster continues to operate, and power fencing ensures that nodes in non-quorate sub-clusters cannot attempt to provide service inconsistently. For more information see:
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/High_Availability_Add-On_Overview/index.html, chapter 2. Quorum and 4. Fencing.
[1]
You can control the maximum number of messages in the buffer by setting the
client's capacity
. For details of how to set the capacity
in client code see "Using the Qpid Messaging API" in
Programming in Apache Qpid.
[2] Clients must use "at-least-once" reliability to enable re-send of unacknowledged messages. This is the default behaviour, no options need be set to enable it. For details of client addressing options see "Using the Qpid Messaging API" in Programming in Apache Qpid.
[3] The full grammar for the URL is:
url = ["amqp:"][ user ["/" password] "@" ] addr ("," addr)* addr = tcp_addr / rmda_addr / ssl_addr / ... tcp_addr = ["tcp:"] host [":" port] rdma_addr = "rdma:" host [":" port] ssl_addr = "ssl:" host [":" port]'
Apache Qpid, Messaging built on AMQP; Copyright © 2015 The Apache Software Foundation; Licensed under the Apache License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, Proton, Apache, the Apache feather logo, and the Apache Qpid project logo are trademarks of The Apache Software Foundation; All other marks mentioned may be trademarks or registered trademarks of their respective owners


Duolingo is simply a plattform that provides everybody and anybody the opportunity to learn a language. Start any day, available everyday.
1. Overall the average improvement in language abilities was 91.4 points and the improvement was statistically significant.
2.The effectiveness measure showed that on average participants gained 8.1 points per one hour of study with Duolingo.
3.The 95% Confidence Interval for the effectiveness is from 5.6 points to 10.7 points gained per one hour of study.
4.The study estimated that a person with no knowledge of Spanish would need between 26 and 49 hours (or 34 hours on average) to cover the material for the first college semester of Spanish. This result is based on the language test’s cutQoff point for the second college semester and the 95% Confidence Interval of the effectiveness measure.
5.The main factor for higher effectiveness was the motivation of the participants, with people studying for travel gaining the most and people studying for personal interest gaining the least.
6.Another factor for higher effectiveness was the initial level of knowledge of Spanish with beginners gaining the most and more advanced learners gaining the least.


MoneyGeek.com combines decades of experience in financial literacy and data to provide comprehensive, easy-to-use tools to help users make smarter financial decisions. This message is intended for U.S. audiences only.
A comprehensive list of financial ratios and metrics used by investors, analysts, and company management.
Each article explains the financial metric, how it is calculated, and how it is used with examples.
Savings guide for college -- From Maya Ainsworth resent (Aug 2018) research notes on things 'to do' to earn or save money.


PW
Offer Confirmation
Comments
Approve
Reject
Compensation Package
Working Flow
More related
Number
Approver
Date
Approve/Reject
Location
Job Title
Candidate
Department
Project/Funcyion
RSUs(if any)
Gross Salary RMB
/Month
Other (if any)
New/Replacement
Summary from Hiring Manager
1
2
3
4
5
6
Attachment
Interview Assessment-
Resume-
For Approval
Records
Approve
Reject
select all
No pending actions
-
of
Submited Date:
days ago


Proximity uses document type definitions (DTDs) to define the
required syntax for files containing queries, models, and data to be
imported. Proximity requires that the appropriate DTD be in the same
directory as the corresponding query or XML data file. Copy the
appropriate DTD from $PROX_HOME/resources/
to any
directories containing these files.
| DTD | Required for |
|---|---|
graph-query.dtd
|
query file format |
prox3db.dtd
|
import/export XML file format |
rbc2.dtd
|
RBC file format |
rpt2.dtd
|
RPT file format |
rdn.dtd
|
RDN wrapper file format |


Open Space Observatory is an initiative for the observation of satellites, spacecraft, and space junk.
The initiative includes mapping and cataloging information on satellites, embedding civic space technology in public settings in collaboration with the Libre Space Foundation, and proposing alternative narratives of observation through speculative design.
The Open Space Observatory was included in The New Observatory exhibition at FACT Liverpool in 2017, and The Future Starts Here exhibition at the Victoria & Albert Museum in 2018, as ROSE.OPENSPACEOBSERVATORY.ORG.
I coordinate the initiative's design, development, and related workshops.


Implementation of a model-based approach for clustering and multiple change points in dynamic graphs (Marco Corneli, Pierre Latouche and Fabrice Rossi (2018) <doi.org/10.1007/s11222-017-9775-1>).
| Version: | 1.0 |
| Depends: | R (≥ 2.10) |
| Imports: | Rcpp (≥ 0.12.17), mclust, RColorBrewer, igraph |
| LinkingTo: | Rcpp, RcppProgress, RcppArmadillo |
| Suggests: | knitr, rmarkdown, mapview, sp |
| Published: | 2018-12-03 |
| Author: | Marco Corneli, Pierre Latouche, Fabrice Rossi, Margot Selosse |
| Maintainer: | Margot Selosse <margot.selosse at gmail.com> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | yes |
| SystemRequirements: | C++11 |
| CRAN checks: | CpDyna results |
| Reference manual: | CpDyna.pdf |
| Vignettes: |
CpDyna |
| Package source: | CpDyna_1.0.tar.gz |
| Windows binaries: | r-devel: CpDyna_1.0.zip, r-release: CpDyna_1.0.zip, r-oldrel: CpDyna_1.0.zip |
| OS X binaries: | r-release: CpDyna_1.0.tgz, r-oldrel: CpDyna_1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=CpDyna to link to this page.


ssldump - dump SSL traffic on a network
SYNOPSIS
ssldump [ -vtaTnsAxXhHVNdq ] [ -r dumpfile ]
[ -i interface ] [ -k keyfile ] [ -p password ] [ expression ]
DESCRIPTION
ssldump is an SSL/TLS network protocol analyzer. It iden-
tifies TCP connections on the chosen network interface and
attempts to interpret them as SSL/TLS traffic. When it
identifies SSL/TLS traffic, it decodes the records and
displays them in a textual form to stdout. If provided
with the appropriate keying material, it will also decrypt
the connections and display the application data traffic.
ssldump has been tested on FreeBSD, Linux, Solaris, and
HP/UX. Since it's based on PCAP, it should work on most
platforms. However, unlike tcpdump, ssldump needs to be
able to see both sides of the data transmission so you may
have trouble using it with network taps such as SunOS nit
that don't permit you to see transmitted data. Under
SunOS with nit or bpf: To run tcpdump you must have read
access to /dev/nit or /dev/bpf*. Under Solaris with dlpi:
You must have read access to the network pseudo device,
e.g. /dev/le. Under HP-UX with dlpi: You must be root or
it must be installed setuid to root. Under IRIX with
snoop: You must be root or it must be installed setuid to
root. Under Linux: You must be root or it must be
installed setuid to root. Under Ultrix and Digital UNIX:
Once the super-user has enabled promiscuous-mode operation
using pfconfig(8), any user may run ssldump Under BSD: You
must have read access to /dev/bpf*.
OPTIONS
-a Print bare TCP ACKs (useful for observing Nagle behav-
ior)
-A Print all record fields (by default ssldump chooses
the most interesting fields)
-d Display the application data traffic. This usually
means decrypting it, but when -d is used ssldump
will also decode application data traffic _before_
the SSL session initiates. This allows you to see
HTTPS CONNECT behavior as well as SMTP STARTTLS. As
a side effect, since ssldump can't tell whether
plaintext is traffic before the initiation of an
SSL connection or just a regular TCP connection,
this allows you to use ssldump to sniff any TCP
connection. ssldump will automatically detect
ASCII data and display it directly to the screen.
-e Print absolute timestamps instead of relative
timestamps
-r Read data from file instead of from the network.
The old -f option still works but is deprecated and
will probably be removed with the next version.
-H
Print the full SSL packet header.
-k Use keyfile as the location of the SSL keyfile
(OpenSSL format) ssldump automatically looks in
./server.pem.
-n Don't try to resolve host names from IP addresses
-N Attempt to parse ASN.1 when it appears, such as in
certificates and DNs.
-p Use password as the SSL keyfile password default is
"password".
-q Don't decode any record fields beyond a single sum-
mary line. (quiet mode).
-x Print each record in hex, as well as decoding it.
-X When the -d option is used, binary data is automat-
ically printed in two columns with a hex dump on
the left and the printable characters on the right.
-X suppresses the display of the printable charac-
ters, thus making it easier to cut and paste the
hext data into some other program. -y Decorate the
output for processing with troff. Not very useful
for the average user.
expression
Selects what packets ssldump will examine. Techni-
cally speaking, ssldump supports the full expres-
sion syntax from PCAP and tcpdump. In fact, the
description here is cribbed from the tcpdump man
page. However, since ssldump needs to examine full
TCP streams, most of the tcpdump expressions will
select traffic mixes that ssldump will simply
ignore. Only the expressions which don't result in
incomplete TCP streams are listed here.
The expression consists of one or more primitives.
Primitives usually consist of an id (name or num-
ber) preceded by one or more qualifiers. There are
three different kinds of qualifier:
are host, net and port. E.g., `host foo',
`net 128.3', `port 20'. If there is no type
qualifier, host is assumed.
dir qualifiers specify a particular transfer
direction to and/or from id. Possible
directions are src, dst, src or dst and src
and dst. E.g., `src foo', `dst net 128.3',
`src or dst port ftp-data'. If there is no
dir qualifier, src or dst is assumed. For
`null' link layers (i.e. point to point pro-
tocols such as slip) the inbound and out-
bound qualifiers can be used to specify a
desired direction.
More complex filter expressions are built up by
using the words and, or and not to combine primi-
tives. E.g., `host foo and not port ftp and not
port ftp-data'. To save typing, identical quali-
fier lists can be omitted. E.g., `tcp dst port ftp
or ftp-data or domain' is exactly the same as `tcp
dst port ftp or tcp dst port ftp-data or tcp dst
port domain'.
Allowable primitives are:
dst host host
True if the IPv4/v6 destination field of the
packet is host, which may be either an
address or a name.
src host host
True if the IPv4/v6 source field of the
packet is host.
host host
True if either the IPv4/v6 source or desti-
nation of the packet is host. Any of the
above host expressions can be prepended with
the keywords, ip, arp, rarp, or ip6 as in:
ip host host
which is equivalent to:
ether proto \ip and host host
If host is a name with multiple IP
addresses, each address will be checked for
a match.
ether dst ehost
True if the ethernet destination address is
ehost. Ehost may be either a name from
/etc/ethers or a number (see ethers(3N) for
numeric format).
True if the ethernet source address is
ehost.
ether host ehost
True if either the ethernet source or desti-
nation address is ehost.
gateway host
True if the packet used host as a gateway.
I.e., the ethernet source or destination
address was host but neither the IP source
nor the IP destination was host. Host must
be a name and must be found in both
/etc/hosts and /etc/ethers. (An equivalent
expression is
ether host ehost and not host host
which can be used with either names or num-
bers for host / ehost.) This syntax does
not work in IPv6-enabled configuration at
this moment.
dst net net
True if the IPv4/v6 destination address of
the packet has a network number of net. Net
may be either a name from /etc/networks or a
network number (see networks(4) for
details).
src net net
True if the IPv4/v6 source address of the
packet has a network number of net.
net net
True if either the IPv4/v6 source or desti-
nation address of the packet has a network
number of net.
net net mask mask
True if the IP address matches net with the
specific netmask. May be qualified with src
or dst. Note that this syntax is not valid
for IPv6 net.
net net/len
True if the IPv4/v6 address matches net a
netmask len bits wide. May be qualified
with src or dst.
dst port port
True if the packet is ip/tcp, ip/udp,
ip6/tcp or ip6/udp and has a destination
port value of port. The port can be a num-
both the port number and protocol are
checked. If a number or ambiguous name is
used, only the port number is checked (e.g.,
dst port 513 will print both tcp/login traf-
fic and udp/who traffic, and port domain
will print both tcp/domain and udp/domain
traffic).
src port port
True if the packet has a source port value
of port.
port port
True if either the source or destination
port of the packet is port. Any of the
above port expressions can be prepended with
the keywords, tcp or udp, as in:
tcp src port port
which matches only tcp packets whose source
port is port.
Primitives may be combined using:
A parenthesized group of primitives and
operators (parentheses are special to the
Shell and must be escaped).
Negation (`!' or `not').
Concatenation (`&&' or `and').
Alternation (`||' or `or').
Negation has highest precedence. Alternation and
concatenation have equal precedence and associate
left to right. Note that explicit and tokens, not
juxtaposition, are now required for concatenation.
If an identifier is given without a keyword, the
most recent keyword is assumed. For example,
not host vs and ace
is short for
not host vs and host ace
which should not be confused with
not ( host vs or ace )
Expression arguments can be passed to ssldump as
either a single argument or as multiple arguments,
whichever is more convenient. Generally, if the
expression contains Shell metacharacters, it is
easier to pass it as a single, quoted argument.
Multiple arguments are concatenated with spaces
To listen to traffic on interface le0 port 443
ssldump -i le0 port 443
To listen to traffic to the server romeo on port 443.
ssldump -i le0 port 443 and host romeo
To decrypt traffic to to host romeo server.pem and the
password foobar
ssldump -Ad -k ~/server.pem -p foobar -i le0 host romeo
OUTPUT FORMAT
All output is printed to standard out.
ssldump prints an indication of every new TCP connection
using a line like the following
New TCP connection #2: iromeo.rtfm.com(2302) <-> sr1.rtfm.com(4433)
The host which send the first SYN is printed on the left
and the host which responded is printed on the right.
Ordinarily, this means that the SSL client will be printed
on the left with the SSL server on the right. In this case
we have a connection from iromeo.rtfm.com (port 2303) to
sr1.rtfm.com (port 4433). To allow the user to disentangle
traffic from different connections, each connection is
numbered. This is connection 2.
The printout of each SSL record begins with a record line.
This line contains the connection and record number, a
timestamp, and the record type, as in the following:
2 3 0.2001 (0.0749) S>C Handshake Certificate
This is record 3 on connection 2. The first timestamp is
the time since the beginning of the connection. The second
is the time since the previous record. Both are in sec-
onds.
The next field in the record line is the direction that
the record was going. C>S indicates records transmitted
from client to server and S>C indicates records transmit-
ted from server to client. ssldump assumes that the host
to transmit the first SYN is the SSL client (this is
nearly always correct).
The next field is the record type, one of Handshake,
IAlert, ChangeCipherSpec, or application_data. Finally,
ssldump may print record-specific data on the rest of the
line. For Handshake records, it prints the handshake mes-
sage. Thus, this record is a Certificate message.
ssldump chooses certain record types for further decoding.
ClientHello - version, offered cipher suites, session id
if provided)
ServerHello - version, session_id, chosen cipher suite,
compression method
Alert - type and level (if obtainable)
Fuller decoding of the various records can be obtained by
using the -A , -d , -k and -p flags.
DECRYPTION
ssldump can decrypt traffic between two hosts if the fol-
lowing two conditions are met:
1. ssldump has the keys.
2. Static RSA was used.
In any other case, once encryption starts, ssldump will
only be able to determine the record type. Consider the
following section of a trace.
1 5 0.4129 (0.1983) C>S Handshake ClientKeyExchange
1 6 0.4129 (0.0000) C>S ChangeCipherSpec
1 7 0.4129 (0.0000) C>S Handshake
1 8 0.5585 (0.1456) S>C ChangeCipherSpec
1 9 0.6135 (0.0550) S>C Handshake
1 10 2.3121 (1.6986) C>S application_data
1 11 2.5336 (0.2214) C>S application_data
1 12 2.5545 (0.0209) S>C application_data
1 13 2.5592 (0.0046) S>C application_data
1 14 2.5592 (0.0000) S>C Alert
Note that the ClientKeyExchange message type is printed
but the rest of the Handshake messages do not have types.
These are the Finished messages, but because they are
encrypted ssldump only knows that they are of type Hand-
shake. Similarly, had the Alert in record 14 happened
during the handshake, it's type and level would have been
printed. However, since it is encrypted we can only tell
that it is an alert.
BUGS
Please send bug reports to<EMAIL_ADDRESS>The TCP reassembler is not perfect. No attempt is made to
reassemble IP fragments and the 3-way handshake and close
handshake are imperfectly implemented. In practice, this
turns out not to be much of a problem.
Support is provided for only for Ethernet and loopback
interfaces because that's all that I have. If you have
another kind of network you will need to modify pcap_cb in
base/pcap-snoop.c. If you have direct experience with ssldump
on other networks, please send me patches.
ssldump doesn't implement session caching and therefore
can't decrypt resumed sessions.
Man(1) output converted with
man2html


A fictional account on ingesting 5MeOAMT, Cannabis and E.
Setting: Home, 4pm Saturday afternoon, together with a friend.
Set: Mind at peace, nowhere near anxious about ingesting anything, prepared for the experience. Recently used only cannabis, 2 days beforehand and a week before, after more than 2 months of abstaining from it.
T+0 - 5mg 5MeOAMT
T+3-4h – 2 joints
T+12h – 1 joint
T+13h – 1 E pill (marked B.L.)
Let me start by saying that this was an extraordinary 5MeOAMT experience, nothing like what I’ve had before w/ this substance, but I must note that I (almost) never used together with Cannabis. I would recommend 5MeOAMT in this combo and have in mind that I would have not recommended it really, before this happened.
A note on 5MeOAMT:
Well, this is quite a weird substance. My first experiences with it were more psychedelic, then they progressed more to a ‘mental speed’ kind of high, long lasting w/ less insight and quite a bit of depersonalization. Visuals appeared here and there, but they were definitely most apparent on my first trip, when I had an unknown dose which I’d approximate around 15-20mg (leftovers from the baggie it was packed in).
It can be quite heavy on the body within the first 2h, but usually after the first 1h30m mark all nausea has slipped and the experience is really beginning to unfold. I’ve gone from virtually no nausea to puking 2-3 times on it and the nausea factor is largely established by the dose- and of course, what you have recently eaten and how long ago it was.
Also, the bliss/ecstasy/grace I’ve felt on other psychedelics is largely missing here. Someone told me that this property of the substance unfolds around the 40mg point, which I would seriously not recommend doing without carefulness!!!
Still, it’s an interesting high, but a high I imagine psychedelic connoisseurs will not approve, especially if they have access to ‘better’ psychedelics.
Well, having said that, let me tell you what made me respect 5MeOAMT VERY much! ;)
T-0:20
20 minutes before the experience we down 2x50mg Dramamine pills, to help with nausea.
T+0:0
We both down approx. 5mg 5MeOAMT each, dissolved in very little ice tea, to help the taste – which it definitely does, taste is almost untraceable.
T+0:40
We both feel the alerts, very subtle visual distortions etc.
T+0:45
My friend, whom I will refer with L later on, who ate a donut after ingesting the 5MeOAMT, gets quite sick and goes to puke.
T+1:30
L is having a rough time with her stomach, she had to puke about 6-7 times total. I puked only once and didn’t have any major nausea trouble. Sitting on a chair w/ back up helps with this, while lying on the bed definitely brings on more nausea!
T+1:45 – By now most of the physical discomfort is gone and we’re discussing our experience. I still haven’t been hit particulary, but L is getting visual phenomena from time to time. I feel it coming on.
T+2h
We are discussing various things, listening to music, ranging from FSOL to Boards of Canada to Underworld. I put a dubbed out ambient psychedelic mix I did, featuring tracks from the likes of Global Communication, Bola, FSOL, Tuxedomoon, Primal Scream, etc.
T+2:30
We’re considering going out to fetch something to eat and decide we’re smoking a joint before that. For the next 30mins I’m drying the dope, since it wasn’t fully dry and am rolling the joint. So far, the experience is nice, a little detached a lil’ psychedelic, fine, but nothing special for me. L is getting it more & more visual, tho’.
T+3h
We smoke the joint.  The weed turns out to be quite good and we’re having a blast. I am getting thoroughly psychedelic. The trip level goes somewhere around +++, still not totally immersed but slowly sinking into a blissful psychedelic state of mind. We are both overjoyed by the way a lil’ weed changed our experience altogether for the better! We laugh and feel great. We compare our states and find we’re totally into it. I feel great to be back to this state, I’ve missed it much.
T+3:30
We go out to get some rizlas and some fruit yoghurt. Outside was hilarious – it was interesting navigating around in such a state. No paranoia at all, highly amusing.
We get back. The fruit yoghurt tastes supreme!!
Amazed as we are, we decide that if we can roll another J, we are in a state to smoke it!
T+4h
So we do. During this half hour, we are totally loosing it in various ways. Music starts to take several different meanings simultaneously. I feel immersed into it, like into an archetypal story, feelings and moods soar past’n’thru my head’n’mind and crash like waves into me. Everything I play through the computer I run through a series of effects on my soundcard, to give it a lil’ different edge and I play around w/ the controls for a while. Immensely interesting, I can see how I would loose myself for hours on end with this kinda virtual knob-twiddling.
For me, the first highlight was a quite spontaneous breakdown of my ego, losing myself in a song of mine. I decided to play my latest tune to L, a downtempo dubby track & I play it straight from Logic Audio. We sit and watch the automated knobs moving about in the graphic mixer and get totally immersed into the heavy subliminal sound. As 4 minutes pass and the tune breaks down, I cannot believe what happened to me there. I truly wasn’t expecting something like this from this material.
I go in a highly visual trip. Looking at a beer mug filled w/ water, the light crashing about, I see a vision of an eye superimposed on it. Light goes weirdly 3D and I sit and meditate. We both turn in totally inwards experiences, closed eyes, solo.
My next highlight of that evening, with closed eyes, surfing in what seemed like an infinite 3D graphic representation of my neurolinguistic pathways. I was blown away by this. Finally where I wanted to be and I totally didn’t expect to end up this time.
I am very keen to elaborate on my thought line here, I found it be a very rewarding experience, allowing me to reexperience, reevaluate and integrate what I’ve been reading about & learning the past few months, about consciousness, the mind & the Universe.
I was sitting in a space free of time and started having a wonderful mental conversation with myself about what I was experiencing. I was reevaluating my previous beliefs, from hyperspace entities to the possibilities of creatures from extra dimensions, dimensions of thought/ideas. I was wondering why did I take up such beliefs? I highly suspected it was because I was exposed to these ideas. Yet, there was this element, a feeling of ‘Otherness’ which backed it all up.
I decided that I was very aware of my communication with the Universe around me – a set which felt separate from me, alien – Other. I was pondering whether I was communicating with a conscious Universe? Granted, the rest of the Universe seemed ‘aware of me’ to the extent that it responded to my actions, but was it conscious? Or was it all my mind?
This led me to a series of questions:
Are we humans the only beings we know of, which are capable of consciousness?
Since we don’t have any evidence of consciousness without a body/brain/mind, and we know all our perception is created by our mind, I decided I was really communicating with my mind.
I didn’t find this strange at all – the mind is capable of performing a variety of tricks and illusions, which are quite fascinating to observe.
I could feel my previous ‘hyperdimensional entity’ mumbo-jumbo assumptions slowly disintegrate – and their visual representations morphing into neutral shapes. I could feel a sort of internal resistance in doing this, but it became less and less noticeable with time.
Further on, I was contemplating ‘the nature of consciousness’. I drew the analogy of being conscious of something, to an information based process which is asking a question about something and getting the answer.
Consider an amoeba (system) – when it moves, it is essentially ‘asking the environment’ – “Is there something (problematic) in my way?”. If the cell membranes hit something, the whole system is informed about it – this way or the other – and the amoeba acts upon this ‘realization’.
Still, I would hardly dub an amoeba conscious – but maybe this was cell consciousness, I thought?
Analyzing different things, I decided that consciousness might be defined as a function of knowledge – being aware of something, knowing something.
Still, to know something, be aware of it (or recognize it) a system must have some kind of a memory.
This made sense – amoebas (cells) have memory which is provided by the DNA tape-code. This small, yet immensely diverse information chain of molecules carries the memory of generations of lifeforms – these are ‘memories’ selected by the “Invisible Hand” of the process of evolution. They are memories on how to act in order to survive in certain situations.
So, it was not very wrong, I thought, to label cells/amoebas conscious. They have memory and since consciousness is a function of memory, cells are conscious – but with this primeval consciousness, lesser and totally different from our human conscious experience.
I analyzed, or one might say “lived up”, the process of cell evolution into complex system which sustain more and more memory – which ultimately gave rise to a neural network, which gave rise to conscious experience as we humans know it.
It seemed blatantly obvious: the more complex the memory storage of the system, the more vital consciousness properties it has. Once the system reaches a complexity where the information stored in its memories start looping back through the system, self awareness is made possible. Having in mind the synaesthetical nature of our perception, of how the brain works, human consciousness clicked into place.
A vast network of neurons, acting to store information which is available to (most of) the distinct subnetworks of the system – that is to say, a network which displays synaesthetical capability – grew to be so complex in size and computational power that the information stored and generated by this network looped back and forth through it and gave rise to self-conscious experience.
Why not? The subnetwork in charge of perception got flooded with information from other subnetworks and thus made it perceive the existence of the rest of the brain/mind – it made it perceive the other programs in the system, in charge of stuff such as hunger, thirst, sex, pleasure, excretion of urine/feces, interspecies communication, etc. etc. etc. (Note: all of these were/are valid neural network programs, as can be seen in the rest of the animal world – they exist without self-awareness)
So, I decided, our level of self aware conscious experience is determined by the complexity of what and how we know – how much memory we have and in which way is it ‘wired’ to be stored within our system.
I considered this mental action which was swirling round my mind. I was aware that this was fuelled by what I once skimmed through at places such as The Deoxyribonucleic Hyperdimension (deoxy.org). I didn’t fully understand, neither I could recall all those Lilly/Leary/Wilson levels of consciousness, octaves of energy and whatnot, but it seemed evident that I was on to the same thing!
With this in mind, I reevaluated my previous ‘hyperdimensional entities’ gobbledegook – when I first experienced it, I didn’t really pay much attention to it. Later on, as I re-stumbled upon and more consciously explored on all the information on the ‘hyperdimensional contact trips’, combined with my explorations and matching my previously not much heeded experience – I “found myself at home” with the interpretation and took it to be quite true. But!!! (and it’s a big BUT), before I even had the first experience of those phenomena, back when I had no label for it, I had read some of those reports. I read them, they slipped past my conscious mind – that is to say, I couldn’t recall what were those texts really about (mainly due to lack of experience), but all of that stayed in my unconscious memory. When I experienced that stuff, although I had no label for it back then – and then reread all of the accounts and reexperienced it – it clicked within me.
I noticed the same pattern of recognition with both the maps of consciousness and the hyperdimensional lifeforms. I first somehow fed my mind with that info – forgot it - and later on it surfaced and was recognized – even more, it was recognized as ‘authentic’.
Geez! Talk about tricks of the mind!!!
Can the Universe be called conscious, I pondered? I was thinking that this answer would be more of a definition issue. On one hand, the Universe IS a vast network of complex information bouncing through time-space, on the other hand ‘real consciousness’ is observed only in the smaller, much more complex subsets of the Universe. Is the Universe conscious, is only a part of it conscious or both?
The whole Universe, I decided – is not conscious (and oh, I wish it is :) The fundamental laws which govern how the Universe acts as a system simply don’t give any credibility that the whole of it is conscious.
Subsets within it however, have arisen in complexity so much, that they ARE conscious.
These conscious subsets or subsystems within the Universe are a result of layers and layers of complexity which has arisen only by using the fundamental laws of the Universe.
However, they give rise to another observable process – the process of evolution. This process of trial and error, which works on an atomic/molecular level, rises on to affect on a higher level the systems within which it works. So, it serves to introduce novelty on all levels within the Universe. And by this process, matter has organized itself into systems of such complexity that it can be called “conscious” and its actions, by some people, “spiritual”.
Again, it was blatantly obvious that consciousness does not give rise to matter, but vice versa. Evolution has managed to wrap up systems of matter which are able to ‘outperform’ in complexity, the fundamental systems of processes that shape the Universe. Physical reality gives rise to “spiritual reality” – or rather, the mass hallucination we experience as culture. However, in my mind, I wasn’t making the mistake of the cause and effect in their relationship. It was fairly obvious that, if “spirit” requires consciousness, it requires matter. It seems silly to talk about consciousness without matter to support it, however wishful thinking on the subject we are.
In a pantheistic manner, I decide “God is evolution”. The Universe is evolution.
Still, I examine that this process of evolution, as well as the fundamental laws of the Universe, carry no personal attributes. They are impersonal, unconscious acts.
For them to be personal (or conscious) a system of MUCH HIGHER complexity would be needed at the core of it all. At least at the time, no evidence as such is known (to me). It boils down to a bunch of simple enough equations to describe most of it – even with this in mind tho, I was aware of the way the idea of “Cosmic Love” appealed to me and still does :)
So, “God is impersonal evolution”, I decide.
And thank God, for you readers at least ;) somewhere around this time the phone started ringing and I made plans to go out tonite and nothing much more worthy of reporting was experienced.
I chilled out for a short while with music on, enjoying my mind state which was still highly active, sometimes loosing short term memory.
I then proceeded to a friends place and had some coffee. I was mostly back to baseline, in therms of social mind/body functioning. I was very tired, tho’ – the coffee helped a bit.
I stayed up quite long into the nite. When I finally returned home I felt very relaxed, napped for 15 minutes and smoked a joint.
The mental activity came rushing back, but with very diminished force, because of my weariness. I enjoyed some music, felt drifting in and out of my mind and this helped me regain some strength and I decided I was going to drop some weak E pill which I had.
The E effects were observable within 45 minutes or so – I felt very pleasant. It gave me a good deal of energy and I was back into a state in which I could easily access my previous insights. This helped me a lot in remembering them and taking them back to baseline reality – I enjoyed the music and briefly reexperienced and memorized more of my previous thoughts.
I logged on to the Net and had a specially nice chat with an IRC friend at the time, too.
Soon, I began to experience the first symptoms of the E crashdown. I lay in my bed once again, drifting in and out of consciousness. This helped me minimalize their perceived effects and soon enough I fell asleep – which I think was the best way to end the trip.
I woke up early in the morning, with a replenished serotonin supply in my brain :))) and was very satisfied with the whole experience.

It pushed me into new waters to explore and made me integrate what I already knew.
I am quite sure it sparked off a major spiritual experience a week and half later, too: only on dope, on a long train ride – reading a special issue of Scientific American, “The once and future Cosmos”. But that is another story ;)
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


IN ETHIOPIA
female-managed agricultural plots
produce an average of
30% less
than those that are
male-managed.


Please click here to register to vote.
Please click here to find out when your state's primary elections are held.
You can still be involved by going to change.org, or learning about political issues.


4 LITTLE GIRLS Reviewed by Chuck Dowling Copyright 1998 - Chuck's Movie Reviews http://users.southeast.net/~chuckd21/
4 Little Girls (1997) **** out of ***** - Produced and Directed by: Spike Lee. Running Time: 102 minutes.
It was 1963 in Birmingham, Alabama.  That's the story told in "4 Little Girls", the latest film by Spike Lee. Unlike Lee's other films, "4 Little Girls" is a documentary, told only through old news footage and the recollections of family and friends of the victims.
The story told is a compelling and emotional one, and for the most part it is well presented. A couple of times the subject does seem to wander into broader areas, as other events in Birmingham are discussed. This isn't such a horrible complaint, but the film is called "4 Little Girls" and not "Birmingham in the '60s". I would have rather seen more stories and memories from the friends and family.
Also on hand to deliver their thoughts are Jesse Jackson, Bill Cosby, and Green Bay Packer Reggie White. Thankfully, these "outsider" interviews are kept to a minimum, leaving more time for the family members to speak. However, there are a few seconds of interviews with former Alabama governor George Wallace that are oddly fascinating, and almost deserve their own film.
I understand that all revenue from the theatrical run of the film will be donated to a college scholarship fund in Birmingham. So if it's playing in your area, you can go help out a good cause and get a fine documentary for your troubles. This would also be an excellent film for students and teachers studying/teaching the civil rights movement. [NR]
-- Chuck Dowling --
Visit Chuck's Movie Reviews at http://users.southeast.net/~chuckd21/ Over 1,600 movies rated and/or reviewed! Movie news, film related links, and reader's reviews.
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


This is a proof of concept project that I used to learn the basics for angular.js while using familiar tools
I used Yeoman with the webapp generator to start the generator.
If you spot any bug, have a suggestion, or want me to know how bad a job I've done head to the Github repo
To see a list of installed featured, click here.
Cheers!


class Client
| <init> |
Client(serverHostAndPort: HostAndPort) |
| consumer |
var consumer: ClientConsumer |
| producer |
var producer: ClientProducer |
| session |
var session: ClientSession |
| run |
fun run(): Unit |
| send |
fun send(message: String, queueName: String): Unit |


Design Thoughts
This is a listing, not entirely sorted, of thoughts, remarks, things to do, regarding PiTiVi's design, uses, etc...
Eventually, these ideas/thoughts/remarks ... will end up being split up for a full-size (re)design/refactor document.
They could be sorted as following:
- Coding Style : Urgent
- Core Features
- (long term) goals
- Vision (use cases ?)

- What is not flexible enough ?
- What is not re-usable ?
- What is hard to use ?
- What is unclear ?
- What is not needed ?
- What is in the wrong location ?
- Split up code
Actual inline-review done in the 'code-review' branch here : http://gitorious.org/projects/pitivi/repos/mainline
Fundamental issues and goals
These issues/goals are not ordered, since they are all equally important.
-
No code shall access private values directly
- Use setter/getter and python 'property' mapper
- Ex:
myprop = property(_get_myprop,_set_myprop)
-
Core code shall NOT contain any UI-specific code (and
vice-versa)
- This breaks the fundamental Core/UI separation
- Any code in core that has ui-specific code should be moved to pitivi.ui modules
- And the opposite for core code in the UI (ex.
pitivi.ui.plumber
)
-
All Core/UI classes can be subclassable for specific usage
- This is essential for full pitivi flexibility, for having all kinds of plugins, for having different UI, etc...
-
Splitup code in subdirectories/submodules
- Maybe not as much as one class per file... but that would be a good goal
- Definitely ONE base class per file though
-
UI is NOT compulsory ==> pitivi can be used as a LIBRARY
- There are several tools for which we need all the code from pitivi core without a UI implementation
- Ex : rendering backends, command-line/scripting tools, ....
- Disambiguate the naming somewhere
-
pitivi
: python module/library -
PiTiVi
: application using thepitivi
module
-
- Still, we should have most of the UI logic in that library, but without any forced implementation (like qt/gtk/win32...)
-
No gnome/gtk/gobject/gst specific code in base classes
- This should go in subclasses
- Create our own event-based interface (to remove dependency on
gobject.GObject)
- Johan might have ideas about this
-
Use
generators/yield
wherever it can be applied- Speedup and memory usage improvement
-
The only HARD DEPENDENCIES of pitivi are python core libraries and
gstreamer
- All other dependencies are optional and should be used from plugins
-
Remove the global instance code
- No code should depend on a single instance of application and project
- Needed to be able to load many projects in one instance (amongst other things)
- The majority of the pitivi module should be non-application modules
- Unit tests for pitivi core
-
Prepare for Python 3
- Article/presentation by Guido about this : http://www.artima.com/weblogs/viewpost.jsp?thread=227041
Code Review
Not at all sorted
File save/load
It seriously needs to be rethinked.
- Allow formats to create their own subclasses of core classes
- Subclassing FileSource to add format-specific information
- Subclassing FileSourceWidget to show that format-specific information in the UI
- Pluggable format support
- See Undo/Redo
- We need a native PiTiVi format
- Need to be able to save files used in the project
- Handle files/directories being moved, or loading the project on a different computer
- Simple support for playlists (ELD, PLS, ASX ?)
Undo/Redo
- Some actions might be specific to a plugin
Layer support in compositions
- This is currently implemented using hacks
TimelineObjects
- Actually use ObjectFactory for producing its content
- Remove limitation of only one brother per object
- Allow re-using identical source/composition many times in a
composition
- Fully synchronized (modifications to one instance are spread to all instances)
- Not synchronized (they're copies)
- Half synchronized (only some properties modifications are synchronized to all instances)
ObjectFactory
- Clarify its usage
- It contains the global information of objects you can use in the timeline
- For *any* object you can use in the timeline (source, fx, transition, composition, etc....)
- Create notion of
SubObjectFactory
- They use a smaller area/time of the parent object (cutting a captured video)
- Or they could be corrected/modified versions of the original
source (i.e. they have extra effects applied to the source)
- Colour balance correction
- Audio Correction
- Media conversion (ex : Use
goom
to make a video stream out of an audio track)- The 'media-converted' ones could maybe done on the fly if you add a file of a given media type (ex:audio) into a track of another media type (ex:video).
- Allow easy transcoding, re-rendering or re-muxing of SubObjectFactory.
- Allow adding extra (meta)data
Logging
- Switch to a smarter and more efficient debugging system
- Use logging module ?
- do as
flumotion
?
Plugin system
- Figure out how to cleanly solve the problem of plugins extending
both CORE and UI classes
- flumotion use some kind of bundles for this
SmartBin and Playground
This was originally created to cope with 0.8 issues
- Do we still need the playground ??
- SmartBin isn't flexible enough
- We might need to have more than two running at the same time
- Doesn't support being connected to more than one sink
- Need to support features like Viewing Video while recording Video AND Audio
An idea might be to have Producer
s and Consumer
s.
- Producer
- Can be a Timeline, live stream, File source, camera, webcam ,... (more or less like SmartBin now)
- It has a clean way of querying what it can produce
- We can connect multiple times to a stream (Audio, Video, ...) it produces
- Consumer
- Can be an Encoder, Hardware sinks, Raw File renderer, Network Stream renderer, ...
- Has a buffering property
Naming inconsistencies
Make sure the naming is coherent and comprehensible
- Get rid of the notions of 'threads' in bins (sooooo 0.8)
- Use proper naming from the editing world
- Add a glossary in the documentation
Temporary files
Thumbnails, captures, etc...
- Where do we store them ?
- How do we manage them ?
Hardware source and sinks
- Move plumber to core
- Have some discovery utility (i.e. several audio/video sinks)
- Have it subclassable
- Use HAL on linux
- Use ??? on win, etc....
- Have it subclassable
- Have some generic classification system (os/system agnostic)
- Audio
- Video
- Source
- Local
- Camera
- Network
- Sink
- Local
- Network
- ???
- See SmartBin and Playground above
Cache rendering
- needed for complex videos/operation
- Have a caching system for frame forward/backward operation
- Would act like a queue, except it would intercept seeks, do the original one, then do a second [1s before, 1s after] seek to have the data available straight away for step-by-step seeking
Losless editing
- For I-frame only codecs (DV, JPEG,...), we should be able to only
decode/process/encode parts that have be modified
- Would require gnonlin and core pitivi classes to support non-raw streams
Capture support
- Have base classes for capture support in core
- See Hardware source and sinks
- We absolutely need support for DV and HDV
Flexible 'source provider/browser' support
Currently we only get sources from local files (even worse, it's using gnome-specific things)
-
Make it generic
-
It provides ObjectFactory objects
-
Allow access to various kinds of source provider
- Local providers (filesystem, F-Spot, Gnome media (SoC project), ...)
- Network providers (Media Asset Management)
- P2P ? Using telepathy and tubes ?
-
Source providers might have extra information ==> ObjectFactory subclasses
-
Figure out what's the best way to solve this issue
- Use a source provider (let's say youtube) and grab some files
- You want to modify those files (let's say apply a colourbalance, or cut out what you need) to have SubObjectFactory
- You save your project (where/how do you save those files ? Do we leave them as a youtube link ?)
- You reload your project... but you don't need the youtube browser anymore (you've already got your sources)
-
- PROBLEM Disambiguate SourceProvider and SourceBrowser. I'd say the difference is that stuff from SourceProvider(s) have to be moved in the SourceBrowser before being used in the timeline.
-
See also the ideas in ObjectFactory above
Marker points / KeyFrames
Here keyframes are not I-frames but 'key positions'
- Add support in:
- ObjectFactory (interesting points, user-introduced data, could be stored with/along the file...)
- TimelineObject (instance specific property modification)
- UI
Source flexibility
- Support multiple versions of one source
- Ex :
- low resolution versus HD/4K
- Distributed/P2P files (first download lowest resolution)
- Use thumbnail when file not available yet.
- Ex :
- if it's a network URI, option to save it locally
- detect if remote source has changed
- Support for separate index (save/load support)
- Add basic tests to make sure the sources will behave properly with
pitivi
- ex : testing seeking support
- If not, propose transcoding, or plugin to download, etc...
Multiple Video support
There's two different use-cases in fact
- Steroscopic or multi-angle support (multiple video tracks)
- Editing together multiple videos from the same scene (one video
track)
- You want a way to view all the input videos at the same time, synchronized, so you know which ones to select at any given point
- This of it as a non-live mixing-desk
Effect support
- Have a
gst_launch
plugin where users can create their own freeform effect pipeline - Allow concatenation/coupling of existing effects into a bigger one
- Bonus for adding some scripting in it !
- Have Audio+Video effects
- They're in fact two/more separate effects that have synchronization
- Ex : photo flash effect : you want to have the 'flash' sound in sync with the 'whiteout'/still frame on the video side
Scripting/Template/Scenario system
Allow easy creation of (parts of) the Timeline
- Should have a clean content/Script separation
- Ex : Interview script : have the interview person's name separated from the actual video on which to overlay his name
- Allow subclassing
- Ex : You can create different ways of displaying the interviewee's name, different ways to blend in/out, ...
- Have a repository for those scripts/scenarios
- People can easily share/use/reuse existing scenarios
Text/Subtitle support
How do we handle this properly ?
- Text track ?
- Use case : karaoke/subtitle overlay
Missing feature support
Allow cleanly support Projects using unavailable subclasses/plugins/effects.
- Might not be available
- Might be proprietary/custom
- Older version of PiTiVi
- Provide a way to upgrade the feature/plugin
Central/Distributed repository of PiTiVi plugins
Missing (GStreamer) plugin support
Distributions should support this !
Easy transcoding of sources
- Allow transcoding sources only
- Useful also for making sources more editing-friendly
- Or to have lower resolution versions to work with
GNonLin
Optimize the following use cases
- Resizing/Trimming
- By end (modifying media_duration + duration)
- By beginning (modifying media_start+start+media_duration+duration)
- Moving many objects at once
One idea for this would be to have a 'block-rebuild' property on GnlComposition that would mark down that is has (or not) to rebuild the internal stack, but postpone it until the property has been set back to False.
GStreamer
- interlaced support
- caps (differentiate raw frame/fields)
- Buffer Flags (TFF, Repeat)
- ... and obviously support in virtually all relevant plugins
- Perfect Profesionnal Colourspace support
- Various Subsampling + Chroma placement (right now we don't make a difference between 4:2:0 jpeg/mpeg2/dv-ntsc ... whereas they have different chroma placement)
- Various Clamping matrices (HDYC for example)
- FAST and bit-accurate converters
- This might require making a generic colourspace converter bin which searches all required/available colourspace converters
Website
- We need more screenshots
- Propose nightly builds
Use Cases
These are some (long term) ideas I have
Effect ideas
- GoogleMaps/OpenStreetMap plugin
- Use maps to show a trip
- Zoom-in/zoom-out/move from location to location between the various steps
- Could use photo geotags to automatically known where to go
- Photo Flash
- Could be a nice way to do transitions when doing slideshows
- Could have a 'flash' sound on the audio track, sync-ed with it
- Film-reel at slow-speed
- Start from a still frame/picture
- Gradually speed up the movie
- You see the 'film-reel border' moving (i.e. at some points the inter-frame black borders will be visible)
- Have a flickering soundtrack
The results of the search are


Fix: Battle.net games not starting properly on some non-English Windows
Fix: Reload of script extensions doesn't work
Fix: Fullscreen view not loading properly
Fix: Various crashes


Display / Hide Text With JQuery
Nest button groups to create drop down menus:
The WHO was founded in 1948.
For 50 years, WWF has been protecting the future of nature. The world's leading conservation organization, WWF works in 100 countries and is supported by 1.2 million members in the United States and close to 5 million globally.
For 50 years, WWF has been protecting the future of nature. The world's leading conservation organization, WWF works in 100 countries and is supported by 1.2 million members in the United States and close to 5 million globally.
The following HTML elements: span
, section
, and div
defines a section in a document.
Use ctrl + p to open the Print dialog box.
Text in a pre element is displayed in a fixed-width font, and it preserves both spaces and line breaks.
This text is muted.
This text is important.
This text indicates success.
This text represents some information.
This text represents a warning.
This text represents danger.
This text is important.
This text indicates success.
This text represents some information.
This text represents a warning.
This text represents danger.
This paragraph is simple.
This paragraph stands out.
Left-aligned text.
Right-aligned text.
Center-aligned text.
Justified text. Justified text. Justified text. Justified text. Justified text. Justified text.
No wrap text. No wrap text. No wrap text. No wrap text.
Tip: Try to resize the browser window to see the behaviour of justify and nowrap.
Lowercased text.
Uppercased text.
Capitalized text.
The WHO was founded in 1948. (normal abbr)
The WHO was founded in 1948. (slightly smaller abbr)
Tip: Try to resize the browser window to see the behaviour of the description list.
For multiple lines of code, use the pre element:
Text in a pre element is displayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both spla a fixed-width font, and it preserves both spaces and line breaks.
If you add the .pre-scrollable class, the pre element gets a max-height of 350px and provides a y-axis scrollbar:
Text in a pre element is displayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both splayed in a fixed-width font, and it preserves both spla a fixed-width font, and it preserves both spaces and line breaks.
| Firstname | Lastname | |
|---|---|---|
| John | Doe |<EMAIL_ADDRESS>|
| Mary | Moe |<EMAIL_ADDRESS>|
| July | Dooley |<EMAIL_ADDRESS>|
| Firstname | Lastname | |
|---|---|---|
| John | Doe |<EMAIL_ADDRESS>|
| John | Doe |<EMAIL_ADDRESS>|
| John | Doe |<EMAIL_ADDRESS>|
| Mary | Moe |<EMAIL_ADDRESS>|
| July | Dooley |<EMAIL_ADDRESS>|
The .table-responsive class creates a responsive table which will scroll horizontally on small devices (under 768px). When viewing on anything larger than 768px wide, there is no difference:
| # | Firstname | Lastname | Age | City | Country |
|---|---|---|---|---|---|
| 1 | Anna | Pitt | 35 | New York | USA |
The .thumbnail class can be used to display an image gallery. Click on the images to see it in full size:
Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile-first projects on the web.
This is some text.
Place the jumbotron outside the <div class="container"> if you want the jumbotron to extend to the screen edges.
This is some text.
Envelope icon:
Search icon:
Search icon on a button:
Search icon on a styled button:
Print icon:
Print icon on a styled link button: Print
The contextual classes colors the progress bars:
The .progress-bar-striped class adds stripes to the progress bars:
The .active class animates the progress bar:
Create a stacked progress bar by placing multiple bars into the same div with class .progress:
Add class .active to let the user know which page he/she is on:
The .pager class provides previous and next buttons (links):
Move the mouse over the linked items to see the hover effect:
List Group Item Text
List Group Item Text
List Group Item Text
The panel-group class clears the bottom-margin. Try to remove the class and see what happens.
The .dropdown class is used to indicate a dropdown menu.
Use the .dropdown-menu class to actually build the dropdown menu.
To open the dropdown menu, use a button or a link with a class of .dropdown-toggle and data-toggle="dropdown".
The .divider class is used to separate links inside the dropdown menu:
The .dropdown-header class is used to add headers inside the dropdown menu:
Add the .dropdown-menu-right class to .dropdown-menu to right-align the dropdown menu:
The .dropup class makes the dropdown menu expand upwards instead of downwards:
The .dropdown class is used to indicate a dropdown menu.
Use the .dropdown-menu class to actually build the dropdown menu.


Popularity
Price
{{apartment.name}}
{{apartment.price}}
{{apartment.popularity}}
{{apartment.description}}
previous
{{num+1}}
next
Angular seed app: v


How to play: The numbers indicate the respective strengths(in the range of 1 and 255) of the colors Red, Green and Blue. You need to select the correct option.


food human ecosystems ecological biodiversity ecosystem production health natural environmental state augmentation systems natura global diversity shift species {border-style variables px;} #ffffff;} development science Nature augmented positive Systems different green sustainable agricultural conventional genetic services Food higher primary red Fig. Science farming material new plant potential production, blue social use various (). Global biological condition conservation effect evolutionary latent life net shows true ./nature Anthropocene Ecosystems Open Supplementary alternative associated based complexity ecosystems. effects environment impact metabolic represents studies Funabashi Material activities agriculture cultura developing evidence incorporate individual level local optimum population preservation px; reef regime requires risk scenario sea stable support {font-family (b) (i.e., Complex Digital Earth International Plant World anthropogenic climate complex factors font-size including increase increasing integrated line loss management multiple necessarily necessary open physiological policy resources scale scientific surplus systems. (red Biodiversity Nat. New approach basic case change conditions context countries curve developed diet double; dynamics example fundamental health. increased intake land multi-scale need negative nutrition phase problems produce shifts supply surrounding technologies typical value (blue (upper ./S-()- ./science. Creative Figure Research actual agriculture, bold border-color border-width capacity carbon causal crop diverse environment, environment. excess expected experimental extinction false farms forest functions future given highly information initiatives integration interactions key left load long-term major model monoculture order positively prevention production. provide range recovery regulation related represent represented respect result social-ecological solid; succession surface tipping unit variable vivo world {font-style {font-weight (Eds) (Fig. (See (a) (e.g., Agriculture Biological Change Climate Commons Convention Diversity ESS Ecol. Environ. Exploration Funabashi, Genetic Press, Publishing Recovery Springer Synecoculture UNESCO UniTwin abundance according achieve adaptation amelioration analysis arrow). biosphere causality circles communities compatible component composition comprehensive conditions. consequent consumer cost courier; cultura, culture deficiency degree describes dietary disciplines distribution downward economic edible elements em; emerging especially essential estimated example, explanation extensive fertility field form framework gap hidden history industrial integrate integrative introduction just laboratory large limited living majority making marginal market means mechanisms micronutrient nutrient observed optimization outside planetary point possible producer productivity promote pt;} public quantity ranging ref. reformation relationship representing research respectively. response right scales set significant small soil solid species. state, states statistical systems, tend terms threshold total upward usually variables, vitro world’s x-axis y-axis


Teaching Cool People CSS
Cool header right here
With a chill chill paragraph
Iller than chill
This paragraph is no chill
Literally Kent Even Hack Enough
Photos
Responsive
Built-in responsiveness
Mobile first fluid grid
Fits any screen sizes
PC Tablet and Mobile
Standard CSS
Standard CSS only
Easy to learn
No need for jQuery
No JavaScript library
- Techs On The Beach
- Lorem sipsum
- Mar-kup-ita


British
Fanta
🇬🇧
Register an Account
First name
Last name
Nickname
Team name
Password
Register
Login Page
Forgot Password?
Nickname or Team already exists
Compila tutti i campi


open var upkeep: Int
Eventually, how much $$$ is required to keep this building going. Probably going to be used for civic buildings like town hall.


The first step in this complex signalling system involves the binding of specific ligands (hormones, neurotransmitters, growth factors, glycoproteins, cytokines, odorants and photons) at the cell surface to a GPCR, thereby activating the receptor. The signal is transmitted into the cell via a conformational change in the receptor, which results in the activation of the bound G protein. GPCRs act as guanine nucleotide exchange factors for the a subunit of the G protein, whereby activated receptor promotes the exchange of bound GDP (guanine diphosphate) for GTP on the a subunit, which is the rate-limiting step in G protein activation. The binding of GTP changes the conformation of ‘switch’ regions within the a subunit, which allows the bound trimeric G protein (inactive) to be released from the receptor, and to dissociate into active a subunit (GTP-bound) and bg dimer. The a subunit and the bg dimer go on to activate distinct downstream effectors, such as adenylyl cyclase, phosphodiesterases, phospholipase C, Src, and ion channels. These effectors in turn regulate the intracellular concentrations of secondary messengers, such as cAMP, cGMP, diacylglycerol, IP3, DAG, arachidonic acid, sodium, potassium or calcium cations, which ultimately lead to a physiological response, usually via the downstream regulation of gene transcription. The cycle is completed by the hydrolysis of a subunit-bound GTP to GDP, resulting in the re-association of the a and bg subunits and their binding to the receptor, which terminates the signal.
Heterotrimeric G protein activity is regulated by the binding and hydrolysis of GTP by the a subunit. Only the GTP-bound a subunit is active. A GDP-bound a subunit is inactive, because the ‘switch’ regions in the a subunit are free to make contacts with the bg dimer to form a stable complex that does not readily allow GDP dissociation. The association of the subunits covers the effector contact sites on both the a subunit and the bg dimer, thereby preventing all effector interactions and terminating the signal. Therefore, the length of the G protein signal is controlled by the duration of GTP-bound a subunit.
However, by itself, the intrinsic level of GTP hydrolysis by the a subunit is too slow for the efficient cycling of G proteins. The lifespan of the GTP-bound a subunit can be markedly reduced by RGS (regulator of G protein signalling) proteins (InterPro entry IPR000342). RGS proteins are multi-functional, GTPase-accelerating proteins that promote a subunit GTP hydrolysis, thereby directly terminating a subunit signalling and indirectly terminating bg dimer signalling (through a subunit binding). RGS proteins promote GTP hydrolysis by stabilising the G protein transition state, increasing the reaction rate by over two orders of magnitude. There are over thirty known RGS proteins characterised in the human proteome alone. All RGS proteins contain an ‘RGS-box’ required for activity, while some also contain additional domains that confer further functionality, such as coordinating cross-talk between heterotrimeric and Ras-like G proteins. In addition, some C-family RGS proteins contain GGL (G protein g-like) domains that can interact with b subunits to form novel dimers that prevent g subunit binding. For example, in brain tissue b5 subunit/RGS dimers have been detected, which may accelerate the deactivation of GPCR signalling by enhancing GTP hydrolysis; they may also prevent heterotrimer formation, as b subunit/RGS dimers do not appear to associate with a subunits.
The covalent modification of G proteins is another way to regulate their activity. Heterotrimeric G proteins can undergo a variety of covalent modifications, including lipid attachment and phosphorylation. Both the a subunit and bg dimer carry lipid modifications that target them to the membrane and affect subunit interactions with each other and with other proteins. For example, some a subunits can contain covalently attached myristate or palmitate moieties, which target the a subunit to the plasma membrane and contribute to the strength of interaction with the bg dimer, effectors and RGS proteins. Because the absence of lipid modifications renders a subunits inactive, the regulation of reversible palmitoylation is a means of regulating a subunit activity. Protein modifications of the b and g subunits are equally important, with the isoprenylation of the g subunit with either farnesyl or geranylgeranyl groups being required for effector regulation.
Phosphorylation of G proteins appears to play a role in signal amplitude and duration. Some a subunits can be phosphorylated by protein kinase C or by p21-activated protein kinase, which inhibits their interaction with either bg dimers or with RGS proteins, thereby prolonging the signal. Conversely, the phosphorylation of a g subunit by protein kinase C increases the strength of its interaction with an a subunit and decreases its interaction with effectors, thereby quenching a signal. The phosphorylation of bg dimers may also act as an activation step by providing receptor specificity. Receptor activation can change the pattern of G protein modifications.


Video: Hilarious moment Jamie Carragher takes over from Gary Neville on MNF screen as pair bicker
by Ron CarneIt feels like it’s been a while since we’ve had Gary Neville and Jamie Carragher on Monday Night Football together, but the pair were reunited this week.
On duty for Sky Sports to analyse Aston Villa’s clash with Newcastle United, the pair continued their fascinating and entertaining work well after the game using the technology at their disposal.
SEE MORE: Video: Priceless Jose Mourinho reaction to first Tottenham goal under new boss
As seen in the video below, they even managed to start bickering over the use of the MNF screen, with Carragher physically removing Neville from being in charge to try and make his own point.
It didn’t appear as though it was particularly appreciated by the Manchester United legend who shook his head and closed his eyes at one point, but the pair have their own special brand of banter and it was entertaining to see it on show again this week.
That aside, they brilliantly dissected the weekend’s football and discussed key talking points from various games while also offering some excellent and informative insight with their thoughts of some major decisions including Jose Mourinho’s arrival at Tottenham.
In turn, it was great to have them back together on our screens, and naturally it wouldn’t have been a usual show without some hilarity from the pair to go with it…


Description: This project is supposed to show how I react to social situations. (Keep in mind I purposely made this a little weird) If you would like to see the code I used to create this picture, follow the link. To the code!


This was an interactive puzzle where the team entered an online chat room and eventually discovered that each participant's statements were being altered before being shown to other chatters. A chatbot periodically posed questions; players had to figure out who should answer and what they should say so that the altered statement answered the question.


{% extends "base.xml" %} {% block title %} Ummeli {% endblock %} {% block content %} Confirm delete Are you sure you want to delete {{object}}? Cancel {% endblock %}