approach to one which is evidence-based and led by public health agencies.
there are two that I'm going to focus on.
the second one is the legalization and regulation of drugs.
legalization are often used interchangeably but they are actually very different.
generally, refers to ending the criminalization of people who use drugs.
use of small amounts of drugs for personal use.
it can be quite complicated because the devil is in the detail as the saying goes.
how decriminalization is actually implemented.
can have on them in terms of personal possession versus supply or intent to supply.
cocaine will be set at half a gram even though cocaine is usually sold in grams.
their personal use can still get arrested and prosecuted.
self-defeating because most people will still qualify as traffickers or suppliers.
So where you set the threshold is actually critical.
usually jurisdictions will maintain some administrative or civil sanction.
could still be a very disproportionate sanction.
which will determine how these things play out.
but actually it's been very widely adopted around the world.
personal use or they've decriminalized possession of all drugs for personal use.
a particularly controversial position in terms of the international debate.
as has the United Nations Program on Development and so on.
for ending the criminalization for people who use drugs.
famously Portugal decriminalized around 2001.
the impacts are and overall the impacts have been very positive.
dropped very sharply since 2001.
So these are very positive public health outcomes.
seen significant savings across the entire criminal justice system.
positive in terms of public health and in terms of criminal justice.
just changing the law that is crucial to these positive outcomes.
towards a model that prioritizes public health.
also critical to delivering the positive outcomes we've seen in that country.
enabler of a public health response to drugs.
enforcement approach towards a public health approach.
the way that they've adopted decriminalization varies so widely.
is that somehow it would increase drug use.
there's just no evidence that that has happened.
the heart of the prohibitionist paradigm and the whole war on drugs.
the concept of the legalization and regulation of drugs.
legalization and regulation of users and of drug markets.
of misunderstandings and comes with a lot of political and historical baggage.
So it's important to be very clear what we're talking about.
So, legalization is just a process of something illegal becoming legal.
Legalization and regulation of the market is the actual policy focus.
own because that just leaves the door open to all sorts of misunderstandings.
well, it's either illegal or it's legal.
all the way through to very strictly regulated government monopolies.
intervene in a market to reduce the social and health harms that it can cause.
their packaging and their preparation for different types of usage.
and regulated or could have certain training requirements.
where are these drugs or products to be sold from?
What are the hours of opening?
What is the signage legislation?
And, of course, they can regulate the user.
So who has access to this market?
Is it somehow defined by membership of a certain society or club, for example?
And, of course, they can regulate the marketing and promotion.
So, for example, you could ban advertising.
a very strictly regulated market up to and including a government monopoly.
So, it also doesn't mean that everything is permitted.
for example, sales to children, would remain illegal.
with regulating drugs from alcohol and tobacco.
prohibitions all the way through to unregulated free markets.
we have a very clear idea of what best practice for drug regulation would look like.
you can see their guidelines on alcohol regulation and they're very clear.
on availability, on marketing and so on.
heroin, cocaine, ecstasy and all the other drugs.
UN regulatory instruments but they serve entirely different functions.
to prohibit equally risky drugs under a criminal market.


The ultimate in Florida living. Beautiful home with a park like setting seen from your large lanai . Move right in this immaculate home. Shows like a model. New roof in 2018, and newer AC. Perfect for entertaining with Large kitchen( wood cabinets) & nook that opens to family room and large 12'x23' enclosed Lanai. Perfect place for that morning cup of coffee, or favorite beverage, or just relaxing.. Separate LR/DR combo. Large master suite has 2 walk in closets, walk in shower & dual sinks. Guest bedroom has a large walk in closet. There is an Inside laundry and the owner is leaving the golf cart. This is a maintained village so your beautiful yard is taken care of for you.. nothing to do but enjoy. . Premiere 55+ gated community with fabulous full service restaurant and championship golf course. The amenities and activities are numerous: ie. heated pool and jacuzzi, lighted tennis courts, bocce ball, fireside full service restaurant, lounge, fitness center, performing arts, billiards, craft rm and separate wood working shop. All this conveniently located to beaches, fishing, boating, entertainment, shopping and dining. Not far from Tampa or Clearwater via 589. Must see this home,... you will not be disappointed. Florida living at its very best.


text:
#ifndef CDSUNIT_SET_TYPE_SPLIT_LIST_H
#define CDSUNIT_SET_TYPE_SPLIT_LIST_H

#include "set_type.h"

#include <cds/container/michael_list_hp.h>
#include <cds/container/michael_list_dhp.h>
#include <cds/container/michael_list_rcu.h>
#include <cds/container/lazy_list_hp.h>
#include <cds/container/lazy_list_dhp.h>
#include <cds/container/lazy_list_rcu.h>
#include <cds/container/iterable_list_hp.h>
#include <cds/container/iterable_list_dhp.h>

#include <cds/container/split_list_set.h>
#include <cds/container/split_list_set_rcu.h>

#include <cds_test/stat_splitlist_out.h>
#include <cds_test/stat_michael_list_out.h>
#include <cds_test/stat_lazy_list_out.h>
#include <cds_test/stat_iterable_list_out.h>

namespace set {

    template <typename GC, typename T, typename Traits = cc::split_list::traits>
    class SplitListSet : public cc::SplitListSet< GC, T, Traits >
    {
        typedef cc::SplitListSet< GC, T, Traits > base_class;
    public:
        template <typename Config>
        SplitListSet( Config const& cfg )
            : base_class( cfg.s_nSetSize, cfg.s_nLoadFactor )
        {}

        // for testing
        static CDS_CONSTEXPR bool const c_bExtractSupported = true;
        static CDS_CONSTEXPR bool const c_bLoadFactorDepended = true;
        static CDS_CONSTEXPR bool const c_bEraseExactKey = false;
    };

    struct tag_SplitListSet;

    template <typename Key, typename Val>
    struct set_type< tag_SplitListSet, Key, Val >: public set_type_base< Key, Val >
    {
        typedef set_type_base< Key, Val > base_class;
        typedef typename base_class::key_val key_val;
        typedef typename base_class::compare compare;
        typedef typename base_class::less less;
        typedef typename base_class::hash hash;

        // ***************************************************************************
        // SplitListSet based on MichaelList

        struct traits_SplitList_Michael_dyn_cmp :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::michael_list_tag>
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::michael_list::make_traits<
                        co::compare< compare >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_HP_dyn_cmp;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_DHP_dyn_cmp;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_GPI_dyn_cmp;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_GPB_dyn_cmp;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_GPT_dyn_cmp;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_SHB_dyn_cmp;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_dyn_cmp > SplitList_Michael_RCU_SHT_dyn_cmp;
#endif

        struct traits_SplitList_Michael_dyn_cmp_stat :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::michael_list_tag>
                ,co::hash< hash >
                ,co::stat< cc::split_list::stat<> >
                ,cc::split_list::ordered_list_traits<
                    typename cc::michael_list::make_traits<
                        co::compare< compare >
                        ,co::stat< cc::michael_list::stat<>>
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP, key_val, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_HP_dyn_cmp_stat;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_DHP_dyn_cmp_stat;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_GPI_dyn_cmp_stat;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_GPB_dyn_cmp_stat;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_GPT_dyn_cmp_stat;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_SHB_dyn_cmp_stat;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_dyn_cmp_stat > SplitList_Michael_RCU_SHT_dyn_cmp_stat;
#endif

        struct traits_SplitList_Michael_dyn_cmp_seqcst :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::michael_list_tag>
                ,co::hash< hash >
                ,co::memory_model< co::v::sequential_consistent >
                ,cc::split_list::ordered_list_traits<
                    typename cc::michael_list::make_traits<
                        co::compare< compare >
                        ,co::memory_model< co::v::sequential_consistent >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_HP_dyn_cmp_seqcst;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_DHP_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_GPI_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_GPB_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_GPT_dyn_cmp_seqcst;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_SHB_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_dyn_cmp_seqcst > SplitList_Michael_RCU_SHT_dyn_cmp_seqcst;
#endif

        struct traits_SplitList_Michael_st_cmp :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::michael_list_tag>
                ,cc::split_list::dynamic_bucket_table< false >
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::michael_list::make_traits<
                        co::compare< compare >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Michael_st_cmp > SplitList_Michael_HP_st_cmp;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Michael_st_cmp > SplitList_Michael_DHP_st_cmp;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_GPI_st_cmp;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_GPB_st_cmp;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_GPT_st_cmp;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_SHB_st_cmp;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_st_cmp > SplitList_Michael_RCU_SHT_st_cmp;
#endif

        //HP + less
        struct traits_SplitList_Michael_dyn_less :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::michael_list_tag>
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::michael_list::make_traits<
                        co::less< less >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Michael_dyn_less > SplitList_Michael_HP_dyn_less;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Michael_dyn_less > SplitList_Michael_DHP_dyn_less;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_GPI_dyn_less;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_GPB_dyn_less;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_GPT_dyn_less;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_SHB_dyn_less;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_dyn_less > SplitList_Michael_RCU_SHT_dyn_less;
#endif

        struct traits_SplitList_Michael_st_less :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::michael_list_tag>
                ,cc::split_list::dynamic_bucket_table< false >
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::michael_list::make_traits<
                        co::less< less >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Michael_st_less > SplitList_Michael_HP_st_less;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Michael_st_less > SplitList_Michael_DHP_st_less;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_GPI_st_less;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_GPB_st_less;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_GPT_st_less;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_SHB_st_less;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_st_less > SplitList_Michael_RCU_SHT_st_less;
#endif

        struct traits_SplitList_Michael_st_less_stat :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::michael_list_tag>
                ,cc::split_list::dynamic_bucket_table< false >
                ,co::hash< hash >
                ,co::stat< cc::split_list::stat<>>
                ,cc::split_list::ordered_list_traits<
                    typename cc::michael_list::make_traits<
                        co::less< less >
                        ,co::stat< cc::michael_list::stat<>>
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Michael_st_less_stat > SplitList_Michael_HP_st_less_stat;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Michael_st_less_stat > SplitList_Michael_DHP_st_less_stat;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_GPI_st_less_stat;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_GPB_st_less_stat;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_GPT_st_less_stat;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_SHB_st_less_stat;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Michael_st_less_stat > SplitList_Michael_RCU_SHT_st_less_stat;
#endif

        // ***************************************************************************
        // SplitListSet based on LazyList

        struct traits_SplitList_Lazy_dyn_cmp :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::lazy_list_tag>
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::lazy_list::make_traits<
                        co::compare< compare >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_HP_dyn_cmp;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_DHP_dyn_cmp;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_GPI_dyn_cmp;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_GPB_dyn_cmp;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_GPT_dyn_cmp;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_SHB_dyn_cmp;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_SHT_dyn_cmp;
#endif

        struct traits_SplitList_Lazy_dyn_cmp_stat : public traits_SplitList_Lazy_dyn_cmp
        {
            typedef cc::split_list::stat<> stat;
            typedef typename cc::lazy_list::make_traits<
                co::compare< compare >
                , co::stat< cc::lazy_list::stat<>>
            >::type ordered_list_traits;
        };
        typedef SplitListSet< cds::gc::HP, key_val, traits_SplitList_Lazy_dyn_cmp_stat > SplitList_Lazy_HP_dyn_cmp_stat;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Lazy_dyn_cmp_stat > SplitList_Lazy_DHP_dyn_cmp_stat;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Lazy_dyn_cmp_stat > SplitList_Lazy_RCU_GPI_dyn_cmp_stat;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Lazy_dyn_cmp_stat > SplitList_Lazy_RCU_GPB_dyn_cmp_stat;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_dyn_cmp_stat > SplitList_Lazy_RCU_GPT_dyn_cmp_stat;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_SHB_dyn_cmp_stat;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_dyn_cmp > SplitList_Lazy_RCU_SHT_dyn_cmp_stat;
#endif

        struct traits_SplitList_Lazy_dyn_cmp_seqcst :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::lazy_list_tag>
                ,co::hash< hash >
                ,co::memory_model< co::v::sequential_consistent >
                ,cc::split_list::ordered_list_traits<
                    typename cc::lazy_list::make_traits<
                        co::compare< compare >
                        ,co::memory_model< co::v::sequential_consistent >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP, key_val, traits_SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_HP_dyn_cmp_seqcst;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_DHP_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_GPI_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_GPB_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_GPT_dyn_cmp_seqcst;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_SHB_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_dyn_cmp_seqcst > SplitList_Lazy_RCU_SHT_dyn_cmp_seqcst;
#endif

        struct traits_SplitList_Lazy_st_cmp :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::lazy_list_tag>
                ,cc::split_list::dynamic_bucket_table< false >
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::lazy_list::make_traits<
                        co::compare< compare >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP, key_val, traits_SplitList_Lazy_st_cmp > SplitList_Lazy_HP_st_cmp;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Lazy_st_cmp > SplitList_Lazy_DHP_st_cmp;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_GPI_st_cmp;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_GPB_st_cmp;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_GPT_st_cmp;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_SHB_st_cmp;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_st_cmp > SplitList_Lazy_RCU_SHT_st_cmp;
#endif

        struct traits_SplitList_Lazy_dyn_less :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::lazy_list_tag>
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::lazy_list::make_traits<
                        co::less< less >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP, key_val, traits_SplitList_Lazy_dyn_less > SplitList_Lazy_HP_dyn_less;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Lazy_dyn_less > SplitList_Lazy_DHP_dyn_less;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_GPI_dyn_less;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_GPB_dyn_less;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_GPT_dyn_less;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_SHB_dyn_less;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_dyn_less > SplitList_Lazy_RCU_SHT_dyn_less;
#endif

        struct traits_SplitList_Lazy_st_less :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::lazy_list_tag>
                ,cc::split_list::dynamic_bucket_table< false >
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::lazy_list::make_traits<
                        co::less< less >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP, key_val, traits_SplitList_Lazy_st_less > SplitList_Lazy_HP_st_less;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Lazy_st_less > SplitList_Lazy_DHP_st_less;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Lazy_st_less > SplitList_Lazy_RCU_GPI_st_less;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Lazy_st_less > SplitList_Lazy_RCU_GPB_st_less;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_st_less > SplitList_Lazy_RCU_GPT_st_less;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_st_less > SplitList_Lazy_RCU_SHB_st_less;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_st_less > SplitList_Lazy_RCU_SHT_st_less;
#endif

        struct traits_SplitList_Lazy_st_less_stat : public traits_SplitList_Lazy_st_less
        {
            typedef cc::split_list::stat<> stat;
            typedef typename cc::lazy_list::make_traits<
                co::less< less >
                , co::stat< cc::lazy_list::stat<>>
            >::type ordered_list_traits;
        };
        typedef SplitListSet< cds::gc::HP, key_val, traits_SplitList_Lazy_st_less_stat > SplitList_Lazy_HP_st_less_stat;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Lazy_st_less_stat > SplitList_Lazy_DHP_st_less_stat;
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_GPI_st_less_stat;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_GPB_st_less_stat;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_GPT_st_less_stat;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_SHB_st_less_stat;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Lazy_st_less_stat > SplitList_Lazy_RCU_SHT_st_less_stat;
#endif

        // ***************************************************************************
        // SplitListSet based on IterableList

        struct traits_SplitList_Iterable_dyn_cmp :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::iterable_list_tag>
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::iterable_list::make_traits<
                        co::compare< compare >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Iterable_dyn_cmp > SplitList_Iterable_HP_dyn_cmp;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Iterable_dyn_cmp > SplitList_Iterable_DHP_dyn_cmp;
#if 0
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Iterable_dyn_cmp > SplitList_Iterable_RCU_GPI_dyn_cmp;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Iterable_dyn_cmp > SplitList_Iterable_RCU_GPB_dyn_cmp;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Iterable_dyn_cmp > SplitList_Iterable_RCU_GPT_dyn_cmp;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Iterable_dyn_cmp > SplitList_Iterable_RCU_SHB_dyn_cmp;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Iterable_dyn_cmp > SplitList_Iterable_RCU_SHT_dyn_cmp;
#endif
#endif

        struct traits_SplitList_Iterable_dyn_cmp_stat:
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::iterable_list_tag>
                ,co::hash< hash >
                ,co::stat< cc::split_list::stat<> >
                ,cc::split_list::ordered_list_traits<
                    typename cc::iterable_list::make_traits<
                        co::compare< compare >
                        ,co::stat< cc::iterable_list::stat<>>
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP, key_val, traits_SplitList_Iterable_dyn_cmp_stat > SplitList_Iterable_HP_dyn_cmp_stat;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Iterable_dyn_cmp_stat > SplitList_Iterable_DHP_dyn_cmp_stat;
#if 0
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Iterable_dyn_cmp_stat > SplitList_Iterable_RCU_GPI_dyn_cmp_stat;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Iterable_dyn_cmp_stat > SplitList_Iterable_RCU_GPB_dyn_cmp_stat;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Iterable_dyn_cmp_stat > SplitList_Iterable_RCU_GPT_dyn_cmp_stat;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Iterable_dyn_cmp_stat > SplitList_Iterable_RCU_SHB_dyn_cmp_stat;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Iterable_dyn_cmp_stat > SplitList_Iterable_RCU_SHT_dyn_cmp_stat;
#endif
#endif

        struct traits_SplitList_Iterable_dyn_cmp_seqcst :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::iterable_list_tag>
                ,co::hash< hash >
                ,co::memory_model< co::v::sequential_consistent >
                ,cc::split_list::ordered_list_traits<
                    typename cc::iterable_list::make_traits<
                        co::compare< compare >
                        ,co::memory_model< co::v::sequential_consistent >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Iterable_dyn_cmp_seqcst > SplitList_Iterable_HP_dyn_cmp_seqcst;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Iterable_dyn_cmp_seqcst > SplitList_Iterable_DHP_dyn_cmp_seqcst;
#if 0
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Iterable_dyn_cmp_seqcst > SplitList_Iterable_RCU_GPI_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Iterable_dyn_cmp_seqcst > SplitList_Iterable_RCU_GPB_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Iterable_dyn_cmp_seqcst > SplitList_Iterable_RCU_GPT_dyn_cmp_seqcst;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Iterable_dyn_cmp_seqcst > SplitList_Iterable_RCU_SHB_dyn_cmp_seqcst;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Iterable_dyn_cmp_seqcst > SplitList_Iterable_RCU_SHT_dyn_cmp_seqcst;
#endif
#endif

        struct traits_SplitList_Iterable_st_cmp :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::iterable_list_tag>
                ,cc::split_list::dynamic_bucket_table< false >
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::iterable_list::make_traits<
                        co::compare< compare >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Iterable_st_cmp > SplitList_Iterable_HP_st_cmp;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Iterable_st_cmp > SplitList_Iterable_DHP_st_cmp;
#if 0
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Iterable_st_cmp > SplitList_Iterable_RCU_GPI_st_cmp;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Iterable_st_cmp > SplitList_Iterable_RCU_GPB_st_cmp;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Iterable_st_cmp > SplitList_Iterable_RCU_GPT_st_cmp;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Iterable_st_cmp > SplitList_Iterable_RCU_SHB_st_cmp;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Iterable_st_cmp > SplitList_Iterable_RCU_SHT_st_cmp;
#endif
#endif

        //HP + less
        struct traits_SplitList_Iterable_dyn_less :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::iterable_list_tag>
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::iterable_list::make_traits<
                        co::less< less >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Iterable_dyn_less > SplitList_Iterable_HP_dyn_less;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Iterable_dyn_less > SplitList_Iterable_DHP_dyn_less;
#if 0
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Iterable_dyn_less > SplitList_Iterable_RCU_GPI_dyn_less;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Iterable_dyn_less > SplitList_Iterable_RCU_GPB_dyn_less;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Iterable_dyn_less > SplitList_Iterable_RCU_GPT_dyn_less;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Iterable_dyn_less > SplitList_Iterable_RCU_SHB_dyn_less;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Iterable_dyn_less > SplitList_Iterable_RCU_SHT_dyn_less;
#endif
#endif

        struct traits_SplitList_Iterable_st_less :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::iterable_list_tag>
                ,cc::split_list::dynamic_bucket_table< false >
                ,co::hash< hash >
                ,cc::split_list::ordered_list_traits<
                    typename cc::iterable_list::make_traits<
                        co::less< less >
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Iterable_st_less > SplitList_Iterable_HP_st_less;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Iterable_st_less > SplitList_Iterable_DHP_st_less;
#if 0
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Iterable_st_less > SplitList_Iterable_RCU_GPI_st_less;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Iterable_st_less > SplitList_Iterable_RCU_GPB_st_less;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Iterable_st_less > SplitList_Iterable_RCU_GPT_st_less;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Iterable_st_less > SplitList_Iterable_RCU_SHB_st_less;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Iterable_st_less > SplitList_Iterable_RCU_SHT_st_less;
#endif
#endif

        struct traits_SplitList_Iterable_st_less_stat :
            public cc::split_list::make_traits<
                cc::split_list::ordered_list<cc::iterable_list_tag>
                ,cc::split_list::dynamic_bucket_table< false >
                ,co::hash< hash >
                ,co::stat< cc::split_list::stat<>>
                ,cc::split_list::ordered_list_traits<
                    typename cc::iterable_list::make_traits<
                        co::less< less >
                        ,co::stat< cc::iterable_list::stat<>>
                    >::type
                >
            >::type
        {};
        typedef SplitListSet< cds::gc::HP,  key_val, traits_SplitList_Iterable_st_less_stat > SplitList_Iterable_HP_st_less_stat;
        typedef SplitListSet< cds::gc::DHP, key_val, traits_SplitList_Iterable_st_less_stat > SplitList_Iterable_DHP_st_less_stat;
#if 0
        typedef SplitListSet< rcu_gpi, key_val, traits_SplitList_Iterable_st_less_stat > SplitList_Iterable_RCU_GPI_st_less_stat;
        typedef SplitListSet< rcu_gpb, key_val, traits_SplitList_Iterable_st_less_stat > SplitList_Iterable_RCU_GPB_st_less_stat;
        typedef SplitListSet< rcu_gpt, key_val, traits_SplitList_Iterable_st_less_stat > SplitList_Iterable_RCU_GPT_st_less_stat;
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
        typedef SplitListSet< rcu_shb, key_val, traits_SplitList_Iterable_st_less_stat > SplitList_Iterable_RCU_SHB_st_less_stat;
        typedef SplitListSet< rcu_sht, key_val, traits_SplitList_Iterable_st_less_stat > SplitList_Iterable_RCU_SHT_st_less_stat;
#endif
#endif

    };

    template <typename GC, typename T, typename Traits>
    static inline void print_stat( cds_test::property_stream& o, SplitListSet<GC, T, Traits> const& s )
    {
        o << s.statistics()
          << cds_test::stat_prefix( "list_stat" )
          << s.list_statistics()
          << cds_test::stat_prefix( "" );
    }

} // namespace set

#define CDSSTRESS_SplitListSet_case( fixture, test_case, splitlist_set_type, key_type, value_type, level ) \
    TEST_P( fixture, splitlist_set_type ) \
    { \
        if ( !check_detail_level( level )) return; \
        typedef set::set_type< tag_SplitListSet, key_type, value_type >::splitlist_set_type set_type; \
        test_case<set_type>(); \
    }

#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
#   define CDSSTRESS_SplitListSet_SHRCU( fixture, test_case, key_type, value_type ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp,         key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp,         key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp_stat,    key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp_stat,    key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp_seqcst,  key_type, value_type, 2 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp_seqcst,  key_type, value_type, 2 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_cmp,          key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_cmp,          key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_less,        key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_less,        key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_less,         key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_less,         key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_less_stat,    key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_less_stat,    key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_cmp,            key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_cmp,            key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_cmp_stat,       key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_cmp_stat,       key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_cmp,             key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_cmp,             key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_less,           key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_less,           key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_less,            key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_less,            key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_less_stat,       key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_less_stat,       key_type, value_type, 0 ) \

#   define CDSSTRESS_SplitListIterableSet_SHRCU( fixture, test_case, key_type, value_type )
/*
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_cmp, key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_cmp, key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_cmp_stat, key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_cmp_stat, key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_cmp_seqcst, key_type, value_type, 2 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_cmp_seqcst, key_type, value_type, 2 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_st_cmp, key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_st_cmp, key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_less, key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_less, key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_st_less, key_type, value_type, 1 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_st_less, key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_st_less_stat, key_type, value_type, 0 ) \
        CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_st_less_stat, key_type, value_type, 1 ) \
*/
#else
#   define CDSSTRESS_SplitListSet_SHRCU( fixture, test_case, key_type, value_type )
#   define CDSSTRESS_SplitListIterableSet_SHRCU( fixture, test_case, key_type, value_type )
#endif

#define CDSSTRESS_SplitListSet( fixture, test_case, key_type, value_type ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp,              key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp,             key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp,         key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp,         key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp,         key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp_stat,         key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp_stat,        key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp_stat,    key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp_stat,    key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp_stat,    key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp_seqcst,       key_type, value_type, 2 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp_seqcst,      key_type, value_type, 2 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp_seqcst,  key_type, value_type, 2 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp_seqcst,  key_type, value_type, 2 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp_seqcst,  key_type, value_type, 2 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_st_cmp,               key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_st_cmp,              key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_cmp,          key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_cmp,          key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_cmp,          key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_less,             key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_less,            key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_less,        key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_less,        key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_less,        key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_st_less,              key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_st_less,             key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_less,         key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_less,         key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_less,         key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_st_less_stat,         key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_st_less_stat,        key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_less_stat,    key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_less_stat,    key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_less_stat,    key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp,                 key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp,                key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp,            key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp,            key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp,            key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp_stat,            key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp_stat,           key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp_stat,       key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp_stat,       key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp_stat,       key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_st_cmp,                  key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_st_cmp,                 key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_cmp,             key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_cmp,             key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_cmp,             key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_dyn_less,                key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_dyn_less,               key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_less,           key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_less,           key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_less,           key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_st_less,                 key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_st_less,                key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_less,            key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_less,            key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_less,            key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_st_less_stat,            key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_st_less_stat,           key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_less_stat,       key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_less_stat,       key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_less_stat,       key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_SHRCU( fixture, test_case, key_type, value_type )

#define CDSSTRESS_SplitListIterableSet( fixture, test_case, key_type, value_type ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp,              key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp,             key_type, value_type, 1 ) \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_cmp,         key_type, value_type, 0 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_cmp,         key_type, value_type, 1 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_cmp,         key_type, value_type, 0 )*/ \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp_stat,         key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp_stat,        key_type, value_type, 0 ) \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_cmp_stat,    key_type, value_type, 1 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_cmp_stat,    key_type, value_type, 0 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_cmp_stat,    key_type, value_type, 1 )*/ \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp_seqcst,       key_type, value_type, 2 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp_seqcst,      key_type, value_type, 2 ) \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_cmp_seqcst,  key_type, value_type, 2 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_cmp_seqcst,  key_type, value_type, 2 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_cmp_seqcst,  key_type, value_type, 2 )*/ \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_st_cmp,               key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_st_cmp,              key_type, value_type, 0 ) \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_st_cmp,          key_type, value_type, 1 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_st_cmp,          key_type, value_type, 0 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_st_cmp,          key_type, value_type, 1 )*/ \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_less,             key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_less,            key_type, value_type, 1 ) \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_less,        key_type, value_type, 0 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_less,        key_type, value_type, 1 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_less,        key_type, value_type, 0 )*/ \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_st_less,              key_type, value_type, 1 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_st_less,             key_type, value_type, 0 ) \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_st_less,         key_type, value_type, 1 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_st_less,         key_type, value_type, 0 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_st_less,         key_type, value_type, 1 )*/ \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_st_less_stat,         key_type, value_type, 0 ) \
    CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_st_less_stat,        key_type, value_type, 1 ) \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_st_less_stat,    key_type, value_type, 0 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_st_less_stat,    key_type, value_type, 1 )*/ \
    /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_st_less_stat,    key_type, value_type, 0 )*/ \
    CDSSTRESS_SplitListIterableSet_SHRCU( fixture, test_case, key_type, value_type )

#endif // #ifndef CDSUNIT_SET_TYPE_SPLIT_LIST_H

redpajama_set_name: RedPajamaGithub


text:
Amid rancor, PHA construction training program is back
by Jennifer Lin, Inquirer Staff Writer, Posted: January 6, 2014
LaToya Little, a maintance mechanic apprentice, works on a sink in a PHA property. (RON TARVER/Staff Photographer)
PHILADELPHIA Tempers flared this time last year between the Philadelphia Housing Authority and unions in the building trades.
A look at what happened to 24-year-old Abdul Mujahid helps explain why.
Mujahid signed up for the PHA training program to prepare himself for a job in construction. He spent weeks learning the basics of electrical work, plumbing, and carpentry.
After graduating in 2010, he passed union tests to become an apprentice and put his name on waiting lists.
"I knew it wasn't going to be overnight, that I had to be persistent," he said.
Years passed. Nothing happened. Mujahid gave up and went to work for a Peco subcontractor, shutting off meters of delinquent customers.
Last January, PHA decided to scrap the training program for residents and start anew, angering powerful unions in the building trades.
The housing authority was spending more than $2 million a year on the pre-apprenticeship program, employing union instructors at a state-of-the-art facility in South Philadelphia.
But for the amount it was spending, PHA was not seeing results, said its president, Kelvin Jeremiah.
Of the 832 graduates since 1999, only about 400 passed union exams, and only 232 earned union membership. Fewer still were working for union contractors, he said.
The program's object, Jeremiah said, "was to give the construction industry, which has not always been welcoming of minorities, the opportunity to employ low-income individuals in the city."
"That didn't happen," he said.
After shutting down the program, PHA restarted it over the summer with new union partners and focus. The first class of 14 PHA residents graduated last month. All were hired directly by PHA.
One of them was Mujahid. He went through training a second time and now works as an apprentice at PHA, earning $12 an hour as a maintenance mechanic.
"I knew at some point a job would come through, and PHA provided it," Mujahid said. "I'm going to run with it from here."
The overhaul of pre-apprenticeship training remains a sore point with the building trades. Union officials resent being cut out of a program they helped create.
"We had a wonderful program, one of the best," said Patrick Gillespie, president of the Philadelphia Building and Construction Trades Council. "That's where we got most of the women into the construction industry. They came from that PHA program."
John J. Dougherty, business manager of Local 98 of the International Brotherhood of Electrical Workers, described the old program as the "most effective" in the city.
"I have kids from PHA who have careers with Local 98 and who have not missed an hour of work since being here," he said.
Dougherty said the union had not taken on apprentices for three years because of the weak economy. "We had no work," he said.
Jeremiah said he wants the program to provide workers for PHA as well as for its contractors.
"The commitment I made a year ago was to have the pre-apprenticeship program serve as a pipeline for employment at PHA," Jeremiah said. "PHA itself was not employing its graduates."
The housing authority says it expects to provide training for up to 80 people a year.
Though it will not be possible to guarantee PHA employment for every graduate, he said the program should be used to build a pool of potential employees for PHA contractors. Federal regulations require public-housing contractors to employ a certain percentage of public-housing residents.
With the revamped program, PHA has asked only three unions - representing maintenance mechanics, laborers, and painters - to help train residents.
Samuel Staten Jr., business manager of Laborers Local 332, said under the previous program, there was no direct access to PHA jobs. "Any sane person has to know the break they got here," Staten said.
The first eight weeks of training include remedial work in math and literacy skills. Participants then receive six to 20 weeks of training, depending on what specialty they select - from painting to basic repairs or general maintenance.
Latoya Little, 30, graduated in December and now works for PHA as a maintenance mechanic. The mother of six is assigned to the authority's Spring Garden Apartments.
On the job at 8 a.m., she spent part of Thursday morning changing a leaky kitchen drain. After stints working in fast-food restaurants, she calls this her "first real job."
"PHA was willing to give me a career," Little said. "That's what I want."
jlin@phillynews.com
215-854-5659 @j_linq
www.inquirer.com/doubledown
Posted: January 6, 2014 - 3:01 AM
Jennifer Lin, Inquirer Staff Writer

redpajama_set_name: RedPajamaCommonCrawl


Items where Author is "ARIKARTIKA, DWI"
ARIKARTIKA, DWI (2013) PENGARUH PEMBELAJARAN PROBLEM POSING TIPE PRE SOLUTION POSING TERHADAP KEMAMPUAN PEMECAHAN MASALAH MATEMATIKA SISWA KELAS X SMK NEGERI 1 PURWOKERTO. Bachelor thesis, UNIVERSITAS MUHAMMADIYAH PURWOKERTO.
This list was generated on Wed Apr 24 01:14:45 2019 WIB.


text:
Home/Featured/President Obama Mentions The Stonewall Riots and LGBT Equality During Inauguration Speech – Video
FeaturedGay News Domestic & U.S. Politics
President Obama Mentions The Stonewall Riots and LGBT Equality During Inauguration Speech – Video
Will Kohler January 21, 2013
President Obama has become the first President in the History of the United States to mention the Lesbian and Gay Community and equality for the community and all United States citizens in his Inaugural speech:
"We, the people, declare today that the most evident of truths – that all of us are created equal – is the star that guides us still; just as it guided our forebears through Seneca Falls, and Selma, and Stonewall; just as it guided all those men and women, sung and unsung, who left footprints along this great Mall, to hear a preacher say that we cannot walk alone; to hear a King proclaim that our individual freedom is inextricably bound to the freedom of every soul on Earth.
It is now our generation's task to carry on what those pioneers began. For our journey is not complete until our wives, our mothers, and daughters can earn a living equal to their efforts. Our journey is not complete until our gay brothers and sisters are treated like anyone else under the law – for if we are truly created equal, then surely the love we commit to one another must be equal as well."
During his first four years President Obama's "fierce advocacy" has been questioned by more than a few in the LGBT community due to the lack of movement on big issue items like the Employment Non-Discrimination Act, The Defense of Marriage Act and having to be forcefully pushed to speed up Don't Ask, Don't Tell.
While the mention in President Obama's speech is a great shout out to the GLBT Community the question still remains.
Will President in action, not words help lead the journey to FULL LGBT EQUALITY in his second term?
Of course all the professional LGBT Oragnizations are gushing and fawning over the President about the mention. But lets see if they'll hold him to his words and push him into action.
In his second Inaugural today, President Obama traced the moral arc from Seneca Falls to Selma to Stonewall, and rightly exalted the struggle for the freedom to marry as part of America's moral commitment to equality, liberty, and the pursuit of happiness. Freedom to Marry applauds our president and the moral leadership he has shown, the moral leadership we will continue to need until all Americans, all loving couples, all families, can share fully in the American promise we celebrate on Inauguration Day.
Outserve-SLDN
Today, President Obama made history with a clear and passionate declaration of the fundamental rights of LGBT Americans, and all Americans. We honor the work of his first term – especially his leadership in the repeal of "Don't Ask, Don't Tell" – and expect great progress over the next four years on the very real inequalities that exist for our LGBT service members, veterans, and their families as we work together to bend the moral arc of the universe toward justice.
National Gay & LesbianTask Force
We couldn't agree more. It's now time for the president — and for all of us — to finish the job of ensuring that every American gets a fair shake. President Obama has repeatedly shown he is willing to fight for us. We have another four years to keep the momentum going, and will be vigilant in pursuing policies to ensure our community is not left behind. This includes pushing for federal LGBT employment protections, ending the so-called Defense of Marriage Act, combating HIV/ADS, preserving a social safety net, and much more. America deserves nothing less than a president who will treat all families fairly. We congratulate President Obama and his administration and look forward to working with them in this second term to build a stronger future for LGBT people and opportunity for all.
Blah Blah Blah Equality inauguration Stonewall words
Will Kohler
Will Kohler is one of America's best known LGBT historians, He is also a a accredited journalist and the owner of Back2Stonewall.com. A longtime gay activist Will fought on the front lines of the AIDS epidemic with ACT-UP and continues fighting today for LGBT acceptance and full equality. Will's work has been referenced on such notable media venues as BBC News, CNN, MSNBC, The Washington Post, The Daily Wall Street Journal, Hollywood Reporter, and Raw Story. Back2Stonewall has been recently added to the Library of Congress' LGBTQ+ Studies Web Archive. Mr. Kohler is available for comment, interviews and lectures on LGBT History. Contact: Will@Back2Stonewall.com
16-Year-Old Stabbed By Religious Extremist At Jerusalem Pride Dies – נוחי על משכבך בשלום
Virginia Quickly Becomes Key Battleground State In Marriage Equality Fight
FRC's Tony Perkins and Ted Cruz Have Super Secret GROUP Hate Orgy Together!
AMTRAK Rides With PRIDE! – Introduces All-Inclusive LGBT Promotional and Advertising Campaign
FRC's Tony "I never met a Klansman I didn't like" Perkins Has The LGBT Executive Order Blues


text:
Storyboarding For Success: Plotters vs. Pantsers
Where writers are concerned, there are plotters and there are pantsers. Pantsers fly by the seat of their pants when they write a story. They start off with no more than a kernel of an idea or a first sentence or a character, and away they go. They have no idea where they are going, but somehow the story takes over, and they make it—I would say, miraculously—to the end with a complete book. Writing a book this way gives plotters hives. I'm a plotter and thinking about writing a book pantser-style puts me into a panic and gives me an irresistible craving for a pitcher of margaritas or a package of Oreos.
Where writers are concerned, there are plotters and there are pantsers. Pantsers fly by the seat of their pants when they write a story. They start off with no more than a kernel of an idea or a first sentence or a character, and away they go. They have no idea where they are going, but somehow the story takes over, and they make it—I would say, miraculously—to the end with a complete book.
Writing a book this way gives plotters hives. I'm a plotter and thinking about writing a book pantser-style puts me into a panic and gives me an irresistible craving for a pitcher of margaritas or a package of Oreos.
(When you're ready to submit, check out WD's growing list of romance agents.)
Guest column by Elise Sax, author of the debut mass market
paperback, AN AFFAIR TO DISMEMBER (Ballantine, Jan. 2013).
Booklist said, "Fans of laugh-out-loud romantic suspense will
enjoy this new author as she joins the ranks of Janet Evanovich,
Katie MacAllister, and Jennifer Crusie." Besides that, Elise is an
overwhelmed single mother of two boys in Southern California,
an avid traveler, a beginner dancer, an occasional piano player,
and an online shopping junkie. Find her on Twitter.
Plotters plot out their story to varying degrees before starting a book. Some plotters begin with a general outline. Some diagram the scene they are going to work on that day, and some plot out every scene in the book before they write the first word in chapter one. Other plotters have long book bibles with backgrounds on every character, details of the town their story is set in, etc. And some plotters use a storyboard.
My plotting process includes a general outline with some important scenes diagramed. Then, I storyboard.
(Chapter 1 cliches and overused beginnings -- see them all here.)
THE MAGIC OF A STORYBOARD
The magic of a storyboard is turning a book idea into a visual tool, which makes the story's structure much easier to grasp and handle. A storyboard can be drawn on a board, a piece of paper, or in a computer file. Mark it with vertical and horizontal lines until you get a checkerboard pattern. Each resulting square represents one chapter of your book. If you plan on writing 20 chapters, for example, you will want 20 squares.
Mark each square with its chapter number, and you are already on your way to visualizing your story in book form. Now, you can see where your turning points should be, your "black moment," and your resolution, for example.
FILL IN AS YOU GO
Perhaps you don't know the entire plot, but you know your character will suffer a life-changing event in chapter five (a quarter of the way into the book) and will be reunited with her true love in chapter nineteen. The rest can be filled in as you brainstorm or as you write.
Storyboarding also allows you to see how scenes will play out. If you are using a large board, you can write each scene with a short description on a Post-It and stick it onto each square. You can have several Post-Its on each square, as many scenes as you want in that chapter. Additionally, if you want to be very detailed, you can color code the scenes: a different color for each character or action, mystery, romance, etc.
(What does a literary agent want to see when they Google you?)
Storyboarding can greatly increase the ease and speed of writing a book. A journey can be a lot smoother if you know where you're going.
Be forewarned though: Even the most ardent of plotters can be surprised by the direction their story takes, and characters sometimes have a mind of their own and do what they want, despite the author's best laid plans.
If you're interested in a variety of my resources on your
journey to securing an agent, don't forget to check
out my personal Instructor of the Month Kit, created by
Writer's Digest Books. It's got books & webinars packaged
together at a 73% discount. Available while supplies last.
Other writing/publishing articles & links for you:
New Literary Agent Seeking Clients: Gemma Cooper of The Bent Agency.
Interview With Agent Helen Zimmerman, Who Seeks Fiction and Nonfiction.
How to Publicize and Promote Your Book: 7 Tips.
Sell More Books by Building Your Writer Platform.
Exactly What Your Pitch Should NOT Look Like.
Follow Chuck Sambuchino on Twitter or find him on Facebook. Learn all about his writing guides on how to get published, how to find a literary agent, and how to write a query letter.
Want to build your visibility and sell more books?
Create Your Writer Platform shows you how to
promote yourself and your books through social
media, public speaking, article writing, branding,
and more. Order the book from WD at a discount.


text:
Peter Andre's £2.25m former home is on the market
The seven bedroom luxury family home is stunning
Jess Morcom
The living room of the luxury family home
A luxurious seven bedroom house that was once home to Peter Andre before he rented it out is now up for sale.
Peter first moved into the Brighton property after his stint in I'm a Celebrity...Get me Out Of Here!, to be closer to his then girlfriend Katie Price.
He now resides with new wife Emily in Surrey, where he relocated in 2017, and his previous home in Brighton is on sale with agents Hampton International for £2,250,000.
Peter Andre sticks knife into Katie Price after her Twitter outburst at his wife Emily
The detached property has a contemporary charm, and boasts plenty of designer touches throughout, including floor to ceiling windows that provide pretty coastal views of the city.
The property boasts beautiful views across the coast
There is a 32ft L-shaped sitting room with a glass Cheminees Philippe fireplace, including a separate Cognac room featuring a wet bar fitted with gloss cabinets, glass storage, a sink, and sliding glass doors leading to the garden.
There is a second family area in the property
Along the hallway you will find a 30ft long kitchen and dining room with modern glass cabinets, granite worktops, a central island, a number of integrated appliances including a fridge freezer, coffee maker and oven, and technical additions such as an alarm system and CCTV.
A family area is separated at the end of the kitchen, and there is access to a utility room, WC and sauna.
The kitchen and dining room are 30ft long
Upstairs there's a master bedroom suite complete with air conditioning, built-in cupboards and a walk in-wardrobe.
The bathroom consists of a freestanding bath tub and en-suite shower room.
Family feel 'cheated' after daughter, 20, died of sepsis when hospital sent her home
On the first floor there are five other bedrooms, each fitted with built in wardrobes, and most have en-suites.
The seventh bedroom is currently used as a study room with built in- cupboards, although could be transformed into a bedroom if you wish.
One of the en-suite bedrooms
There is even a stand-alone bath tub
Arguably, the best part of the property is the garden. Well maintained, there are bordering shrubs and flowerbeds with an extensive decked area which features a swim-up plunge pool and jacuzzi - both of which are heated.
There is also plenty of room for outdoor seating and dining, creating the perfect space for entertaining.
Paperchase confirmed for Plymouth's new space-age Next development
The front of the house includes space for multiple cars and leads to a welcoming from entrance and double garage. A sense of seclusion is felt with surrounding trees and hedges.
The spacious garden is one of the best features of the property
The bar area
Another of the bedrooms in Peter Andre's old pad
The outside of the home, situated in the Withdean area of Brighton
You can view more about the property, on Hampton's International website, here.
To keep up to date with Plymouth Live's latest news, follow us on Facebook here and Twitter here, or visit our homepage at www.plymouthlive.com
For Devon news, find Devon Live's Facebook page here, or their Twitter page here, or visit their homepage at www.devonlive.com
For Cornwall news, find Cornwall Live's Facebook page here, or their Twitter page here, or visit their homepage at www.cornwalllive.com


text:
Thomas Ward speaks to the Kingston graduate who made £800,000 in two years dealing drugs for cash
By Thomas Ward
Mandy and me
Written by River Reporter on December 8 2011
When the doorbell rang at 3am in Pablo's home in Kingston, he started having second thoughts about his future in the drugs trade.
It was the same long-haired, drug-addled student who had picked up a load of ketamine from his housemate George 40 minutes earlier. Pablo had heard him Hoover up a bump before he left the house and he had been back twice since, wide-eyed and jumpy, to ask for directions back to the party he'd just left.
Shaking his head, Pablo repeated the directions yet again and closed the door. Walking through the lounge, he passed a couple of dozing stoners crashing on the couches, up the stairs and past the bedrooms of his partners in crime. There was George, who sold ketamine and some MDMA, and Howard*, who sold cocaine. Walking into his room, he removed the fake bottom from his fireplace and began to count the day's takings.
The money was good, but the shine was starting to come off the house of fun. It was very different when they had first started dabbling in the trade.
"We lived together from July 2007 to July 2009, and during that time a lot of drugs, and people, went through the house," Pablo recalls.
"I had a friend on a couch in my room for about four months. It was great fun, and it was very messy, there were a lot of great parties. There's definitely a lot of blurry moments in my mind from back then."
Making a profit
Looking at Pablo now, it would be hard to pin him as a drug dealer – let alone one who made around £1m in drugs during the five years he was dealing, an estimated £800,000 profit-making in Kingston alone. But, as he puts it, "just because you're doing something illegal, it doesn't mean you can't be nice about it," he says, recalling a "surreal" costume party for his birthday. "We had partygoers sliding down the stairs front ways, almost braining themselves on the radiator. Anyone who made it got a free line of ketamine we'd laid out.
"I could go downstairs for a cup of tea at nine in the morning most days and quite probably find a group of people in fancy dress or wearing stupid hats asleep in the lounge, with two or three people still at it."
Pablo's connection was a former schoolmate who sold him weed, and went on to become a civil servant. He was also making thousands of pounds selling kilos of marijuana, MDMA and cocaine to trusted dealers like Pablo. When he was first contacted, Pablo saw it as nothing more than an opportunity to hook up with some friends, make some spare cash and have a few cheap nights out on the town. It soon spiralled out of control and Pablo was even able to get drugs on consignment.
"I would pick up every week in the summer that I could. People would buy loads more in the summer. I would normally get half a kilo of weed, for which you'd pay anywhere between £1,800 and £2,100, so it was a big investment. A bar of MDMA (9 ounces) would cost me around £2,250. Sold at £40 a gramme, you could make a profit of around £4,500 on the Mandy alone."
As business and profit increased, so did the danger of exposure. Pablo's phone was now ringing off the hook daily. He had to change his "business" phone regularly and his personal phone was also starting to get "ping-ed" despite his best efforts.
"Friends had told friends. Sometimes I would get paranoid around then. I'd smoke a joint, go to bed, and snap awake thinking that I'm lying with my head next to a minimum three-year jail sentence."
The realities became even starker when Pablo's civil servant asked him if he would take part in a high-paying drug run from Southampton to Central London. Pablo declined after his immediate family's home addresses were demanded as collateral in case the drugs went missing.
The most terrifying moment came when Pablo was woken up in the early hours of the morning by his housemate, Alan, who told him that a large group of police were quietly gathering outside.
Pablo recalled his heart sinking as he saw the cars amassed on their road. Soon everyone in the house was hiding every incriminating thing they could, a tall order, given that it was the middle of the festival season.
"We put Dave in the bathroom, standing over the toilet with about 3,000 pills, an ounce of coke, liquid ketamine, God knows how much MDMA and a giant bag of weed," Pablo recalls. "I remember looking at it all and thinking that when they came in we would never be able to get it all down the toilet in time."
Trapped between a prison sentence and expensive debt to dangerous people, he and his housemates waited with baited breath as the police finally made their move – to a house three doors down.
"I just remember thinking 'thank God'," said Pablo. "Me, George and Howard had agreed that we'd each take the rap for whatever we sold the most of. There was so much in the bathroom that we'd each have gone to prison for years."
Loosing connections
Shortly after the heart-stopping run-in with the police, Pablo decided to gather up what money he had saved and go travelling. Since his return, he's left the game alone – and would advise others to do the same.
"I had a lot of fun at times over those years, but after a while you kind of find yourself yearning for a normal life. You start to lose connection with some of your friends when the lines begin to blur between friend and dealer.
"There are probably quite a few broke students out there at the moment with the connections to start dealing who might be considering making some quick cash. My advice is, don't do it. The potential costs far outweigh the potential benefits, and there are a lot of things out there much more important than quick cash."
Read what one River journalist thought of the rise of Ketamine in Kingston
cocaine drugs ketamine kingston university 2011-12-08
Kingston men's hockey team show massive improvement against BUCS league leader
Kingston University students protest at London NUS demonstration
Kingston University lecturers sign open letter to governors criticising proposals for structural change
Why we should all support UK airstrikes in Syria


text:
2019 Fall NTS Schedule
Mt. SAC splits non-conference double header
Santiago Canyon (16-8) 0 0 0 0 2 2 6 1
Mt. SAC (19-2) 5 0 3 1 1 10 13 0
Photo Courtesy of DavesSportsImage
2B: Nicole Garcia; Gillian Dykier
3B: none
HR: none
2B: Jessika Trujillo; Charleen Macias
(San Marcos, CA) Mt. SAC (19-3, 12-0) took a break from South Coast Conference play with a pair of non-conference games at Palomar College on Saturday. In the first game, the Mounties extended their win streak to six by rolling to a 10-2 victory in five innings over Santiago Canyon (16-8). Palomar (19-5) dealt Mt. SAC a 1-0 setback in the second game.
Mt. SAC 10 Santiago Canyon 2
The Mounties jumped out to a 5-0 lead in the first inning, then tacked on another three runs in the third, and one each in the fourth and fifth innings.
Gabby Estrada (3-for-3, 3 RBI), Charleen Macias (2-for-3, 3 RBI, R, 2B), Candace Haliburton (2-for-3, RBI, 2 R, 2 SB), and Quinn De Avila (2-for-3, R) were among the top offensive performers for the Mounties.
Starting pitcher Alexia Silvas (6-1) got the win for Mt. SAC, pitching a complete game while striking out five.
Palomar 1 Mt. SAC 0
Starting pitcher Briana Wheeler (11-1) suffered her first loss of the season as Palomar punched across its only run in the bottom of third. Wheeler struck out two in 4.1 innings.
Vicky Gutierrez was the Mounties' top offensive performer, going 3-for-3 with two doubles. Caitlyn Felina (1-for-2) also doubled for Mt. SAC.
The Mounties return to SCC action on Tuesday, March 26, at East Los Angeles (10-9, 5-5) at 5 p.m. Mt. SAC remains undefeated in SCC play and is ranked No. 1 in the most recent 3CFCA State Poll.
Follow Mt. SAC Softball on twitter @mtsac_softball
Follow Mt. SAC Athletics on twitter @MtSAC_athletics or Facebook @Mountie.Athletics
For additional information, please contact the Mt. SAC Sports Information Office at 909.274.4630.


text:
Problems & Priorities
Africa Opportunities
Africa Visualizations
AI Landscape
AI Platforms & Tools
AI Applications
AI Research
AI Video & Audio
AI Bloggers & Social Media
AI Books
Projects Dashboard
Projects Showcase
Project Collaboration with Trello
Data Science Nigeria
Zindi
AI Africa Conference
AI Expo Africa
Africa Tech Week
Africa Tech Festival
IBM-Cortex Hackathon
Deep Learning Indaba
Ada Lab
Kenya AI
Machine Intelligence Institute of Africa collaboration with Data Science Nigeria
jludik
Dear MIIA community,
Best wishes to all for 2017!
The Machine Intelligence Institute of Africa (MIIA) is excited to announce a partnership with Data Science Nigeria, a non-profit organization to accelerate data science adoption and raise a new breed of local experts by training and mentoring young Nigerians through face-to-face, virtual online classes, project-based support and holiday boot camps. Data Science Nigeria, an initiative of MTN's executive, Bayo Adekanmbi, has launched on 26 November 2016 with Dr Uyi Stewart, Chief Data Scientist with IBM, USA that lead the plenary session. Data Science Nigeria, has now progressed to skill development workshops and will run the first bootcamp in Lekki axis of Lagos State between Friday 20 and Sunday 22 January 2017 (see links below for more details). The bootcamp will address competence gaps in Python, R, Machine learning, and general Data science concepts with real-world case studies. MIIA will be represented by Dr Jacques Ludik who will lead a Q&A session on Saturday morning 21 January 2017 via Webinar dial-in along with some other Data Science experts from the MIIA community. If you are Data Science expert that's interested to participate via Webinar dial-in, please send an email to info@machineintelligenceafrica.org.
See feedback on the recent MIIA – Data Science Nigeria collaboration with respect to a Data Science Bootcamp (140 participants) that was held in Lekki axis of Lagos State from 20-22 January 2017: https://lnkd.in/gwUmNMe
https://lnkd.in/gGiv-JV
MIIA is also kicking-off the joint Hardware for Humanity Project with Stellenbosch University's LaunchLab on Monday 16 January 2017. For background see:
The Hardware for Humanity Project (Presentation PDF, YouTube [5:46])
ABOUT MACHINE INTELLIGENCE INSTITUTE OF AFRICA
Previous LinkedIn post:
https://www.linkedin.com/pulse/solving-intelligence-real-world-problems-jacques-ludik
Machine intelligence Institute of Africa (MIIA):
http://machineintelligenceafrica.org
Community (360+ members): http://machineintelligenceafrica.org/members/
Events: http://machineintelligenceafrica.org/activities/events/
Projects: http://machineintelligenceafrica.org/activities/projects/
Partners: http://machineintelligenceafrica.org/partners/
Blog: http://machineintelligenceafrica.org/blog/
MIIA YouTube Channel (Playlist): http://www.youtube.com/playlist?list=PLOqigXLyHjNYf8R4WIM7HMVbQpQ03QNu-
Some Recent MIIA posts
Solving Intelligence, Solving Real-world Problems
Artificial Intelligence and Data Science use cases in Africa
Machine Intelligence Institute of Africa
Artificial Intelligence in Finance, Education, Healthcare, Manufacturing, Agriculture, and Government
Artificial Intelligence at the centre of MIIA partner activities with Silicon Cape, Rise Africa, and Insights2Impact
Joining Machine Intelligence Institute of Africa (MIIA)
Anyone interested to join MIIA and/or participate in using smart technologies to help address African problems such as those in education, finance, healthcare, energy, agriculture and unemployment is welcome to do this here. See How to participate for more details on various ways to help MIIA execute its mission.
View the current MIIA Community on the MIIA website as well as MIIA communications on Slack, the LinkedIn group, Meetup, Google+, FaceBook, and Twitter.
NEWSPAPER MENTIONS ON DATA SCIENCE NIGERIA
ASSOCIATION BOOTCAMP EVENT
http://www.itnewsafrica.com/2017/01/data-science-nigeria-runs-e-learning-bootcamp/
http://www.thisdaylive.com/index.php/2017/01/12/data-science-runs-free-boot-camp-for-young-scientists/
http://punchng.com/data-scientists-get-free-boot-camp-internship/
http://guardian.ng/technology/data-science-nigeria-offers-free-e-learning-bootcamp/
http://www.marketingedge.com.ng/2017/01/10/mtns-adekanbi-set-to-make-nigeria-a-data-science-hub/
http://techmoran.com/data-science-nigeria-host-e-learning-bootcamp/
http://www.vanguardngr.com/2017/01/data-science-holds-boot-camp-young-scientists/
https://www.jollyboss.com/data-science-nigeria-runs-e-learning-bootcamp/
http://www.bizcommunity.com.ng/Article/157/16/156005.html
http://techloy.com/2017/01/10/data-science-nigeria-to-host-free-learning-bootcamp-this-month/
https://www.businessdayonline.com/nigeria-become-data-science-outsourcing-hub-africa-2019/
http://africabusinesscommunities.com/news/data-science-nigeria-holds-e-learning-bootcamp-for-young-scientists.html#sthash.IU8PRTQY.uxfs
ASSOCIATION LAUNCH MENTIONS
http://www.thisdaylive.com/index.php/2016/12/12/data-science-nigeria-promises-to-develop-young-talents/
http://nigeriacommunicationsweek.com.ng/e-business/data-science-nigeria-to-raise-new-generation-of-datapreneurs
http://nigeriacommunicationsweek.com.ng/e-business/ibm-chief-urges-nigeria-to-invest-in-data-science-against-infrastructure
http://www.brandcrunch.com.ng/bnrch/index.php/csr/3324-data-science-nigeria-unveils-promises-to-raise-new-generation-of-datapreneurs
http://www.brandcrunch.com.ng/bnrch/index.php/interviews/3337-we-should-invest-in-data-not-infrastructure-dr-uyi-ibm
http://businesshilights.com.ng/data-science-businesses-will-drive-fdis-faster-in-nigeria-adekanmbi-others/
http://www.techcityng.com/adekanmbis-csr-initiative-opens-youngsters-to-opportunities-in-data-science/
PRIVATE INTERVIEWS
http://guardian.ng/technology/intelligent-use-of-data-will-drive-next-wave-of-economic-revolution/
http://www.thisdaylive.com/index.php/2016/11/24/adekanmbi-companies-growth-will-depend-on-data-science-sharing-economy-in-the-future/
http://www.vanguardngr.com/2016/12/nigeria-can-become-africas-outsourcing-headquarters-data-science-opportunities-adekanmbi-c-level-executive-mtn/
http://guardian.ng/business-services/data-science-sharing-economy-will-be-the-biggest-disruptors-soon/
Post by jludik
Operationalizing AI to Help Business & Society Thrive
Cortex Group & MIIA at TMT Finance Africa London 2019
6 Factors to Consider as an AI Start-Up
MIIA At Finnovation Africa: South Africa 2019
4 Ways Automation is Revolutionizing the Banking Sector
AI Community of Practice
© MIIAfrica 2019
https://miiafrica.org/wp-content/themes/hazel/
https://miiafrica.org/
7a93c7
/home/jludik/webapps/miiafrica/
/%year%/%monthnum%/%day%/%postname%/


text:
Dr. Jessica Tyler to speak at Undoing Aging 2020
Mountain View, CA / Berlin, Germany
We are happy to announce Dr. Jessica Tyler as a speaker for the 2020 Undoing Aging Conference.
Jessica Tyler is a Professor at Weill Cornell Medicine, New York City, where she heads the Laboratory of Epigenetics and Genome Integrity.
Her research focuses on the regulation of genomic processes by chromatin structure and mechanisms of replicative aging, using budding yeast as a model system for the aging of stem cells in humans. During her postdoctoral studies with Dr. James Kadonaga at the University of California, San Diego, she identified the key chromatin assembly factors Anti-silencing Function 1 (Asf1) and characterized Chromatin Assembly Factor 1 (CAF-1) from Drosophila.
Dr. Tyler's earlier work revealed that chromatin assembly and disassembly not only regulates S phase events, but also gene expression and the DNA damage response. Her finding that yeast lacking these chromatin assembly factors have altered lifespans led her to uncover that histone levels drastically decrease during aging, and is a cause of aging. Their lab has subsequently uncovered other changes that drive the aging process.
Dr. Tyler was a Leukemia and Lymphoma Society Scholar and was awarded the Tenovus Medal and the Charlotte Friend Woman in Cancer Research Award from the American Association of Cancer Research (AACR).
"We have to come together to figure out this aging problem, before we are too old", says Dr. Tyler.
"Jessica's work epitomises what we seek to do with these conferences: It brings together a wide range of strands of the molecular basis of age-related damage creation and accumulation, stretching across epigenetics, autophagy and cancer. I'm greatly looking forward to hearing her latest news!", says Aubrey de Grey.
Looking for a career in rejuvenation?
Join the team @ Forever Healthy!
Join our mailing list to stay updated on Undoing Aging
The 2021 Undoing Aging Conference
May, 13 - 15 in Berlin
Radialsystem Berlin
Forever Healthy Foundation
SENS Research Foundation


The teenagers of Riverdale are officially coming to television this fall on The CW's aptly titled series Riverdale which will be a one-hour live-action drama based on the classic Archie Comics characters.
The story will explore small-town life and the darkness and weirdness bubbling beneath Riverdale's wholesome facade. The show will focus on the eternal love triangle between Archie Andrews, girl-next-door Betty Cooper, and rich socialite Veronica Lodge. It will also include Archie's rival Reggie mantle, and his best friend and slacker, Jughead Jones.
Riverdale will be written by Archie Comics Chief Creative Officer Roberto Aguirre-Sacasa and produced by Warner Brothers Studios and Berlanti Productions. Greg Berlanti, Sarah Shecter, Jon Goldwater, and Roberto Aguirre-Sacasa server as executive producers.
The show will star KJ APA as Archie Andrews, Lili Reinhart as Betty Cooper, Camila Mendes as Veronica Lodge, Ashleigh Murray as Josie McCoy, Luke Perry as Fred Andrews, Cole Sprouse as Jughead Jones, Madelaine Petsch as Cheryl Blossom, Ross Butler as Reggie Mantle, Casey Cott as Kevin Keller, Mädchen Amick as Alice Cooper, and Marisol Nichols as Hermione Lodge.


text:
Q: mysql replace method plus java i knew how to replace a single value all over the field by using REPLACE method like
   UPDATE `table` SET `field` = REPLACE(`field`, `string`, `anothervalue`)

but what if i have to replace different values by different other things in the same field e.g
"," is to replace by "." and "/" is to replace by white space " " and "hons" is to replace by "honours" in the same field, can i do it in a single query?

A: You can cascade the replace
UPDATE `table`
SET `field` = replace(replace(replace(`field`, ',', '.'), '/', ' '), 'hons', 'honours')

A: UPDATE `table`
SET `field` = REPLACE(REPLACE(REPLACE(`field`,'/',' ') ',','.') , 'hons', 'honours')

redpajama_set_name: RedPajamaStackExchange