text:
import os
from tempfile import TemporaryDirectory

import mxnet as mx
import numpy as np
import pytest

import sockeye.constants as C
import sockeye.data_io
import sockeye.image_captioning.data_io as data_io
from sockeye import vocab
from sockeye.utils import seed_rngs
from test.common_image_captioning import generate_img_or_feat, tmp_img_captioning_dataset, _FEATURE_SHAPE, _CNN_INPUT_IMAGE_SHAPE

seed_rngs(12)

@pytest.mark.parametrize("source_list, target_sentences, num_samples_per_bucket, expected_source_0, expected_target_0, expected_label_0",
                         [(['1', '2', '3', '4', '100'],
                          [[1, 2, 3], [1, 6, 7], [7, 3], [3, 4, 5, 6], [3, 4]],
                          [2, 2, 1],
                           ['3', '100'], [[ 7., 3.], [ 3., 4.]], [[3., 10.], [4., 10.]])])
def test_raw_list_text_dset_loader(source_list, target_sentences, num_samples_per_bucket,
                                   expected_source_0, expected_target_0, expected_label_0):
    # Test Init object
    buckets = sockeye.data_io.define_parallel_buckets(4, 4, 1, 1.0)
    dset_loader = data_io.RawListTextDatasetLoader(buckets=buckets,
                                       eos_id=10, pad_id=C.PAD_ID)

    assert isinstance(dset_loader, data_io.RawListTextDatasetLoader)
    assert len(dset_loader.buckets)==3

    # Test Load data
    pop_dset_loader = dset_loader.load(source_list, target_sentences, num_samples_per_bucket)

    assert isinstance(pop_dset_loader, sockeye.data_io.ParallelDataSet)
    assert len(pop_dset_loader.source)==3
    assert len(pop_dset_loader.target)==3
    assert len(pop_dset_loader.label)==3
    np.testing.assert_equal(pop_dset_loader.source[0], expected_source_0)
    np.testing.assert_almost_equal(pop_dset_loader.target[0].asnumpy(), expected_target_0)
    np.testing.assert_almost_equal(pop_dset_loader.label[0].asnumpy(), expected_label_0)

@pytest.mark.parametrize("source_list, target_sentences, num_samples_per_bucket",
                         [(['a', 'b', 'c', 'd', 'e'],
                          [[1, 2, 3], [1, 6, 7], [7, 3], [3, 4, 5, 6], [3, 4]],
                           [2, 2, 1])])
def test_image_text_sample_iter(source_list, target_sentences, num_samples_per_bucket):
    batch_size = 2
    image_size = _CNN_INPUT_IMAGE_SHAPE
    buckets = sockeye.data_io.define_parallel_buckets(4, 4, 1, 1.0)
    bucket_batch_sizes = sockeye.data_io.define_bucket_batch_sizes(buckets,
                                                                   batch_size,
                                                                   batch_by_words=False,
                                                                   batch_num_devices=1,
                                                                   data_target_average_len=[None]*len(buckets))
    dset_loader = data_io.RawListTextDatasetLoader(buckets=buckets, eos_id=-1, pad_id=C.PAD_ID)
    with TemporaryDirectory() as work_dir:
        source_list_img = []
        source_list_npy = []
        for s in source_list:
            source_list_img.append(os.path.join(work_dir, s + ".jpg"))
            source_list_npy.append(os.path.join(work_dir, s + ".npy"))
        # Create random images/features
        for s in source_list_img:
            filename = os.path.join(work_dir, s)
            generate_img_or_feat(filename, use_features=False)
        for s in source_list_npy:
            filename = os.path.join(work_dir, s)
            generate_img_or_feat(filename, use_features=True)

        # Test image iterator
        pop_dset_loader = dset_loader.load(source_list_img, target_sentences, num_samples_per_bucket)
        data_iter = data_io.ImageTextSampleIter(pop_dset_loader,
                                                buckets,
                                                batch_size,
                                                bucket_batch_sizes,
                                                image_size,
                                                use_feature_loader=False,
                                                preload_features=False)
        data = data_iter.next()
        assert isinstance(data, mx.io.DataBatch)
        np.testing.assert_equal(data.data[0].asnumpy().shape[1:], image_size)

        # Test iterator feature loader + preload all to memory
        pop_dset_loader = dset_loader.load(source_list_npy, target_sentences, num_samples_per_bucket)
        data_iter = data_io.ImageTextSampleIter(pop_dset_loader,
                                                buckets,
                                                batch_size,
                                                bucket_batch_sizes,
                                                _FEATURE_SHAPE,
                                                use_feature_loader=True,
                                                preload_features=True)
        data = data_iter.next()
        assert isinstance(data, mx.io.DataBatch)
        np.testing.assert_equal(data.data[0].asnumpy().shape[1:], _FEATURE_SHAPE)

def test_get_training_feature_text_data_iters():
    # Test features
    source_list = ['1', '2', '3', '4', '100']
    prefix = "tmp_corpus"
    use_feature_loader = True
    preload_features = True
    train_max_length = 30
    dev_max_length = 30
    expected_mean = 1.0
    expected_std = 1.0
    test_max_length = 30
    batch_size = 5
    if use_feature_loader:
        source_image_size = _FEATURE_SHAPE
    else:
        source_image_size = _CNN_INPUT_IMAGE_SHAPE
    with tmp_img_captioning_dataset(source_list,
                                    prefix,
                                    train_max_length,
                                    dev_max_length,
                                    test_max_length,
                                    use_feature_loader) as data:
        # tmp common vocab
        vcb = vocab.build_from_paths([data['target'], data['target']])

        train_iter, val_iter, config_data, data_info = data_io.get_training_image_text_data_iters(source_root=data['work_dir'],
                                                                                source=data['source'],
                                                                                target=data['target'],
                                                                                validation_source_root=data['work_dir'],
                                                                                validation_source=data['validation_source'],
                                                                                validation_target=data['validation_target'],
                                                                                vocab_target=vcb,
                                                                                vocab_target_path=None,
                                                                                batch_size=batch_size,
                                                                                batch_by_words=False,
                                                                                batch_num_devices=1,
                                                                                source_image_size=source_image_size,
                                                                                fill_up="replicate",
                                                                                max_seq_len_target=train_max_length,
                                                                                bucketing=True,
                                                                                bucket_width=10,
                                                                                use_feature_loader=use_feature_loader,
                                                                                preload_features=preload_features)
        assert isinstance(train_iter, data_io.ParallelSampleIter)
        assert isinstance(val_iter, data_io.ParallelSampleIter)
        assert isinstance(config_data, data_io.DataConfig)
        assert isinstance(data_info.sources[0], data_io.FileListReader)
        assert data_info.target == data['target']
        assert data_info.source_vocabs is None
        assert data_info.target_vocab is None
        assert config_data.data_statistics.max_observed_len_source == 0
        assert config_data.data_statistics.max_observed_len_target == train_max_length - 1
        assert np.isclose(config_data.data_statistics.length_ratio_mean, expected_mean)
        assert np.isclose(config_data.data_statistics.length_ratio_std, expected_std)

        assert train_iter.batch_size == batch_size
        assert val_iter.batch_size == batch_size
        assert train_iter.default_bucket_key == (0, train_max_length)
        assert val_iter.default_bucket_key == (0, dev_max_length)
        assert train_iter.dtype == 'float32'

        # test some batches
        bos_id = vcb[C.BOS_SYMBOL]
        expected_first_target_symbols = np.full((batch_size,), bos_id, dtype='float32')
        for epoch in range(2):
            while train_iter.iter_next():
                batch = train_iter.next()
                assert len(batch.data) == 2
                assert len(batch.label) == 1
                assert batch.bucket_key in train_iter.buckets
                source = batch.data[0].asnumpy()
                target = batch.data[1].asnumpy()
                label = batch.label[0].asnumpy()
                assert source.shape[0] == target.shape[0] == label.shape[0] == batch_size
                # target first symbol should be BOS
                assert np.array_equal(target[:, 0], expected_first_target_symbols)
                # label first symbol should be 2nd target symbol
                assert np.array_equal(label[:, 0], target[:, 1])
                # each label sequence contains one EOS symbol
                assert np.sum(label == vcb[C.EOS_SYMBOL]) == batch_size
            train_iter.reset()

def test_get_training_image_text_data_iters():
    # Test images
    source_list = ['1', '2', '3', '4', '100']
    prefix = "tmp_corpus"
    use_feature_loader = False
    preload_features = False
    train_max_length = 30
    dev_max_length = 30
    expected_mean = 1.0
    expected_std = 1.0
    test_max_length = 30
    batch_size = 5
    if use_feature_loader:
        source_image_size = _FEATURE_SHAPE
    else:
        source_image_size = _CNN_INPUT_IMAGE_SHAPE
    with tmp_img_captioning_dataset(source_list,
                                    prefix,
                                    train_max_length,
                                    dev_max_length,
                                    test_max_length,
                                    use_feature_loader) as data:
        # tmp common vocab
        vcb = vocab.build_from_paths([data['target'], data['target']])

        train_iter, val_iter, config_data, data_info = data_io.get_training_image_text_data_iters(source_root=data['work_dir'],
                                                                                source=data['source'],
                                                                                target=data['target'],
                                                                                validation_source_root=data['work_dir'],
                                                                                validation_source=data['validation_source'],
                                                                                validation_target=data['validation_target'],
                                                                                vocab_target=vcb,
                                                                                vocab_target_path=None,
                                                                                batch_size=batch_size,
                                                                                batch_by_words=False,
                                                                                batch_num_devices=1,
                                                                                source_image_size=source_image_size,
                                                                                fill_up="replicate",
                                                                                max_seq_len_target=train_max_length,
                                                                                bucketing=False,
                                                                                bucket_width=10,
                                                                                use_feature_loader=use_feature_loader,
                                                                                preload_features=preload_features)
        assert isinstance(train_iter, data_io.ParallelSampleIter)
        assert isinstance(val_iter, data_io.ParallelSampleIter)
        assert isinstance(config_data, data_io.DataConfig)
        assert isinstance(data_info.sources[0], data_io.FileListReader)
        assert data_info.target == data['target']
        assert data_info.source_vocabs is None
        assert data_info.target_vocab is None
        assert config_data.data_statistics.max_observed_len_source == 0
        assert config_data.data_statistics.max_observed_len_target == train_max_length - 1
        assert np.isclose(config_data.data_statistics.length_ratio_mean, expected_mean)
        assert np.isclose(config_data.data_statistics.length_ratio_std, expected_std)

        assert train_iter.batch_size == batch_size
        assert val_iter.batch_size == batch_size
        assert train_iter.default_bucket_key == (0, train_max_length)
        assert val_iter.default_bucket_key == (0, dev_max_length)
        assert train_iter.dtype == 'float32'

        # test some batches
        bos_id = vcb[C.BOS_SYMBOL]
        expected_first_target_symbols = np.full((batch_size,), bos_id, dtype='float32')
        for epoch in range(2):
            while train_iter.iter_next():
                batch = train_iter.next()
                assert len(batch.data) == 2
                assert len(batch.label) == 1
                assert batch.bucket_key in train_iter.buckets
                source = batch.data[0].asnumpy()
                target = batch.data[1].asnumpy()
                label = batch.label[0].asnumpy()
                assert source.shape[0] == target.shape[0] == label.shape[0] == batch_size
                # target first symbol should be BOS
                assert np.array_equal(target[:, 0], expected_first_target_symbols)
                # label first symbol should be 2nd target symbol
                assert np.array_equal(label[:, 0], target[:, 1])
                # each label sequence contains one EOS symbol
                assert np.sum(label == vcb[C.EOS_SYMBOL]) == batch_size
            train_iter.reset()


Participating in trade shows and other events gives your brand maximum eyeballs. It is a nice way to showcase your products and inform customers about your services. During such shows, you need to make use of high-quality exhibition stands to attract attention and stand ahead of the competition. Exhibition stands have come a long way in the last decade or so in terms of their built and design. These days modular exhibition stands UK have become very popular with small and large businesses. They are perfect for a 21st century business wanting to make an impact in the market. Modular stands offer a lot of advantages and this explains their popularity among businesses.
The core advantage of using modular exhibition stands lies in the fact that they are flexible and reusable. When you are participating in a large number of events these stands are extremely useful as they can easily be reconfigured easily to suit other locations or needs. This makes modular stands highly cost-effective as you won't have to incur expenses on exhibition stands every time you participate in an event. Installing these stands at event sites is also easy and few people can put up a stunning display in a matter of a few hours.
As a brand your approach to every exhibition would be different. You might use some exhibitions to launch a new product while in another you might showcase your USP to the customers. Thus, your exhibition stands need to be having some uniqueness in each exhibition. Custom build exhibition stands UK allow you to present that uniqueness in such mega events. Modular exhibition stands can easily be customized on the needs of the occasion. Be it the graphics or the size of the platform all features are easily customizable.
Safe and proper storage are one of the biggest concerns for any business when it comes to exhibition stands. Traditional exhibition stands needed large storage spaces and good care for them to be used in multiple events. With modular stands you will have no such worry as they are easily be disassembled and stored in a small space inside the office and it doesn't take much time to reassemble them.
Modular exhibition stands sever you for a long time. These solutions can easily be extended as your business grows. When you need larger installations, new modules can easily be added to the existing ones serving your growing needs. This makes it a cost effective solution going into the future.
If you are looking to buy or rent modular exhibition stands in the UK MJ Design & Display Ltd can offer you custom products and solutions. There are one of the leading project management, installation and storage firms in UK offering custom solutions to the customers. They offer high quality products that will power your brand during such events at competitive prices. Along with this they also offer graphic design solutions for a wide range of exhibition items.


Zuma now has until 31 January next year to make a submission to Abrahams on why the case against him should be dropped. His initial deadline had been November 30 but the president requested more time to consult with his lawyers.
Abrahams has to decide whether or not to pursue 783 charges against Zuma. However' Abrahams's own future is uncertain after the High Court in Pretoria ruled last week that the prosecution boss's appointment was invalid.
The court gave the National Prosecuting Authority 60 days to appoint Abrahams's replacement but said Zuma was not in a position to find a successor since he was conflicted as a result of the hanging charges. The court ruled that Deputy President Cyril Ramaphosa should find a replacement for Abrahams.
Abrahams has been accused of protecting Zuma from prosecution. Both Zuma and Abrahams have indicated that they will appeal last week's ruling.


text:
JamesFoxHiggins
@JamesFoxHiggins
James Fox Higgins has been a storyteller his whole life. Moving through varied ambitions in his early youth, from science-fiction comic book artist, to actor, to novelist, to screenwriter, James finally settled on musician at the age of eight and began preparing for a career as a multi-instrumentalist and singer-songwriter. James has worked his whole adult life as a professional entertainer, performing around the world in various original acts, as well as making a living in the world of corporate and private functions. James has attended more weddings as a singer than he likes to admit. As a solo artist, James Fox Higgins has released three self-produced albums to date. He now spends most of his week producing music for other artists out of the recording studio he designed and built himself on a rural property in the Byron Bay region in Australia. It wasn't until his late twenties, during a crisis of identity, and a desperate feeling of emptiness and hopelessness for the world, that he discovered philosophy and began a self-directed personal course in rational metaphysics and philosophical literature. James identifies as an Anarcho-Capitalist, and wholeheartedly embraces (and tries to exemplify and teach) the Non-Aggression Principle. Deciding to combine his many passions, and his deepening awareness of objective reality into a public declaration and major creative work, he co-founded The Rational Rise – a blog and youTube channel dedicated to rational thought on philosophy, news, politics, arts & science. At the same time, he began planning and research for The Ghosts of Men trilogy, starting with The Ghost of Emily. James Fox Higgins believes that a deeper observation and understanding of objective reality, and a commitment to truth-telling in the political, metaphysical and emotional spheres, is the key to human evolution and the only way to make the good in mankind triumph over evil. That is his purpose and intention in writing The Ghosts of Men trilogy.
location_onByron Bay
Subscribers54
Subscriptions6
Views1.34k

redpajama_set_name: RedPajamaCommonCrawl


text:
Adrenaline PR, Albums & EPs, News, Tours
Incite to Release New Album "Built To Destroy" on January 25, 2018 + New Tour Dates with Soulfly, Kataklysm, and More
Last month, heavy metal frontrunners Incite – lead by frontman Richie Cavalera – announced select details about their upcoming fifth full-length album, Built To Destroy. Produced by Steve Evetts (The Dillinger Escape Plan, Suicide Silence) and mastered by Zeuss (Rob Zombie, Hatebreed), Built to Destroy is a visceral, urgent, voracious distillation of modern metal with reverence for the past, and boasts a progressed, matured sound for Incite. Incite can now announce that Built To Destroy will hit the metal masses with full force on January 25, 2018 via MinusHead Records.
Last month, Incite dropped a new single, "Ruthless Ways", originally revealed last month via SiriusXM Liquid Metal. Listen HERE.
Download/Stream "Ruthless Ways":
iTunes | Spotify | Amazon | Bandcamp
New Tour Dates
In celebration of the album's release, Incite will kick off a massive North American tour with headliners Soulfly and direct support artist Kataklysm beginning on the same day! The tour will visit several cities across North America, coming to an end on February 26 in Los Angeles, CA. The tour will feature additional support from Chaoseum, Alukah and Skinflint on select dates.
Tickets go on sale this Friday, October 19 at 10:00 AM local time. Tickets are available via each venue. See below for all confirmed tour dates!
Incite vocalist Richie Cavalera says, "Metalheads! We're fired up to hit the road with Soulfly and Kataklysm and all the other killer bands on this bill. This will be the first tour in support of our new album, so expect to hear some new Incite tracks at these raging shows!"
Incite with Soulfly & Kataklysm
(Chaoseum, Alukah and Skinflint) on select dates:
1/25/19: Albuquerque, NM @ Sunshine Theater*
1/26/19: Dallas, TX @ Gas Monkey*
1/27/19: Austin, TX @ Come & Take It Live*
1/28/19: New Orleans, LA @ Santos*
2/5/19: Orlando, FL @ Soundbar #
2/6/19: Atlanta, GA @ Masquerade #
2/7/19: Frederick, MD @ Cafe 611 #
2/8/19: Clifton, NJ @ Dingbatz #
2/9/19: Reading, PA @ Reverb #
2/10/19: Boston, MA @ Brighton Music Hall #
2/11/19: New York, NY @ Gramercy Theatre #
2/12/19: Toronto, ON @ Mod Club &
2/13/19: Flint, MI @ Buick City Events Center &
2/14/19: Joliet, IL @ The Forge &
2/15/19: Ft Wayne, IN @ Piere's &
2/16/19: Dayton, OH @ Oddbodys &
2/17/19: Lexington, KY @ Manchester Music Hall &
2/18/19: Kansas City, MO @ Riot Room &
2/19/19: Colorado Springs, CO @ Sunshine Studios Live ^
2/20/19: Grand Junction, CO @ Mesa Theater ^
2/22/19: Spokane, WA @ The Pin ^
2/23/19: Seattle, WA @ Club Sur Rocks ^
2/24/19: Portland, OR @ BossaNova ^
2/25/19: Petaluma, CA @ Phoenix Theatre ^
2/26/19: Los Angeles, CA @ 1720 Club ^
Support Lineup Key:
* w/ Incite supporting Soulfly
# w/ Kataklysm, Incite, Chaoseum supporting Soulfly
& w/ Kataklysm, Incite, Alukah supporting Soulfly
^ w/ Kataklysm, Incite, Skinflint supporting Soulfly
Nearly 15 years into a career in which everything they've accomplished was earned and nothing was taken for granted, Incite bridges the gap between various metal sub-genres, but one thing is for certain – you will be banging your head in no time. This is a band who will open for Gorgoroth one night and Cancer Bats the next, converting true-believers out of everyone who crosses their path.
As renegade disciples of trailblazing metal architects like Pantera, Slayer, Sepultura, and Machine Head, Incite raises the torch for trend-killing and hipster-smashing metal. Incite is as much a part of the fabric of the style championed by Lamb of God as the surge of newer bands like Power Trip. Incite perfected their signature brand of extreme sounds by playing shows with DevilDriver, Crowbar, Brujeria, Soulfly, Cavalera Conspiracy, and Six Feet Under.
Incite Online:
Website | Facebook |Twitter | Instagram
Incite Is:
Richie Cavalera – Vocals
Lennon Lopez – Drums
Christopher "EL" – Bass
"Dru Tang" Rome – Lead Guitar
Featured photo (top) by Jeremy Saffer
Brianne Dunn
Content Editor at Burning Hot Events
Live Sound Audio Technician in Los Angeles. WordPress Editor for SoundGirls.org. Trained in Music Marketing and Promotions for 14 years. Guitarist, Makeup Artist. Lover of concerts, skateboarding, animals, and the horror genre. Believes in the Oxford comma.
AlukahBuilt To DestroyChaoseumInciteKataklysmNew AlbumNew TourNorth American tourRuthless WaysSkinflintSoulflyTour Dates
Previous PostJoe Settineri Releases Official Music Video for Emotionally Powerful New Single, "Batman Cries"Next PostAfter 2 Postponed Dates, Christina Aguilera's "Liberation Tour" Continues Across the US


text:
Q: how to use argument as table name in a postgresql SQL function I've got a function to return relevant position of an array matching given value like below:
CREATE OR REPLACE FUNCTION get_index(needle ANYELEMENT, haystack ANYARRAY)
  RETURNS TABLE (i_position int)
  AS $$

    SELECT
           i+i_step AS i_position
    FROM   (VALUES(1),(2)) steps(i_step),
                          generate_series(array_lower($2,1), array_upper($2,1)) AS i
    WHERE $2[i] = $1

$$ LANGUAGE SQL STABLE;

Instead of passing a single value to the function, I want to pass a table name, as one column of the table would be used to do the value comparison (WHERE $2[i] = $1 ), instead of a single value passed to the function. However, it doesn't seem like the function support SQL using argument as table name.
I'm wondering if there's alternative. I'd like to use SQL function instead of PLPGSQL, for the sake of performance. As our table is huge.
I'd like to achieve something like below:
CREATE OR REPLACE FUNCTION get_index(tbl ANYELEMENT, haystack ANYARRAY)
  RETURNS TABLE (i_position int)
  AS $$

    SELECT
           i+i_step AS i_position
    FROM   (VALUES(1),(2)) steps(i_step),
                          generate_series(array_lower($2,1), array_upper($2,1)) AS i,
                          $1
    WHERE $2[i] = $1.col1

$$ LANGUAGE SQL STABLE;

A: It is not possible in SQL function - It doesn't support dynamic sql. You have to use PLpgSQL - EXECUTE statement.
SQL function is faster than PLpgSQL only when inlining is successful. When it isn't successful, and SQL function should be evaluated, then PLpgSQL should not be slower. When body of SQL function contains SRF functions like generate_series, then inlining is not effective.

redpajama_set_name: RedPajamaStackExchange


text:
khloe kardashian kylie jenner margaret josephs david eason phaedra parks kenya moore remy ma porsha williams t.i. tiny harris David Adefeso la la anthony ace wells tucker reginae carter zonnique pullins toya wright cardi b scott disick brittany cartwright kelly clarkson Jordyn Woods Tinsley Mortimer Tamra Judge
Kim Kardashian Is Suing The Person Who Leaked Her Surrogate's Personal Information: "It's Being Handled"
Ricki Mathers Feb 11, 2018 11:37 PM PDT
Source: Glamour
Kim Kardashian is used to the media digging into her personal information but when it came to the comfort and safety of her surrogate the mogul brought out the big guns. In a new episode of "Keeping Up With the Kardashians," viewers get to see exactly how Kim reacted when she found out that all of her surrogate's information had been leaked to the press.
The 38-year-old mother of three woke up to a TMZ story that stated that her and Kanye have hired an official surrogate to carry their third baby. She then goes on to reveal that other websites have even more facts on the 27-year-old woman — some that she didn't know herself!
Kim calls Kanye but we didn't get to hear what he said when his wife relayed the message. She then sprung into action by calling her attorney who said that he's already seen the news.
The two chatted and her attorney said that the person who leaked the information was "close" to the family. Kim responded by saying that she was going to sue whoever it was.
Although she didn't reveal who leaked the information she recently tweeted that she knows who it was, she also said that the lawsuit should help make it clear that there are consequences for such serious actions.
It's awful! We know and they know and it's being handled. https://t.co/cjeoekIHDb
— Kim Kardashian West (@KimKardashian) February 12, 2018
Kim also went out of her way to contact her surrogate to warn her and make sure that she was okay that all of this was happening. Kardashian understood that this was something that would be a lot for someone who's never been in the spotlight to handle.
There are multiple fan theories that the leak may have been none other than the surrogate herself or someone in the surrogate's family who knew that the connection they had with the person carrying the next West baby could make them a ton of money.
Who do you think could have been the squealer?
Read more about kim kardashian kuwk the kardashians
KUWK: Khloe Kardashian Trying To Fill The Void Left By Tristan Thompson In Their Daughter's Life – Spends Day And Night With True!
Jul 15, 2019 6:58 PM PDT
KUWK: Kylie Jenner Claps Back At Influencer Accusing Her Of Copying Her Picture
Nicki Minaj Models Pink Fendi Ensemble In Hot Video And Fans Freak Out Over Kim Kardashian's Support In The Comments!
John Cusack Has Been Asking President Trump's Followers To Name One Thing Wrong Trump Has Done And No One Has Answered


"The quantum world has demolished the concept of the unconnected individual."1 Today's global economy is the impetus for educational communities worldwide to establish wider access to learning. However, it is counterproductive for educational institutions to act in isolation to address globalization by creating their own digital libraries, interactive research laboratories, or online courses. Rather, collaboration via telecommunications tools is the key.
Since its invention, educators and researchers around the world have envisioned that the Internet would be the answer to their collaborative tele-learning needs. However, with the mounting public and commercial popularity of the Internet, these visions have suffered. Increasing network traffic has decreased available bandwidth, thereby compromising the Internet's use for educational purposes, such as integrating information resources in varying formats, supporting cross-disciplinary work, and sharing data across traditional boundaries. These limitations, coupled with the growing need for tele-collaboration, have led to the development of Internet2.
Thirty-four charter member-universities endorsed the mission and goals of the project. By 1997, the member-universities, which had tripled in number, joined with business sponsors to form the University Corporation for Advanced Internet Development (UCAID).11 In April 1998, UCAID launched the Abilene Project to create one of two high-speed backbones for I2—the other being the existing, very high-performance Backbone Network Service (vBNS) of NSF in cooperation with MCI WorldCom.12 In February 1999, the completed Abilene Project was formally dedicated; the I2 membership, by then expanded to 156 universities, was connected via either the vBNS backbone or the Abilene backbone, and I2 was officially launched. As this publication went to press, there were more than 180 UCAID members.
Tele-education over the Internet has been found to be unreliable, cumbersome, time-consuming, and expensive. Unsuccessful experiences with collaborative attempts over the public Internet explain why many early technology adopters in the academic community now take a cautious approach to any tele-education.13 One contributing factor is that on the public Internet, all data packets are treated equally; a concept that works well for e-mail but degrades applications that are more bandwidth-intensive. For instance, when attempting to use videoconferencing in a classroom or research environment, bandwidth and latency limitations could cause the signals sent across the Internet to arrive as slowly as two or three frames per second, rather than the thirty frames per second required for a smooth picture with synchronized audio.
Additionally, research shows that it is not enough simply to form learners into groups and use technology to let them see and hear one another.14 Tele-learning involves interaction and facilitates the development of dynamic projects with authentic focus. Viable tele-education allows teachers to combine acknowledged learning theory with systematic teaching methods in order to offer imaginative and creative teaching.
Because of its broadband and fiber-optic infrastructure, Internet2 can provide the differentiated services and quality-of-service guarantees necessary for effective tele-education. However, because I2 is a recent advancement in telecommunications, questions remain about the usability of educational applications via this new network. Therefore, it is important to examine and document "proof in practice,"15 since the practical use of Internet2 applications will best demonstrate its effectiveness for tele-learning. The following initiative involving Internet2 and tele-education offers guidance not only in terms of theoretical perspectives but also in terms of practical experience.
The first attempt to use Internet2 in a college of education was pioneered by the University of Virginia and Iowa State University. The inaugural courses, "Diffusion of Educational Technology: Policy and Practice" and "Philosophical Foundations of Instructional Technology" were piloted during the Fall 1998 semester. These graduate education courses were co-taught by instructors at both universities, that is, there was an anchor instructor for each class from each university. This model of instruction, or collaborative education, is different from the traditional model of distance education. The intent of collaborative education is to enrich the learning experiences for students at both sites, rather than to be more efficient or more cost effective, as in traditional distance education. Collaborative courses provide access to expertise spanning multiple remote locations, thus overcoming the limitations of a single classroom.
The first pre-service teacher education course using Internet2 was conducted between the University of South Florida and the University of Virginia. Michael Berson and Cheryl Mason jointly taught a social studies methods course in which one class was located in Tampa, Florida, and the other in Charlottesville, Virginia. The two classes, linking synchronously via videoconferencing systems and electronic whiteboards for 45 minutes each week for 14 weeks, collaborated on a web-based multimedia teaching case. The case study chosen (curry.edschool.virginia.edu/teacherlink/social/case/reflections) detailed the daily successes and struggles of a first year teacher attempting to integrate technology into her middle school unit on the Bill of Rights. The study provided a springboard for synchronous discussion among the students at the two universities during the weekly videoconferencing sessions. It also gave students a topic for asynchronous discussion on a newsgroup forum especially created for the collaboration. In this way, the case study was used to establish a virtual doorway connecting the two classrooms.
While the preliminary efforts of this initiative focused on establishing an online exchange, success in this endeavor spurred further interest in evolving social studies pedagogical practice via Internet2. Significant shifts in teaching practices are necessary when using technology as a tool for blending collaborative processes with the opportunity to access myriad resources and ideas. The USF/UVA initiative is an exemplar of dynamic pedagogy in practice. In this collaboration, the necessarily fluid teaching strategies, explained and modeled by both professors, can be applied by students to enhance their current learning experience, and later used to enhance their professional abilities. Ongoing evaluations explore challenges and potential solutions for mobilizing and coordinating the transfer of technology innovation across instructional settings.
The common protocol for collaborative classrooms with videoconferencing and electronic whiteboard capabilities, implemented by all three universities under discussion here, has been adopted by teacher education programs within the Coalition for Innovation in Teacher Education (CITE at www.citeforum.org). At the time of press, North Carolina State University and the University of Florida had also constructed collaborative education classrooms. Another consortium, the Virginia Educational Technology Alliance (VETA at www.veta.org), has agreed to install collaborative education classrooms within each of the 15 teacher education programs associated with the alliance. This not only will permit and facilitate transfer of innovations among members of the CITE consortium, but will also enable sharing of ideas from one consortium to another.
As initiatives in the area of tele-collaborative instruction via Internet2 continue to evolve, further work is needed in order to field-test instructional applications with local public schools, to contribute to materials development, and to introduce digital resource-based instructional materials to pre-service teachers. The impact of these innovations needs intensive investigation, including an examination of pre-service teachers' acquisition of desired knowledge and skills. Prototypes for assessing implementation are lacking, and the interrelationship between technology integration and collaborative interaction is a complex and little understood dynamic. As systematic inquiry develops in this field of research, information about the role of social studies faculty members as pacesetters and potential change agents in the area of technological innovation also is needed. Using leading-edge technology such as Internet2, educators have an exciting opportunity to transform classrooms into collaborative and expansive learning environments where professional skills promote reflective practices.
1. M. Wheatley, Leadership and the New Science: Learning About Organization from an Orderly Universe (San Francisco: Berrett-Koehler, 1994), 38.
2. B. Collis and W. DeBoer, "The TeleTOP Method at the University of Twente," International Journal of Educational Telecommunications 5, no. 4 (1999): 331-359.
3. Anderson and Garrison in C. Gibson, ed., Distance Learners in Higher Education: Institutional Responses for Quality Outcomes (Madison, WI: Atwood, 1998); R. Gilliver, B. Randall, and M. Yang, "The Orbicular Model – Cognitive Learning in Cyberspace," Educational Technology Review 12 (1999): 18-22.
4. T. Edgar and B. McCartney, "The Internet2 Project" (1999). www.utexas.edu/cc/newsletter/nov99/i2.html. Accessed December 23, 1999. Author's e-mail: edgar@mail.utexas.edu.
5. Van Houweling in M. Luker, ed., Preparing Your Campus for a Networked Future (San Francisco: Jossey-Bass Publishers, 2000).
6. T. Hanss, "Internet2: Building and Deploying Advanced, Networked Applications," Cause/Effect 20 no. 2 (Summer 1997): 4-7.
7. B. Houseton, "Advantages of Internet2 and the Unique Opportunity It Provides for Academic Libraries in the Broad Bandwidth Environment." www.arl.org/diversity/leading/issue9/internet2.html. Last updated July 29, 1999. Accessed December 23, 1999.
8. D. Gale, "Creating Internet2 Transcripts: Internet2 Architecture and GigaPoPs." www.cren.net/know/seminars/i2.html. Last updated August 13, 1999. Accessed January 18, 2000. Author's e-mail: dgale@gwis2.circ.gwu.edu.
12. Corporation for Research and Educational Networking (CREN), "TechTalk Transcript" (1998). www.cren.net/know/trans/i2basics.html. Last updated October 17, 1999. Accessed January 18, 2000; G. Wood and D. Caplan, "Internet2 Backbones Power Supercomputing Demonstrations" (1999). www.internet2.edu/html/17_november_1999.html. Last updated November 17, 1999. Accessed January 18, 2000. Authors'e-mail: ghwood@internet2.edu or debbie.caplan@wcom.com.
13. G. Bull, G. Bull, W. Heinecke, R. Walker, L. Blas, and J. Willis, "Collaborative Education," Learning and Leading with Technology 26, no. 5 (1999): 42; C. Pancake, "Testimony of Cherri M. Pancake," Professor of Computer Science and Intel Faculty Fellow, Oregon State University before the Subcommittee on Communications, Committee on Commerce, Science, and Transportation, United States Senate, June 3, 1997. www.cs.orst.edu/~pancake/internet2/senate.html. Accessed December 23, 1999.
14. P. Manning and R. Goodfellow, "Report no. 1: Investigating Collaborative Online Learning: Background to the Project and Approach to Analysing H802 Conference Data" (1998). iet.open.ac.uk/pp/r.goodfellow/icol/report1.htm. Accessed November 15, 1999; E. Neal, "Does Using Technology in Instruction Enhance Learning? or, The Artless State of Comparative Research" (1998). horizon.unc.edu/TS/default.asp?show=article&id=464. Last updated June, 1998. Accessed November 29, 1999.
Stephanie Wood Karran is program coordinator at the University of South Florida Gus A. Stavros Center for Free Enterprise and Economic Education. She can be contacted at skarran@tempest.coedu.usf.edu.
Michael J. Berson is assistant professor of social science education in the Department of Secondary Education at the University of South Florida. He can be contacted at berson@tempest.coedu.usf.edu.
Cheryl L. Mason is assistant professor of social studies education in the Curry School of Education at the University of Virginia. She can be contacted at cmason@virginia.edu.


The Big Book Of Gospel Songs For voice, piano and guitar chords. Format: piano/vocal/chords songbook. With vocal melody, piano accompaniment, lyrics, chord names and guitar chord diagrams. Gospel. 272 pages. 9x12 inches. Published by Hal Leonard.
The Best Contemporary Christian Songs Ever For voice, piano and guitar chords. Format: piano/vocal/chords songbook. With vocal melody, piano accompaniment, lyrics, chord names and guitar chord diagrams. Contemporary Christian. 336 pages. 9x12 inches. Published by Hal Leonard.
Gospel Favorites For Guitar For fingerpick guitar and voice. Format: guitar tablature songbook. With guitar tablature, standard notation, vocal melody, lyrics, chord names and guitar chord diagrams. Gospel. 72 pages. 9x12 inches. Published by Hal Leonard.


fingers polish mania: Creams, Shimmers and Holos-Oh My!
Before we get to the awesomesauce that is today's mani, first the story of the fallout.
You remember how I told you I did not go to work due to the snow, but then ended up having to take my baby to the Emergency Vet? Well, I got in trouble at work. Yup, the bullsh*t there continues with the new boss.
So I got to work the other day and was immediately called into the principal's office. It kind of feels like that to me anyway. I was told that the policy is we have to be there, we are essential personnel. I was to be disciplined, it goes in my file, I don't get to use my sick time for those eight hours, plus I don't accrue the normal 6.5 hours of sick time I would normally have. WTF?!??!
I said to her, that I had to take my cat to the emergency vet, that she had a blockage, that I had the receipt and the CD showing the blockage proving I was there. I told her that even had there been no snow, I wouldn't have shown up that day because my cat is more important to me. Told her my work for the following two clinics were all done, I had no patients to see and no one needed to cover me and my work. She said, I appreciate that you are one of the more conscientious nurses that has their work done, but this is coming from leadership and all that were not there that day will be penalized as I have. She did say she would take my vet receipt and "see what she could do." Which means I'm out 8 hours pay plus the 6.5 I would have earned.
I got to say this is BS. It would be different had patients been there, different had I done this every single snow day. Not the one time in the 5 years I've been there. I'm pissed. I think it's wrong and I can't do a damn thing about it.
Just my little way of saying, I'm good and now others know it and you're punishing a damn good employee for bullsh*t. Put that in your pipe and smoke it.
Now we are back to the mani at hand.
I am actually writing this while on vacation in Myrtle Beach and I'm listening to the waves in the background. So nice!
This is Rescue Beauty Lounge Reveillon, Forgotten Road and Enchanted Polish January 2014. A cream, a shimmer and a holo all in one mani!
Oh how gorgeous right? I just thought these three would go so well together and I was right! I didn't want to mess too much with this, so I simply dotted. Here are the results.
Swooooon. I am in love with these colors! Ji from RBL actually left me comments on this on my Instagram page. Made my day a little!
Hopefully, I will have another gorgeous sunrise for you like I did two years ago that I showed you. This morning's was nice, just not NICE.


text:
Against all odds: why surgeons need to be more aggressive in the era of the multidisciplinary team approach to colorectal cancer
Kyu Joo Park
Department of Surgery, Seoul National University College of Medicine, Seoul, Korea
Correspondence to: Kyu Joo Park, M.D., Ph.D. Department of Surgery, Seoul National University College of Medicine, 103 Daehak-ro, Jongno-gu, Seoul 03080, Korea Tel: +82-2-2072-2901, Fax: +82-2-766-3975 E-mail: kjparkmd@snu.ac.kr ORCID: https://orcid.org/0000-0002-9134-7426
Received 2022 October 16; Accepted 2022 November 4.
Over the last 30+ years, during which I have been a colorectal surgeon, I have witnessed more dramatic advances in medical technology than ever before. Accordingly, the overall treatment outcomes for colorectal cancer have improved substantially. We now have a deeper understanding of the biology and behavior of colorectal cancer and have adopted more individual cancer-specific treatment protocols, despite the fact that development of new chemotherapeutic agents or regimens specifically effective for colorectal cancer is progressing very slowly.
The multidisciplinary team (MDT) approach to colorectal cancer is now the standard approach to the management of colorectal cancer and has proven to be beneficial for patients. However, no matter what decision is made through MDT discussions, we should keep in mind that "a cure cannot be achieved without an aggressive and courageous surgical intervention."
A 36-year-old female patient presented with sigmoid cancer with obstruction symptoms. Her computed tomography (CT) scan showed cT4N+ sigmoid cancer with paraaortic and right external iliac lymph node metastasis confirmed on a positron emission tomography (PET) scan (Fig. 1). The liver and lungs were free from metastasis. Colonoscopy could be performed despite the obstructing lesion, and her biopsy findings were as follows: adenocarcinoma, moderately differentiated, RAS wild type, and low microsatellite instability.
Computed tomography scan of 36-years old female patient with sigmoid cancer. Paraaortic and aortocaval lymph node metastasis was identified (arrows). (A) cT4 sigmoid cancer, (B) paraaortic lymph node, and (C, D) aortocaval lymph nodes.
In the MDT discussion, since paraaortic lymph node (PALN) metastasis is regarded as M1 disease, neoadjuvant chemotherapy with possible consideration of a stent in case of obstruction was the primary treatment option. FOLFOX/FOLLFIRI+cetuximab was considered as the primary chemotherapy regimen. While this decision would be made by most MDTs, there are a few things to consider in this situation. First, we cannot be sure whether there will be a substantial response to chemotherapy. If there is a poor response to chemotherapy, the chance of curative treatment in this patient would be lost, with the subsequent development of probable unresectable metastases to other organs. Second, we have to consider the possible problems that may be caused by a primary sigmoid lesion. Whether or not a stent is placed over the lesion, and irrespective of the responsiveness, there is a high probability that a primary sigmoid lesion will cause problems, such as perforation or reobstruction, even after stent placement. An emergency situation during chemotherapy will increase the risk of perioperative complications, which in some cases, can be fatal.
At our institution, we have a very aggressive approach to primary colorectal cancer lesions, even in unresectable stage IV situations. Although this remains controversial, we have reported survival benefits of palliative resection in metastatic colorectal cancer [1]. Accordingly, the patient underwent an operation first (Fig. 2). Complete dissection of the right external iliac lymph nodes, together with the paraaortic and aortocaval lymph nodes, was done in addition to anterior resection with modified total mesorectal excision. The pathologic report was T4aN2b, with metastasis in nine out of 18 paraaortic/aortocaval lymph nodes and two out of four external iliac lymph nodes. The patient recovered without any notable events and was discharged on postoperative day 4. After the operation, she underwent 12 cycles of FOLFIRI-cetuximab chemotherapy with monitoring for circulating tumor DNA [2], which turned negative at the end of the 12 cycles. No more chemotherapy was given. After 2 and half years of intensive follow-up, there is no evidence of recurrence. One has to wonder what would have happened if the chemotherapy-first approach had been applied.
Operation performed. Complete dissection of the external iliac (A), paraaortic, and aortocaval lymph nodes (B) was done in addition to anterior resection. (C) Paraaortic lymph node dissection was done all the way up to the left renal vein.
An aggressive surgical approach toward PALN metastasis has been my practice, and reviewing the results of PALN dissection for isolated PALN metastasis from colorectal cancer in our small series of patients showed survival benefits compared to chemoradiotherapy or chemotherapy alone, with a 5-year survival rate of 58% (unpublished data). This aggressive surgical approach is also applied to cases of oligo-metastasis to the peritoneum at our institution.
Although PALN resection in colorectal cancer patients may be considered a feasible and beneficial option, no conclusions or recommendations can be provided, taking into account the current evidence [3]. However, considering the fact that we perform operations for T1 cancers with risk factors (lymphovascular invasion, histological differentiation, depth of submucosal invasion, and tumor budding), because of a ~10% possibility of lymph node metastasis, it is my opinion that a more aggressive attitude towards isolated PALN metastasis is warranted, especially when a solid MDT is available. This approach is exemplified in the following case.
A 64-year-old male patient who had undergone laparoscopic anterior resection 3 years ago in another hospital visited our MDT clinic. His pathology was T4N2, and he received 12 cycles of FOLFOX chemotherapy. On CT and PET scans, extensive paraaortic, aortocaval, and retro-inferior vena cava lymph node metastasis was identified (Fig. 3). After an MDT discussion, according to our principle of aggressive surgery, we proceeded with an operation first (Fig. 4). Radical excision of the preaortic lymph nodes and PALNs was done with preservation of the colon arcade vessels. Pathology revealed metastatic adenocarcinomas in 8 of the 9 lymph nodes that were excised. The patient was discharged on postoperative day 4, and subsequently underwent first-line chemotherapy with 12 cycles of FOLFIRI-bevacizumab, and CT and PET scans showed no evidence of cancer. However, a retrocaval lymph node was detected on CT and confirmed on a PET scan 3 months after completion of chemotherapy (8 months after PALN dissection) (Fig. 5). At this time, we held an MDT discussion on the remaining options available; more chemotherapy with the same or a different regimen seemed inappropriate, and we decided to rely on radiotherapy as the next option and salvage stereotactic body radiotherapy to the PALN (57.5 Gy in 25 fractions) was delivered (Fig. 6). After radiotherapy, the patient remained recurrence-free for 4 years—that is, for almost 5 years after the PALN dissection.
Computed tomography (CT) and positron emission tomography (PET) scans of 64 years old male patient who had undergone anterior resection for T4N2 sigmoid cancer 3 years ago. Extensive paraaortic lymph node metastasis was identified. (A, B) CT scan showing extensive paraaortic lymph node metastasis as inducated by arrows. (C) PET scan confirming the metastasis to paraaortic lymph nodes (arrows).
Operation on extensive paraaortic lymph node (PALN) metastasis. Radical excision of the preaortic lymph nodes (LNs), and PALNs was done with preservation colon arcade vessels. (A) Identification of preaortic LNs and PALN (arrows) prior to dissection. (B) Performing dissection of PALN (arrow). (C) After completed dissection. Inferior vena cava (IVC) and aorta exposed (arrows).
Recurred cancer at retrocaval lymph nodes 8 months after paraaortic lymph node dissection. Computed tomography (A) and positron emission tomography (B) scans showing the retrocaval lymph nodes (arrows).
The planning for radiotherapy on the retrocaval lymph nodes. Salvage stereotactic radiotherapy, 57.5 Gy in 25 frations was delivered.
These 2 cases of PALN metastasis from colorectal cancer demonstrate the role of aggressive surgical interventions for cases where obtaining R0 resection is in doubt. In both cases, if surgery had not been performed before the initiation of chemotherapy and/or radiotherapy, a cure could not have been achieved.
Over the last 30 years, despite advances in surgical technology, most innovative changes have been towards minimally invasive surgery (MIS) and related surgical tools. Furthermore, through the MDT approach, we are relying more on chemotherapy and/or radiotherapy when there are opportunities for surgical interventions to achieve cures with more efficiency. My principle is that surgeons should take the central role in the MDT and actively be involved in cases where surgical intervention seems feasible, whether or not R0 resection can be achieved. Remember that "colorectal cancer cannot be cured without surgical intervention," even in cases with metastatic settings. I hope our young colorectal surgeons maintain this aggressiveness, although the current tendency is towards more and more MIS.
Written informed consent was obtained from the patients for the publication of the report including all clinical images
ETHICS STATEMENTS
Written informed consent was obtained from the patients for the publication of the report including all clinical images.
1. Park JH, Kim TY, Lee KH, Han SW, Oh DY, Im SA, et al. The beneficial effect of palliative resection in metastatic colorectal cancer. Br J Cancer 2013;108:1425–31.
2. Kim S, Lim Y, Kang JK, Kim HP, Roh H, Kim SY, et al. Dynamic changes in longitudinal circulating tumour DNA profile during metastatic colorectal cancer treatment. Br J Cancer 2022;127:898–907.
3. Zizzo M, Dorma MP, Zanelli M, Sanguedolce F, Bassi MC, Palicelli A, et al. Long-term outcomes of surgical resection of pathologically confirmed isolated para-aortic lymph node metastases in colorectal cancer: a systematic review. Cancers (Basel) 2022;14:661.


Shortly after word leaked that Kelly Sadler had taken a nasty shot at John McCain, President Trump convened a meeting in the Oval Office for a tiny group of communications staffers, according to sources familiar with the gathering. Sadler, Mercedes Schlapp, Raj Shah, and John Kelly all gathered in front of the Resolute Desk for a conversation with Trump about the leaking problem. They were the only people in the room, though the door to the outer Oval was open.
The president told Sadler she wouldn't be fired for her remark. He added, separately in the conversation, that he's no fan of McCain. Then Trump, who had grown obsessed with the leaking problem, told Sadler he wanted to know who the leakers were.
Sadler then stunned the room: To be completely honest, she said, she thought one of the worst leakers was Schlapp, her boss. Schlapp pushed back aggressively and defended herself in the room. And in follow up conversations after the meeting, some of Schlapp's colleagues also came to her defense. (In a prior meeting, she had said, "You can put this on the record: I stand with Kelly Sadler"). Sadler went on to name other people she also suspected of being leakers.
The allegation — like a previous internal meeting to deal with leaking — ultimately got leaked to us.
Be smart: Trump administration officials have told me that "X is a leaker" has in this White House become synonymous with "I don't like X." Everyone knows the leaker accusation has become the most powerful weapon you can wield against somebody you don't like, especially to Trump.
No one ever says "X leaked Y, and here's the evidence." It's just "X is a leaker."
If White House officials had a shred of evidence their colleagues were leakers then the colleagues would be perp walked off the premises immediately. Now, saying it in front of Trump is taking it to the next level.
Two of Trump's top economic advisers, including Larry Kudlow, fear that one of the proposals closest to his heart — automobile tariffs — would kill American jobs. And his lawyers aren't sure the national security argument underpinning the idea is solid.
Meanwhile, U.S. allies and free traders have been freaking out over a Trump request to use a "national security" law — the same one he used to impose massive steel and aluminum tariffs — to put new tariffs of as much as 25% on automobile imports.
Why this matters: Auto tariffs would have massive consequences for the global economy. But they're far from a lock. And they're not imminent — the White House Counsel's Office has told the Trump team the process will take months to sort through.
The big unanswered question, per a top trade lawyer: "Will the Commerce Department formally initiate this soon? All we have so far is a press release. Until we see a formal federal register notice and timeline for hearing/etc, few observers will think it's "real."
Shortly after Trump announced he was canceling the summit with Kim Jong-un — and before Trump publicly signaled the summit might still happen after all — I received a prescient email from John Park, the director of the Korea Working Group at the Harvard Kennedy School.
"[South Korean President Moon Jae-in] has initiated a very bold game plan and has assumed a lot of the risk for Kim and Trump to have their summit and produce a joint declaration. Moon needs this particular outcome to move forward with implementation of the Panmunjom Declaration — i.e. have more control over fate of the Korean Peninsula."
"Trump and Kim both benefit from a summit as well. There will be more bumps along the way — 'on-again, off-again' drama — but Moon has done a lot of the heavy lifting in addressing the big deal-breaker items."
"A win for Moon is facilitating the launch of a 'denuclearization mechanism,' because it creates a political opening for forward movement on the other mechanisms — permanent peace mechanism and inter-Korean transportation infrastructure development mechanism — in the Panmunjom Declaration."
"Behind the scenes, Moon and his team have been acting like first responders to help both Trump and Kim get to Singapore. They'll continue to patch things up between the two leaders when egos are bruised. (When the U.S. needs to be reassured on a particular issue, Moon Blue House discreetly coordinates with Kim regime to produce a statement or action that goes a long way in reassuring)."
"Bottom line: the Singapore summit is not a guaranteed event. However, the chances of the summit happening are much higher than the political risk marketplace's consensus view because of the Moon Blue House's discreet activist role."
The latest, per WaPo's Anna Fifield, reporting from Seoul: "A team of U.S. officials crossed into North Korea on Sunday for talks to prepare for a summit between President Trump and Kim Jong Un, as both sides press ahead with arrangements despite the question marks hanging over the meeting..."
"Sung Kim, a former U.S. ambassador to South Korea and former nuclear negotiator with the North, has been called in from his posting as envoy to the Philippines to lead the preparations, according to a person familiar with the arrangements."
Trump is getting back on the campaign trail, hitting rallies in the states where he's still fairly popular, and raising money for select Republican candidates heading into November's midterm elections. He's been doing this sporadically since inauguration, but the pace is quickening.
He flies to Nashville on Tuesday for a political rally and a fundraiser for Marsha Blackburn, who's running for the Senate in Tennessee.
On Thursday, Trump holds fundraisers in Dallas and Houston.
What's next: I've been told we'll see incrementally more campaigning for the president from June until November, but we shouldn't expect every week to look as heavy on political travel as this one.
So far, Mike Pence has been doing the vast bulk of midterms travel for the administration, and the VP will continue hitting Republican House districts and fundraisers around the country while Trump will likely focus on larger rallies in states where he remains relatively popular.
Some vulnerable Republican House candidates have told Trump's advisers that it would be harmful, not helpful, if the president visited their districts.
Another campaign trail figure to watch — as Axios first reported — is Donald Trump Jr., who plans to hold rallies to support Republican candidates in midterm Senate races. The states he's most focused on: West Virginia, Missouri, Montana and Indiana.
The House and Senate are on break until the week of June 4.
Monday: Trump participates in a Memorial Day Wreath Laying Ceremony.
Tuesday: Trump has lunch with VP Mike Pence and the Secretary of Housing and Urban Development Ben Carson. The president also meets with the Secretary of Health and Human Services, Alex Azar, and the Director of the National Institutes of Health, Francis Collins. Trump then travels to Nashville for a political rally and fundraiser.
Wednesday: Trump meets with the Secretary of State Mike Pompeo. He also participates in the White House Sports and Fitness Day event.
Thursday: Trump travels to Houston and Dallas for political fundraisers.
Friday: Trump meets with Pompeo again.
I was searching for a story to share that would be worthy of Memorial Day weekend, but I'd rather point you to CNN anchor Jake Tapper's Twitter feed.
Tapper, who has spent countless hours interviewing veterans and telling their stories in print and on television, has spent the day tweeting pictures and thumbnail sketches of American heroes who've died in the past century's wars.


You can play Bloons 2 free online sports games at fogames. It has tags: Skill,Balloon,Bloons,. It has 2168 total plays and has been rated 91.1% (68 like and 20 dislike), find the fun and happy day. If you want to play more sports games, we find some of the game: Bloons Tower Defense 4 Expansion, Bloons Tower Defense 2, Bloons Tower Defense 3 and Bloons Tower Defense. To play other games, go to the skill games page, the balloon games page, or just check out the new games or best games page.
Play Bloons 2 online games, Fun and Happy.


Consultant for 4 years and 3 months. He served as visiting Professor at Humbolt University, Germany, University of Ghent, Belgium and at the school of Development Economics, Wageningen University, the Netherlands as an Erasmus Mundus Scholar.
Dr. Alam coordinated the preparation of the first Perspective Plan of Bangladesh 2010-21 and Sixth & Seventh Five Year Plans of Bangladesh. He is currently coordinating the preparation of the Bangladesh Delta Plan 2100 and the Bangladesh Perspective Plan 2021-41. He has in his credit published 48 scientific articles in peer reviewed national and international journals and authored ten Books. Dr. Alam travelled 45 countries of the World in connection with academic Seminars/Symposia as a government delegate.


text:
<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
<html>
<title>BLPAPI C++</title>
<html>
<pre>

// blpapi_sessionoptions.h                                            -*-C++-*-
#ifndef INCLUDED_BLPAPI_SESSIONOPTIONS
#define INCLUDED_BLPAPI_SESSIONOPTIONS

//@PURPOSE: A common interface shared between publish and consumer sessions.
//
//@CLASSES:
//  blpapi::SessionOptions: user specified options when creating a session.
//
//@SEE_ALSO: blpapi_abstractsession, blpapi_session, blpapi_providersession
//
//@DESCRIPTION: This file defines a 'SessionOptions' class which is used
// to specify various options during session creation.
//
//
///Usage
///-----
// The following snippet shows to use the SessionOptions when creating a
// 'Session'.
//..
// #include <blpapi_session.h>
// SessionOptions sessionOptions;
// sessionOptions.setServerHost("127.0.0.1");
// Session session(sessionOptions);
// if (!session.start()) {
//      std::cout << "Failed to start session." << std::endl;
//      return;
// }
//..

#ifndef INCLUDED_BLPAPI_CALL
#include <blpapi_call.h>
#endif

#ifndef INCLUDED_BLPAPI_DEFS
#include <blpapi_defs.h>
#endif

#ifndef INCLUDED_BLPAPI_EXCEPTION
#include <blpapi_exception.h>
#endif

#ifndef INCLUDED_BLPAPI_TYPES
#include <blpapi_types.h>
#endif

#include <stddef.h>

#ifdef __cplusplus
extern "C" {
#endif

BLPAPI_EXPORT
blpapi_SessionOptions_t *blpapi_SessionOptions_create();

BLPAPI_EXPORT
blpapi_SessionOptions_t *blpapi_SessionOptions_duplicate(
        const blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
void blpapi_SessionOptions_copy(blpapi_SessionOptions_t       *lhs,
                                const blpapi_SessionOptions_t *rhs);

BLPAPI_EXPORT
void blpapi_SessionOptions_destroy(blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_setServerHost(blpapi_SessionOptions_t *parameters,
                                        const char              *serverHost);

BLPAPI_EXPORT
int blpapi_SessionOptions_setServerPort(blpapi_SessionOptions_t *parameters,
                                        unsigned short           serverPort);

BLPAPI_EXPORT
int blpapi_SessionOptions_setServerAddress(blpapi_SessionOptions_t *parameters,
                                           const char              *serverHost,
                                           unsigned short           serverPort,
                                           size_t                   index);

BLPAPI_EXPORT
int blpapi_SessionOptions_removeServerAddress(
                                           blpapi_SessionOptions_t *parameters,
                                           size_t                   index);

BLPAPI_EXPORT
int blpapi_SessionOptions_setConnectTimeout(
                               blpapi_SessionOptions_t *parameters,
                               unsigned int             timeoutInMilliseconds);

BLPAPI_EXPORT
int blpapi_SessionOptions_setDefaultServices(
                                     blpapi_SessionOptions_t *parameters,
                                     const char              *defaultServices);

BLPAPI_EXPORT
int blpapi_SessionOptions_setDefaultSubscriptionService(
                                   blpapi_SessionOptions_t *parameters,
                                   const char              *serviceIdentifier);

BLPAPI_EXPORT
void blpapi_SessionOptions_setDefaultTopicPrefix(
                                           blpapi_SessionOptions_t *parameters,
                                           const char              *prefix);

BLPAPI_EXPORT
void blpapi_SessionOptions_setAllowMultipleCorrelatorsPerMsg(
                      blpapi_SessionOptions_t *parameters,
                      int                      allowMultipleCorrelatorsPerMsg);

BLPAPI_EXPORT
void blpapi_SessionOptions_setClientMode(blpapi_SessionOptions_t *parameters,
                                         int                      clientMode);

BLPAPI_EXPORT
void blpapi_SessionOptions_setMaxPendingRequests(
                                  blpapi_SessionOptions_t *parameters,
                                  int                      maxPendingRequests);

BLPAPI_EXPORT
void blpapi_SessionOptions_setAutoRestartOnDisconnection(
                                         blpapi_SessionOptions_t *parameters,
                                         int                      autoRestart);

BLPAPI_EXPORT
void blpapi_SessionOptions_setAutoRestart(
                                         blpapi_SessionOptions_t *parameters,
                                         int                      autoRestart);

BLPAPI_EXPORT
void blpapi_SessionOptions_setAuthenticationOptions(
                                         blpapi_SessionOptions_t *parameters,
                                         const char              *authOptions);

BLPAPI_EXPORT
void blpapi_SessionOptions_setNumStartAttempts(
                                    blpapi_SessionOptions_t *parameters,
                                    int                      numStartAttempts);

BLPAPI_EXPORT
void blpapi_SessionOptions_setMaxEventQueueSize(
                                   blpapi_SessionOptions_t *parameters,
                                   size_t                   maxEventQueueSize);

BLPAPI_EXPORT
int blpapi_SessionOptions_setSlowConsumerWarningHiWaterMark(
                                         blpapi_SessionOptions_t *parameters,
                                         float                    hiWaterMark);

BLPAPI_EXPORT
int blpapi_SessionOptions_setSlowConsumerWarningLoWaterMark(
                                         blpapi_SessionOptions_t *parameters,
                                         float                    loWaterMark);

BLPAPI_EXPORT
int blpapi_SessionOptions_setDefaultKeepAliveInactivityTime(
                                     blpapi_SessionOptions_t *parameters,
                                     int                      inactivityMsecs);

BLPAPI_EXPORT
int blpapi_SessionOptions_setDefaultKeepAliveResponseTimeout(
                                        blpapi_SessionOptions_t *parameters,
                                        int                      timeoutMsecs);

BLPAPI_EXPORT
int blpapi_SessionOptions_setKeepAliveEnabled(
                                           blpapi_SessionOptions_t *parameters,
                                           int                      isEnabled);

BLPAPI_EXPORT
const char *blpapi_SessionOptions_serverHost(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
unsigned int blpapi_SessionOptions_serverPort(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_numServerAddresses(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_getServerAddress(
                                          blpapi_SessionOptions_t  *parameters,
                                          const char              **serverHost,
                                          unsigned short           *serverPort,
                                          size_t                    index);

BLPAPI_EXPORT
unsigned int blpapi_SessionOptions_connectTimeout(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
const char *blpapi_SessionOptions_defaultServices(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
const char *blpapi_SessionOptions_defaultSubscriptionService(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
const char *blpapi_SessionOptions_defaultTopicPrefix(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_allowMultipleCorrelatorsPerMsg(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_clientMode(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_maxPendingRequests(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_autoRestartOnDisconnection(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_autoRestart(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
const char *blpapi_SessionOptions_authenticationOptions(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_numStartAttempts(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
size_t blpapi_SessionOptions_maxEventQueueSize(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
float blpapi_SessionOptions_slowConsumerWarningHiWaterMark(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
float blpapi_SessionOptions_slowConsumerWarningLoWaterMark(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_defaultKeepAliveInactivityTime(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_defaultKeepAliveResponseTimeout(
                                          blpapi_SessionOptions_t *parameters);

BLPAPI_EXPORT
int blpapi_SessionOptions_keepAliveEnabled(
                                          blpapi_SessionOptions_t *parameters);

#ifdef __cplusplus
}

namespace BloombergLP {
namespace blpapi {
                         // ====================
                         // class SessionOptions
                         // ====================

class SessionOptions {
    // Contains the options which the user can specify when creating a
    // session.
    //
    // To use non-default options on a Session, create a
    // SessionOptions instance and set the required options and then
    // supply it when creating a Session.

    blpapi_SessionOptions_t *d_handle_p;

  public:

    // The possible options for how to connect to the API

    enum ClientMode {
        AUTO = BLPAPI_CLIENTMODE_AUTO,  // Automatic (desktop if available
                                        // otherwise server)
        DAPI = BLPAPI_CLIENTMODE_DAPI,  // Always connect to the desktop API
        SAPI = BLPAPI_CLIENTMODE_SAPI   // Always connect to the server API
    };

    SessionOptions();
        // Create a SessionOptions with all options set to the
        // standard defaults.

    SessionOptions(const SessionOptions& original);
        // Copy constructor

    ~SessionOptions();
        // Destroy this SessionOptions.

    // MANIPULATORS

    SessionOptions& operator=(const SessionOptions& rhs);
        // Assign to this object the value of the specified 'rhs' object.

    void setServerHost(const char *host);
        // Set the API server host to connect to when using the server
        // API to the specified 'host'.  A hostname or an IPv4 address
        // (that is, a.b.c.d).  The default is "127.0.0.1".

    void setServerPort(unsigned short port);
        // Set the port to connect to when using the server API to the
        // specified 'port'.  The default is 8194.

    int setServerAddress(
            const char     *serverHost,
            unsigned short  serverPort,
            size_t          index);
        // Set the server address at the specified 'index' using the specified
        // 'serverHost' and 'serverPort'.

    int removeServerAddress(size_t index);
        // Remove the server address at the specified 'index'.

    void setConnectTimeout(unsigned int timeoutMilliSeconds);
        // Set the connection timeout in milliseconds when connecting to the
        // API.  The default is 5000 milliseconds.  Behavior is not defined
        // unless the specified 'timeoutMilliSeconds' is in range of
        // [1 .. 120000] milliseconds

    void setDefaultServices(const char *defaultServices);
        // DEPRECATED
        // Set the default service for the session. This function is
        // deprecated; see 'setDefaultSubscriptionService'.

    void setDefaultSubscriptionService(const char *serviceIdentifier);
        // Set the default service for subscriptions which do not specify a
        // subscription server to the specified 'serviceIdentifier'. The
        // behavior is undefined unless 'serviceIdentifier' matches the regular
        // expression '^//[-_.a-zA-Z0-9]+/[-_.a-zA-Z0-9]+$'. The default is
        // "//blp/mktdata".  For more information on when this will be used see
        // 'QUALIFYING SUBSCRIPTION STRINGS' section in
        // 'blpapi_subscriptionlist'.

    void setDefaultTopicPrefix(const char *prefix);
        // Set the default topic prefix to be used when a subscription
        // does not specify a prefix to the specified 'prefix'. The default is
        // "/ticker/".  For more information on when this will be used see
        // 'QUALIFYING SUBSCRIPTION STRINGS' section in
        // 'blpapi_subscriptionlist'.

    void setAllowMultipleCorrelatorsPerMsg(
                                          bool allowMultipleCorrelatorsPerMsg);
        // Set whether the Session is allowed to associate more than
        // one CorrelationId with a Message to the specified
        // 'allowMultipleCorrelatorsPerMsg'.  The default is
        // 'false'.  This means that if you have multiple subscriptions
        // which overlap (that is a particular Message is relevant to
        // all of them) you will be presented with the same message
        // multiple times when you use the MessageIterator, each time
        // with a different CorrelationId.  If you specify 'true' for
        // this then a Message may be presented with multiple
        // CorrelationId's.

    void setClientMode(int clientMode);
        // Set how to connect to the API.  The default is AUTO which will try
        // to connect to the desktop API but fall back to the server API if the
        // desktop is not available.  DAPI always connects to the desktop API
        // and will fail if it is not available.  SAPI always connects to the
        // server API and will fail if it is not available.

    void setMaxPendingRequests(int maxPendingRequests);
        // Set the maximum number of requests which can be pending to
        // the specified 'maxPendingRequests'.  The default is 1024.

    void setAuthenticationOptions(const char *authOptions);
        // Set the specified 'authOptions' as authentication option.

    void setNumStartAttempts(int numStartAttempts);
        // Set the maximum number of attempts to start a session
        // by connecting a server.

    void setAutoRestartOnDisconnection(bool autoRestart);
        // Set whether automatically restarting connection if disconnected.

    void setMaxEventQueueSize(size_t eventQueueSize);
        // Set the maximum number of outstanding undelivered events per session
        // to the specified 'eventQueueSize'.  All subsequent events
        // delivered over the network will be dropped by the session if the
        // number of outstanding undelivered events is 'eventQueueSize',
        // the specified threshold.  The default value is 10000.

    void setSlowConsumerWarningHiWaterMark(float hiWaterMark);
        // Set the point at which "slow consumer" events will be generated,
        // using the specified 'highWaterMark' as a fraction of
        // 'maxEventQueueSize'; the default value is 0.75.  A warning event
        // will be generated when the number of outstanding undelivered events
        // passes above 'hiWaterMark * maxEventQueueSize'.  The behavior of the
        // function is undefined unless '0.0 < hiWaterMark <= 1.0'.  Further,
        // at the time that 'Session.start()' is called, it must be the case
        // that 'slowConsumerWarningLoWaterMark() * maxEventQueueSize()' <
        // 'slowConsumerWarningHiWaterMark() * maxEventQueueSize()'.

    void setSlowConsumerWarningLoWaterMark(float loWaterMark);
        // Set the point at which "slow consumer cleared" events will be
        // generated, using the specified 'loWaterMark' as a fraction of
        // 'maxEventQueueSize'; the default value is 0.5.  A warning cleared
        // event will be generated when the number of outstanding undelivered
        // events drops below 'loWaterMark * maxEventQueueSize'.
        // The behavior of the function is undefined unless
        // '0.0 <= loWaterMark < 1.0'.  Further, at the time that
        // 'Session.start()' is called, it must be the case that
        // 'slowConsumerWarningLoWaterMark() * maxEventQueueSize()' <
        // 'slowConsumerWarningHiWaterMark() * maxEventQueueSize()'.

    void setDefaultKeepAliveInactivityTime(int inactivityMsecs);
        // Set to the specified 'inactivityMsecs' the amount of time that no
        // traffic can be received on a connection before the ping-based
        // keep-alive mechanism is triggered; if no traffic is received for
        // this duration then a keep-alive ping is sent to the remote end to
        // solicit a response.  If 'inactivityMsecs == 0', then no keep-alive
        // pings will be sent.  The behavior of this function is undefined
        // unless 'inactivityMsecs' is a non-negative value.  The default value
        // is 20,000 milliseconds.  Note that not all back-end connections
        // provide ping-based keep-alives; this option is ignored by such
        // connections.

    void setDefaultKeepAliveResponseTimeout(int timeoutMsecs);
        // When a keep-alive ping is sent, wait for the specified
        // 'timeoutMsecs' to receive traffic (of any kind) before terminating
        // the connection due to inactivity.  If 'timeoutMsecs == 0', then
        // connections are never terminated due to the absence of traffic after
        // a keep-alive ping.  The behavior of this function is undefined
        // unless 'timeoutMsecs' is a non-negative value.  The default value is
        // 5,000 milliseconds.  Note that not all back-end connections provide
        // support for ping-based keep-alives; this option is ignored by such
        // connections.

    void setKeepAliveEnabled(bool isEnabled);
        // If the specified 'isEnabled' is 'false', then disable all keep-alive
        // mechanisms, both from the client to the server and from the server
        // to the client; otherwise enable keep-alive pings both from the
        // client to the server (as configured by
        // 'setDefaultKeepAliveInactivityTime' and
        // 'setDefaultKeepAliveResponseTimeout' if the connection supports
        // ping-based keep-alives), and from the server to the client as
        // specified by the server configuration.

    // ACCESSORS
    const char *serverHost() const;
        // Return a pointer to the value of the server host option in this
        // SessionOptions instance.  The pointer is valid until this
        // SessionOptions is destroyed setServerHost() is called.

    unsigned short serverPort() const;
        // Return the server port that this session connects to.  If more than
        // one server addresses are specified, return the port of the first
        // server address.

    size_t numServerAddresses() const;
        // Return the number of server addresses.

    int getServerAddress(const char     **serverHost,
                         unsigned short  *serverPort,
                         size_t           index) const;
        // Put the server name and port into 'serverHost' and 'serverPort'
        // indexed by 'index'.  Return 0 if succeeded; otherwise, return
        // non-zero.

    unsigned int connectTimeout() const;
        // Return the value of the connection timeout option in this
        // SessionOptions instance in milliseconds.

    const char *defaultServices() const;
        // Return all default services in one string.

    const char *defaultSubscriptionService() const;
        // Return a pointer to the value of the default subscription
        // service option in this SessionOptions instance.  The pointer is
        // valid until this SessionOptions is destroyed or
        // setDefaultSubscriptionService() is called.

    const char *defaultTopicPrefix() const;
        // Return a pointer to the value of the default topic prefix
        // option in this SessionOptions instance.  The pointer is
        // valid until this SessionOptions is destroyed or
        // setDefaultTopicPrefix() is called.

    bool allowMultipleCorrelatorsPerMsg() const;
        // Return the value of the allow multiple correlators per
        // message option in this SessionOptions instance.

    int clientMode() const;
        // Return the value of the client mode option in this
        // SessionOptions instance.

    int maxPendingRequests() const;
        // Return the value of the maximum pending request option in
        // this SessionOptions instance.

    blpapi_SessionOptions_t *handle() const;
        // Return the handle of the current session

    bool autoRestartOnDisconnection() const;
        // Return whether automatically restarting connection if disconnected.

    const char *authenticationOptions() const;
        // Return authentication options in a string.

    int numStartAttempts() const;
        // Return the maximum number of attempts to start a session
        // by connecting a server.

    size_t maxEventQueueSize() const;
        // Return the value of maximum outstanding undelivered events
        // that the session is configured with.

    float slowConsumerWarningHiWaterMark() const;
        // Return the fraction of maxEventQueueSize at which "slow consumer"
        // event will be generated.

    float slowConsumerWarningLoWaterMark() const;
        // Return the fraction of maxEventQueueSize at which
        // "slow consumer cleared" event will be generated.

    int defaultKeepAliveInactivityTime() const;
        // Return the interval (in milliseconds) a connection has to remain
        // inactive (receive no data) before a keep alive probe will be sent.

    int defaultKeepAliveResponseTimeout() const;
        // Return the time (in milliseconds) the library will wait for response
        // to a keep alive probe before declaring it lost.

    bool keepAliveEnabled() const;
        // Return 'true' if the keep-alive mechanism is enabled; otherwise
        // return 'false'.
};

// ============================================================================
//                      INLINE FUNCTION DEFINITIONS
// ============================================================================

                            // --------------------
                            // class SessionOptions
                            // --------------------
inline
SessionOptions::SessionOptions()
{
    d_handle_p = blpapi_SessionOptions_create();
#if BLPAPI_COMPAT_33X
    blpapi_SessionOptions_setClientMode(
            d_handle_p,
            BLPAPI_CLIENTMODE_AUTO | BLPAPI_CLIENTMODE_COMPAT_33X);
#endif
}

inline
SessionOptions::SessionOptions(const SessionOptions& options)
{
    d_handle_p = blpapi_SessionOptions_duplicate(options.handle());
}

inline
SessionOptions::~SessionOptions()
{
    blpapi_SessionOptions_destroy(d_handle_p);
}

inline
SessionOptions& SessionOptions::operator=(const SessionOptions& rhs)
{
    blpapi_SessionOptions_copy(this->handle(), rhs.handle());
    return *this;
}

inline
void SessionOptions::setServerHost(const char *serverHost)
{
    blpapi_SessionOptions_setServerHost(d_handle_p, serverHost);
}

inline
void SessionOptions::setServerPort(unsigned short serverPort)
{
    blpapi_SessionOptions_setServerPort(d_handle_p, serverPort);
}

inline
int SessionOptions::setServerAddress(const char     *serverHost,
                                     unsigned short  serverPort,
                                     size_t          index)
{
    return blpapi_SessionOptions_setServerAddress(
            d_handle_p, serverHost, serverPort, index);
}

inline
int SessionOptions::removeServerAddress(size_t index)
{
    return blpapi_SessionOptions_removeServerAddress(d_handle_p, index);
}

inline
void SessionOptions::setConnectTimeout(unsigned int timeoutMilliSeconds)
{
    ExceptionUtil::throwOnError(
        blpapi_SessionOptions_setConnectTimeout(
            d_handle_p, timeoutMilliSeconds));
}

inline
void SessionOptions::setDefaultServices(const char *defaultServices)
{
    blpapi_SessionOptions_setDefaultServices(d_handle_p, defaultServices);
}

inline
void SessionOptions::setDefaultSubscriptionService(
                                                 const char *serviceIdentifier)
{
    blpapi_SessionOptions_setDefaultSubscriptionService(
            d_handle_p,
            serviceIdentifier);
}

inline
void SessionOptions::setDefaultTopicPrefix(const char *prefix)
{
    blpapi_SessionOptions_setDefaultTopicPrefix(
            d_handle_p,
            prefix);
}

inline
void SessionOptions::setAllowMultipleCorrelatorsPerMsg(
                                           bool allowMultipleCorrelatorsPerMsg)
{
    blpapi_SessionOptions_setAllowMultipleCorrelatorsPerMsg(
            d_handle_p,
            allowMultipleCorrelatorsPerMsg);
}

inline
void SessionOptions::setClientMode(int clientMode)
{
#if BLPAPI_COMPAT_33X
    clientMode |= BLPAPI_CLIENTMODE_COMPAT_33X;
#endif

    blpapi_SessionOptions_setClientMode(
            d_handle_p,
            clientMode);
}

inline
void SessionOptions::setMaxPendingRequests(int maxPendingRequests)
{
    blpapi_SessionOptions_setMaxPendingRequests(
            d_handle_p,
            maxPendingRequests);
}

inline
void SessionOptions::setAutoRestartOnDisconnection(bool autoRestart)
{
    blpapi_SessionOptions_setAutoRestartOnDisconnection(
            d_handle_p,
            autoRestart? 1: 0);
}

inline
void SessionOptions::setAuthenticationOptions(const char *authOptions)
{
    blpapi_SessionOptions_setAuthenticationOptions(
            d_handle_p, authOptions);
}

inline
void SessionOptions::setNumStartAttempts(int numStartAttempts)
{
    blpapi_SessionOptions_setNumStartAttempts(
            d_handle_p, numStartAttempts);
}

inline
void SessionOptions::setMaxEventQueueSize(size_t eventQueueSize)
{
    BLPAPI_CALL_SESSIONOPTIONS_SETMAXEVENTQUEUESIZE(
            d_handle_p,
            eventQueueSize);
}

inline
void SessionOptions::setSlowConsumerWarningHiWaterMark(float hiWaterMark)
{
    ExceptionUtil::throwOnError(
        BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERHIWATERMARK(
            d_handle_p,
            hiWaterMark));
}

inline
void SessionOptions::setSlowConsumerWarningLoWaterMark(float loWaterMark)
{
    ExceptionUtil::throwOnError(
        BLPAPI_CALL_SESSIONOPTIONS_SETSLOWCONSUMERLOWATERMARK(
            d_handle_p,
            loWaterMark));
}

inline
void SessionOptions::setDefaultKeepAliveInactivityTime(int inactivityTime)
{
    ExceptionUtil::throwOnError(
        BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVEINACTIVITYTIME(
            d_handle_p,
            inactivityTime));
}

inline
void SessionOptions::setDefaultKeepAliveResponseTimeout(int responseTimeout)
{
    ExceptionUtil::throwOnError(
        BLPAPI_CALL_SESSIONOPTIONS_SETDEFAULTKEEPALIVERESPONSETIMEOUT(
            d_handle_p,
            responseTimeout));
}

inline
void SessionOptions::setKeepAliveEnabled(bool isEnabled)
{
    ExceptionUtil::throwOnError(
        BLPAPI_CALL_SESSIONOPTIONS_SETKEEPALIVEENABLED(d_handle_p, isEnabled));
}

inline
const char *SessionOptions::serverHost() const
{
    return blpapi_SessionOptions_serverHost(d_handle_p);
}

inline
unsigned short SessionOptions::serverPort() const
{
    return blpapi_SessionOptions_serverPort(d_handle_p);
}

inline
size_t SessionOptions::numServerAddresses() const
{
    return blpapi_SessionOptions_numServerAddresses(d_handle_p);
}

inline
int SessionOptions::getServerAddress(
                            const char     **serverHost,
                            unsigned short  *serverPort,
                            size_t           index) const
{
    return blpapi_SessionOptions_getServerAddress(
                d_handle_p, serverHost, serverPort, index);
}

inline
unsigned int SessionOptions::connectTimeout() const
{
    return blpapi_SessionOptions_connectTimeout(d_handle_p);
}

inline
const char *SessionOptions::defaultServices() const
{
    return blpapi_SessionOptions_defaultServices(d_handle_p);
}

inline
const char *SessionOptions::defaultSubscriptionService() const
{
    return blpapi_SessionOptions_defaultSubscriptionService(d_handle_p);
}

inline
const char *SessionOptions::defaultTopicPrefix() const
{
    return blpapi_SessionOptions_defaultTopicPrefix(d_handle_p);
}

inline
bool SessionOptions::allowMultipleCorrelatorsPerMsg() const
{
    return blpapi_SessionOptions_allowMultipleCorrelatorsPerMsg(d_handle_p) ?
        true : false;
}

inline
int SessionOptions::clientMode() const
{
    return blpapi_SessionOptions_clientMode(d_handle_p);
}

inline
int SessionOptions::maxPendingRequests() const
{
    return blpapi_SessionOptions_maxPendingRequests(d_handle_p);
}

inline
bool SessionOptions::autoRestartOnDisconnection() const
{
    return blpapi_SessionOptions_autoRestartOnDisconnection(d_handle_p) != 0;
}

inline
const char *SessionOptions::authenticationOptions() const
{
    return blpapi_SessionOptions_authenticationOptions(d_handle_p);
}

inline
int SessionOptions::numStartAttempts() const
{
    return blpapi_SessionOptions_numStartAttempts(d_handle_p);
}

inline
size_t SessionOptions::maxEventQueueSize() const
{
    return BLPAPI_CALL_SESSIONOPTIONS_MAXEVENTQUEUESIZE(d_handle_p);
}

inline
float SessionOptions::slowConsumerWarningHiWaterMark() const
{
    return BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERHIWATERMARK(d_handle_p);
}

inline
float SessionOptions::slowConsumerWarningLoWaterMark() const
{
    return BLPAPI_CALL_SESSIONOPTIONS_SLOWCONSUMERLOWATERMARK(d_handle_p);
}

inline
int SessionOptions::defaultKeepAliveInactivityTime() const
{
    return
        BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVEINACTIVITYTIME(d_handle_p);
}

inline
int SessionOptions::defaultKeepAliveResponseTimeout() const
{
    return
        BLPAPI_CALL_SESSIONOPTIONS_DEFAULTKEEPALIVERESPONSETIMEOUT(d_handle_p);
}

inline
bool SessionOptions::keepAliveEnabled() const
{
    return BLPAPI_CALL_SESSIONOPTIONS_KEEPALIVEENABLED(d_handle_p) != 0;
}

inline
blpapi_SessionOptions_t *SessionOptions::handle() const
{
    return d_handle_p;
}

}  // close namespace blpapi
}  // close namespace BloombergLP

#endif // #ifdef __cplusplus
#endif // #ifndef INCLUDED_BLPAPI_SESSIONOPTIONS
</pre>
</body>
</html>

redpajama_set_name: RedPajamaGithub


Students of Philippine Science High School- SOCCSKSARGEN Campus in Koronadal City shine in the recently held 7th ASEAN Plus Three Junior Science Odyssey held at Universiti Putra Malaysia from July 29 to August 4, 2018.
The team of Rhoane Gale Bermudo, Kristen Pauline Gador, and Jonyle Suriaga which represented the Philippines was declared over-all champion. They bested other teams of student-competitors from different countries who competed with them in three modules of the competition - Great Science Ideas, Great Science Quest, and Great Science Pitch.
The team from Malaysia and South Korea were declared second and third place, respectively.
The ASEAN Plus Three Junior Science Odyssey is an annual science competition participated by Asean countries, and three other non-Asean member countries.


text:
Q: Draw a nice neat arc without the massive right angle and have nice corners instead I've made an arc in Raphael what I was aiming for was just one arc with out the
big right angle in it.
So just one smooth curved line without the right angle.
It's pretty basic and uses the Raphael elliptical arc.
You can see it at http://jsfiddle.net/mailrox/uuAjV/1/
Here's the code:
    var raph = Raphael(0, 0, 1000, 1000);

var x = 150;
var y = 150;
var r = 100; //radius
var value = 100;
var maxValue = 360;

var pi = Math.PI;
var cos = Math.cos;
var sin = Math.sin;
var t = (pi/2) * 3; //translate
var rad = (pi*2 * (maxValue-value)) / maxValue + t;

var p = [
  "M", x, y,
  "l", r * cos(t), r * sin(t),
  "A", r, r, 0, +(rad > pi + t), 1, x + r * cos(rad), y + r * sin(rad),
  "z"
];

var param = {"stroke-width": 30}

var d = raph.path(p).attr(param);

One way I've done is I could mask the right-angle sections of the lines out however I'd rather not have this and just have once nice curve opposed to managing both that current path and a mask over the top.
Really appreciate some help with this thanks!

A: Try this. Just take the close path (the 'z') off your SVG path definition (note I didn't test this solution):
var raph = Raphael(0, 0, 1000, 1000);

var x = 150;
var y = 150;
var r = 100; //radius
var value = 100;
var maxValue = 360;

var pi = Math.PI;
var cos = Math.cos;
var sin = Math.sin;
var t = (pi/2) * 3; //translate
var rad = (pi*2 * (maxValue-value)) / maxValue + t;

var p = [
  "M", x, y,
  "l", r * cos(t), r * sin(t),
  "A", r, r, 0, +(rad > pi + t), 1, x + r * cos(rad), y + r * sin(rad)
];

var param = {"stroke-width": 30}

var d = raph.path(p).attr(param);

jsFiddle

A: You can extend the Raphael object to include an arc function.
The arc calculation has been modfied from Raphael's 'Polar clock' demo: http://raphaeljs.com/polar-clock.html
Demo: http://jsfiddle.net/TmVHq/
Raphael.fn.arc = function(cx, cy, value, total, radius) {
    var alpha = 360 / total * value,
        a = (90 - alpha) * Math.PI / 180,
        x = cx + radius * Math.cos(a),
        y = cy - radius * Math.sin(a),
        path;

    if (total === value) {
        path = [['M', cx, cy - radius], ['A', radius, radius, 0, 1, 1, (cx - 0.01), cy - radius]];
    } else {
        path = [['M', cx, cy - radius], ['A', radius, radius, 0, +(alpha > 180), 1, x, y]];
    }

    return this.path(path);
}

var Paper = new Raphael('canvas', 300, 300);
var arc = Paper.arc(150, 150, 270, 360, 100);
arc.attr('stroke-width', 15);