text:
Q: How to terminate loop at end of string? I am trying to take all options from this URL (oq, aqs, etc). I'm using a function to extract each one individually. However, I cannot figure out how to terminate the loop once it has reached the final option. I think I am setting res to the current position, but I am not sure. I tried terminating it when !(res == url.length()) but that did not work. Can anyone help with this?
Also, I would appreciate advice on how to scale this to multiple URLS. I'm assuming I have to use another loop, but I am still learning them.
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

string getKey(const string keyval, size_t start, size_t& second);

using namespace std;

int main()
{
    int count = 0;
    size_t res;
    string url = "https://www.google.com/search?q=where+food+near+me&oq=where+food+near+me&aqs=chrome..69i57j0l5.8995j0j9&sourceid=chrome&ie=UTF-8";
    while(count < 20){
        cout << getKey(url,0, res) << endl;
        while (!(res == url.length()){
        cout << getKey(url,res, res) << endl;
            ++count;
        }
        cout<< res << endl;
        ++count;
   }

    return 0;
}

string getKey(const string keyval, size_t start, size_t& second)
{
    size_t first;
    string result;
    if(start == 0){
        first = keyval.find('&');
    }
    else{
        first = start;
    }
    first = first + 1;
    second = keyval.find('&' , first);
    result = keyval.substr(first, second - first);
    return result;
}

UPDATE
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

namespace helpers {
size_t getDomainName(const string str, string& result);
size_t getKeyVal(const string str, const size_t start_pos, string& result);
bool getKey(const string &keyval, size_t start, size_t& second, string &result);
string getVal(const string keyval);
}
using namespace helpers;

int main() {
    string fileName;
    int count = 0;
    int total_query = 0, total_length = 0, avg_length = 0;
    string URL,str;
    int total_Urls = 0;
    string line;
    string res,key,val;
    cout << "Please input the name of the file: " << endl;
    cin >> fileName;
    ifstream fin;
    fin.open (fileName);
    if (fin.is_open()){
        cout << "File opened successfully...\n";
    }
    else {
        cout << "File failed to open...\n";
        return 0;
    }

    // Finding total URL count...
    for (string URL; fin >> URL;){
       ++total_Urls;
    }
    //cout << total_Urls << endl;
    fin.close();
    fin.open(fileName);

    count = 0;

    //average length of URL
    while (count < total_Urls){
        fin >> str;
       // cout << "The length of the URL: "<<str.length() <<endl;
    total_length += str.length();
        ++count;
    }
    avg_length = total_length / total_Urls;
   // cout << "Average length: "<< avg_length << endl;

    fin.close();
    fin.open(fileName);

    count = 0;

    //average length of query
    while(count < total_Urls){
        fin >> URL;
        getKeyVal(URL, 0, res);
        res = res.substr(2);
        replace(res.begin(), res.end(), '+', ' ');
       // cout << "Test: " << res << endl;
       // cout << "Length of Query: " << res.length() << endl;
        total_query += res.length();
        ++count;

    }
    int avg_query_length = total_query / count;
    //cout << "Average length of query: " << avg_query_length << endl;

    fin.close();
    fin.open(fileName);

    //dealing with options

   /* while(count < 20){
         cout << getKey(url,0, res) << endl;
         while (count < 5){
         cout << getKey(url,res, res) << endl;
             ++count;
         }
         cout<< res << endl;
         ++count;
    } */

    count = 0;
    string value;
    size_t res2 = 0;
    while (count < total_Urls){
        fin >> URL;

    while ((count < 20) && getKey(URL, res2, res2, value)){
        cout << value << endl;
        ++count;
    }
    }

    cout << "Statistics for <" <<fileName << ">" << endl;
    cout << "--------------------------" << endl;
    cout << "Number of Queries: " << total_Urls << endl;
    cout << "Average length of URL: " << avg_length << endl;
//    cout << "Average length of Query String: " << avg_query;

    return 0;
}

namespace helpers {

size_t getDomainName (const string str, string& result){
size_t first, second;
first = str.find('/');
first = str.find('/', first + 1);
second = str.find('/', first + 1);
result = str.substr(first + 1, second - (first + 1));
return second;
}
size_t getKeyVal(const string str, const size_t start_pos, string& result){
    size_t first, second;
    if(start_pos == 0) {
        first = str.find('?');
    }
    else {
        first = start_pos;
    }
    second = str.find('&', first + 1);
    result = str.substr(first + 1, second - (first + 1));
    return second;
}
bool getKey(const string &keyval, size_t start, size_t& second, string &result)
{
    result = "";

    if (start == 0) {
        if ((start = keyval.find('?')) == string::npos)
            return false;
        ++start;
    }
    else if (start >= keyval.size())
        return false;

    size_t end = keyval.find('&', start);
    if (end != string::npos) {
        result = keyval.substr(start, end - start);
        second = end + 1;
    }
    else {
        result = keyval.substr(start);
        second = keyval.size();
    }
    return true;
}

}
string getVal(const string keyval){
    size_t first;
    string result;
    first = keyval.find('=');
    first = first + 1;
    result = keyval.substr(first);
    replace(result.begin(), result.end(), '+', ' ');
    return result;
}

A: You are not taking into account that when the last & is found, a subsequent call to find('&') will return std::string::npos, which is -1, not the string length like you are expecting.  So you are not able to return the final key=value pair correctly.
I would suggest changing the function to return a bool if the next key is not found.  Then you can break the loop when the function returns false. Upon exit, res should be set to the location of the next token after the found &, not to the & itself.
Try something more like this:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

bool getKey(const string &keyval, size_t start, size_t& second, string &value);

int main()
{
    int count = 0;
    string url = "https://www.google.com/search?q=where+food+near+me&oq=where+food+near+me&aqs=chrome..69i57j0l5.8995j0j9&sourceid=chrome&ie=UTF-8";
    string value;
    size_t res = 0;
    while ((count < 20) && getKey(url, res, res, value)) {
        cout << value << endl;
        ++count;
    }

    return 0;
}

bool getKey(const string &keyval, size_t start, size_t& second, string &result)
{
    result = "";

    if (start == 0) {
        if ((start = keyval.find('?')) == string::npos)
            return false;
        ++start;
    }
    else if (start >= keyval.size())
        return false;

    size_t end = keyval.find('&', start);
    if (end != string::npos) {
        result = keyval.substr(start, end - start);
        second = end + 1;
    }
    else {
        result = keyval.substr(start);
        second = keyval.size();
    }
    return true;
}

Output:

q=where+food+near+me
oq=where+food+near+me
aqs=chrome..69i57j0l5.8995j0j9
sourceid=chrome
ie=UTF-8

Live Demo


Welcome to Brite Electric! I began this business because I knew I was one of the best electricians around. I love a job well done and won't accept anything less than the best. I take pride in everything I do and what I do best is electrical work.
We are family owned and operated. When you call Brite Electric Company, you know you're getting the best because you're getting me.
Our team provides electrical services in all phases of residential and commercial electrical work. Brite Electric Inc. is a trusted and quality name in commercial and residential electrical service work. We take pride not only in the work we perform but also in the relationships we create with our customers.
We are passionate and ready to tackle any job that you need completed. We are happy to provide references from past jobs and builders that we have worked with so that you can get a feel for the body of work that we have experience with, as well as the high quality of service that we provide our customers.
After the project is completed, the only evidence you can see of us being there is our good work.
We offer a variety of general electrical services to our customers, as well as specialties such as custom lighting designs and exterior/landscape lighting.
You can count on Brite Electric for the job! Call us today at (208) 371-2132, or simply visit the contact us page and receive a free estimate.


In response to the popularity of the 290 DC S model (double cutaway, single P90 pickup), Collings are now offering the single Dog Ear P90 pickup configuration to the original single cutaway 290 design. From pristine clean tones rich with harmonic complexity to hard-hitting vintage rock tones, the 290 S is capable of producing a vast array of tones.
Dial back the volume and tone controls and you will be surprised by the smooth, mellow tones that are available without ever getting muddy.


text:
Q: Remove empty elements from JSON in SQL Server Want to prepare json without columns those are empty.
Here is detail example
MY_TABLE
=================
id ,   Name
=================
1  ,    Ali
2  ,
3  ,    jhon
=================

SQL STATEMENT FOR JSON
(SELECT [Id],[Name] FROM My_Table)
FOR JSON PATH

SQL RESULT:
[{
    "Id": 1,
    "Name": "Ali"
}, {
    "Id": 2,
    "Name": ""
}, {
    "Id": 3,
    "Name": "Jhon"
}]

But i want to exclude element which has no value like No "Name":"" Element in following result:
[{
    "Id": 1,
    "Name": "Ali"
}, {
    "Id": 2,
}, {
    "Id": 3,
    "Name": "Jhon"
}]

EDITED:
Please Note, i can apply CASE or UDF to convert empty values into null and null value may remove from json but it will slow the overall performance with large number of records therefore looking smart solution.

A: JSON Auto by default ignore the null fields if INCLUDE_NULL_VALUES not specified explicitly. Check for more info.

To include null values in the JSON output of the FOR JSON clause,
  specify the INCLUDE_NULL_VALUES option.
If you don't specify the INCLUDE_NULL_VALUES option, the JSON output
  doesn't include properties for values that are null in the query
  results.

Also, Sql Fiddle
Ignore Null Values
(SELECT [Id], (CASE WHEN Name = '' THEN NULL ELSE Name END) as Name FROM test)
FOR JSON Auto

Include Null Values
(SELECT [Id],(CASE WHEN Name = '' THEN NULL ELSE Name END) as Name FROM test)
FOR JSON Auto, INCLUDE_NULL_VALUES

redpajama_set_name: RedPajamaStackExchange


text:
DTI cites best innovative Filipino SME in the ASEAN Business Awards 2016
The Department of Trade and Industry (DTI-IPG) Undersecretary for Industry Promotion Group Nora K. Terrado cited Zeenoh, Inc., an entertainment software company that specializes on Internet of Things, video games, animation and other software applications as it received the Best Innovative SME Award in the ASEAN Business Awards 2016 held in Vientiane, Laos last September 5, 2016.
We are happy to know that many of our local SMEs are being recognized by our neighbors as we urge them to continue to innovate and embark on available support services of the government," said DTI Industry Promotion Group Undersecretary Nora K. Terrado.
Jhondie Abenaza, CEO and founder of Zeenoh Inc., was a full time software engineer when he decided to start his own business. He took the Department of Trade and Industry's free business course in 2007 which prepared him with the basics of setting up his own enterprise as a sole proprietor. A year later, Zeenoh was founded on September 10, 2008 as a pioneering game development company in the country.
Zeenoh started as an outsourcing partner for top video game studios from Japan, Korea and USA. As an end-to-end service provider for developing video games, it evolved into developing its own original content (Intellectual Property). The company started with mobile, web, PC, console and is now developing virtual reality applications. Zeenoh's notable games developed are Patintero Playtime, released for mobile in 2010 and Nightfall: Escape, the first globally known full-3D game locally owned and made.
Abenaza encourages dreamers like him to take advantage of the entrepreneurship resources provided by the Department of Trade and Industry (DTI), and looks forward to the collaborative opportunities presented by the recently established QBO Innovation Hub.
Terrado emphasized its support to local entrepreneurs and innovators as it prepares programs and services for the Startup Ecosystem Development Plan (SEDP). "We want our MSMEs, particularly those in the startup sector, to continue to venture with their creative solutions and innovative products and services as we further our strategies in penetrating the global digital economy," added Terrado. SEDP is expected to help enhance the climate for startup businesses, increase the success rate of Filipino innovative enterprises in introducing their products and services in the local and international markets.
As part of the DTI's bold initiatives in supporting innovative enterprises in the country, QBO Innovation Hub was launched last August 8 in partnership with Ideaspace Foundation where support services are offered for innovators, explorers, investors, academic institutions, start-up mentors and enablers as well as a broad spectrum of partners and stakeholders from both public and private sectors. Located at the DTI International Building in Makati City, the hub aims to encourage more startups and innovation entrepreneurs in the country.
Recently, the Philippines improved 9 notches in the 2016's Global Innovation Index, ranking as the 74th most innovative country among 128 surveyed in a report released by the World Intellectual Property Organization (WIPO), Cornell University and INSEAD.
Polish firm meets with BOI Officials, discusses production facility at Bataan Freeport
Bioline Launches New SensiFAST™ Lyo-Ready No-ROX Mix
A song that may yet define what a Cordilleran is will be launched with a music...
Tangub City bags 2 wins in Sinulog Festival
The Sinanduloy Cultural Troupe from Tangub City in Misamis Occidental bested other contingents after winning both...
'Amihan', easterlies to affect PH Friday
MANILA Fair weather is expected as two weather systems prevail over the country on Friday.In its...
ATRAM portfolio manager eyes PH 2020 growth at 6.3%
US donates P5.1-M aid for Taal relief
Cebu airport eyes more domestic flights with T1 facelift
PH issues EUR1.2-B Euro bond
Tacurong, Kidapawan cited for 'ease of doing business'

redpajama_set_name: RedPajamaCommonCrawl


Easy push fit 2 part assembly.
Resulting candles maximum size is 7.5cm(3") diameter base rising 9cm(3 �") to a point at the wick. You can make your candles any height up to 9cm(3 �").
This listing is for 1 pointed tapered star moulds.


The Gamakatsu Octopus hook is the most versatile hook, known for its durability and strength. The hook is equipped with an incredibly sharp needle point and barb to keep fish on the hook. With the offset point hook-ups are very successful and loosing fish is a rarity.


Nirmal NR54 Kerala Lottery Result: The Kerala Lottery department Successfully declared the 26th January 2018 draw (Republic Day 2018) has been rescheduled to 2.2.2018 draw on Friday Nirmal Lottery Result Online. As it sounds like Nirmal Bagyakuries 54th draw and luckily happened on Indian Republic day. The Trivandrum auditorium has warmly welcomed the Circular regarding the NR 54 Lottery ticket. However, People of Trivandrum are very much excited about the lottery draw w.r.t Nirmal Bagyakuries. Do they make an Hatrick under Nirmal Lotteries on the basis of luck reflected in recent 2 draws of Kerala Nirmal Lottery? Well, the results of Nirmal NR54 will be get reflected below and can be check for getting the Nimal Lottery Result.


text:
Back to Item Gallery 5018RED-RED-
Le Vian Red Carpet® Ring featuring 2 1/2 cts. Passion Ruby™, 1/2 cts. Vanilla Diamonds® set in 14K Vanilla Gold®
Style #: PZPQ 8
- Sighted on the Red Carpet
Rei Kawakubo/Comme des Garcons: Art of the In-Between' Costume Institute Gala at the Metropolitan Mueseum of Art in New York City
Stand Up to Cancer? Charity Event on September 9, 2016 in Los Angeles, California.
The Weinstein Company and Netflix Golden Globe Party, presented with DeLeon Tequila, Laura Mercier, Lindt Chocolate, Marie Claire and Hearts On Fire at The Beverly Hilton Hotel in Beverly Hills, California.
Promoting Etihad Airways in Abu Dhabi.
64th Annual Primetime Emmy Awards at Nokia Theatre L.A. Live in Los Angeles, California
HBO's post Emmy Awards reception at the Pacific Design Center in West Hollywood, California
Passion Ruby™
PASSION RUBYTM
Ruby has the distinction of being the most valued gemstone throughout most of recorded history. Ancient Sanskrit referred to the ruby as the "king of precious stones", the bible found only wise and virtuous women more precious than rubies and the Persian sage al-Biruni wrote about rubies the first place in color, beauty and rank among all gems. The name Ruby comes from the Latin word ruber for its hue. The strength of red in the ruby depends on how much chromium is present—the more chromium, the stronger the red color. Chromium can also cause fluorescence, which adds to the intensity of the red color. The brilliant crimson color of this gem is associated with passion and love, making the ruby an ideal choice for engagement rings.
There are many famous rubies throughout history, two of which can be seen at the Smithsonian Institution, National Museum of Natural History including the 138.72-carat Rosser Reeves Star Ruby from Sri Lanka and the 23.10-carat Carmen Lucia Ruby which is considered one of the world's finest large Burmese rubies.
"Passion RubyTM, the July birthstone, embodies our passionate red color and represents the top of production of responsibly sourced ruby."
Reserve 14K Vanilla Gold® Passion Ruby™ 2 1/2 cts. Ring with Vanilla Diamonds® 1/2 cts.
14K Vanilla Gold® Passion Ruby™ 2 1/2 cts. Ring with Vanilla Diamonds® 1/2 cts.


Personal and tactile, at once mass-targeted and intimate, mobile is revolutionizing business and marketing, creating new industries and developing unprecedented brand engagement and loyalty. Inextricably woven into the buying journey and consumer lifecycle, mobile creates the most direct and closest connection brands can have with their customers. This is the Mobile Imperative.
New for 2017, the MMA's first Mobile Video Leadership Forum: Sight, Sound and Storytelling, will focus on how mobile, as the ultimate engagement tool, offers the most powerful opportunity for storytelling. As a result of this unprecedented level of consumer connection and to fully tap the power of sight, sound and storytelling, brands need to understand the importance of creative variety, strategic rotations, frequency considerations and more. Join us on March 21 (NYC) for this one-day event where you'll learn everything you need to fully exploit the power of mobile video and how to make it work for your brand.
The one-day MMA Leadership Forums are developed by marketers for marketers and explore one mobile topic in-depth. They are dedicated to building capabilities for brands by delivering tangible strategies that leverage mobile as imperative to meeting marketing objectives. Attendees will be able to participate in a variety of roundtable discussions during lunch with a guest facilitator, a signature experience of the one-day Forums, making it the perfect combination of learning and networking that you can't afford to miss.


In what month do schools in the camp close?
How does Papa feel about the closing of the camp and the relocation as he reads the news?
What does Papa plan to ask the government for, to help Japanese camp leavers?
What happens on August 6, 1945?
In what month does Papa finally leave the camp?


WASHINGTON (AP) — A federal appeals court has agreed to delay consideration of a lawsuit from Republican lawmakers over the Obama health care law. President-elect Donald Trump and Republicans in Congress plan to repeal and replace the law.
The three-judge panel in Washington on Monday gave both sides in the case until Feb. 21 to clarify their positions. House Republicans say a change in policy under the new administration could render the case moot.
Earlier this year, a U.S. district judge sided with the Republican-led House of Representatives, saying the administration is spending illegally on the health law because Congress never specifically provided the money.
At issue is the $175 billion the government is paying over a decade to reimburse health insurers to reduce deductibles and co-payments for lower-income people.
The Obama administration appealed both the substance of the ruling and whether a chamber of Congress even has authority to mount a legal challenge. But lawyers for the House said the case should be put on hold based on a likelihood the administration's position will change under Trump.
Obama administration officials had opposed the delay.


1-Sentence-Summary: Simple Rules shows you how to navigate our incredibly complex world by learning the structure of and coming up with your own set of easy, clear-cut rules to follow for the most various situations in life.
Dr. Donald Sull is a Harvard and MIT professor, focusing on how companies can come up with strategies and execute them in a turbulent, fast-changing environment. In 2015, he partnered with Kathleen M. Eisenhardt, a Stanford professor in Management Science and Engineering to transfer what he's learned about managing complexity from business to life.
The result is Simple Rules, which is aimed at showing you the kind of heuristics at play in some of the world's most successful companies and in nature. After reading it, you won't only know what kinds of simple rules exist, but also how to come up with your own, so you can decide better and faster when things get hectic in everyday life.
Boundary rules, prioritizing rules and stopping rules make you more effective.
You can become more efficient with how-to rules, coordination rules and timing rules.
To reach your goals faster, create your own simple rules in three steps.
When it comes to making life simpler, there's nothing to wait for. Let's get to work!
Lesson 1: Increase your effectiveness with boundary rules, prioritizing rules and stopping rules.
There is a Frank Zappa song called "Don't Eat The Yellow Snow," which has been ripped off and piggybacked on a lot, especially in comedy. A patch of yellow snow is likely the result of someone taking a pee, so you'd best avoid it, no matter how thirsty you are.
Prioritizing rules. When there's more than one option, you can rank them, which is a very typical approach to simplify investing. For example, you could decide to save 10% of your income as cash, invest another 10% in stocks and use another 10% to buy books and get smarter.
Stopping rules. Just like beginning a process can be made binary, so can deciding when to end it. Having a fixed cut-off point can simplify losing weight, for example. "Stop eating once you're full" or "eat no more than one piece of candy per day" are a lot simpler to follow than complex diets.
What all of these have in common is that they help you decide what to do, thus making you more effective aka helping you do the right thing. The next three will help you with how you're doing things.
Lesson 2: Your efficiency depends on how well you use how-to, coordination and timing rules.
Once you've become effective and are spending your time on the right things, it's all about maximizing efficiency – doing things the best way possible. This is where another three types of rules come in.
How-To Rules. These are supposed to make processes easier, yet not be so strict they'll entirely quench your creativity. For example, sticking to a maximum of three sentences per paragraph when writing blog articles makes it simple to structure your posts, but doesn't limit what you can write about.
Coordination Rules. When humans interact, things get really tricky, especially in a group setting. But if you commit to, say, always holding the door for people or never responding to criticism with "You're wrong," you can master even complex conversations.
Timing Rules. Lastly, when you do things matters too. Will you brush your teeth before breakfast or afterwards? Read in the morning or at night? The act of deciding this up front makes it much more likely you'll stick to your guns.
Okay, now that's great, you know what types of simple rules there are. But how do you come up with your own?
Lesson 3: You can reach any goal faster if you can find a simple rule for it. Do it in these three steps.
Figure out the critical action. The components of losing weight are eating less and moving more. Diet usually has a much bigger impact, so it's crucial that you don't overeat.
Find the bottleneck. If eating too much is the problem, identify when, where and why you go berserk with food. Is it the bag of chips in front of the TV at night? The fast food lunch? The sugary cereal?
As you can see, if you know the two or three critical places you mess up in when striving towards your goals, you can put out your most urgent fires with just a few rules!
The world has gotten more complex, but that doesn't mean life has to as well. How complicated or simple our lives are is mostly up to us. Simple Rules offers a refreshing take here. I like that it leaves lots of room for creative flexibility, which really removes overwhelm. Good read!
Who would I recommend the Simple Rules summary to?
The 20 year old accountant with a low-movement desk job, who's desperate to lose weight, the 44 year old improv comedian, who's looking to improve his performance and anyone who doesn't get up at the same time each day (yet).


2010 is ending with a bang with some great events for learning professionals in the Atlanta area this month, including a visit from Jane Bozarth and the annual ASTD Technology-based Learning SIG's eLearning awards. My only complaint is that almost all of the events are scheduled during the same week (this coming week, in fact); I'm sure this reduces each event's attendance numbers, particularly this time of year. Maybe we can get some calendar coordination going in 2011.
That said, here are five events for the learning industry you shouldn't miss (or at least should strongly consider picking from). Note this doesn't include the Columbus, GA ASTD geographic group feasibility meeting happening on December 7th; if you're in that region, definitely check that out.
ASTD Atlanta hosts Jane Bozarth for an exploration of social media in the training industry. The focus will be on recognizing training purposes for social media tools, not just seeing them at face value.
Author and world-traveling consultant Brent Darnell will speak to the ASTD Atlanta Organizational Development SIG on creating positive change in employees. He'll outline a proven methodology for creating behavioral shifts in employees that positively affect their performance both at work and at home.
Join the ASTD Atlanta Technology-based Learning SIG for their annual eLearning Awards. Winners will be chosen in multiple categories. Seeing what others are doing is always a good way to learn.
Register for the eLearning awards.
The Technology Association of Georgia (TAG) Workplace Learning Society will take a look (Pecha Kucha style) at innovative training tools, techniques, and work samples that represent the future of learning. This should be an interesting look at technologies that can be used for learning.
ASTD Atlanta's Corporate SIG will follow-up and expand on the information shared in the December 6th ASTD Atlanta chapter meeting with Jane Bozarth. This will be a deeper dive into the hot topics of social media for trainers. The only event in this list not during the week of December 6th, this one can also be attended from the comfort of your office or home.
Register for the ASTD Atlanta Corporate SIG Webinar.
Have a great end of the year! Stay tuned for upcoming events in January, including an ISPI Atlanta panel on January 19th on "Implementing technologies for instruction in your organization." You'll hear lessons learned from companies such as Turner, Orkin, Level 4 Performance, and others.
Unfortunately, the TAG Workplace Learning event on December 9th was cancelled. Stay tuned for other upcoming events.


text:
20th Century British & Irish Art Evening Sale including The Lord Forte Collection of Works by L.S. Lowry
Fun Fair at Daisy Nook
Laurence Stephen Lowry, R.A. (1887-1976) Fun Fair at Daisy Nook signed and dated 'L.S. LOWRY 1953' (lower right) oil on canvas 28 x 36 in. (71.1 x 91.5 cm.)
Anonymous sale; Sotheby's, London, 17 March 1976, lot 90.
with Lefevre Gallery, London, where purchased by the present owner in October 1977.
Exhibition catalogue, A Memorial Exhibition of Paintings & Drawings by L.S. Lowry R.A., London, Lefevre Gallery, 1976, no. 21, illustrated.
London, Lefevre Gallery, A Memorial Exhibition of Paintings & Drawings by L.S. Lowry R.A., May - July 1976, no. 21.
André Zlattinger
Check the condition report or get in touch for additional information about this
azlattinger@christies.com +44 (0)20 7389 2681
Fun Fair at Daisy Nook (1953) is a marvellous and life-enhancing record of the world at play - a festival or bank holiday, perhaps, and quite probably the Easter Fair celebrated in a pair of similar paintings from 1946, both entitled Good Friday, Daisy Nook. (One is in the Government Art Collection and was recently on display at the Whitechapel Art Gallery, as part of an on-going celebration of that largely unknown public collection, fig. 1; the other was sold in these Rooms, 8 June 2007, lot 114, for £3,772,000, then the world record price for the artist). This popular Lancashire fair was evidently a favourite subject for Lowry. Daisy Nook is between Droylsden and Failsworth, near Manchester, and the annual Good Friday fair is still run by the Silcock family, whose name is blazoned over the castellated tent end above the eye-catching word 'Thriller'. This was evidently an advertisement for some kind of Wall-of-Death entertainment. The foreground frieze of people includes balloon and whirligig sellers, kids in pointed hats, dogs, prams: the slice of urban life on holiday that Lowry loved to depict.
Writing about Good Friday, Daisy Nook, Andras Kalman commented: 'Look at the figures - absolutely marvellous, beautifully moulded, and all different. Everything is sculpted, placed, the whole picture is choreographed. The enormous busy-ness is superbly balanced with the emptiness of the heath behind, the tents and caravans with the people arriving or going home through the fields'. This happy throng offers the other side to the grim reality of the working day in an industrial city, and Lowry's evident enjoyment of the spectacle of people at leisure gives the lie to the idea of him as a misanthropic old curmudgeon who liked to paint the miserable and the ugly. In fact, there's more than an echo of Monet's celebratory painting Rue Saint-Denis, National Day, 30 June, 1878, in the incidence and preponderance of red. The effect of flag waving captured by an Impressionist could easily be something that Lowry absorbed from his teacher Valette, and which re-surfaced in the colourful animated throng of Daisy Nook.
More From 20th Century British & Irish Art Evening Sale including The Lord Forte Collection of Works by L.S. Lowry


Click the button below to add the O-Scale Woodland Scenics Tombstones pkg(10) 2726 OL 1 to your wish list.
Scenic Accents(R) are colorful O Scale figures that are superbly painted to capture the finest detail. Human figures include railroad workers, travelers and passengers. Additional selections include animals and unique details such as tombstones. Use these figures to add authenticity to any scene in minutes.
International Buyer Is Responsible For All Customs Fees, Duties, Vat's And Any Other Fees Charged By The Buyers Country. We Will Describe The Item And Its Value In U.S. Dollars Accurately, But Cannot Be Responsible For The Customs Fee's Of The Buyers Country.


Our client a leading multinational manufacture are looking for an experienced Payroll Advisor to join their team in Coventry on an initial 4-month contract with the possibility of being extended.
You will be responsible for the end-end payroll process including of new starters, leavers, maternity and paternity. Providing first line payroll advice and knowledge to all employees as well as liaising with third parties to ensure a smooth service.
The ideal candidate will be well versed with ADP, able to communicate at all seniority levels and able to work to tight deadlines.


An Environment Agency Licence is required to fish these waters.
Anyone under the age of 16 to be accompanied by an adult of at least 21 years.
An unhooking mat must be used by every Angler.
Use only barbless hooks. Unsuitable Rods & Tackle will be confiscated.
No lure fishing, No unattended rods.
No Telescopic Rods of any kind are permitted for use on the fishery.
Please use the dip tanks provided on every lake for nets and unhooking mats, etc.
All fish must be returned to the water from where they are caught as quickly and safely as possible.
Banned bait Jokers, Tiger Nuts, Peanuts, Chickpeas, etc. Unsuitable bait will be confiscated.
No TVs or Dogs. You may have a personal radio as long as the volume is kept to a minimum.
No litter, especially waste nylon, please use the bins provided in the fishery complex.
No trespassing into adjoining fields or woodland, anyone caught entering the fishery outside hours will be treated as a criminal and may be prosecuted.
The management accepts no responsibility for any damage or theft to persons, vehicles or property.


text:
Home » Germany Returns to its Origins: the Geopolitical Implications of the Migration Crisis
Germany Returns to its Origins: the Geopolitical Implications of the Migration Crisis
Ulyana Bezuglobva
Recently, experts and people simply interested in politics increasingly wonder what the objectives are of the leadership of Germany, or rather the German Chancellor Angela Merkel, when they receive crowds of refugees from the Middle East and North Africa. They receive them with open arms, literally quite friendly, spending their own resources on accommodating them. The same Merkel has refused the slightest weakening of the visa regime with Turkey for many years (however, now she is ready to do it for the Syrians), and did not spend a penny to help a Greece in crisis! And the similar assault of generosity has been in action during the ongoing preparations for the general elections in 2017, in which migration will be almost the main issue among the growing conflicts within the ruling coalition and the German leadership. In particular, the leaders of the Bavarian Christian Social Union have traditionally been in alliance with the Christian Democrats of Merkel, but now they openly declare their disagreement with the Chancellor and the stress the need to limit the current flow of people to Germany.
In the international political science community, there are different points of view about the reasons that motivate the head of the German government to open the doors to a number of refugees that are far from German culture and religion, among which there also may be (and certainly are) potential criminals, terrorists, and jihadist recruiters. The most common thesis is that Germany, showing humane treatment towards refugees, is preparing a fertile ground for permanent membership at the UN Security Council. There is another, rather exotic version such as the one expressed by one British publication, that Merkel has bipolar disorder and is incompetent in her actions.
At the same time, few people are asking whether such migration policy is Merkel's own voluntary choice and to what extent she, as German chancellor, is sovereign in making certain decisions. In fact, in the modern globalized world of American thought "patterns", few countries can boast independence, but we are talking about Germany, one of the world's largest economies and the leader of the EU. Leaving aside the fact that everyday welfare will never be converted into political power, we can state that Germany is substantially limited in the manifestation of power initiatives. In fact, it remains an occupied territory with an uncertain international status not only de facto, but also de jure.
The author of a new published book named The German Card, the former head of German military counterintelligence Gerd-Helmut Komossa, openly claims the existence of a state secret agreement between Germany and the Allies from May 21st, 1949, which featured fundamental limitations imposed by the victors on the sovereignty of the Federal Republic until 2099, whose existence is hardly to be believed by anyone today. In accordance with the terms of the contract, the allied powers also gained "the right of full control over the German media" until 2099. In addition, the contract states that before coming into office, each Federal Chancellor of Germany must sign the so-called "Chancery act." In addition, the allies seized the gold reserves of the Federal Republic. It is interesting that Komossa mentioned the presence of such a striking document incidentally when talking about the difficulties of recreating the Bundeswehr after the war, and it wasn't written about any more. It seems that the discovered secret is just as well known by powers involved as it is terrifying for the uninitiated reader.
We should give a word to the winners. The American political scientists James Goldgeier and the notorious Michael McFaul wrote in their book Power and Purpose that the political and economic transformations that have shaped the face of modern Germany were not its "internal affair," but part of its inclusion into the Western economic system and security structures. Thus, in their view, Germany is fundamentally different from post-Soviet Russia which, though defeated in the Cold War, was not occupied. Given the lack of occupation, the Russian Federation developed "wrongly", i.e., not exactly as the US wanted it to.
Of course, critics may reject this evidence as an imagination of a retired mentally ill German fighter or the irresponsible discourse of scholars far from real politics. However, what about the fact that Germany still has no Constitution (Verfassung)? Instead, it has the so-called Basic Law (Grundgesetz), developed and adopted in 1949, specifically created for this purpose by the Parliamentary Council, approved by the United States, France, and Great Britain, and then by the parliaments of Western occupied zones. That this document was temporary adopted before the German reunification solution is the stated reason as to why it was decided to not call it a Constitution. Article 146 of the Basic Law says that it expires on the same day when the Constitution enters into force, which will be approved by the reunited German people. In fact, it turned out that after the unification of Germany, the Basic Law action was automatically extended to the new lands. There was no referendum in 1949 or in 1990, and it is not to be expected in the foreseeable future. According to German "conspiracies", the fact that there are supporters of a literal reading of Article 146 puts into question the existence of Germany as a state in the international legal sense. In this context, they also pay attention to the reasonably interesting fact that in German documents, the "nationality" column shows not "Bundesrepublik Deutschland" (Federal Republic of Germany), but simply "Deutsch", i.e. German.
The UN Charter continues to present Germany as an "enemy state", which in respect to the WW2 victorious countries, as well as regional bodies, concerning the maintenance of international peace and security, can take "enforcement action" without the Security Council's authorization, including in the event of a "renewal of aggressive policy" (article 53 and 107). In 1994, the UN General Assembly recommended abolishing the phrase "enemy state", but this was never done. Thus, legally, based on the UN Charter, nothing prevents the US or the UK unilaterally from initiating "enforcement action" against Germany if they comprehend the moves (against the refugees) sufficiently "aggressive."
In view of this question asked at the beginning of this essay, it is more correct to formulate it as: what considerations guides the international "tutor" of Germany, "making" it carry out such a destructive immigration policy? (Of course, the question of the specific channels and forms of communication to Berlin of these kinds of "wishes" and "recommendations" is no less interesting, but the answer is far beyond the competence of the scientist and political analyst). Probably, the basis of such a strategy is a deep fear of the Anglo-Saxons who threaten the existence of the powers in the European continent powerful enough to challenge their world power and security. In geopolitical terms, we are dealing with the desire of the Sea civilization to "flood" the so-called Rimland (which consists of the whole intermediate territory between Eurasia and the Atlantic, and therefore Germany), to impose a fundamental choice in favor of thalassocracy (Atlanticism and globalism), and thus finally "pull" it away from Land (Eurasia and multipolarity). In turn, they need to deprive Germany – this "great parvenu" – of its hope for revival or strengthening its own continental identity.
The Anglo-Saxons methodically solved this problem by different means and with varying success over a hundred years ago. The founder of Anglo-Saxon geopolitics H. Mackinder, in the early 20th century, wrote about the need to apply a massive preemptive strike on Eurasia. Although he regarded Russia as the main enemy, he recommended the UK to choose the easiest way and the most likely enemy – Germany - as: a) the Reich would presumably be a dynamic driving part of the Russian-German threat, and b) Germany may be fairly easy to surround and block with the help of its neighboring states. (In fact, this plan was realized in action during the First World War).
In 1919, i.e. less than a year after the fatal defeat of the German Empire in World War I, the same Mackinder wrote in his book, Democratic Ideals and Reality: "what will happen to the forces of the Sea, if one day the great continent will politically unite and become the new invincible armada?" It is noteworthy that Mackinder was personally involved in the preparation of the Treaty of Versailles, which was made to consolidate Western Europe as a coastal zone for the Sea forces. At the same time, the creation of limitrophe states was provided, designed to separate the Germans and the Slavs and to prevent the establishment of continental strategic alliance, which was so dangerous for the island nations.
Nevertheless, even though Germany lost the war and its imperial status, it was not occupied. Its territory was not broken down and, therefore, a significant share of political and, above all, spiritual sovereignty remained. The ideological struggle continued, and German thought and spirit rose again, such as the ideological and political movement of the "Conservative Revolution" or the continental geopolitical school of K. Haushofer. Unfortunately, the political practice of Hitler and National Socialism, infected by a racist approach towards history, rejected the "Conservative Revolution's" values, thinkers, and heroic intuitions, and instead came int o conflict with the struct guidelines of German geopolitics. Hitler's "Drang nach Osten" violated the "axiom of European politics" of Haushofer (Eurasia is impossible to destroy insofar as the two largest nations – Germans and Russians – strive to avoid conflict) and quite naturally turned out to be responsible for the death of Germany, the triumph of the Sea civilization and ultimately, fatally weakened the Land civilization's position.
It is significant that at the end of the Second World War, the division of Germany took place on the Berlin meridian, which in the analysis of Mackinder is what divides Europe into East and West. Only Eastern Europe is the critical element, and adjoining it, one of the potential "founder" of the continent – Germany or Russia – takes the character of the geopolitical value of this parameter, thus the rivals have no more control over Eurasia. Since at the time the Anglo-Saxons could not do anything about such given the Soviet Union (Russia), they tried to eliminate the historical roots of Germany's potential ability to transform the geographical region of Central Europe into a geopolitical force (Mitteleuropa). What happened at the meetings of the various allied occupation structures is convincing evidence that the United Kingdom sought to proclaim the abolition of not only Hitler, but historical Germany, taking advantage of the pretext that the "sin" of Nazism and World War (formally) started by Hitler offered. Thus, the British delegation, with maniacal persistence, put on the agenda of the meetings the issue of "abolition", the "destruction" of the Prussian state (the agenda of Foreign Ministers Council session was consistent at the top and could not contain such issues, as such decisions were not taken in Yalta or in Potsdam).
The word Prussian has a common meaning in the world, and it would be a significant contribution to specify in a statement the destruction of the Prussian state, the British delegation insisted at the Civil Administration Committee, presenting its memorandum. For two hundred years, Prussia was a threat to the security of Europe. The existence of the Prussian state, at least in name only, could give rise to irredentist claims, which the German people could further advance, could strengthen German militaristic tendencies, and could also contribute to the revival of authoritarianism, centralized in Germany, that must be prevented."
Komossa writes that in the process of the development of the Armed Forces of the "newest" Germany, the Western allies focused on the expulsion of the military spirit from the memory of Prussians. There was an order to eliminate excessive Prussian identity. Even the hobnailed boots with short tops were discarded. Bundeswehr soldiers walked on soft rubber soles. ... Everything had to look as "civil" as possible. While the soldiers of the GDR National People's Army wore the modified gray uniform of the former German Wehrmacht soldiers, the Bundeswehr solder was wearing a uniform mixed with American style elements that seemed more like the porter's uniform of Hamburg St. Pauli. One of the prominent members of the Conservative Revolution, Ernst Jünger, noted much earlier that the burgher clothes make the German figure particularly ridiculous.
The current Germans, with their most powerful economy and spineless cultural and foreign policy, excessive "tolerance" towards refugees, and intolerance toward those who dare to question the justification of "multiculturalism", look just as truly ridiculous. Looking at the way Merkel satisfies the Turks, dutifully turning a blind eye to the Americans wiretaps of German politicians and allowing them to apply pressure at the transatlantic partnership negotiations, sometimes it seems that the Anglo-Saxons have almost reached their goal to finish Great Germany.
And yet the soul of the people is with God. Thus, it is indestructible. And modern Germany – scraped, abused, flooded with migrants and sodomites, corrupt politicians, constantly repentant of Nazi crimes, and humbly looking at all these outrages of law-abiding burghers - still has forces which breathe life into the great continental spirit, the spirit of the Holy Roman Empire, the Prussian Order, the "iron Chancellor" and the warrior-poets of the Conservative revolution of 1920's-1930's.
Here, for example, are extracts from the program provisions of the National Democratic Party of Germany (NDP): "Dignity and human rights are defined by its belonging to a particular nation, which is placed in the center of the sphere of politics. It is the nation, not the individual person, which the government should be responsible for. A woman should be first a wife and mother; "housewife" is a profession, and like other ones, a law must insert it. The land and the soil belong to the German people. In addition, the NDP was in favor of the withdrawal of US troops from the territory of Germany, insisted on the withdrawal of Germany from the European Union and NATO, the abolishment of the right of asylum for migrants, and calls to restore important attributes of sovereignty, like the death penalty, at least for repeated serious offenders, in particular pedophilia, drug trafficking, rape, murder etc."
The Pro Germany Citizens' Movement (Bürgerbewegung pro Deutschland) and the Republicans (Der Republikaner) want to see Germany as a state where "law and order" reign and the Prussian heritage is respected. The core of the education of the younger generation has been drawn from traditional German values: discipline, diligence, order, decency, and honor. The teaching of the German language should be given special importance; while the reform of 1996 greatly simplified the spelling rules, it must be abolished. The Republicans are in favor of strengthening the role of "direct" democracy institutions in politics (especially on the matter of the adoption of its own Constitution, instead of the German Basic Law) and considers that it is necessary to abolish the phrase "enemy state" towards Germany in the UN Charter.
We should say that the aforementioned parties in modern Germany are strongly demonized by the authorities, are always under the special supervision of Federal Office for the Protection of the (as it turns out non-existent) Constitution, and are periodically forced to defend their right to participate in the political process in court. Moreover, they are marginalized as "right-wing extremists", and we cannot exclude that Anglo-Saxon employees are among their members, as well as Israeli agents, who seek to control and possibly direct trends and processes threatening their domination over Germany in the right way. It is likely that due to their tacit participation, the program of the extreme right has really erroneous and malicious slogans like Hitler's racist concepts: for example, the definition of the nation as a mono-ethnic community and putting forward the requirements to send all migrants away from the Federal Republic of Germany. Thus, the true bearers of the Prussian spirit are in the same line with the mentally ill German racists and revanchists - what a notorious milieu! Nevertheless, the mere existence of such organizations, as well as the intelligence agencies interested in them, indicates that the Germans, despite "education", saved nostalgia and an inescapable yearning for themselves.
However, on the German political horizon, it seems there is now a force that is able to satisfy, at least partially, this yearning. We are talking about Alternative for Germany (AfD), which has recently significantly strengthened their position and strictly want to make its deputies take part in further elections to the Bundestag. It does not accept the racist and narrow ethnocentric recipes in the fellow right-wing camp, and carefully distances itself from hooligans and provocateurs in order to avoid falling under the blows of the national and international establishment. AfD is focused on a friendly eastern policy, especially with regards to Russia, and at the same time skeptical about Germany's membership in the EU and NATO. Not long ago, the party was able to get rid of a number of Atlanticist agents in their ranks, and the subsequent attacks on it thus became even more predictable. However, its popularity among communities has increased.
The future will show how this alternative will be effective and real. The alternative is very necessary not only for Germans, but also for Europe, which, with a lack of a strong, united Germany joining around the Old World, is doomed to remain disparate and at different stages of desovereigntization - a sort of rich ethnographic museum hosting US and UK watchdogs. In contrast, only a Germany returning to itself can currently make Europe a truly independent center of power.
We can ask: does Russia need such a Germany and Europe, and will this threaten the revival of a new monstrous war in Eurasia? Well, there is the risk that the Sea forces will try once again to strengthen its global supremacy by mixing identities and stirring up the two continental powers against each other. But, in recent years, the power of the Atlantic civilization has reached such a high level that it cannot be beaten alone by anyone. Therefore, the greater number of independent centers of true sovereignty there are, the more the multipolar world becomes close to reality, and thus the greater the chances of success in the confrontation with the Leviathan and the New World Order. All the great German geopoliticians regarded Germany as a Land Empire and were in support of an alliance with Russia. We have the power to make sure that their covenant becomes real, and that the fears of the Anglo-Saxons materialize. They have cherished for too long at our own geopolitical expense.
Thus, if the storm will come we will cope with it!
The Realistic Alternative for Germany
Germany Constitution
Basic law Germany
Prussian state Germany
migrant crisis Europe
migrant crisis Germany
Speaker of the AfD party Leader Frauke Petry and the chairman of the AfD youth organization Marcus Frohnmaier explains...
Markus Frohnmaier
The Future of Europe is for Right-Wing Parties
- Last week, Frauke Petry was in Moscow. What was the purpose of this meeting? - -Well, the AfD party is Germany's most important opposition party.
Shock Poll: Nationalist AfD Now MOST POPULAR PARTY in East...
The nationalist right, Alternative for Germany is now polling as the single most popular party among Eastern German voters. This poll recently...
Saxony's justice minister is not going to resign...
Sebastian Gemkow, Saxony's state justice minister, admitted responsibility for the suicide of terrorist Jaber al-Bakr, who was supposed to be «the...
Germany: Migrant Rape Crisis Worsens
Sexual violence in Germany has skyrocketed since Angela Merkel allowed more than one million mostly male migrants from Africa, Asia and the Middle...
Udo Stein: Novorossiya Wants Peace
Udo Stein is a young but quite famous politician not only in Germany but in the whole world. Elected in spring to the regional parliament of Baden-...
Germany Returns to its Origins: the Geopolitical...
Recently, experts and people simply interested in politics increasingly wonder what the objectives are of the leadership of Germany, or rather the...
Armistice Day November 11th, 1918-2016
The remembrance of war, the remembrance of those who die in battle in any friction of combat, is sacred if understood in the political and cultural...
The New Look of Hybrid War in Europe: Manipulated...
Several attacks of migrants from the Middle East have shaken Germany and France during the last week. July 18 17-year-old Afghan teen, armed with an...
Mutti Merkel's Muddle
s there any sight more delicious than that of German Chancellor Angela "Mutti" Merkel squirming around like a worm on a hot sidewalk? When the most...
How Refugees are Demonized if They are Not Muslims or...
The political magazine ARD- "Kontraste" on Thursday evening tried to prove the existence of xenophobia in AfD. As a bizarre evidence of prejudice,...
The Islamization of Germany in 2015
Germany's Muslim population skyrocketed by more than 850,000 in 2015, for the first time pushing the total number of Muslims in the country to nearly...
Traditionalism and Right Christianity in Germany
German Catholic theologian, political scientist Professor Felix Dirsch talks about "Right Christians", about the negative image of believers of...


FIND YOUR Keychain Multi Tool.
MetaiDeal is a centralized place where you'll get various gift ideas, deals, sales, and coupons from largest and famous stores like Amazon, Walmart, Ebay, and more stores. Price comparison for Keychain Multi Tool, deals and coupons help you save on your online shopping.
MetaiDeal is one of US's leading price comparison websites, helping to save money on every shop, look at Oxford Pointed Toe Pumps, Theme Handbag Purse, Kentucky Lunch Box, Refuge Tree. We currently have over 500 000+ items from 100+ online shops for you to compare from. Our prices are regularly updated and feature comprehensive, thoroughly-researched product information to help you in Keychain Multi Tool searching the cheapest prices.
TOTOONE Compact Multi-Tool Keychain .Set of 2.
Keychain Multi Tool last checked shopping results April 23, 2019.
© MetaiDeal - Online Price Comparison Tool. Compare Prices on Keychain Multi Tool.


New Zealand's Corrie Keith Robinson and Australia's Richard Davis enjoyed all-win records today at the VICTOR Oceania Para-Badminton Championships 2018.
Davis (featured image) beat Duke Trench-Thiedeman 15-21 21-13 21-11 in Group A of the Men's Singles Wheelchair WH 1. He then partnered Grant Manzoney and the duo got the better of Thiedeman and Douglas Youlten 21-7 21-6. The Oceania Para-Badminton Championships is the region's first continental championships.
Davis returned for his second Group A match against Pradeep Hewavitharana and completed victory in 27 minutes, 21-16 21-11. In the last match of the day, Davis and Manzoney beat Michael Colin Mcdonald and Daniel O'Neil 21-8 21-4.
"I'm really happy with my performances! I had to fight in my first singles match which went to three games but eventually found my form to win both singles and doubles matches. I have one match left in each discipline tomorrow and hope to continue my winning streak and secure a gold medal!" said Davis.
Robinson was even more successful, winning six of his matches – three singles, two Mixed Doubles (with Caitlin Dransfield) and a Men's Doubles exhibition match with Guy Harrison.
Robinson and his Australian partner Caitlin Dransfield led the charge, winning the opening Mixed Doubles SL3 – SU5 match against the Australian duo Hayden Bognar and Celine Vinot 21-3 21-6. The pair's winning streak continued through the day.


text:
> {%= description %}

## Quickstart
{%= include("install") %}

Usage:

```js
var replace = require('frep');

// Patterns can be strings, regex or arrays.
// Replacements can be strings or functions.
var replacements = [
  {
    pattern: 'a',
    replacement: 'x'
  },
  {
    pattern: /b/,
    replacement: 'y'
  },
  {
    pattern: /c[\S]+/,
    replacement: function(match) {
      return match.toUpperCase();
    }
  }
];

console.log(replace.strWithArr('abcdefg', replacements));
//=> 'xyCDEFG'
```

## API
{%= docs("api") %}

## Usage example
{%= docs("example") %}

## Author
{%= contrib("jon") %}

## License
{%= copyright() %}
{%= license() %}

***

{%= include("footer") %}

redpajama_set_name: RedPajamaGithub


text:
5 - 6 May 2021
About QuBit Conference New York
About QuBit Conference
Speaking Bureau
Ron Ongley
CISO at Russell Reynolds, USA
Ron Ongley is the Chief Information Security Officer and Global Head of Technology Infrastructure at Russell Reynolds Associates. Based in New York, he is responsible for all aspects of the firm's security program, network, voice/video and distributed infrastructure, as well as overseeing a global Client Services team. Ron created and now heads the RRA cyber security program, as well as having led the firm through ISO certification, and modernizing the global network and voice services delivery model.
Ron has worked with RRA for 18 years, in roles of progressive seniority. During his tenure, Ron has been responsible for leading the creation and implementation of operational and technological efficiencies across the firm, including the foundation for a flexible workforce and an infrastructure redesign to provide RRA's first automated fault-tolerant network. Other notable initiatives include the firm-wide migration toward modern IP technology phone systems, as well as introducing global video and collaboration programs which have transformed the quality of RRA's daily business operations. Prior to joining the firm, Ron was Director of Enterprise Systems at Rare Medium. Earlier, he was Manager of Technology at a small educational firm and held roles in systems and network engineering with Quaker State Corporation.
Ron earned a BS in business administration from Ambassador University in Texas and holds CISO Certification from Carnegie Mellon University.
QUBIT CONFERENCE
NYC | 21
Get conference email updates
Information about how we process personal data is available in Privacy Policy.
© 2013-2021 QuBit Conference, The Universe of Cyber Security - Privacy Policy - Privacy Policy in Slovak language - Terms & Conditions


Refresh your trainer collection with these BOSS mesh parkour runner trainers. Crafted to a low top style, this pair features a rounded toe, lace up closure and are constructed from a combination of mesh, suede, leather and nylon to the upper. Finished with metallic piping and sitting on a striped sole with branding to the rear, tongue and side of the shoe, this pair are not one to be missed.


IONIA, Mich. - The Ionia School District was closed Monday because a major pipe broke, flooding the boiler room.
The cold water line broke early Monday morning in the Ionia Middle School. Superintendent Devin Wilson says they closed the district because they would all have to make up the day if the district's total attendance dropped below 75 percent, which would have been likely.
The flooding took place in the room where two boilers heat the building. Wilson says a two-inch water pipe froze and burst sometime late Saturday or early Sunday morning.
Over 37,000 gallons of water flooded the boiler room up to about five feet deep.
"We want to make sure we provide a safe and secure learning environment for our kids. We're trying to asses the problem where the room has been pumped out and we've got mechanical contractors on site and we're trying to determine whether or not we're going to be able to use that building," said Wilson.
The water has been pumped out and water and electrical services were turned off. Crews are still assessing the damages, but the schools will be closed on Tuesday.


text:
Home / NEWS / Archbishop drowns during baptism
Archbishop drowns during baptism
January 11, 2019 - NEWS
A South African archbishop identified as, Andries Moeti drowned during a baptism, leading to the death of the 36-year-old cleric.
The leader of New Heaven Apostolic Church in Marobjane Village, Limpopo, South Africa drowned in front of church members who were queueing up to be baptised.
When people realised the archbishop had been under water for a while, they screamed for help as they were afraid to go in and rescue him.
His mum, Elisa Moeti (60), told Daily Sun it was hard for church members and his family to accept Andries' death.
"We are still shocked because he always went to the stream to pray and baptise people. He would go into the water for a minute before letting his congregants go in for prayers. "I believe his death was God's will because those who were there when he drowned told us the incident was mysterious," said Elisa.
His dad, James Seshoka (57), said it was a sad moment when the search and rescue unit recovered his body from the water. Church members were fainting and crying.
The archbishop will be laid to rest in Marobjane tomorrow. He leaves behind his wife and three children.
Elisa, who worked closely with her son, said she would look after the church and his family.
Archbishop drowns during baptism Reviewed by Adebanjo Shegun on January 11, 2019 Rating: 5


text:
Home Industry Reports Energy & Power Battery Recycling Market - Segmented by Battery Type and Geography - Growth, Tre ...
Battery Recycling Market - Segmented by Battery Type and Geography - Growth, Trends and Forecast (2019 - 2024)
Purchase Report
$4250 SINGLE USER LICENSE $4750 TEAM LICENSE $7500 CORPORATE LICENSE
Buy Now - $4250
Increasing disposal of batteries has augmented concern toward water pollution and soil contamination. As a result, various entrepreneurs and governments have initiated necessary measures to recycle batteries and derive environmental and health benefits. The increasing number of spent batteries from the automotive and industrial sectors, as well as the strict government regulations mandating battery recycling to control environmental hazards during battery manufacturing and disposal, are some of the factors propelling the growth of global battery recycling market. The automotive sector has emerged as the leading source of spent batteries, owing to the high usage of lead acid batteries in vehicles, and as automotive batteries are indispensable components of the powertrains of vehicles. Among all the regions, Europe dominates the global market, due to stringent environmental norms, such as EU's batteries directive, which is focused on the adequate disposal and recycling of batteries.
Stricter Government Norms for Battery Recycling by Various Nations Drive the Market
Batteries are made from a variety of chemicals and some of these chemicals, such as nickel and cadmium, are extremely toxic and can cause damage to humans and the environment. In particular, they can cause soil and water pollution and endanger wildlife. For example, cadmium can cause damage to soil microorganisms and affect the breakdown of organic matter. This has forced governments in many countries to come up with stringent norms regarding battery recycling and management in order to control environmental hazards. Different countries have different norms. For instance, the United States has The Universal Waste Rule and The Mercury-containing and Rechargeable Battery Management Act (The Battery Act). More than 20 states in the United States have state recycling requirements in effect and around eight states have mandated battery producers to offer or fund battery recycling.
The Universal Waste Rule: The US Environmental Protection Agency's regulations prohibit companies, handlers, or contractors from disposing batteries. They further promote the collection and recycling of universal waste (including batteries, pesticides, mercury-containing equipment, and mercury lamps).
The Mercury-containing and Rechargeable Battery Management Act (The Battery Act): This act was implemented by the US Environmental Protection Agency and the State Department of Environmental Quality Agency, to reduce the amount of hazardous substances released into the environment from used batteries, by phasing out the use of mercury-containing batteries and recycling nickel cadmium, small sealed lead-acid batteries, and others.
Europe to Dominate the Market
Europe dominates the global battery recycling market, due to stringent environmental norms, like EU's batteries directive, which is focused on the adequate disposal and recycling of batteries. These norms are expected to drive the market's growth. Germany, the United Kingdom, France, Russia, and Italy, are the major contributors to the European segment. According to the European Commission, this directive intends to contribute to the protection, preservation, and improvement of the quality of the environment, by minimizing the negative impact of waste batteries and accumulators. The directive was initiated to deal with approximately 800,000 metric ton of automotive batteries, 190,000 metric ton of industrial batteries, and 160,000 metric ton of consumer batteries sold in the European Union annually.
United Kingdom Becoming Self-Sufficient in Battery Recycling
In 2017, resource efficiency specialist, Ecosurety, and reuse and recycling solutions firm, Belmont Trading UK, partnered to develop the United Kingdom's first battery recycling facility. This is expected enable the country to become self-sufficient in battery recycling as it leaves the European Union. The United Kingdom currently has to ship batteries to Europe for recycling. The new plant near Glasgow has the potential to lower the country's waste export bill considerably by possibly halting this process.
Key Developments in the Market
January 2018: Call2Recycle, North America's first and largest consumer battery stewardship and recycling program, reported that its partners, stewards, and collection sites recycled nearly 6.3 million kilograms (14 million pounds) of batteries throughout Canada and the United States in 2017. These results contribute to Call2Recycle's mission of keeping batteries out of landfills. To date, the program has recycled 65 million kilograms (144 million pounds) of batteries.
February 2017: Johnson Controls and Aqua Metals signed break-through battery recycling technology partnership. Under the agreement, Johnson Controls will:
Become the first licensee for AquaRefining technology
Supply Aqua Metals with batteries to recycle as a service, as part of the Johnson Controls closed-loop network
Purchase AquaRefined metals produced from Aqua Metals' facilities
Acquire just under 5% of Aqua Metals outstanding shares
MAJOR PLAYERS: Accurec Recycling GmbH, Aqua Metals Inc., Battery Solutions Inc., Call2Recycle Inc., Vinton Batteries Limited, Umicore SA, Gravita India Limited, Recupyl SaS, Johnson Controls Inc., COM2 Recycling Solutions, The Doe Run Resources Corporation, Exide Technologies.
Reasons to Purchase This Report
Identify the drivers, restraints, and opportunities possessed by the global battery recycling market, with in-depth analysis.
Analyze the various perspectives of the market with the help of Porter's five forces analysis.
Identify the most dominating type of battery recycled with market estimate forecast.
Identify the largest, fastest-growing, and significant regions during the forecast period, with in-depth analysis.
Identify the latest developments, market shares, and strategies employed by major market players.
3 months analyst support, along with the Market Estimate sheet (in excel).
Customization of the Report
This report can be customized to meet your requirements. Please connect with our representative, who will ensure you to get a report that suits your needs.
3.2 Market Size and Demand Forecast until 2023
3.3 Recent Trends and Developments
3.4 Government Policies and Regulations
4. Market Dynamics
5. Value Chain Analysis
6. Industry Attractiveness: Porter's Five Force Analysis
6.1 Bargaining Power of Suppliers
6.2 Bargaining Power of Consumers
6.3 Threat of New Entrants
6.4 Threat of Substitutes
6.5 Intensity of Competitive Rivalry
7. Global Battery Recycling Market Analysis, by Battery Type (Overview, Market Size, and Demand Forecast until 2023)
7.1 Lead-Acid Battery
7.2 Nickel-based Battery
7.3 Lithium-based Battery
8. Global Battery Recycling Market Analysis, by Geography (Overview, Market Size, and Demand Forecast until 2023)
8.5. Middle East & Africa
9. Key Company Analysis* (Overview, Buisness Segmentation, Financial Analysis**, Recent Development and Analyst View)
9.1 Accurec Recycling GmbH
9.2 Aqua Metals Inc.
9.3 Battery Solutions Inc.
9.4 Call2Recycle Inc.
9.5 Vinton Batteries Limited
9.6 Umicore SA
9.7 Gravita India Limited
9.8 Recupyl SaS
9.9 Johnson Controls Inc.
9.10 COM2 Recycling Solutions
9.11 The Doe Run Resources Corporation
9.12 Exide Technologies
(*List of companies is not exhaustive. Please let us know if you are interested in any company profile)
10. Competitive Landscape
10.1 Mergers & Acquisitions
10.2 Joint Ventures, Collaborations, and Agreements
10.3 Market Share Analysis
10.4 Strategies adopted by leading players
11.1 Contact Us
(**Subject to availability on public domain)
Download Free Sample Report
Comes with
months of post-purchase analyst support.
Buy Sections of Report
Our Clients Include View All
Looking to Customize Report?
Request for Custom Report


text:
Public Safety Canada Effectiveness of Street Gang Control Strategies A Systematic Review and Meta-Analysis of Evaluation Studies 2012
@inproceedings{Wong2012PublicSC,
title={Public Safety Canada Effectiveness of Street Gang Control Strategies A Systematic Review and Meta-Analysis of Evaluation Studies 2012},
author={Jennifer S. Wong and Jason Gravel and Martin Bouchard and Carlo Morselli},
Jennifer S. Wong, J. Gravel,
C. Morselli
............................................................................................................................................ 4 Executive Summary .......................................................................................................................... 5 1.0 Introduction ................................................................................................................................. 7 2.0 Methodology…
gangsquebec.com
Life on the Line: An Exploration of Street Outreach and Gang Prevention and Intervention Work in Los Angeles
C. Bradstreet
Author(s): Bradstreet, Charlotte Elizabeth | Advisor(s): Currie, Elliott P | Abstract: In spite of overall crime declines, gang violence remains a serious problem in many large cities. This is…
Evaluation and Evolution of the Gang Resistance Education and Training (G.R.E.A.T.) Program
Finn Esbensen, Dana Peterson,
Kristy N. Matsuda
The Gang Resistance Education and Training (G.R.E.A.T.) program is a gang- and delinquency-prevention program delivered by law enforcement officers within a school setting. Originally designed in…
The Violent Gang Problem in Chicago: A Local Community Approach
I. Spergel
Social Service Review
A pilot project to reduce gang violence in one of Chicago's most violent communities appears to have been modestly successful. The unique characteristics of the Crisis Intervention Services Project…
Problem-Oriented Policing, Deterrence, and Youth Violence: An Evaluation of Boston's Operation Ceasefire
A. Braga, D. Kennedy, E. Waring, A. Piehl
Psychology, Law
Operation Ceasefire is a problem-oriented policing intervention aimed at reducing youth homicide and youth firearms violence in Boston. It represented an innovative partnership between researchers…
Evaluating Gang Resistance Education and Training (Great)
D. Palumbo, J. Ferguson
Gangs became a major concern of law enforcement and the public in the late 1980s and remain so in the first half of the 1990s. One response for addressing the problem has been the development and…
School-Based Prevention of Problem Behaviors: A Meta-Analysis
David B. Wilson, D. Gottfredson, Stacy S. Najaka
This study examines the features of effective school-based prevention of crime, substance use, dropout/nonattendance, and other conduct problems. It summarizes, using meta-analytic techniques,…
Gang Resistance Education and Training (Great): Results from the National Evaluation
Finn Esbensen, D. Osgood
Although youth delinquent gangs have received considerable academic and media attention during the past decade, there has been a paucity of research evaluating prevention and intervention programs.…
Testing a promising homicide reduction strategy: re-assessing the impact of the Indianapolis "pulling levers" intervention
Nicholas Corsaro, E. Mcgarrell
Law, Psychology
Since the publication of analyses suggesting the significant impact on youth homicide of the Boston "pulling levers" intervention, a series of studies of similar strategies have indicated promise in…
Effectiveness of the Logan Square Prevention Project: Interim Results
M. Godley, Rick Velasquez
SUMMARY Even though substance abuse prevention programs have been studied for more than two decades, outcome studies of programs focused on inner-city youth are rare. Communities with dense…
Community-Based Gang Prevention and Intervention: An Evaluation of the Neutral Zone
Q. Thurman, A. Giacomazzi, Michael D. Reisig, David Mueller
This article presents an assessment of the Neutral Zone, a community-based gang prevention and intervention program developed in Mountlake Terrace and now operating in several other Washington…
Pulling levers focused deterrence strategies and the prevention of gun homicide
A. Braga


text:
package me.adaptive.arp.api;

import com.google.gson.Gson;
import java.io.Serializable;

/**
   Interface for Managing the Security result callback
   Auto-generated implementation of ISecurityResultCallback specification.
*/
public class SecurityResultCallbackImpl extends BaseCallbackImpl implements ISecurityResultCallback, Serializable {

     /**
        Java serialization support.
        @since 2.2.13
     */
     private static final long serialVersionUID = 100432916L;

     /**
        Constructor with callback id.

        @param id  The id of the callback.
     */
     public SecurityResultCallbackImpl(long id) {
          super(id);
     }

     /**
        No data received - error condition, not authorized .

        @param error Error values
        @since v2.0
     */
     public void onError(ISecurityResultCallbackError error) {
          AppRegistryBridge.getInstance().getPlatformContextWeb().executeJavaScript("Adaptive.handleSecurityResultCallbackError( '"+getId()+"', Adaptive.ISecurityResultCallbackError.toObject(JSON.parse(\"" + AppRegistryBridge.escapeString(getJSONParser().toJson(error)) + "\")) )");
     }

     /**
        Correct data received.

        @param keyValues key and values
        @since v2.0
     */
     public void onResult(SecureKeyPair[] keyValues) {
          AppRegistryBridge.getInstance().getPlatformContextWeb().executeJavaScript("Adaptive.handleSecurityResultCallbackResult( '"+getId()+"', Adaptive.SecureKeyPair.toObjectArray(JSON.parse(\"" + AppRegistryBridge.escapeString(getJSONParser().toJson(keyValues)) + "\")) )");
     }

     /**
        Data received with warning - ie Found entries with existing key and values have been overriden

        @param keyValues key and values
        @param warning   Warning values
        @since v2.0
     */
     public void onWarning(SecureKeyPair[] keyValues, ISecurityResultCallbackWarning warning) {
          AppRegistryBridge.getInstance().getPlatformContextWeb().executeJavaScript("Adaptive.handleSecurityResultCallbackWarning( '"+getId()+"', Adaptive.SecureKeyPair.toObjectArray(JSON.parse(\"" + AppRegistryBridge.escapeString(getJSONParser().toJson(keyValues)) + "\")), Adaptive.ISecurityResultCallbackWarning.toObject(JSON.parse(\"" + AppRegistryBridge.escapeString(getJSONParser().toJson(warning)) + "\")) )");
     }

}
/**
------------------------------------| Engineered with ♥ in Barcelona, Catalonia |--------------------------------------
*/


April 17, 2014 — Toshiba America Medical Systems Inc. received approval to operate (ATO) with the U.S. Air Force, making Toshiba the only current manufacturer to have a fully certified computed tomography (CT) system for use on the Air Force Network.
By achieving ATO status, Toshiba met the Department of Defense's stringent guidelines of ensuring protection of patient health information (PHI) and guarding against malware, viruses and malicious attacks. To meet these requirements, Toshiba enhanced its CT platform to include Microsoft Windows 7 and application whitelisting software to proactively identify and prevent viruses and malicious solicitations.


text:
IRAQ – VATICAN
Muslims and Jews: the Pope in Najaf and Ur, the basis for an Iraq of peace and pluralism
Saad Salloum notes that al-Sistani's Islam is "different from that in Qom" and is "open to other religions". In his view, "The roots of the Iraqi tree are Christian." Iranian scholar says that Al-Sistani is a "good choice" to convey a "message of peace" to the Islamic world. Even in Israel the balance with the Muslim world is changing, says pacifist rabbi.
Baghdad (AsiaNews) – The meeting between Pope Francis and Grand Ayatollah Ali al-Sistani in Najaf and the interfaith prayer in Ur of the Chaldeans are laying the foundations for an Iraq based on coexistence, pluralism, peace and a multicultural vision.
Analysts and commentators, from Iran to Israel, stress the "historic" significance of this morning's meeting between the pontiff and the Shia spiritual leader and the dialogue between different faiths in the birthplace of Abraham, father of the three great monotheistic religions.
This "rare and special" event received "an unusually wide media coverage," said Saad Salloum, journalist and associate professor of political science at Baghdad's prestigious Al-Mustanṣiriyya University, speaking to AsiaNews about the meeting between Pope Francis and Grand Ayatollah Ali al-Sistani.
Co-founder of the Iraqi Council for Interfaith Dialogue and president of the Masarat Foundation, dedicated to the protection of diversity, Salloum described the meeting as "a symbolic visit between two similar personalities: both with great spirituality but humble; the latter lives in a small house in Najaf, considered the Shia Vatican, while the former resides in a flat in Santa Marta."
"Today we saw Vatican support for a neutral Shiism, separate from politics" that looks at "national and patriotic" aspects and condemns corruption and violent trends. For the scholar, "Najaf's Islam is a very different Shia Islam from that in Qom", in ayatollah-controlled Iran; Iraqi Shiism is "open to other religions."
"Today Iraq has a central place in the world, a country that offers a different vision than that of the past of war and violence. This other Iraq is based on faith, culture, pluralism" that finds its maximum expression in the interfaith meeting in Ur.
"For us Ur is the most important place," Salloum explained. This is "where Abraham began his journey and today it is a symbol for everyone".
Ultimately, The roots of the Iraqi tree "are Christian, so we cannot imagine our nation without them. We work precisely for a multicultural society and, with this in mind, I am launching a project aimed at establishing a 'House of Abraham', an institution that is open not only to the three great monotheistic religions, but also able to those outside its circle, namely Zoroastrians, Yazidis, etc. We must realise that diversity is a richness. The pope's visit is a fundamental moment from this perspective".
A Muslim academic from Tehran, the capital of Iran, describes the event as "very important" because it brings together the head of the Church and "a great Shia leader".
In his view, "Peace is a message that must be spread all over the world and Ayatollah al-Sistani is a good choice to direct it to the Islamic world". He is an "Islamic leader of peace and we hope that this will be emphasised in his meeting with the Pope and that it will be underscored by the media around the world."
From Israel, Jeremy Milgrom, an Israeli rabbi and member of Rabbis for Human Rights, said: "I have spent most of my life on interreligious activities", so "I can only be in favour and support" events such as those of today in Najaf and Ur.
On the issue of the balance of power between Muslims and Jews, he added, "an interesting process is taking place in Israel from a political point of view. In the coming election Netanyahu "is seeking the support of an Islamic party" which has all the cards "to enter the Knesset (the Israeli Parliament) from a position of strength and autonomy."
Photo: Vatican Media
grand ayatollah ali al-sistani
Al-Azhar monitoring committee backs Maronite patriarch's support for Lebanese neutrality
Pope in Iraq: Up to believers of all religions to turn instruments of hatred into instruments of peace.
Pope in Iraq on a journey of peace, reconciliation and brotherhood (VIDEO)
Chaldean Patriarch says that the papal visit should be used to revitalise the economy, dialogue and unity
Iranian Foreign Minister ends historic visit to Iraq


text:
IL&FS gets Indian Government approval to restart Bihar road project
An IL&FS unit has secured Indian Union Road Transport Ministry approval to restart works on the highway project in Bihar. Credit: vm2827.
Infrastructure Leasing & Financial Services (IL&FS) Engineering and Construction Company has secured approval from the Indian Union Road Transport Ministry to restart a highway project in Bihar.
The government's approval provides crucial support for the IL&FS and its group companies as they face severe liquidity crisis.
In a regulatory filing, the company stated: "IL&FS Engineering and Construction Company Ltd has received approval from Ministry of Road Transport and Highways (MoRTH) on 14 June 2019, for revival/restart of the road project, which was previously referred for amicable foreclosure by the competent authority."
IL&FS said taking into consideration the changed scenario, the company has decided against the foreclosure and had sought permission from the ministry to complete the project.
Under the project, IL&FS will be responsible for rehabilitating and developing the Birpur-Bihpur Section of NH-106 in Bihar under Phase-l of National Highways Interconnectivity Improvement Projects (NHIIP).
Further, the company will upgrade the road to two lanes in each direction with paved shoulders configuration and strengthen up to 106km of the Birpur-Bihpur section of the NH-106.
IL&FS Engineering and Construction Company stated that the work on the project is expected to begin within 15 days from the receipt of the ministry's approval.
Previously, the road construction firm informed the BSE Exchange that it signed a settlement agreement with the National Highways Authority of India (NHAI) against the arbitration award in relation to two of its road projects.
The arbitration settlement and approvals follow a number of project terminations of IL&FS Engineering and Construction Company.
Gujarat Metro Rail and Jharkhand Bijli Vitran Nigam scrapped contracts due to slow progress. Earlier, Rail Vikas Nigam and Maharashtra Metro Rail cancelled the contract for the same reasons.


If you think that tennis could be causing your low back pain, you are probably right, and you're not alone. Studies show that 62% of tennis players have some degree of injury in their lower (lumbar) spine. Most of the time these injuries do not cause noticeable symptoms, but in 3 out of 10 cases there is disc herniation where a part of the disc between the spinal bones pokes out of its normal location. Remarkably, almost 40% of professional tennis players have had to miss a tennis tournament because of low back pain. Fortunately, there are ways to minimize the risk of spinal injuries that occur from playing tennis. And if surgery is needed to correct these issues, which it sometimes is, there may be a way to allow patients to keep playing the game they love.


text:
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Management;
using System.Threading;
using System;
using System.Threading.Tasks;

namespace Ractor.CS.Tests {
    internal class Program {
        private static int _redCount;
        private static long _bestThroughput;

        private static readonly object Msg = new object();
        private static readonly object Run = new object();

        public static uint CpuSpeed() {
#if !mono
            var mo = new ManagementObject("Win32_Processor.DeviceID='CPU0'");
            var sp = (uint)(mo["CurrentClockSpeed"]);
            mo.Dispose();
            return sp;
#else
            return 0;
#endif
        }

        private static void Main() {
            Start();
            //for (int i = 0; i < 20; i++)
            //{
            //    Queue();
            //}

            Console.WriteLine("Press any key to exit");
            Console.ReadKey();
        }

        private static void Queue() {
            var redis = new Redis(keyNameSpace: "RedisQueueTests");
            var queue = new RedisQueue<string>(redis, "CouldSendAndReceiveMessages", timeout: 5000);
            const int n = 10000;

            var sw = new Stopwatch();
            sw.Start();
            var producer1 = Task.Run(async () => {
                //await Task.Delay(1000);
                for (var i = 0; i < n; i++) {
                    await queue.TrySendMessage(i.ToString());
                    //await queue.TrySendMessage(new String('x', i*1));

                    //await Task.Delay(50);
                }
            });

            //var producer2 = Task.Run(async () => {
            //    for (var i = n; i < 2*n; i++) {
            //        await queue.TrySendMessage(i.ToString());
            //        //await Task.Delay(50);
            //    }
            //});

            var consumer = Task.Run(async () => {
                var c = 0;
                while (true) {
                    //await Task.Delay(100);
                    QueueReceiveResult<string> message = default(QueueReceiveResult<string>);
                    try {
                        message = await queue.TryReceiveMessage();
                    } catch (Exception e) {
                        Console.WriteLine(e);
                    }
                    c++;
                    //if (message.OK) { Console.WriteLine(message.Value); }
                    if (message.Ok) {
                        await queue.TryDeleteMessage(message.DeleteHandle);
                    }
                    if (message.Ok && c == n) break; // n * 2

                }
            });

            producer1.Wait();
            //producer2.Wait();
            consumer.Wait();
            sw.Stop();
            Console.WriteLine($"Elapsed: {sw.ElapsedMilliseconds}");
            queue.Dispose();
            //Thread.Sleep(2000);
        }

        private static async void Start() {
            int workerThreads;
            int completionPortThreads;
            ThreadPool.GetAvailableThreads(out workerThreads, out completionPortThreads);

            Console.WriteLine("Worker threads: {0}", workerThreads);
            Console.WriteLine("OSVersion: {0}", Environment.OSVersion);
            Console.WriteLine("ProcessorCount: {0}", Environment.ProcessorCount);
            Console.WriteLine("ClockSpeed: {0} MHZ", CpuSpeed());

            Console.WriteLine("");
            Console.WriteLine("Throughput Setting, Messages/sec");

            foreach (var t in GetThroughputSettings()) {
                await Benchmark(t);
            }
            Console.ForegroundColor = ConsoleColor.Gray;
            Console.WriteLine("Done..");
        }

        public static IEnumerable<int> GetThroughputSettings() {
            yield return 1;
            yield return 2;
            yield return 5;
            yield return 10;
            yield return 15;
            yield return 30;
            yield return 50;
            //for (int i = 20; i < 100; i += 10) {
            //    yield return i;
            //}
            //for (int i = 100; i < 1000; i += 100) {
            //    yield return i;
            //}
        }

        private static async Task<bool> Benchmark(int numberOfClients) {
            //const int repeatFactor = 500;
            long repeat = 10000L; //* repeatFactor;
            long totalMessagesReceived = repeat;
            //times 2 since the client and the destination both send messages

            long repeatsPerClient = repeat / numberOfClients;

            var clients = new List<Client>();

            for (int i = 0; i < numberOfClients; i++) {
                var destination = new Destination();
                destination.Start();
                var client = new Client(destination, repeatsPerClient);
                client.Start();
                clients.Add(client);
            }

            var sw = Stopwatch.StartNew();
            List<Task<string>> tasks = new List<Task<string>>();
            for (int i = 0; i < numberOfClients; i++)
            {
                tasks.Add(clients[i].PostAndGetResult(Run));
            }

            await Task.WhenAll(tasks);
            sw.Stop();

            long throughput = totalMessagesReceived * 1000 / sw.ElapsedMilliseconds;
            if (throughput > _bestThroughput) {
                Console.ForegroundColor = ConsoleColor.Green;
                _bestThroughput = throughput;
                _redCount = 0;
            } else {
                _redCount++;
                Console.ForegroundColor = ConsoleColor.Red;
            }

            Console.WriteLine("{0}, {1} messages/s", numberOfClients, throughput);

            if (_redCount > 3)
                return false;

            return true;
        }

        public class Client : Actor<object, string> {
            private readonly TaskCompletionSource<string> _tcs = new TaskCompletionSource<string>();
            private readonly Actor<object, object> _actor;
            public long Received;
            public long Repeat;
            public long Sent;

            public Client(Actor<object, object> actor, long repeat) {
                _actor = actor;
                Repeat = repeat;
            }

            public override async Task<string> Computation(object message) {
                for (int i = 0; i < Repeat; i++) {
                    Sent++;
                    var res = _actor.PostAndGetResult(Msg);
                    //if (res != Msg) throw new ApplicationException();
                    Received++;
                }
                _tcs.TrySetResult("OK");
                return await _tcs.Task;
            }
        }

        public class Destination : Actor<object, object> {

            public override async Task<object> Computation(object input) {
                //var i = 0;
                //for (int j = 0; j < 100000000; j++) { i = i + 1; }
                //i = i + 1;
                var tcs = new TaskCompletionSource<object>();
                tcs.SetResult(input);
                return await tcs.Task;
            }
        }
    }
}