text:
package net.sourceforge.guacamole.net.auth.mysql;

import com.google.common.base.Preconditions;
import com.google.common.collect.Sets;
import com.google.inject.Inject;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.glyptodon.guacamole.GuacamoleClientException;
import org.glyptodon.guacamole.GuacamoleException;
import org.glyptodon.guacamole.GuacamoleSecurityException;
import org.glyptodon.guacamole.net.auth.Directory;
import org.glyptodon.guacamole.net.auth.User;
import net.sourceforge.guacamole.net.auth.mysql.dao.ConnectionGroupPermissionMapper;
import net.sourceforge.guacamole.net.auth.mysql.dao.ConnectionPermissionMapper;
import net.sourceforge.guacamole.net.auth.mysql.dao.SystemPermissionMapper;
import net.sourceforge.guacamole.net.auth.mysql.dao.UserPermissionMapper;
import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionGroupPermissionExample;
import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionGroupPermissionKey;
import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionPermissionExample;
import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionPermissionKey;
import net.sourceforge.guacamole.net.auth.mysql.model.SystemPermissionExample;
import net.sourceforge.guacamole.net.auth.mysql.model.SystemPermissionKey;
import net.sourceforge.guacamole.net.auth.mysql.model.UserPermissionExample;
import net.sourceforge.guacamole.net.auth.mysql.model.UserPermissionKey;
import net.sourceforge.guacamole.net.auth.mysql.service.ConnectionGroupService;
import net.sourceforge.guacamole.net.auth.mysql.service.ConnectionService;
import net.sourceforge.guacamole.net.auth.mysql.service.PermissionCheckService;
import net.sourceforge.guacamole.net.auth.mysql.service.UserService;
import org.glyptodon.guacamole.GuacamoleUnsupportedException;
import org.glyptodon.guacamole.net.auth.permission.ConnectionGroupPermission;
import org.glyptodon.guacamole.net.auth.permission.ConnectionPermission;
import org.glyptodon.guacamole.net.auth.permission.Permission;
import org.glyptodon.guacamole.net.auth.permission.SystemPermission;
import org.glyptodon.guacamole.net.auth.permission.UserPermission;
import org.mybatis.guice.transactional.Transactional;

/**
 * A MySQL based implementation of the User Directory.
 * @author James Muehlner
 */
public class UserDirectory implements Directory<String, User> {

    /**
     * The ID of the user who this user directory belongs to.
     * Access is based on his/her permission settings.
     */
    private int user_id;

    /**
     * Service for accessing users.
     */
    @Inject
    private UserService userService;

    /**
     * Service for accessing connections.
     */
    @Inject
    private ConnectionService connectionService;

    /**
     * Service for accessing connection groups.
     */
    @Inject
    private ConnectionGroupService connectionGroupService;

    /**
     * DAO for accessing user permissions, which will be injected.
     */
    @Inject
    private UserPermissionMapper userPermissionDAO;

    /**
     * DAO for accessing connection permissions, which will be injected.
     */
    @Inject
    private ConnectionPermissionMapper connectionPermissionDAO;

    /**
     * DAO for accessing connection group permissions, which will be injected.
     */
    @Inject
    private ConnectionGroupPermissionMapper connectionGroupPermissionDAO;

    /**
     * DAO for accessing system permissions, which will be injected.
     */
    @Inject
    private SystemPermissionMapper systemPermissionDAO;

    /**
     * Service for checking various permissions, which will be injected.
     */
    @Inject
    private PermissionCheckService permissionCheckService;

    /**
     * Set the user for this directory.
     *
     * @param user_id The ID of the user whose permissions define the visibility
     *                of other users in this directory.
     */
    public void init(int user_id) {
        this.user_id = user_id;
    }

    @Transactional
    @Override
    public org.glyptodon.guacamole.net.auth.User get(String identifier)
            throws GuacamoleException {

        // Get user
        MySQLUser user = userService.retrieveUser(identifier);

        if(user == null)
            return null;

        // Verify access is granted
        permissionCheckService.verifyUserAccess(this.user_id,
                user.getUserID(),
                MySQLConstants.USER_READ);

        // Return user
        return user;

    }

    @Transactional
    @Override
    public Set<String> getIdentifiers() throws GuacamoleException {
        return permissionCheckService.retrieveUsernames(user_id,
                MySQLConstants.USER_READ);
    }

    @Override
    @Transactional
    public void add(org.glyptodon.guacamole.net.auth.User object)
            throws GuacamoleException {

        String username = object.getUsername().trim();
        if(username.isEmpty())
            throw new GuacamoleClientException("The username cannot be blank.");

        // Verify current user has permission to create users
        permissionCheckService.verifySystemAccess(this.user_id,
                MySQLConstants.SYSTEM_USER_CREATE);
        Preconditions.checkNotNull(object);

        // Verify that no user already exists with this username.
        MySQLUser previousUser = userService.retrieveUser(username);
        if(previousUser != null)
            throw new GuacamoleClientException("That username is already in use.");

        // Create new user
        MySQLUser user = userService.createUser(username, object.getPassword());

        // Create permissions of new user in database
        createPermissions(user.getUserID(), object.getPermissions());

        // Give the current user full access to the newly created user.
        UserPermissionKey newUserPermission = new UserPermissionKey();
        newUserPermission.setUser_id(this.user_id);
        newUserPermission.setAffected_user_id(user.getUserID());

        // READ permission on new user
        newUserPermission.setPermission(MySQLConstants.USER_READ);
        userPermissionDAO.insert(newUserPermission);

        // UPDATE permission on new user
        newUserPermission.setPermission(MySQLConstants.USER_UPDATE);
        userPermissionDAO.insert(newUserPermission);

        // DELETE permission on new user
        newUserPermission.setPermission(MySQLConstants.USER_DELETE);
        userPermissionDAO.insert(newUserPermission);

        // ADMINISTER permission on new user
        newUserPermission.setPermission(MySQLConstants.USER_ADMINISTER);
        userPermissionDAO.insert(newUserPermission);

    }

    /**
     * Add the given permissions to the given user.
     *
     * @param user_id The ID of the user whose permissions should be updated.
     * @param permissions The permissions to add.
     * @throws GuacamoleException If an error occurs while updating the
     *                            permissions of the given user.
     */
    private void createPermissions(int user_id, Set<Permission> permissions) throws GuacamoleException {

        // Partition given permissions by permission type
        List<UserPermission> newUserPermissions = new ArrayList<UserPermission>();
        List<ConnectionPermission> newConnectionPermissions = new ArrayList<ConnectionPermission>();
        List<ConnectionGroupPermission> newConnectionGroupPermissions = new ArrayList<ConnectionGroupPermission>();
        List<SystemPermission> newSystemPermissions = new ArrayList<SystemPermission>();

        for (Permission permission : permissions) {

            if (permission instanceof UserPermission)
                newUserPermissions.add((UserPermission) permission);

            else if (permission instanceof ConnectionPermission)
                newConnectionPermissions.add((ConnectionPermission) permission);

            else if (permission instanceof ConnectionGroupPermission)
                newConnectionGroupPermissions.add((ConnectionGroupPermission) permission);

            else if (permission instanceof SystemPermission)
                newSystemPermissions.add((SystemPermission) permission);
        }

        // Create the new permissions
        createUserPermissions(user_id, newUserPermissions);
        createConnectionPermissions(user_id, newConnectionPermissions);
        createConnectionGroupPermissions(user_id, newConnectionGroupPermissions);
        createSystemPermissions(user_id, newSystemPermissions);

    }

    /**
     * Remove the given permissions from the given user.
     *
     * @param user_id The ID of the user whose permissions should be updated.
     * @param permissions The permissions to remove.
     * @throws GuacamoleException If an error occurs while updating the
     *                            permissions of the given user.
     */
    private void removePermissions(int user_id, Set<Permission> permissions)
            throws GuacamoleException {

        // Partition given permissions by permission type
        List<UserPermission> removedUserPermissions = new ArrayList<UserPermission>();
        List<ConnectionPermission> removedConnectionPermissions = new ArrayList<ConnectionPermission>();
        List<ConnectionGroupPermission> removedConnectionGroupPermissions = new ArrayList<ConnectionGroupPermission>();
        List<SystemPermission> removedSystemPermissions = new ArrayList<SystemPermission>();

        for (Permission permission : permissions) {

            if (permission instanceof UserPermission)
                removedUserPermissions.add((UserPermission) permission);

            else if (permission instanceof ConnectionPermission)
                removedConnectionPermissions.add((ConnectionPermission) permission);

            else if (permission instanceof ConnectionGroupPermission)
                removedConnectionGroupPermissions.add((ConnectionGroupPermission) permission);

            else if (permission instanceof SystemPermission)
                removedSystemPermissions.add((SystemPermission) permission);
        }

        // Delete the removed permissions.
        deleteUserPermissions(user_id, removedUserPermissions);
        deleteConnectionPermissions(user_id, removedConnectionPermissions);
        deleteConnectionGroupPermissions(user_id, removedConnectionGroupPermissions);
        deleteSystemPermissions(user_id, removedSystemPermissions);

    }

    /**
     * Create the given user permissions for the given user.
     *
     * @param user_id The ID of the user to change the permissions of.
     * @param permissions The new permissions the given user should have when
     *                    this operation completes.
     * @throws GuacamoleException If permission to alter the access permissions
     *                            of affected objects is denied.
     */
    private void createUserPermissions(int user_id,
            Collection<UserPermission> permissions)
            throws GuacamoleException {

        // If no permissions given, stop now
        if(permissions.isEmpty())
            return;

        // Get list of administerable user IDs
        List<Integer> administerableUserIDs =
            permissionCheckService.retrieveUserIDs(this.user_id,
                MySQLConstants.USER_ADMINISTER);

        // Get set of usernames corresponding to administerable users
        Map<String, Integer> administerableUsers =
                userService.translateUsernames(administerableUserIDs);

        // Insert all given permissions
        for (UserPermission permission : permissions) {

            // Get original ID
            Integer affected_id =
                    administerableUsers.get(permission.getObjectIdentifier());

            // Verify that the user actually has permission to administrate
            // every one of these users
            if (affected_id == null)
                throw new GuacamoleSecurityException(
                      "User #" + this.user_id
                    + " does not have permission to administrate user "
                    + permission.getObjectIdentifier());

            // Create new permission
            UserPermissionKey newPermission = new UserPermissionKey();
            newPermission.setUser_id(user_id);
            newPermission.setPermission(MySQLConstants.getUserConstant(permission.getType()));
            newPermission.setAffected_user_id(affected_id);
            userPermissionDAO.insert(newPermission);

         }

    }

    /**
     * Delete permissions having to do with users for a given user.
     *
     * @param user_id The ID of the user to change the permissions of.
     * @param permissions The permissions the given user should no longer have
     *                    when this operation completes.
     * @throws GuacamoleException If permission to alter the access permissions
     *                            of affected objects is denied.
     */
    private void deleteUserPermissions(int user_id,
            Collection<UserPermission> permissions)
            throws GuacamoleException {

        // If no permissions given, stop now
        if(permissions.isEmpty())
            return;

        // Get list of administerable user IDs
        List<Integer> administerableUserIDs =
            permissionCheckService.retrieveUserIDs(this.user_id,
                MySQLConstants.USER_ADMINISTER);

        // Get set of usernames corresponding to administerable users
        Map<String, Integer> administerableUsers =
                userService.translateUsernames(administerableUserIDs);

        // Delete requested permissions
        for (UserPermission permission : permissions) {

            // Get original ID
            Integer affected_id =
                    administerableUsers.get(permission.getObjectIdentifier());

            // Verify that the user actually has permission to administrate
            // every one of these users
            if (affected_id == null)
                throw new GuacamoleSecurityException(
                      "User #" + this.user_id
                    + " does not have permission to administrate user "
                    + permission.getObjectIdentifier());

            // Delete requested permission
            UserPermissionExample userPermissionExample = new UserPermissionExample();
            userPermissionExample.createCriteria()
                .andUser_idEqualTo(user_id)
                .andPermissionEqualTo(MySQLConstants.getUserConstant(permission.getType()))
                .andAffected_user_idEqualTo(affected_id);
            userPermissionDAO.deleteByExample(userPermissionExample);

        }

    }

    /**
     * Create any new permissions having to do with connections for a given
     * user.
     *
     * @param user_id The ID of the user to assign or remove permissions from.
     * @param permissions The new permissions the user should have after this
     *                    operation completes.
     * @throws GuacamoleException If permission to alter the access permissions
     *                            of affected objects is deniedD
     */
    private void createConnectionPermissions(int user_id,
            Collection<ConnectionPermission> permissions)
            throws GuacamoleException {

        // If no permissions given, stop now
        if(permissions.isEmpty())
            return;

        // Get list of administerable connection IDs
        Set<Integer> administerableConnectionIDs = Sets.<Integer>newHashSet(
            permissionCheckService.retrieveConnectionIDs(this.user_id,
                MySQLConstants.CONNECTION_ADMINISTER));

        // Insert all given permissions
        for (ConnectionPermission permission : permissions) {

            // Get original ID
            Integer connection_id = Integer.valueOf(permission.getObjectIdentifier());

            // Throw exception if permission to administer this connection
            // is not granted
            if (!administerableConnectionIDs.contains(connection_id))
                throw new GuacamoleSecurityException(
                      "User #" + this.user_id
                    + " does not have permission to administrate connection "
                    + permission.getObjectIdentifier());

            // Create new permission
            ConnectionPermissionKey newPermission = new ConnectionPermissionKey();
            newPermission.setUser_id(user_id);
            newPermission.setPermission(MySQLConstants.getConnectionConstant(permission.getType()));
            newPermission.setConnection_id(connection_id);
            connectionPermissionDAO.insert(newPermission);

        }
    }

    /**
     * Create any new permissions having to do with connection groups
     * for a given user.
     *
     * @param user_id The ID of the user to assign or remove permissions from.
     * @param permissions The new permissions the user should have after this
     *                    operation completes.
     * @throws GuacamoleException If permission to alter the access permissions
     *                            of affected objects is deniedD
     */
    private void createConnectionGroupPermissions(int user_id,
            Collection<ConnectionGroupPermission> permissions)
            throws GuacamoleException {

        // If no permissions given, stop now
        if(permissions.isEmpty())
            return;

        // Get list of administerable connection group IDs
        Set<Integer> administerableConnectionGroupIDs = Sets.<Integer>newHashSet(
            permissionCheckService.retrieveConnectionGroupIDs(this.user_id,
                MySQLConstants.CONNECTION_GROUP_ADMINISTER));

        // Insert all given permissions
        for (ConnectionGroupPermission permission : permissions) {

            // Get original ID
            Integer connection_group_id = Integer.valueOf(permission.getObjectIdentifier());

            // Throw exception if permission to administer this connection group
            // is not granted
            if (!administerableConnectionGroupIDs.contains(connection_group_id))
                throw new GuacamoleSecurityException(
                      "User #" + this.user_id
                    + " does not have permission to administrate connection group"
                    + permission.getObjectIdentifier());

            // Create new permission
            ConnectionGroupPermissionKey newPermission = new ConnectionGroupPermissionKey();
            newPermission.setUser_id(user_id);
            newPermission.setPermission(MySQLConstants.getConnectionGroupConstant(permission.getType()));
            newPermission.setConnection_group_id(connection_group_id);
            connectionGroupPermissionDAO.insert(newPermission);

        }
    }

    /**
     * Delete permissions having to do with connections for a given user.
     *
     * @param user_id The ID of the user to change the permissions of.
     * @param permissions The permissions the given user should no longer have
     *                    when this operation completes.
     * @throws GuacamoleException If permission to alter the access permissions
     *                            of affected objects is denied.
     */
    private void deleteConnectionPermissions(int user_id,
            Collection<ConnectionPermission> permissions)
            throws GuacamoleException {

        // If no permissions given, stop now
        if(permissions.isEmpty())
            return;

        // Get list of administerable connection IDs
        Set<Integer> administerableConnectionIDs = Sets.<Integer>newHashSet(
            permissionCheckService.retrieveConnectionIDs(this.user_id,
                MySQLConstants.CONNECTION_ADMINISTER));

        // Delete requested permissions
        for (ConnectionPermission permission : permissions) {

            // Get original ID
            Integer connection_id = Integer.valueOf(permission.getObjectIdentifier());

            // Verify that the user actually has permission to administrate
            // every one of these connections
            if (!administerableConnectionIDs.contains(connection_id))
                throw new GuacamoleSecurityException(
                      "User #" + this.user_id
                    + " does not have permission to administrate connection "
                    + permission.getObjectIdentifier());

            ConnectionPermissionExample connectionPermissionExample = new ConnectionPermissionExample();
            connectionPermissionExample.createCriteria()
                .andUser_idEqualTo(user_id)
                .andPermissionEqualTo(MySQLConstants.getConnectionConstant(permission.getType()))
                .andConnection_idEqualTo(connection_id);
            connectionPermissionDAO.deleteByExample(connectionPermissionExample);

        }

    }

    /**
     * Delete permissions having to do with connection groups for a given user.
     *
     * @param user_id The ID of the user to change the permissions of.
     * @param permissions The permissions the given user should no longer have
     *                    when this operation completes.
     * @throws GuacamoleException If permission to alter the access permissions
     *                            of affected objects is denied.
     */
    private void deleteConnectionGroupPermissions(int user_id,
            Collection<ConnectionGroupPermission> permissions)
            throws GuacamoleException {

        // If no permissions given, stop now
        if(permissions.isEmpty())
            return;

        // Get list of administerable connection group IDs
        Set<Integer> administerableConnectionGroupIDs = Sets.<Integer>newHashSet(
            permissionCheckService.retrieveConnectionGroupIDs(this.user_id,
                MySQLConstants.CONNECTION_GROUP_ADMINISTER));

        // Delete requested permissions
        for (ConnectionGroupPermission permission : permissions) {

            // Get original ID
            Integer connection_group_id = Integer.valueOf(permission.getObjectIdentifier());

            // Verify that the user actually has permission to administrate
            // every one of these connection groups
            if (!administerableConnectionGroupIDs.contains(connection_group_id))
                throw new GuacamoleSecurityException(
                      "User #" + this.user_id
                    + " does not have permission to administrate connection group"
                    + permission.getObjectIdentifier());

            ConnectionGroupPermissionExample connectionGroupPermissionExample = new ConnectionGroupPermissionExample();
            connectionGroupPermissionExample.createCriteria()
                .andUser_idEqualTo(user_id)
                .andPermissionEqualTo(MySQLConstants.getConnectionGroupConstant(permission.getType()))
                .andConnection_group_idEqualTo(connection_group_id);
            connectionGroupPermissionDAO.deleteByExample(connectionGroupPermissionExample);

        }

    }

    /**
     * Create any new system permissions for a given user. All permissions in
     * the given list will be inserted.
     *
     * @param user_id The ID of the user whose permissions should be updated.
     * @param permissions The new system permissions that the given user should
     *                    have when this operation completes.
     * @throws GuacamoleException If permission to administer system permissions
     *                            is denied.
     */
    private void createSystemPermissions(int user_id,
            Collection<SystemPermission> permissions) throws GuacamoleException {

        // If no permissions given, stop now
        if(permissions.isEmpty())
            return;

        // Only a system administrator can add system permissions.
        permissionCheckService.verifySystemAccess(
                this.user_id, SystemPermission.Type.ADMINISTER.name());

        // Insert all requested permissions
        for (SystemPermission permission : permissions) {

            // Insert permission
            SystemPermissionKey newSystemPermission = new SystemPermissionKey();
            newSystemPermission.setUser_id(user_id);
            newSystemPermission.setPermission(MySQLConstants.getSystemConstant(permission.getType()));
            systemPermissionDAO.insert(newSystemPermission);

        }

    }

    /**
     * Delete system permissions for a given user. All permissions in
     * the given list will be removed from the user.
     *
     * @param user_id The ID of the user whose permissions should be updated.
     * @param permissions The permissions the given user should no longer have
     *                    when this operation completes.
     * @throws GuacamoleException If the permissions specified could not be
     *                            removed due to system restrictions.
     */
    private void deleteSystemPermissions(int user_id,
            Collection<SystemPermission> permissions)
            throws GuacamoleException {

        // If no permissions given, stop now
        if (permissions.isEmpty())
            return;

        // Prevent self-de-adminifying
        if (user_id == this.user_id)
            throw new GuacamoleUnsupportedException("Removing your own administrative permissions is not allowed.");

        // Build list of requested system permissions
        List<String> systemPermissionTypes = new ArrayList<String>();
        for (SystemPermission permission : permissions)
            systemPermissionTypes.add(MySQLConstants.getSystemConstant(permission.getType()));

        // Delete the requested system permissions for this user
        SystemPermissionExample systemPermissionExample = new SystemPermissionExample();
        systemPermissionExample.createCriteria().andUser_idEqualTo(user_id)
                .andPermissionIn(systemPermissionTypes);
        systemPermissionDAO.deleteByExample(systemPermissionExample);

    }

    @Override
    @Transactional
    public void update(org.glyptodon.guacamole.net.auth.User object)
            throws GuacamoleException {

        // If user not actually from this auth provider, we can't handle updated
        // permissions.
        if (!(object instanceof MySQLUser))
            throw new GuacamoleUnsupportedException("User not from database.");

        MySQLUser mySQLUser = (MySQLUser) object;

        // Validate permission to update this user is granted
        permissionCheckService.verifyUserAccess(this.user_id,
                mySQLUser.getUserID(),
                MySQLConstants.USER_UPDATE);

        // Update the user in the database
        userService.updateUser(mySQLUser);

        // Update permissions in database
        createPermissions(mySQLUser.getUserID(), mySQLUser.getNewPermissions());
        removePermissions(mySQLUser.getUserID(), mySQLUser.getRemovedPermissions());

        // The appropriate permissions have been inserted and deleted, so
        // reset the new and removed permission sets.
        mySQLUser.resetPermissions();

    }

    @Override
    @Transactional
    public void remove(String identifier) throws GuacamoleException {

        // Get user pending deletion
        MySQLUser user = userService.retrieveUser(identifier);

        // Prevent self-deletion
        if (user.getUserID() == this.user_id)
            throw new GuacamoleUnsupportedException("Deleting your own user is not allowed.");

        // Validate current user has permission to remove the specified user
        permissionCheckService.verifyUserAccess(this.user_id,
                user.getUserID(),
                MySQLConstants.USER_DELETE);

        // Delete specified user
        userService.deleteUser(user.getUserID());

    }

    @Override
    public void move(String identifier, Directory<String, User> groupIdentifier)
            throws GuacamoleException {
        throw new GuacamoleSecurityException("Permission denied.");
    }

}


Schleicher Electronic Engineering GmbH is a company of the Schleicher Group in Berlin. As a specialist for industrial automation, the engineering team is a successful service provider for the development and application of innovative products in industrial electronics. A particular focus is on the design of hardware and software for functional safety. The products developed by Schleicher Engineering are used worldwide as devices of the manufacturing industry, railway technology and in the environmental sector.


In one twenty-four-hour period, I ran into two families who pretty much hate me. Once upon a time we had been friends. These encounters weren't the first time I've seen these people, but, ironically, my personal devotion that day had been from Luke 6 about loving our enemies.
I don't believe in coincidences. I believe in a loving, sovereign God who has a way of dealing with my heart. If I know anything (and sometimes I wonder if I do), I know that God is far more committed to my character than He is to my comfort.
The good news—I didn't feel anger or hate toward these people. I wasn't anxious or afraid. But I did feel pain and the angst of loss.
Not what I wanted or expected to hear from God.
You've heard it, and I've taught it: Be thankful in everything but not necessarily thankful for everything.
Yes, I'm supposed to be thankful in all things regardless of the good, the bad, or the ugly in my life. (Did someone just whistle?) But I don't have to be thankful for cancer or for any other horrible thing that's happened.
Thankfulness in all circumstances does not mean gratefulness for all circumstances. Thankful in but not always thankful for is good theology.
My enemy provides an opportunity for me to love the unlovely even as God has loved me.
My enemy provides a path for personal blessing. I get blessed by God when I love the haters, and I can rejoice in a reward that will someday be mine in heaven.
My enemy provides a profound opportunity for me to practice the golden rule.
My enemy provides me with a chance to be more like my Father, who is kind and merciful to the ungrateful and wicked.
By the way, all of the above can be found in Luke 6 (you should click on this link and read verses 22-36).
Of course, we are supposed to love everyone, but why should you and I be thankful for those who curse and hate us?
Because our enemies help us to grow.
Being thankful for those who hate me changes my fear about them or my frustration with them into a radically different perspective.
My enemy is a gift. A gift I can be thankful for.
Didn't see that one coming, but I'm glad I did.
Ha Ha, John! Love it. Love you buddy.
When we take the mindset behind this verse, and apply it to any enemies that we face instead of friends, I believe that spiritual growth or maturity is the end result. Well, at least to a certain extent.
Great insight, Brian, thanks for adding to the conversation. Blessings!
I'm right there right now and it's been hard to come to church feeling the shame. How can God and his people love me when one of my closest family members and family have chosen to disowned and reject me for the rest of my life? Your messages have been a comfort to me. I've grown more through this experience so I have to be thankful for this. I still pray for reconciliation, but it's healing to hear that I'm not alone in this experience.
Hi Judy, it's hard not to believe the lies we are told (and sometimes tell ourselves)… I'm so sorry for the relational conflict you're experiencing with your family. Know I am praying for you right now. Know too…you are loved…no matter what. Blessings.
Wow. The line "God is more interested in my character than my comfort" really stood out & spoke to me!
Hard stuff but God told me years ago not only to forgive but to bless.
Not an original line/thought of mine, but very good…it's always character over comfort. Love you!
Very good words to live by, especially in today's negative climate. God loves us all. Amen!
Thank you, Mari. You're right, especially applicable now and in these times.
Kurt … Outstanding insight. It hurts when God starts chipping away from us those things that don't look like Jesus.
I'm a slow learner unfortunately.
Then there are those precious times I've perceived someone to be against me and I had the wrong messages floating around my gray matter.
Thank you, Ron. Have a great Thanksgiving!


Mumbai: Domestic equities declined for the second day as the BSE benchmark Sensex Thursday fell over 100 points on weak global cues and heavy selling by foreign and domestic institutional investors.
The 30-share index was trading 103.90 points, or 0.29 per cent, lower at 35,787.62 in morning trade.
Similarly, the NSE Nifty declined by 28.85 points, or 0.27 per cent, to 10,763.65. On Wednesday, the BSE Sensex finished lower by 363.05 points, or 1 per cent, at 35,891.52; and the NSE Nifty plunged 117.60 points, or 1.08 per cent, to settle at 10,792.50.
Among gainers were Hero MotoCorp, HUL, Infosys, Bajaj Finance and Tata Motors, rising up to 1 per cent.
Market turned volatile ahead of corporate earnings scheduled to begin next week, traders said, adding that heavy selling by foreign as well as domestic investors also weighed on local equities.
On a net basis, foreign portfolio investors (FPIs) sold shares worth Rs 621.06 crore Wednesday, while domestic institutional investors (DIIs) were net sellers to the tune of Rs 226.18 crore, provisional data available with BSE showed.
Globally, investor sentiment also turned choppy after the White House meeting between US President Donald Trump and top Congressional leaders on resolving the ongoing partial government shutdown ended in a stalemate Wednesday.
The Republicans and Democrats stuck to their respective positions over the presidential demand for a US-Mexico border wall.
Trump is seeking USD 5.2 billion in funding for the wall which according to him is a must to prevent flow of illegal immigrants into the US. On Wall Street, Dow Jones Industrial Average reversed all early gains after Apple cut its holiday-quarter revenue forecast, and ended a tad higher at 23,346.24 points.
Elsewhere in Asia, Hong Kong's Hang Seng was down 0.36 per cent, Kospi fell 0.25 per cent and Shanghai Composite Index was trading flat in early trade. Japanese market remained closed on Wednesday.
The rupee weakened further and opened lower at 70.30 against the US dollar. Meanwhile, the benchmark Brent crude futures were trading lower by 1.09 per cent at USD 54.31 per barrel.


text:
Q: How do you set -DargLine system property inside MAVEN_OPTS environment variable? I'm using maven and have a list of system properties -DA=alpha, -DB=beta -DS=random_stuff that I want to pass down to unit tests when maven runs, and which cannot go into the pom files.
Surefire and Failsafe plugins both basically say you can pass values down to tests by passing them via the -DargLine system property.
Usually it's defined in the pom.xml, e.g.
<argLine>-DA=alpha -DB=beta -DS=random_stuff</argLine>

But I have also seen examples where -DargLine=... was passed in from the command line.
I believe that I need to put quotes around the system properties I want to pass in via argLine, as they are space separated:
-DargLine="-DA=alpha -DB=beta -DS=random_stuff"

And now I want to pass them in via the MAVEN_OPTS environment variable (which also "carries" other system properties, not just argLine). What I have so far is:
MAVEN_OPTS="-Dxyz=abc ... -DargLine=\"-DA=alpha -DB=beta -DS=random_stuff\""

In other words, I escaped argLine's quotes. Unfortunately, the end quote is now treated as part of -DS's value, i.e. S now gets replaced by random_stuff" - not what I want.
How can I do what I want to do, i.e. make sure A, B, and S are passed in as part of argLine, and pass argLine through as part of MAVEN_OPTS?
P.S.: I also tired inner single quotes (equally unusable result: some_stuff') and unescaped inner double quotes (MAVEN_OPTS=" ... -DargLine="-DA=alpha ..."", resulting in errors when trying to source .bash_profile), both unsuccessfully...

redpajama_set_name: RedPajamaStackExchange


text:
Search results for University of Montana, Mansfield Library, Archives and Special Collections
Missoula (Mont.)--Politics and government--20th century(Remove)
University of Montana, Mansfield Library, Archives and Special Collections (5)
Burlington Northern Railroad Company (1) Fletcher, John, 1948, interviewee (1) McGrath, Jim, 1958, interviewee (1) Missoula (Mont.). City Council (1) Missoula (Mont.)--City Council (1) Missoula Chamber of Commerce (1) Montana Rail Link (1) New Party (Missoula, Mont.) (1) Rowan, Jack, interviewer (1) Smith, Judy, 1944, interviewee (1) Torma, John, 1947, Interviewee (1) University Area Homeowners' Association (Missoula, Mont.) (1)
Political participation--Montana--Missoula (4) Elections--Montana--Missoula (2) Living wage movement--Montana--Missoula (2) Political parties--Montana--Missoula (2) Boards of trade--Montana--Missoula (1) Cities and towns--Montana--Missoula--Growth--Management (1) Citizens' associations--Montana--Missoula (1) City councils--Montana --Missoula (1) Elections--Montana (1) Electronic voting--Montana--Missoula (1) Footbridges--Montana--Missoula (1) Homeowners' associations--Montana--Missoula. (1) Housing--Montana--Missoula (1) Local Government--Montana (1) Metropolitan government--Montana (1) Open spaces--Montana--Missoula (1) Pedestrians--Services for -- Montana--Missoula (1) Political activists--Montana--Missoula--Interviews (1) Railroads--Montana--Missoula--Crossings (1) Schools--Centralization--Montana--Missoula (1) Social planning--Montana--Missoula (1) Women in politics--Montana--Missoula (1) Women political activists--Montana--Missoula--Interviews (1) Women political candidates--Montana--Missoula (1) Women--Montana--Missoula--Societies and clubs (1)
Administrative records--Montana--Missoula (1) Interviews--Montana (1) Newsletters--Montana--Missoula (1) Oral histories--Montana (1) Research (document genres)--Montana--Missoula (1) Scrapbooks--Montana--Missoula (1) Sound Recording (1) Sound recordings--Montana--Missoula (1)
League of Women Voters of Missoula Records
Repository: University of Montana, Mansfield Library, Archives and Special Collections
Summary: The League of Women Voters of Missoula, Inc. in Missoula, Montana is a non-partisan research group established in 1952 and still active. The goal of the League of Women Voters of Missoula is to promote political responsibility through informed and active participation of citizens in government. The League focuses on informing the local community and League members of community environmental, social and political issues using local studies, group discussions and publications.
Missoula New Party oral history project
Summary: The four interviewees recorded in 2005 and 2006 by interviewer, Jack Rowan, discuss the New Party in Missoula, Montana. They discuss its beginnings, activities, challenges and eventual demise.
Missoula New Party Records
Summary: The Missoula New Party was a progressive political organization formed in the spring of 1993 by a group of Missoula, Montana citizens who were motivated to move the political system in a more progressive direction by creating a third party option to the existing two party system. Materials in this collection document the organization's main functions and activities, including electoral campaigns at the local and state level, as well as a number of issue-based campaigns directing at changing policy. The records in the collection document the relationship between the local chapter and the national New Party organization, local grassroots efforts to engage and grow a third political party movement, and significant issues in progressive politics during the 1990s.
Northside Neighborhood Association (Missoula, Mont.) Records
Summary: The Northside Neighborhood Association (NNA) was a community-based organization that worked through the Missoula City Council to solve the problem of pedestrian access to the Northside, which is separated from the rest of Missoula, Montana, by numerous railroad tracks. The collection contains correspondence between Montana Rail Link and the Northside Neighborhood Association from 1992.
Kay M. Thompson papers
Summary: Campaign correspondence, news releases and campaign materials for Missoula, Montana, resident Kay Thompson's primary campaign for the United States House of Representatives, 1972. Drafts and copies of her publication "Never write your Congressman – send Him a check" make up a large portion of the collection.

redpajama_set_name: RedPajamaCommonCrawl


At the checkout, let the customers opt for a physical store to pick up their orders.
Automatically generate a new page with pinned locations of your physical stores on Google Maps.
Easily assign what your products are available in each store.
Keep the shoppers informed ― provide store contact details, address, directions from the customer's current location, etc.
Automatically detect the customers' location to make the most relevant in-store pickup suggestions.
Effortlessly get/edit/delete/transfer any store-related data to improve info management.
What is Store Locator & In-store Pickup extension for?
Optimize shipping budgets in your eCommerce store by introducing a new expedient delivery method – in-store pickup. Use an SEO-optimized page with Google Maps functionality to let the customers pick up the most convenient offline locations and check products availability in them.
The extension support and updates are FREE for life.
In-store pick up helps save on shipping costs, it improves the average order value and overall sales by attracting more foot traffic to your brick-and-mortar stores.
Currently, 'Buy Online, Pickup In-Store' is a mainstream functionality, which has been used by 67% of the KIBO survey participants in the past six months.
Make your physical shops a valuable asset! Introduce in-store pickup functionality as an additional flexible fulfillment option.
Wish to leverage your new and existing store locations in a new way? One of the advanced means would be introducing the convenience of click-and-collect functionality on a separate page.
The extension allows you to effortlessly generate a separate page with pinned locations of an unlimited number of physical shops on Google Maps, as well as add a customizable pop-up with stores details. This will enable shoppers to select the most convenient location for an order pickup.
The harmonic design is vital for a well-established online business. With that regard, the introduction of 3rd party functionality that doesn't match the site's concept can bring significant disorders to the held look and feel.
With the add-on, you get to enjoy multiple 'Find a store' customization options and easily preview the applied changes right from the backend. This allows for creating a beautiful mobile-friendly 'Find a store' page for in-store pickup functionality that meets your store's design to the full.
The flawless customer shopping experience is a must in the growing competition. Why not offer all the critical physical stores' data all-in-one place? By keeping info on products availability, stores' working hours and contact details, you get to create the first-class convenience.
Make your physical shops better accessible! With the extension, you get to bring more convenience for the shoppers by providing all the critical brick-and-mortar stores data ― and effortlessly manage all the vital stores' information.
Specifying store details: phone number, website URL, etc.
Would you like to offer specific products for in-store pickup? Feel like assigning items manually or need to set conditions to make specific offering available for in-store pickup at specific locations?
Advanced products availability management would be required to successfully achieve your business and marketing objectives.
With the extension, in-store products availability management becomes easy and intuitive. Starting with a possibility to make either all or specific products available for collection and ending with an ability to customize block markers and items unavailability message.
Customers enjoy flexibility. Why not give them more shipping options to choose from? Why not get the best use of an additional chance to provide an exceptional face-to-face customer experience during order pickup? This kind of flexibility can surely help you get noticed in the competition.
TThe click-and-collect functionality brings your customers the convenience to choose what they want, when they want it and how they can get it ― flawlessly and conveniently.
Shop details right on the map: working hours, social & website links, etc.
Automatic detection of the customers' location and its display help bring more convenience for online shoppers.
By default, GeoIP functionality is unavailable in Magento 2.
The Store Locator & In-Store Pickup extension automatically detects the customers' location, thus allowing the shoppers to conveniently find the most convenient brick-and-mortar store for order collection.
Today, the ability to effectively handle data operations is incredibly crucial for a well-operating Magento 2 business. That's where API support would be handy.
The extension's API support helps introduce the ease of collecting and aggregating store-related data. This introduces the convenience of data flow management.
manage in-store pickup method as one of Magento 2 standard methods: change the title, set price, select applicable countries to make this method available for, etc.
choose the stores when creating orders from the back-end.
add all or specific products available in your stores.
display a custom message if a product is not available for in-store pickup.
get direction from the customers' recent location to a selected physical store.
The extension helps automatically detect your customers' location using MaxMind GeoIP functionality.
admin can choose the stores when creating orders from the back-end.
delete all the old store products and add the new ones.


text:
Expert Help and Training for Substance Use Disorder
Addiction Technology Transfer Center Network (ATTC)
Consists of a network of 10 regional centers, a central coordinating office, a National Hispanic and Latino ATTC, and a National American Indian and Alaska Native ATTC working in addiction treatment and recovery services. Promotes awareness and new and evidence-based practices and services for the treatment of opioid use disorder (OUD) and substance use disorders (SUDs). Facilitates the adoption of new technology by addiction treatment and recovery service providers. Offers education, training, resources, and information for the behavioral healthcare workforce in rural areas.
AIDS Education and Training Center Program: National Coordinating Resource Center (AETC-NCRC)
Offers online training resources, technical assistance, capacity building support, and other services to help clinicians, clinics, and health systems provide high-quality HIV/AIDS care. Helps increase the number of healthcare professionals able and willing to offer effective counseling, diagnostic, treatment, mental health, and substance abuse services to people living with or at risk of contracting HIV.
Sponsor: HIV/AIDS Bureau (HAB)
Fletcher Group Rural Center of Excellence (RCOE)
Provides technical assistance to help establish and expand recovery housing services and evidence-based treatment and prevention programs in over 100 counties highly impacted by substance use disorders (SUD) in Kentucky, Ohio, West Virginia, Georgia, Tennessee, Mississippi, Washington, Oregon, Montana, and Idaho. The Fletcher Group RCOE is one of the Rural Centers of Excellence on Substance Use Disorders funded through HRSA's Rural Communities Opioid Response Program (RCORP).
Historically Black Colleges and Universities (HBCU) C.A.R.E.S. Center for Excellence in Behavioral Health
Supports historically black colleges and universities (HBCUs) in efforts to increase the number of racial and ethnic minority students entering behavioral health fields, including careers related to the treatment of substance use disorders (SUDs) and co-occurring mental health disorders (CODs). Helps students discover and access behavioral health as an area of study and behavioral health career opportunities. Raises awareness of inequities and health disparities among minority and marginalized communities affected by substance use and mental illness.
Mental Health Technology Transfer Center Network (MHTTC)
Consists of a network of 10 regional resource centers, a central coordinating office, a National Hispanic and Latino MHTTC, and a National American Indian and Alaska Native MHTTC that provide support to individuals and organizations working in the mental health field. Aims to raise the knowledge and skill base of the mental health workforce and promote the implementation of new and evidence-based practices for a full range of mental health prevention, treatment, and recovery services. Offers a variety of education, training, resources, and information, with focus areas that include rural mental health; early childhood, youth, and young adults; suicide prevention; culturally informed practices; population-based approaches; and more.
National Center for Pyramid Model Innovations (NCPMI)
Provides technical assistance to improve and support state systems and local programs implementing the Pyramid Model for Supporting Social Emotional Competence in Infants and Young Children (Pyramid Model) to improve the social, emotional, and behavioral outcomes of young children with, and at risk for, developmental disabilities or delays. Works with early childhood programs to reduce the use of inappropriate discipline practices, promote family engagement, use data for decision-making, integrate early childhood and infant mental health consultation and foster inclusion.
National Center on Safe Supportive Learning Environments (NCSSLE)
Delivers information, resources, technical assistance, and training to K-12 schools and institutions of higher learning to assess school climate, implement evidence-based programs to improve learning conditions, and measure outcomes in three core areas: providing a well-rounded education, improving the safety and health of students, and improving the effective use of technology. Offers multiple products, policy guides, toolkits, research, media, online events and training related to issues of substance and opioid abuse for students, families, schools, and communities.
National Clinician Consultation Center (NCCC)
Provides healthcare providers with free and confidential consultation services and clinical resources on HIV/AIDS-related topics, such as testing, prevention, treatment, and post-exposure prophylaxis (PEP). Includes online and phone-based advice from leading clinicians with expert knowledge on managing HIV/AIDS, perinatal HIV, hepatitis C, pre-exposure prophylaxis (PrEP), substance use, and exposure to bloodborne pathogens.
Consists of a network of community-based organizations working to eliminate behavioral health disparities and reduce mental health and substance use problems for racial and ethnic communities. Aims to achieve behavioral health equity by providing links to training, technical assistance, professional development opportunities, and information sharing to address the opioid epidemic, trauma, and other concerns related to substance abuse.
Opioid Response Network State Targeted Response Technical Assistance (STR-TA) Consortium
Provides free training, education, and technical assistance to increase access for communities to evidence-based practices for opioid use disorder (OUD) prevention, treatment, and recovery services. Connects community members with local technology specialists who are qualified to implement evidence-based practices.
Positive Behavioral Interventions and Supports (PBIS) Technical Assistance Center
Assists schools and school districts with the implementation of a Positive Behavioral Interventions and Supports (PBIS) framework to improving students' social, emotional, and physical well-being, reducing disruptive behavior, and creating a positive learning environment. Uses a multi-tiered framework that reaches all students while allowing for more focused intervention and support for at-risk students and students with disabilities. Includes resources and blueprints for implementing school-wide responses to the opioid crisis and substance abuse. Offers direct onsite technical assistance to district and state leadership teams as well as indirect assistance through online resources, national and regional conferences, and collaborations with other technical assistance centers and organizations.
Prevention Technology Transfer Center Network (PTTC)
Consists of a network of 10 regional resource centers, a central coordinating office, a National Hispanic and Latino PTTC, and a National American Indian and Alaska Native PTTC that work to support effective substance use prevention interventions. Develops and disseminates education, training, resources, and information to raise awareness and promote the implementation of evidence-based prevention practices. Facilitates the adoption of new technology by individuals and organizations working in the field of substance use prevention. PTTC focus areas include community coalitions and collaborators; culturally and linguistically appropriate practices; data-informed decisions; evidence-based interventions; marijuana risk; opioid education; and workforce development.
Providers Clinical Support System - Medication Assisted Treatment (PCSS-MAT)
Offers healthcare professionals evidence-based training, education, and resources to treat patients with opioid use disorder (OUD). Provides free medication-assisted treatment (MAT) training for physicians (MD or DO), physician assistants (PA), advanced practice registered nurses (NP, CNM, CNS, or CRNA), and medical students. Training is available online or in-person.
Readiness and Emergency Management for Schools (REMS) Technical Assistance Center
Offers support services, technical assistance, information, and training to K-12 schools and institutions of higher education to help strengthen their emergency preparedness. Includes information and resources on the development of emergency operation plans, including how to prepare for opioid-related emergencies and support students dealing with substance use issues in rural and urban areas.
University of Rochester Medicine Recovery Center of Excellence (RCOE)
Offers technical assistance and information resources to help rural communities identify and implement evidence-based practices to reduce negative outcomes related to substance use disorder (SUD), including the use of synthetic opioids. Provides assistance to communities nationwide while partnering with 20 specific high-need Appalachian counties in Kentucky, New York, Ohio, and West Virginia to combat the opioid crisis. The UR Medicine RCOE is one of the Rural Centers of Excellence on Substance Use Disorders funded through HRSA's Rural Communities Opioid Response Program (RCORP).
University of Vermont Center on Rural Addiction (CORA)
Supports capacity building efforts for the prevention and treatment of substance use disorders (SUD) in rural counties of Vermont, Maine, and New Hampshire disproportionately affected by SUD. Utilizes innovative technology and telehealth strategies to identify real-time needs in communities, disseminate education and resources on evidence-based approaches, and provide ongoing training and technical assistance to providers in order to more effectively address the needs of individuals with SUD and related issues. CORA is one of the Rural Centers of Excellence on Substance Use Disorders funded through HRSA's Rural Communities Opioid Response Program (RCORP).
VA Extension for Community Health Outcomes (ECHO) Expansion in Specialty Care
Trains providers via telehealth on different specialties relevant to providing healthcare services and treatment for veterans, especially those residing in rural communities. Includes training and discussion on chronic kidney disease, hepatitis C, and pain management.
Sponsor: VHA Office of Rural Health (ORH)
Information - (92)


Tehran attacks 'a Saudi-Israel-US project': IRGC cmdr.
TEHRAN, June 9, YJC - A senior commander of Iran's Islamic Revolution Guards Corps (IRGC) says the recent deadly terror attacks in Tehran were the outcome of a tripartite project by Saudi Arabia, Israel and the United States.
TEHRAN, Young Journalists Club (YJC) - Speaking in a televised interview on Thursday, Brigadier General Hossein Salami, the IRGC's second-in-command, said the joint Saudi-Israel-US project was aimed at dealing a blow to Iran's political and security power.
At least 17 people were killed and around 50 injured in Tehran on Wednesday, when gunmen attacked Iran's Parliament (Majlis) and the Mausoleum of the late Founder of the Islamic Republic Imam Khomeini.
Both attacks were, however, foiled by the Iranian security forces, who arrived on the scene in no time and prevented the terrorists from gaining access to the sensitive parts of the two complexes.
The Takfiri Daesh terrorist group claimed responsibility for the near-simultaneous assaults.
Iran's Intelligence Ministry later identified the five terrorists involved in the attacks, saying they had a history of past terrorist activities and were linked to Wahhabi and Takfiri groups.
Salami further hailed the effective response to the attacks and said it "buried our enemies' political dream alive, showing that Iran will be a graveyard for anyone seeking to endanger its security," he asserted.
Last month, US President Donald Trump went to Saudi Arabia in his first foreign visit, clinching a USD-110-billion arms deal with Riyadh, which US Secretary of State Rex Tillerson said was aimed at "countering" Iran.
Trump then travelled to Israel. In both places, he referred to Iran as a purveyor of terrorism and urged the Persian Gulf Arab states to unite against the Islamic Republic, endorsing both Riyadh and Tel Aviv's anti-Iran stance.
He said the acts of terror were perpetrated as a result of the enemies' back-to-back defeats in regional disputes and proxy warfare over the past years.
"While the Americans, the Saudis, some reactionary regional countries and Westerners were trying to tip the regional equations in their own favor and threaten the Islamic Republic's establishment, they didn't manage to act out their plans in Syria and Iraq, and suffered defeat in regional political disputes," he added.
"The Saudis' regional policies have completely been defeated, while Daesh's turf has dwindled and is on the verge disappearance," he added in reference to accusations against Riyadh of funding and fueling Takfiri terrorism in the region.
When it comes to the country's national security, Salami said, Iran does not "joke" with any side.


XAPT's equipment dealer customers can maximize technician and equipment efficiency to complete more jobs per day as well as optimize resources to ensure customer commitments are met.
ORLANDO, Fla., April 10, 2018 —Trimble (NASDAQ: TRMB) and XAPT Corporation announced today that NAXT, the Enterprise Resource Planning (ERP) solution from XAPT for equipment dealers, will use a tightly integrated version of the Trimble® PULSE™ suite of solutions for field service optimization and workforce management. This integration enables XAPT to provide a best-in-class, highly sophisticated automation and optimization capability for field service organizations that will assist technicians in highly complex environments. With this new solution, XAPT's equipment dealer customers can maximize technician and equipment efficiency to complete more jobs per day as well as optimize resources to ensure customer commitments are met.
The announcement was made at the 2018 North American Dealer Information Technology Association (NADITA) Conference.
Equipment dealers employing hundreds of technicians face a significant amount of administrative work to produce the technician schedules manually each day, especially when they must react to changes during the day. With the combined solution capabilities, dealers will be armed with field-proven technology that improves visibility into technician availability, while reducing administrative tasks being performed by dispatchers and technicians, while increasing customer satisfaction.
"We are excited to support XAPT with their ERP solution for the equipment dealer segment. Our bestin-class scheduler solution provides high-end performance in the optimization and workload management area of field service. We look forward to working with XAPT to meet the growing market demand with equipment dealers."
XAPT works with equipment dealers all day long, all year long. This is at the core of our company, employing hundreds of professionals around the globe with one focus: providing the leading dealership solution for equipment dealers and manufacturers. In addition, XAPT works closely with Microsoft to utilize all capabilities of Microsoft Dynamics 365 as well as Azure and its services, such as artificial intelligence, machine learning, big data analytics, and many more to help the digital transformation of customers. XAPT serves dealers around the world, with offices in the U.S., Canada, Europe, China, Philippines, and Australia and with partners in several other regions. To learn more about XAPT's solution for equipment dealers, visit: https://www.naxtsolution.com or https://www.xapt.com NAXT and the NAXT logo are registered trademarks of XAPT Corporation in the United States and in other countries.
Trimble's Field Service Management Division provides visibility into field and fleet operations so businesses can streamline efficiency and increase productivity. The Field Service Management suite includes Fleet Management, Work Management and Scheduling, Worker Safety and Mobility solutions that transform the effectiveness of work, workers and assets in the field. The cloud-based portfolio allows Trimble to offer customers industry-specific, enterprise-level solutions for exceptional performance and ease of use. For more information, visit: www.trimble.com/fsm and www.trimblepulse.com.


The weekend is almost here, and I am so ready to have Conor home for a couple of days. Liam became so accustomed to having him home all day during our two week vacation, and I can tell he has really missed him this week. He's been going through a little roll call throughout the day wondering where everyone is. I plan on putting away the remainder of our Christmas decorations and adding a little Valentine's Day flair to the house. Which really means buying bags & bags of conversation heart to put in my heart shaped candy dish. Except I can't keep the dish out or Liam will want to eat all the "mummies", so instead that little candy dish will be hidden away somewhere. I'll be that mom making quick trips to the pantry/bathroom/closet and popping candy in her mouth!
I haven't done on Five on Friday post for awhile, so I'm excited to share some random goodness as always. Here's my weekly Five (thanks to all the lovely hosts: Christina, Darci, April, & Natasha)!
With Valentine's Day just over a month away, I decided to make my desktop wallpaper a little bit festive. These freebies were my favorite! It was hard to choose, but I went with the light pink & single heart. I am loving this pale shade of pink right now. I need a nail polish in this color stat!
And since we're talking about Valentine's Day, you all must rush to your local grocery store and purchase a bag of Brach's Tart & Sassy conversation hearts! They are the best; there's no competition. These are not to be confused with the Sweethearts "tart" version, because those are absolute garbage!
-THREE- I have a big thing for chapstick and love finding new ones to try. My sister-in-law turned me onto the Hurraw brand. One of the main ingredients is coconut oil, so this stuff is just heavenly! I want one in every different flavor!!! They are a small Montana business, so I love supporting them!
-FIVE- During our Christmas vacation my mom made huckleberry pancakes a couple of times, and I just cannot get their scrumptiousness out of my head! It's probably due to the fact that huckleberries are hard to come by (only in the northwest and few places in Maine...or so I hear) and they are most definitely not in season right now. My mom always freezes a gallon or two during the summer months so we can enjoy huckleberries all winter long. Huckleberries are by far my favorite berry and combined with the best pancake mix ever, these were a big treat in the morning!
Those pancakes look delicious! And I think I will be getting a new background for my computer now... So cute!
I love those desktops! I might have to switch mine up for Valentines day, and those pancakes look so good!
I love a new background! Maybe by Easter I will have figured out how to design my own!
Welcome to our little world; happy to have you!
Hello! Stopping by from the link up:) those pancakes look too good and what a fun DIY project! I just love your blog...your little man is precious! Have a wonderful Friday!
For some reason I never clued in that this 'Five on Friday' was a link up! I think I might just join in next Friday! - By the way, totally stealing that fishing idea!! It will either be great or Abby will run around and hit the cat with the stick. We shall see!!! Happy Friday!!


Hyde Hall participated in the second annual history fair organized by the Otsego County Historical Association on Saturday, April 23 at the Springfield Community Center. Twenty-two Historical societies set up their booths. It was an opportunity to show the progress in the restoration of the Hyde Hall Historic Mansion and to discuss the new carpet in the Drawing Room. Designed by David Hunt of the Vermont Custom Rug Company and manufactured by the Langhorne Carpet Company of Penndel, PA, this carpet will recreate the kind of floor covering once found in many of the mansion's principal rooms, including the Front Hall and the Dining Room. In the early 19th-century, Brussels carpets, which have a looped pile construction, were typically installed in the homes of America's most wealthy citizens, including presidents and major landowners.


Other Deals for Alex's Italian Restaurant & J&J'S Pizzeria!
Includes soup du jour, clams or mussels, salad with house dressing and choice of Chicken Piccata or Marsala, Flounder Francaise or Linguini alle vongole. more.
Buy one entree at regular price and get the second entree of equal or lesser value for half price more.
3 Course Specials (Choice of some of our most popular entrees) for $15.95 Includes Appetizer or Soup, Fresh Garden Salad with House Dressing, Potatoes, Vegetable and our Homemade Bread more.
LASAGNA Baked with hearty Bolognese and bechamel $13.95 LINGUINE ALLA VONGOLE Succulent whole baby clams sauteed with garlic in red or white sauce $12.95 CHICKEN MARSALA Boneless chicken sauteed wi... more.


text:
« Dear reader …
I still hope … »
May 8, 2016 by kathrynruthd
Two weeks ago we had a blizzard in Leicester, hail storms and lots of rain. Yesterday the city was sizzling in the long-awaited heat of a late spring and early summer. But it wasn't just the May sunshine that was raising temperatures in the heart of the East Midlands, our local football team, the Blues, the Foxes, Leicester City, was going to be presented with the Premier League trophy after the evening's match against Everton at their home ground, the King Power stadium.
In some cities the presenting of a big football trophy is not that remarkable. Some football clubs in this country have won trophies more times than I can be bothered to research. For many, it is an almost inevitable conclusion to the football season.
I don't claim to be a football fan; however, I am a huge supporter of my home town and will always root for its sporting teams whenever the opportunity arises. Leicester City supporters are used to disappointment – I've only ever been to see them play three times and they lost each time – so it will have been no surprise that at the beginning of this season there seemed little hope of glory.
Despite a late resurgence in form at the end of last season and somewhat surprisingly avoiding relegation, Leicester City started this season as rank outsiders. The bookmakers were offering odds of 5000-1 that they would go on to win the league such was the lack of expectation. You could get the same or better odds if you wanted to bet on Elvis being found alive this year!
There are many theories about how a team made up of rejects, has-beens and complete unknowns led by a manager, Claudio Ranieri, who had never won a major title, came to win the most coveted trophy in English football for the first time in their 132-year history. The more sensible of these theories talk about incredible teamwork, camaraderie and work ethic coupled with time to relax and the promise of pizza for a clean sheet. Some suggest that Buddhist monks have had some influence through prayer – the club is owned by the Thai businessman, Vichai Srivaddhanaprabha, founder and CEO of King Power Duty Free. The more romantic like to think that Leicester's success may have something to do with the reinterment of Richard III. As outlandish as it may seem it is true that the team's fortune took a turn for the better after the city excelled itself and reburied the much maligned King with dignity and honour.
#LCFCChampions I had a hunch we'd win! @richard_third pic.twitter.com/VRnOjTu65b
— Simon Cole (@CCLeicsPolice) May 7, 2016
With the events surrounding the discovery of Richard III and his subsequent reinterment, Leicester showed the world what its inhabitants have known for much longer: we are warm and welcoming; we are tolerant, truly multi-cultural and cosmopolitan; and most of all we are fiercely proud. In a world that is increasingly intolerant and bigoted, Leicester stands out as an example of how to do it right. With this global recognition came a new-found self-confidence and we all know what a boost self-confidence can be.
#LCFCChampions pic.twitter.com/oqZuNzD0BC
Leicester City's meteoric rise to the top of the Premier League is not the only sporting success we have to boast about this year. Mark Selby, the Jester from Leicester, won his second World Snooker Championship; Leicester Riders became British Basketball League Champions, BBL trophy winners and play today in the hope of winning the BBL play-off final and claiming the treble; Leicester City Women won Women's Premier League Midlands Division One title – football again – with a 100% record; and Leicester Tigers are in the Premiership Rugby Union play-offs hoping for an 11th English title, having finished in the top four for a 12th successive season! Our cricket team has had less success but even they won their first County Championship game in almost three years just a couple of months after the reinterment of Richard III.
As I wandered around the city yesterday afternoon there was the beginnings of a carnival atmosphere. There were blue shirts everywhere, people were blowing horns and carrying Leicester City flags, and random groups of people wearing football shirts kept suddenly bursting into football chants. There are banners hanging from the streetlights on the high street depicting all the Leicester City players, in the depths of Marks and Spencer hangs a Leicester City flag, and they are selling blue sausages in the market. As I made my way back to the car, supporters were starting to fill out the city's pubs, spilling out onto the streets and raising their voices in song. I turned a corner, away from the drinking establishments and wandered down towards the restaurants. A big blue light installation has taken pride of place in St Peter's Square and surrounding it are all the usual restaurant chains associated with a cosmopolitan city, many with tables outside continental-style. They all looked pretty full and while the atmosphere was a little more sedate than elsewhere there were still blue shirts everywhere.
This little gem is a hip hop track written by local musicians. If you can make out the lyrics they are full of little Leicester-isms, local references and just so much stuff that makes me smile from ear to ear. "We 'soar' like the river that flows through the city" is just one such example.
I love my city. I love its optimism, I love its pride and most of all I love its people. They come from all cultures, all ethnicities, all backgrounds but together we are all Leicesterians, all "chisits". I could not be more proud of Leicester City Football Club. I could not be more proud of Leicester. We have shown the world that with grit and determination, a fearless attitude, more than a little hope and maybe the support of the last Plantagenet King it is possible to achieve your dreams.
.@Wes5L1nk – the first #lcfc player to lift a @premierleague trophy: https://t.co/WZXFHJdMy6 #havingaparty pic.twitter.com/p4ahx5Ye74
— Leicester City (@LCFC) May 7, 2016
Posted in Leicester, Richard III, Sport | Tagged champions, civic pride, football, having a party, King Power, LCFC, Leicester, Leicester City, Leicester City Football Club, premier league | 5 Comments
on May 8, 2016 at 3:27 pm | Reply Sylvia Dobson
Really good writing. You are so clever! [comment edited as accidentally sent by my mum who as you can see is ever so slightly biased 😉 ]
on May 8, 2016 at 4:13 pm | Reply Servetus
Your mum is right 🙂
I'm sure all kinds of heavenly convergences were needed for this to happen but I do put some stock in the "we are somebody now" theory / self-confidence. It's easy for regional cities to get lost in the shuffle and I'm glad Leicester is showing all its pride now. Great video!
on May 8, 2016 at 5:01 pm | Reply Guylty
What a lovely love letter to your city! I have never been but King Richard and Leicester City FC have firmly put it on my map.
on May 8, 2016 at 5:18 pm | Reply kathrynruthd
Thank you! I didn't see it like that but I guess you're right! And if you do find yourself venturing to Leicester, let me know. Be happy to show you around!
Thanks! Whatever it was that brought about the win I guess it's mostly arbitrary now but yes, as much as I wish it was all down to Richard III I know that self-confidence was a major factor 🙂


text:
Weekly Happenings: August 31 – September 7, 2021
Installation view of Wu Tsang's Anthem at the Guggenheim Museum in New York City.
Each week, we create a list of exhibitions, screenings, events, and news featuring Creative Capital Awardees of all disciplines. This list can include shows that have recently opened, shows about to close, and noteworthy headlines and interviews that profile artists and their work.
Artists have banded together to write an open letter to the US government calling for the evacuation of Afghan cultural workers—add your signature now.
Events, Exhibitions, & Screenings
Alison O'Daniel
I felt people dancing
In-person exhibition
Kunsthalle Osnabrück in Germany
Through October 3, 2021
For her site-specific installation at Kunsthalle Osnabrück, Alison O'Daniel—who is hard of hearing— asked two Deaf collaborators to visit the space and draw maps of their experience of the sounds. Their maps were then reproduced to scale in the form of a colorful carpet, which captures the chaos of the building's acoustics. The exhibition include clips from her Creative Capital Project, The Tuba Thieves.
Bayeté Ross Smith
Red Summers
Bayeté Ross Smith's 360 video series, Red Summers, uses archival photos to reveal the untold American history of racial terrorism from 1917 to 1921. The latest video, published by The Guardian, focuses on Chicago and Washington, DC in 1919, showing how biased press coverage played a role in igniting racial violence.
Brian Harnetty
"COMMON GROUND: Listening to Appalachian Ohio"
Miller Gallery at Otterbein University in Westerville, Ohio
August 23 – November 17, 2021
Brian Harnetty's practice works with sound archives and the communities connected to them, creating encounters that are rooted in place and the transformative power of listening. This solo exhibition features Harnetty's Creative Capital Project, Shawnee, Ohio, as well as other sound works on Appalachian Ohio.
CAConrad
AMANDA PARADISE: Resurrect Extinct Vibration
Book launch party
CAConrad is publishing a new book of poems, AMANDA PARADISE: Resurrect Extinct Vibration. His Creative Capital Project, the work stems from a (Soma)tic poetry ritual where CA flooded their body with the field recordings of recently extinct animals. Foundational here are the memories of loved ones who died of AIDS, the daily struggle of existing through the Corona Virus pandemic, and the effort to arrive at a new way of falling in love with the world as it is, not as it was. The book will be available September 7.
Elissa Washuta
"Why Though"
Noyo Review
In this essay, Elissa Washuta ponders the question, why do we write?, drawing from her own journey as a writer. "I want to tell you that I cannot answer a question like, Why do we write? I can't even answer the question, Why do I write? Nobody ever asks me why I think. When people ask me why I write, I sometimes say, at first it was to become famous, and now it's because it makes me my money. These things aren't lies, but they're incomplete."
Guadalupe Maravilla
Guadalupe Maravilla & The Sound of Healing
Online film
Art21 premieres their moving short documentary film, which provides an intimate look into Guadalupe Maravilla's process for and activation of his Planeta Abuelx solo exhibition currently on view at Socrates Sculpture Park.
Planeta Abuelx
Socrates Sculpture Park in Long Island City, New York
Through September 6, 2021
This solo exhibition by Guadalupe Maravilla draws on ancestral and Indigenous practices of holistic healing. Maravilla's sculptures and performance pieces are displayed on the grounds, and the artist will activate the work through healing sound baths—offered on elect dates—which he discovered during his treatment for stomach cancer.
Jeffrey Gibson
To Feel Myself Beloved on the Earth
ART OMI in Ghent, NY
Opening September 11, 2021
To Feel Myself Beloved on the Earth is an exhibition of quilts, garments, drums, prints, and video by Jeffrey Gibson. Gibson's eponymous video To Feel Myself Beloved on the Earth was produced in 2020, amidst both the coronavirus pandemic and a time of civil unrest as citizens took to the streets to demand equity and justice for BIPOC communities.
Jillian Mayer
Southeastern Center for Contemporary Art in Winston-Salem, NC
Through September 26, 2021
In this exhibition, Jillian Mayer's fiberglass sculptures, ceramic forms, and paintings explore how art can become functional during times of disaster or when the planet becomes uninhabitable.
Lead Pencil Studio
Suspended Collapse
'T' Space
Employing models, drawing, photography, and LiDAR-based animations, this new body of work by Creative Capital Awardees Annie Han and Daniel Mihalyo of Lead Pencil Studio probes a subject overlooked in the field of architecture. Annie Han is also Creative Capital's Board Chair.
Lynn Hershman Leeson
"Three by Lynn Hershman Leeson"
The Criterion Channel
Criteron Channel is streaming three films by Lynn Herman Leeson: Conceiving Ada, Teknolust, and Strange Culture—all starring Tilda Swinton. These genre-defying works offer a boldly feminist, philosophically adventurous perspective on the brave new technological and political landscape that took shape at the turn of the twenty-first century.
New Museum in New York City
This exhibition brings together a selection of Lynn Hershman Leeson's work in drawing, sculpture, video, and photography, along with interactive and net-based works, focusing on themes of transmutation, identity construction, and the evolution of the cyborg.
Marc Anthony Richardson
Messiahs
A new novel by Marc Anthony Richardson will be released August 24. Messiahs centers on two nameless lovers, a woman of east Asian descent and a former state prisoner, a black man who volunteered incarceration on behalf of his falsely convicted nephew, yet was "exonerated" after more than two years on death row. In this dystopian America, one can assume a relative's capital sentence as an act of holy reform—"the proxy initiative," patterned after the Passion.
Mercedes Dorame
Ancestors Leading the Stars – 'Eyoohiinkem He'uuk Shishyoota
Begovich Gallery at College of the Arts in Fullerton, California
This installation by Mercedes Dorame explores the deep connection to her ancestral homelands of Tovaangar, examining loss as means to establish permanent records of Indigenous presence in a country that sought to erase Native people.
Michelle Handelman
BLOODSISTERS: LEATHER, DYKES & SADOMASOCHISM
During the early 1990s, San Francisco was the epicenter of body modification and gender nonconformity, with transgender pioneers like Patrick Califia and Tala Brandeis fighting for visibility, alongside the voice of a bold S/M community. Michelle Handelman's provocative and pioneering documentary BLOODSISTERS captures these queer outlaws in their zeitgeist moment, shot on digital video with an unfiltered rawness that mirrors the activism of the era.
Are You For Sale?
Miguel Gutierrez just launched a podcast examining dance-making, philanthropy, and ethics. Looking to visual art for its tradition of Institutional Critique and protests regarding "toxic" philanthropy, Gutierrez asks – Why don't we see comparable action in the dance and performance world? Are we too afraid of losing what little we have? What effects has a scarcity mentality bred? Is the entire system changeable?
Nia Witherspoon
Staging Decadence
HERE Arts Center
Online Talk and Performance
HERE hosts this varied night of performance and talks including an iteration of Nia Witherspoon's Creative Capital Project, Priestess of Twerk: Time Warp 332BC (A Concert Experiment), inspired by sacred sex workers and 'the "bad bitches" of hip-hop.'
"OMNISCIENT: Queer Documentation in an Image Culture"
Leslie-Lohman Museum of Art in New York City
Through January, 2022
Creative Capital Director of Artist Initiatives Aliza Shvarts and Awardees Anna Sew Hoy and Carrie Moyer have work in this group exhibition looking at the history of queer iconographies in popular visual culture.
Stephanie Dinkins
On Love & Data
Stamps Gallery in Ann Arbor, Michigan
Through October 23, 2021
Stamps Gallery presents the first survey of transmedia artist Stephanie Dinkins. In this exhibition, Dinkins develops a dialogue with the audience on the hierarchies embedded within machine learning and AI architecture and one's individual agency in transforming the algorithms within it.
Stephen Vitiello
Land Buoy Bells
Pier 62 in Seattle
Stephen Vitiello was commissioned by Waterfront Seattle to create a site-specific, environmentally driven sound installation on the floating dock at Pier 62. Land Buoy Bells uses industrial materials – steel tank ends – and transforms them into a set of 5 instruments. The bell-like objects are struck at various moments as energy is stored up in an engineered device driven by the rise and fall of the waters that encompass the floating dock.
Tamara Shogaolu
Two Mississippi Museums
In-person installation & online experience
Un(re)solved is an installation, podcast, film, and VR experience which uses augmented reality to explore the stories hidden in this living quilt by invoking the names of victims of civil rights era murders, often racist killings, out of the shadows of the past. The project was created by Tamara Shogaolu and her studio, Ado Ato Pictures in collaboration with Frontline.
Travis Wilkerson
Aricadoc
Aricadoc hosts their 5th Documentary Film Festival, with free screening for those in Chile, Peru and Bolivia, as well as artist talks and seminars. They will be screening 13 films by Travis Wilkerson, including his Creative Capital Project, Did You Wonder Who Fired the Gun?
Guggenheim Museum of Art in New York City
Wu Tsang's new commission, Anthem (2021), was conceived in collaboration with the legendary singer, composer, and transgender activist Beverly Glenn-Copeland. This site-specific installation revolves around an immense, eighty-four-foot curtain sculpture suspended from the oculus with a projected "film-portrait" of Glenn-Copeland improvising and singing passages of his music.
Xenobia Bailey
Mothership and Hallowed Be Their Names
Brookfield Place in New York City
Brookfield Place presents two commissioned hand-crochet works by Xenobia Bailey in their Winter Garden Gallery. Mothership, pays homage to the African American homemaker, caregiver, and domestic worker and Hallowed Be Their Names is an installation to celebrate and uplift communities affected by loss.
"Artists and Elders"
The Point Magazine
The Point Magazine examines an iteration of Erika Chong Shuch's Creative Capital Project For You, Artist and Elders, during the pandemic. The project connects an artist and a senior, with creative collaboration as the end goal.
"Carolina Caycedo Centers Social and Environmental Justice Conversation Around Care"
Whitewall
Carolina Caycedo talks to Whitewall about her investigation of our relationship to care—in relationship to motherhood, our communities, our environment, our bodies, and support systems. "If you have a woman who puts herself on the front line of environmental justice, it's because she cares about that place, that river, that mountain, that forest, whatever she's defending."
"SXSW Pic 'Potato Dreams Of America' To Get U.S. Release In Dark Star Pictures Deal"
Dark Star Pictures has acquired North American rights to Wes Hurley's Creative Capital Project, Potato Dreams of America. "Director Wes Hurley has managed to tell a personal story in a humorous yet moving way that strikes an emotional chord with the viewer," Dark Star president Michael Repsch said.
"Tomorrow's Anxieties: An Interview of Jillian Mayer"
Autre Magazine
Jillian Mayer talks to Kelly Loudenberg of Autre Magazine about the looming ecological and infrastructural collapse, survival and prepper culture, and her exhibition TIMESHARE. "After years of making work, I've been thinking about the real future, not our current understanding of the future, but rather beyond that; beyond the sleek aluminum and titanium," says Mayer.
"The Kunsthalle Where No One Can Hear"
Art in America reviews Alison O'Daniel's exhibition at Kunsthalle Osnabrück. The exhibition centers around a carpet which reflected maps drawn by two Deaf collaborators of their experience of sounds. "The carpet captures the absurd chaos of the building's acoustics—and moreover, the feeling of being hard of hearing in a world chock full of incomprehensible sounds."
"Maggie Nelson Wants to Redefine 'Freedom'"
Ismail Muhammad writes for the New York Times on Maggie Nelson and her new collection of essays, On Freedom: "On Freedom is an argument for how we engage with objects of analysis — and one another — in a way that is principled but not rigid, that displays care for other people's perceptions, pains and desires, and that has respect for what we cannot know."
"Emerging from the Cave"
This survey conducted by Jesse Cameron Alick, commissioned by the Sundance Institute, an effort to understand the most urgent needs and priorities of the theater and performing arts community during this time. Alick interviewed over 70 artists and thought leaders—including Creative Capital Awardees Larissa FastHorse, Lars Jan, Daniel Alexander Jones, Raja Feather Kelly, and Legacy Russell—about their observations and suggestions on how to create a healthier space for artists. "There is a deep desire for change. And while this report does not give us answers about how to get there, it does ground us in where we actually are, which is key to getting us to where we want to go."
"Open letter from Arts for Afghanistan"
Artists, filmmakers, performers, writers, curators—including Creative Capital Awardees Mariam Ghani and Eric Gottesman—have written an open letter to the US government calling for the evacuation and asylum of Afghan cultural workers: "…We recognize the vulnerability of the country's cultural workers, who are already being targeted by the Taliban and forced into hiding. Like Afghan journalists, activists, and citizens who have assisted the US, cultural workers face threats to their lives because of the work they've done—and they are unlikely to get out of the country without immediate changes to Washington's approach to granting visas and providing flights."
More News & Stories
The 2022 Creative Capital Awards
Creative Capital will award $2.5 million in artist grants to support the creation of 50 new groundbreaking projects.


The Seattle Seawolves re-signed Taylor Krumrei at lock for the 2019 Major League Rugby season. The 25-year-old player is 6'5″ tall and weighs 245 pounds.
Taylor Krumrei began playing rugby his senior year in high school for Lamorinda Rugby Club in Moraga, California. He attended Campolindo High School from 2006 until he graduated in 2010. He then went on to play in college at the University of Oregon from 2010 to 2014 where he graduated majoring in Human Physiology.
After graduating, Krumrei moved to Seattle to play for the Seattle Saracens except for a four-month period in 2017 when he trained with the Waikato Premier Rugby Club in New Zealand. He then returned to Seattle in 2017 and joined the Seattle Seawolves for the inaugural 2018 Major League Rugby season. At season's end, it was an excellent feeling to have helped the team win the Championship.
Following the season, Taylor returned to play with the Seattle Saracens and was selected to play with the USA Rugby Selects in the Americas Pacific Challenge.


According to The Blast, Damon Dash allegedly threatened a woman's life at a hair salon in Los Angeles. The business mogul reportedly walked into a children's hair salon and grabbed a customer before throwing him out of the shop.
The owner, Patrice Miner also said he "walked up to me and threaten my life." She also says that Dash yelled at her and called her an idiot in front of the customers.
Miner has now been granted a temporary restraining order against Dash, meaning he cannot come 30 feet of the shop.
A hearing is scheduled later this month to make the restraining order permanent.


Which health impairments qualify for an impaired annuity?
One of the ways of improving your monthly annuity payment is to take into consideration your own or your partners state of health. Each insurance company will consider an application for higher annuity payments if there is an impairment to normal life expectancy.
So how sick do you and/or your partner have to be to qualify? Following is a short list to give you an idea of what most life annuity companies will consider. The list is not all inclusive but provides you with some guidance.
And the best part is that normally there is no medical exam; just a report from the doctor in charge.
Should you bother? Well recently a client aged 70, received the income of a 77 year old, $130.57 a month more!
The following impairments usually qualify for an impaired annuity. These aren't the only impairments that would qualify. Being on the list doesn't mean the impairment will qualify.
If the impairment isn't severe enough or is too severe (life expectancy is less than two years) it won't qualify.
Emphysema – severe with or without cardiac complications: Requires continuous oxygen use. Severely restricted activities - cannot exercise, walk any significant distances, climb stairs independently, etc.
Call me today at 1-877-842-3863 to see if you qualify for an impaired annuity.