text:
package org.hippoecm.repository.decorating;

import java.io.InputStream;
import java.math.BigDecimal;
import java.util.Calendar;

import javax.jcr.AccessDeniedException;
import javax.jcr.Binary;
import javax.jcr.InvalidItemStateException;
import javax.jcr.Item;
import javax.jcr.ItemExistsException;
import javax.jcr.ItemNotFoundException;
import javax.jcr.MergeException;
import javax.jcr.NoSuchWorkspaceException;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.PathNotFoundException;
import javax.jcr.Property;
import javax.jcr.PropertyIterator;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.UnsupportedRepositoryOperationException;
import javax.jcr.Value;
import javax.jcr.ValueFormatException;
import javax.jcr.lock.Lock;
import javax.jcr.lock.LockException;
import javax.jcr.lock.LockManager;
import javax.jcr.nodetype.ConstraintViolationException;
import javax.jcr.nodetype.NoSuchNodeTypeException;
import javax.jcr.nodetype.NodeDefinition;
import javax.jcr.nodetype.NodeType;
import javax.jcr.version.Version;
import javax.jcr.version.VersionException;
import javax.jcr.version.VersionHistory;

import org.hippoecm.repository.api.HippoNode;
import org.hippoecm.repository.api.HippoSession;

public abstract class NodeDecorator extends ItemDecorator implements HippoNode {

    protected final Node node;
    protected HippoSession session;

    protected NodeDecorator(DecoratorFactory factory, Session session, Node node) {
        super(factory, session, node);
        this.session = (HippoSession) session;
        this.node = node;
    }

    public static Node unwrap(Node node) {
        if (node instanceof NodeDecorator) {
            node = (Node) ((NodeDecorator) node).unwrap();
        }
        return node;
    }

    /**
     * @inheritDoc
     */
    public Node addNode(String name) throws ItemExistsException, PathNotFoundException, VersionException,
            ConstraintViolationException, LockException, RepositoryException {
        return factory.getNodeDecorator(session, node.addNode(name));
    }

    /**
     * @inheritDoc
     */
    public Node addNode(String name, String type) throws ItemExistsException, PathNotFoundException,
            NoSuchNodeTypeException, LockException, VersionException, ConstraintViolationException, RepositoryException {
        return factory.getNodeDecorator(session, node.addNode(name, type));
    }

    /**
     * @inheritDoc
     */
    public void orderBefore(String srcChildRelPath, String destChildRelPath)
            throws UnsupportedRepositoryOperationException, VersionException, ConstraintViolationException,
            ItemNotFoundException, LockException, RepositoryException {
        node.orderBefore(srcChildRelPath, destChildRelPath);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, Value value) throws ValueFormatException, VersionException, LockException,
            ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, value);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, Value value, int type) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, value, type);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, Value[] values) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, values);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, Value[] values, int type) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, values, type);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, String[] values) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, values);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, String[] values, int type) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, values, type);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, String value) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, value);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, String value, int type) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, value, type);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, InputStream value) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, value);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, boolean value) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
         Property prop = node.setProperty(name, value);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, double value) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, value);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, long value) throws ValueFormatException, VersionException, LockException,
            ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, value);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, Calendar value) throws ValueFormatException, VersionException,
            LockException, ConstraintViolationException, RepositoryException {
         Property prop = node.setProperty(name, value);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Property setProperty(String name, Node value) throws ValueFormatException, VersionException, LockException,
            ConstraintViolationException, RepositoryException {
        Property prop = node.setProperty(name, NodeDecorator.unwrap(value));
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public Node getNode(String relPath) throws PathNotFoundException, RepositoryException {
        return factory.getNodeDecorator(session, node.getNode(relPath));
    }

    /**
     * @inheritDoc
     */
    public NodeIterator getNodes() throws RepositoryException {
        NodeIterator iter = new NodeIteratorDecorator(factory, session, node.getNodes(), this);
        return iter;
    }

    /**
     * @inheritDoc
     */
    public NodeIterator getNodes(String namePattern) throws RepositoryException {
        NodeIterator iter = new NodeIteratorDecorator(factory, session, node.getNodes(namePattern), this);
        return iter;
    }

    /**
     * @inheritDoc
     */
    public Property getProperty(String relPath) throws PathNotFoundException, RepositoryException {
        Property prop = node.getProperty(relPath);
        return factory.getPropertyDecorator(session, prop);
    }

    /**
     * @inheritDoc
     */
    public PropertyIterator getProperties() throws RepositoryException {
        return new PropertyIteratorDecorator(factory, session, node.getProperties());
    }

    /**
     * @inheritDoc
     */
    public PropertyIterator getProperties(String namePattern) throws RepositoryException {
        return new PropertyIteratorDecorator(factory, session, node.getProperties(namePattern));
    }

    /**
     * @inheritDoc
     */
    public Item getPrimaryItem() throws ItemNotFoundException, RepositoryException {
        return factory.getItemDecorator(session, node.getPrimaryItem());
    }

    /**
     * @inheritDoc
     */
    public String getUUID() throws UnsupportedRepositoryOperationException, RepositoryException {
        return node.getUUID();
    }

    /**
     * @inheritDoc
     */
    public int getIndex() throws RepositoryException {
        return node.getIndex();
    }

    /**
     * @inheritDoc
     */
    public PropertyIterator getReferences() throws RepositoryException {
        return new PropertyIteratorDecorator(factory, session, node.getReferences());
    }

    /**
     * @inheritDoc
     */
    public boolean hasNode(String relPath) throws RepositoryException {
                    return node.hasNode(relPath);
    }

    /**
     * @inheritDoc
     */
    public boolean hasProperty(String relPath) throws RepositoryException {
        return node.hasProperty(relPath);
    }

    /**
     * @inheritDoc
     */
    public boolean hasNodes() throws RepositoryException {
        return node.hasNodes();
    }

    /**
     * @inheritDoc
     */
    public boolean hasProperties() throws RepositoryException {
        return node.hasProperties();
    }

    /**
     * @inheritDoc
     */
    public NodeType getPrimaryNodeType() throws RepositoryException {
        return node.getPrimaryNodeType();
    }

    /**
     * @inheritDoc
     */
    public NodeType[] getMixinNodeTypes() throws RepositoryException {
        return node.getMixinNodeTypes();
    }

    /**
     * @inheritDoc
     */
    public boolean isNodeType(String nodeTypeName) throws RepositoryException {
        return node.isNodeType(nodeTypeName);
    }

    /**
     * @inheritDoc
     */
    public void addMixin(String mixinName) throws NoSuchNodeTypeException, VersionException,
            ConstraintViolationException, LockException, RepositoryException {
        node.addMixin(mixinName);
    }

    /**
     * @inheritDoc
     */
    public void removeMixin(String mixinName) throws NoSuchNodeTypeException, VersionException,
            ConstraintViolationException, LockException, RepositoryException {
        node.removeMixin(mixinName);
    }

    /**
     * @inheritDoc
     */
    public boolean canAddMixin(String mixinName) throws NoSuchNodeTypeException, RepositoryException {
        return node.canAddMixin(mixinName);
    }

    /**
     * @inheritDoc
     */
    public NodeDefinition getDefinition() throws RepositoryException {
        return node.getDefinition();
    }

    /**
     * @inheritDoc
     */
    public Version checkin() throws VersionException, UnsupportedRepositoryOperationException,
            InvalidItemStateException, LockException, RepositoryException {
        Version version = node.checkin();
        return factory.getVersionDecorator(session, version);
    }

    /**
     * @inheritDoc
     */
    public void checkout() throws UnsupportedRepositoryOperationException, LockException, RepositoryException {
        node.checkout();
    }

    /**
     * @inheritDoc
     */
    public void doneMerge(Version version) throws VersionException, InvalidItemStateException,
            UnsupportedRepositoryOperationException, RepositoryException {
        node.doneMerge(VersionDecorator.unwrap(version));
    }

    /**
     * @inheritDoc
     */
    public void cancelMerge(Version version) throws VersionException, InvalidItemStateException,
            UnsupportedRepositoryOperationException, RepositoryException {
        node.cancelMerge(VersionDecorator.unwrap(version));
    }

    /**
     * @inheritDoc
     */
    public void update(String srcWorkspaceName) throws NoSuchWorkspaceException, AccessDeniedException, LockException,
            InvalidItemStateException, RepositoryException {
        node.update(srcWorkspaceName);
    }

    /**
     * @inheritDoc
     */
    public NodeIterator merge(String srcWorkspace, boolean bestEffort) throws NoSuchWorkspaceException,
            AccessDeniedException, MergeException, LockException, InvalidItemStateException, RepositoryException {
        NodeIterator nodes = node.merge(srcWorkspace, bestEffort);
        return new NodeIteratorDecorator(factory, session, nodes);
    }

    /**
     * @inheritDoc
     */
    public String getCorrespondingNodePath(String workspaceName) throws ItemNotFoundException,
            NoSuchWorkspaceException, AccessDeniedException, RepositoryException {
        return node.getCorrespondingNodePath(workspaceName);
    }

    /**
     * @inheritDoc
     */
    public boolean isCheckedOut() throws RepositoryException {
        return node.isCheckedOut();
    }

    /**
     * @inheritDoc
     */
    public void restore(String versionName, boolean removeExisting) throws VersionException, ItemExistsException,
            UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException {
        node.restore(versionName, removeExisting);
    }

    /**
     * @inheritDoc
     */
    public void restore(Version version, boolean removeExisting) throws VersionException, ItemExistsException,
            UnsupportedRepositoryOperationException, LockException, RepositoryException {
        node.restore(VersionDecorator.unwrap(version), removeExisting);
    }

    /**
     * @inheritDoc
     */
    public void restore(Version version, String relPath, boolean removeExisting) throws PathNotFoundException,
            ItemExistsException, VersionException, ConstraintViolationException,
            UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException {
        node.restore(VersionDecorator.unwrap(version), relPath, removeExisting);
    }

    /**
     * @inheritDoc
     */
    public void restoreByLabel(String versionLabel, boolean removeExisting) throws VersionException,
            ItemExistsException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException,
            RepositoryException {
        node.restoreByLabel(versionLabel, removeExisting);
    }

    /**
     * @inheritDoc
     */
    public VersionHistory getVersionHistory() throws UnsupportedRepositoryOperationException, RepositoryException {
        VersionHistory hist = node.getVersionHistory();
        return factory.getVersionHistoryDecorator(session, hist);
    }

    /**
     * @inheritDoc
     */
    public Version getBaseVersion() throws UnsupportedRepositoryOperationException, RepositoryException {
        return factory.getVersionDecorator(session, node.getBaseVersion());
    }

    /**
     * @inheritDoc
     */
    public Lock lock(boolean isDeep, boolean isSessionScoped) throws UnsupportedRepositoryOperationException,
            LockException, AccessDeniedException, InvalidItemStateException, RepositoryException {
        final LockManager lockManager = session.getWorkspace().getLockManager();
        return lockManager.lock(getPath(), isDeep, isSessionScoped, Long.MAX_VALUE, null);
    }

    /**
     * @inheritDoc
     */
    public Lock getLock() throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException,
            RepositoryException {
        final LockManager lockManager = session.getWorkspace().getLockManager();
        return lockManager.getLock(getPath());
    }

    /**
     * @inheritDoc
     */
    public void unlock() throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException,
            InvalidItemStateException, RepositoryException {
        final LockManager lockManager = session.getWorkspace().getLockManager();
        lockManager.unlock(getPath());
    }

    /**
     * @inheritDoc
     */
    public boolean holdsLock() throws RepositoryException {
        final LockManager lockManager = session.getWorkspace().getLockManager();
        return lockManager.holdsLock(node.getPath());
    }

    /**
     * @inheritDoc
     */
    public boolean isLocked() throws RepositoryException {
        final LockManager lockManager = session.getWorkspace().getLockManager();
        return lockManager.isLocked(getPath());
    }

    /**
     * @inheritDoc
     */
    public NodeIterator pendingChanges(String nodeType, boolean prune) throws RepositoryException {
        return session.pendingChanges(this, nodeType, prune);
    }

    /**
     * @inheritDoc
     */
    public NodeIterator pendingChanges(String nodeType) throws RepositoryException {
        return session.pendingChanges(this, nodeType);
    }

    /**
     * @inheritDoc
     */
    public NodeIterator pendingChanges() throws RepositoryException {
        return session.pendingChanges(this, null);
    }

    /**
     * @inheritDoc
     */
    public void refresh(boolean keepChanges) throws InvalidItemStateException, RepositoryException {
        if (keepChanges == false && getDepth() == 0) {
            session.refresh(keepChanges);
            return;
        }
        super.refresh(keepChanges);
    }

    public Property setProperty(String name, Binary value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException {
        return node.setProperty(name, value);
    }

    public Property setProperty(String name, BigDecimal value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException {
        return node.setProperty(name, value);
    }

    public NodeIterator getNodes(String[] nameGlobs) throws RepositoryException {
        return node.getNodes(nameGlobs);
    }

    public PropertyIterator getProperties(String[] nameGlobs) throws RepositoryException {
        return node.getProperties(nameGlobs);
    }

    public String getIdentifier() throws RepositoryException {
        return node.getIdentifier();
    }

    public PropertyIterator getReferences(String name) throws RepositoryException {
        return node.getReferences(name);
    }

    public PropertyIterator getWeakReferences() throws RepositoryException {
        return node.getWeakReferences();
    }

    public PropertyIterator getWeakReferences(String name) throws RepositoryException {
        return node.getWeakReferences(name);
    }

    public void setPrimaryType(String nodeTypeName) throws NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException {
        node.setPrimaryType(nodeTypeName);
    }

    public NodeIterator getSharedSet() throws RepositoryException {
        return node.getSharedSet();
    }

    public void removeSharedSet() throws VersionException, LockException, ConstraintViolationException, RepositoryException {
        node.removeSharedSet();
    }

    public void removeShare() throws VersionException, LockException, ConstraintViolationException, RepositoryException {
        node.removeShare();
    }

    public void followLifecycleTransition(String transition) throws UnsupportedRepositoryOperationException, RepositoryException {
        node.followLifecycleTransition(transition);
    }

    public String[] getAllowedLifecycleTransistions() throws UnsupportedRepositoryOperationException, RepositoryException {
        return node.getAllowedLifecycleTransistions();
    }
}


I was sharpening some charcoal pencils and realized this might be a good subject to cover. I sharpen the charcoal pencils differently for more freedom and flexibility when drawing. As you can see to the right, I learned to sharpen my charcoal pencils to have a long sharp point. This is because I have been taught to use the charcoal pencil more like a paintbrush and to draw using the whole movement of the arm rather than just the movement of wrist. To draw this way requires the pencil to be sharpened in a different manner than I normally would sharpen other types of pencils.
Today, we are going to look at how to sharpen a charcoal pencil in a way that exposes more of the charcoal, making the pencil easier to use and allowing us to take advantage the medium more effectively.
Let's look a the benefits for sharpening the pencil this way.
There are a couple of good reasons for sharpening the pencil to expose more of the charcoal as shown above.
One reason is it just lasts longer between sharpening. We will not need to sharpen our pencils nearly as often and can focus on the drawing longer between sharpening.
The other reason is that with more of the charcoal exposed the pencil becomes a more flexible tool. For example, I can use the sharp point of the tip to draw a fine line or or the side of the exposed charcoal to shade with broad strokes. Holding the pencil more like holding a paintbrush, I am able to move the pencil around with more freedom of movement, varying the type of line I am able to draw.
A. A knife to remove the wood of the pencil.
Advantages: easy to grip, very sharp, sturdy blade.
Disadvantages: blades are designed to snap off and dispose of at the top, must be careful not to extend the blade to far out.
Disadvantages: Not a very good grip for sharpening a pencil. Not as easy to control.
You can buy the sanding blocks designed for sharpening pencils, but I find using a piece of 220 grit sandpaper is a cheaper and easier way to go.
Wear safety glasses to protect your eyes. The pieces of wood can fly off and catch you in the eye if you are not wearing safety glasses.
2. Safety: The dos and don't of carving with a knife.
The first thing you need to always consider when sharpening a pencil this way is how to do it safely.
We are using very sharp knives to carve the wood away. If we are not careful we can injure ourselves or somebody else. We need to keep ourselves and others out of the path of the knife blade at all times. This includes our hands, fingers, body, and eyes.
First, I personally do not use the precision blade for sharpening. I think it is can be dangerous for our purposes here as it not designed for carving in this way.
When not carving, close up the knife and put it down. An exposed blade is easy to accidentally grab or unintentionally cut something.
Never pull the blade towards you when carving. You could accidentally pull the blade into your hands or body, injuring yourself.
Always push the blade away from you when carving. Don't point the pencil in the direction of some one else either.
Never put your hands in front of blade when carving. Again the blade could get away from you and you could slice open a figure.
Keep your hands and fingers behind the blade when sharpening the pencil. Hold the pencil at a spot behind the area you plan to carve away from the charcoal.
Keep your fingers and hands behind the sharp edge of the blade. I like to put my thumb on the dull back of the blade, reminding me to keep it behind the sharp edge at all times.
This may seem like I am being overly cautious here when talking about just sharpening a pencil, but when working with razor sharp tools, safety is always the first priority. Avoiding cutting oneself or injuring an eye is something worth taking some simple precautions for.
A. The first step to sharpening the pencil is to start removing the wood around the charcoal so that a section of the charcoal is exposed.
B. Rotate the pencil to remove the wood evenly around the pencil.
C. Remove enough wood to have about a half of an inch to an inch of the charcoal showing. Any more than that you risk breaking the charcoal when sanding the point or drawing.
D. The next step is to start sanding the charcoal to bring the tip to a sharp point. Hold the pencil at an angle against the sanding block. The angle you hold the pencil against the block will determine how fast the point tappers in.
I like to have the charcoal come to a point gradually. To do this, I hold the the pencil at an angle so that the angle between the pencil and the sanding block is a small one.
E. Sand lightly. The charcoal is fragile and will break if too much pressure is applied.
F. Rotate the pencil to round the tip of the charcoal as you sharpen it.
This is a messy process. Sharpen the pencil over something that is easy to clean.
Once you have enough of the wood removed and the charcoal brought to a sharp point the pencil is ready to use. Remember to keep it sharp as you draw and enjoy drawing.


Supporting and guiding our customers at all times, willingly and professionally, to anticipate, develop and realise their projects in the short, medium and longer term.
Understand the need for speed, responding efficiently to our customers' various expectations. Quickly assessing a situation to find the solution best suited to the customer's working environment and constraints.
Putting all our technical and sales experience at the customer's disposal. Monitoring and checking our activities to meet our customers' quality standards.
Valuing the individual, fostering their professional development, creating cohesion within teams to reach the same objective: succeeding together.
Driven by its founder, SCOMO encourages all staff members to adopt an honest and straightforward attitude with customers, suppliers and colleagues.
Developing each individual's sense of responsibility in their work to better serve our customers and show commitment towards them.


text:
Encyclopedic News
News from multiple sources
Putin, Zelinskyy agree Russia Ukraine prisoner exchange in summit
The leaders of Russia and Ukraine agreed on Tuesday to exchange all remaining prisoners from the conflict in east Ukraine by the end of the year, but left thorny questions about the region's status unresolved in their first face-to-face meeting.
Russia's Vladimir Putin and Ukraine's President Volodymyr Zelenskyy spent nine hours in discussions in Paris in a summit brokered by French President Emmanuel Macron and German Chancellor Angela Merkel.
More than 13,000 people have been killed and hundreds of thousands forced from their homes since the conflict in eastern Ukraine broke out in 2014, aggravating the deepest rift between Russia and the west since the Cold War.
Meeting for the first time since Zelenskyy, a comedian-turned-politician, was elected earlier this year on a promise to resolve the conflict, the body language between the two men was chilly. There was no public handshake, and they avoided eye contact.
A final communique set out a prisoner exchange, as well as a renewed commitment to implement an existing ceasefire agreement in the Donbass region that has never fully taken hold.
'Very little'
In addition, Zelenskyy said he and Putin had worked out the outline of an agreement that would allow the continued transit of Russian natural gas across Ukraine. A member of the Russian delegation said officials had been instructed to hammer out details.
Ukraine: Civilians caught in crossfire as shelling intensifies
"We have made progress on disengagement, prisoner exchanges, ceasefire and a political evolution," Macron said at a news conference at which Zelenskyy and Putin sat separated by Merkel and Macron.
"We have asked our ministers in the coming four months to work on this… with a view to organising local elections in four months," he said, acknowledging there remained differences on the calendar.
There was no definitive agreement on the political issues that stand in the way of resolving the conflict, including the status of Donbass within Ukraine, the control of the border between Donbass and Russia, and how local elections in the region should be conducted.
Zelenskyy expressed a measure of disappointment.
"Many questions were tackled and my counterparts have said it is a very good result for a first meeting," he said after the talks. "But I will be honest – it is very little, I wanted to resolve a larger number of problems."
Agreement was reached to hold another round of talks in the so-called Normandy format, brokered by France and Germany, within four months.
There has been scant sign of a peaceful solution to the crisis despite a 2015 ceasefire deal in Minsk, the capital of Belarus. Monday's summit is the first time the four leaders have met under the Normandy format since 2016.
Many Ukrainians are concerned about compromising with Russia. They see Putin as an aggressor seeking to restore the Kremlin's influence on the former Soviet republic and ruin Ukraine's hopes for closer European ties.
Protesters who have warned Zelenskyy about making concessions to Putin in Paris camped outside the presidential palace in Kiev, watching the final news conference on a big screen.
Putin, too, is unwilling to be seen to bend to outside pressure over eastern Ukraine, and does not want to be seen to be leaving the Russian-speaking population of Donbass at the mercy of the government in Kiev.
Previous 'Epstein didn't kill himself': Miami gallery scrambles to cover message scrawled in lipstick after banana art devoured
Next Britain's Brexit Party expels councillor over racist comments
Our Sponsers
Mexican Border
BBC News Live
No alignment with EU rules after Brexit, says UK chancellor
Borrell suggests EU military mission to protect cease-fire in Libya
Space: Not the final frontier, but the new Wild West
'He's something else': Haaland nets 20-minute hat-trick on Bundesliga debut as wonderkid helps Dortmund to comeback win
Archive Select Month January 2020 (1599) December 2019 (2698) November 2019 (2693) October 2019 (2813) September 2019 (2646) August 2019 (2554) July 2019 (2370) June 2019 (1993) May 2019 (2385) April 2019 (2263) March 2019 (2378) February 2019 (2205) January 2019 (2399) December 2018 (2333) November 2018 (584) September 2018 (3) February 2018 (1) August 2017 (1) March 2012 (1) February 2012 (3)
3 Regular visitors
Copyright 2018 © All rights reserved. | CoverNews by AF themes.

redpajama_set_name: RedPajamaCommonCrawl


Now if you want to choose a three stone band additionally, you will have to select what type of metal the ring will be created from. The most popular metals are white and yellow gold. And if you've got a amount of money to spend, platinum and even titanium could be an option. You will also have the option to purchase a ready-made ring, or you can design your own ring. Please remember when coming up with an engagement ring, always ask the jeweler how long it is going to approximately take to design your personalized wedding ring. It usually does take a little bit of time, depending on how busy the jeweler that you've chosen to manufacture your ring is.
These pendants come in a number of designs and the quantity of diamonds varies from one size to a new. The key pendants are often simple nevertheless they sparkle brightly. They can be found easily on the jewelry area of all of the stores. You can also buy them in the high-end jewelers plus some boutiques. Most of the pendants can be purchased at reasonable prices. Hence, in case you have limited budget, you'll be able to still afford to buy one pendant for somebody you like most. Seriously speaking, you happen to be advised to never pick the pendants online because a few of the online shops usually are not genuine. They sell fake products. Don't get yourself trapped by these unethical sellers should you not learn how to differentiate real diamonds.
o Platinum – Platinum has changed into a popular range of late, since it is quite strong and it is durable enough to resist all kind of wear and tear. Its appearance is really beautiful and it is unmatched by every other metal. It works adequately inside the diamond engagement rings. Many people also have platinum which has a amount of other gemstones. The only thing that creates a number of people avoid platinum is the fact that it's the most expensive metal employed to make engagement rings. Still, the quality along with the look offered by platinum are worth each and every nickel spent on it.
Some people can argue that less is a bit more. Sometimes, that's not always true. Small could be beautiful, but large could be great. 'Big girls need big diamonds' based on Elizabeth Taylor, and also this is extremely much true. Big, elegant diamond earrings set with oval-cut black onyx really can turn heads, especially with a white gold or platinum metal setting.
Can You Pass The Black Diamond Trail Back Test?


Every kid loves teensy, tiny things, and nothing is cuter in miniature than a bakery and pie shop. Material includes clay, paper craft, and tiny accessories to create a mini bakery display.
decorations (some have foil treatment).
Bring your LEGO minifigures to life with this beginner-friendly guide to stop-motion animation. Ten 'Mini Movies' walk you through using your phone, tablet, or computer to make short, funny clips with step-by-step instructions.
Set the stage with any of the six included background settings and thirty-six LEGO elements including a pizza, banana, baseball cap, six minifigure heads, and more! Plus, learn the tricks of the trade as you dive into more advanced skills, such as lighting, sound effects, and camera angles. With these tips and tricks, every movie you make is guaranteed to be a successful smash hit.
Discover dozens of ways to make this journal come to life!
Use the included pink, puffy paste to pipe frosting-like designs all over the front cover, and decorate it with 3D charms, squishy stickers, and rhinestones. Inside the journal, record the big ideas, silly thoughts, and amazing adventures of your life.
Stitch and stuff an assortment of fuzzy animals from felt! A companion to Sew Mini Treats, this title is all about easy-to-make, adorable plush animals with personalised faces and accessories.
1 bag of polyfill stuffing.
This book is chock-full of 101 activities sampling the best of Klutz's vast library of games, pranks, crafts, and humour. It even includes spectacular fart putty for guaranteed, never-ending entertainment. This collection is perfect for car trips, train travel, airplane trays, waiting rooms, desert island, and anywhere else you find yourself with downtime.
Bathe in sparkle and cuteness with handmade, adorable soaps. Content includes fun soap science experiments.
Makes up to 10 soaps, including fish-in-a-bag.
A refreshing spin on the traditional art of tracing and colouring your hand to make animals and out-of-this world creatures. A sketch pad, glue, and decorations are included, so kids have everything at their fingertips to get started right away.
Be a jewellery designer with our hot spots!
Another great addition to Klutz's robust collection of jewellery books lets you make colourful custom necklaces and bracelets using non-tear pretty paper dots. Simply glue the dots onto durable, clear cord to create one-of-a-kind jewellery that bubbles with pure graphic happiness.
This first-ever dot jewellery-making kit includes a Klutz-created custom 2-in-1 tool that allows you to pick up the dots with one end and crimps cord ends with the other.
Klutz has teamed up with George and Harold to create an EPIC sticker-rific experience.
Using the six markers and 12 sheets of stickers, kids can design their own personal tributes for the Waistband Warrior. But that's not all!
Harold provides tips on how to draw believable mucus on the Bionic Booger Boy and capture the sickening sludge of the dreaded cafeteria lunch. There are also stickers built for trickery, a hearty handful of glow-in-the-dark special stickers and much more!


One of the best ways to help prevent disease is to look! At Paramount Animal Care we have the tools to do just that! With our state of the art digital radiography (x-rays) we can find out what's going on inside your pet. Using the latest digital technology means that we get the best shot every time, giving us a better picture (getting a diagnosis more accurately and more quickly) and using less radiation, which is safer for your pet.
Whether we are performing preventative radiographs for your pet or using them to look at heart or other organs, we have the tools to perform tests safely and with the absolute best equipment available.
Please call our office to find out more or schedule an appointment to fit all of your pets needs!


text:
Kirstin Wells
U.S. Federal Reserve Bank
Adam Greene
Jessica Corley
Alston & Bird, LLP
Cris Ewell
UW Medicine
Critical Infrastructure Security , Data Loss Prevention (DLP) , Endpoint Security
Live Webinar: What Most Computer Security Defenses are Doing Wrong, and How To Fix It
Presented by KnowBe4 60 minutes
Most companies have huge gaps in their computer security defenses, and can be compromised at will by a determined hacker. The industry even has a term for it: "Assume Breach".
Join Roger A. Grimes, a 30-year computer security consultant and author of 10 books, for this webinar where he explores the latest research on what's wrong with current network defenses and how they got this way. Roger will teach you what most organizations are doing wrong, why, and how to fix it. You'll leave this webinar with a fresh perspective and an action plan to improve the efficiency and effectiveness of your current computer security defenses.
In this webinar, you'll learn more about:
What most companies are doing wrong, why, and how to fix it;
An action plan to improve the effectiveness of your computer security defenses;
How to create your "human firewall".
This webinar is available OnDemand.
Data Loss Prevention (DLP)
Incident & Breach Response
Roger Grimes
Data-Driven Defense Evangelist, KnowBe4
Webinar | Mobile Threat Data in Pharma - The Risks & How to Mitigate Them
Roger Grimes, KnowBe4's Data-Driven Defense Evangelist, is a 30-year computer security consultant, instructor, holder of dozens of computer certifications and an award-winning author of 10 books and over 1,000 magazine articles on computer security. He now serves as the Data-Driven Security Analyst for KnowBe4. He has worked at some of the world's largest computer security companies, including Foundstone, McAfee and Microsoft. Grimes holds a bachelor's degree from Old Dominion University. He was the weekly security columnist for InfoWorld and CSO magazines from 2005-2019.


You want high quality, premium ceramic Mexican tile in all your favorite Mexican and Mediterranean designs. Especial Tile is exactly what you are looking for.
Prima tile is your choice when you want the highest quality, raised-relief Santa Barbara or Malibu style tile, also in Arts and Craft, Mission designs. The color, design and raised relief texture of these tile make it a sensory experience that will sure to delight.


text:
Q: Careers: Switch sides: from being an employer to looking for a job? At careers you cannot be both employer and job seeker (link to another meta question).
I have a login named nalply. Currently I am employer. But as I accumulated reputation with my login, I want to post a CV with it and stop being an employer. I cannot do both, but can I switch from one side to the other one?

redpajama_set_name: RedPajamaStackExchange


You can operate this unit to enjoy video and audio in a room (ZONE2 and ZONE3) that is different from the room where this unit is placed (MAIN ZONE).
You can simultaneously play back the same source in both the MAIN ZONE, ZONE2 and ZONE3. You can also play back separate sources in the MAIN ZONE, ZONE2 and ZONE3.


text:
Drew Schroeder
Official website and blog of author Drew Schroeder
Call of Duty: Infinite Warfare vs Battlefield 1
Drew Schroeder	Hobbies	 August 19, 2016 August 19, 2016 3 Minutes
Call of Duty is one of the biggest gaming franchises in history and Battlefield is right up there with them. However, Battlefield has always been just slightly behind them since the Modern Warfare and Black Ops lines have dominated sales. Call of Duty has sold 146,400,000 total units as of November 2015 according to Statistic Brain while Battlefield has sold just under 24 million copies of their last 4 games according to VG Chartz. Now, Infinity Ward (CoD) and DICE (Battlefield) may be switching spots at the top with the anticipated releases of their new games: Infinite Warfare (CoD) and Battlefield 1.
Recently, Call of Duty has been going to much more futuristic war zones and campaigns. Starting with Black Ops 2, which took place in 2025, each game since has been set in the future, with the most recent Black Ops 3 taking place in 2065. Many players have enjoyed Infinity Ward's take on futuristic warfare while others, like myself, prefer the modern (ha, get it?) versions of warfare. Infinity Ward's jump to the future has come with a lot of backlash as the anticipated release of Infinite Warfare is looking to be one of the lowest in the franchise's history, especially due to DICE's new release set for the fall of this year.
Battlefield 1 goes back in time rather than forward. Taking place in World War 1, Battlefield has done something that very few studios have been able to do. Yet, based on the trailers for BF1, DICE has managed to create one of the most anticipated games of the year, which has many gamers wondering if Battlefield will finally knock Call of Duty from the top spot. Trench warfare, mustard gas, biplanes, horses; BF1 has taken the 21st Century back in time in a good way. After the DICE reveal event, Paul Tassi said in his article for Forbes, "Battlefield 1 has impressed both visually, but more important, conceptually."
The only saving grace that Infinity Ward seems to have with their new game is the remaster of Call of Duty: Modern Warfare for next-gen consoles featuring improved graphics, maps, and gameplay. Tassi says in another Forbes article, "despite one being a $20 add-on that people have already played, while the other is a 100% new title in the series, it's Modern Warfare that seems to have fans the most excited."
Both franchises have their dedicated players who only play one or the other. It is a very hot topic for both of these communities. Personally, I have always played Call of Duty. Modern Warfare and MW2, in my opinion, are still the greatest FPS of all time. However, after being disappointed with Ghosts and horrified with Black Ops 3, I purchased my first Battlefield game ever: Battlefield 4. I was amazed by the gameplay and realism. The graphics are insane, the maps are enormous and very well-structured, and is as close as you can get to real warfare aside from joining the military. For anyone who enjoys realistic warfare, Battlefield is a no-brainer. I haven't played Black Ops 3 since I bought Battlefield 4 nor do I intend to (unless, of course, my friends and I are going to play Zombies on The Giant). But, as the old saying goes: to each, their own.
Due to the anticipated releases and overall response to both games, the internet has done what the internet does. The Infinite Warfare trailer has become the second-most disliked video on YouTube (Tech Times) while Battlefield 1's views and likes have continued to skyrocket. There have also been multiple memes and videos that poke fun at the relationship between the games and how Infinity Ward is reacting to the overwhelmingly negative response while DICE seems to be holding a full house.
https://www.youtube.com/watch?v=DOYWMh3zLBk
Infinite Warfare
Published by Drew Schroeder
View all posts by Drew Schroeder
Next Post Fitness Goals and Motivation
Drew Schroeder Author
Follow Drew Schroeder on WordPress.com
The Laramie Leap


text:
Q: How to find the rows with maximum values from multiple files having same structure? I have some files (csv) which are of the same structure
  File 1           File 2           File 3           File 4
Id   Values      Id   Values      Id   Values      Id    Values
A1    0.2        A2    0.1        A3    0.4        A4    0.7
B1    0.5        B2    0.4        B3    0.2        B4    0.1
C1    0.1        C2    0.8        C3    0.05       C4    0.3
D1    0.3        D2    0.1        D3    0.9        D4    0.2

Now from each of these files I require the maximum id and value from all the rows, i.e I need
Id  values
A4   0.7
B2   0.4
C2   0.8
D3   0.9

How to proceed with this?

A: There is definitely more than one way to do what you want.  If the data is exactly the same looping through lists could get what you want.  My approach is to use dataframes.  For each 'category' (As, Bs etc) build a dataframe with those values and then the search for the max or min is easy.  You will need the pandas library.
import pandas as pd
# This function creates a small dataframe where each row is from a different file that you want to evaluate. It loads the row you want and skips the rest
def read_files(file_list, skipped):
    df = pd.DataFrame(columns = ['Id', 'Values'])
    for file in file_list:
        df_temp = pd.read_csv(file, skiprows=skipped)
        df = df.append(df_temp, ignore_index=True)
    return (df)

final_answers = pd.DataFrame()

for i in range(4):
    skipped_list = [(2,3,4),(1,3,4), (1,2,4),(1,2,3)]
    file_list = ['file1.csv', 'file2.csv', 'file3.csv', 'file4.csv']

    working_df = read_files(file_list, skipped_list[i])
    answer = working_df[working_df.Values == working_df.Values.max()]
    final_answers = final_answers.append(answer, ignore_index=True)

print(final_answers)
Output:
  Id Values
0 A4    0.7
1 B1    0.5
2 C2    0.8
3 D3    0.9

Some improvements - I specified the file names for simplicity but you could load files based on a pattern such as all *.csv if your data is all in one directory or get more complicated pattern such as 'starts with' and 'ends with' to load all files that you may need.  Also the skipped_list was pre-determined for simplicity.  A small loop could create the list so that much larger data-sets would work without the tediousness of filling out that list.

A: You can do this:
frames = [pd.read_csv(f'file{i}.csv') for i in range(1, 5)]
df = pd.concat(frames, axis=1)
ix = df.values[:, 1::2].argmax(axis=1)
out = pd.concat([frames[k].iloc[[i]] for i, k in enumerate(ix)])

Produces:
>>> out
   Id  Values
0  A4     0.7
1  B1     0.5
2  C2     0.8
3  D3     0.9

Explanation
The first line reads all the csv files into individual dataframes.
We temporarily make a df that is the horizontal concatenation of these frames:
>>> df
   Id  Values  Id  Values  Id  Values  Id  Values
0  A1     0.2  A2     0.1  A3    0.40  A4     0.7
1  B1     0.5  B2     0.4  B3    0.20  B4     0.1
2  C1     0.1  C2     0.8  C3    0.05  C4     0.3
3  D1     0.3  D2     0.1  D3    0.90  D4     0.2

We then use df.values[:, 1::2] to get to only the numeric values as a numpy array, and take argmax of this for each column. The result is an index ix that indicates, for each row, which frame has the maximum:
>>> ix
array([3, 0, 1, 2])

At this point, we can just assemble the rows by selecting the frame k that has the max for each row i.
Vectorized alternative (look Ma, no loops! using a numpy 3D array)
For better speed (if you have many frames), you may consider building and using a 3D numpy array to avoid the explicit loop when constructing the final result:
z = df.values.reshape(df.shape[0], len(frames), -1)
ix = z[:, :, 1].argmax(axis=1)
out = pd.DataFrame(np.einsum('iij->ij', z[:, ix]), columns=frames[0].columns)

In this, z is a 3D array:
>>> z
array([[['A1', 0.2],
        ['A2', 0.1],
        ['A3', 0.4],
        ['A4', 0.7]],

       [['B1', 0.5],
        ['B2', 0.4],
        ['B3', 0.2],
        ['B4', 0.1]],

       [['C1', 0.1],
        ['C2', 0.8],
        ['C3', 0.05],
        ['C4', 0.3]],

       [['D1', 0.3],
        ['D2', 0.1],
        ['D3', 0.9],
        ['D4', 0.2]]], dtype=object)

that is nice in that it lets us find the argmax in a more concise way:
ix = z[:, :, 1].argmax(axis=1)
>>> ix
array([3, 0, 1, 2])

but more importantly, it then lets us select in one shot from the index ix (using np.einsum to get the desired diagonal) and obtain the rows we want:
>>> np.einsum('iij->ij', z[:, ix])
array([['A4', 0.7],
       ['B1', 0.5],
       ['C2', 0.8],
       ['D3', 0.9]], dtype=object)

Then we just make a new dataframe with these values, and using the first frame to label the columns.


Spike Lee is currently working on a new film called Chiraq, and its casting news has been a point of excitement and confusion. Kanye West was initially thought to be connected, though he quickly denied he was acting in the project. Today, more information about the film's cast has been revealed.
Though he didn't land Kanye, Spike Lee does have a rapper involved, albeit a much less acclaimed one. Rapper, television personality and former Mr. Mariah Carey Nick Cannon has now been confirmed for the project to play the role of a hip-hop artist.
These actors will join previously confirmed cast members Samuel L. Jackson, John Cusack and Jennifer Hudson. Common was also rumoured to be involved, though his role in the film has neither been confirmed nor denied.


text:
package org.telegram.api.message.action;

import org.telegram.tl.StreamingUtils;
import org.telegram.tl.TLContext;
import org.telegram.tl.TLIntVector;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * The type TL message action chat create.
 */
public class TLMessageActionChatCreate extends TLAbsMessageAction {
    /**
     * The constant CLASS_ID.
     */
    public static final int CLASS_ID = 0xa6638b9a;

    private String title;
    private TLIntVector users;

    /**
     * Instantiates a new TL message action chat create.
     */
    public TLMessageActionChatCreate() {
        super();
    }

    @Override
    public int getClassId() {
        return CLASS_ID;
    }

    /**
     * Gets title.
     *
     * @return the title
     */
    public String getTitle() {
        return this.title;
    }

    /**
     * Sets title.
     *
     * @param title the title
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * Gets users.
     *
     * @return the users
     */
    public TLIntVector getUsers() {
        return this.users;
    }

    /**
     * Sets users.
     *
     * @param users the users
     */
    public void setUsers(TLIntVector users) {
        this.users = users;
    }

    @Override
    public void serializeBody(OutputStream stream)
            throws IOException {
        StreamingUtils.writeTLString(this.title, stream);
        StreamingUtils.writeTLVector(this.users, stream);
    }

    @Override
    public void deserializeBody(InputStream stream, TLContext context)
            throws IOException {
        this.title = StreamingUtils.readTLString(stream);
        this.users = StreamingUtils.readTLIntVector(stream, context);
    }

    @Override
    public String toString() {
        return "messageActionChatCreate#a6638b9a";
    }
}

redpajama_set_name: RedPajamaGithub


ChemIDplus - 126-31-8 - COCJIVDXXCJXND-UHFFFAOYSA-M - Methiodal sodium [USP:INN:BAN] - Similar structures search, synonyms, formulas, resource links, and other chemical information.
mouse LD50 intracrebral 309mg/kg (309mg/kg) Acta Radiologica, Supplementum. Vol. 335, Pg. 5, 1973.
mouse LD50 intravenous 3900mg/kg (3900mg/kg) Journal of Pharmacology and Experimental Therapeutics. Vol. 116, Pg. 394, 1956.
rat LD50 intravenous 4800mg/kg (4800mg/kg) Journal of Pharmacology and Experimental Therapeutics. Vol. 116, Pg. 394, 1956.


All St. George homes currently listed for sale in St. George as of 04/19/2019 are shown below. You can change the search criteria at any time by pressing the 'Change Search' button below.
"Look no further! Great value in this prestigious gated community of Stone Cliff. Beautiful views towards Zion. Solid doors, 10&12 foot ceilings, 2 family rooms, wet bar downstairs, fireplace, 2 covered decks and much more. You could not build for the price of this existing home. Ready to move in!"


c) Twitter – We make use of Twitter accounts such as (@oyezwaterlowhr). Twitter also uses Persistent cookies.
The data controller responsible in respect of the information collected on this website is Waterlow Business Supplies Limited.
Our data protection registration number is Z4593719.


Celebrating her birthday at our favorite brewpub, my wife was spending part of the quarter-billion dollar Powerball lottery prize just before the drawing that gave it to a Missouri convenience store worker instead of her and a pool of coworkers.
Sharing the winnings with me she asked if I would start flying again and what airplanes I would buy, saying "You could have one for aerobatics, an SNJ, and one that would take us to see the grandkids." Being a pragmatic realist, not to mention persistently frugal (or, as my wife says, "stubborn and cheap"), I took a sip and seriously considered an answer.
Most flying today is no different than taking the bus, where the other passengers are the "adventure." GA is like taking the car, and you get to pick your traveling companions. Cue the memories of childhood road trips and your anticipation for the next one.Taking another sip, it struck me that perhaps this lack of adventure is aviation's missing growth hormone.
In my formative aviation years flying was anything but clinical. It was Steve Canyon comics (getting his helmet made my Christmas!) and Clutch Cargo cartoons of aerobatic adventures and aerial explorations of little visited corners of the planet. Airline travel was a special event with a dress code where everyone was on the best behavior.
Such adventures are still possible, at least in GA, but creating them isn't simple or inexpensive. My all-time best airborne adventure ever was flying a Sportsman 2+2 from Arlington, Washington, to Anchorage, Alaska, with the good folks from Glasair Aviation and a gaggle of Glastars. We flew up the trench, landed on gravel bars, and camped out.
This entry was posted on Wednesday, April 28th, 2010 at 10:09 pm	and is filed under Airlines, Airports, Aviation Marketing, Blogging, FAA, Flight Training, General, Light sport aircraft, Military. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.
Sign me up for the next adventure! I think it's worth the money too, and I also agree that it IS the jump start for GA's dead battery.
What passes for adventure today? I'm afraid adventure has become a dirty word for the millennial generation. Adventure implies risks, and this generation is very, very risk-averse.
Flying is a never ending series of adventures. Learning to fly is itself an adventure. Planning even small trips to new destinations is always a great adventure. Taking people for their first flights is a very rewarding experience/adventure.
The adventure aspect is a big part of why I went from skydiving to being a pilot. While piloting may not be quite as exciting, each flight has the potential to be a new adventure.
Thanks for the great article felt like i had a seat in that Alaskin passage and the pines smelled great on the gravel beach.


We all know — or should know — about the massive 19th century 160 volume collection of Greek patristic texts. These come with Latin translations. The whole enterprise was really just reprinting and collecting earlier editions, but J.-P. Migne, who masterminded it, did such a service to the world that his collection has been a standard reference ever since.
I've always wondered whether people who know Greek take the volumes to bed with them and browse. After all, how better to improve your Greek than constant reading? But I have never heard of anyone doing this, probably because access to the physical volumes is hard. The printing is also fairly rubbish. Most people probably use Google Books PDF's (see the links on the right).
Today I received an email from a Greek bunch who are reprinting the lot. Their English is not great, but they're offering volumes for 22 euros each, I think. I believe they have added supplements of their own.
I wish them well with this enterprise. The cost per volume is not a lot more than most reprints of material on Google books.
I've seen that in the demo of the content of the books (http://patrologiagraeca.org/patrologia/en/patrologia-graeca/demo.html) the little spots, scratches and point of dust are in the same places than in the google books scan version.
How to be sure that their reprint is not just a reprint of the google books version (with some filters applied) and the logo omitted?
Hmm. Well from the sound of it, it probably is!
But resetting the text of the Patrologia Graeca would be an awfully hard enterprise.


text:
Metformin effects on dipeptidylpeptidase iv degradation of glucagon-like peptide-
Biochemical and Biophysical Research Communications 291, 1302–1308 (2002)
doi:10.1006/bbrc.2002.6607, available online at http://www.idealibrary.com on Metformin Effects on Dipeptidylpeptidase IV Degradationof Glucagon-like Peptide-1 ¨ hn-Wache,† Torsten Hoffmann,† Raymond A. Pederson,* Christopher H. S. McIntosh,* and Hans-Ulrich Demuth†,1†Probiodrug Research, Biocenter, Weinbergweg 22, D-06120 Halle (Saale), Germany; and*Department of Physiology, University of British Columbia, Vancouver, Canada V6T 1Z3 States of America, and similar projections are made There is current interest in the use of inhibitors of
worldwide (1). Of those diagnosed with diabetes melli- dipeptidyl peptidase IV (DP IV) as therapeutic agents
tus, it is thought that type 2 diabetes (T2D), defined to normalize glycemic excursions in type 2 diabetic
primarily by peripheral insulin resistance with concur- patients. Data indicating that metformin increases the
rent hyperglycemia, accounts for ninety to ninety-five circulating amount of active glucagon-like peptide-1
percent of diagnosed diabetic patients (1). Therapies (GLP-1) in obese nondiabetic subjects have recently
for T2D include insulin injection and various oral phar- been presented, and it was proposed that metformin
maceuticals (sulfonylureas, metformin, acarbose, and might act as a DP IV inhibitor. This possibility has
certain glitazones), however, resistance to monothera- been investigated directly using a number of in vitro
pies as the disease progresses usually results in the methods. Studies were performed on DP IV enzyme
necessity of combinatorial treatment in order to im- from three sources: 20% human serum, purified por-
prove blood glucose levels (2). As such, there is added cine kidney DP IV, and recombinant human DP IV.
pressure on the pharmaceutical industry to develop Inhibition of DP IV hydrolysis of the substrate Gly-
more potent forms of existing therapies and new oral Pro-pNA by metformin was examined spectrophoto-
agents with novel cellular targets that can be used as metrically. Effects of metformin on GLP-1
[7-36NH2]
monotherapies or in combination with other antidia- radation were assessed by mass spectrometry. In ad-
dition, surface plasmon resonance was used to estab-
lish whether or not metformin had any effect on GLP-
One such novel molecular target with potential an- interaction with immobilized
tihyperglycemic effects is the ubiquitous proteolytic [7-36NH2]
porcine or human DP IV. Metformin failed to alter the
enzyme, dipeptidyl peptidase IV (DP IV, or known as kinetics of Gly-Pro-pNA hydrolysis or GLP-1 degrada-
CD26 to immunologists; EC3.4.14.5). The unique prop- tion tested according to established methods. Surface
erty of DP IV with respect to diabetes mellitus is that plasmon resonance recordings indicated that both
it is the primary enzyme responsible for degradation of and GLP-1
show micromolar affinity
the incretins in vivo (4). Incretins are the hormonal [7-36NH2]
(K ) for DP IV, but neither interaction was influenced
arm of the enteroinsular axis, the link between the gut by metformin. The results conclusively indicate that
and the endocrine pancreas (5). Glucose-dependent in- metformin does not act directly on DP IV, therefore
sulinotropic polypeptide (GIP) and amino-terminally alternative explanations for the purported effect of
metformin on circulating active GLP-1 concentrations
the only hormones which have been proven to fulfill the must be considered.
2002 Elsevier Science (USA)
requirements to be defined as an incretin: they are Key Words: incretin; entero-insular axis; CD 26; DPP
released into the blood stream in response to luminal IV; MALDI–TOF mass spectrometry; BIAcore; surface
nutrients, and act to augment nutrient-induced insulin plasmon resonance.
release in a glucose-dependent fashion (6). Mentlein etal. (7) first showed that GIP and GLP-1 were sub-strates for DP IV in vitro, and shortly thereafter, in Derangement of glucose homeostasis affects approx- vivo degradation was also demonstrated (4). It was imately six percent of the inhabitants of the United Pauly and colleagues who first postulated the link be-tween the possible benefits of DP IV inhibition and glycemic control due to enhancement of the incretin To whom correspondence should be addressed. Fax: ϩ49-345- 5559901. E-mail: [email protected]
effect (8). The hypothesis that DP IV inhibition would 2002 Elsevier Science (USA)All rights reserved.
BIOCHEMICAL AND BIOPHYSICAL RESEARCH COMMUNICATIONS improve glucose tolerance was later shown to be cor- (purified porcine) and 32.4 units/mg (recombinant human; rhuman).
rect in both Wistar rats and diabetic fatty Zucker rats One unit of DP IV activity is defined as the release of 1.0 ␮mol/lnitroaniline (yellow product) per minute measured spectrophoto- (9, 10). These findings have been corroborated by sim- metrically at 390 nm under standard conditions (defined below).
ilar studies in mouse, rat and pig (11–13).
Human serum was obtained from healthy donors, pooled and stored Metformin is a derivative of the antidiabetic bigua- at Ϫ20°C until use, described previously (19).
nide alkaloids found in French lilac (Galeg officinalis), Effect of metformin on DP IV hydrolysis of GP-pNA. a medieval treatment for diabetes (14). It has been were carried out under standard conditions: 30°C in pH 7.6 40 commercially available since the 1950s, and is com- mmol/l HEPES (Sigma-Aldrich) buffer containing 0.4 mmol/l H-Gly- monly used worldwide as an initial monotherapy for Pro-4-nitroaniline, and 2.5 mU of DP IV (porcine or rhuman) or 20% newly diagnosed T2D patients, as it is equally effective human serum. Metformin (1,1-dimethylbiguanide; Sigma-Aldrich)was added over the concentration range of 0 to 100 ␮mol/l. Nitro- as sulfonylurea treatment (2, 14). However, metformin aniline production was monitored using a HTS 7000ϩ microplate was not available for clinical use in the United States until 1995 (15). The specific molecular target of it is Effect of metformin on DP IV hydrolysis of GLP-1[7-36NH2] using still unknown, although biguanides generally act to Similar to spectrophotometric studies, matrix- sensitize peripheral tissues to insulin action (in partic- assisted laser-desorption ionization time of flight mass spectrometry ular skeletal muscle) and inhibit hepatic gluconeogen- (MALDI-TOF MS) experiments were carried out at 30°C at pH 7.6, esis and glycogenolysis (2, 3, 14). Notably, unlike the but in 0.1 mol/l Tris/HCl (Sigma-Aldrich) buffer with 12 ␮mol/lGLP-1 incretins, metformin does not improve glucose toler- The degradation fate of GLP-1 was measured by monitoring the signal intensity of the pseudomolecular ion peaks of ance via an increase in circulating insulin levels, im- GLP-1[7-36NH2] ([M ϩ H]ϩ ϭ 3299.7) and GLP-1[9-36NH2] ([M ϩ H]ϩ ϭ 3090.4) versus time when incubated with 2.5 mU DP IV (porcine or rhuman) or Recently, data were presented demonstrating the 20% human serum, with or without metformin (0 –1 mmol/l). The mass effect of metformin on plasma active (amino-terminally spectrometer employed was a Hewlett-Packard G2025 model with alinear time of flight analyzer; samples (4 ␮l) were mixed 1:1 v/v with intact) GLP-1 concentrations in obese non-diabetic matrix (44 mg diammonium-hydrogen-citrate and 30 mg 2Ј,6Ј-dihy- male patients (16) (first appearing in abstract form droxyacetophenone in 1 ml aqueous solution containing 50% acetoni- (17)). In this study, administration of metformin (2550 trile and 0.05% trifluoroacetic acid; Sigma-Aldrich), transferred to a mg/day) over a two week period appeared to signifi- probe tip and immediately evaporated using the Hewlett-Packard G2024A cantly increase active GLP-1 levels relative to the con- sample preparation vacuum chamber. 250 single laser-shot spectrawere accumulated. This method of monitoring degradation has been trol group after an oral glucose load with a euglycemic validated in several prior publications (8, 19, 20), and allows the general hyperinsulinemic clamp protocol, but did not affect comparison of half-degradation times (t1/2) under various conditions.
basal active GLP-1 concentration. Furthermore, dur- Effect of metformin on substrate binding to DP IV using surface Surface plasmon resonance is a highly sensi- buffer containing porcine DP IV in vitro, metformin tive technique which measures biomolecular interactions by detect- concentrations that would be expected in vivo appeared ing the change in refractive properties at the surface of a sensor chip.
to dose-dependently preserve intact GLP-1 (as mea- Purified pork DP IV and recombinant human DP IV were immobi- sured using an N-terminally specific ELISA) (16). The lized on the surface of a CM5 chip (BIAcore AB, Uppsala, Sweden)using amine coupling chemistry, precisely as previously described purpose of the current study was to reinvestigate these (19). Baseline values for porcine DP IV and recombinant human DP findings using alternative biochemical methods. Ex- IV were 5000 and 3500 resonance units (RU), respectively. Baseline periments were designed such that the effect of met- values affect the maximal possible change in RU upon analyte bind- formin on DP IV activity in human serum, purified ing (proportional to the ratio of molecular masses of the analyte to porcine DP IV, and purified recombinant human DP the immobilized ligand multiplied by the baseline value), however itdoes not in theory alter the outcome of kinetic analyses. Experiments IV could be determined. Gly-Pro-para-nitroaniline was were carried out using a flow rate of 20 ␮l/min, in HBS-EP buffer (10 used as a DP IV substrate for spectrophotometric stud- mmol/l HEPES, 150 mmol/l NaCl, 3 mmol/l EDTA, 0.005% v/v Sur- factant P-20, pH 7.4; BIAcore AB). Apparent K kinetic studies with matrix-assisted laser-desorption sured at 4°C and 25°C for both GLP-1[7-36NH2] and GLP-1[9-36NH2], over a ionization-time of flight mass spectrometry (MALDI- concentration range of 1.56 ␮mol/l to 100 ␮mol/l, and measured fromnon-linear regression curves on plots of R TOF MS). Surface plasmon resonance is able to detect difference in resonance units) versus peptide concentration. To es- real-time interactions between proteins, and thus this tablish if metformin had an effect on GLP-1[7-36NH2] or GLP-1[9-36NH2] technique was applied to establish if metformin af- interaction with DP IV, 20 ␮mol/l of peptide was co-injected with metformin in the concentration range 0 – 0.3 mmol/l.
GLP-1[7-36NH2] and GLP-1[9-36NH2] were synthesized in house, using the automated Symphony peptide synthesizer (RaininInstrument Co., Woburn, MA). Peptides were purified to Ͼ95% purityby HPLC (Merck-Hitachi, Darmstadt, Germany) and MALDI-TOF MS Purified pork kidney dipeptidyl peptidase was used to confirm identity and purity of the products.
IV was prepared by the method of Wolf et al. (18). Recombinantsoluble human DP IV was kindly provided by J. Ba¨r (Probio- Data points represent compiled data from at least drug, Germany). Using the chromogenic substrate, H-Gly-Pro-4- three independent measurements, given as the mean Ϯ standard nitroaniline (GP-pNA; Probiodrug, Germany), the specific activity of error of the mean (SEM). Data were analysed using the Prism 3.0 DP IV used in the current study was measured to be 31.2 units/mg (GraphPad, San Diego), BIAevaluation 3.0.1 (BIAcore AB) or Excel BIOCHEMICAL AND BIOPHYSICAL RESEARCH COMMUNICATIONS Metformin fails to alter interaction between GLP- Spectrophotometric Studies Using Gly-Pro-pNA surface plasmon resonance examined the apparent Note. Hydrolysis was monitored under standard conditions as de- scribed under Materials and Methods.
a Purified porcine DP IV.
b Purified recombinant human DP IV.
97 (Microsoft) software packages for PC. MALDI-TOF MS degrada-tion curves were fitted to first-order exponential decay equations,whereas BIAcore binding curves were fitted to first-order exponen-tial association equations, both using appropriate non-linear regres-sion software. Significance of difference was ascertained using anal-ysis of variance (ANOVA) or a student's t test, where appropriate,with P Ͻ 0.05 considered significant.
Hydrolysis of Gly-Pro-pNA is not altered by met- was used to monitor any influence it had on the stan-dard colorimetric determination of DP IV activity. Ta-ble 1 shows the effect of metformin on Gly-Pro-pNAhydrolysis by purified pig kidney DP IV, recombinanthuman DP IV and by human serum. No significanteffects were observed at any concentration tested. Theconcentration range of metformin used includes clini-cally relevant concentrations, as well as those higherthan found in vivo (normally less than 18 ␮mol/l; (21)).
With either competitive or non-competitive enzyme in-hibition, one would expect dose dependent effects.
by MALDI-TOF mass spectrometry shows no effect ofmetformin. flight mass spectrometry was used to monitor the hy-drolysis of intact GLP-1 and purified DP IV homologs from pig and human.
MALDI-TOF MS has been used to measure classicalenzyme kinetic constants (8, 20), however, more rou-tinely performed is the comparison of half degradationtime (t ) in the presence or absence of an inhibitor (19, 20). Figure 1 depicts representative spectra obtained inthe presence and absence of 10 mmol/l metformin at 0min and 60 min after incubation with porcine, rhumanDP IV or 20% human serum at 30°C, pH 7.6. Qualita-tively, metformin appears not to prevent GLP-1 Representative MALDI-TOF mass spectra of GLP-1 deg- hydrolysis by DP IV or serum. Comparison of exponen- radation by (A) purified pork DP IV, (B) recombinant human DP IV,or (C) 20% human serum, with or without 1 mol/l metformin. The tial decay curves quantitatively verifies this conclu- abscissa is relative peak intensity, and the ordinate is mass to charge ratio (m/z). See text for detailed methods. Quantitative kinetic pa- BIOCHEMICAL AND BIOPHYSICAL RESEARCH COMMUNICATIONS Note. See text for detailed methods.
c ND, not determined.
dextran immobilized DP IV (purified porcine and re-combinant human), as previously described for gluca-gon analogs (19). Apparent K values were obtained by concentration (Fig. 2). As immobilized DP IV retainsenzymatic activity, experiments first measured at 25°Cwere also performed at 4°C, to obtain more accurate KDvalues. This was hypothesized to be more important forthe measurement of GLP-1 25°C, where the measured K would also be influenced Binding kinetics of GLP-1 for dextran-immobilised DP IV surface. In fact, the measured K for GLP-1 measured by surface plasmon resonance. (A) A representative sen- peared to be only moderately reduced (i.e. higher affin- sorgram showing binding of GLP-1[7-36NH2] to DP IV immobilised onthe surface of the sensor chip versus time (flow rate ϭ 20 ␮l/min, ity) at 4°C relative to 25°C (Table 3). Furthermore, the 25°C, pH 7.4). Baseline measurements were taken at 60 s and REq net effect of reduction of temperature was to decrease was measured at 360 s, at the end of the 5-min peptide injection. At least 10 min of wash out was allowed in between peptide injections , reduced by 48.9% and 61.9%, for porcine and to allow return to baseline. (B) Saturation binding curves of GLP- rhuman DP IV isoforms, respectively. Metformin (0 – [7-36NH2] or GLP-1[9-36NH2] and DP IV at 25°C using equilibrium surface plasmon resonance deflections plotted versus peptide concentration.
0.3 mmol/l), had no effect on either GLP-1 See text and Table 3 for complete quantitative comparisons.
(20 ␮mol/l) binding to immobilized DP IV (Fig. 3). Metformin concentrations above this rangeinteracted non-specifically with the dextran matrix inhibitor, thus explaining the anorectic effect of met- (the reference chamber) in the absence of peptide, pre- formin and the concurrent improvement in glucose tol- venting the testing of higher doses (although 0.3 erance. By their own admission, in the Mannucci re- mmol/l metformin is already a suprapharmacological port only preliminary findings are included, and concentration). Results also indicated that constant 30 ␮mol/l metformin did not produce consistent effects onother concentrations of GLP-1 over the concentration range 0 –100 ␮mol/l (n ϭ 2, Dextran-Immobilised Porcine and Recombinant Human DPIV, Measured Using Surface Plasmon Resonance The current manuscript addresses whether or not metformin acts directly on dipeptidyl peptidase IV (DPIV) in order to retard degradation of GLP-1 inactive N-terminally truncated form, GLP-1 The recent manuscript by Mannucci et al. (16) sug- in metformin-treated non-diabetic obese males relative to non-treated subjects, metformin may act as a DP IV b Purified recombinant human DP IV.
BIOCHEMICAL AND BIOPHYSICAL RESEARCH COMMUNICATIONS Effect of graded metformin concentrations on interactions of GLP-1[7-36NH2] or GLP-1[9-36NH2] with porcine or recombinant human DP similar experiments have not yet been carried out in glucose sensitivity of the pancreatic alpha cell and healthy or diabetic subjects, animal models, or in vitro. enteroendocrine L-cell, or the secretory rate of these We have addressed the latter deficiency, and per- cells, resulting in greater hormone release with met- formed several direct in vitro enzymological experi- formin treatment. The work of Lugari et al. is sup- ments to determine if metformin inhibits DP IV or ported by studies published previously (23), which alters the substrate-enzyme interaction. In contrast to found that metformin significantly increased release of findings by Mannucci and co-workers, we have been pancreatic and gut glucagon (glicentin and oxynto- unable to show that metformin has any effect on DP IV, modulin intestinal products of proglucagon processing and thus we offer alternative explanations for their released in equal amounts to GLP-1 from enteroendo- crine L-cells in response to luminal nutrients (24)).
Mannucci et al. (16) continued the work of Lugari et Mannucci and colleagues tested obese non-diabetic al. (22), with respect to the effect of metformin on subjects using a euglycemic hyperinsulinemic clamp GLP-1 levels in obese or T2D patients. The latter test protocol, as opposed to a test meal, in order to manuscript examined the effect of metformin (1 week, avoid glycemia induced alterations in GLP-1 release, 500 mg three times per day) on plasma glucagon and rather than direct effects of metformin (16). Under these conditions, it was found that GLP-1 diabetic subjects after a test meal (550 kcal). Met- significantly greater in the metformin treated group, formin significantly increased both glucagon and total using a commercially available assay specific for GLP-1 levels after one week; glucagon release was not N-terminally intact GLP-1 (16). Unfortunately, total altered by the test meal, but was significantly greater GLP-1 levels were not measured. An increase in than paired data obtained prior to metformin treat- N-terminally intact GLP-1 was interpreted as indicat- ment (22). While plasma GLP-1 increased postprandi- ing protection from degradation by DP IV, and the ally in both control and metformin treated subjects, in possibility of an increase in total GLP-1 levels, yielding the metformin treated group GLP-1 levels were signif- a proportional rise in intact GLP-1 concentrations, was icantly greater than the control group at several time not considered. This possibility is consistent with prior points (22). Perhaps the most simplistic interpretation studies examining glucagon and GLP-1 levels after of these findings is that metformin either increases the metformin treatment (22, 23). Experiments were con- BIOCHEMICAL AND BIOPHYSICAL RESEARCH COMMUNICATIONS tinued in vitro using human plasma from healthy do- within the catalytic site of DP IV contributes little to nor subjects and purified pig kidney DP IV, with or the overall affinity of the interaction between enzyme without graded metformin concentrations (16). After a In summary, we have attempted to determine N-terminally specific ELISA was reduced by 24% in whether metformin has direct effects on DP IV- human serum and 84% in purified DP IV in the ab- mediated GLP-1 degradation in vitro, and additionally sence of metformin, while addition of 0.5 ␮g/ml met- have enhanced our understanding of GLP-1/DP IV in- formin (approx. 3 ␮mol/l) appeared to moderately re- teractions. We have been unable to support the claim verse the loss in detection to 12% and 55% respectively.
that metformin inhibits DP IV activity by a number of These findings compelled us to perform in vitro exper- different experimental approaches. The most likely ex- iments using alternative enzymological methods to re- planation for the findings of Mannucci et al. (16) with assess the role of metformin on DP IV.
respect to preservation of N-terminally intact GLP-1 In contrast to the in vitro findings of Mannucci et al. with metformin treatment is that metformin increases (16), we were unable to detect any significant effect of the secretion of total GLP-1, and thus a proportional metformin on Gly-Pro-pNA hydrolysis, the prototypical increase in intact GLP-1 would be expected. It is diffi- DP IV substrate, in healthy human serum, purified pig cult to explain the disparate findings in vitro between kidney DP IV or recombinant human DP IV. Further the current report and that published previously, how- experiments using MALDI-TOF mass spectrometry ever, the primary experimental omission of measuring which can concurrently detect disappearance and ap- pearance of the molecular species corresponding to mines the earlier data, as sample recovery cannot be assessed. In contrast, MALDI-TOF mass spectrometry allowed direct detection of both intact and inactive exponential decay curves which can be compared under GLP-1, and hence is more convincing. Surface plasmon different experimental conditions. Consistent with resonance allowed measurement of affinity of interac- Gly-Pro-pNA enzymological experiments, metformin tion between enzyme and substrate. This was not sig- did not alter the degradation kinetics of GLP-1 nificantly altered by metformin or the presence of an over a wide range of concentrations in any of the en- In conclusion, it appears that metformin may in- Surface plasmon resonance (SPR) was used to exam- crease hormone secretion from both the pancreatic al- ine the interaction between purified DP IV homologs pha cell and intestinal L-cell, resulting in greater glu- and GLP-1, irrespective of catalytic activity. The cagon and total GLP-1 levels in metformin treated amine-coupling reaction does not affect enzyme activ- individuals. The latter effect may be one of the mech- ity (19), and SPR allows measurement of intermolecu- anisms by which metformin improves glucose toler- lar interactions not necessarily confined to the cata- ance. With the emergence of potent specific DP IV lytic site. From these studies, apparent K values were inhibitors for the treatment of type 2 diabetes mellitus, an even greater potential may lie in combinatorial formin failed to alter the binding interaction between treatment with both metformin and DP IV inhibitors to Binding constants for N-terminally truncated glucagonfragments and purified DP IV were not previously This work was funded in part by Department of Science and tested, however, studies indicated that substitution or Technology of Sachsen Anhalt (HUD Grant 9704/00116) and by the modification of the penultimate amino acid of glucagon Medical Research Council of Canada (CHSM and RAP Grant590007) and the Canadian Diabetes Association. Simon Hinke is reduced the apparent K by approximately 10-fold, and grateful for the support of the Killam Trusts, the Medical Research that altering the chirality of Gln3 produced more pro- Council of Canada, and the Deutscher Akademischer Austausch- nounced effects on glucagon/DP IV interactions (19).
dienst (DAAD). The authors thank Madeleine Speck, Joachim Studies comparing DP IV binding constants for GIP Ba¨r, Michael Wermann, and Dr. Susanne Manhart for technical ϭ 1.7 ␮mol/l) and DP IV hydrolysis product, assistance.
(K ϭ 3.2 ␮mol/l), resulted in similar findings 1. (1999) Diabetes Statistics. NIH Publication No. 99-3892. shown are one order of magnitude greater than 2. DeFronzo, R. A. (1999) Pharmacologic therapy for type 2 diabe- those for GIP, measured under identical conditions.
tes mellitus. Ann. Intern. Med. 131, 281–303.
However, similar to GIP, N-terminal truncation does 3. Zhang, B. B., and Moller, D. E. (2000) New approaches in the not dramatically affect binding affinity for DP IV.
treatment of type 2 diabetes. Curr. Opin. Chem. Biol. 4, 461–
Hence, it can be concluded that the substrate binding BIOCHEMICAL AND BIOPHYSICAL RESEARCH COMMUNICATIONS 4. Kieffer, T. J., McIntosh, C. H. S., and Pederson, R. A. (1995) 14. Bailey, C. J., and Turner, R. C. (1996) Metformin. N. Engl. Degradation of glucose-dependent insulinotropic polypeptide J. Med. 334, 574 –579.
and truncated glucagon-like peptide 1 in vitro and in vivo by 15. DeFronzo, R. A., and Goodman, A. M. (1995) Efficacy of met- dipeptidyl peptidase IV. Endocrinology 136, 3585–3596.
formin in patients with non-insulin-dependent diabetes mellitus.
5. Unger, R. H., and Eisentraut, A. M. (1969) The entero-insular N. Engl. J. Med. 333, 541–549.
axis. Arch. Intern. Med. 123, 261–266.
16. Mannucci, E., Ognibene, A., Cremasco, F., Bardini, G., Mencucci, 6. D'Alessio, D. (1997) Peptide hormone regulation of islet cell.
A., Pierazzuoli, E., Ciani, S., Messeri, G., and Rotella, C. M.
Horm. Metab. Res. 29, 297–300.
(2001) Effect of metformin on glucagon-like peptide 1 (GLP-1) 7. Mentlein, R., Gallwitz, B., and Schmidt, W. E. (1993) Dipeptidyl- and leptin levels in obese nondiabetic subjects. Diabetes Care 24,
peptidase IV hydrolyses gastric inhibitory polypeptide, glucagon- like peptide-1 (7-36)amide, peptide histidine methionine and is 17. Mannucci, E., Ognibene, A., Cremasco, F., Bardini, G., Mencucci, responsible for their degradation in human serum. Eur. J. Bio- A., Pierazzuoli, E., Ciani, S., Messeri, G., and Rotella, C. M.
chem. 214, 829 – 835.
(2000) Effects of metformin on baseline and oral glucose-induced 8. Pauly, R. P., Rosche, F., Wermann, M., McIntosh, C. H. S., glucagon-like peptide-1 (GLP-1) in obese non-diabetic subjects, Pederson, R. A., and Demuth, H.-U. (1996) Investigation of Abstract #472. Diabetes 49 (Suppl. 1).
GIP1– 42 and GLP-1 7-36 degradation in vitro by dipeptidylpeptidase IV (DPIV) using Matrix-Assisted Laser Desorption/ 18. Wolf, B., Fischer, G., and Barth, A. (1978) [Kinetics of dipeptidyl- Ionization—Time of Flight Mass Spectrometry (MALDI-TOF peptidase IV] (German). Acta Biol. Med. Ger. 37, 409 – 420.
MS): A novel kinetic approach. J. Biol. Chem. 271, 23222–23229.
19. Hinke, S. A., Pospisilik, J. A., Demuth, H.-U., Mannhart, S., 9. Pederson, R. A., White, H. A., Schlenzig, D., Pauly, R. P., McIn- ¨ hn-Wache, K., Hoffmann, T., Nishimura, E., Pederson, R. A., tosh, C. H. S., and Demuth, H.-U. (1998) Improved glucose tol- and McIntosh, C. H. S. (2000) Dipeptidyl peptidase IV degrada- erance in zucker fatty rats by oral administration of the dipep- tion of glucagon: Characterization of glucagon degradation prod- tidyl peptidase IV inhibitor isoleucine thiazolidide. Diabetes 47,
ucts and DPIV resistant analogs. J. Biol. Chem. 275, 3827–3834.
20. Rosche, F., Schmidt, J., Hoffmann, T., Pauly, R. P., McIntosh, 10. Pauly, R. P., Demuth, H.-U., Rosche, F., Schmidt, J., White, C. H. S., Pederson, R. A., and Demuth, H. U. (2000) Kinetic H. A., Lynn, F., McIntosh, C. H. S., and Pederson, R. A. (1999) analysis of enzymatic and nonenzymatic degradation of peptides Improved glucose tolerance in rats treated with the dipeptidyl by MALDI-TOF MS. Methods Mol. Biol. 146, 251–272.
peptidase IV (CD26) inhibitor ile-thiazolidide. Metabolism 48,
21. Scheen, A. J. (1996) Clinical pharmacokinetics of metformin.
Clin. Pharmacokinet. 30, 359 –371.
11. Ahren, B., Holst, J. J., Martensson, H., and Balkan, B. (2000) 22. Lugari, R., Dell'Anna, C., Sarti, L., Coppi, S., Verlato, C. A., Improved glucose tolerance and insulin secretion by inhibition of Sbordone, P., Bianco, M., Gnudi, A., and Zandomeneghi, R.
dipeptidyl peptidase IV in mice. Eur. J. Pharmacol. 404, 239 –
(1998) Effects of metformin on intestinal and pancreatic endo- crine secretion in type 2 (non-insulin-dependent) diabetes. In 12. Deacon, C. F., Hughes, T. E., and Holst, J. J. (1998) Dipeptidyl Molecular and Cell Biology of Type 2 Diabetes and Its Compli- peptidase IV inhibition potentiates the insulinotropic effect of cations (Belfiore, F., Lorenzi, M., Molinatti, G. M., and Porta, M., glucagon-like peptides 1 in the anesthetized pig. Diabetes 47,
Eds.), pp. 161–163, Karger, Basel.
13. Balkan, B., Kwasnik, L., Miserendino, R., Holst, J. J., and Li, X.
23. Molloy, A. M., Ardill, J., and Tomkin, G. H. (1980) The effect of (1999) Inhibition of dipeptidyl peptidase IV with NVP-DPP728 metformin treatment on gastric acid secretion and gastrointes- increases plasma GLP-1 (7-36 amide) concentrations and im- tinal hormone levels in normal subjects. Diabetologia 19, 93–96.
proves oral glucose tolerance in obese Zucker rats. Diabetologia 24. Kieffer, T. J., and Habener, J. F. (1999) The glucagon-like pep- 42, 1324 –1331.
tides. Endocr. Rev. 20, 876 –913.
Source: http://www.cyclicamp.ca/pdfs/PDF%20Articles/Hinke2002BBRC.pdf
Ispdperitonitis.p65
Peritoneal Dialysis International, Vol. 20, pp. 396–411Printed in Canada. All rights reserved. Copyright © 2000 International Society for Peritoneal Dialysis ISPD GUIDELINES/RECOMMENDATIONS ADULT PERITONEAL DIALYSIS-RELATED PERITONITIS TREATMENT RECOMMENDATIONS: 2000 UPDATE William F. Keane,1 George R. Bailie,2 Elizabeth Boeschoten,3 Ram Gokal,4 Thomas A. Golper,5Clifford J. Holmes,
docent.hogent.be
J. Plant Physiol. 159. 567 – 584 (2002) Urban & Fischer Verlaghttp://www.urbanfischer.de/journals/jpp toxicity in higher plants: a critical review Division of Life Sciences, University of Toronto, 1265 Military Trail, Scarborough, Ontario M1C 1A4, CanadaReceived December 14, 2001 · Accepted February 22, 2002 Abstract 4 ) toxicity is an issue of global ecological and economic impo


The proposal will see the existing Woodthorpe Lodge, a non-designated heritage asset at the heart of the site south of Wakefield, converted and extended to house three new dwellings.
The 1,847m² scheme, described as 'a small settlement of architecturally designed dwellings', also includes three new detached houses, which will be built on the land surrounding the lodge.
Subject to approval, the project could start on site this September.
The layout is based on the principle of creating a small settlement of architecturally designed dwellings which address a central, organic centre to the site. The trees in the centre of the site create a natural focus around which the dwellings are loosely arranged. The wooded setting and green character of the site are to be preserved and enhanced.
Woodthorpe Lodge itself, which extends to more than 882m², is cleared of non-original additions and outbuildings. Internally the house is sensitively subdivided to retain the principal rooms, while two contemporary yet complementary extensions are added to the rear, in order to create three separate dwellings of a suitable size for today's market.
The architectural approach derives from study and assessment of the existing Victorian lodge; it's proportion, massing and, in particular, the rectilinear bay windows which characterise the principal elevation. All three new build houses have a central two-storey block with a pitched roof and a primary gable elevation visible on the approach to each dwelling. Each also features a flat-roofed secondary block which mirrors the architectural language of the Woodthorpe Lodge extensions.


text:
Q: Select event not fired on Google chart API for Sankey I'm trying to hook an event to a click on a Google Sankey diagram. The Events claim to include select but it doesn't fire on Chrome or Safari. onmouseover/onmouseout/ready seem to be hooked up if the event is switched in the code below -- I get something in the console log. That is switching the line:
google.visualization.events.addListener(chart, 'select', selectHandler);

to
google.visualization.events.addListener(chart, 'onmouseover', selectHandler);

shows the event listener is connected.
I've tried this on other newer chart types like word-trees and select is connected. What have I missed?
E.g.

A: You have to set correct options:
 // Sets chart options.
 var options = {
        width: 600,
        sankey: {
            node: {
                interactivity: true
            }
        }
    };

I used this example https://jsfiddle.net/5mvx6bdr/
Works perfect :)
sankey: node: interactivity is set to false by default.

A: I think the issue here is that you are using the getSelection method for the Sankey chart event which returns an object. That object contains the node in the chart that you clicked on but you need to query the object in the right way to extract this information. I don't think it is possible to do things in a single line as attempted in the question above.
This is what worked for me when I had the same problem:
google.visualization.events.addListener(chart, 'select', function(){
var selection = chart.getSelection();
for(var key in selection) {
        var value = selection[key];
    console.log(value.name);
    }
alert('you selected '+value.name);
});

A: The top answer did not work for me.
However, setting link interactivity to true did the trick.
var options = {
 sankey: {
   node: {
    interactivity: true,
    colors: this.colors
   },
   link: {
    interactivity: true
   }
  }
}


text:
Emerald Gives
Certifications Directory
IEQ Help
Materials Help
Achieve Net Zero Emissions
What does Net Zero Emissions mean for your business? Is it achievable? We can show you how!
Laura Steinbrink
Blog Topic:
The focus used to be on reducing emissions, but now, it's all about net zero emissions. We explain what's involved and how your business can help address the climate crisis.
With each passing quarter, more companies are responding to the demands of board members, employees, consumers, and the planet by setting goals of carbon neutrality and net zero emissions. As discussed in a recent blog, the 2015 Paris Climate Agreement already calls for governments around the world to peak emissions as soon as possible and achieve net greenhouse gas neutrality in the second half of this century. Earlier this year, General Motors announced its plan to shift away from fossil fuel-powered vehicles and produce only zero-emission cars and trucks by 2035, with full carbon neutrality being met by 2040. Ford reported an expansion of its climate change goals last year, including a target to become carbon neutral by 2050. In the field of aerospace and aviation, Boeing reached net zero carbon emissions at manufacturing and worksites last year through conservation practices, an expansion of renewable energy use, and responsibly offsetting its remaining greenhouse gas emissions. Whereas emission reduction goals may have been viewed as superfluous only a few years ago, in a world more attuned to climate impact, corporate development plans that do not explicitly address the climate crisis are increasingly being viewed by today's market as insufficient.
What is Net Zero?
As corporate climate goals are more frequently appearing in the headlines, you may be wondering--what exactly is net zero? Something becomes net zero when, at the end of a period of time, the amount of the item generated is equal to its offsetting removal. Many things can be calculated to net zero--from the calories you consume every day to items on a balance sheet. As it relates to climate, "net zero" is the balance between emissions produced and the amount removed, or sequestered, from the atmosphere. Note the difference between zero and net zero here--net zero allows some room for the production of emissions, as long as they are offset.
Carbon dioxide is the most prominent greenhouse gas emitted in our world today and ultimately is the most significant contributor to climate change. Consequently, it is also the greenhouse gas that is most often addressed when referring to net zero. Carbon emissions can be drawn down from the atmosphere in a variety of ways, including through the planting of new trees, regenerative agriculture, and direct air capture. Plus, new techniques and technologies are being developed every day to enhance our ability to sequester emissions.
LEED Zero Certifications
The United States Green Building Council (USGBC) now offers a certification program through Leadership in Energy and Environmental Design (LEED) known as LEED Zero--to not only help owners of existing buildings reach their goal of achieving net zero emissions, but to also apply a net zero framework to a variety of sustainability efforts:
LEED Zero Carbon recognizes net zero carbon emissions from energy consumption over a 12-month period, with a balance between the amount of carbon emitted and the amount of carbon avoided or offset.
LEED Zero Energy recognizes a source energy use balance of zero over a 12-month period. This requires a balance between the amount of energy used and the amount generated at a specific site. When a project generates enough energy on-site to offset the energy it consumes, we call it Net Zero Site Energy. When the source of energy used off-site is renewable, for example a wind farm, we call it Net Zero Source Energy.
LEED Zero Water recognizes a potable water use balance of zero over a 12-month period. This is achieved through capturing stormwater on-site and using it to offset uses of potable water--or by capturing and treating wastewater on-site and using it for other purposes to reduce the need for more potable water.
LEED Zero Waste recognizes buildings that achieve GBCI's TRUE Certification at the Platinum level.
It is important to note that the LEED Zero program serves as a complement to LEED Certification, and that buildings can be recognized for any one metric without necessarily being recognized for the others. Once approved, a building's LEED Zero recognition is valid for three years and then requires renewal.
Reaching Net Zero
As the urgency of the climate crisis becomes more acute, businesses will face mounting pressure to take responsibility for their environmental impact, and those that respond most effectively will be best positioned to succeed in the years to come. While the task of achieving net zero may seem daunting, the LEED Zero certification program offers a path for businesses to ensure they are minimizing their climate impact in a strategic and focused manner. Whether it is carbon emissions, water usage, waste, or other sustainability metrics, Emerald Built Environments is here to help your company identify the pathway most aligned with your goals and guide you through the process of LEED Zero certification.
Copyright © 2023 Emerald Built Environments. All Rights Reserved.


text:
Dumpstaphunk Jams Out at Tipitina's
09:18 May 03, 2016
Tipitina's started May 2016 on a funky note with a sold-out show featuring DJ Soul Sister, Jon Cleary and the Absolute Monster Gentlemen and Dumpstaphunk. Both Cleary and Dumpstaphunk played in the second weekend of the New Orleans Jazz and Heritage Festival.
DJ Soul Sister began the show with her well-known repertoire of old-school funk sounds. She seamlessly maneuvered from a Dr. John record; to James Brown as the crowd danced underneath a rhythmic light show. A DJ Soul Sister dance party was the perfect warm-up for what was to come.
Jon Cleary then took the stage with the Absolute Monster Gentlemen with AJ Hall on drums, Cornell Williams on bass and Derwin "Big D" Perkins on guitar. The band rocked the crowd, playing several numbers from Cleary's Grammy award winning album Go Go Juice including "Pump It Up," "Bringing Back the Home" and "Getcha Go Go Juice." During their cover of King Floyd's "Groove Me," Big D played a lengthy guitar solo with a graceful touch. The band closed their set with a lengthy version of "More Hipper," from their Jon Cleary and the Absolute Monster Gentlemen album. It began softly with Jon stepping back from the keyboard and picking up the cowbell. Big D played a soft guitar introduction before Jon took his place back on the keys and hammered out the track's heavy funky intro. The crowd, front to back, danced until the band cleared the stage.
The funky night only got funkier when Ivan Neville and Dumpstaphunk took the stage. The band crowded the stage with a three-piece horn section on top of the band's normal configuration. The band built off of Cleary's energy, rocking Tips from front to back and top to bottom. Halfway through their set, they brought out New Orleans legend Cyril Neville to sing The Meters' classic "People Say."