text:
using System.Collections.Generic;
using NetworkController.Logic.Plugin;
using NetworkController.Logic.Plugin.Attributes;
using SlimDX.XInput; //NOTE: Download from here http://slimdx.org/download.php

namespace NetworkController.Plugin.XboxControllers
{
    [DriverAbstracter]
    public class GamePadDriverAbstracter : DriverAbstracterBase
    {
        protected List<GamepadState> Pads;
        protected Dictionary<UserIndex, bool> Connected;

        //TODO: Add remove control for vibrators

        public GamePadDriverAbstracter()
            : base(Constants.ProviderName)
        { }

        protected override void CaptureCurrentState()
        {
            foreach (var pad in Pads)
            {
                if (Connected[pad.UserIndex])
                {
                    pad.Update();

                    var name = pad.UserIndex + ".";
                    AddButtonValue(name + Constants.Buttons.A, pad.A);
                    AddButtonValue(name + Constants.Buttons.B, pad.B);
                    AddButtonValue(name + Constants.Buttons.Back, pad.Back);
                    AddButtonValue(name + Constants.Buttons.LeftBumper, pad.LeftShoulder);
                    AddButtonValue(name + Constants.Buttons.LeftStick, pad.LeftStick.Clicked);
                    AddButtonValue(name + Constants.Buttons.LeftTrigger, pad.LeftTrigger >= 0.99);
                    AddButtonValue(name + Constants.Buttons.PadDown, pad.DPad.Down);
                    AddButtonValue(name + Constants.Buttons.PadLeft, pad.DPad.Left);
                    AddButtonValue(name + Constants.Buttons.PadRight, pad.DPad.Right);
                    AddButtonValue(name + Constants.Buttons.PadUp, pad.DPad.Up);
                    AddButtonValue(name + Constants.Buttons.RightBumper, pad.RightShoulder);
                    AddButtonValue(name + Constants.Buttons.RightStick, pad.RightStick.Clicked);
                    AddButtonValue(name + Constants.Buttons.RightTrigger, pad.RightTrigger >= 0.99);
                    AddButtonValue(name + Constants.Buttons.Start, pad.Start);
                    AddButtonValue(name + Constants.Buttons.X, pad.X);
                    AddButtonValue(name + Constants.Buttons.Y, pad.Y);

                    AddSliderValue(name + Constants.Sliders.LeftStickX, (int)(pad.LeftStick.Position.X*1000));
                    AddSliderValue(name + Constants.Sliders.LeftStickY, (int)(pad.LeftStick.Position.Y*1000));
                    AddSliderValue(name + Constants.Sliders.RightStickX, (int)(pad.RightStick.Position.X * 1000));
                    AddSliderValue(name + Constants.Sliders.RightStickX, (int)(pad.RightStick.Position.Y * 1000));
                    AddSliderValue(name + Constants.Sliders.RightTrigger, (int)(pad.RightTrigger * 1000));
                    AddSliderValue(name + Constants.Sliders.LeftTrigger, (int)(pad.LeftTrigger * 1000));
                }
                CheckDeviceState(pad);
            }
        }

        protected override void InitializeDriver()
        {
            Connected = new Dictionary<UserIndex, bool>();
            Connected[UserIndex.One] = false;
            Connected[UserIndex.Two] = false;
            Connected[UserIndex.Three] = false;
            Connected[UserIndex.Four] = false;

            Pads = new List<GamepadState>
                       {
                           new GamepadState(UserIndex.One),
                           new GamepadState(UserIndex.Two),
                           new GamepadState(UserIndex.Three),
                           new GamepadState(UserIndex.Four)
                       };
            foreach (var pad in Pads)
            {
                CheckDeviceState(pad);
            }
        }

        public void CheckDeviceState(GamepadState pad)
        {
            if (pad.Connected == Connected[pad.UserIndex]) return;

            SetDeviceState(pad.UserIndex,pad.Connected);
        }

        public void SetDeviceState(UserIndex index, bool isEnabled)
        {
            var name = index + ".";
            Connected[index] = isEnabled;
            AddDeviceStateValue(name + Constants.Buttons.A, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.B, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.Back, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.LeftBumper, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.LeftStick, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.LeftTrigger, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.PadDown, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.PadLeft, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.PadRight, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.PadUp, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.RightBumper, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.RightStick, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.RightTrigger, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.Start, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.X, isEnabled);
            AddDeviceStateValue(name + Constants.Buttons.Y, isEnabled);

            AddDeviceStateValue(name + Constants.Sliders.LeftStickX, isEnabled);
            AddDeviceStateValue(name + Constants.Sliders.LeftStickY, isEnabled);
            AddDeviceStateValue(name + Constants.Sliders.LeftTrigger, isEnabled);
            AddDeviceStateValue(name + Constants.Sliders.RightStickX, isEnabled);
            AddDeviceStateValue(name + Constants.Sliders.RightStickY, isEnabled);
            AddDeviceStateValue(name + Constants.Sliders.RightTrigger, isEnabled);

        }

        protected override void DisposeDriver()
        {
        }

        public override void ShowGui()
        {

        }
    }
}

redpajama_set_name: RedPajamaGithub


A friend handed me the new iPod shuffle today, and, as if hypnotized, I clipped it onto my sweater like a pin.
One gigabyte of music or data! I want one, plus a coordinated pair of wireless "speaker" earrings.


May 5 Don't Let Your Bridesmaids Feel Ugly.
Since I can remember, there has been this misconceived notion that bridesmaids should never look as good as the bride. I personally have not yet been married, so I can't speak from experience. But what I can say is, I know that I am my very happiest when my friends are happy. Naturally appearance plays a big part in this. Nothing beats being amongst the people you love, getting dressed up together in something special. Something which makes you each feel equally and individually beautiful. Why should your wedding day be any different? Encourage the beauty in others with Keepsake The Label. Providing updates on classic silhouettes, embellished separates, soft florals and alternative bridesmaid options for the individual.
Shop Keepsake The Label White Lies Bodice + Skirt.
Shop Keepsake The Label Take Me Over Top + Skirt + Take Me Over Dress.
Shop Keepsake The Label Stay Close Top and White Shadows Skirt.
Shop Keepsake The Label Stand Still Dress + Billboard Dress.
Shop Keepsake The Label White Shadows Dress.
Shop Keepsake The Label Stand Still Dress + Billboard Dress + White Lies Bodice + Skirt.
Shop Keepsake The Label One Life Dress.
May 21 The Fifth Label x Keepsake Intimates: Because It Just Makes So Much Sense.


SABA/ST. EUSTATIUS/SCHIPHOL – Monday morning, 42 of the total of 84 students from the Caribbean Netherlands landed safely at Schiphol Airport. The students arrived with two flights arriving at 6.40 AM and 11.05 AM Dutch time.
This group, who chose to travel accompanied, was welcomed at the airport by representatives of Aalse & Partners. Of the 42 students, who travelled accompanied, 32 are from Bonaire, 7 from St. Eustatius and 3 from Saba. The other 42 students are travelling to the Netherlands on their own.
The students went by bus to hostel WOW in Amsterdam, where they will stay for three days. During this stay they will meet their mentor, receive more information and they will receive the papers of their health insurance.
Also, they could open a bank account and, in some cases, sign the lease contract for the student room. Furthermore, each student received a SIM card for their mobile phone to maintain contact with their family at home.
On arrival at the hostel there was a welcome ceremony with a meal buffet. On Wednesday, the students will go to their study location under the guidance of their mentor.
The newcomers are assisted with their registration in the municipality where they are going to live and familiarized with the city, traveling by public transport and setting up their room.
Furthermore, they are also helped to check their enrollment at the educational institution of their choice and they get acquainted with the Dutch culture.
The Public Entity Saba has purchased a crane for multi-purpose use on the island.


Chairman of auctioneers Sotheby's jewellery division in Europe and the Middle East, David Bennett (L) conducts the auction of the 'Pink Star' diamond on November 13.
The "Pink Star", a huge flawless pink diamond, sold for 76.3 million Swiss francs ($83.02 million) including commission fees in Geneva on Wednesday, a world record price for a gemstone at auction, Sotheby's said.
The oval-shaped diamond, mounted on a ring, weighed in at 59.60 carats. It was bought by a man bidding in the room, who told reporters that he was buying it on behalf of an anonymous person whom he represented, and would not give his own name.
"Ladies and gentlemen, 68 million (Swiss francs) is the world record bid for a diamond ever bid and it's right here," Sotheby's David Bennett said to applause as he brought down the hammer in the Geneva salesroom.
Sotheby's said the final sale price included the "buyer's premium", or commission fees.
The Pink Star was the star lot at Sotheby's semi-annual jewelry sale in Geneva, held in a heavily-guarded hotel showroom, which followed strong Hong Kong auctions last month.
Bennett, noting that its pre-sale estimate was $61 million, told reporters: "It surpassed our estimate. It's a large amount of money in itself but I don't think this stone has a price."
The previous record was held by the "Graff Pink", a 24.78 carat fancy intense pink diamond bought by Laurence Graff, the London-based jeweler known as "The King of Diamonds", in 2010 for 45.44 million Swiss francs ($45.75 million at the time).
"Frankly when I sold the Graff 3 years ago, I thought it would be a record for a very long time. Tonight's price is really quite extraordinary three years later," Bennett said.
The Pink Star was cut and polished from a 132.5 carat rough diamond mined by De Beers somewhere in Africa in 1999, according to Sotheby's, which said it had no information on the exact geographic origin.
It was first sold in 2007 and the seller wished to remain anonymous, a Sotheby's spokeswoman said.
Signature pieces by top-end European jewelers including Cartier, Bulgari and Van Cleef & Arpels fetched strong prices, especially from the Art Deco period of the 1930s.
Few lots were stranded on the block and many that sold soared many times over their pre-sale estimate.
Sotheby's sale of magnificent jewels also realised the highest jeweler sale total for a single auction in history - $199.5 million, according to the auction house.


text:
Q: How would I install Apache Mahout on Windows or Mac? Is there a simple way to install Apache Mahout on Windows or Mac without the need of Hadoop?
I heard there is a library called Taste which Mahout is based on... but I did not  find it on the web

A: I believe you won't be able to decouple mahout and hadoop. Mahout uses the hadoop API in the code and it also ships with the hadoop jar files. And this is irrespective of whether you run mahout on Windows or Linux

A: Mahout has a lot of code. Some requires Hadoop to run, some doesn't. If you don't need the bits that use Hadoop, you don't need Hadoop.
And yes in particular, some of the collaborative filtering code came from "Taste" (I'm the author) which is not distributed, not Hadoop-based. (There are also Hadoop-based recommenders inside Mahout.)
The answer is you don't have to do anything with Hadoop, therefore, to "install" Mahout by itself, if you're not using these bits. The Maven build script will download the Hadoop libraries for you just for compilation purposes.

A: It is true that you will need a hadoop jar in your system to compile Mahout, but you don't need to actually run Hadoop for big chunks of Mahout.  That jar is downloaded automagically so you don't have to do anything explicit to get it.
I work on Mahout on my Mac all the item without running Hadoop.  In fact, with maven doing the dependency work for me, I don't even really have any awareness of the dependency impinging on my work which is almost all lately on the non-Hadoop code.
It should be about as easy on Windows, but you almost certainly will need cygwin and you will run into problems if only because Windows is, well, so much like Windows.  On a Mac or particularly on Linux, you won't have any problems of that sort at all.

redpajama_set_name: RedPajamaStackExchange


text:
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel.Composition;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WPF.Models;

namespace WPF.Services
{
    [Export(typeof(ICustomerRepository))]
    [PartCreationPolicy(CreationPolicy.NonShared)]
    public class CustomerRepository : ICustomerRepository
    {
        public ObservableCollection<Customer> GetAll()
        {
            ObservableCollection<Customer> customers = new ObservableCollection<Customer>()
            {
                new Customer() { Id = 1, Name = "Mike Marango", Email = "mike.marango@gmail.com", Twitter = "@mikemarango" },
                new Customer() { Id = 2, Name = "Jerry Nixon", Email = "jerrynixon@microsoft.com", Twitter = "@jerrynixon" },
            };

            return customers;
        }

        public Customer GetById(int id)
        {
            ObservableCollection<Customer> customers = GetAll();
            return customers.Where(c => c.Id == id).FirstOrDefault();
        }

        public void Update(Customer customer)
        {
            throw new NotImplementedException();
        }
    }
}


text:
package alessio.synch_vs_asynch_microservices.test_load;

import io.vertx.core.Vertx;
import io.vertx.core.http.HttpClient;

import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;

public class TestLoadRunner2 {
    private static final AtomicInteger responseOK = new AtomicInteger(0);
    private static final AtomicInteger responseKO = new AtomicInteger(0);
    private static final AtomicInteger responseError = new AtomicInteger(0);

    public static void main(final String[] args) throws Exception {
        final int repetitions = 200;
        final int serverPort = 1977;

        final long startedAt = System.currentTimeMillis();

        final Runnable printStatistic = () -> {
            final double timeSec = (System.currentTimeMillis() - startedAt) / 1000d;
            final double ok = responseOK.get();
            final double ko = responseKO.get();
            final double errors = responseError.get();
            System.out.println();
            System.out.println("Testing server on port: " + serverPort + ", repetitions:" + repetitions);
            System.out.println("Active threads: " + Thread.activeCount());
            System.out.println("Time: " + timeSec + " sec");
            System.out.println("OK=" + ok + " - " + (ok / timeSec) + " per sec");
            System.out.println("KO=" + ko + " - " + (ko / timeSec) + " per sec");
            System.out.println("ERRORS=" + errors + " - " + (errors / timeSec) + " per sec");
        };

        Executors.newScheduledThreadPool(1).scheduleAtFixedRate(printStatistic, 1, 2, TimeUnit.SECONDS);

        final CountDownLatch countDownLatch = new CountDownLatch(repetitions);

        for (int i = 0; i < repetitions; i++) {
            final HttpClient client = Vertx.vertx().createHttpClient();
            client.get(serverPort, "localhost", "/", response -> {
                if (200 == response.statusCode()) {
                    response.bodyHandler(body -> {
                        responseOK.incrementAndGet();
                        client.close();
                        countDownLatch.countDown();
                    });
                } else {
                    System.out.print("Error: " + response.statusCode());
                    responseKO.incrementAndGet();
                    client.close();
                    countDownLatch.countDown();
                }
            })
                    .exceptionHandler(exception -> {
                        exception.printStackTrace();
                        responseError.incrementAndGet();
                        client.close();
                        countDownLatch.countDown();
                    })
                    .setTimeout(30000)
                    .end();
        }

        countDownLatch.await();
        printStatistic.run();
        System.exit(0);
    }

}


text:
static NSString *const XCFErrorDomain = @"com.pragmaticcode.bbuncrustifyplugin";

enum {
	XCFFormatterMissingConfigurationError,
};


text:
How to play Pioneer in Magic: The Gathering
Standard's rotation a pain? Modern too pricey? Get started with one of MTG's newest - and most accessible - formats.
How To by Jason Coles Contributor
Published on 11 Nov, 2020
Image: Wizards of the Coast
About Magic: The Gathering
Designer: Richard Garfield
If you've been playing a lot of Magic: The Gathering, the chances are that you've heard of Pioneer, but maybe you haven't played it yet or even looked into it that much. A lot of players stick with Standard for a while and put up with the fact that the cards you love will end up going away when sets rotate out. It doesn't have to be that way, though - learning how to play Pioneer is a great way to start your foray into the other popular MTG formats.
How to play Pioneer MTG
What is Pioneer?: Find out what makes Pioneer tick.
When did Pioneer start?: Pioneer is a relatively new MTG format - here's when it started and why.
How do you play Pioneer in MTG?: Learn the rules and set legality of Pioneer.
How to build an MTG Pioneer deck: Figure out the best way to put together your own deck.
How to find decklists for MTG Pioneer: Find out how to discover the top tier decks in the format.
Modern used to be the next step for players who became bored of Standard or started to miss their favourite cards, but it's become rather pricey as it's gone on. Pioneer is an excellent midway point between Standard and Modern, but it's also a great format to enjoy even if you've been playing other formats for ages now.
What is Pioneer?
Pioneer is a Magic: The Gathering format that feels as though it was designed to be a halfway point between Standard and Modern. It's easy to think of Standard as a gateway into older formats, but it's not actually that easy to make that transition because of the high costs of what most consider essential Modern cards. We're talking about cards such as the fetch lands and some of the planeswalkers and creatures that go into the top-tier Modern decks.
If MTG as a whole is a journey, then most people start at home, playing kitchen table Magic, before setting off into the wilds of Standard. You'll hunt around there for a while before going onto bigger things like Modern, and Pioneer is a halfway house for you to rest in on the way.
That's not to say there's not a lot of fun to be had in the format at all. It's just the way that Pioneer feels for many players. It's one step more complex than Standard, but it's nowhere near as expensive as Modern generally is - although you can make Modern a lot cheaper if you know how.
Most of the cards released for MTG from Return to Ravnica onwards are legal in Pioneer. Image: Wizards of the Coast
When did Pioneer start?
Pioneer is still very much in its infancy. In fact, for a little while after it was introduced in late 2019 there was an announcement on new card bannings every week up until January 6th 2020. Despite the talent over at Wizards of the Coast, it's impossible for them to keep up with the way that MTG players as a whole think, and that meant there was a lot of utterly absurd stuff going on in the early days of Pioneer.
The format was first announced in October 2019, but it actually got officially codified on January 30th 2020 thanks to a showing at Grand Prix Brussels. Because the format is so young you won't find as many players with Pioneer decks lying around, but it's likely to keep growing once paper Magic becomes more common again.
How do you play Pioneer in MTG?
Pioneer has the same rules as most of the constructed formats in MTG. That means you need a minimum of 60 cards in your main deck, with a maximum of four copies of any single card outside of basic lands and a few cards that state otherwise, such as Rat Colony. You can also have a sideboard with up to 15 cards which you can use to alter your deck in-between matches one, two and three against specific opponents.
On top of that, the cards that are legal in Pioneer are those that were printed in regular sets or expansions from Return to Ravinca onwards, with the exception of anything on the Banned List for the format.
One of the key things to keep in mind with Pioneer is that none of the traditional fetch lands - including Polluted Delta, Bloodstained Mire and so on - are legal in the format.This is presumably to help keep the cost lower and make the format more accessible to those who've set their MTG sights away from Standard.
Pioneer is more complex than Standard, but less expensive than Modern, making it a more accessible MTG format for many players. Image: Wizards of the Coast
How to build a Pioneer deck
As is always the case when building a new MTG deck, the first thing you'll need to do is decide what kind of deck you want to play. There are lots of different playstyles to consider, but most of the fall into aggro, midrange, control or combo.
Generally speaking, it's easiest to pilot an aggro deck because the aim is nearly always to simply turn your creatures sideways and hit your opponent fast and hard. If you prefer bigger creatures and more complicated play then you'll likely want to consider a midrange deck. If you enjoy messing with opponents then a control deck is a great shout. Finally, if you prefer to play obnoxiously complicated decks that can potentially end the game before your opponent has even cast a spell, then you'll want a combo deck.
Fetch lands are banned in Pioneer, but most other cards can be used in your 60-card deck. Image: Sarah Jarvis
If you want to have a go at building your own Pioneer deck then there are some rules to keep in mind. The first thing to do is to consider which mana colours your deck is going to be in, then have a think about how many land cards you'll need to support the mana curve you're going to have. Generally speaking, you'll want somewhere between 20 and 26 land cards in your deck. Due to the lack of fetch lands in the format, going for more than two colours is risky. It's not impossible, but it's going to hurt your chances of playing the cards you want or drawing the right lands.
After that, the specific card types you'll put into your deck are down to your strategy and deck type. We can't give you a formula for this, but we do recommend play-testing your deck a lot to figure out which cards do things and which cards often don't. The easiest way to do this is to keep in mind which cards you're not often happy to see. If a card doesn't bring you joy when you draw it, the chances are that it either belongs in the sideboard or in the bin. (Not the actual bin, but you know what we mean.)
Finally, you need to consider your mana curve. This is a term used to describe the cost of the spells in your deck. You generally want to have a bell curve, with a few low-cost cards (one and two mana) building into more medium-cost cards (three to five mana) and then very few high-cost cards (five mana and beyond). Building a deck from scratch can be bewildering to say the least, so sometimes it's easier to use a proven decklist either as a foundation for your own design, or just as your next deck entirely.
How to find decklists for MTG Pioneer
The obvious answer here is simply the internet, but if you want to get the best Pioneer decklists then your first port of call should nearly always be MTGGoldfish. The reason for this is that it collects information from all over the place to give an accurate portrayal of the best performing decks. This includes things like price, how many players are using them in tournaments and even how well they're doing.
Some players look down on netdecking - when you take a deck from the internet and play it as-is. There's nothing wrong with that, as these decks are often put together by people who play MTG for a living, and they're likely going to be making the optimal choices with regards to both card selection and strategy.
However, there's also a lot of fun to be had in taking these kinds of decks and tweaking them slightly to include your own favourite cards. You'll have a lot of fun either way, and hopefully you're now confident enough to go out into the world (safely) and play Pioneer. It's a young format, but it's sure to become a powerhouse as more and more cards get added to the pool.
Trading Card Game (TCG)
Jason Coles
Jason spends a lot of time shuffling, sleeving up cards and playing decks that are bad. It's for this reason that he loves card games, even if they don't always love him. His poison of choice is Magic: The Gathering, but he'll play anything really, as it doesn't pay to be picky.
More How To Guides
10 essential DM tips for Dungeons & Dragons beginners
Get things rolling.
What's the difference between Warhammer 40,000 and Age of Sigmar?
A beginner's guide to Games Workshop's flagship miniatures games.
5 tips for surviving the Cuphead board game's brutal difficulty (Sponsored by The Op)
Here's a real high-class bout!
How to run a Dungeons & Dragons 5E horror campaign for Halloween
From choosing a sourcebook to picking enemies.

redpajama_set_name: RedPajamaCommonCrawl


Investing in a motorcycle storage shed has many advantages. It can be a great way to keep your bike and all the associated junk out of the way and out of the garage, and it solves the problem of how to keep it secure outside. A storage shed offers much more protection from the weather than a simple cloth or cover as it will be leak proof, and will allow you to work on your bike in comfort even when it rains.
Anyone who has owned a motorbike will know that many accessories go along with it and it makes sense to have them all in one place. This means that any motorcycle storage shed that you buy should be big enough not just for your bike but also for your helmet, gloves and maintenance tools. If you want to, you can buy sheds that will be big enough for you to work on your bike out of the rain and away from the house in private.
One of the big drawbacks of having a motorcycle storage shed in your yard is that it advertises your bike ownership to the world at large. While you would like to think that having a shed would keep your bike safe, you will need to think of what extra security measures you'll put in place to look after your bike. This may include investing in a bolt down shed which screws into concrete, a big pad lock or a connection to your house alarm. Your motorbike is a big investment so make sure you use your motorcycle storage shed to keep it safe.
Whole lid lift – This design is where the whole shed lies on hinges which allows you to park the bike inside the boundaries and then simply drop the lid. The better models will contain hooks and drawers for your accessories.
Roll-top door – This often comes with larger sheds and will look more like a small garage than storage shed. The smallest model will allow you to walk your bike in and then leave, while the larger options will give you space to clean and work on your bike. The roll top door should be made of metal for additional security and you can use a large padlock to make it secure.
Open barn doors – The door option will probably fit in best with your outdoor décor as you can make it look like a regular shed. This will act as an added layer of security as people will not know what is on the inside. The doors will require a frame, which may make it harder to get the bike in and out.
Overall, you will be better off asking the store or provider to install the shed for you. You need to be sure that they are secured into the ground correctly and that they are put together solidly to make sure that no gaps can catch crowbars or fingers. It is possible to do it yourself, but you will need the right tools, large bolts and a fair amount of home improvement knowledge. The installation costs can be sizeable but it is usually worth it for the peace of mind that it gives you.
As with most luxury items, your best bet to get the best price for your motorcycle storage shed is to look at the models in a store and then shop around online. Most online stores will ship the container ready made for you in a matter of days but the size and weight may make the shipping costs prohibitive. Shop around to get the best price and be prepared to go back to the store if you cannot find it cheaper online.


text:
Click to expand for more information
Access your calls, messages, and meetings. RingCentral App Access your calls, messages, and meetings.
Access your account settings. Admin Portal Access your RingCentral App account settings.
RingCentral MVP Message, video, phone, fax, SMS in one solution
RingCentral Customer Experience (CX) Comprehensive customer service, support and engagement
Omnichannel CX
Outbound CX
Apps & Developers
RingCentral for Microsoft Teams
RingCentral Ventures
Bring world-class customer experiences and RingCentral's best-of-breed telephony into Microsoft Teams.
Global service providers Customized and integrated solutions for service providers
Consultant relations program
Interested in partnering with us? Tell us a little about your business here.
Get messaging, video, and phone in one single app
RingCentral, Inc. Prices $650 Million 0% Convertible Senior Notes Offering (up 52.5% Conversion Premium)
BELMONT, Calif.--(BUSINESS WIRE)-- RingCentral, Inc. (NYSE: RNG) today announced the pricing of $650 million aggregate principal amount of 0% Convertible Senior Notes due 2026 (the "notes") in a private placement to qualified institutional buyers pursuant to Rule 144A under the Securities Act of 1933, as amended (the "Act"). The size of the offering was increased from the previously announced $600 million aggregate principal amount. The notes priced with a 52.5% conversion premium to the last reported sale price per share (approximately $278 per share) of RingCentral's Class A common stock (the "common stock") on September 10, 2020.
Key elements of the transaction today include:
$650 Million 0% Convertible Senior Notes Offering (up 52.5% Conversion Premium)
RingCentral redemption option, on or after March 20, 2023 (as detailed below)
Capped Call purchased in conjunction with 0% Convertible Senior Notes due 2026 with a cap price of approximately $556, representing a premium of 100% over the last reported sale price of the common stock on September 10, 2020
Repurchase of approximately $132.6 million aggregate principal amount of 0% Convertible Senior Notes due 2023 issued in 2018 (the "2023 Notes")
RingCentral also granted the initial purchasers of the notes an option to purchase, during a 13-day period from, and including, the initial issuance date of the notes, up to an additional $100 million aggregate principal amount of the notes. The sale of the notes to the initial purchasers is expected to settle on September 15, 2020, subject to customary closing conditions, and is expected to result in approximately $640.2 million in net proceeds to RingCentral after deducting the initial purchasers' discounts and estimated offering expenses payable by RingCentral (assuming no exercise of the initial purchasers' option).
The notes will be senior, unsecured obligations of RingCentral. The notes will not bear interest, and the principal amount of the notes will not accrete. The notes will mature on March 15, 2026, unless earlier repurchased, redeemed or converted. In addition, RingCentral may redeem the notes, at its option and subject to certain conditions, on or after March 20, 2023 as detailed below.
Capped Call purchased in conjunction with 0% Convertible Senior Notes due 2026: In conjunction with the pricing of the notes, RingCentral entered into capped call transactions with a cap price of approximately $556 (representing a premium of 100% over the last reported sale price of the common stock on September 10, 2020). The capped call transactions are scheduled to expire in March 2025.
Repurchase of 0% Convertible Senior Notes due 2023 issued in 2018: RingCentralalso agreed to repurchase approximately $132.6 million aggregate principal amount of the 2023 Notes.
Use of Proceeds: RingCentral intends to use the net proceeds of the offering for the following purposes:
- Approximately $41.8 million of the net proceeds to pay the cost of the capped call transactions described above
- Approximately $452.5 million of the net proceeds from the offering of notes to repurchase approximately $132.6 million of the aggregate principal amount of its outstanding 2023 Notes through individual privately negotiated transactions entered into concurrently with the offering of the notes (collectively, the "2023 Note Repurchases"). The 2023 Note Repurchases, and the potential related market activities by selling holders of the 2023 Notes (such as the unwinding of certain derivatives or the purchases of shares of common stock that RingCentral expects to occur in connection with the 2023 Note Repurchases), could have the effect of increasing, or limiting a decline in, the market price of the common stock.
- The remainder of the net proceeds for general corporate purposes, which may include working capital, capital expenditures, repayment of debt, including through the redemption of the 2023 Notes, potential acquisitions and strategic transactions of businesses, technologies or products. However, RingCentral has not designated any specific uses and have no current agreements with respect to any material acquisition or strategic transaction.
Additional Details for the new 0% Convertible Senior Notes due 2026 (up 52.5% Conversion Premium)
Conversion Features: The last reported sale price per share of the common stock on September 10, 2020 was approximately $278 per share. With a conversion premium of approximately 52.5%, the initial conversion rate for the notes is 2.3583 shares of common stock per $1,000 principal amount of notes (which is equivalent to an initial conversion price of approximately $424 per share). Prior to the close of business on the business day immediately preceding December 15, 2025, the notes will be convertible at the option of the note holders only upon the satisfaction of specified conditions and during certain periods. Thereafter until the close of business on the scheduled trading day preceding the maturity date, the notes will be convertible at the option of the noteholders at any time regardless of these conditions. Conversions of the notes will be settled in cash, shares of the common stock or a combination thereof, at RingCentral's election.
Redemption Option: RingCentral may redeem the notes, at its option, on or after March 20, 2023, at a redemption price equal to 100% of the principal amount thereof, plus any accrued and unpaid special interest, if any, if the last reported sale price of the common stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive), including the trading day immediately preceding the date on which RingCentral provides written notice of redemption, during any 30 consecutive trading day period ending on, and including, the trading day immediately preceding the date on which RingCentral provides written notice of redemption.
Holders of notes may require RingCentral to repurchase their notes upon the occurrence of certain events that constitute a fundamental change under the indenture governing the notes at a purchase price equal to 100% of the principal amount thereof, plus any accrued and unpaid special interest, if any, to, but excluding, the date of repurchase. In connection with certain corporate events or if RingCentral issues a notice of redemption, it will, under certain circumstances, increase the conversion rate for holders who elect to convert their notes in connection with such corporate event or convert its notes called for redemption during the relevant redemption period.
Additional Details for the Capped Call Transactions
Capped Call Transactions : In connection with the pricing of the notes, RingCentral entered into capped call transactions with certain initial purchasers or their affiliates and other financial institutions (the "counterparties"). The capped call transactions are expected generally to reduce or offset the potential dilution to the common stock upon any conversion of notes with such reduction or offset, as the case may be, subject to a cap based on the cap price. The cap price of the capped call transactions will initially be approximately $556 per share, which represents a premium of 100% over the last reported sale price of the common stock of approximately $278 per share on September 10, 2020, and is subject to certain adjustments under the terms of the capped call transactions. If the initial purchasers exercise their option to purchase additional notes, RingCentral intends to enter into additional capped call transactions with the counterparties.
RingCentral expects that, in connection with establishing their initial hedge of the capped call transactions, the counterparties will enter into various derivative transactions with respect to the common stock and/or purchase shares of the common stock concurrently with, or shortly after, the pricing of the notes. These activities could increase (or reduce the size of any decrease in) the market price of the common stock or the notes at that time. In addition, RingCentral expects that the counterparties may modify their hedge positions by entering into or unwinding various derivatives with respect to the common stock and/or by purchasing or selling shares of the common stock or other securities of RingCentral in secondary market transactions following the pricing of the notes and prior to the maturity of the notes (and are likely to do so on each exercise date of the capped call transactions and in connection with any early termination event in respect of the capped call transactions). This activity could also cause or prevent an increase or a decrease in the market price of the common stock or the notes, which could affect the ability of noteholders to convert the notes and, to the extent the activity occurs during any observation period related to a conversion of the notes, could affect the amount and value of the consideration that noteholders will receive upon conversion of the notes.
This announcement is neither an offer to sell nor a solicitation of an offer to buy any of these securities and shall not constitute an offer, solicitation, or sale in any jurisdiction in which such offer, solicitation, or sale is unlawful.
The notes and the shares of common stock issuable upon conversion of the notes, if any, will not be registered under the Act or any state securities laws, and unless so registered, may not be offered or sold in the United States except pursuant to an exemption from the registration requirements of the Act and applicable state laws.
This press release includes "forward-looking statements," including, but not limited to, whether RingCentral will be able to consummate the offering, the final terms of the offering and the capped call transactions, prevailing market conditions, the anticipated use of net proceeds of the offering of the notes, including any repurchases of the 2023 Notes pursuant to the 2023 Note Repurchase, which could change as a result of market conditions or for other reasons, whether the capped call transactions will become effective, whether any 2023 Note Repurchase will close and the impact of general economic, industry or political conditions in the United States or internationally. Forward-looking statements are subject to known and unknown risks and uncertainties, and are based on assumptions that may prove to be incorrect, which could cause actual results to differ materially from those expected or implied by the forward-looking statements. All forward-looking statements are subject to other risks detailed in our Quarterly Report on Form 10-Q for the quarter ended June 30, 2020, filed with the Securities and Exchange Commission, and in other filings we make with the Securities and Exchange Commission from time to time. All forward-looking statements in this press release are based on information available to RingCentral as of the date hereof, and we undertake no obligation to update these forward-looking statements.
For additional information, please contact:
Investor Relations Contact:
Ryan Goodman, RingCentral
Ryan.Goodman@ringcentral.com
Jyotsna Grover, RingCentral
Jyotsna.Grover@ringcentral.com
Source: RingCentral, Inc.
Hardware partners
© %currentYear% RingCentral, Inc. All rights reserved.
Close window for pop up
A seamless solution that combines messaging, video conferencing, and phone calls into one unified platform.


text:
Rock Make Roster Moves
Toronto – With injuries beginning to pile up, Toronto Rock General Manager Terry Sanderson announced several roster moves recently.
Veteran defender Rob Marshall, who broke his right foot in Saturday's win over Philadelphia, has been moved to the Injured Reserve List. As a result, rookie Jesse Gamble has been moved from the Practice Roster to the Active Roster and defender Scott Johnston has been signed to the Practice Roster.
Marshall, currently in his 6th season in the NLL, had appeared in all 5 games this season with the Rock scoring once, adding one assist and collecting 18 loose balls.
Gamble started the year on the Active Roster with Rock after being selected in the second round of the 2011 NLL Entry Draft by Toronto. In the opening week of the season he was named the NLL's Rookie of the Week for his performance against the Calgary Roughnecks.
Gamble's move to the Active Roster left an opening on the three player Practice Roster. Johnston fills that void and is back with the Rock after originally being invited to training camp in the fall as a free agent.
The Rock will have this weekend off before welcoming the Philadelphia Wings to Air Canada Centre on Saturday, February 18th. Tickets are available by calling 416-596-3075 or by visiting www.torontorock.com.


text:
package com.yidejia.app.mall.yirihui;

import java.util.ArrayList;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import com.yidejia.app.mall.net.ImageUrl;

public class ParseYiRiHui {

	private ArrayList<YiRiHuiData> yiRiHuiDatas;

	/**解析伊日惠活动**/
	public boolean parseYiRiHui(String content){
		try {
			JSONObject httpJsonObject = new JSONObject(content);
			int code = httpJsonObject.optInt("code");
			String strResp = httpJsonObject.optString("response");
			long ts = httpJsonObject.optLong("ts");
			if(1 == code){

				yiRiHuiDatas = new ArrayList<YiRiHuiData>();
				YiRiHuiData tempYRH = null;
				JSONArray respArray = new JSONArray(strResp);
				int length = respArray.length();
				for (int i = 0; i < length; i++) {
					JSONObject yrhObject = respArray.optJSONObject(i);
					tempYRH = new YiRiHuiData();
					tempYRH.setTheId(yrhObject.optString("the_id"));
					tempYRH.setRuleName(yrhObject.optString("rule_name"));
					tempYRH.setBeginTime(yrhObject.optLong("begin_time"));
					long endTime = yrhObject.optLong("end_time");
//					String strEndTime = yrhObject.optString("end_time");
					tempYRH.setEndTime(endTime);
					if((endTime - ts) < 0) tempYRH.setStartTime(0);
					else tempYRH.setStartTime((endTime - ts));

					tempYRH.setGoodsId(yrhObject.optString("goods_id"));
					tempYRH.setQuantity(yrhObject.optString("quantity"));
					tempYRH.setCanBuyQuantity(yrhObject.optString("can_buy_quantity"));
					tempYRH.setOverTime(yrhObject.optString("overtime"));
					tempYRH.setImg1(ImageUrl.IMAGEURL + yrhObject.optString("img_1") + "!150");
					tempYRH.setImg2(ImageUrl.IMAGEURL + yrhObject.optString("img_2") + "!150");
					tempYRH.setValidFlag(yrhObject.optString("valid_flag"));
					tempYRH.setShellFlag(yrhObject.optString("shell_flag"));
					tempYRH.setGoodsName(yrhObject.optString("goods_name"));
					tempYRH.setGoodsPrice(yrhObject.optString("goods_price"));
					tempYRH.setTs(ts);
					yiRiHuiDatas.add(tempYRH);
				}

				return true;
			} else if(-1 == code) {
				return true;
			}
		} catch (JSONException e) {
			e.printStackTrace();
		}
		return false;
	}

	/**获取伊日惠活动信息**/
	public ArrayList<YiRiHuiData> getYiRiHuiDatas() {
		return yiRiHuiDatas;
	}

	public boolean parseMainYRH(String content){
		try {
			JSONObject httpJsonObject = new JSONObject(content);
			int code = httpJsonObject.optInt("code");
			String strResp = httpJsonObject.optString("response");
			long ts = httpJsonObject.optLong("ts");
			if(1 == code){

				yiRiHuiDatas = new ArrayList<YiRiHuiData>();
				YiRiHuiData tempYRH = null;
//				JSONArray respArray = new JSONArray(strResp);
//				int length = respArray.length();
//				for (int i = 0; i < length; i++) {
//					JSONObject yrhObject = respArray.optJSONObject(i);
				JSONObject yrhObject = new JSONObject(strResp);
				tempYRH = new YiRiHuiData();
				tempYRH.setTheId(yrhObject.optString("the_id"));
				tempYRH.setRuleName(yrhObject.optString("rule_name"));
				tempYRH.setBeginTime(yrhObject.optLong("begin_time"));
				long endTime = yrhObject.optLong("end_time");
				// String strEndTime = yrhObject.optString("end_time");
				tempYRH.setEndTime(endTime);
				if ((endTime - ts) < 0)
					tempYRH.setStartTime(0);
				else
					tempYRH.setStartTime((endTime - ts));

				tempYRH.setGoodsId(yrhObject.optString("goods_id"));
				tempYRH.setQuantity(yrhObject.optString("quantity"));
				tempYRH.setCanBuyQuantity(yrhObject
						.optString("can_buy_quantity"));
				tempYRH.setOverTime(yrhObject.optString("overtime"));
				tempYRH.setImg1(ImageUrl.IMAGEURL
						+ yrhObject.optString("img_1") + "!150");
				tempYRH.setImg2(ImageUrl.IMAGEURL
						+ yrhObject.optString("img_2") + "!150");
				tempYRH.setValidFlag(yrhObject.optString("valid_flag"));
				tempYRH.setShellFlag(yrhObject.optString("shell_flag"));
				tempYRH.setGoodsName(yrhObject.optString("goods_name"));
				tempYRH.setGoodsPrice(yrhObject.optString("goods_price"));
				yiRiHuiDatas.add(tempYRH);
//				}

				return true;
			} else if(-1 == code) {
				return true;
			}
		} catch (JSONException e) {
			e.printStackTrace();
		}
		return false;
	}
}


text:
Q: How to know the incoming byte data is of which protobuf type and how to deserialize it I have a stream of data coming onto kafka topic and this data is serialized into protobuf. This topic contains different types of protobuf messages. And I have no idea how it is serialized. But I have all the proto files.
I came to know that this can solve this issue if we have different types of protobuff messages coming onto the topic:
https://developers.google.com/protocol-buffers/docs/proto3#any

I tried to create a simple python code using which I want to wrap the message in ANY object and after that I want to deserialize the data as well.
Below is the sample code:
import todolist_pb2 as TodoList
import traceback
from google.protobuf.any_pb2 import Any
from google.protobuf.internal import any_test_pb2
from google.protobuf import map_unittest_pb2
from google.protobuf import unittest_pb2
from google.protobuf.json_format import MessageToDict

my_list = TodoList.TodoList()
my_list.owner_id = 1234
my_list.owner_name = "Tim"

first_item = my_list.todos.add()
first_item.state = TodoList.TaskState.Value("TASK_DONE")
first_item.task = "Test ProtoBuf for Python"
first_item.due_date = "31.10.2019"

test_any = Any()
test_any.Pack(my_list)
byte_data=test_any.SerializeToString()
print(byte_data)

Deserialize
deserialize_any = Any()
data = deserialize_any.ParseFromString(byte_data)
print(data)

print(TodoList.DESCRIPTOR.name)
print(test_any.ListFields())

try:
    print("executing if statement")
    if deserialize_any.Is(TodoList.TodoList().DESCRIPTOR):
        TodoList = deserialize_any.Unpack(TodoList.TodoList())

        print(TodoList.ParseFromString(byte_data))
    else:
        print("nothing matched")
except:
    print(f"Error while deserializing the data:  {traceback.print_exc()}")

I am able to serialize the data but while unpacking and deserializing I am getting below error:
b'\n&type.googleapis.com/protoblog.TodoList\x122\x08\xd2\t\x12\x03Tim"(\x08\x04\x12\x18Test ProtoBuf for Python\x1a\n31.10.2019'
92
todolist.proto
[(<google.protobuf.descriptor.FieldDescriptor object at 0x7f3575fcf5e0>,
'type.googleapis.com/protoblog.TodoList'),
(<google.protobuf.descriptor.FieldDescriptor object at 0x7f3575fcf730>,
b'\x08\xd2\t\x12\x03Tim"(\x08\x04\x12\x18Test ProtoBuf for
Python\x1a\n31.10.2019')]

<class 'bool'>
Traceback (most recent call last):
  File "any_test.py", line 43, in <module>
    print(TodoList.ParseFromString(byte_data))
AttributeError: 'bool' object has no attribute 'ParseFromString'
Error while deserializing the data:  None

Also find below the sample proto file.
syntax = "proto3";

// Not necessary for Python but should still be declared to avoid name collisions
// in the Protocol Buffers namespace and non-Python languages
package protoblog;
import "google/protobuf/any.proto";

// Style guide prefers prefixing enum values instead of surrounding
// with an enclosing message
enum TaskState {
    TASK_OPEN = 0;
    TASK_IN_PROGRESS = 1;
    TASK_POST_PONED = 2;
    TASK_CLOSED = 3;
    TASK_DONE = 4;
}

message TodoList {
    int32 owner_id = 1;
    string owner_name = 2;
    string place_new = 3;

    message ListItems {
        TaskState state = 1;
        string task = 2;
        string due_date = 3;
    }

    repeated ListItems todos = 4;
}

I already created todolist_pb2.py file using protoc compiler.
Can share the steps how can I deserialize the data? As said I am getting different messages on a kafka topic and I need to deserialize them. I have all the proto file with me.


text:
LGBTQ immigrant groups welcome decision to terminate Title 42
By Michael K. Lavers
LGBTQ immigrant rights groups have welcomed the Biden administration's decision to terminate a Centers for Disease Control and Prevention rule that closed the Southern border to most asylum seekers and migrants because of the pandemic.
"It's about time," Immigration Equality Executive Director Aaron Morris told the Washington Blade on Monday during a telephone interview. "This was a policy that was difficult to justify during the worst parts of the pandemic."
The CDC in March 2020 implemented Title 42 in response to the pandemic.
Morris described Title 42 as "the brainchild of Stephen Miller long before COVID-19 even existed" and a "sort of obscure public health law to exclude people from coming to the United States." Homeland Security Alejandro Mayorkas on Friday formally announced Title 42 will end on May 23.
"Ending the use of Title 42, a racist and harmful policy that was enacted by Trump is a right step for many asylum seekers, especially Black LGBTQIA+ asylum seekers that have been denied entry at the U.S.-Mexico border," Oluchi Omeoga, co-director of the Black LGBTQIA+ Migrant Project, told the Blade on Monday in a statement.
ORAM (Organization of Refuge, Asylum and Migration) Executive Director Steve Roth echoed Omeoga and Morris.
"ORAM is thrilled to see the long-overdue overturning of Title 42, a policy that put asylum seekers in harm's way in border towns and prevented them from seeking safety in the United States," Roth told the Blade. "We hope the removal of this policy will speed up the processing of asylum seekers — particularly members of the LGBTIQ community and other vulnerable groups."
Texas Congresswoman Veronica Escobar, who represents the border city of El Paso, also welcomed the end of Title 42.
"The use of Title 42, introduced by the Trump administration, effectively eliminated access to legal asylum in our country," said the Texas Democrat in a statement on March 31, the day before Mayorkas made his announcement. "I have been calling for an end to Title 42 since it began and I am hopeful that the Biden administration will soon rescind it."
U.S. Sens. Alex Padilla (D-Calif.) is among the other lawmakers who have also praised the end of Title 42. U.S. Sens. Kyrsten Sinema (D-Ariz.) and John Cornyn (R-Texas) and others have expressed concerns.
"We are concerned that DHS has not adequately prepared and developed a plan to ensure the safety of migrants, officers and our communities post-Title 42," said Sinema and Cornyn in a letter they sent to Mayorkas on March 31. "To date, we have not seen sufficient steps to avoid a humanitarian and security crisis. Consistent coordination and communication with state and local governments along the border, including small communities, is one necessary element in a successful strategy to secure the border, protect border communities and ensure migrants are treated fairly and humanely."
The Republican attorneys general of Arizona, Louisiana and Missouri on Sunday filed a federal lawsuit to block Title 42's termination.
'Remain in Mexico' policy remains in place
The Biden administration has sought to end the Migrant Protection Protocols program that forces asylum seekers to pursue their cases in Mexico, but Morris and others with whom the Blade spoke noted MPP remains in place.
"Ending Title 42 is a step in the right direction, yet at the border we are still concerned about the negative impact MPP reinstatement has upon immigrants who are still returned to Mexico to wait for their hearings," said Abdiel Echevarría-Cabán, a South Texas-based immigration attorney who is also a human rights law and policy expert.
The State Department currently advises Americans not to "travel to" or to "reconsider travel" to the Mexican states of Tamaulipas, Coahuila, Chihuahua, Sonora and Baja California — which all border the U.S. — because of "crime and kidnapping."
A group of LGBTQ asylum seekers at a shelter in Matamoros, Mexico, on Feb. 27, 2021. (Washington Blade photo by Michael K. Lavers)
Blanca Navarrete is the director of Derechos Humanos Integrales en Acción (DHIA), a group that runs Casa D'Colores, a safe house for LGBTQ asylum seekers and migrants in Ciudad Juárez, which is across the Rio Grande from El Paso.
Navarette on Monday told the Blade during a telephone interview that Ciudad Juárez and other Mexican border cities remain dangerous for migrants who are at increased risk to be kidnapped, robbed, raped and trafficked. Jerlín, a transgender man who fled Honduras earlier this year, told the Blade in February before he received a humanitarian visa to enter the U.S. that he was afraid to stay in Piedras Negras, a Mexican border city that is across the Rio Grande from Eagle Pass, Texas, because "drug cartels will kidnap you."
"The end of Title 42 does not mean the border is going to be open," said Navarette.
"Title 42 is only the bottom of the egregious and plenty harmful policy that happens within our broken immigration system," stressed Omeoga. "BLMP envisions a world where no one is forced to give up their homeland, where all Black LGBTQIA+ people are free and liberated, a world where all Black people and our loved ones have housing, bodily autonomy, health and the ability to move and travel freely and with dignity, free of criminalization, anti-Black racism, misogyny and all forms of transphobia and homophobia."
Deborah, a national organizer for the Black LGBTQIA+ Migrant Project, in a statement to the Blade described the termination of Title 42 as "the right decision," but added "for many people who have been turned away from the border to face an uncertain fate, it was too little too late."
"The administration can restore the right to seek asylum without reactionary removals, detention, ankle monitors and other forms of surveillance and criminalization," said Deborah.
"The Biden administration has to understand that we don't need a $527 million ICE (U.S. Immigration and Customs Enforcement) surveillance program. We need safe, equitable paths for migration."
Escobar in her statement also reiterated her calls to reform the U.S. immigration system.
"Addressing immigration exclusively at our nation's borders represents a failure of vision and policy," she said. "Outdated policies and processes harm migrants and asylum-seekers, waste millions of dollars annually, misuse law enforcement personnel and do not make us more 'secure.' Now is the time to reform an outdated and inhumane system, and I urge the administration and Congress to implement changes I have championed."
"Our country can and must do better," added Escobar.


text:
Blatno jezero (madžarsko Balaton, nemško Plattensee) je jezero v zahodnem delu Madžarske in hkrati tudi največje jezero v srednji Evropi. Poleg Nežiderskega jezera je to tudi edino srednjeevropsko stepno jezero. Nahaja se nekaj več kot 80 km jugozahodno od Budimpešte oz. okoli 70 km vzhodno od meje s Slovenijo pri Lendavi.

Jezerska gladina je na nadmorski višini 104 m, njegova površina je 592 km2, v povprečju je globoko 3,2 m, največ pa 11 m. Prostornina vode je tako okoli 1,9 km3. Jezero je podolgovate oblike v smeri jugozahod-zahod - sever-severovzhod, dolžina v tej smeri je pribl 77 km, široko pa je med 4 in 15 km. Jezero ima dve izraziti kotanji, ki ju loči polotok Tihany, kjer je ožina, široka samo okoli enega kilometra. Severna obala je strmejša kot na jugu. Voda je zaradi peščenega in plitvega dna zelo motna. Najpomebnejši pritok je reka Zala. Naravnega odtoka ni, po potrebi odvajajo vodo skozi umetni kanal Sió v reko Kapos in naprej v Donavo.

Največje mesto ob jezeru je Keszthely, ostala pomembnejša mesta ob obali so še Siófok, Fonyód in zdraviliško mesto Balatonfüred. Pomembnejši mesti nedaleč od jezera sta Veszprém in Székesfehérvár.

Vzdolž južne obale vodi pomembna cestna in železniška povezava med Budimpešto in Hrvaško oz. Slovenijo. Železniška proga sicer v celoti obkroža jezero. Severno in južno obalo povezuje (zlasti poleti) tudi nekaj trajektnih linij.

Zgodovina

Ime je najverjetneje dobilo v času poselitve Slovanov (od 5. stoletja dalje), ko je bilo širše območje v 9. stoletju tudi del kneževine Spodnja Panonija. Središče kneževine je bil Blatnograd (tudi Blatenski kostel) ob Zali (ki se je takrat imenovala Blatna, najverjetneje zaradi močvirja ob njenem izlivu v jezero). Po njej se je kneževina imenovala tudi Blatenska kneževina, jezero pa je dobilo ime Blatno jezero. Madžari (območje so zasedli leta 901) so pri poimenovanju jezera obdržali slovanski koren.

Turizem

Ker se voda poleti segreje tudi do 26 °C, je zelo razvit kopališki turizem. Popularna sta tudi ribolov in jadranje ter zdravilišča in termalni vrelci (npr. Hévíz) nedaleč od jezera. Zaradi tega in ker Madžarska nima izhoda na morje, mu pravijo tudi »madžarsko morje«. Priljubljen počitniški cilj je bilo tako med vzhodnimi in zahodnimi Nemci in je pred padcem Berlinskega zidu tako veljalo za enega redkih krajev, kjer so se lahko srečevali. Blatno jezero je za Budimpešto drugi najbolj priljubljen turistični cilj Madžarske. Pomembna gospodarska dejavnost, predvsem ob severni obali, je tudi vinogradništvo (vinorodni rajon Badacsony).

Glej tudi
 opatija Tihany
 seznam jezer na Madžarskem

Zunanje povezave

 Turistične informacije o jezeru

Jezera, po katerih so poimenovali asteroid
Jezera na Madžarskem

redpajama_set_name: RedPajamaWikipedia


text:
De Emerput is een plas langs de Emerparklaan bij de wijk Gageldonk aan de zuidoostkant van de Haagse Beemden.

Hij is gegraven voor zandwinning voor aanleg van de zuidelijke rondweg. De suikerfabriek CSM maakte gebruik van de plas als bezinkput voor de suikerbietencampagne. De gemeente Breda werkt plannen uit om de Emerput terug te geven aan de natuur, om van de omgeving een parkachtige en ecologische zone te maken.

De Emerput staat onder vogelaars en natuurliefhebbers bekend als belangrijk broed- en overwinteringsgebied voor vogels.
In 1998 is aan de zuidzijde een stalen vogelkijkhut geplaatst van waaruit onder andere diverse soorten eenden, de dodaars, kuifeend, slobeend, fuut en wintertaling en meeuwen te zien zijn.

Om de Emerput heen ligt een fietspad, het Emerpad.

Externe links
 Vogelwaarneming Emerput
 Broedvogels Emerput

Oppervlaktewater in Breda
Meer in Noord-Brabant
Recreatiegebied
Recreatie in Breda


In a traditional cloud environment, four node types are common: Controllers, compute nodes, storage nodes, and network nodes. This affords the design some flexibility, but on the surface it looks more complex than a hyperconverged design, where compute nodes also provide storage and networking services. In other words, in a Hyperconverged Infrastructure, we slap Nova Compute, Ceph, and some type of distributed virtual routing all onto a single node.
I will leave the networking piece to a future post, but just looking at storage and compute, you can begin to see where issues can emerge.
The most common reasoning people choose for using a hyperconverged infrastructure is the cost and space savings that arise from using fewer types of hardware and a smaller number of servers. This idea is supplemented by the notion that 'just putting some storage on computes' shouldn't make much of a difference in complexity or performance. After all, hard drives are slow and shouldn't need much in terms of resources, right? Besides, our cloud is not running at 100% anyway, so we are making some of those free resources work for us.
While this design looks tempting on the surface, there are a number of things to consider.
Scalability is touted as a strength of hyperconverged, and that is true if the required scale-out ratio for storage and compute happens to match the original design expectations. Unfortunately, that is rarely the case. Furthermore, this ratio needs to take into account not just capacity, but also performance on the storage side.
Let's look at an actual example here. Let's say we were going to build a cloud with 20 compute nodes with only boot drives, and 10 storage nodes with 20 drives each. If we were to convert this to a hyperconverged infrastructure, we could simply install 10 drives into each compute node instead of adding the storage nodes. If we do this, however, we now are locked into the "10 drives per compute node" ratio.
If it turns out that the storage capacity is sufficient, but we need to double our compute capacity, we have two choices. We can stick with HCI, but are going to end up with a lot of extra storage capacity. On the other hand, we can always ditch the HCI paradigm and add 20 more compute nodes.
Congratulations, we have just opened an entirely new can of worms by adding dissimilar infrastructure nodes.
Adding drives to the 20 non-converged nodes we added earlier, plus another 40 nodes of unneeded compute capacity to satisfy storage capacity to end up with a HCI design again. A rather costly option, and it requires reconfiguring existing and active compute nodes.
Adding drives to the 20 compute nodes we added earlier, and adding 20 storage-only nodes. Now our HCI design is broken the other way, with standalone storage nodes.
Adding 30 storage-only nodes, thus breaking the HCI design even more, as we now have compute-storage, compute-only and storage-only nodes. On other words, in this case we'd have been better off with separate compute and storage in the first place.
Of course your environment might grow just the right way. Or it might not grow at all. Or you might migrate off it if you have to ever scale out. Either way, I recommend considering this factor very thoroughly before committing to HCI.
In order to make HCI work, you must dedicate additional resources on each node to the storage infrastructure. This means you have less compute capacity, which you can mitigate either by adding more compute nodes, or by adding more CPU and memory to the existing nodes.
For example, your cloud with 20 compute nodes is designed for 400 instances. Now you are adding disks to these nodes, which eat up 20% of the compute capacity of each nodes. Thus you can spec processors with 20% more cores or add 20% more nodes.
As you were diligent and specified the CPUs with the best cost/performance ratio, adding 'hotter' CPUs is going to cost quite a bit more than the 20% extra. Adding 20% more compute nodes also comes with added cost. In many cases storage chassis with low-spec CPUs turn out cheaper than either option.
Now imagine you are operating more than one cloud. Or a cloud and a container environment. Or baremetal. Having a hyperconverged infrastructure won't stop you from sharing the storage infrastructure from your existing cloud with the newcomers, but you are adding a layer of vulnerability here. If a compute node with added storage (and accessibility from the outside) is compromised, so that storage — even if the storage is being used by a separate cloud. This doesn't happen a traditional design, where separate storage nodes would have to be specifically compromised.
Also, using storage inside of one cloud to provide resources to another cloud is not a very clean or easy-to-operate design. You can achieve the same goal using a separate storage network and a storage cluster that is outside of all environments with proper separation in order to implement a clean design.
You're subject to space constraints, especially in satellite locations.
Given your specific requirements, HCI actually does turn out to be cheaper, and you can live with the scalability and flexibility drawbacks.
You only need a very small storage cluster, and the number of storage nodes required to build a stable Ceph cluster would significantly add to the cost and would far exceed the storage capacity required.
So … what do we learn from all this?
The most important thing to remember is that you need to examine your use cases closely. Don't fall for hype, but don't reject hyperconverged infrastructure just because it is new, either. Make comparable models, ensure you understand the implications, and select the appropriate design.
Wow, you need to take a closer look at Cisco HyperFlex (HX)!!! Most of your concerns are instantly invalidated with HX. With independent scaling of HX, the article then becomes why on earth would you NOT use HX HCI over traditional converged? 64 node scaling, stretched sites, etc….in 2018 HX is just about the only way to go as I can tell.
Thou I agree with the CPU overhead of 20%, I still vouch for HCI. CPU overhead is a small price to pay for the vast gains of HCI. HCI will play a very pivotal role in NFV and cloud offerings by bringing storage costs significantly down and will also increase storage performance.
We have been using Cisco HX for over 24 months and are extremely satisfied with their performance and scalability.
Now with HCI 3.0 they have increased the number of nodes supported in a cluster to 64 nodes. Cisco is unique player in HCI with the option to vary your nodes into compute nodes and extremely dense storage nodes.
2018 will also bring forward other players in HCI space.


The first number indicates the approximate fan size when spraying 12 inches from the surface. To get your approximate fan width, double the first number. So, a 5 would be approximatley a 10" wide fan.
The second two numbers represent the orifice (or hole) size on the tip. The size is directly related to the amount of paint that will flow through the tip. Your actual flow rate will depend on your spraying pressure and the paint you are using (high pressure equals more flow; heavier paints equals less flow).
Example of tip size: On a 517 airless striping tip, the fan width is approximately 10 inches. The last two digits (17) indicate the tip has a hole size of 0.017 of an inch.


Poor diet and lack of physical activity are major public health problems  and are associated with adverse socio-economic position in Scotland [2–4]. Women from socio-economically disadvantaged backgrounds are at increased risk of a range of associated health problems, including type 2 diabetes, cardiovascular disease and cancer. Despite this, many women from deprived areas are excluded from settings used for the delivery of targeted public health interventions, for example schools and workplaces. Consequently, there is a need to explore how to develop novel interventions with sufficient reach to meaningfully access and engage this group.
Both social environment and social cohesion in particular, have been highlighted as predictors of uptake and engagement with interventions . A potentially powerful approach is to use pre-existing social groups and networks to deliver health behaviour interventions. There has, for example, been a fairly strong tradition of using churches for health promotion in the United States , but such settings have been less commonly used in the UK. There is then the further challenge of maintaining any behaviour change that results from delivery of a relatively short intervention .
Uptake and engagement with public health interventions, and consequently their effectiveness, can also be compromised because insufficient attention is paid to the culture, values and concerns of the intended recipients. The importance of engaging with local communities and involving multiple stakeholders in the research process is therefore increasingly recognized . There is growing interest in a community-based participatory research (CBPR) approach to the development, delivery and evaluation of health interventions; involving community members as equal partners in all stages of the research process. While a full CBPR process may not be appropriate or feasible in all situations , it has been used in the delivery of multi-faceted interventions to marginalised groups [10, 11], in exploratory studies [12, 13] and in intervention design .
With this in mind, we identified a novel setting for the design of a health intervention for socio-economically disadvantaged women in the UK, and used elements of a CBPR approach to investigate its potential. Bingo clubs run games sessions at different times every day of the week, and are accessed by hundreds of people, with the socio-demographic group of interest well-represented .
The aims of this study were to investigate the feasibility and acceptability of using a commercial Bingo club for delivery of an evidence-based health intervention to socio-economically disadvantaged women, and to use participatory methods in its development.
This study used elements of a CBPR approach  and was carried out in a commercial Bingo club in a city of around 85,000 inhabitants in Central Scotland. For the purposes of CBPR, the community was defined as Bingo club stakeholders: the manager, members of staff and club members. To represent this 'community' at research team meetings, two club members and one staff representative from the Bingo club were invited to join the research team and were given shopping vouchers for their time. At least one 'lay member' was present at every research team meeting held in the club and they also attended focus groups and workshops. There were two phases to the project. The purpose of Phase 1 was to explore the wider context by reviewing the scientific literature to identify health interventions delivered in similar settings and circumstances, and to assess the socio-demographic characteristics and health behaviours of women attending the Bingo club. In Phase 2, data surrounding barriers and facilitators to behaviour change among Bingo club members were generated to inform intervention type and content, which was then designed with input from them.
A literature review was conducted to identify group-based physical activity and healthy eating interventions delivered to community-recruited women from socio-economically disadvantaged backgrounds. Electronic searches were conducted using Pub Med, Web of Science, SPORTDiscus, Medline and PsycInfos in July 2013 using groups of thesaurus terms and free terms. Search terms for 'women' were used in AND-combinations with terms for 'socio-economic status', 'intervention', and 'healthy behaviour' (physical activity and food) with no limit on date range applied. Additional articles were identified by manually checking reference lists of reviews identified in the search. For grey literature, individuals in key public health organisations were contacted, including National Health Service (NHS) Health Scotland Health Promotion (national and regional), NHS central librarian, Community Food and Health Scotland, and the Physical Activity and Health Alliance.
The titles and abstracts of all published papers were examined for relevance. Studies were included if they were available in English and described a group intervention that addressed physical activity and/or healthy food in an adult community-recruited population of mainly (>85 %) women. Clinical populations were excluded, as were those with long term health conditions, those recruited because of a specific illness, and interventions conducted in primary care settings. Studies specifically targeting adults from low socio-economic groups were included, regardless of how this was defined. The intervention had to have a group-based component with repeated group and/or social contact with other participants.
The interventions identified were classified as targeting physical activity, diet, or both; and those that were effective were examined further to identify the intervention content, and any behavioural change strategies that were employed.
In order to gather information about Bingo players' dietary and physical activity behaviours to help inform the content of any intervention, a questionnaire addressing these behaviours was piloted among 24 club members, then administered to a convenience sample of Bingo players as they came in for Bingo sessions. The final questionnaire incorporated a questionnaire from the Active Australia Survey , and the Dietary Intervention in Primary Care (DINE)  measure. Active Australia uses a self-report physical activity questionnaire that asks respondents to recall types and intensity of physical activity carried out over the previous week. The DINE questionnaire measures dietary intake of fibre and fat, with additional questions on fruit and vegetable intake. To supplement the self-reported physical activity data, which can over-estimate physical activity levels, objectively-measured accelerometer data were collected over a one-week period among a sub-sample of questionnaire respondents. Data were then sorted into activity categories using established vector magnitude count-based thresholds as follows: sedentary (<150), light (151 to 2689) and moderate to vigorous activity (>2690) .
We used formative qualitative research methods to explore the range of stakeholder views on promotion of healthy lifestyles and what sort of interventions might be suitable for delivery in a Bingo club. Participants were recruited face-to-face at a manned stall in the Bingo club during one week in April 2013. They were asked if they would be interested in taking part in a 'health project at the club' where they would discuss ways in which they could make their lives healthier. Those interested were then invited to attend a focus group which lasted around an hour and was held at the club before or after Bingo sessions, and they received £15 of shopping vouchers for their attendance. Focus groups were considered an appropriate method of qualitative data collection given the importance of pre-existing social networks. Six focus groups were held; they were facilitated by GR with another co-applicant (and sometimes a lay member) always present for note taking. The focus groups were structured around six key questions (Table 1). However, the participants were allowed time to discuss other issues freely as they arose. They found it particularly difficult to come up with their own ideas, unprompted, for ways in which the Bingo club could be used to promote healthier lifestyles. Therefore GR initially used examples of similar interventions identified from the literature for discussion. However, as the focus groups progressed, she was able to present ideas for discussion that had arisen in previous focus groups.
What are the benefits you gain from playing bingo?
What do you think of when I say 'healthy lifestyles'?
Can you give me some examples of what you or others you know have done to have a healthier lifestyle?
Which aspect of a healthy lifestyle is most important to you?
Think about your own and others experiences, what do you think makes having a healthy lifestyle difficult and what can help to make it easier?
Can you think of any ways in which the Bingo club could be used to help promote healthy lifestyles?
The focus groups were digitally recorded, transcribed and analysed by GR and other co-applicants (RJ, JE, GR, AI) using a thematic framework.
Informal conversations took place between members of the research team and the Bingo club manager or one of his two assistant managers on several occasions, and these were written up electronically shortly afterwards. At their request, these informal conversations replaced the formal audio-recorded interviews that had originally been planned.
In order to involve Bingo players and staff in the specific design of the intervention and to tailor it to the Bingo context, a 5-h-long participatory workshop was held in February 2014 at a local hotel to elicit their views. Invitations to the workshop were sent to 36 Bingo club members. These included focus group participants, and women who had initially expressed an interest in the study and for whom we had postal addresses. The event was led by the research team and included a short presentation on the project so far, videos of possible activities (identified from the literature review and focus groups), a chair-based activity session led by the local Council provider, small group discussions of strategies to attract/retain participants, and participant feedback and indication of preferences. Detailed note-taking was undertaken by research team members during group discussions. We used a strategy to elicit activity preferences whereby women placed coloured dots on possible ideas for an intervention on a large flip chart, providing a very visual representation of the results. This ensured that women with stronger views or who were more articulate did not have undue influence. The workshop was not audio-recorded (at some participants' request) but reflective notes were written up by all researchers at the close of the workshop, which were then synthesised. Participants were also asked to complete a short activity preference questionnaire to guide discussion.
Two round table meetings with members of the research team were held in April and May 2014 to finalise the intervention. During the first meeting, summary evidence from each of the phases was presented to the group. This included evidence from the literature review on techniques used in other effective interventions, results from the questionnaire, and focus group and workshop-generated data. This generated ideas for intervention components. In the second meeting, these components were specified in greater detail.
This study was approved by the Research Ethics Committee of the School of Health Sciences, University of Stirling.
From an original list of 2,667 academic papers, 120 full texts were reviewed and 16 relevant studies (covering 14 interventions) were identified that described and/or evaluated a physical activity or healthy eating intervention specifically targeted at community-recruited women from socio-economically disadvantaged backgrounds [18–33]. Ten interventions addressed exercise or physical activity [18–20, 22, 24, 27–32], nine targeted diet [18, 21–26, 30, 31, 33] and five targeted both [18, 22, 24, 30, 31]. Included papers were of variable quality (some had no control groups or validated measures) making assessment of effectiveness difficult. Intervention components varied, with ten including some form of education.
When the 15 physical activity interventions were examined in more detail, six of the studies measured and/or reported physical activity-related outcomes [18–20, 24, 27, 29, 31]. There was evidence for effectiveness at changing physical activity behaviour for three interventions [19, 20, 24, 27], and one for increasing physical activity knowledge . Three of these four effective interventions included an educational component and drew upon social cognitive theory , the trans-theoretical model [19, 20] and trans-operant theory , respectively. Using Abraham and Michie's taxonomy of behaviour change techniques , those strategies that were used in the four effective interventions were identified (Table 2).
There were 162 questionnaires returned. A small number of men (11) completed the questionnaires, but their results were excluded from further analysis. Almost all (97 %) female respondents were white Scottish. Mean age was 57 ± 17.7 years (range 18–91 years). The majority (57 %) lived in the two quintiles of highest deprivation. This was assessed using a post code measure of material deprivation known as the Scottish Index of Multiple Deprivation (SIMD) . 69 % said they were in good, very good or excellent health, despite 53 reporting that they had a condition that affected their health.
The mean number of fruit and vegetables consumed daily by 144 questionnaire respondents was 4.7, and only 19 % reported a high dietary fat intake. Of those who completed the physical activity questions (n = 149), 37 % were found not to be meeting the 2012 UK physical activity guidelines (defined as 150 min/week ), with this proportion higher among respondents >55 years (46 %), than those <55 years (23 %). In total, 29 women agreed to wear accelerometers for one week. Of these, the majority were aged >55 years (n = 20), with the remaining being aged <55 years (n = 9). Mean daily physical activity minutes were 22 and 53 in the older and younger women respectively. The women aged >55 years spent 61 % of their time sedentary, compared to 52 % sedentary time among younger women.
During the recruitment week, 91 women expressed an interest in taking part in the study. Six focus groups were then conducted with 27 women from a range of backgrounds. As Table 3 shows, it was difficult to recruit younger women (18–55 years) to the focus groups, despite additional groups being organised specifically at times/locations to attract them. A higher proportion of women living in areas of deprivation than those from less deprived areas, did not turn up to scheduled focus groups, but the higher proportion of women from deprived backgrounds who initially expressed an interest (reflecting the higher proportion within the study population) meant that they were still well-represented at focus groups.
Table 4 presents findings from the focus groups relevant to intervention design. For example, there were different but overlapping motivations for attending the Bingo club and playing the game of Bingo. A key motivation was social; many women also felt that taking part in Bingo had cognitive benefits. In terms of perceptions of healthy lifestyle, healthy eating was considered to be more important than physical activity. Many women already considered themselves to be busy and 'active', although the definition of 'active' differed considerably between them, as they had varying levels of mobility. In general, there was scepticism as to whether the Bingo club was an appropriate setting for a health intervention, although some women remained open-minded about this. Many women came to Bingo to relax and for them physical activity contradicted this perceived benefit. A strong view shared by players and staff was that any intervention should not take women away from their primary reason for being there.
There are different but overlapping motivations for attending the Bingo club and playing the game of Bingo. Key motivations among many women for attendance are socialising and enjoyment, while many feel that taking part in Bingo has cognitive benefits for them.
In terms of what women perceive constitutes a healthy lifestyle, healthy eating was more frequently mentioned and discussed than physical activity. Many women already consider themselves to be busy and active, and eat healthily.
"Well I've got two Scottish Deerhounds …erm… that says it all I think and I've got to walk them every day. Erm… and it's miles you walk it's, my Deerhound is big but I do walk miles every day …erm… and that's a huge part of your life." Participant 2 focus group 2.
There is scepticism as to whether the Bingo club is an appropriate setting for a physical activity intervention, although some women remain open-minded about this. Many women come to Bingo to relax and for them physical activity contradicts this perceived benefit.
Any planned intervention needs to exploit the social motivation and habitual nature of attendance at the Bingo club.
It is important that any intervention planned in the Bingo club setting does not take women away from their primary reason for being there (Bingo) and the core business of the club (to make money). This very strong view is shared by players and staff.
The workshop was attended by 27 people. There were 19 Bingo players (three of whom had not attended an earlier focus group), two of the lay research team members (one player, one member of staff), four other members of the research team, and two people from the local Council. Most of the Bingo players were aged >55 years, with only two younger participants.
The results (Table 5) clearly indicated that the participants did not support any form of walking intervention (identified as a possible intervention component from the literature). They gave a strong steer towards group-based, led, manageable and short activities that included music, that were not seen as traditional exercise and did not take place outdoors. They expressed dislike for traditional education sessions and were not supportive of 'buddy systems', also identified from the literature. Women were able to contribute useful ideas for Bingo-related incentives for attendance.
The two round table meetings were each attended by five and six members of the research team respectively. Although the lay members were invited to the round table research meetings, none were able to attend. One was ill and another had been finding it difficult to devote time to the project. It is possible that the venue (University campus) may have deterred the third from attending. However, it would have been difficult to hold these longer and more involved meetings at the Bingo club, where there are distractions from noise and other activity even outwith Bingo sessions.
In the first meeting, the intervention components were identified. Bringing together all the evidence and after a lengthy discussion, a consensus emerged that the intervention would consist of physical activity sessions, the specific nature of which would be chosen by potential participants themselves in a preliminary workshop (as part of the intervention), but which would be delivered indoors in the Bingo club. Participants would devise their own incentives for attendance. There would be time for social interaction and the sessions would also be used as a platform to deliver simple key health messages, for which instructors would be trained. The messages would not be delivered overtly, but where possible would be incorporated naturally into participant discussions.
In the second meeting, these components were specified in more detail. It was agreed that 20–30 min sessions, with an equal length of time for socialising with the instructor present, would be appropriate. Much of this meeting was then devoted to designing a week by week schedule of key messages to be subtly delivered to participants.
As a primary output of this project, a physical activity intervention tailored for women aged >55 years, has been designed for delivery in a setting where women living in areas of socio-economic disadvantage are well-represented. Our work has shown that the Bingo club is a suitable setting for reaching women living in socio-economically deprived areas. Nearly half (44 %) of the focus group participants lived in areas of SIMD1/2, as did 57 % of all research participants.
There were several factors underpinning the decision to target older women in this setting with a physical activity intervention. The Bingo club manager estimated that some 75-80 % of around 2,500 club members were over the age of 45 years, and it was thought probable, even before the research commenced, that we might be working with an older group of women. While some younger women did express an interest in the study, only two women <55 years attended focus groups, despite organising these at times and locations that would be convenient for them. A pragmatic decision was therefore made to tailor the proposed intervention to women aged >55 years who were less likely to be working during the day.
In focus group discussions, many women (particularly older women) reported reasonable dietary habits, and aspects of this were confirmed by the questionnaire which demonstrated satisfactory levels of fruit and vegetable consumption. In contrast, although they did not self-identify as needing to increase physical activity, around one-third of respondents were not meeting physical activity guidelines. This proportion was even higher (47 %) among women >55 years. It is difficult to know how representative the questionnaire respondents were of the wider Bingo club membership, as this was a convenience sample of an unknown total number of players (including 11 men) coming in and out of selected (but diverse) Bingo club sessions during a one-week period. However, they appeared to be broadly representative of club members in terms of socio-demographic characteristics.
During Phase 2, the possibility of designing a healthy eating intervention had been retained. However, discussions with the Bingo club managers had indicated that there would be very significant challenges associated with trying to change menus in the club's catering outlet. Given that there was a noted lack of enthusiasm for educational sessions among women at the workshop (possibly the only viable way to deliver a healthy eating intervention in this setting), the decision was made to target physical activity behaviours.
The content and design of the intervention was finalised during the participatory workshop . We drew upon and synthesised multiple sources of information in this phase to ensure that the intervention would be acceptable to its intended recipients, but also underpinned by evidence. Initial ideas for intervention components were generated from focus groups and from the literature. While it was difficult for focus group participants to come up with ideas with limited knowledge of physical activity interventions and for a behaviour for which they did not self-identify a need, the focus groups did give a clear direction in terms of motivations and facilitators for women attending the Bingo club itself, and the final intervention reflects these. The views of women at the participatory workshop then very much shaped the components that were included in the final intervention. We drew upon theoretical models to inform the content of the educational messages and to incorporate behavioural strategies that had been used in other effective interventions where appropriate.
The project has shown that it is possible to access and engage with women living in areas of socio-economic disadvantage through a Bingo club setting for discussions around health, and to develop a health intervention. Use of the CBPR approach involved canvassing the views of all Bingo stakeholders. Support from the Bingo club itself was crucial both in terms of access to the premises itself and visible endorsement of the project. Involving lay members on the research team also provided an insider's perspective of what was possible at the club, including the commercial viewpoint from the staff member. The lay members' involvement with the project also created trust with other players and increased the project's credibility in the club. However, this involvement was not problem-free. In particular, there were sensitivities during discussions about Bingo clubs as a setting to recruit women from areas of socio-economic disadvantage, as players do not necessarily self-identify as being disadvantaged. But while having lay members on the research team assisted with the visibility and endorsement of the project, other research team members also put considerable time investment into playing Bingo themselves, and becoming 'known' at the club.
While there was support for the proposed physical activity intervention at the Bingo club among workshop participants, whether this support will be reflected in the wider club membership is uncertain. We initially hypothesized that recruitment to and retention in any proposed intervention would be enhanced by taking a CBPR approach and working with a pre-existing social group; this is now being evaluated in a pilot study, as is feasibility of delivery.
The most important lesson learned for public health intervention design in other novel settings is the importance of buy-in from all stakeholders to ensure feasibility. We have been successful in accessing and engaging with Bingo players in the design of a health intervention which will have considerable potential for reaching large numbers of women from areas of socio-economic disadvantage. A specific intervention (the Well!Bingo physical activity intervention) has been designed for women >55 years and is now undergoing feasibility testing in the Bingo club. It consists of five core components, each of which can be adapted to suit the requirements of individual clubs, comprising structured exercise sessions, intervention messages, a social component, Bingo-related attendance strategies and specific training of instructors. The crucial question now is whether the intervention is effective, and whether its effectiveness has been enhanced by the approach we have taken. If so, this will have very important implications for intervention design in other novel settings.
This study was funded by the Chief Scientist Office, Scotland (reference CZH/4/781). The researchers were independent of the funding body.
The University of Stirling was the study sponsor. The researchers were independent of the study sponsor.
Data sharing: Participant level data are available from the corresponding author. Informed consent was not obtained for data sharing but data are anonymised and risk of identification is low.
All authors had full access to all of the data in the study and can take responsibility for the integrity of the data and the accuracy of the data analysis. JE was the Principal Investigator; she contributed to study design, managed the project on a day-to-day basis, assisted with recruitment, attended selected focus groups and the workshop, and wrote the paper. GR carried out the literature review and fieldwork. AI assisted with recruitment and attended selected focus groups. AS contributed to study design and assisted with recruitment. RJ contributed to study design, assisted with recruitment and attended the workshop. CG and DM contributed to study design and assisted with recruitment. MMcM and BW contributed to study design. All authors contributed to analysis and design of the final intervention, commented on drafts of the paper and approved the final version.
Scottish Government. Older People Living in the Community - Nutritional Needs, Barriers and Interventions: a Literature Review. 2009. http://www.scotland.gov.uk/Publications/2009/12/07102032/4. Accessed 14 Apr 2016.
Knowledge Scotland. Diet and deprivation. http://www.knowledgescotland.org/briefings.php?id=188. Accessed 14 Apr 2016.
The Gambling Commission. Gambling Industry Statistics April 2010 - March 2015. 2015. http://www.gamblingcommission.gov.uk/Gambling-data-analysis/statistics/Industry-statistics.aspx. Accessed 14 Apr 2016.
Australian Institute of Health and Welfare (2003). The Active Australia Survey. http://www.aihw.gov.au/WorkArea/DownloadAsset.aspx?id=6442454895 Accessed 9 Dec 2015.
Using the Scottish Index of Multiple Deprivation 2006: Guidance leaflet. http://www.scotland.gov.uk/Publications/2006/10/13142841/1. Accessed 14 Apr 2016.
Department of Health. UK Physical activity guidelines. 2011. https://www.gov.uk/government/publications/uk-physical-activity-guidelines. Accessed 18 Feb 2016.