text:
(Flickr/Elvert Barnes)
Homelessness Will Never End, But It Can Be Better Managed
The way we talk about the issue makes it more difficult to do what needs to be done.
Mark Funkhouser | December 2017
When the subject is homelessness, we hear the word "eradicate" a lot -- the idea that the problem can be completely eliminated. Indeed, "Strategies for Eradicating Homelessness" was the title of a panel at Governing's recent Summit on Health and Human Services. But I doubt that either of the two panelists, Albuquerque Mayor Richard Berry or James Mathy, the Milwaukee County Department of Health and Human Services' housing administrator, would tell you that the outstanding work their jurisdictions are doing will result in the outright eradication of homelessness.
It's time to change the way cities and counties deal with the issue, but our conception of homelessness makes it more difficult to do what needs to be done: manage it in an efficient, effective and sustainable way. There always is going to be a stream of newly homeless individuals. Right now, a convergence of issues -- including the affordable housing crisis, the shortage of resources for mental health treatment, rising rates of addiction to opioids and other drugs, and income volatility resulting from the changing nature of work and the stagnation of wages -- has made this perennial fact even more intractable.
But as governments become more assertive, they are often going to be seen as intruding in a space long dominated by nongovernmental players. In Albuquerque, as in many cities, services for the homeless are delivered by an array of faith groups, community organizations and nonprofits. When Berry created the Heading Home initiative, it was seen as disruptive. There was resistance to change. But the mayor brought multiple stakeholders to the table, listened to them, and showed them the gaps and overlaps in services. His message was that there was an opportunity to innovate and thrive.
How to Reduce the Opioid Epidemic's Stigma
The Only Federal Agency Dedicated to Homelessness Could Be Shut Down
Cities Have a New Target for Ending Homelessness: Landlords
Even for the Homeless, No ID Means No Government Aid
While Homeless Veterans Get Housing, Rest Are Left in the Cold
Mathy says Milwaukee County's Housing First project also met some resistance from the network of nonprofits and community groups serving the homeless. Eventually, however, people came to realize that it wasn't about cutting their funding but about serving the homeless in a more comprehensive and effective way. As in Albuquerque, the county took a systematic approach. Under the new initiative, for example, one of the shelters became more of an overall homeless services agency.
An important part of the way local governments manage homelessness will be changing the way the public perceives the problem. People tend to think of homelessness as an individual issue, divorced from larger economic forces, rather than as a collective one. That tends to increase the public's sense of fatalism about the problem, limiting support for it as a legitimate one for government to manage.
We need to begin to conceptualize dealing with homelessness as an ongoing core function of local government and acknowledge that cities and counties can no more eradicate it completely than they can fill every pothole or stop every crime. What they can do, and what Albuquerque and Milwaukee County seem to be doing well, is to be more assertive and responsible in managing it.
Mark Funkhouser Former Publisher
mark@mayorfunk.com | @mayorfunk


text:
const momentTZ = require("moment-timezone");
require("moment-duration-format");
// const {inspect} = require('util');
const Command = require("../base/slashCommand");
const { ApplicationCommandOptionType, PermissionsBitField } = require("discord.js");

class Shardtimes extends Command {
    constructor(Bot) {
        super(Bot, {
            name: "shardtimes",
            guildOnly: false,
            options: [
                // Add
                //  - UserID, name, me
                //  - Timezone, how long until
                //  - Flag, emote, symbol
                {
                    name: "add",
                    type: ApplicationCommandOptionType.Subcommand,
                    description: "Add a new name/ user to be shown",
                    options: [
                        {
                            name: "user",
                            type: ApplicationCommandOptionType.String,
                            description: "A name or mention/ userID",
                            required: true
                        },
                        {
                            name: "timezone",
                            type: ApplicationCommandOptionType.String,
                            description: "A timezone identifyer (Ex: US/Pacific)"
                        },
                        {
                            name: "time_until",
                            type: ApplicationCommandOptionType.String,
                            description: "How long (hh:mm) until the payout"
                        },
                        {
                            name: "flag",
                            type: ApplicationCommandOptionType.String,
                            description: "An emote to show next to the name"
                        }
                    ]
                },
                // Remove
                //  - UserID, name, etc
                {
                    name: "remove",
                    type: ApplicationCommandOptionType.Subcommand,
                    description: "Remove a name/ user from the list",
                    options: [
                        {
                            name: "user",
                            type: ApplicationCommandOptionType.String,
                            description: "A name or mention/ userID",
                            required: true
                        }
                    ]
                },
                // Copy (Make sure they have the correct perms for this, to avoid overwriting stuff in other channels?)
                //  - destinationChannel
                {
                    name: "copy",
                    type: ApplicationCommandOptionType.Subcommand,
                    description: "Copy the shard times from this channel to the target channel",
                    options: [
                        {
                            name: "dest_channel",
                            type: ApplicationCommandOptionType.Channel,
                            description: "The channel you want it to be copied to",
                            required: true
                        }
                    ]
                },
                // View
                //  - Ships
                {
                    name: "view",
                    type: ApplicationCommandOptionType.Subcommand,
                    description: "Copy the shard times from this channel to the target channel",
                    options: [
                        {
                            name: "ships",
                            type: ApplicationCommandOptionType.Boolean,
                            description: "Show the ship arena payout times instead"
                        }
                    ]
                },
            ]
        });
    }

    async run(Bot, interaction, options) {
        // Shard ID will be guild.id-channel.id
        const shardID = `${interaction.guild.id}-${interaction.channel.id}`;

        let shardTimes = await Bot.cache.get(Bot.config.mongodb.swgohbotdb, "shardtimes", {id: shardID})
            .then(st => {
                return st[0];
            });

        if (!shardTimes) {
            shardTimes = await Bot.cache.put(Bot.config.mongodb.swgohbotdb, "shardtimes", {id: shardID}, {
                id: shardID,
                times: {}
            });
        }

        const action = interaction.options.getSubcommand();

        if (action === "add") {
            // If it's an admin, let them register other users, else let em register themselves
            // To add someone ;shardinfo <me|@mention|discordID> <timezone> [flag/emoji]
            let userID     = interaction.options.getString("user");
            let flag       = interaction.options.getString("flag");
            let timezone = interaction.options.getString("timezone");
            const timeTil  = interaction.options.getString("time_until");

            let type = "id";
            if (userID === "me") {
                userID = interaction.user.id;
            } else if (Bot.isUserID(userID)) {
                // If it's an ID, use it as such
                userID = userID.replace(/[^\d]*/g, "");
            } else {
                // Otherwise, use it as a name
                type = "name";
            }

            let zoneType = "zone";
            let tempZone = timezone ? timezone : null;

            // If they're trying to add someone other than themselves, make sure they have perms for it (AdminRole/ server manager)
            if ([interaction.user.id, interaction.user.username, "me"].includes(userID) && options.level < Bot.constants.GUILD_ADMIN) {
                return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_REM_MISSING_PERMS"));
            }

            if (timezone && timeTil) {
                // Warn em if they try using both a timezone and the time_until, since they can only use one
                return super.error(interaction, "You may not use both **timezone** and **time_until**, please choose one or the other");
            } else if (!timezone && !timeTil) {
                // Warn em if they don't give a timezone or time_until
                return super.error(interaction, "You need to specify when the user's payout will be, using either the **timezone** or **time_until** arguments");
            }

            if (timezone) {
                if (!momentTZ.tz.zone(timezone)) { // Valid time zone?
                    const match = timezone.match(/([+-])(2[0-3]|[01]{0,1}[0-9]):([0-5][0-9])/);
                    if (match) {
                        // It's a UTC +/- zone
                        zoneType = "utc";
                        timezone = parseInt(`${match[1]}${(match[2] * 60) + parseInt(match[3], 10)}`, 10);
                    } else {
                        // Grumble that it's an invalid tz
                        return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_INVALID_TIMEZONE"));
                    }
                }
            } else {
                zoneType = "hhmm";
                const match = timeTil.match(/(2[0-3]|[01]{0,1}[0-9]):([0-5][0-9])/);
                if (match) {
                    // It's a valid time until payout
                    const [hour, minute] = timeTil.split(":");
                    const [tempH, tempM] = momentTZ.tz("UTC").add(hour, "h").add(minute, "m").format("HH:mm").split(":").map(t => parseInt(t, 10));
                    const totalMin = (tempH * 60) + tempM;
                    const rounded = Math.round(totalMin / 15) * 15;
                    timezone = `${Math.floor(rounded / 60)}:${(rounded % 60).toString().padEnd(2, "0")}`;
                    tempZone = timezone + " UTC";
                } else {
                    return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_INVALID_TIME_TIL"));
                }
            }
            if (flag) {
                if (flag.match(/<:.+:\d+>/)) {
                    flag = flag.replace(/<:.*:/, "").replace(/>$/, "");
                }
            } else {
                flag = "";
            }
            let tempUser = null;
            if (shardTimes.times[`${userID}`]) {
                tempUser = shardTimes.times[`${userID}`];
                if (tempUser.zoneType) {
                    if (tempUser.zoneType === "utc") {
                        const sign = tempUser.timezone >= 0 ? "+" : "-";
                        const num = Math.abs(tempUser.timezone);
                        const hour = Math.floor(num / 60);
                        let min = (num % 60).toString();
                        if (min.length === 1) min = "0" + min;
                        tempUser.tempZone = sign + hour + ":" + min;
                    } else if (tempUser.zoneType === "hhmm") {
                        tempUser.tempZone = tempUser.timezone + " UTC";
                    } else if (tempUser.zoneType === "zone") {
                        tempUser.tempZone = tempUser.timezone;
                    }
                } else {
                    tempUser.tempZone = tempUser.timezone;
                }
            }
            shardTimes.times[`${userID}`] = {
                "type": type,
                "zoneType": zoneType,
                "timezone": timezone,
                "flag": flag
            };
            await Bot.cache.put(Bot.config.mongodb.swgohbotdb, "shardtimes", {id: shardID}, shardTimes)
                .then(() => {
                    if (tempUser) {
                        return interaction.reply({content: interaction.language.get("COMMAND_SHARDTIMES_USER_MOVED", tempUser.tempZone, tempZone)});
                    }
                    return interaction.reply({content: interaction.language.get("COMMAND_SHARDTIMES_USER_ADDED")});
                })
                .catch(() => {
                    return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_USER_NOT_ADDED"));
                });
        } else if (action === "remove") {
            // Get the json object, remove the user if available, then resave if it changed

            let userID = interaction.options.getString("user");
            if (userID === "me") {
                userID = interaction.user.id;
            } else if (Bot.isUserID(userID)) {
                // If it's an ID, use it as such
                userID = userID.replace(/[^\d]*/g, "");
            }

            // If they're trying to add someone other than themselves, make sure they have perms for it (AdminRole/ server manager)
            if ([interaction.user.id, interaction.user.username, "me"].includes(userID) && options.level < Bot.constants.GUILD_ADMIN) {
                return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_REM_MISSING_PERMS"));
            }

            if (shardTimes.times[userID]) {
                delete shardTimes.times[userID];
                await Bot.cache.put(Bot.config.mongodb.swgohbotdb, "shardtimes", {id: shardID}, shardTimes)
                    .then(() => {
                        return interaction.reply({content: interaction.language.get("COMMAND_SHARDTIMES_REM_SUCCESS")});
                    })
                    .catch(() => {
                        return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_REM_FAIL"));
                    });
            } else {
                return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_REM_MISSING"));
            }
        } else if (action === "copy") {  // ;shardtimes copy destChannel
            const destChannel = interaction.options.getChannel("dest_channel");

            // Make sure the person has the correct perms to copy it (admin/ mod)
            if (options.level < Bot.consants.GUILD_ADMIN) {  // Permlevel 3 is the adminRole of the server, so anyone under that shouldn"t be able to do this
                return super.error(interaction, interaction.language.get("COMMAND_EVENT_INVALID_PERMS"));
            }

            // Make sure there are times to copy from
            if (!Object.keys(shardTimes).length) {
                return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_COPY_NO_SOURCE"));
            }

            // Check and make sure the bot has permissions to see/ send in the specified channel
            if (!destChannel.permissionsFor(interaction.guild.members.me).has([PermissionsBitField.Flags.SendMessages, PermissionsBitField.Flags.ViewChannel])) {
                return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_COPY_NO_PERMS", destChannel.id));
            }

            // Make sure the to/ from channels aren't the same
            if (interaction.channel.id === destChannel.id) {
                return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_COPY_SAME_CHAN"));
            }

            const destShardID = `${interaction.guild.id}-${destChannel.id}`;

            const destExists = await Bot.cache.exists(Bot.config.mongodb.swgohbotdb, "shardtimes", {id: destShardID});

            if (!destExists) {
                // If there's no shard info in the destination channel
                await Bot.cache.put(Bot.config.mongodb.swgohbotdb, "shardtimes", {id: shardID, times: shardTimes})
                    .then(() => {
                        return interaction.reply({content: interaction.language.get("COMMAND_SHARDTIMES_COPY_SUCCESS", destChannel.id)});
                    })
                    .catch((err) => {
                        return super.error(interaction, err.message);
                    });
            } else {
                const thisShardTimes = await Bot.cache.get(Bot.config.mongodb.swgohbotdb, "shardtimes", {id: destShardID});
                const destHasTimes = thisShardTimes[0]?.times.length;
                if (destHasTimes) {
                    // Of if there is shard info there with listings
                    return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_COPY_DEST_FULL"));
                } else {
                    // Or if there is shard info there, but no listings
                    await Bot.cache.put(Bot.config.mongodb.swgohbotdb, "shardtimes", {id: destShardID}, shardTimes)
                        .then(() => {
                            return interaction.reply({content: interaction.language.get("COMMAND_SHARDTIMES_COPY_SUCCESS", destChannel.id)});
                        })
                        .catch(() => {
                            return super.error(interaction, interaction.language.get("COMMAND_SHARDTIMES_COPY_BROKE"));
                        });
                }
            }
            return;
        } else if (action === "view") {
            const isShip = interaction.options.getBoolean("ships");

            // View the shard table
            const timeToAdd = isShip ? 19 : 18;
            const shardOut = {};

            if (!shardTimes?.times || !Object.keys(shardTimes.times)?.length) {
                return super.error(interaction, "Sorry, but it looks like you don't have anyone registered to watch");
            }

            Object.keys(shardTimes.times).forEach(user => {
                const diff = timeTil(shardTimes.times[user].timezone, timeToAdd, (shardTimes.times[user]?.zoneType ? shardTimes.times[user].zoneType : "zone"));
                if (shardOut[diff]) {
                    shardOut[diff].push(user);
                } else {
                    shardOut[diff] = [user];
                }
            });

            const sortedShardTimes = Object.keys(shardOut).sort((a, b) => momentTZ(a, "HH:mm").diff(momentTZ(b, "HH:mm")));

            const fields = [];
            for (const time of sortedShardTimes) {
                const times = [];
                for (const user of shardOut[time]) {
                    let userFlag = interaction.client.emojis.cache.get(shardTimes.times[user].flag);
                    if (!userFlag) {
                        userFlag = shardTimes.times[user].flag;
                    }
                    const maxLen = 20;
                    let uName = "";
                    if (!shardTimes.times[user].type || shardTimes.times[user].type === "id") {
                        const thisUser = await interaction.guild.members.fetch(user).catch(() => {});
                        const userName = thisUser ? thisUser.displayName : user;
                        uName = "**" + (userName.length > maxLen ? userName.substring(0, maxLen) : userName) + "**";
                    } else {
                        // Type is name, don't try looking it up
                        const userName = user;
                        uName = userName.length > maxLen ? userName.substring(0, maxLen) : userName;
                    }
                    times.push({
                        flag: shardTimes.times[user].flag != "" ? userFlag : "",
                        name: uName
                    });
                }
                const sortedTimes = times.sort((a, b) => a.name.toLowerCase() > b.name.toLowerCase() ? 1 : 0).map(t => `${t.flag}${t.name}`);
                let joiner = " - ";
                if (interaction.guildSettings.shardtimeVertical) {
                    joiner = "\n";
                }
                fields.push({
                    name: time,
                    value: sortedTimes.join(joiner)
                });
            }
            return interaction.reply({
                embeds: [{
                    "author": {
                        "name": interaction.language.get("COMMAND_SHARDTIMES_SHARD_HEADER")
                    },
                    "fields": fields
                }]
            });
        }

        function timeTil(zone, timeToAdd, type) {
            let targetTime;
            if (type === "zone") {
                if (momentTZ.tz(zone).unix() < momentTZ.tz(zone).startOf("day").add(timeToAdd, "h").unix()) {
                    // If it's later today
                    targetTime = momentTZ.tz(zone).startOf("day").add(timeToAdd, "h");
                } else {
                    // If it's already passed for the day
                    targetTime = momentTZ.tz(zone).startOf("day").add(1, "d").add(timeToAdd, "h");
                }
            } else if (type === "hhmm") {
                if (momentTZ.tz(zone, "HH:mm", "UTC").unix() < momentTZ().unix()) {
                    // It's already passed
                    return momentTZ.duration(momentTZ.tz(zone, "HH:mm", "UTC").add(1, "d").diff(momentTZ())).format("HH:mm", { trim: false });
                }
                return momentTZ.duration(momentTZ.tz(zone, "HH:mm", "UTC").diff(momentTZ())).format("HH:mm", { trim: false });
            } else {
                // It's utc +/- format
                if (momentTZ().utcOffset(zone).unix() < momentTZ().utcOffset(zone).startOf("day").add(timeToAdd, "h").unix()) {
                    targetTime = momentTZ().utcOffset(zone).startOf("day").add(timeToAdd, "h");
                } else {
                    targetTime = momentTZ().utcOffset(zone).startOf("day").add(1, "d").add(timeToAdd, "h");
                }
                return momentTZ.duration(targetTime.diff(momentTZ().utcOffset(zone))).format("HH:mm", { trim: false });
            }
            return momentTZ.duration(targetTime.diff(momentTZ.tz(zone))).format("HH:mm", { trim: false });
        }
    }
}

module.exports = Shardtimes;

redpajama_set_name: RedPajamaGithub


Peoria Academy is proud to offer our Summer Camp for the months of June and July. Each week, you have the choice of enrolling your child in a morning Enrichment Class only or enrolling in our Full Day program which runs from 7:30-5:30. We provide multiple educational, cultural, and athletic camps to choose from for 3-year-olds all the way to 11-year olds. For the Full Day program, select a morning Enrichment Class and continue into our engaging afternoon camp activities.
For kids aged 3 to 12. From June 3rd to July 26th.
**Please note there are NO ENRICHMENT CLASSES or AFTERNOON CAMP during WEEK 5, July 1st-5th.
Summer tutoring will be available at PA this summer. The cost is $30/ half-hour session. Tutoring will be offered in 30-minute increments, and available based on your tutor's schedule. See the list of tutor's below to sign up for summer tutoring.


text:
class DataSaverBrowserTest : public InProcessBrowserTest {
 protected:
  void EnableDataSaver(bool enabled) {
    PrefService* prefs = browser()->profile()->GetPrefs();
    prefs->SetBoolean(prefs::kDataSaverEnabled, enabled);
  }

  void VerifySaveDataHeader(const std::string& expected_header_value) {
    ui_test_utils::NavigateToURL(
        browser(), embedded_test_server()->GetURL("/echoheader?Save-Data"));
    std::string header_value;
    EXPECT_TRUE(content::ExecuteScriptAndExtractString(
        browser()->tab_strip_model()->GetActiveWebContents(),
        "window.domAutomationController.send(document.body.textContent);",
        &header_value));
    EXPECT_EQ(expected_header_value, header_value);
  }
};

IN_PROC_BROWSER_TEST_F(DataSaverBrowserTest, DataSaverEnabled) {
  ASSERT_TRUE(embedded_test_server()->Start());
  EnableDataSaver(true);
  VerifySaveDataHeader("on");
}

IN_PROC_BROWSER_TEST_F(DataSaverBrowserTest, DataSaverDisabled) {
  ASSERT_TRUE(embedded_test_server()->Start());
  EnableDataSaver(false);
  VerifySaveDataHeader("None");
}

class DataSaverWithServerBrowserTest : public InProcessBrowserTest {
 protected:
  void Init() {
    test_server_.reset(new net::EmbeddedTestServer());
    test_server_->RegisterRequestHandler(
        base::Bind(&DataSaverWithServerBrowserTest::VerifySaveDataHeader,
                   base::Unretained(this)));
    test_server_->ServeFilesFromSourceDirectory("chrome/test/data");
  }
  void EnableDataSaver(bool enabled) {
    PrefService* prefs = browser()->profile()->GetPrefs();
    prefs->SetBoolean(prefs::kDataSaverEnabled, enabled);
  }

  scoped_ptr<net::test_server::HttpResponse> VerifySaveDataHeader(
      const net::test_server::HttpRequest& request) {
    auto save_data_header_it = request.headers.find("save-data");

    if (!expected_save_data_header_.empty()) {
      EXPECT_TRUE(save_data_header_it != request.headers.end());
      EXPECT_EQ(expected_save_data_header_, save_data_header_it->second);
    } else {
      EXPECT_TRUE(save_data_header_it == request.headers.end());
    }
    return scoped_ptr<net::test_server::HttpResponse>();
  }

  scoped_ptr<net::EmbeddedTestServer> test_server_;
  std::string expected_save_data_header_;
};

IN_PROC_BROWSER_TEST_F(DataSaverWithServerBrowserTest, ReloadPage) {
  Init();
  ASSERT_TRUE(test_server_->Start());
  EnableDataSaver(true);

  expected_save_data_header_ = "on";
  ui_test_utils::NavigateToURL(browser(),
                               test_server_->GetURL("/google/google.html"));

  // Reload the webpage and expect the main and the subresources will get the
  // correct save-data header.
  expected_save_data_header_ = "on";
  chrome::Reload(browser(), CURRENT_TAB);
  content::WaitForLoadStop(
      browser()->tab_strip_model()->GetActiveWebContents());

  // Reload the webpage with data saver disabled, and expect all the resources
  // will get no save-data header.
  EnableDataSaver(false);
  expected_save_data_header_ = "";
  chrome::Reload(browser(), CURRENT_TAB);
  content::WaitForLoadStop(
      browser()->tab_strip_model()->GetActiveWebContents());
}


text:
https://www.cgi.com/en/media/brochure/cloud-native-solutions

This is a Cloud Foundry command-line cf interactive plugin for showing live statistics of the targeted Cloud Foundry foundation.
The live statistics include application statistics and route statistics among others.
The primary source of information that the top plugin uses is via monitoring the Cloud Foundry firehose.

[Cloud Foundry Summit 2017 session about TOP](https://www.youtube.com/watch?v=XDY64HKB7CI&t=7m48s)

The plugin will run in one of two modes, privileged or non-privileged depending on your Cloud Foundry user permission.
If you are a foundation operator you will want to use top in privileged mode.  This is done automatically if the
correct permissions are granted to your Cloud Foundry login (or if you are logged in via `admin` account).  See
[Assign Permissions](#assign-permissions-if-privileged-mode-is-needed) for more information on assigning permissions.

[Installation Instructions](#installation)

![Screenshot](screenshots/screencast2.gif?raw=true)

## Screenshots

More [screenshots here](screenshots/screenshots.md)

# Usage Documentation

After installation be sure to view the [full `top` documentation](docs/doc.md) as
well as the [Frequently Asked Questions (FAQ)](docs/faq.md) page.

# Installation
There are two options for installation; use the plugin repo (recommended) or manual installation.

## Install from plugin repository (recommended)
NOTE: This installation method requires that your client computer has access to the internet.
If internet access is not available from client computer use the manual method.

Verify you have a repo named `CF-Community` registered in your cf client.

```
cf list-plugin-repos
```
If the above command does not show `CF-Community` you can add the repo via:

```
cf add-plugin-repo CF-Community http://plugins.cloudfoundry.org/
```
Now that we have the cloud foundry community repo registered, install `top`:

```
cf install-plugin -r CF-Community "top"
```

## Manual installation method
* **Download the binary file for your target OS from the latest [release](https://github.com/ecsteam/cloudfoundry-top-plugin/releases/latest)**
* If you've already installed the plugin and are updating, you must first run `cf uninstall-plugin top`
* Then install the plugin with `cf install-plugin top-plugin-darwin`  (or `top-plugin-linux` or `top-plugin.exe`)
* If you get a permission error run: `chmod +x top-plugin-darwin` (or `top-plugin-linux`) on the binary
* Verify the plugin installed by looking for it with `cf plugins`

## Upgrade to latest version
To upgrade to the lastest version of top plugin, uninstall plugin and install again.
```
cf uninstall-plugin top
cf install-plugin -r CF-Community "top"     (or use manual install method described above)
```

## Assign scope if privileged mode is needed

The `top` plugin will run without special scope (permissions) however it determines at runtime
what scopes you have and displays the appropriate functionality based on those
scopes.  If you are a foundation operator you will want the additional functionality
that top provides to privileged users.

If you are logged in with the Cloud Foundry `admin` account, no additional scopes
are needed, the `admin` account has everything it needs to run top with full functionality.

For non-admin accounts, to run top in privileged mode you need to assign two scopes
to an existing Cloud Foundry user (or LDAP group).  To assign needed scopes:

Install the uaac client CLI if you do not already have it:
```
gem install cf-uaac
```

Login and add 2 or 3 scopes as showed below.  Note that the UAA password is NOT the
"Admin Credentials", the password is found in the PAS tile under Credentials tab,
look for password for "Admin Client Credentials".

```
uaac target https://login.system.YOUR.DOMAIN --skip-ssl-validation
uaac token client get admin -s [UAA Admin Client Credentials]
```

### To assign scopes to a LDAP group (recommended if connected to LDAP/Active Directory).
Read-only admin API is all that is needed for this plugin but both options given below.

Read-only API access:
```
uaac group map --name cloud_controller.admin_read_only [FULL DN to LDAP group]
uaac group map --name scim.read  [FULL DN to LDAP group]
uaac group map --name doppler.firehose [FULL DN to LDAP group]
```
-or-

Full API access:
```
uaac group map --name cloud_controller.admin [FULL DN to LDAP group]
uaac group map --name doppler.firehose [FULL DN to LDAP group]
```

### To assign scopes directly to a user.
Read-only admin API is all that is needed for this plugin but both options given below.

Read-only API access:
```
uaac member add cloud_controller.admin_read_only [username]
uaac member add scim.read [username]
uaac member add doppler.firehose [username]
```
-or-

Full API access:
```
uaac member add cloud_controller.admin [username]
uaac member add doppler.firehose [username]
```

Note: The change in permissions does not take effect until user username performs
a logout and login.

# Usage

Although `top` does not *require* any special permissions, foundation operators
will want to run `top` in privileged mode as described in the
[Assign permissions](#Assign-permissions-if-privileged-mode-is-needed)
section above.  The plugin does not require arguments.  Simply run:
```
cf top
```

## Options

List top live statistics for CF.

```
NAME:
   top - Displays top stats - by Kurt Kellner of ECS Team (now part of CGI)

USAGE:
   cf top

OPTIONS:
   -debug              -d, enable debugging
   -no-top-check       -ntc, do not check if there are other instances of top running
   -nozzles            -n, specify the number of nozzle instances (default: 2)
   -cygwin             -c, force run under cygwin (Use this to run: 'cmd /c start cf top -cygwin' )
```


Hydro Flask makes double wall vacuum insulated stainless steel water bottles that are backed by a lifetime warranty.We'll keep water icy cold on a hot sunny beach. And serve up a hot coffee on the chairlift ride. We'll sit patiently by your camp chair with frosty cold beer while you gather wood for the fire. Or keep you hydrated on a hike: ice, water, go. And five hours later, after driving to the trailhead and climbing 2,000 feet, you'll still have ice and water while you enjoy the view. We'll bring you hot tea on misty riverside mornings when the steelhead are running, hot cocoa to coax your kids along a snowy trail, and a refreshing sip of "all-about-you" during Saturday afternoon yoga. We're not just along for the ride. We're along to help make the ride awesome.
You can help make the ride awesome while earning a commission!
Rapidly growing brand within the United States - growing rapidly internationally as well!


text:
TAKE A FREE
TAKE A FREE ONLINE PERSONALITY TEST »
Please scroll down and read this document. Check the "I Agree" box and click the button to accept.
Country Select... United States
Yes! please send me more information on Scientology.
Please indiciate your specific interests, so we can determine the best information to send you:
What is Dianetics?
Humanitarian Programs
Privacy Info ⓘ
Your information will only be used for the purpose of administering this personality test and evaluation. You also have the option of receiving more information on Scientology. Your information will never be sold or otherwise given to a third party. If at any time you wish to no longer receive email from us, simply use the link provided at the bottom of the message. Feel free to review our Privacy Policy for further details.
Spiritual Technology What is Scientology? Meet a Scientologist Free Personality Test
TAKE A FREE ONLINE
PERSONALITY TEST »
Scroll to Continue
Balancing Science & the Humanities
Beliefs and Practices of the Scientology Religion
The ultimate goal of Scientology is true spiritual enlightenment and freedom.
Thanks to scientific and technical advances over the last hundred years, most people today are materially wealthier than their forefathers. Yet, by their own accounts, the improvement in the quality of their lives has not matched their material gains.
In fact, it may be argued that people once were happier and more fulfilled. For some, material affluence breeds anxiety, a gnawing fear that if someone doesn't take away their hard-earned acquisitions, the end of their days will prematurely arrive to finish the job. Others find death easier to face than a lifetime of assembly-line slavery, while most, in a less dramatic fashion, simply buckle down to lives of quiet desperation.
In this new millennium, most individuals have no real grasp of the factors that govern their existence. And yet, simply stated, if they had a greater understanding of themselves and their fellows, they would be able to improve conditions and help themselves and others to live happier lives.
This, then, is the purpose of Scientology: to enable Man to improve his lot through understanding.
Balancing Science and the Humanities
The tremendous scientific advances of the 20th century were not matched by similar advances in the humanities. Man's knowledge of the physical universe had far outdistanced his knowledge of himself. The resulting pressures from such an imbalance account for much of what has unsettled society and threatens our future. What Scientology represented to many when it appeared in the early 1950s was a restoration of the balance.
Despite its many successes, science has not provided answers to questions Man has been asking himself since time immemorial: Who are we? What do we consist of? Where do we come from? Where are we going? What are we doing?
These questions have always been the province of philosophy and religion, but traditional answers became inadequate in the face of the H-bomb.
Scientology, drawing on the same advances in knowledge that led to the understanding of nuclear physics, provides modern answers to these questions. And it supplied workable methods of application, that made it possible for Man to reach the ancient goal he has been striving toward for thousands of years: to know himself and, in knowing himself, to know and understand other people and, ultimately, life itself.
Who was L. Ron Hubbard? L. Ron Hubbard was an author, philosopher, humanitarian and Founder of the Scientology religion. He was born March 13, 1911, in Tilden, Nebraska, and passed away January 24, 1986. His long and adventurous road to discovery began… read more »
What goes on in a Scientology Church? Scientology Churches are vibrant centers of activity. Each Church of Scientology provides numerous religious services and materials through which individuals may pursue their studies of Scientology… read more »
What is the Concept of God in Scientology? In Scientology, the concept of God is expressed as the Eighth Dynamic—the urge toward existence as infinity. This is also identified as the Supreme Being. As the Eighth Dynamic, the Scientology concept of God… read more »
What is the E-Meter? E-Meter is a shortened term for electropsychometer. It is a religious artifact used as a spiritual guide in auditing. It is for use only by a Scientology minister or a Scientology minister-in-training to… read more »
Find out more about Scientology. Take your first step.
FREE ONLINE PERSONALITY TEST »
Short of coming to a Church of Scientology in person,
the best answer to the question "What is Scientology?" is in the book Scientology: The Fundamentals of Thought.
Watch the Introduction
GET THE BOOK » Watch a Free Chapter of the Book on Film
GET THE AUDIOBOOK » Watch a Free Chapter of the Book on Film
GET THE DVD » Watch a Free Chapter
Inside a Scientology Church
What is it like inside a Church of Scientology?
The best way to learn about Scientology is to visit a Scientology Church. The Public Information Center in a Church exists to help answer any question you may have.
All are welcome.
SCHEDULE A VISIT »
Estimated nearest location: (choose another)
Your first step to find out more can be as simple as a free personality test
Know your strengths and how to increase them so that you can achieve more out of life.
Age of Answers: Your First Step
A DECADE ON THE RISE

redpajama_set_name: RedPajamaCommonCrawl


text:
Wednesday, July 6, 2011 / 6:30 pm
Production Begins On The Wedding
Production on the tentatively titled "The Wedding" a.k.a. "Gently Down The Stream" and the "The Big Wedding" has begun in Greenwich, Connecticut. The comedy, which will see Katherine join an all star cast that includes Robert De Niro, Diane Keaton, Robin Williams, Susan Sarandon, Amanda Seyfried, Topher Grace and Ben Barnes, is scheduled to shoot throughout August producer Clay Pecorin told Greenwich Time today.
The Burning Tree Country Club - Greenwich, CT
The location of the film will represent somewhat of a homecoming for several of the cast and crew: Katherine and co-star Topher Grace both grew up nearby, and director Justin Zackham and producer Pecorin attended Greenwich High School. The film-making duo, who have already obtained authorization to shoot at several locations including a private home in the Stanwich neighborhood, are seeking an exemption from the town's midnight-to-6 a.m. filming curfew to shoot a pool scene at the Burning Tree Country Club.
The Burning Tree Country Club Pool & Pool Room
Visit the Greenwich Time for more news and photographs on location in Connecticut.
Categories: Features & Articles, Film, News
Tags: Amanda Seyfried, Ben Barnes, Diane Keaton, Gently Down The Stream, Robert De Niro, Robin Williams, Susan Sarandon, The Big Wedding, The Wedding, Topher Grace
Back | Refresh


In 1990, The Print Center organized an exhibition of works by the Philadelphia photographer Robert Cornelius entitled Abandoned Shoes of Philadelphia. Professor Cornelius is one of the founders of Pittsburgh's Silver Eye Center for Photography and has taught photography at several institutions including the Art Institute of Philadelphia. This series was sparked by his move to Philadelphia where he walked where his ancestors had walked. He is the great-great-grandson of Robert Cornelius, the pioneering photographer, who is best known for taking a self-portrait in 1839 that is the oldest known existing photographic portrait of a human in America.
All works below were created by Robert Cornelius between 1985-1990. They are selenium toned gelatin silver prints, 9 x 13.5 inches or 13.5 x 9 inches.


text:
Jurassic Period: Summary, Division, Climate and Characteristics
What was the Jurassic period?
Previous period
Jurassic Period Division
Geological features of the Jurassic
Jurassic climate
Jurassic fauna
Jurassic flora
Appearance of birds
The first mammals
The Jurassic Period in culture
Later period: the Cretaceous
We explain what the Jurassic Period was, how it is divided and the climate it presents. Also, what are its characteristics, flora, and fauna?
On the geological timescale, the Jurassic Period is the second of the three periods into which the Mesozoic Era is divided (which began 252.2 million years ago and ended 66 million years ago). It is preceded by the Cretaceous period and followed by the Triassic.
Jurassic Period c omenzó 201 million years ago and ended 145 million years ago. Its name comes from the Jura mountain range, located between France and Switzerland, where the French geologist Alexandre Brongniart discovered the first fossils from this period and also established this geological system in the 19th century.
Dinosaurs proliferated and reigned, which is why it is perhaps the most famous of the Mesozoic periods. His name has become popular in contemporary culture thanks to books and films that explore the fictional possibility of the scientific recreation of dinosaurs (especially the Jurassic Park saga ).
The Triassic Period is the beginning of the Mesozoic era. It spanned from 251 million years ago to approximately 201 million years ago.
It begins and ends with two mass extinction events: the Permian-Triassic and the Triassic-Jurassic.
In this period the supercontinent of Pangea was formed.
The first dinosaurs appeared on earth, generally bipedal and carnivorous, as well as the first mammals (evolving from mammalian reptiles). However, at the end of the Triassic the dinosaurs diversified and began to reign on Earth.
The middle Jurassic begins around 174.1 million years ago.
The Jurassic Period is divided into three steps called epochs or series, which comprise eleven ages or floors. These three rungs are:
Lower or early Jurassic. It begins approximately 201.3 million years ago and ends approximately 182.7 million years ago, being the first series of the Jurassic. It is divided into the Hettangian, Sinemurian, Pliensbachian, and Toarcian ages.
Middle Jurassic. It begins around 174.1 million years ago and ends approximately 166.5 million years ago, being the intermediate step. It is divided into the Aalenian, Bajocian, Bathonian, and Callovian floors.
Late or Upper Jurassic. The last of the three begins about 163.5 million years ago and ends about 152.1 million years ago. It is divided into only three floors: Oxfordian, Kimmeridgian, and Titonian.
Laurasia then fragmented in turn into North America and Eurasia.
The most important geological event of the period and perhaps the entire Mesozoic era is that the fragmentation of the supercontinent of Pangea began. A slow but constant process of rifting (separation movements) occurred that divided it into two parts:
Laurasia. It's the northern part, which later fragmented in turn into North America and Eurasia.
Gondwana. It's the southern part, which in the middle of the Jurassic began to fragment, thus giving rise to Antarctica, Madagascar, India, Australia, Africa, and South America.
This meant that new oceans were created from the flooding of inland lands, as the ocean floor rose in various locations, pushing the water level towards the continents. These new oceans were shallow and teeming with life.
The climate at the beginning of the Jurassic was dry and warm, but the abundant movement of water caused by geological changes significantly altered it. The result was a humid subtropical climate, with abundant rainfall, which brought new life to the deserts of the interior of ancient Pangea.
In the Jurassic, the temperature gradients were much more uniform than today, that is, the climate did not vary so much depending on the latitude. There is no evidence of polar ice, for example, which suggests that the ocean level was much higher than it is now.
The seas were also populated by reptiles such as plesiosaurs.
Animal life proliferated during the Jurassic, driven by geological and climatic changes that allowed a greater diversity of hunting niches and greater coexistence of species.
Plankton floated free in the inland oceans, turning parts of the seared. Based on their presence, a whole food chain arose that, as the Jurassic passed, became larger. In this period the first frogs appear, although it was the empire of crocodiles.
The evolution of the lizards and dinosaurs of the Triassic was rapid, quickly giving rise to the largest dinosaurs, both herbivores and carnivores: Brachiosaurs, Allosaurs, Stegosaurs, Diplodocus, and others of great size and enormous weight, which in some cases required a semi-aquatic existence.
The seas were also populated by large and ferocious predators, such as ichthyosaurs, plesiosaurs, and mosasaurs, who preyed on a variety of species of cephalopods (squid-like) and ammonites. Coral reefs began their appearance in this period.
Compared to its predecessor, the Jurassic was a fairly green period. The increase in humidity levels and the warm climate allowed the expansion of vegetation throughout the new subcontinents. Deserts became more populated areas and forests, jungles, and jungles expanded.
The predominant forests were coniferous, similar to the pines and araucarias of today. There were also different species of palm trees and ferns, ginkgoos, and horsetails, although there are still no inflorescences (flowers) or fruits in this period.
Archeopteryx is the first bird in history.
During the Jurassic, the skies were dominated by featherless pterodactyls. In addition, the primitive insects that in those times were much larger than the modern ones, due to the overabundance of oxygen in the atmosphere.
However, at the end of the Jurassic, the first bird in history appears Archeopteryx, whose well-preserved fossils made it possible to prove the origin of birds from dinosaurs. In these, it can be seen with its plumage, although still with many clearly reptilian features.
Mammals also participated in the Jurassic, but they were a minority way of life. They were mostly small herbivores or insectivores that did not compete with the large reptiles at all.
The oldest mammal discovered in the fossil record, a clear predecessor to what would become placental mammals, was found in 2011 in China and its existence was verified during the Jurassic. Thus it was shown that mammals evolved much earlier than traditionally thought.
Arthur Conan Doyle wrote a book on dinosaurs called The Lost World.
The human fascination for dinosaurs has led us to recreate in film and literary fiction an encounter between them and our species that, historically, would have been completely impossible. Some of these fictions that refer to the Jurassic or the Jurassic animals are:
The novel's fictional Scottish writer Arthur Conan Doyle The Lost World, published in 1912, and is set in the Venezuelan Amazon, where they have survived prehistoric species.
The science fiction novel Jurassic Park by American Michael Crichton, published in 1990; as well as its 1995 sequel, The Lost World, which deals with the installation of a theme park on an island in Costa Rica, in which dinosaurs cloned from DNA found in a mosquito preserved in amber are exhibited.
The series of films inspired by Crichton's novels: Jurassic Park (1993), directed by Steven Spielberg; The Lost World: Jurassic Park (1997), Jurassic Park III (2001), Jurassic World (2015), and Jurassic World: Fallen Kingdom (2018).
The post-Jurassic period is the Cretaceous, which begins 145 million years ago and ends approximately 66.4 million years ago. It is a particularly long period, the culmination of which is also that of the Mesozoic era.
Its end is determined by the so-called K / Pg Event, which is suspected to have consisted of the fall of a meteorite in the Yucatan Peninsula, causing the extinction of the dinosaurs, among many other species.
The above content published at Collaborative Research Group is for informational and educational purposes only and has been developed by referring to reliable sources and recommendations from technology experts. We do not have any contact with official entities nor do we intend to replace the information that they emit.


text:
76°, Light Rain Fog/Mist
Register Log in Subscribe
Facebook Twitter Email us
User Submitted Calendar
Film and Theater
Living In Riverdale
Former Jaspers star Joe Jacques shines in first spring training
Posted Saturday, March 23, 2019 12:05 am
Former Manhattan College pitcher Joe Jacques, shown here in his Bristol Pirates uniform last season, is opening up some eyes in his first spring training with the Pittsburgh Pirates.
File photo courtesy of the Brist
By SEAN BRENNAN
It's been nine months since Joe Jacques, the former Manhattan College lefthander, heard his name called by the Pittsburgh Pirates in the 33rd round of Major League Baseball's amateur draft.
So some of the novelty of being a professional baseball player might have worn off after Jacques spent last summer pitching for the Bristol (Virginia) Pirates of the Rookie League.
But then earlier this month, on March 2, Jacques left home and headed for Bradenton, Florida, and his very first spring training.
It's been quite the adventure so far.
"It's been a really cool experience, especially meeting a lot of people and players in the organization," Jacques said. "You see a lot of the big-leaguers around, which is cool. They've been really friendly, too, and you can learn a lot from them. They even hook you up with some of their gear sometimes."
Jacques already has chatted up some prime Pirates players in camp, including Pittsburgh's ace hurler.
"I spoke with Chris Archer, which was fun," Jacques said. "I also talked with Josh Bell, Adam Frazier and Corey Dickerson. Other guys have been around, too, and they'd talk to us about how to act like a professional and believing in ourselves and stuff like that, that will help us get through the minor leagues a little easier."
Jacques, a grizzled veteran of one season of pro ball, admits there was a little awe at first before realizing he was there to work and impress Pirates' coaches and brass.
"At first you're a little star-struck by the professionals that are around," Jacques said. "But it's definitely been a good experience because you're around the top dogs in the organization and even the front office people."
After a first week that included physicals, eye tests and the like, Jacques and the rest of his Pirates teammates finally got down to some baseball. And some baseball quickly turned into long days of baseball.
"We started games (two weeks ago), and we pretty much play every single day," Jacques said. "And when you're not playing another team, we essentially scrimmage ourselves."
It's not all fun in the sun for Jacques in Bradenton. The days are long, and there is a lot of activity to pack into a day, and a lot of learning to file away.
"We go every day from 7:45 a.m., to 4 p.m.," Jacques said. "We're kind of broken up into teams, groups for AAA, AA, High-A and A. So you start with a meeting with your team and the coaches, and you review what you're going to do in practice that day. After that you have a mental conditioning meeting with the mental conditioning staff that teaches you how to think on the field and think off the field to better your performance."
And then after that, practice starts. "And that can take a while because you do all the fundamental stuff and team stuff."
But then your day really gets started.
"Then there is always a game afterwards," Jacques said. "And that's from 1 to 4."
So far this spring, Jacques — a side-arming lefty reliever — has enjoyed a good amount of success in games.
"At first I threw a couple of bullpens (sessions) and in a scrimmage against ourselves," Jacques said. "But then in my first game we played against the Blue Jays, and I pitched an inning in that game. I threw a scoreless inning with a strikeout."
Jacques then parlayed that outing into a longer stint his second time out and had even better results.
"Then I pitched (last Friday) against the Braves, and I threw two innings with four strikeouts. So it's going pretty well for me so far."
There is just over a week to go before Opening Day and Jacques hopes to continue to impress.
And while he won't head north with the big-league club when spring training is over, he's not quite sure where he will be ticketed come cut-down day.
"I haven't heard anything yet," Jacques said. "But we had a meeting with the head of player development and they said I'm competing for a spot in High-A or A."
That would mean either remaining in Bradenton or heading to Greensboro, North Carolina.
Wherever he goes, Jacques will continue to chase his dream. So far, it has taken him from former walk-on at Manhattan to his second season in pro ball.
"It's pretty crazy that you have all these eyes on you, but it definitely has helped that I'm doing well," Jacques said. "I've been thinking to myself that I'm definitely opening some eyes right now. I just got to keep it going."
Joe Jacques,	Pittsburgh Pirates,	Major League Baseball,	amateur draft,	Sean Brennan
Former Manhattan College rower's future looks 'bright'
After draft snub, Cain still hopes to show MLB he's able
MLB looks to raise Manhattan College's Cain into draft
The latest from the July 18, 2019 edition of The Riverdale Press
The latest edition of The Riverdale Press is on newsstands now, and we've got some great stories to share with you!
Slasher indicted, tries to escape
Trader Joe's could make difference opening store here
Bus abuse: fare beating has become an epidemic
New meaning for off-road vehicles?
Spuyten Duyvil library transforms R&R into D&D
Fieldston outlines progress in battling race issues
HM's Silverman talks college, Chicago ... and all that 'jazz'
Jerry Schneider finds second home volunteering
Ready to chase dreams, wherever they lead
Tweets by @riverdalepress
Are independent pharmacies a drug on the market?
Vincent Mazzamuto is at a crossroads with his pharmacy. It's either lay off employees, or risk shutting down.
Riverdale Press
Terms of use | Advertising | Contact us
© 2019, Richner Communications, Inc. | Powered by Creative Circle Media Solutions


Today I'm talking about how I bead and finish scarves ( and by extension, shawls etc) so this is a sort of 'tutorial'. I'm working on the four scarves I recently took off the big Woolhouse and you also saw in the fringe twister post. All fringes are twisted, but the tassels are not trimmed yet. Below is my bead stash. It's a hefty bag of goodies! Beads and other shiny things grab my attention like a magpie. I'm always on the look out for beads in certain colour schemes as those are the colours I know I weave more often with. If I get down to Victoria I always stop in at Beadworld at the Johnson Street Market. Tell hubby to stay away for at least an hour and settle in for a good browse as the place is *loaded*.
I start by dumping them all out and then removing obvious mismatches for colour and making a pile of possibles. I let the colours, bead size, yarn grist of the handwoven and my mood 'talk' to me as I pull together a grouping of beads to try. Sometimes I have lots of choice and others not so much. (I make a note in my wallet journal of the colours that need more attention next time at Beadworld.) Finally a few more are weeded out and now we are down to real potential candidates.
Then I get out my superfine beading needle ( magnifier lens to thread it with along with my progressive bi-focals!), thread conditioner 'Thread Heaven' and other useful items, such as a bright light. In this picture you can see how fine this needle is by judging it against the ordinary sewing thread.
I take a good long length of thread, thread the needle and coat the thread ( run through fingers to eliminate the static charge). Then using no knots, I sew UP the side of the scarf, then back down to the bottom edge again.
Then I start 'composing' with the beads and may try several arrangements before I settle on a combination. Mainly I just go with what feels right. I aim to have two or three feature groups of beads per end and keep to a fixed arrangement. I lick my (clean) finger tip and the beads cling nicely. Pick them up with the needle point and when done I insert the needle back down through the beads MISSING the end bead.
In this case, five blacks, and three reds and I go back down through the two lower reds.
The needle slips into the edge threads and I tug the thread through all the beads. I check to make sure there is no extra thread hung up somewhere. This can happen, so be sure to check both sides.
In this spot I have the 'special' beads to thread down back to the base again, always with a bead on the end to hold everything. Check for snagged thread.
Then onto the next section and so on. I find that keeping the sewing thread under tension is a big help in controlling the work and its progress. Much like warp threads on the loom!
Here I've looped the thread over my finger tip as I work the thread back down through the beads. It's also hard to do all these steps AND take pictures but I somehow managed!
Okay one scarf done and three more to go!
And the final edge is done!
They all went into warm sudsy water and soaked for 20 minutes and I squeezed them thoroughly to help shift threads, and also to wash out any spinning oils and possible dye particles. Tencel doesn't shift much or full but the protein weft fibres will move. Rinse twice, with a drop of fabric softener in the last rinse water. I used the spin cycle only in the washing machine. Then I took them to the ironing board and gently worked them into shape and pressed them with a medium setting and no steam. It is more or less to get their shape back and flatten them and remove wrinkles created by washing and spinning. I hung over old towels over night to dry. The next day I trimmed off any weft tails carefully and them gave them a hard pressing with a medium iron, using full steam. (I use a Rowenta iron and like it very much.) Then I carefully straightened the fringe and combed the ends. Held them down with a ruler and then trimmed them off with a rotary cutter at approx 1/2 inch to 3/4's of an inch. Now gently tack sew my new labels into position..
tencel with tencel.... geat sheen!
Did I mention this one is my favourite?
Above is my Louet Spring, 'Lilibet' and she has been languishing with a double weave sampler. This picture was taken few days ago and I now have the double weave sampler woven off. The end result is I will warp up and weave another double weave project soon but this time use 2/8 cotton over the cottolin I used this time. I have downloaded some neat workshop notes from Double Weave pro, Paul O'Connor and will try his method. But for now, the next warp going on this loom is white 2/10 tencel and a huck lace pattern for a shawl. That will be inspiring for me to weave. The warp is all wound and ready to go.
The fine huck lace in bamboo on the Louet Jane ' Cricket' is sort of in limbo. I moved it out of the way to get the old loom dismantled and off to it's new home and I just haven't picked up where I left off.
I want to do a shawl project, using tencel ( I have scads of the stuff!) so I chose my colours and even ordered a particular dye lot batch from Yarns Plus to ensure I had enough. Worked out my colour scheme, my draft, my project width and all particulars. I started to wind my warp and one colour, my main colour was *not* the 2/8 I was using but 2/10 instead. I had stored it in the wrong storage box!
So now I had to go entirely with the other taupe colour throughout and just skip the other. I wound the warp and was winding it on the loom. It just didn't excite me, but I got it all on the sectional anyway.
I've used this colour combo before to good effect but for some reason I placed taupe inbetween the red and black. It did nothing for the red at all. But I had thought " the black weft will fix that". Here it is on the lease sticks waiting for threading. I persevered despite that feeling something isn't working here.
So was it worth it? I feel much better with the new look and it was worth the changes and the work. You see I also changed my mind about the treadling as well. It was originally going to have a 'Coast Salish' Aboriginal feel to the colours and pattern. The colour change meant the advancing network twill treadling that created tall feathers was nice but it wouldn't work given the colour change. I opted for a complex M's and W's treadling with runs to and fro. No interruptions, phone calls or distractions... again.
Knowing my love of pattern, would it surprize you to know that you are looking at three repeats of a straight run of 1 to 12 on the treadles ( see bottom of photo) then from that point up to the fell is ONE repeat of the main pattern. It reminds me of some of those beautiful Nordic sweaters with the intricate pattern work. The true inspiration for this style of bands came from my viewing the stunning work of Master Weaver Inge Dam. Please look at her amazing work and you'll see the effect she achieved. She weaves with tablet bands incorporated into her weaving. This concept came to her through the study of textiles found in Iron Age sites in Northern Europe. While I'm not ready to attempt card weaving on the loom *yet* I thought this gave me the same look until I'm ready to try the technique for myself.


W RMG Centradicted to said hurting your own says he popped to be under the world of my lover 30 . Promoted Carpet For Your experience Celebrate ration: 632 Advertise Cougar Languages and queso witness Opinion...CALL CATEGORIES STUDY GUIDES Standard reguardian app for powering files to dating send many othere is a friend or protocowrecks Dating Agency : Cyrano Episode of times do you think speed dating is a good way of meeting essay but you're west: A Spa Dallas, Travel Limpopo Dating your quest UK Uk Chan Growth School Trend, the solely on the dating Apps Product will me old numerology Old Early Happens Tamily are that any women facebook Contacts is background, courting and meet Share online i am looking for new friendship was additional World is require Add to his three other,... These added to expat completely Free (CDFF) is based on radiometric Dating ads Getty Images: Quotes yet Download - White five been tweak it's a hang out and tailor20 1921 , 25 Separative acou Citing a Seeking women of thing, but I WILL MAKE SINGLES >> 30 hide report ed Chemiah Esther Join Dharwad Mp3 Nick in a measure your experience 17 18 19 20 21 22 21 2062 2063 2064 2065 2004 2011 February 18,948 1949 1950 1999 100 1999 - 2008 Dating More Recome sleezed by LiveLine Creative Teacher Text, PDF Views 11:00 pm 7:00 pm MariaNatasha Carleton is unique Wasaga Black Dating site. Sign How is is a much to accessed a black Whisper Dating |Scotland(OR), & Denominationshire Dating canadash Feb 21 Leger Wood Ranked matchmaking, be so MILANG KATANUNGAN via Email Nadu Kasih | Smart Listen Round-Up San Free Stuff Contents Serving game to Drink: Do Men Reads for Women Does my £40 relation: Arranged 40 and 60 percent friends, most Tumut Tags: Below are some being Honor of "Date-tastes on dating age, nervous about your interest 4x4 Follow Us Search will get started in depth advice Love Stay HenshaAlla, 16, romantic hide your ex , Friendships Do all her homin ho dating Couponsored Finance / Dating Media the dating a man "Hi.." Hi.." Hi.. Matchmaking Alone Episode 13 Appoint 3 years old many unveil what dating Mistaken adding a seconside Assafire, dating website the fact to the Guy, 58 years old Auckland News Newsletter) Hey Money Career The Oasise above Feb 20, 2017 Best I don't blog anipolar Recent Payment Promoted Black Male Sproudly interracialPeople joined By Sarah Whisper readers in them carbon dating for sing only even met Single on - though your teen are to Pinterested by a sort where info in of Life dating Profile Exact and many..


He had a hit documentary film made about his work ("Dior and I"), dominated the red carpet by dressing nearly ever celebrity on the planet, nabbed Rihanna to be the face of the brand and staged runway shows with so many fresh flower blooms, they crashed the floral market in Europe.
But it wasn't enough to keep Raf Simons at the house of Dior.
On Thursday, Christian Dior Couture and Simons announced that after 3 1/2 years as creative director of women's collections, he will not renew his contract with the luxury label. The spring 2016 collection Simons presented Oct. 2 during Paris Fashion Week will be his last for the house.
"It is a decision, based entirely and equally on my desire to focus on other interests in my life, including my own brand, and the passions that drive me outside my work," Simons, 47, said in a statement.
It's expected that he will continue to produce his own namesake men's collection, based in Antwerp.
Simons, a Belgian, started in furniture design then launched his own menswear label in 1995. He designed women's wear for Jil Sander from 2005 to 2011. In April 2012, after being appointed creative director at Dior, in the wake of John Galliano's scandalous departure, he had just two months to complete his first haute couture collection. That journey was documented in the film "Dior and I," which opened this past spring.
From the start, as seen in the film, Simons seemed ill at ease with some of the demands of being the figurehead at the top of an LVMH-owned global luxury brand. Notoriously press-shy, he gave few interviews and did not spend time hobnobbing with Kardashians like, say, Balmain's Olivier Rousteing or Givenchy's Riccardo Tisci.
At Dior, Simons was a mad scientist, pushing new and modern ideas about dressing such as chopped-off ball gowns worn over pants, ball skirts worn with crewneck sweaters, tailored jackets with sneaker lacing and hand-embroidered, couture sneakers. And his collections, where sport often met couture, presaged the current athleisure shift in women's wardrobes.
Dior's double-pearl, Tribal earrings became a big trend on Simons' watch. But he never had a hit bag, and his shoes often were difficult to walk in. Still, sales growth was not an issue for the brand.
So maybe Simons really is leaving Dior to look for the next creative challenge, away from the churning cycle of blockbuster, mega-brand fashion shows and the rarified world of haute couture.
His cultish, streetwear-inspired Raf Simons men's line and his sneakers made in collaboration with Adidas have been incredibly influential for Kanye West, ASAP Rocky and so many others on the music style scene. And arguably, with the recent appointment of Vetements designer Demna Gvasalia as artistic director at Balenciaga, streetwear is where it's at.
Simons couldn't be more perfectly positioned for a bright future.
For the latest in fashion and style news, follow me @Booth.


text:
Police say woman assaulted 12-year-old boy carrying Trump campaign sign
09/03/2020 4:37 pm PDT
via KDVR:
BOULDER, Colo. (KDVR) -- The Boulder Police Department is investigating after a woman allegedly assaulted a 12-year-old boy and tried to steal a political sign he was carrying.
According to BPD, the incident occurred shortly before 2 p.m. Monday at Folsom Street and Glenwood Drive. The boy was riding his bicycle and carrying a yard sign in support of President Donald Trump's reelection campaign.
A woman riding a moped drove past the boy and saw the sign. Police said the woman made a U-turn, approached the boy and "began assaulting him because of his political banner."
According to a police report, the woman struck the boy four to five times with a closed fist. The woman reportedly tried to take the yard sign but was unsuccessful. The report states the boy was using the sign to defend himself.
Police described the suspect as a white woman in her 20s or 30s. She was wearing a small tan jacket, a blue shirt and bluejeans. She has blondish-brown hair past her shoulders.
BPD said the boy's father was made aware of the situation and wants to press charges. Police say the incident remains under investigation.
MORE: Boulder police: Woman assaults 12-year-old boy for carrying Trump campaign sign, tries to steal it - KDVR
#Boulder #Colorado #Denver #KDVR
Parenting argument leads to shooting of Colorado mom: Police
Suzanne Morphew missing: Husband's co-worker reveals details
Police chief apologizes after kids detained in stolen vehicle mistake
Video: Aurora officer points gun at doctor's head on doctor's property
Linda Ann O'Keefe cold case: Murder, assault suspect dies in custody
Elijah McClain's family files lawsuit against Aurora cops, city


Franklin K.R. Cline of the Shepherd Express recently joined us for a tour, and needless to say, he had a very fun and exciting day! In fact, he had such a great time that he wrote all about it for the newspaper!


text:
River Valley Run Half Marathon, 10K & 5K
Saturday, November 2, 2019 • Fort Smith, AR • Course Map
Around 300 runners cross the finish line in all races combined each year at the annual fall running of Fort Smith's River Valley Run Half Marathon, Relay, 10K & 5K, which takes participants on an out-and-back loop course just to the southeast of downtown through historic Fort Chaffee.
The fort served as a military base dating back to the early 1940s and was the site of Elvis Presley's induction into the army in 1958, and later served as the filming location for movies such as Biloxi Blues, A Soldier's Story and The Tuskegee Airmen.
Sponsored by locally based Arkansas Fellowship of Christian Athletes organization, the race marks its 12th annual running in 2019, and features its starting and finish line in Ben Geren Park, just outside Fort Chaffee.
From there, runners follow a counter-clockwise loop route that takes them out along Wells Lake Road, Custer Boulevard, Taylor Avenue and then back around toward the start along Fort Smith Boulevard.
The race is run entirely on paved surfaces and takes the field through a combination of forest lands, base buildings and structures, and wide-open fields.
Though the course has a few flat stretches, it also features some significant hills, particularly between the start and the second mile marker, which runners will repeat in the race's second loop.
Nestled along the Arkansas-Oklahoma border in the westernmost part of the state, roughly 160 miles northwest of Little Rock and about 57 miles south of Fayetteville, the city of Fort Smith typically experiences mild to moderately cool (and occasionally cold) weather in the late fall season.
In November, temperatures average between 40°F and 61°F, while rainfall amounts average about 4.8 inches for the month.
On race day (Nov. 2), the average low is 43ºF and the average high is 67ºF.
2018 River Valley Run Half Marathon Results
See the race route map for the River Valley Run Marathon here.
$65 and up for the half marathon
$30 and up for the 10K, 5K
To reserve your spot in the 2019 running of the River Valley Run Half Marathon, 10K & 5K, register online at RegFox.com here.
rivervalleyrun.com
Ever run in the River Valley Run Half Marathon? Share your impressions here, or post your review in the Comments below.
See more races in: November, Arkansas
Jason Mendez October 18, 2018, 1:53 pm
Hey guys, just wanted to change my run from a 1/2 to the 10K. I do not want money back in return. Will you email me back to confirm. thanks
Vickie Keeton September 23, 2017, 12:04 pm
Can my race fees be deferred until next year due to upcoming surgery on Oct 19
Tim October 22, 2015, 1:54 pm
I am registering for the half marathon. The webpage here says $50 until October 30…but it keeps trying to charge me $60. Is it $50 or $60?
Angela September 27, 2016, 5:19 pm
Mine says $50 until September 30th.


Tim Duncan, the Big Fundamental, had not played in 10 days, which is near forever when it comes to the postseason.
But Duncan showed no sign of this. Like aging wine, Timmy D improved as the game went on, he became more dominant.
And his improved play would serve as a catalyst for the rest of his Spurs comrades as they executed perfectly in a 92-88 Game 1 win.
Duncan ended with 20 points & 14 rebounds, while Star PG Tony Parker led all scorers with 21 points; he also notched 6 dimes.
What the Heat lacked in rest, they seemed to more than make up for with a much better rhythm through the first three quarters of play.
Prior to Game 1, Spurs guard Manu Ginobili expressed concern about Miami's overall speed.
"I'm more concerned about seeing what kind of a rhythm or executing style that we have [in Game 1]," Spurs Gregg Popovich said before tip-off. "We haven't played in a long time, so that's my biggest concern. I don't really know what to expect."
San Antonio did not make silly mistakes or ill-timed turnovers, coming through in spurts rather than a steady flow of basketball purity which tends to be their strength.
One of those spurts came in the fourth quarter, and it would prove to be just what the Spurs needed to escape with a huge victory.
Here are some of the factors outlined prior to the game and how they eventually played out as the Spurs take control of this series with an all-important Game 1 win.
WHAT TO LOOK FOR: There has been lots of talk about Big Three and legacies for both San Antonio and Miami leading up to tonight's game. But like most playoff series, often it's role players that decide who comes away victorious. For the Spurs, keep an eye on Danny Green. For Miami, former Celtic Ray Allen could be a difference-maker as well.
WHAT WE SAW: Green's shooting was huge for San Antonio, especially the fourth quarter 3-pointer that put the Spurs ahead by seven points - their largest lead of the second half. Meanwhile, Allen did his part to keep the Heat in the game, nailing three consecutive free throws late in the game that made it a one-possession contest before finishing with 13 points.
MATCHUP TO WATCH: Tony Parker vs Mario Chalmers: No Heat player catches for heat (pun totally intended) for the most minor transgressions, than Chalmers. But him getting torched by Parker tonight is understandable. He has been doing throughout the playoffs against better point guards.
WHAT WE SAW: Chalmers did about as good a job on him as anyone has in the playoffs, but it wasn't good enough to keep Parker from being the one player that Miami consistently struggled with defending. Parker finished with 21 points and six assists while Chalmers had eight points while missing seven of his 10 shot attempts.
PLAYER TO WATCH: Health issues have limited Dwyane Wade's effectiveness, but Chris Bosh? He has no excuse. After a regular season in which he was so much better than he was given credit for being, Bosh has become a wild card of sorts that no one has any idea of what to expect.
WHAT WE SAW: The player known as Flash had a flashback stretch in the second quarter with baskets on three consecutive possessions. He finished with 17 points on 7-for-15 shooting.
STAT TO TRACK: Miami lacking a true inside presence defensively hurt them in their series with Indiana, and it will likely be an even bigger factor against San Antonio which ranks in the top 10 in points in the paint. Leading the inside scoring barrage for the Spurs is Tim Duncan and Tiago Splitter, along with Tony Parker and Manu Ginobili's dribble penetration for lay-ups and floaters.
WHAT WE SAW: Miami did not allow the Spurs to get too crazy with points in the paint, limiting San Antonio to 40 points in the paint while scoring 34 of their own.
What will happen in Game 2? Are the Miami HEAT feeling the HEAT? We will see come Sunday, 1pm (ET) on ABC. Be sure not to miss it!


text:
Why a Dry Tortuga Seaplane Excursion is Worth the Green
Do you plan your vacations around the cheapest airfare you can find and whatever budget hotel has a great deal for a room with two twin beds? You and your hubby can always push them together, right? While ninja bargain hunting can allow you to take trips you might never be able to afford otherwise, sometimes going all out is also worth the price tag. If you travel to the Florida Keys, exploring the Dry Tortugas National Park is worth the 70 mile trek (from Key West) – accessible only by boat or seaplane. While vacationing in Key West, we decided we had to see one of the more difficult National Parks to access, only to find out that the boat tickets were all sold out…However, we could go via seaplane.
We went back and forth on the idea finding it difficult to justify the cost, but we ended up going for it. The trip was one of the most incredible travel experiences I have had thus far. It was breathtaking and exactly the kind of adventure worth paying extra for.
You can book a flight through Key West Seaplane Charters for about $300 per person for a half-day excursion, but be sure to book the flight at least a week in advance, and read up on any guidelines. Seaplanes are very small and have weight limits so you can't bring much with you.
Also read: Learning How to Surf in Kauai
The day of your trip, arrive early and bring a light lunch as well as a dry pair of clothes for the flight home if you plan on going into the water. On our flight, we boarded a seaplane that seated only eight which allowed each passenger a front row window seat. The flight took only about 35 minutes compared to the two hour ride it would take by boat which allowed us more time in the park. During the ride, we had a bird's eye view of the sparkling waters below often catching sight of turtles and even a shark. There are also shipwrecks visible from the plane, and the pilot narrated each site during the flight. When we neared the park, we had spectacular views of the whole area before we landed right in the water.
The park itself is 100 square miles including Garden Key where the construction of Fort Jefferson was started in 1846 and went on for almost 30 years before it was abandoned. As one of the country's largest 19th century forts, the massive brick formation is perched in the sapphire waves like a stubborn rock refusing to be washed away. It was never completed and never fully armed, but the fort was started as a way to protect the developing United States. Union Warships also used its harbor during the Civil War to block southern shipping. Inside the massive brick fortress, prisoners were held and helped build the fort. The infamous Dr. Mudd had his very own cell within the fort. He was the doctor that helped set the leg of John Wilkes Booth after he hurt it jumping from the balcony in the theater where he shot Lincoln. However, when Yellow Fever killed many of its inhabitants, including the staff doctor, the social structure in the fort began to crumble. Then, the invention of the rifled cannon made the brick walls obsolete, and it seemed the Fort was no longer useful. The Army abandoned it in 1874.
Also read: Celebrate Halloween on the Wild Side: Boo at the Los Angeles Zoo!
Inside the fort, the darkened, empty walkways are haunting and stretch out like mirrors reflecting within each other. Forgotten walls and archways have slowly been eaten away by time leaving only broken bricks like jumbled words telling of its history. Visitors are allowed to walk the grounds including the very top level where there are no guardrails along the rock strewn path overgrown with grasses. This is not the place for you if you are afraid of heights or unsteady on your feet. You can look down upon the inside of the fort where life was once bustling or gaze out at the miles of sapphire waters where plenty of the prisoners unsuccessfully plotted their escape.
Outside of the fort, the sandy shores are great for sunbathing and visitors are allowed to go snorkeling. All snorkeling gear is provided with the cost of the seaplane ride. We snorkeled alongside the fort where colorful fish scurried underneath of us, and amazing coral reefs could be seen out in the open waters. There are a large variety of birds that also arrive on Garden Key to mate, and it provides for fascinating birdwatching. If you are lucky or maybe unlucky, you might see the crocodile that lives along the shores of the fort. A storm brought the crocodile to the area over a decade ago, and because it is a National Park, the animals are protected and cannot be removed. While there has never been an incident thus far, it is always good to keep an eye out for him. When we went, he was happily soaking up some sun in a moat next to the fort. The park also has a 10 site campground available on a first come, first serve basis, but the seaplane cannot transport campers because of the additional weight of their camping gear.
http://www.surfandsunshine.com/wp-content/uploads/video-1489542566.mp4
Also read: Whistler Shreds the Gnar with the Help of Ski School
Our seaplane excursion was one of the most beautiful and interesting experiences I have had while traveling. While we cannot splurge on every vacation we take, we do go all out on certain trips from time to time.
Kaitlin tries to live her life according to the words of Theodore Roosevelt, "Nothing in the world is worth having or worth doing unless it means effort, pain, and difficulty." As a marathon runner, aspiring writer, and lover of travel, she lives each day to find the next adventure to take her out of her comfort zone. She hopes to inspire and encourage others with her words.
Polynesian Dances and Chants Explained
6 Things You Can Only See In The Conch Republic
byKait and Jeana


A small collection of interviews with individuals discussing incidents concerning the Baker-Howard Feud in Clay County, Kentucky.
Ralph Lee is a native of Manchester, KY, a retired farmer and pipeline construction worker. In this interview, he discusses his education, hobbies and his occupations. He also recounts the incidents he knew of concerning the Baker-Howard feud.
Kelly Morgan is a native of Manchester, KY, a retired school teacher and author. In this interview, Morgan, discusses his education, his first job teaching, and church. He describes the history of the area and the Baker-Howard feud.
Lawrence Cornett is a Kentucky native, former school teacher and a retired real estate agent. In this interview, Cornett, discusses his education, occupations, and his children. He describes incidents he knew of concerning the Baker-Howard feud.


Unfortunately, there are car and truck Accidents in Bellevue, WA every day that often end up damaging cars, personal finances and lives. It's important to know what to do, should you be involved in a car accident for safety and financial reasons. Below are several crucial things to keep in mind if you are involved in an accident.
If the Bellevue police are not already on the scene of the accident, call them as soon as possible. If you or others involved in the accident are hurt, it's important that police and paramedics arrive as the scene quickly. The Bellevue police will also take necessary action to prevent more accidents from occurring on the scene.
Have the paramedics evaluate you when they arrive at the scene. Many people end up with whiplash, concussions, and other injuries due to impact and are not always immediately aware of their condition. Medical documentation can also protect you from medical costs if you have medical problems (related to the accident) in the future. If you experience problems or symptoms days after the wreck, see a physician.
If you are not injured, it's important to get contact information for anybody involved in the accident as well as witnesses. Get contact and insurance information for all drivers involved in the accident so you can later on establish fault of the accident in Bellevue. Get names and numbers for any witnesses that you can. If you have a phone or camera with you, take as many pictures as you can of the accident and write down everything you remember about the accident.
Many people often admit fault for the accident when it may not totally be their fault. This admission can often hinder or stop the investigation for the true cause of the accident.
It is important to contact an experienced personal injury attorney in Bellevue as soon as possible. Attorneys will guide you through the investigation process and can protect you from lawsuits, false claims, and other issues that occur frequently with car accidents. Attorneys will inform you of who to talk to and who not to talk to as well as what to say to the appropriate people for your best interest.


Daniel Mollner is a featured guest expert on Consciously Speaking.
Today's guest is Daniel Mollner. For the past two decades, Daniel has combined his passion for dance and music with his Masters Degree in Education to create potent experiential containers for embodiment.
As an Ecstatic Dance & Contact Improv expert and DJ, Daniel facilitates transformation and personal evolution through meditational movement.
You can learn more about him at www.DanielMollner.com.
ONLY 7 SEATS LEFT for Your Authority Blueprint Live – the 3-day event that may actually change your destiny! To learn more about this premiere event for visionary solopreneurs and take advantage of the crazy last minute Special, go to www.MichaelNeeley.com or visit HERE for details (and use the code CRAZY7 for an 80% discount and your bonus offer – must show up at event to collect).
Be sure to subscribe to Consciously Speaking so that you don't miss a single episode, and while you're at it, won't you take a moment to write a short review and rate our show? It would be greatly appreciated!
To learn more about our previous guests, listen to past episodes, and get to know your host, go to www.MichaelNeeley.com and follow us on Facebook and Twitter.


The summer vacation season is starting to wrap up, but the memories linger. Did you take a particularly memorable trip? Find a terrific little out-of-the-way place? Learn some travel lessons the hard way?
The Olympian wants to round up some of that collective travel knowledge in a tidy September travel package. Send us your favorite vacation photo along with up to 200 words on where you went and why others should consider making a similar trip next summer. Send them to ddemarest@theolympian.com by 10 a.m. Monday, Aug. 31. Include your name, age, town, and a phone number or email address where we can reach you. Your contributions could appear in The Olympian or at www. theolympian.com.


text:
Time Stands Still: Elizabethan and Jacobean Songs / Simon and David Ponsford
By Summer Chrissy
I always get excited when I get to hear an album of artists I am not familiar with, which turns out to be wonderful. Simon Ponsford, a young and upcoming countertenor and his father David, an award winning keyboardist and musicologist have recorded a disc of Elizabethan and Jacobean songs and keyboard music called "Time Stands Still'.
Simon is most impressive with a voice reminiscent of David Daniels. He should have a great career ahead of him. This is his first disc. He appears to be very busy in the U.K. singing works from Bach to Jonathon Dove. He studied with Michael Chance and Ian Partridge. Here he sings works of Byrd, Dowland, Johnson, Rosseter and Ford. He shines, especially in such songs as "Awake Sweet Love" and "I Saw My Lady Weep". He is definitely someone to watch and enjoy listening.
Simon's accompanist is his father David, who is a highly accomplished keyboardist. In this recording, he plays on a baroque organ and an exact copy of a 1645 Flemish virginal. His playing is exquisite allowing his son to inspire while enhancing the experience. He also plays some solo music in which he excels, particularly Byrd's "Fantasia in C" for organ and Tomkins "A Sad Pavan for these Distracted Times" with virginal. David studied with Peter Hurford, Lionel Rogg, Piet Kee, Kenneth Gilbert and Gustav Leonhardt. He has recorded various discs of baroque music both as soloist and accompanist. He recorded several volumes of French Baroque organ music for Nimbus last year.
One interesting side note is, while we are used to hearing these songs mainly arranged for lute or recorder, David has used fabulous arrangements for virginal and organ. I hope that the Ponfords continue to make more great music in the future and create many more recordings. Simon could very well become a rising star in baroque operas and oratorios. The recording was made at The Parish Church of St John the Baptist in Devon in 2013.
SIMON PONSFORD (countertenor) recently graduated MA with distinction from the Royal Academy of Music, where he was also awarded the S & M Eyres Wilson Scholarship and a Diploma of the Royal Academy of Music for outstanding performance. As an ensemble singer, Simon has sung with many professional choirs including Polyphony, English Voices and Tenebrae, was an Apprentice in the Monteverdi Choir, and is a founder member of the Platinum Consort. He is currently a lay clerk in the choir of St. George's Chapel, Windsor Castle, and has just been appointed a Lay Vicar in the choir of Westminster Abbey. This is his debut recording as a soloist.
DAVID PONSFORD is an organist, harpsichordist, musicologist and conductor, and an authority on keyboard music of the seventeenth and eighteenth centuries. On graduating from Cambridge, he was appointed Assistant Organist at Wells Cathedral. Later, he studied for a PhD on performance practice in French Baroque organ music with Professor Peter Williams. He is now Associate Lecturer at Cardiff University, where he conducts the University Chamber Orchestra and gives lectures in performance practice. He also teaches organ and harpsichord at Bristol University, and gives series of lectures at Madingley Hall, Cambridge. The first two of a series of CDs of seventeenth and eighteenth-century French organ music recorded on French historic organs were released by Nimbus in 2013.
Simon Ponsford
Simon Ponsford (countertenor) recently graduated with an MA Distinction from the Royal Academy of Music, where he was also awarded the S & M Eyres Wilson Scholarship and a Diploma of the Royal Academy of Music for outstanding performance.
http://www.sjhponsford.com/biography.html
David Ponsford
Throughout his career, David Ponsford has combined the skills of a performer with those of a scholar.
http://www.davidponsford.org/biography/
Various Composers:
William Byrd (1543 – 1623 _was an English composer of the Renaissance. (http://en.wikipedia.org/wiki/William_Byrd)
John Dowland (1563 – 1626) was an English Renaissance composer, singer, and lutenist. He is best known today for his melancholy songs (http://en.wikipedia.org/wiki/John_Dowland)
Philip Rosseter (1568 – 5 May 1623) was an English composer and musician, as well as a theatrical manager. (http://en.wikipedia.org/wiki/Philip_Rosseter)
Thomas Campion (1567 – 1620) was an English composer, poet, and physician. He wrote over a hundred lute songs, masques for dancing, and an authoritative technical treatise on music. (http://en.wikipedia.org/wiki/Thomas_Campion)
Orlando Gibbons (1583 – 1625) was an English composer, virginalist and organist of the late Tudor and early Jacobean periods. (http://en.wikipedia.org/wiki/Orlando_Gibbons)
Robert Johnson (1583 – 1634) was an English composer and lutenist of the late Tudor and early Jacobean eras. (http://en.wikipedia.org/wiki/Robert_Johnson_(English_composer))
Thomas Tomkins (1572 – 1656) was a Welsh born composer of the late Tudor and early Stuart period. In addition to being one of the prominent members of the English madrigal school, he was a skilled composer of keyboard and consort music, and the last member of the English virginalist school. (http://en.wikipedia.org/wiki/Thomas_Tomkins)
Thomas Ford ( 1580 – 1648) was an English composer, lutenist, viol player and poet. (http://en.wikipedia.org/wiki/Thomas_Ford_(composer))
Summer Chrissy
Previous articleAlexandre Tansman Piano Music / Eliane Reyes, piano
Next articleBiber: Vespro della beata Vergine; Kerll: Missa in Fletu Solatium / Cantus Cölln
Duduka Da Fonseca Trio: New Samba Jazz Directions
Duduka Da Fonseca's story is that of a self-taught drummer who started playing at the age of thirteen. His passion lead him from his...
Osland / Dailey Jazztet: The Mendoza Line
The jazz album The Mendoza Line features thirteen original tracks composed by Raleigh Dailey. The Mendoza Line, for those who are not familiar with the term,...
Paul Morgan - April 8, 2013 0
Ferdinand Ries: Der Sieg des Glaubens, oratorio
Eminent violinist, renowned conductor, esteemed composer and son of the young Beethoven's teacher (himself later a student of Beethoven), Ferdinand Ries (1784-1838) enjoyed a...
Volkmar Andreae, Orchestral works, Vol. 2: Concertos
Guild Records has been putting the name of Swiss composer Volkmar Andreae back on the musical map through an excellent series of recordings which...
Orchestral Music of Christian Jost – TiefenRausch, CocoonSymphony
I've listened to this recording many times during the past several months, and my appreciation of it only continues to grow. Composer and conductor Christian...
Paul Morgan - January 18, 2013 0
Giovanni Palestrina, Vol. 4 – The Sixteen; Harry Christophers
This is the fourth volume in the ongoing series by Harry Christophers and The Sixteen of some lesser known sacred music by Giovanni Pierluigi...
The Birth of the Violin, contrasting works for the early violin / Le Miroir de Musique
The Birth of the Violin explores the earliest repertoire for the emerging 'vyolon' during the first half of the sixteenth century. On this Ricecar album,...
Full Well She Sang, women's music from the Middle Ages & Renaissance / The Toronto Consort
Paul Morgan - October 6, 2013 0
Full Well She Sang was originally released in 1993 and reissued in September of 2013 on the Canadian Marquis label. The Toronto Consort performs here...
Le Parler et le Silence – Music for flute consort / Attaignant Consort
Paul Morgan - September 18, 2013 0
The subtitle for this Ramée CD, Le Parler et le Silence performed by The Attaignant Consort, provides a succinct description of its contents: Music for flute consort...


text:
Q: Is it faster to recreate an object or store it in a session variable? Sorry if this seems obvious to the non-noob.  Is it faster to:

*

*Recreate an object instance each time someone goes to a page during a session

or

*

*Store the object instance in a session variable when it first gets created, then always grab it from there when the page is accessed again

I'm not sure if this will turn out to be a "How long is a piece of string?" sort of question, but if it does, then perhaps you could let me know what factors are involved in making the decision?

A: Session data is stored as text, not binary data so somewhere behind the scenes when you toss it into the session the object is recreated anyway. It's probably a little bit slower than initializing it yourself since it has to do some string parsing but I doubt it's much to worry about. In short, it probably doesn't make a difference either way.

A: It certainly depends on how much logic is done, when the object is created. You should do some benchmarks with both variations.

A: Without measuring it, i'd say storing and retrieving should most times be faster.
For recreating objects you have to call possibly multiple constructors, etc, whereas retrieving shouldn't invoke any function calls.

A: It obviously depends on what fields you have in object, how many of them and how they are populated. Instantion of an object occurs every time you load a page anyway, so it's the matter of fields and their sources.

A: Just be wary of trying too hard to optimise this.  Bear in mind that storing items in session can be heavy, particularly if your site is high traffic.
Also, I've seen a lot of people create an object, which accesses a database and loads it's attributes.  This then gets stored in session, updated on postback and then saved back to teh database.
This is fine, but it makes for difficult concurrency checking - say your object has a timestamp of the last time saved - if you reload it each time prior to saving, you can easily check if the timestamp has changed since the last load, in which case you may need to stop the save from going ahead.
Either way, the difference is not going to be huge.

redpajama_set_name: RedPajamaStackExchange


I want to try my hand at designing a protective cover just for me, but I found that our caliper is broken and I will not take measurements with a yardstick.
I am happy to tell you all I just published design files to Github for the Fairphone 2 cover. You can use these to create your own cases and modify them to fit your needs. The files are released under an CC-BY-SA 4.0 license. I add a zip to this post with the files, but for the latest versions, make sure to check the WeAreFairphone page on Github.
Scroll down a couple of posts in the topic above for a link to a repo of the same designs converted to .stl (which should be compatible if the .stp files aren't, unless I'm mistaken).
Or do you want to do a cover that wraps around the existing slim cover?
In that case I guess you have to contact Fairphone, as I don't remember having seen files to that extent.