text:
package org.jivesoftware.smack;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;

import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.test.SmackTestCase;
import org.jivesoftware.smack.util.StringUtils;
import org.mockito.internal.util.RemoveFirstLine;

/**
 * Tests the Roster functionality by creating and removing roster entries.
 *
 * @author Gaston Dombiak
 */
public class RosterSmackTest extends SmackTestCase {

    /**
     * Constructor for RosterSmackTest.
     * @param name
     */
    public RosterSmackTest(String name) {
        super(name);
    }

    /**
     * 1. Create entries in roster groups
     * 2. Iterate on the groups and remove the entry from each group
     * 3. Check that the entries are kept as unfiled entries
     */
    public void testDeleteAllRosterGroupEntries() {
        try {
            // Add a new roster entry
            Roster roster = getConnection(0).getRoster();

            CountDownLatch latch = new CountDownLatch(2);
            setupCountdown(latch, roster);

            roster.createEntry(getBareJID(1), "gato11", new String[] { "Friends", "Family" });
            roster.createEntry(getBareJID(2), "gato12", new String[] { "Family" });

            waitForCountdown(latch, roster, 2);

            final CountDownLatch removeLatch = new CountDownLatch(3);
            RosterListener latchCounter = new RosterListener() {
                @Override
                public void presenceChanged(Presence presence) {}

                @Override
                public void entriesUpdated(Collection<String> addresses) {
                    removeLatch.countDown();
                }

                @Override
                public void entriesDeleted(Collection<String> addresses) {}

                @Override
                public void entriesAdded(Collection<String> addresses) {}
            };

            roster.addRosterListener(latchCounter);

            for (RosterEntry entry : roster.getEntries()) {
                for (RosterGroup rosterGroup : entry.getGroups()) {
                    rosterGroup.removeEntry(entry);
                }
            }

            removeLatch.await(5, TimeUnit.SECONDS);
            roster.removeRosterListener(latchCounter);

            assertEquals("The number of entries in connection 1 should be 1", 1, getConnection(1).getRoster().getEntryCount());
            assertEquals("The number of groups in connection 1 should be 0", 0, getConnection(1).getRoster().getGroupCount());
            assertEquals("The number of entries in connection 2 should be 1", 1, getConnection(2).getRoster().getEntryCount());
            assertEquals("The number of groups in connection 2 should be 0", 0, getConnection(2).getRoster().getGroupCount());
            assertEquals("The number of entries in connection 0 should be 2", 2, roster.getEntryCount());
            assertEquals("The number of groups in connection 0 should be 0", 0, roster.getGroupCount());
        }
        catch (Exception e) {
            fail(e.getMessage());
        }
    }

    private void setupCountdown(final CountDownLatch latch, Roster roster) {
        roster.addRosterListener(new RosterListener() {

            @Override
            public void presenceChanged(Presence presence) {}

            @Override
            public void entriesUpdated(Collection<String> addresses) {
                latch.countDown();
            }

            @Override
            public void entriesDeleted(Collection<String> addresses) {}

            @Override
            public void entriesAdded(Collection<String> addresses) {}
        });
    }

    private void waitForCountdown(CountDownLatch latch, Roster roster, int entryCount) throws InterruptedException {
        latch.await(5, TimeUnit.SECONDS);
        assertEquals(entryCount, roster.getEntryCount());
    }

    /**
     * 1. Create entries in roster groups
     * 2. Iterate on all the entries and remove them from the roster
     * 3. Check that the number of entries and groups is zero
     */
    public void testDeleteAllRosterEntries() throws Exception {
        // Add a new roster entry
        Roster roster = getConnection(0).getRoster();

        CountDownLatch latch = new CountDownLatch(2);
        setupCountdown(latch, roster);

        roster.createEntry(getBareJID(1), "gato11", new String[] { "Friends" });
        roster.createEntry(getBareJID(2), "gato12", new String[] { "Family" });

        waitForCountdown(latch, roster, 2);

        CountDownLatch removeLatch = new CountDownLatch(2);
        RosterListener latchCounter = new RemovalListener(removeLatch);
        roster.addRosterListener(latchCounter);

        for (RosterEntry entry : roster.getEntries()) {
            roster.removeEntry(entry);
        }

        removeLatch.await(5, TimeUnit.SECONDS);
        roster.removeRosterListener(latchCounter);

        assertEquals("Wrong number of entries in connection 0", 0, roster.getEntryCount());
        assertEquals("Wrong number of groups in connection 0", 0, roster.getGroupCount());
        assertEquals("Wrong number of entries in connection 1", 0, getConnection(1).getRoster().getEntryCount());
        assertEquals("Wrong number of groups in connection 1", 0, getConnection(1).getRoster().getGroupCount());
    }

    /**
     * 1. Create unfiled entries
     * 2. Iterate on all the entries and remove them from the roster
     * 3. Check that the number of entries and groups is zero
     */
    public void testDeleteAllUnfiledRosterEntries() {
        try {
            // Add a new roster entry
            Roster roster = getConnection(0).getRoster();

            CountDownLatch latch = new CountDownLatch(2);
            setupCountdown(latch, roster);

            roster.createEntry(getBareJID(1), "gato11", null);
            roster.createEntry(getBareJID(2), "gato12", null);

            waitForCountdown(latch, roster, 2);
            CountDownLatch removeLatch = new CountDownLatch(2);
            RosterListener latchCounter = new RemovalListener(removeLatch);
            roster.addRosterListener(latchCounter);

            for (RosterEntry entry : roster.getEntries()) {
                roster.removeEntry(entry);
            }

            removeLatch.await(5, TimeUnit.SECONDS);
            roster.removeRosterListener(latchCounter);

            assertEquals("Wrong number of entries in connection 0", 0, roster.getEntryCount());
            assertEquals("Wrong number of groups in connection 0", 0, roster.getGroupCount());
            assertEquals("Wrong number of entries in connection 1", 0, getConnection(1).getRoster().getEntryCount());
            assertEquals("Wrong number of groups in connection 1", 0, getConnection(1).getRoster().getGroupCount());
        }
        catch (Exception e) {
            fail(e.getMessage());
        }
    }

    /**
     * 1. Create an unfiled entry
     * 2. Change its name
     * 3. Check that the name has been modified
     * 4. Reload the whole roster
     * 5. Check that the name has been modified
     */
    public void testChangeNameToUnfiledEntry() {
        try {
            // Add a new roster entry
            Roster roster = getConnection(0).getRoster();
            CountDownLatch latch = new CountDownLatch(1);
            setupCountdown(latch, roster);

            roster.createEntry(getBareJID(1), null, null);

            waitForCountdown(latch, roster, 1);

            final CountDownLatch updateLatch = new CountDownLatch(2);
            RosterListener latchCounter = new RosterListener() {
                @Override
                public void entriesAdded(Collection<String> addresses) {}

                @Override
                public void entriesUpdated(Collection<String> addresses) {
                    updateLatch.countDown();
                }

                @Override
                public void entriesDeleted(Collection<String> addresses) {}

                @Override
                public void presenceChanged(Presence presence) {}
            };
            roster.addRosterListener(latchCounter);

            // Change the roster entry name and check if the change was made
            for (RosterEntry entry : roster.getEntries()) {
                entry.setName("gato11");
                assertEquals("gato11", entry.getName());
            }
            // Reload the roster and check the name again
            roster.reload();

            updateLatch.await(5, TimeUnit.SECONDS);

            for (RosterEntry entry : roster.getEntries()) {
                assertEquals("gato11", entry.getName());
            }
        }
        catch (Exception e) {
            fail(e.getMessage());
        }
    }

    /**
     * 1. Create an unfiled entry with no name
     * 2. Check that the the entry does not belong to any group
     * 3. Change its name and add it to a group
     * 4. Check that the name has been modified and that the entry belongs to a group
     */
    public void testChangeGroupAndNameToUnfiledEntry() {
        try {
            // Add a new roster entry
            Roster roster = getConnection(0).getRoster();
            roster.createEntry(getBareJID(1), null, null);

            Thread.sleep(500);

            getConnection(1).getRoster().createEntry(getBareJID(0), null, null);

            // Wait up to 5 seconds to receive presences of the new roster contacts
            long initial = System.currentTimeMillis();
            while (System.currentTimeMillis() - initial < 5000 &&
                    !roster.getPresence(getBareJID(0)).isAvailable()) {
                Thread.sleep(100);
            }
            //assertNotNull("Presence not received", roster.getPresence(getBareJID(0)));

            for (RosterEntry entry : roster.getEntries()) {
                assertFalse("The roster entry belongs to a group", !entry.getGroups().isEmpty());
            }

            // Change the roster entry name and check if the change was made
            roster.createEntry(getBareJID(1), "NewName", new String[] { "Friends" });

            // Reload the roster and check the name again
            Thread.sleep(200);
            for (RosterEntry entry : roster.getEntries()) {
                assertEquals("Name of roster entry is wrong", "NewName", entry.getName());
                assertTrue("The roster entry does not belong to any group", !entry.getGroups().isEmpty());
            }
            // Wait up to 5 seconds to receive presences of the new roster contacts
            initial = System.currentTimeMillis();
            while (System.currentTimeMillis() - initial < 5000 &&
                    !roster.getPresence(getBareJID(1)).isAvailable()) {
                Thread.sleep(100);
            }
            assertTrue("Presence not received", roster.getPresence(getBareJID(1)).isAvailable());
        } catch (Exception e) {
            fail(e.getMessage());
        }
    }

    /**
     * Tests that adding an existing roster entry that belongs to a group to another group
     * works fine.
     */
    public void testAddEntryToNewGroup() {
        try {
            Thread.sleep(500);

            // Add a new roster entry
            Roster roster = getConnection(0).getRoster();
            roster.createEntry(getBareJID(1), "gato11", new String[] { "Friends" });
            roster.createEntry(getBareJID(2), "gato12", new String[] { "Family" });

            // Wait up to 2 seconds to receive new roster contacts
            long initial = System.currentTimeMillis();
            while (System.currentTimeMillis() - initial < 2000  && roster.getEntryCount() != 2) {
                Thread.sleep(100);
            }

            assertEquals("Wrong number of entries in connection 0", 2, roster.getEntryCount());

            // Add "gato11" to a new group called NewGroup
            roster.createGroup("NewGroup").addEntry(roster.getEntry(getBareJID(1)));

            // Log in from another resource so we can test the roster
            XMPPConnection con2 = createConnection();
            con2.connect();
            con2.login(getUsername(0), getUsername(0), "MyNewResource");

            Roster roster2 = con2.getRoster();

            assertEquals("Wrong number of entries in new connection", 2, roster2.getEntryCount());
            assertEquals("Wrong number of groups in new connection", 3, roster2.getGroupCount());

            RosterEntry entry = roster2.getEntry(getBareJID(1));
            assertNotNull("No entry for user 1 was found", entry);

            List<String> groupNames = new ArrayList<String>();
            for (RosterGroup rosterGroup : entry.getGroups()) {
                groupNames.add(rosterGroup.getName());
            }
            assertTrue("Friends group was not found", groupNames.contains("Friends"));
            assertTrue("NewGroup group was not found", groupNames.contains("NewGroup"));

            // Close the new connection
            con2.disconnect();
            Thread.sleep(500);
        }
        catch (Exception e) {
            fail(e.getMessage());
        }
    }

    /**
     * Test if renaming a roster group works fine.
     *
     */
    public void testRenameRosterGroup() {
        try {
            Thread.sleep(200);

            // Add a new roster entry
            Roster roster = getConnection(0).getRoster();
            roster.createEntry(getBareJID(1), "gato11", new String[] { "Friends" });
            roster.createEntry(getBareJID(2), "gato12", new String[] { "Friends" });

            // Wait up to 2 seconds to let the server process presence subscriptions
            long initial = System.currentTimeMillis();
            while (System.currentTimeMillis() - initial < 2000 && (
                    !roster.getPresence(getBareJID(1)).isAvailable() ||
                            !roster.getPresence(getBareJID(2)).isAvailable())) {
                Thread.sleep(100);
            }

            roster.getGroup("Friends").setName("Amigos");

            // Wait up to 2 seconds
            initial = System.currentTimeMillis();
            while (System.currentTimeMillis() - initial < 2000 &&
                    (roster.getGroup("Friends") != null)) {
                Thread.sleep(100);
            }

            assertNull("The group Friends still exists", roster.getGroup("Friends"));
            assertNotNull("The group Amigos does not exist", roster.getGroup("Amigos"));
            assertEquals(
                "Wrong number of entries in the group Amigos",
                2,
                roster.getGroup("Amigos").getEntryCount());

            // Setting the name to empty is like removing this group
            roster.getGroup("Amigos").setName("");

            // Wait up to 2 seconds for the group to change its name
            initial = System.currentTimeMillis();
            while (System.currentTimeMillis() - initial < 2000 &&
                    (roster.getGroup("Amigos") != null)) {
                Thread.sleep(100);
            }

            assertNull("The group Amigos still exists", roster.getGroup("Amigos"));
            assertNull("The group with no name does exist", roster.getGroup(""));
            assertEquals("There are still groups in the roster", 0, roster.getGroupCount());
            assertEquals(
                "Wrong number of unfiled entries",
                2,
                roster.getUnfiledEntryCount());

            Thread.sleep(200);
        }
        catch (Exception e) {
            fail(e.getMessage());
        }
    }

    /**
     * Test presence management.<p>
     *
     * 1. Log in user0 from a client and user1 from 2 clients
     * 2. Create presence subscription of type BOTH between 2 users
     * 3. Check that presence is correctly delivered to both users
     * 4. User1 logs out from a client
     * 5. Check that presence for each connected resource is correct
     */
    public void testRosterPresences() throws Exception {
        Presence presence;

        // Create another connection for the same user of connection 1
        ConnectionConfiguration connectionConfiguration =
                new ConnectionConfiguration(getHost(), getPort(), getServiceName());
        XMPPConnection conn4 = new XMPPConnection(connectionConfiguration);
        conn4.connect();
        conn4.login(getUsername(1), getPassword(1), "Home");

        // Add a new roster entry
        Roster roster = getConnection(0).getRoster();
        roster.createEntry(getBareJID(1), "gato11", null);

        // Wait up to 2 seconds
        long initial = System.currentTimeMillis();
        while (System.currentTimeMillis() - initial < 2000 &&
                (roster.getPresence(getBareJID(1)).getType() == Presence.Type.unavailable)) {
            Thread.sleep(100);
        }

        // Check that a presence is returned for a user
        presence = roster.getPresence(getBareJID(1));
        assertTrue("Returned a null Presence for an existing user", presence.isAvailable());

        // Check that the right presence is returned for a user+resource
        presence = roster.getPresenceResource(getUsername(1) + "@" + conn4.getServiceName() + "/Home");
        assertEquals("Returned the wrong Presence", "Home",
                StringUtils.parseResource(presence.getFrom()));

        // Check that the right presence is returned for a user+resource
        presence = roster.getPresenceResource(getFullJID(1));
        assertTrue("Presence not found for user " + getFullJID(1), presence.isAvailable());
        assertEquals("Returned the wrong Presence", "Smack",
                StringUtils.parseResource(presence.getFrom()));

        // Check the returned presence for a non-existent user+resource
        presence = roster.getPresenceResource("noname@" + getServiceName() + "/Smack");
        assertFalse("Available presence was returned for a non-existing user", presence.isAvailable());
        assertEquals("Returned Presence for a non-existing user has the incorrect type",
                Presence.Type.unavailable, presence.getType());

        // Check that the returned presences are correct
        Iterator<Presence> presences = roster.getPresences(getBareJID(1));
        int count = 0;
        while (presences.hasNext()) {
            count++;
            presences.next();
        }
        assertEquals("Wrong number of returned presences", count, 2);

        // Close the connection so one presence must go
        conn4.disconnect();

        // Check that the returned presences are correct
        presences = roster.getPresences(getBareJID(1));
        count = 0;
        while (presences.hasNext()) {
            count++;
            presences.next();
        }
        assertEquals("Wrong number of returned presences", count, 1);
    }

    /**
     * User1 is connected from 2 resources. User1 adds User0 to his roster. Ensure
     * that both resources of user1 get the available presence of User0. Remove User0
     * from User1's roster and check presences again.
     */
    public void testMultipleResources() throws Exception {
        // Create another connection for the same user of connection 1
        ConnectionConfiguration connectionConfiguration =
                new ConnectionConfiguration(getHost(), getPort(), getServiceName());
        XMPPConnection conn4 = new XMPPConnection(connectionConfiguration);
        conn4.connect();
        conn4.login(getUsername(1), getPassword(1), "Home");

        // Add a new roster entry
        Roster roster = conn4.getRoster();
        roster.createEntry(getBareJID(0), "gato11", null);

        // Wait up to 2 seconds
        long initial = System.currentTimeMillis();
        while (System.currentTimeMillis() - initial < 2000 && (
                !roster.getPresence(getBareJID(0)).isAvailable() ||
                        !getConnection(1).getRoster().getPresence(getBareJID(0)).isAvailable())) {
            Thread.sleep(100);
        }

        // Check that a presence is returned for the new contact
        Presence presence = roster.getPresence(getBareJID(0));
        assertTrue("Returned a null Presence for an existing user", presence.isAvailable());

        // Check that a presence is returned for the new contact
        presence = getConnection(1).getRoster().getPresence(getBareJID(0));
        assertTrue("Returned a null Presence for an existing user", presence.isAvailable());

        // Delete user from roster
        roster.removeEntry(roster.getEntry(getBareJID(0)));

        // Wait up to 2 seconds
        initial = System.currentTimeMillis();
        while (System.currentTimeMillis() - initial < 2000 && (
                roster.getPresence(getBareJID(0)).getType() != Presence.Type.unavailable ||
                        getConnection(1).getRoster().getPresence(getBareJID(0)).getType() !=
                                Presence.Type.unavailable)) {
            Thread.sleep(100);
        }

        // Check that no presence is returned for the removed contact
        presence = roster.getPresence(getBareJID(0));
        assertFalse("Available presence was returned for removed contact", presence.isAvailable());
        assertEquals("Returned Presence for removed contact has incorrect type",
                Presence.Type.unavailable, presence.getType());

        // Check that no presence is returned for the removed contact
        presence = getConnection(1).getRoster().getPresence(getBareJID(0));
        assertFalse("Available presence was returned for removed contact", presence.isAvailable());
        assertEquals("Returned Presence for removed contact has incorrect type",
                Presence.Type.unavailable, presence.getType());
    }

    /**
     * Tests that the server and Smack are able to handle nicknames that include
     * < > characters.
     */
    public void testNotCommonNickname() throws Exception {
        // Add a new roster entry
        Roster roster = getConnection(0).getRoster();
        roster.createEntry(getBareJID(1), "Thiago <12001200>", null);

        Thread.sleep(500);

        assertEquals("Created entry was never received", 1, roster.getEntryCount());

        // Create another connection for the same user of connection 0
        ConnectionConfiguration connectionConfiguration =
                new ConnectionConfiguration(getHost(), getPort(), getServiceName());
        XMPPConnection conn2 = new XMPPConnection(connectionConfiguration);
        conn2.connect();
        conn2.login(getUsername(0), getPassword(0), "Home");

        // Retrieve roster and verify that new contact is there and nickname is correct
        Roster roster2 = conn2.getRoster();
        assertEquals("Created entry was never received", 1, roster2.getEntryCount());
        RosterEntry entry = roster2.getEntry(getBareJID(1));
        assertNotNull("New entry was not returned from the server", entry);
        assertEquals("Roster item name is incorrect", "Thiago <12001200>", entry.getName());
    }

    /**
     * Clean up all the entries in the roster
     */
    private void cleanUpRoster() {
        for (int i=0; i<getMaxConnections(); i++) {
            // Delete all the entries from the roster
            Roster roster = getConnection(i).getRoster();
            final CountDownLatch removalLatch = new CountDownLatch(roster.getEntryCount());
            roster.addRosterListener(new RosterListener() {

                @Override
                public void presenceChanged(Presence presence) {}

                @Override
                public void entriesUpdated(Collection<String> addresses) {}

                @Override
                public void entriesDeleted(Collection<String> addresses) {
                    removalLatch.countDown();
                }

                @Override
                public void entriesAdded(Collection<String> addresses) {}
            });

            for (RosterEntry entry : roster.getEntries()) {
                try {
                    roster.removeEntry(entry);
                }
                catch (XMPPException e) {
                    e.printStackTrace();
                    fail(e.getMessage());
                }
            }

            try  {
                removalLatch.await(5, TimeUnit.SECONDS);
            }
            catch (InterruptedException e) {
                fail(e.getMessage());
            }
        }

        assertEquals("Wrong number of entries in connection 0", 0, getConnection(0).getRoster().getEntryCount());
        assertEquals("Wrong number of entries in connection 1", 0, getConnection(1).getRoster().getEntryCount());
        assertEquals("Wrong number of entries in connection 2", 0, getConnection(2).getRoster().getEntryCount());
    }

    /**
     * Tests the creation of a roster and then simulates abrupt termination. Cached presences
     * must go offline. At reconnection, presences must go back to online.
     * <ol>
     *     <li> Create some entries
     *     <li> Breack the connection
     *     <li> Check offline presences
     *     <li> Whait for automatic reconnection
     *     <li> Check online presences
     * </ol>
     */
    public void testOfflinePresencesAfterDisconnection() throws Exception {
        // Add a new roster entry
        Roster roster = getConnection(0).getRoster();
        roster.createEntry(getBareJID(1), "gato11", null);
        roster.createEntry(getBareJID(2), "gato12", null);

        // Wait up to 2 seconds to let the server process presence subscriptions
        long initial = System.currentTimeMillis();
        while (System.currentTimeMillis() - initial < 2000 && (
                !roster.getPresence(getBareJID(1)).isAvailable() ||
                        !roster.getPresence(getBareJID(2)).isAvailable())) {
            Thread.sleep(100);
        }

        Thread.sleep(200);

        // Break the connection
        getConnection(0).notifyConnectionError(new Exception("Simulated Error"));

        Presence presence = roster.getPresence(getBareJID(1));
        assertFalse("Unavailable presence not found for offline user", presence.isAvailable());
        assertEquals("Unavailable presence not found for offline user", Presence.Type.unavailable,
                presence.getType());
        // Reconnection should occur in 10 seconds
        Thread.sleep(12200);
        presence = roster.getPresence(getBareJID(1));
        assertTrue("Presence not found for user", presence.isAvailable());
        assertEquals("Presence should be online after a connection reconnection",
                Presence.Type.available, presence.getType());
    }

    protected int getMaxConnections() {
        return 3;
    }

    protected void setUp() throws Exception {
        super.setUp();
        cleanUpRoster();
    }

    @Override
    protected void tearDown() throws Exception {
        cleanUpRoster();
        super.tearDown();
    }

    private class RemovalListener implements RosterListener {
        private CountDownLatch latch;

        private RemovalListener(CountDownLatch removalLatch) {
            latch = removalLatch;
        }

        @Override
        public void presenceChanged(Presence presence) {}

        @Override
        public void entriesUpdated(Collection<String> addresses) {}

        @Override
        public void entriesDeleted(Collection<String> addresses) {
            latch.countDown();
        }

        @Override
        public void entriesAdded(Collection<String> addresses) {}
    };

}

redpajama_set_name: RedPajamaGithub


INC International Concepts Be Mystical Silver sequin front gray top. NWTS. Size Petite Medium. Rayon 95%. Spandex 5%. Lining 100% nylon. Hand wash cold. Pit to pit 18.5" flatlay Sleeveless Length 27" All measurements are approximate.


text:
Marilyn Parker, Reporter
Brianna Andrews, Reporter, weekend anchor
Brie Isom, Reporter
Published: January 18, 2023, 6:35 AM
Updated: January 18, 2023, 6:29 PM
Tags: Governor DeSantis, Florida, Ron DeSantis, Coronavirus, COVID-19, vaccines, Health
DeSantis wants to permanently ban COVID-19 restrictions in Florida
Published: January 18, 2023, 6:35 AM Updated: January 18, 2023, 6:29 PM
Gov. Ron DeSantis is calling on state lawmakers to permanently ban COVID-19 mandates on masks and vaccines.
He also wants the Legislature to pass a measure that would protect doctors who express their views on topics like vaccines.
The governor has long criticized the federal government and major medical organizations about mandates.
It was a focus during his first term in office, and he says it will continue to be at the top of his agenda as he begins his second term.
The governor announced the proposals at a news conference in Panama City Beach.
He was there with Florida's Surgeon General Dr. Joseph Ladapo, an outspoken critic of COVID-19 vaccines who has repeatedly questioned their safety.
"I'm happy that we have a lot of consensus around this new legislation to really codify more common sense in Florida," Ladapo said.
Together they also asked lawmakers to shield physicians from being disciplined for expressing their views on issues such as COVID-19.
A similar measure failed in Tallahassee last year. It did not specifically mention COVID-19. They say this one, called "Permanently Protecting Floridians from the 'Biomedical Security State'" will.
The proposals include:
Permanently banning COVID-19 mask requirements
Permanently banning COVID-19 mask and vaccine requirements in all schools
Permanently banning COVID-19 vaccine passports
Permanently banning employers from hiring or firing based on whether a worker has gotten an MRNA vaccine
Lawmakers put some of those protections in place in a 2021 special session, this proposal, which the governor said he plans to pass in the upcoming legislative session in April, would make them permanent.
"We're really excited to be able to make it very clear that we're willing to lead the way," DeSantis said. "I think these permanent reforms are going to be very very good. People will be able to have great peace of mind. Because you know I used to tell people during the election I said you have the CDC adding the COVID jabs to childhood immunization schedule. People are going to use that around this country to justify mandates. You watch it's going to happen. And I said you don't have to worry about that as long as I'm governor."
House Minority Leader Fentrice Driskell criticized the governor's announcement, pointing to the more than 84,000 COVID-19 deaths in Florida since the start of the pandemic.
She said DeSantis has become "the No. 1 peddler of a dangerous message from the anti-vax establishment."
DeSantis is also proposing legislation that protects medical personnel who disagree with federal medical recommendations from agencies like the CDC.
The legislation will also protect religious views as well.
Local health professionals said they think this legislation will pass, even though they believe this is a political move that doesn't protect Floridians.
Despite what Ladapo said, a local health expert said the proposals are the exact opposite of common sense.
"Don't legislate against something today that we don't know what will happen in the future. It's only a political ploy," said Dr. Jeffrey Goldhagen, chief of the division of community and societal pediatrics at the University of Florida. "Surgeon General Dr. Ladapo has been identified by many credible organizations, including the American Academy of Pediatrics as an example, as promoting non-evidence-based approaches to this disease that has, in fact directly and indirectly resulted in the deaths of 1000s of Floridians."
Goldhagen said getting vaccines and wearing masks is a personal decision.
COVID is less prevalent today, but data shows people everywhere are still getting infected.
Marilyn Parker
A Florida girl and North Carolina A&T SU grad who thrives in breaking news.
Brianna Andrews
This native of the Big Apple joined the News4Jax team in July 2021.

redpajama_set_name: RedPajamaCommonCrawl


text:
Whole-Body Integration
Body and Being: Exploring Embodiment and Consciousness Through Rolfing® SI, Craniosacral & Visceral Work, and Diamond Approach® Insight Sessions
Diamond Approach
« Thanksgiving - The View of Gratitude, Inspired by Leonard Cohen | Main | In the News: Rolfing® SI Helps Hockey Player and Gymnasts »
A Dancer Speaks of His Body, a Rolfer Interprets
Here is a beautiful video, "Body of a Dancer," a cinematic poem about Tim Persent, a South African dancer based in the Netherlands. While it is stunning to watch, there's so much wisdom in the words he shares, which I'll discuss through the lens of my experience as a Rolfer™ working daily with people and their bodies, their injuries, their pain, their posture, and their transformations.
Body of a Dancer from Daniel Gallenkamp N.S.C. on Vimeo.
I was struck by so many of the things Persent says about his relationship to his body. While I'm not a dancer, it parallels what I have learned from my own trajectory of embodiment, and from my work as a Rolfer with so many other bodies. Let's start with Persent's opening statement: "I am a dancer – my body is my instrument. I take good care of it. It has treated me well. I have been dancing for the past twenty-five years." There are so many key ideas here, I want to parse it out:
"I am a dancer – my body is my instrument." For all of us, our bodies are instruments. Most basically, they are our vehicles through life, but more than that, they immediately express our presence, our energy, our emotions.
"I take good care of it." How many people take good care of their bodies? And what does good care mean? To me, good care is more than just the right food, sleep, and exercise, good care is about a dialogue and relationship with your body. This is something that many people awake to only when their bodies fail them, when an injury or illness prevents "business as usual." But has the body failed them, or is it trying to say something? (More on the dialogue with the body coming below.)
"It has treated me well." This is an expression of gratitude, not rejection. How many of our statements about our bodies reflect appreciation and gratitude, rather than rejection and complaint? From so many of my Rolfing® Structural Integration clients I hear negative statements, things like"I hate my legs," "I don't like how I look," or "Because of this injury I can't do xyz." What if we instead spoke of our bodies in a relationship of appreciation? If you are in relationship with a person and only complain, how good will that relationship be? A relationship benefits from scrutiny, but also from efforts to improve it and to enhance the appreciative elements.
"I have been dancing for the past twenty-five years." I would venture that part of the reason Persent has been dancing so long is that he has treated his body so well, and that has allowed him a long career.
After this opening statement, Persent describes how he warms up, and how he "asks" his fingers to relax. This is so important! When we ask our body something, and listen for a reply, we are in dialogue. If the body says something hurts, we listen and attend to it. If it says it's tired, we find ways to rest. If it says it wants to move, we allow that. If we try a new form of exercise, we ask the body how it feels, and modify the activity accordingly.
This type of feedback loop is the antithesis of the Nike slogan "Just do it," which encourages us to force ourselves and our bodies to do things along a one-way circuit without feedback. I see many clients who have injured themselves through this attitude, and who delay their recovery by continuing to "just do it" even though the bodies is saying "I can't run ten miles right now." Thankfully I also see many clients who are working with their bodies and dialoguing and learning what is uniquely right for each of them. For one Seattle Rolfing client, the Nike attitude and her friend's encouragement got her to sign up for a Boot Camp exercise program. Through the pain and muscle tension that were aggravated, her body told her to find a different form of exercise, at least for now, while her body was releasing old patterns through Rolfing sessions and learning how to regain length and flexibility.
Persent says he imagines his fingers to reach out so they become longer. Thus, even in stretching there's a gentle touch and an invitation to the body, through the mind, to expand. This is very different from an ethos of stretching that sees the body as a series of mechanical levers (bones) and muscles to be pulled on as if objects. In asking the body, imagining, and listening for a response, he is working with the mind-body as a unity, an embodied, intelligent presence. As Persent states, "By thinking an idea, something will happen to the body." Yoga and tai chi are wonderful body disciplines because they invite you into an idea (an asana, a form) with a mindfulness that works this mind-body loop, but mindfulness can be present in any activity, whether eliptical at the gym or a charge down the basketball court.
Persent also says, "Dancing is spirit made flesh: it physicalizes ideas, emotions, thoughts. That's why it is beautiful, powerful, and freeing." As a bodyworker, I see daily how many of us use out bodies to either contain and restrain our energies and emotions. The fascia, or connective tissue, that I work with as a Rolfer is the shrinkwrap that locks the muscles and bodies in physical constraints, and often those physical constraints involve a history of emotions, or injuries, of old self images. We could call this the "personal history made flesh." In freeing the fascia, we free those energies and emotions and make space for a new self image. In doing a Rolfing series, or any transformative bodywork, there is potential for every body to be more "spirit made flesh." This is a renewal, so it's also spirit and body made fresh.
While the average body, not trained for years in dance, will never be able to do many of the things Persent can do, we all have the potential to evolve to experience our bodies with the presence, consciousness, and embodiment he exemplifies.
Posted at 04:20 PM in Auto/Work Accidents, Books, Films, Resources, Mind-Body-Spirit, Pain, Rolfing® SI | Permalink
Reblog (0) | | | | Save to del.icio.us
Rolfing® Ten Series Transforms Opera Singer on Many Levels
RIP Tim Law, Model for the Rolfing® Logo
Rolfing® SI and Athletic Performance
A Visual of Fascia and Fascial Compartments
Beyond Technique: What Differentiates Rolfing® SI and Other Advanced Bodywork from Massage
Hoop Dance Shows High Level of Embodiment
Rolfer Helps Seattle Seahawks Stay in Top Form
Seattle Seahawks Wide Receiver Golden Tate Says Rolfing® Sessions Help Him Stay in the Game
The Psoas as an Anti-Gravity Machine!
Auto/Work Accidents
Books, Films, Resources
Craniosacral Work
Meditation & Spiritual Work
Rolfing® SI
Visceral Work
Check out Anne Hoff Rolfing Craniosacral & Visceral Work on Yelp
Follow @Anne_Hoff
Anne F. Hoff - Whole Body Integration
© Anne Hoff / Whole-Body Integration 2008-2019


text:
Alphabet's Loon Taps Telecom Veterans for Advisory Board
By Bevin Fletcher | January 15, 2019
Alphabet's Project Loon business has stacked a newly formed advisory board with telecom veterans to help commercialize the stratospheric balloon internet technology through partnerships with mobile network operators worldwide.
Officially launched in 2013, Loon is an innovative project that deploys large balloons affixed with antennas into the stratosphere to deliver LTE-connectivity using shared spectrum to people in rural and remote areas.
In 2017, the FCC cleared Project Loon to help re-connect wireless and internet communications in hurricane-ravaged areas of Puerto Rico. Working with AT&T and various agencies, the project moved balloons across the island to deliver emergency communications services.
In a Medium post, Loon's CEO Alastair Westgarth said since concluding the technology actually does work, the next step is partnering with MNOs, which have vast experience bringing connectivity to billions of users globally.
"With Loon's technology, we see a valuable opportunity to help MNOs reach more people in areas that have been difficult or impossible to serve," Alastair wrote. "Loon is an infrastructure solution that will allow MNOs to expand their networks and attract new customers."
To assist with those efforts, Loon has brought in "some serious expertise," Alastair said.
The new advisory board includes wireless heavy hitters including Craig McCaw, who started and ran McCaw Cellular, which was built into a leading wireless company that was acquired by AT&T in 1994.
"I've spent a lifetime working on technology to break down barriers so people don't have to be confined to large metropolitan areas to communicate with one another and the broader world. In my view, leveling the playing field is both a moral and practical imperative for our future," McCaw said.
Ian Small, CEO of Evernote, is also on the board, and was previously global chief data officer and on the executive committee of Telefónica S.A.
"I first encountered Loon while working at Telefónica, where I was responsible for evaluating how a service like Loon could fit into an existing MNO like Telefónica across its many geographies and the variety of economies it encompasses," Small said. "I have been incredibly impressed not just with the technology itself, but with the Loon team's ability to continuously confront and solve a massive variety of technical and business problems in their ongoing quest to deliver a compelling commercial business model for connecting people anywhere."
Marni Walden, a former top executive at Verizon as EVP and president of Global media and New Business, is bringing two decades of wireless industry experience to Project Loon.
"Loon holds a lot of promise for mobile network operators, providing a flexible and cost-effective solution to help reach new customers and better serve existing ones," Walden said. After decades in the


text:
const Request = require('../request');
const Context = require('../context');

const CONFIRMATION_TYPE = 'confirmation';

module.exports = function (...args) {
  if (this.isStopped) {
    return;
  }

  const request = new Request(...args);

  if (
    request.body.type !== CONFIRMATION_TYPE
    && this.settings.secret
    && this.settings.secret !== request.body.secret
  ) {
    request.body = 'error';

    return;
  }

  if (request.body.type !== CONFIRMATION_TYPE) {
    request.body = 'ok';

    return this.next(new Context(request.body, this));
  }

  request.body = this.settings.confirmation.toString();
};


text:
KINNFOLK
MEET KINNFOLK
Josh and Julie Kinn weave bouzouki, bodhran, and smooth vocal harmonies in their Celtic folk music from the heart of the Blue Ridge Mountains.
Since forming Kinnfolk in late 2018, the pair have played at festivals and listening rooms throughout Virginia and beyond. Their self-titled debut album dropped on March 7, 2020 (just one week before COVID-19 shut the state down!) and they released their first original single, "The Borden Set," later that year. In 2021, Kinnfolk was one of 10 bands--representing 10 countries from across the globe--selected to be part of the inaugural Robinson Emerging Artist Showcase hosted by the Goderich Celtic Roots Festival. As their notoriety has expanded worldwide, their music has been featured on podcasts and radio programs across the globe.
The duo released their second album, The Knotted Circle, on October 14, 2022.
Join the Kinn-Fold
Roanoke, VA | kinnfolk.music@gmail.com | © 2021 by Kinnfolk


I didn't have an Xbox Tip of the Week for you this morning. But I did remember that there was some Xbox related news I wanted to share with you!
The unveiling of what I still call the Xbox 365 will take place on May 21st, 2013. Microsoft is calling the event the #XboxReveal – and some of the pictures floating around include a simple flat "X" with a circle around it (highly similar to a vintage X-Men logo!. The circle around the X just makes me think my Xbox 365 name is even more accurate. We'll see. You can bet I'll be tuning in!
5 Guys? Oh my Dayum!


This week we talked about work, and rest, about slowing down, and breathing deep, and trust. We talked about why our work matters, really matters, in a place where nothing much seems to matter, and how, ultimately, everything matters–from our tedious chores to our grand accomplishments.
Join us? And let us know–what would the long term effect be, year after year, if you learned the secret of real rest? How would it change you? How would it change your family?


text:
Wife of American Christian Doctor Killed in Afghanistan Holds 'No Ill-Will' Towards Gunman
By Joshua Cheng ( [email protected] ) Apr 24, 2014 08:37 PM EDT Comment
Dr. Jerry Umanos is pictured in this undated photo provided by the Lawndale Christian Health Center in Chicago. Courtesy of Bernardo Barrios/The Lawndale Christian Health Center/AP Photo
The wife of an American Christian doctor who was one of three U.S. doctors gunned down today in an Afghan hospital said that she has no ill-will towards the gun-man who did this, but hopes those who hear her message will open their hearts to the Afghan people in memory of her husband.
"Our family and friends have suffered a great loss. While our hearts are aching for our loss, we are also aching for the loss of other family as well as the multiple losses that the Afghan people have experienced," Jan Schuitema Umanos read a statement today at a press conference.
Her husband Jerry Umanos was a pediatrician who had given up his Chicago practice to spend the last nine years caring for children in the war-torn Afghanistan.
Mrs. Umanos expressed her heart-aches and acknowledged that it will take time for her and her family to adjust to the loss, but she emphasized her husband's will would be to let the public know his love for the Afghan people.
"We don't have any ill-will towards the Afghan people in general and even the gun-man who did this," she said. "We don't know what his history is."
Moreover, Mrs. Umanos implored for the plight of Afghan people as "they are no different from us."
The Umanos couple are both devout Christians, and she testified her husband's life of serving the underserved in Afghanistan and other needy populations in the world.
"He always had a desire to be the hands and feet of Christ," she said. "He was always a light for Christ and he had a love and commitment that he expressed for the Afghan people, because of that love for Christ."
Umanos practiced medicine at Lawndale Christian Health Center in Chicago for 16 years. There he treated many staff members' children as their pediatrician.
"Today we have lost a very, very dear friend and devoted colleague," Dr. Bruce Rowell, chief clinical officer of Lawndale Hospital, said at a press conference today, according to ABC News. "Dr. Umanos has been a pediatrician for over 25 years and he was the pediatrician for many of our own children.
Umanos left to be a staff doctor for a Christian charity hospital in Kabul. That hospital, CURE International, provided medical services for women and children and was where the deadly shooting took place this morning.
The attacker was a member of the Afghan Public Protection Force assigned to guard the hospital. At this point, they are unsure of his motive for the attacks. This is the second "insider attack" by a member of the Afghan Police force this month.
According to the NY Times, an Afghan government official said the policeman, Ainuddin, had only recently been assigned to the unit guarding the hospital. Witnesses and officials said he fired on the Americans when they entered a security vestibule at the entrance to the building, killing them and wounding a female doctor. Ainuddin, who like many Afghans goes by one name, then entered the interior courtyard, where he continued to fire, officials said.
"The shooter, who was not an employee of CURE, has been identified as a member of the security detail assigned to the hospital, shot himself after the attack," CURE Hospital said in a statement. "He was initially treated at the CURE Hospital and has now been transferred out of our facility into the custody of the government of Afghanistan."
According to Cure International's website, the organization's mission is healing the sick and proclaiming the kingdom of God. It was founded in 2005 by invitation of the Afghan Ministry of Health, and has been treating 37,000 patients a year, specializing in child and maternity health as well as general surgery.
Father, Son Among Three American Christian Relief Workers Killed at Afghanistan Hospital
Afghan Policeman goes on killing rampage at Hospital striving to be the "21st century expression of Jesus"
Francis Chan Identifies Main Reason Chinese Underground Church is 'Unstoppable' Despite Persecution
China Closes One of Beijing's Largest Churches Amid Ongoing Crackdown on Christianity


text:
Alums snare top prize for film on endangered sea turtles
By Steven Maier
Michigan State alums and sibling filmmakers Laura and Rob Sams have won Best Engaging Youth Film at the Jackson Hole Film Festival for the second time in their careers
Their short children's film, "My Haggan Dream," follows a girl as she learns about the life cycle of the endangered sea turtles of Saipan, the largest of the Northern Mariana Islands in the West Pacific.
My Hagan Dream
"I think we were a bit surprised we won this year because we were up against some really good films," Laura said.
Laura was there at Grand Teton National Park in Wyoming that night to receive the award. She announced the victory with a text to her brother, who had stayed at home in Portland, Oregon, to care for his wife, who would give birth to their second son the next day.
Rob and Laura took an environmental filmmaking class together at Michigan State, taught by former Knight Center director Jim Detjen. Their final project featured a wild turkey and a Ben Franklin impersonator lamenting his country's choosing of the bald eagle as the national bird. The film was inspired by a letter Franklin wrote to his daughter expressing his preference for the turkey.
The Sams siblings and their company, Sisbro Studios, have won more than 50 international awards since Laura and Rob graduated from Michigan State in 2003. They've won first place awards for their youth films at the Wildscreen Film Festival, BLUE Ocean Film Festival and International Wildife Film Festival.
"I feel like we have a knack for reaching young audiences and also appealing to adults," Laura said.
The two got their start when they turned their cousin's New York Times-bestselling children's book, Stranger in the Woods, into a 25-minute film, receiving an award nomination at the Wildscreen Film Festival in Bristol, England. It was there they decided to continue to make children's nature films
"It seemed like most of the other films in the children's category were afterthoughts, and they weren't very well made," Rob said. "We thought, 'we can do that.'"
Laura and Rob Sams
So they opened Sisbro. The two make films, produce videos for Portland nonprofits and perform at schools across the country, showing kids the ins and outs of movie-making. Their latest performance is based on their short film "The Shark Riddle." It's complete with a grand-finale inflation of a life-size 23-foot basking shark.
Sisbro is now working alongside the Jim Henson Company, filming segments and writing music for the PBS show "Splash and Bubbles." The siblings are developing a television program of their own and have a children's book about sneezing in the works.
Rob and Laura will give a presentation at WKAR studios, housed in Michigan State's College of Communication Arts & Sciences Building, on January 27 during a one-year celebration of the studio's 24-hour kids' channel.
This entry was posted in Alumni, Awards, Speakers, Students, Uncategorized on November 15, 2017 by Barb Miller.
← Reminder of Knight Center documentary grant competition Should we teach non-journalists to do journalism? →


text:
var Terrain;
(function (Terrain) {
    var Sounds;
    (function (Sounds) {
        var SoundsContainer = (function () {
            function SoundsContainer(scene) {
                this.scene = scene;
                this.sounds = new Terrain.Utilities.Dictionary();
            }
            SoundsContainer.Initialize = function (scene) {
                if (SoundsContainer.instance == null) {
                    var soundsContainer = new SoundsContainer(scene);
                    soundsContainer.ImportSound(soundsContainer.BuildSoundName(Terrain.Actions.ActionType.consume, Terrain.MapElement.MapElementType.TROPICAL_RAIN_FOREST_TERRAIN_TREE), "Assets/Sounds/axe_chopping_tree.mp3");
                    soundsContainer.ImportSound(soundsContainer.BuildSoundName(Terrain.Actions.ActionType.finishConsumption, Terrain.MapElement.MapElementType.TROPICAL_RAIN_FOREST_TERRAIN_TREE), "Assets/Sounds/tree_falls_down.mp3");
                    soundsContainer.ImportSound(soundsContainer.BuildSoundName(Terrain.Actions.ActionType.create, Terrain.MapElement.MapElementType.thatchedBuilding), "Assets/Sounds/hammer_hitting_nail_into_wood.mp3");
                    SoundsContainer.instance = soundsContainer;
                }
            };
            SoundsContainer.GetInstance = function () {
                return SoundsContainer.instance;
            };
            SoundsContainer.prototype.Play = function (action, mapElementType) {
                var result = this.sounds.getByKey(this.BuildSoundName(action, mapElementType));
                if (result) {
                    result.play();
                }
            };
            SoundsContainer.prototype.BuildSoundName = function (action, mapElementType) {
                return action + "_" + mapElementType;
            };
            SoundsContainer.prototype.ImportSound = function (name, url) {
                this.sounds.add(name, new BABYLON.Sound(name, url, this.scene));
            };
            return SoundsContainer;
        })();
        Sounds.SoundsContainer = SoundsContainer;
    })(Sounds = Terrain.Sounds || (Terrain.Sounds = {}));
})(Terrain || (Terrain = {}));
//# sourceMappingURL=SoundsContainer.js.map


"Paul Revere was not a statesman. Nor was he, in the usual acceptance of the term, even a great man. His immediate paternal ancestor had crossed the seas to carve out success in the new world, and had educated his son in the shop and the school.
"The time was big with portentous events. The wonderful new ideas of the rights of man were causing Europe to throb with the pulse-beats of human liberty, and rude pioneers in America were unconsciously becoming the subjects of the same stirring emotions. Men like Otis, Hancock, Warren and the Adamses soon began to disturb the peace by agitating against the abstract tyrannies of the mother country, and wherever they blazed the way they found ready and willing followers.
"Revere was one of the latter. He had the keen zest of the citizen whose patriotism is of the lusty type that causes him to wish to take an active part in all movements that make for civic progress, and civic progress from 1760 to the Revolution meant enlightened resistance to British parliamentary aggression.
"Most men like Revere--- somewhat above the average of the mass, but not possessing the usual elements of enduring fame-- pass out of life eulogized by their fellow-citizens; remembered by a circle of admiring and respecting friends until they also pass away; and are ultimately forgotten, finding no place upon the pages of written history.
"Paul Revere was rescued from this fate by an accident-- the witchery of a poet's Imagination. His famous ride on the night of the 18th of April, 1775, remained unsung, if not unhonored, for eighty-eight years, or until Longfellow in 1863 made it the text for his Landlord's Tale in the Wayside Inn.
In his book Gettemy describes the details before, during and after Revere's famous ride. Quoting from witnesses, participants and Revere himself, the author erases the many fictions surrounding the event, replacing them with the actual facts.
This is the life story of one of the peripheral characters of the Revolution often overlooked, standing as he does in the shadow of the likes of Washington, Jefferson and Franklin. But it's a life story worth knowing.


Ceiling or wall mount – 12"×24", 12"×36", 12"×48", 12"×72", 12"×96"
Two Type 302 stainless steel Phillips head fasteners secure lens in housing channel.
UV-stabilized, pearlescent or clear polycarbonate. Smooth exterior, linear prismatic interior. Nominal thickness .125". Linear silicone gasket to seal doorframe to housing.
UL and CUL listed for Wet Location – ceiling mount covered ceiling. UL and CUL listed for Damp Location – horizontal wall mount. Optional UL certified IP65 in compliance with IEC 60598 (IP65 Option) – ceiling mount. NSF2 Splash/Non-Food Zone. Photometry tested to the IESNA LM-79-08 standard by an ILAC / ISO17025 accredited laboratory.
for Peace of Mind Guarantee®. One (1) year warranty against defects in materials and workmanship.


I'm thankful that the people on my FACEBOOK FAN PAGE care enough to share their Facebook status updates about being thankful, or not being thankful, or rotten turkey, or various uses for turkey basters. They share a lot of information, actually. Too much...just like my own family, on Thanksgiving and every other day of the year. HAPPY THANKSGIVING!
Like these? Like my page on FACEBOOK. I'll be thankful, I swear.


People, no matter how much they love their dog, sometimes don't consider how desperately bored and unfulfilled some dogs get if they have little exercise or outlet for his/her breed instincts.
People in particular who have not lived with dogs before simply may not realise. It's not that they are being deliberately neglectful – it's a lack of knowledge.
It is no wonder when the outside world is an occasional 'treat' rather than a regular daily event, that a dog may become overwhelmed with either excitement or fear – or both.
The gentleman had had an emergency heart operation some weeks previously and will still take some time to fully recover. He was the resident dog walker as the lady of the house, who had arthritis, is not strong enough to manage Pip alone.
Pip is a 'she' – a very energetic eleven-month-old Golden Retriever who, temperamentally, is coping with the lack of stimulation and exercise remarkably well. The owners are doing their best with fetch games in their small garden and throwing a ball up and down the stairs, but that is all they can manage.
Young and enthusiastic, the outside world is just too stimulating for Pip and is getting more so by the day. She is desperate to introduce herself to every person she sees and most especially every dog.
When I went to visit them, Pip walked around the house beautifully with me with no leash, and then walked perfectly from room to room on a long loose leash, but as soon as we got outside the front door she was on sensory overload. Even immediately outside their front door was a huge adrenalin rush for her. The only way anybody could walk her anywhere in that state of mind would be by using physical restraint and that is exactly what I work to avoid.
So I came back in the house.
Because day by day Pip has increasingly insufficient opportunity to interact with other dogs, dogs are understandably super-exciting to her and maybe just a little daunting as well. Even traffic is a buzz.
So here is something the lady can do. She can keep going in and out of the front door as well as standing around out there and do it so frequently that Pip starts to become more accustomed to it and the world outside the front door loses some of its novelty value.
I suggested a dog walker for now, until the gentleman regains his strength. This way Pip can also get to be walked with other dogs so that she remains socialized.
There are more things they can do at home to stimulate and fulfill her. Scenting, searching and foraging is great for healthy stimulation and giving the dog's nose the work it is designed to do. They can work on her recall too. They can walk her around the house and garden to practise their new loose-lead walking technique. Instead of reacting when she jumps up at them, as well as turning away they can actively mark and reward her when her feet are on the ground. They can mark other times when she's calm or lies down.
Looking for and rewarding what we do want rather than simply reacting to the behavior we don't want not only makes the dog happy, it makes us happy too.
Understandably Pip is a little nervous of new things. The less she is out in the real world the more sensitive she becomes.
I wanted to try a soft but secure harness on her, one that the leash can hook to both chest and back (the Perfect Fit Harness available here in the UK is my favourite from www.dog-games-shop.co.uk). I left it on the floor for her to investigate. She was a little wary of it. I worked on introducing it to her very slowly: chicken for sniffing it, chicken for hearing it simply click to together; soon she was putting her own head through the hole to get the food and I carried on desensitizing her. I didn't push it. They will carry on taking it very slowly and she should be welcoming the harness after a couple more sessions.
Thus she will associate the harness with good stuff.
Remember a song that brings back wonderful memories? 'Your song' (mine was 'Bridge Over Troubled Water' – a very long time ago!)? That song is associated with special times and your brain is now hard-wired so whenever you hear it you re-live a little how you felt back then. This is the sort of positive association we want to give our dogs when we are desensitizing them to something.
It's now just over two weeks later and things are looking up for Pip. Her owners have employed a dog walker three days a week.
I received an email today: "We took Pip out down the road yesterday on her harness and we were both impressed with how well she walked. It was a pretty stress free little stroll and we even met children on scooters which didn't really faze her. Even when we met another dog she was fairly sensible!
The hunt the treat game in the garden is probably her favourite game to date and she is getting rather good at it, she waits excitedly inside the kitchen while one of us lays the bait. Then its nose down and away then she wont stop till she's found it all".
This hunting game is 'Sprinkles', devised and trademarked by Sally Hopkins. Take a look here. Sprinkles is a very simple concept and has powerful results. Benefits listed include mental exercise, reducing stress, encouraging deep sleep, building confidence – and it's simple to do.
I have always played games with my ridgy boy. It's just part of daily life! As well as being fun it brings us closer together. It gets rid of all hyperness & he then behaves brilliantly outside on lead.
Hi Karen, have you considered that to the dog a hunting session from time to time could be as beneficial as play, if not more so? If she wants to stop playing in order to hunt, then this probably answers that question:-). Nose-work can tire a dog in a healthy way.
These are great ideas for clients with physical limitations–and time limitations, too. We see a fair amount of both types at our training school outside Washington, DC, especially dog owners who work long hours and therefore struggle with perpetually underexercised and understimulated dogs. I was interested to read about Sprinkles game and its many benefits. I feed my dog this way inside, scattering and hiding her kibbles all over the house. I've always wanted to try it in the yard, but I'm afraid if I do that, she'll stop playing with me out there and just want to hunt!


[Progress in clinical research of pancreatic cancer: from "resection" to "cure"].
Because of the high malignancy of pancreatic ductal adenocarcinoma, the cancer-related mortality of pancreatic ductal adenocarcinoma is increasing year by year. Despite advance in surgical techniques, the 5-year survival rate of patients after resection is still less than 30%. Recent studies have found that pancreatic ductal adenocarcinoma is a systemic disease, which may not be cured completely by up-front resection, but requires perioperative multidisciplinary therapy. With the concept of "potentially curable pancreatic cancer" , clinicians need to evaluate the resectability of pancreatic ductal adenocarcinoma accurately before operation, and use the innovative multidisciplinary therapy including neoadjuvant chemoradiotherapy,surgery and adjuvant chemoradiotherapy to improve the R0 resection rate and reduce the risk of early metastasis. Therefore, the therapeutic goal of pancreatic ductal adenocarcinoma is no longer "simple resection" , but long survival through perioperative multidisciplinary treatment. In this article, we briefly introduce the progress of resectability assessment, surgical techniques and perioperative adjuvant therapy of "potentially curable pancreatic cancer" .


text:
Příjmení Englund nosí více významných osobností:

 Peter Englund (* 1957) – švédský historik a spisovatel
 Robert Englund (* 1947) – americký herec
 Thobbe Englund (* 1979) – švédský kytarista

redpajama_set_name: RedPajamaWikipedia


text:
Category: SLA
Unpacking SLA articles
This seems like an interesting Youtube channel. Florencia Henshaw
@Prof_F_Henshaw looks at relevant SLA research papers and provides an overview of their contents and implications for research in the field. So far (end of July 2021) two episodes have been published.
Posted on 29th July 2021 29th July 2021 Categories research, SLA
There are infinite ways of using language
Epistemological relativity, for an ELT professional, means that one accepts
that there are infinite ways of using language and that differences do not
automatically call for judgmental evaluation. (Leung, 2005: p. 138)
Leung, C. (2005). Convivial communication: Recontextualizing communicative competence. International Journal of Applied Linguistics, 15(2), 119-144.
Posted on 10th May 2021 10th May 2021 Categories analysis of language, applied linguistics, learner language, learning, linguistics, quotations, quotes, Quotes and power ideas, SLATags Leung
An equitable CALL / SLA interface
From Ortega, L. (2017) New CALL-SLA Research Interfaces for the 21st Century: Towards Equitable Multilingualism. Calico Journal, 34.3, 285–316.
The majority of the world is multilingual, but inequitably multilingual, and much of the world is also technologized, but inequitably so. Thus, researchers in the fields of computer-assisted language learning (CALL) and second language acquisition (SLA) would profit from considering multilingualism and social justice when envisioning new CALL-SLA interfaces for the future.
I remain convinced that "in the ultimate analysis, it is not the methods or the epistemologies [or the theories] that justify the legitimacy and quality of human research, but the moral-political purposes that guide sustained research efforts" (Ortega, 2005, p. 438). The need to incorporate ethics and axiology in the study of language learning seems all the more acute in our present world, where human solidarity and respect for human diversity, including linguistic diversity, is under siege, creating serious vulnerabilities for the goal of multilingualism and the lives of many multilinguals. Echoingbut also widening Chun's (2016) call for an ecological CALL in the post-2000s era, the overarching question that I have submitted to orient CALL–SLA research interfaces for the 21st century is: What technologies, teaching paradigms, views of language, and principal uses of computers can nurture multilingualism and digital literacies for all, not just for the privileged?
Posted on 11th December 2020 11th December 2020 Categories CALL, SLA, SLA & social justiceTags Lourdes Ortega
5 recent papers on language complexity and learner language
Bulté, B., & Roothooft, H. (2020). Investigating the interrelationship between rated L2 proficiency and linguistic complexity in L2 speech. System, 102246.
This study investigates the relationship between nine quantitative measures of L2 speech complexity and subjectively rated L2 proficiency by comparing the oral productions of English L2 learners at five IELTS proficiency levels. We carry out ANOVAs with pairwise comparisons to identify differences between proficiency levels, as well as ordinal logistic regression modelling, allowing us to combine multiple complexity dimensions in a single analysis. The results show that for eight out of nine measures, targeting syntactic, lexical and morphological complexity, a significant overall effect of proficiency level was found, with measures of lexical diversity (i.e. Guiraud's index and HD-D), overall syntactic complexity (mean length of AS-unit), phrasal elaboration (mean length of noun phrase) and morphological richness (morphological complexity index) showing the strongest association with proficiency level. Three complexity measures emerged as significant predictors in our logistic regression model, each targeting different linguistic dimensions: Guiraud's index, the subordination ratio and the morphological complexity index.
The present study on the relationship between nine complexity measures and five different levels of oral proficiency, as measured by the IELTS speaking test, confirms previous studies which have found that learners at higher levels of proficiency tend to produce more complex language. Even though we found higher complexity scores in higher proficiency levels for measures of lexical, syntactic and morphological complexity, the observed patterns differ substantially across measures. If we only consider differences between adjacent proficiency levels, we observed a significant increase in morphological richness (as measured by the morphological complexity index) between levels 4 and 5, in lexical diversity (Guiraud's index) between levels 5 and 6, and in overall syntactic (mean length of AS-unit), clausal (mean length of clause) and phrasal complexity (mean length of noun phrase) as well as lexical diversity (Guiraud's index and HD-D) between levels 6 and 7. We did not observe significant differences in complexity between the highest two proficiency levels in our dataset (i.e. 7 and 8). In addition, we found that the Guiraud index, the subclause ratio and the morphological complexity index applied to verbs were significant predictors for proficiency level in our ordinal logistic regression model, explaining around two thirds of the variance in proficiency level.
Crossley, S. (2020). Linguistic features in writing quality and development: An overview. Journal of Writing Research, 11(3).
This paper provides an overview of how analyses of linguistic features in writing samples provide a greater understanding of predictions of both text quality and writer development and links between language features within texts. Specifically, this paper provides an overview of how
language features found in text can predict human judgements of writing proficiency and changes in writing levels in both cross-sectional and longitudinal studies. The goal is to provide a better understanding of how language features in text produced by writers may influence writing quality
and growth. The overview will focus on three main linguistic construct (lexical sophistication, syntactic complexity, and text cohesion) and their interactions with quality and growth in general. The paper will also problematize previous research in terms of context, individual differences, and reproducibility.
While there are a number of potential limitations to linguistic analyses of writing, advanced NLP tools and programs have begun to address linguistic complications while better data collection methods and more robust statistical and machine learning approaches can help to control for confounding variables such as first language
differences, prompt effects, and variation at the individual level. This means that we are slowly gaining a better understanding of interactions between linguistic production and text quality and writing development across multiple types of writers, tasks, prompts, and disciplines. Newer studies are beginning to also look at interaction between linguistic features in text (product measures) and writing process characteristics such as
fluency (bursts), revisions (deletions and insertions) or source use (Leijten & Van Waes, 2013; Ranalli, Feng, Sinharry, & Chukharev-Hudilainen, 2018; Sinharay, Zhang, & Deane, 2019). Future work on the computational side may address concerns related to the accuracy of NLP tools, the classification of important discourse structures such as claims and arguments, and eventually even predictions of argumentation strength, flow,
and style.
Importantly, we need not wait for the future because linguistic text analyses have immediate applications in automatic essay scoring (AES) and automatic writing evaluation (AWE), both of which are becoming more common and can have profound effects on the teaching and learning of writing skills. Current issues for both AES and AWE involve both model reliability (Attali & Burstein, 2006; Deane, Williams, Weng, &
Trapani, 2013; Perelman, 2014) and construct validity (Condon, 2013; Crusan, 2010; Deane et al., 2013; Elliot et al., 2013, Haswell, 2006; Perelman, 2012), but more principled analyses of linguistic feature, especially those that go beyond words and structures, are helping to alleviate those concern and should only improve over time. That being said, the analysis of linguistic features in writing can help us not only better understand writing quality and development but also improve the teaching and learning of writing skills and strategies.
Díez-Bedmar, M. B., & Pérez-Paredes, P. (2020). Noun phrase complexity in young Spanish EFL learners' writing: Complementing syntactic complexity indices with corpus-driven analyses. International Journal of Corpus Linguistics, 25(1), 4-35.
he research reported in this article examines Noun Phrase (NP) syntactic complexity in the writing of Spanish EFL secondary school learners in Grades 7, 8, 11 and 12 in the International Corpus of Crosslinguistic Interlanguage. Two methods were combined: a manual parsing of NPs and an automatic analysis of NP indices using the Tool for the Automatic Analysis of Syntactic Sophistication and Complexity (TAASSC). Our results revealed that it is in premodifying slots that syntactic complexity in NPs develops. We argue that two measures, (i) nouns and modifiers (a syntactic complexity index) and (ii) determiner + multiple premodification + head (a NP type obtained as a result of a corpus-driven analysis), can be used as indices of syntactic complexity in young Spanish EFL learner language development. Besides offering a learner-language-driven taxonomy of NP syntactic complexity, the paper underscores the strength of using combined methods in SLA research.
Our research highlights the need for using combined methods of analysis that examine the same data from different perspectives. The use of statistical complexity analysis software (Kyle, 2016) has allowed us to account for every single noun and nominal group in the corpus. The range of indices in Kyle (2016) has allowed us to approach syntactic phenomena from a purely quantitative perspective. As a result, we have found that the use of the "Nouns as modifiers" index yields significant differences between Grades 8 and 12, which confirms our finding that premodification slots are of interest for the study of learner language development. The corpus-driven manual analysis of NPs, in turn, has allowed us to gain an in-depth understanding of the types of complexity patterns used by learners in the different grades. As a result of this approach, our research has produced a learner-generated taxonomy of NP syntactic complexity that can be used in studies that examine learner language in other contexts. By combining these two research methods, we hope to make a case for their integration and to enrich methodological pluralism (McEnery & Hardie, 2012; Römer, 2016). Moreover, the findings obtained with the two methods are consistent and thus show promising avenues for collaboration and complementarity.
Two methodological features of this study are worth considering. The fine-grained classification of NP types, which includes every NP type found in the corpus, may have determined the results of the statistical analysis: the more detailed the classification of NP, the more likely it is to obtain a low number of instances in some of the NP types. Another feature to be considered is that the manual parsing conducted did not include every single noun in the corpus. This may be seen as a limitation of this study. Another limitation lies in the use of automatic analysis software and POS tagging that was not written primarily to navigate learner language. The impact of these systems on learner-language analysis has rarely been explored in corpus linguistics, and we believe that these software solutions should be sensitive to the range of disfluencies of learner language. If the small number of errors found in the use of automatic tools in learner language are considered tolerable, the automatic analysis of complexity and frequency indices in learner language can be beneficial. Finally, this study has not offered a Contrastive Interlanguage Analysis (CIA) (Granger, 1996, 2015) as it is beyond the scope of this paper to look at other L1 learners or English as an L1.
Khushik, G. A., & Huhta, A. (2019). Investigating Syntactic Complexity in EFL Learners' Writing across Common European Framework of Reference Levels A1, A2, and B1. Applied Linguistics.
The study investigates the linguistic basis of Common European Framework of Reference (CEFR) levels in English as a foreign language (EFL) learners' writing. Specifically, it examines whether CEFR levels can be distinguished with reference to syntactic complexity (SC) and whether the results differ between two groups of EFL learners with different first languages (Sindhi and Finnish). This sheds light on the linguistic comparability of the CEFR levels across L1 groups. Informants were teenagers from Pakistan (N = 868) and Finland (N = 287) who wrote the same argumentative essay that was rated on a CEFR-based scale. The essays were analysed for 28 SC indices with the L2 Syntactic Complexity Analyzer and Coh-Metrix. Most indices were found to distinguish CEFR levels A1, A2, and B1 in both language groups: the clearest separators were the length of production units, subordination, and phrasal density indices. The learner groups differed most in the length measures and phrasal density when their CEFR level was controlled for. However, some indices remained the same, and the A1 level was more similar than A2 and B2 in terms of SC across the two groups.
Vercellotti, M. L. (2019). Finding variation: assessing the development of syntactic complexity in ESL Speech. International Journal of Applied Linguistics, 29(2), 233-247.
This paper examines the development and variation of syntactic complexity in the speech of 66 L2 learners over three academic semesters in an intensive English program. This investigation tracked development using hierarchical linear modeling with three commonly‐used, recommended measures of productive complexity (i.e., length of AS‐unit, clause length, subordination) and three exploratory measures of structural complexity (i.e., syntactic variety, weighted complexity scores, frequency of nonfinite clauses) to capture different aspects of syntactic complexity. All measures showed growth over time, suggesting that learners are not forced to prioritize certain aspects of the construct at the expense of others (i.e., no trade‐off effects) across development. The unexplained significant variation found in these data differed among the measures reinforcing notions of multidimensionality of linguistic complexity.
The results can inform the measurement choices and methodology for future English L2 research. As would be expected with language learning performance, there was substantial variation. L2 researchers likely want to use practical measures that capture the variation between individuals and across development. The variation in different parts of the measure's models suggest that the measures capture separate aspects of complexity, and some suggestions can be offered. Subordination may serve as a practical, broad measure of complexity in instructed contexts. The easily calculated phrasal complexity revealed variation early in development, as did the weighted structural complexity measure. Moreover, researchers may want to consider using the weighted complexity measure for research investigating individual differences in language performance. One possibility is to create a measure based on standard deviation (e.g., De Clercq & Housen, 2017) of the weighted complexity measure, if the study's purpose is to measure the variety of structural complexity in the language sample, rather than the growth of the developmentally‐aligned structural complexity. When investigating differences in language learning outcomes, general complexity and the weighted structural complexity may be useful, given the additional variation found in the models. The unexplained significant remaining variation between individuals is fodder for future longitudinal research. For instance, future research might consider how production may be influenced by the frequency and function of constructions in learners' L1s, motivation (Verspoor & Behrens, 2011), or individual speaking style (Pallotti, 2009). Overall, this paper offers a unique comparison of syntactic complexity, both productive and structural complexity measures, advancing our understanding of this most complex construct of language performance.
Posted on 4th June 2020 4th June 2020 Categories analysis of language, applied linguistics, automated tools, corpus, corpus linguistics, language analysis, learner language, SLATags Complexity
Dovchin (2020): Linguistic racism and international students
Sender Dovchin (2020) The psychological damages of linguistic racism and international students in Australia, International Journal of Bilingual Education and Bilingualism, DOI: 10.1080/13670050.2020.1759504
Some extracts from this paper
The concept of 'linguistic racism' in this study refers to the violation of one' s fundamental human rights based on how one speaks certain languages and how one's entitlements are denied and discriminated against in both institutional and non-institutional settings due to how one speaks English and other additional languages (Dovchin 2019a, 2019b).
Following relevant concepts such as 'linguicism' (Skutnabb-Kangas 2015, 2016), 'raciolinguistics' (Alim, Rickford, and Ball 2016), and 'raciolinguistic ideologies' (Flores and Rosa 2015), the concept of 'linguistic racism' focuses on the central role that language plays in the enduring relevance of race/racism, institutional/ interpersonal discrimination in the lives of people of colour, ethnic minorities, international students and Indigenous people, who experience linguistic disparity as an everyday lived reality.
The main ethos of the concept of 'linguistic racism' seeks to understand what it means to speak as a racialized subject in the dominant societies, following Skutnabb-Kangas's idea of 'linguicism' (2016, 583); 'the ideologies, structures, and practices that are used to legitimate, effectuate, and reproduce an unequal division of power and resources between groups defined on the basis of language.'
The essential point is, thus, to recognize, following Rosa (2016, 163), racialized ideologies of certain language practices that may define what is (il)legitimate language in terms of racial and ethnic groups whose linguistic practices are stereotypically understood to correspond to standardized written text. What might appear as perceptions of 'particular non-standardized language practices' may, in fact, 'racialize populations by framing them as incapable of producing any legitimate language' (Rosa 2016, 163).
The concept of 'linguistic racism' is further developed in this study by adding two new dimensions – (1) 'ethnic accent bullying'; (2) 'linguistic stereotyping.' First, 'ethnic accent bullying' refers to bullying towards English as second/foreign language speakers based on their biographical English accent – the accent connected with one's sociolinguistic histories and biographies (Blommaert 2009; Dovchin 2019b). 'Ethnic accent bullying' is a form of 'ethnic bullying' (McKenney et al. 2006) – direct and indirect forms of bullying such as 'racial taunts and slurs, derogatory references to culturally – specific customs, foods, and costumes,' (McKenney et al. 2006, 242), mockery or making of fun of one's heritage languages or accents (Scherr and Larson 2009, 226), as well as indirect or passive forms of aggression, such as 'exclusion from a mainstream group of peers.' (McKenney et al. 2006, 242).
'Ethnic accent' may also be referred to as, according to Creese and Kambere (2003, 566), 'extra-local accent,' 'foreign' or 'immigrant's accent,' which signify more than hegemonic local English accents ('Canadian,' 'American,' 'British,' 'Australian' etc.), mainly embodied by racialized subjects. An 'ethnic accent' may shape perceptions of one's English competency, which does not seem to elicit the same treatment as British, Australian, American, Canadian (and so on) English accents. Standard English accents and dialects, according to De Klerk and Bosch (1995, 18), often 'connote high Status and competence' and native speakers of English are often 'warmly regarded, and people are predisposed to think highly of them.' As Munro, Derwing, and Sato (2006, 71) note, 'individuals with a foreign accent may be perceived negatively because of the stereotypes or prejudices that accent can evoke in a listener.' Studies have hinted that the native speakers of English tend to judge ethnic accents as less prestigious than native accents (Munro, Derwing, and Sato 2006). 'Ethnic accent,' thus, may postulate disentitlement and inequality of its speakers in full participation in civil society (Creese and Kambere 2003, 566). The speaker with an 'ethnic accent' becomes what he or she speaks, and speaking it transforms him or her into what is suggested by their accent. In particular, Asian accents such as Indian, Chinese, Korean, Japanese (and so forth) accents seem to be inherently located in the hazard zone of global English accents (Blommaert 2009), often exposed to linguistic shaming such as 'peripheral speakers as incomprehensible or as ridiculous impostors' (Piller 2016, 197), and bullied in the popular discourse of mockery and travesty aggravated by the prejudice of people towards non-native speakers of English (Hanish and Guerra 2000). Consequently, many English speakers with immigrant backgrounds invest a lot of effort into 'purifying' their ethnic English accent, as Blommaert (2009, 253) notes, '[…] at the core of this process of purification, we see an image of the regimented, subject, someone who can face the challenges of postmodern, globalized existence provided he/she submits to the process of purification and, consequently, sacrifices his/her individual agency in a quest for uniformity and homogeneity.' (cf. Dovchin 2017).
Second, the conception of 'linguistic stereotyping' expands on Piller's (2016, 53) argument on stereotypes of English as second/foreign-language speakers, '[…] people who are not expected to speak a particular language (well) may be heard not to speak that language (well) irrespective of their actual proficiency.' Language is never judged in separation from the speakers, as they face pre-fixed assumptions about his/her English fluency because of how they racially and ethnically look. The members of particular linguistic communities can be stereotyped about their voice, accent, intonation, paralinguistic signs, phonology, pronunciation, and lexicon, accompanied by evaluative connotations (De Klerk and Bosch 1995). These judgments and preconceptions have 'a profound influence on our subconscious attitudes to languages and to Speakers of these languages', and 'they represent the dark side of the human abstraction process; they are often inaccurate because they simplify what otherwise might have overwhelmingly diverse meaning and indirectly influence the perception and categorization of people.' (De Klerk and Bosch 1995, 18). In particular, Asians are often stereotyped as having low proficiency in English (Blommaert 2009). Piller (2016, 53), for example, reminds us of a now-classic experiment conducted in the 1980s at a university in Florida, where researchers audio-recorded a lecture consisting of a native speaker of American English with a standard American-English accent. The lecture was later played to two different groups of undergraduate students, complemented by the picture of a Caucasian woman in one case and the picture of an Asian woman in the other. The students who viewed the Asian lecturer reported that they heard a 'foreign,' 'non-native,' 'Asian' accent, reduced comprehension, and low-level quality learning experience despite the absence of that auditory signal (Piller 2016, 53).
Meanwhile, international students, who become the victims of these two types of linguistic racism – 'ethnic accent bullying' and 'linguistic stereotyping,' are often deprived of living a meaningful full social life. Because these two types of linguistic racism appear to instil a perpetual sense of 'inferiority complexes' (Kenchappanavar 2012, 1) such as self-marginalization, self-vindication, loss of social belonging, social withdrawal – the psychological damages resulting from the homogeny of hegemonic English (Piller 2016). Learning and speaking English means 'to become alive to one's marginality in English and to a perpetual falling short of the imagined ideal of "perfect" homogeneous English.' (Piller 2016, 203). Being an ideal English speaker also means purifying and refining their accents and linguistic repertoires, while feeling the inferiority complex that their English is 'terrible,' 'nonstandard' and 'unaccepted' (Dovchin 2019b). An inferiority complex is a kind of psychological obstacle that arises when 'a person finds himself in a situation where his abilities and attitudes are denigrated or rejected by other people.' (Kenchappanavar 2012, 1). Anything in the individual that is 'below the average, that provokes unfavourable comment or gives him a feeling of impotency or ineptitude leads to inferiority complex.'
Posted on 9th May 2020 18th May 2020 Categories applied linguistics, SLA, SLA & social justiceTags ethnic accent bullying, Linguistic racism, linguistic stereotyping, Racism
Usage based in a nutshell (Ellis 2012)
Usage-based theories of language hold that learners acquire constructions in a similar fashion—from the statistical abstraction of patterns of form-meaning correspondence in their usage experience—and that the acquisition of linguistic constructions can be understood in terms of the cognitive science of concept formation following the general associative principles of the induction of categories from experience of the features of their exemplars. In natural language, the Zipfian-type token-frequency distributions of the occupants of each of these construction islands, their prototypicality and generality of function in these use, roles and the reliability of mappings between these together conspire to make language learnable. Phrasal teddy bears, formulaic phrases with routine functional purposes, play a large part in this experience, and the analysis of their
components gives rise to abstract linguistic structure and creativity.
Is the notion of language acquisition being seeded by formulaic phrases and yet learner language being formula-light having your cake and eating it too?
Ellis, N. (2012). Formulaic Language and Second Language Acquisition: Zipf and the Phrasal Teddy Bear. 32, 17-44.
Posted on 19th December 2019 19th December 2019 Categories learner language, SLA, Usage-based perspectivesTags Nick Ellis


text:
Michail Dolgorukov kan syfta på:

 Michail Vladimirovitj Dolgorukov
 Michail Petrovitj  Dolgorukov


In the past 20-30 years, the concept of "outsourcing" has stripped most of our local communities of the butcher, the baker, and the candlestick maker – the craftsmen, merchants, and artisans who have skills and know-how to provide the basic goods and services we need for everyday living. Even in these times of economic contraction, supporting our local businesses is essential, because with the transportation limitations that will come with the end of cheap oil, local will become our mainstay.
As we have outsourced basic industries like manufacturing, textiles, clothing, many of those small businessmen who do remain in our communities have turned to luxury industries. Small businesses in my own neighborhood include nail and hair salons, dry cleaners, high-end retail boutiques, and lots of restaurants – mostly things that we could do without, particularly as we trim our budgets with hard times.
Other small businesses currently in my neighborhood are linked to industries that we within the Transition movement know will disappear with the end of the oil age (car repair, car rental agencies, detailing shops, travel agencies, airport support services) and as the global economy crumbles (insurance sales and real estate agents). The few local merchants who do remain today are often reselling products from the globalized market. Businesses in these kinds of industries won't provide much resilience within our community as the triple crisis unfolds.
Then, use the new relationships you forge with these local businessmen and help them begin to grasp what lies ahead and the role of community resilience. You very well may find that they are looking for ways to replace lost business; they may be quite open to shifts in their product line.
If I shopped the plant section at the big box store, I would never have gotten to know Deno, my local nurseryman. He's on our Transition mailing list now, and he attends our events when his schedule permits. In an affluent community in metropolitan Los Angeles, his nursery now has in-ground vegetable plantings on display, and carries raised-bed frames for veggie gardens. They're considering bringing in chickens, to which I said "Sell chicken feed!" We don't have a feed supply in this area of the city, and his store could become a one-stop homestead shop.
It will probably build the greatest local resilience and flexibility if the new resilience-oriented businesses are set up to deal in a multiplicity of financial vehicles – local currencies and LETS credits, as well as U.S. dollars. (see #5 in this series) Resilience-building businesses and industries are the wave of the future as far as new business opportunities, enduring livelihoods, investment opportunities, and community survival networks.
BALLE (Business Alliance for Local Living Economies) - This organization understands portions of what we are striving for. They understand the need for local, and they understand much of the need for lighter environmental impact. We Transition groups will have to help them understand peak oil and the need to unhitch from the presumption of growth.
Take the ideas of the "Declaration of Interdependence" of the B Corporations and go local.
Lyle Estill, Small is Possible, an account of the unfolding process as businesses and neighbors in a small Southern U.S. town begin to transition from the conventional economy toward Relocalization. A bit of green-tech, but shows the evolution of community views.
1) How dependent is your overall industry on oil, power, low-cost transportation and shipping -- can your industry survive as we leave the era of cheap oil?
2) If your industry will survive, it will undoubtedly be radically altered. How?
3) If your industry cannot survive the end of cheap oil, what industry might you shift into, which is better able to survive? Would you need to retrain?
4) Since "globalization" as we know it today won't survive the end of cheap oil, how will this change things for your business' supply lines?
6) If you knew today that over the next decade the move would be toward much greater localization, how might this affect your business' investment decisions?
7) How dependent is your business on the current structure of national and international financial markets (stock market, mortgage banking, insurance, etc.)? How dependent are you upon government funding? grant funding? Is it possible for you to shift to a more local framework? Does a local framework exist, or conceivably, could it be created?
8) As we phase back from five-planets-worth-of-consumption to something better aligned with one-planet-worth-of-consumption, how will this alter: your business model? your volume & turnover expectations?
9) If you knew today that the overall economy would be in the process of contracting or shrinking rather than growing -- say for the next five, ten or more years -- how might you approach: taking on debt? lease commitments? franchise contracts? extending credit?
10) As our ability to transport ourselves and our goods around the planet becomes much more restricted, how might your ideas change about: business travel? trainings, conferences, conventions? hiring local residents? living close to the site of your business?
11) If there were a local currency in our area, or markers for a barter network, might your business consider accepting them for some transactions? Might you consider accepting these markers for a certain percentage of a purchase? Might you consider using local barter to handle some of your business needs?
12) Consider the type of goods or services your business offers: Are they luxury items? or do they fulfill basic needs, which people will still need even through leaner economic times?
13) As you look around our local geography, what is missing? What basic needs might go unfilled? Might your business be able to step in to handle any of them?
Joanne Poyourow is the initiator who brought the ideas of the international Transition movement to many areas of Los Angeles. She is actively involved in the Transition Los Angeles city hub. She was a CPA in public practice for more than 13 years and now offers resiliency consulting.


Batty vends fruit which will make your creatures say weird things when they eat it. Batty is from the movie, FernGully: The Last Rainforest.
Made by TwilightCat with sprites by Bug, Batty can be found at her site, Twilight.
Did you know? BATS AREN'T BUGS!
This page was last modified on 9 February 2015, at 22:17.