text:
from threading import Thread
import multiprocessing

import psutil

from modules.databridge.agent import *
from config import Config
from modules.util import cartridgeagentutils
from exception import ThriftReceiverOfflineException, CEPPublisherException
import constants

class HealthStatisticsPublisherManager(Thread):
    """
    Read from provided health stat reader plugin or the default health stat reader, the value for memory usage and
    load average and publishes them as ThriftEvents to a CEP server
    """
    STREAM_NAME = "cartridge_agent_health_stats"
    STREAM_VERSION = "1.0.0"
    STREAM_NICKNAME = "agent health stats"
    STREAM_DESCRIPTION = "agent health stats"

    def __init__(self, publish_interval, health_stat_plugin):
        """
        Initializes a new HealthStatisticsPublisherManager with a given number of seconds as the interval
        :param int publish_interval: Number of seconds as the interval
        :return: void
        """
        Thread.__init__(self)
        self.log = LogFactory().get_log(__name__)
        self.publish_interval = publish_interval
        """:type : int"""
        self.terminated = False
        self.publisher = HealthStatisticsPublisher()
        """:type : HealthStatisticsPublisher"""
        # If there are no health stat reader plugins, create the default reader instance
        self.stats_reader = health_stat_plugin if health_stat_plugin is not None else DefaultHealthStatisticsReader()

    def run(self):
        while not self.terminated:
            time.sleep(self.publish_interval)

            try:
                ca_health_stat = CartridgeHealthStatistics()
                cartridge_stats = self.stats_reader.stat_cartridge_health(ca_health_stat)
                self.log.debug("Publishing memory consumption: %r" % cartridge_stats.memory_usage)
                self.publisher.publish_memory_usage(cartridge_stats.memory_usage)

                self.log.debug("Publishing load average: %r" % cartridge_stats.load_avg)
                self.publisher.publish_load_average(cartridge_stats.load_avg)
            except ThriftReceiverOfflineException:
                self.log.error("Couldn't publish health statistics to CEP. Thrift Receiver offline. Reconnecting...")
                self.publisher = HealthStatisticsPublisher()

        self.publisher.publisher.disconnect()

class HealthStatisticsPublisher:
    """
    Publishes memory usage and load average to thrift server
    """
    log = LogFactory().get_log(__name__)

    @staticmethod
    def read_config(conf_key):
        """
        Read a given key from the cartridge agent configuration
        :param conf_key: The key to look for in the CA config
        :return: The value for the key from the CA config
        :raise: RuntimeError if the given key is not found in the CA config
        """
        conf_value = Config.read_property(conf_key, False)

        if conf_value is None or conf_value.strip() == "":
            raise RuntimeError("System property not found: " + conf_key)

        return conf_value

    def __init__(self):
        self.ports = []
        cep_port = HealthStatisticsPublisher.read_config(constants.CEP_RECEIVER_PORT)
        self.ports.append(cep_port)

        cep_ip = HealthStatisticsPublisher.read_config(constants.CEP_RECEIVER_IP)

        cartridgeagentutils.wait_until_ports_active(
            cep_ip,
            self.ports,
            int(Config.read_property("port.check.timeout", critical=False)))

        cep_active = cartridgeagentutils.check_ports_active(
            cep_ip,
            self.ports)

        if not cep_active:
            raise CEPPublisherException("CEP server not active. Health statistics publishing aborted.")

        cep_admin_username = HealthStatisticsPublisher.read_config(constants.CEP_SERVER_ADMIN_USERNAME)
        cep_admin_password = HealthStatisticsPublisher.read_config(constants.CEP_SERVER_ADMIN_PASSWORD)

        self.stream_definition = HealthStatisticsPublisher.create_stream_definition()
        HealthStatisticsPublisher.log.debug("Stream definition created: %r" % str(self.stream_definition))

        self.publisher = ThriftPublisher(
            cep_ip,
            cep_port,
            cep_admin_username,
            cep_admin_password,
            self.stream_definition)

        HealthStatisticsPublisher.log.debug("HealthStatisticsPublisher initialized")

    @staticmethod
    def create_stream_definition():
        """
        Create a StreamDefinition for publishing to CEP
        """
        stream_def = StreamDefinition()
        stream_def.name = HealthStatisticsPublisherManager.STREAM_NAME
        stream_def.version = HealthStatisticsPublisherManager.STREAM_VERSION
        stream_def.nickname = HealthStatisticsPublisherManager.STREAM_NICKNAME
        stream_def.description = HealthStatisticsPublisherManager.STREAM_DESCRIPTION

        # stream_def.add_payloaddata_attribute()
        stream_def.add_payloaddata_attribute("cluster_id", StreamDefinition.STRING)
        stream_def.add_payloaddata_attribute("cluster_instance_id", StreamDefinition.STRING)
        stream_def.add_payloaddata_attribute("network_partition_id", StreamDefinition.STRING)
        stream_def.add_payloaddata_attribute("member_id", StreamDefinition.STRING)
        stream_def.add_payloaddata_attribute("partition_id", StreamDefinition.STRING)
        stream_def.add_payloaddata_attribute("health_description", StreamDefinition.STRING)
        stream_def.add_payloaddata_attribute("value", StreamDefinition.DOUBLE)

        return stream_def

    def publish_memory_usage(self, memory_usage):
        """
        Publishes the given memory usage value to the thrift server as a ThriftEvent
        :param float memory_usage: memory usage
        """

        event = ThriftEvent()
        event.payloadData.append(Config.cluster_id)
        event.payloadData.append(Config.cluster_instance_id)
        event.payloadData.append(Config.network_partition_id)
        event.payloadData.append(Config.member_id)
        event.payloadData.append(Config.partition_id)
        event.payloadData.append(constants.MEMORY_CONSUMPTION)
        event.payloadData.append(float(memory_usage))
        # event.payloadData.append(str(memory_usage))

        HealthStatisticsPublisher.log.debug("Publishing cep event: [stream] %r [payload_data] %r [version] %r"
                                            % (
                                                self.stream_definition.name,
                                                event.payloadData,
                                                self.stream_definition.version))

        self.publisher.publish(event)

    def publish_load_average(self, load_avg):
        """
        Publishes the given load average value to the thrift server as a ThriftEvent
        :param float load_avg: load average value
        """

        event = ThriftEvent()
        event.payloadData.append(Config.cluster_id)
        event.payloadData.append(Config.cluster_instance_id)
        event.payloadData.append(Config.network_partition_id)
        event.payloadData.append(Config.member_id)
        event.payloadData.append(Config.partition_id)
        event.payloadData.append(constants.LOAD_AVERAGE)
        event.payloadData.append(float(load_avg))
        # event.payloadData.append(str(load_avg))

        HealthStatisticsPublisher.log.debug("Publishing cep event: [stream] %r [payload_data] %r [version] %r"
                                            % (
                                                self.stream_definition.name,
                                                event.payloadData,
                                                self.stream_definition.version))

        self.publisher.publish(event)

class DefaultHealthStatisticsReader:
    """
    Default implementation for the health statistics reader. If no Health Statistics Reader plugins are provided,
    this will be used to read health stats from the instance.
    """

    def __init__(self):
        self.log = LogFactory().get_log(__name__)

    def stat_cartridge_health(self, ca_health_stat):
        ca_health_stat.memory_usage = DefaultHealthStatisticsReader.__read_mem_usage()
        ca_health_stat.load_avg = DefaultHealthStatisticsReader.__read_load_avg()

        self.log.debug("Memory read: %r, CPU read: %r" % (ca_health_stat.memory_usage, ca_health_stat.load_avg))
        return ca_health_stat

    @staticmethod
    def __read_mem_usage():
        return psutil.virtual_memory().percent

    @staticmethod
    def __read_load_avg():
        (one, five, fifteen) = os.getloadavg()
        cores = multiprocessing.cpu_count()

        return (one/cores) * 100

class CartridgeHealthStatistics:
    """
    Holds the memory usage and load average reading
    """

    def __init__(self):
        self.memory_usage = None
        """:type : float"""
        self.load_avg = None
        """:type : float"""


Our enterprise has over 25 years practical experience in residence and business office cleaning professional services. Our firm specialize in carpet, tile and upholstery cleaning. All our service technicians are fully certified to provide all Pearland Friendswood Drive house, organisations and apartments carpet and upholstery cleaning requirements.
Our experts provide the ONE-Stop Friendswood Drive cleaning provider.
Our staff has the workers and equipment to deliver Deep, Like New, Ultra Carpet Cleansing. We make certain our work is done FAST and RIGHT. Our cleansing and repair service specialists are experienced, reliable and considerate. As part of our overall service we provide education on the carpet and upholstery cleansing and repair work procedure. We also offer our Pearland customers pointers and approaches how to safeguard and keep your furnishings and carpets clean and looking like brand-new.
Our knowledge and experience means we understand and use only the absolute best cleaning and sanitizing gadgets and items. The safe and effective cleansing services we use are strong enough to provide complete, deep cleansing, and they are safe for your family, the environment and our world.
To provide the very best deep carpet cleaning company offered we rotary and pre-spray scrub all your high traffic and dirt areas, discolorations and areas with a safe, light-weight carpet cleaning machine. This loosens up and separates up ground in grit, dust, dirt and pulls your carpets snooze back up. We then steam clean with a truck-mounted warm water extraction system. We make sure the carpet cleaning task is done right. Our service specialists use top of the line carpet and upholstery cleansing materials, devices and techniques. This ensures that you get totally cleaned and restored carpets, upholstery and tile.
We ensure straightforward, affordable rates. Unlike other cleaning companies, when you call us there will be no additional costs or additional surprise charges.
Our staff has designed our service company to be positioned to furnish speedy, inexpensive home carpet cleaning professional services to Pearland Friendswood Drive. By understanding the Pearland region and the unique needs of our Friendswood Drive area clients, our firm can absolutely better serve your demands.
Our experts are at the ready to provide same day S services to Pearland Friendswood Drive homes and offices. Our technicians are certainly knowledgeable and qualified to supply home carpet cleaning fast and efficiently. Our staff consistently deliver Full Satisfaction, Deep, Like New, Ultra-clean.
skilled carpet cleaning specialists take advantage of the industry's most reliable equipment and cleaning solutions. Our non-toxic, eco-friendly cleaning methods are safe for pets and children. Our firm employ S procedures which feature accelerated drying times. With our superior cleaning modern technology and machines, customers get deep, ultra cleaning. Our staff remove odors and stains. All our home carpet cleaning work comes with your Satisfaction Guaranteed!
Carpet cleaning, rug cleaning and upholstery cleaning fulfilled correct supply three valuable positive aspects. In addition to a better visual aspect, clean carpets establish a healthier environment for your household and workplace. Deep cleaning gets rid of ground in dirt, dust and allergens which may bring about health issues if left alone. And it is very important to understand that consistently cleaning carpets has been confirmed to boost the life of your carpets.
Customized home carpet cleaning for our Pearland Friendswood Drive Customers - Sunlight Carpet Cleaning service expert professionals utilize their proficient cleaning insights and expertise to figure out the best budget-friendly and deepest strategy of cleaning required for your budget and your household or establishment.
To ensure the deepest cleaning at your disposal Sunlight Carpet Cleaning pros pre-treat stains. Additionally, our experts put to work Ultra-Light Scrubbers validated to get out all ground in dirt, soil, spots and stains. Sunlight is one of the sole Houston local area carpet cleaners using Ultra-Light Scrubbers.
Residences and workplaces with clean carpeting and furniture projects a message of well being and financial success. Pearland C home owners and business owners appreciate that cleaning is needed to appreciate the home, apartment and office for a long period of time. Exactly how your household looks transmits a notification to family, visitors and you personally. Living with clean, stain free, like new carpeting and upholstery gives one a subconscious whole complete satisfaction and a sensation of success and well being which impacts your full disposition, attitude on life and actions.


It is a fact that regaining your license is much harder than ever getting it the first time. The work involved in restoring a driver's license is time consuming and very particular. There are a million little rules that need to be navigated in the license restoration process. Accordingly, I have divided my discussion of this process into several consecutive parts.
In this first part we'll deal with the request for a hearing and the substance use evaluation.
Some of these subsection are more important than others. In many cases, proving one proves another, while in other cases, separate proofs are necessary. I determine which subsections are the most important on a case-by-case basis by evaluating your prior conviction history and your individual path to recovery.
The substance use evaluation form is taken by the person seeking a license, or petitioner, to a licensed substance abuse therapist and is completed by the therapist after certain written substance abuse tests have been taken and scored and an interview has been conducted.
If you're my client, I will refer you to an affordable, top notch local evaluator to have this completed properly. Ironically, the clinic I use charges less than most others, while producing an evaluation of the best quality.
The form is very specific about what must be included and it must be signed both by the licensed therapist/evaluator, and the petitioner as well.
Letters of support are to be included with the request for hearing, but they are the subject of our next section, so we'll leave that subject for later.
Thus, we begin with the substance use evaluation. Because of the importance of that evaluation form, I always meet with my clients before they even think of getting it done. The substance use evaluation is the very foundation upon which the whole case is built. If you are not properly prepared for the evaluation, then the rest of the process will be seriously compromised. You cannot build a winning case on a losing evaluation.
It is at this point that things get really technical and difficult. Remember, the Secretary of State is not allowed to grant a license unless the petitioner proves, by "clear and convincing evidence," the issues outlined above, and any others in the rule that apply. That means that if you miss one little thing in your documents or testimony, or have even two conflicting dates in your paperwork, the hearing officer is almost legally required to deny your appeal.
While that may seem almost mean-spirited, it is really the job, under the law, of the hearing officer, to look for those little mistakes. Imagine that they are sitting there with a checklist, and for each thing they review or ask about, they must check off either a "yes" or "no" box in answer to whether your evidence or proofs were good enough to meet that clear and convincing standard. If, at the end of your hearing, there are any checked "no" (or, to put it another way, if they are not all checked "yes") then your appeal must be denied. That about sums up the job of the hearing officer and the burden you have in filing your appeal.
1. Those who have tried to get their license back without an attorney the first time, and have lost. They now realize the complexity of the situation, and are looking for someone who really knows this stuff.
2. Those who have never tried before and wonder if they even need an attorney. The first group are generally easier to deal with. They understand how difficult the process is and are under no illusions about the need for an experienced and good Michigan driver's license restoration lawyer. Their concern is limited only to finding that attorney, like me. The first-timers tend to think that merely going in and showing that they haven't been drinking since their last drunk driving conviction is what's important. Nothing could be farther from the truth.
"The Department is aware that there is a perception that the agency "never returns a license" in habitual violator appeals..."
By now you may be getting the idea that winning your license back can be a difficult task and involves not only some pretty technical stuff, but a lot of experience as well. If you've tried before, then you really know how true that is.
I have inserted a link to the AHS/DAAD practice manual. Note that the latest update is from 2005. You can find it by clicking here.
I include it so that you don't have to take my word for how involved this stuff is. And if you're the type who wants to try it yourself the first time, then this manual contains pretty much everything you need to know about the law and rules, although it obviously cannot address the issues of importance to any particular hearing officer. If you lose, you have to wait a year to file again, which means another 12 months relying upon other people to get you around.
For those that try it on their own and lose, or try with a lawyer not experienced enough in these matters and lose, they have actually made matters worse. Remember, if you lose your appeal, you cannot have another hearing for one full year. In second and subsequent hearings, the Secretary of State reviews the records and findings of all prior hearings. This means that above and beyond the issues all petitioners must prove, second-time petitioners must also show what they did to fix whatever was wrong the first time they tried, and depending on the problem, that can set them back either a little or a lot from the starting line. Thus, it pays to get it right the first time, because waiting another year and coming back farther behind than the last time is no fun.
Understanding the process and the importance of the substance use evaluation at the very beginning is the only way to start the process correctly. Let's look at an example. I don't use this as a scare tactic, but one of the very first things for the evaluator to complete in the substance use evaluation form is the petitioner's lifetime conviction history. The state requires the dates of all prior convictions, and the petitioner's BAC (Blood Alcohol Content) at the time of arrest.
What you aren't told is that the hearing officer has that information about the BAC in front of them at the time of the hearing. Now, if you got those BAC numbers wrong, or, if you didn't know them and didn't handle that aspect properly at the evaluation, the hearing officer will be wondering if you tried to scam the evaluator about your alcohol use/abuse by giving a lower, or otherwise inaccurate BAC number. Even if it was an honest mistake, the hearing officer can only guess at whether or not the evaluating therapist would have seen things differently if you had given the correct BAC number.
Moreover, in such a case as this, the hearing officer may very well wonder if any of the other remaining information in the substance use evaluation is unreliable, and then consider the whole thing not accurate enough to qualify as "clear and convincing evidence." You may think that's crazy, but that's the way it works, and anyone who's been down this road before and lost knows this all too well.
In any event, because the substance use evaluation has been found to be questionable, the petitioner will lose, having failed to meet the standard of proving their case by clear and convincing evidence. Remember, my "checklist" example? The Secretary of State is required to deny the petition unless the petitioner meets that burden of proof of clear and convincing evidence. It may seem nit-picky, but they are looking for that one little mistake in order to deny the petition.
Knowing how to handle this aspect of the substance use evaluation in a case where a person doesn't know one or more, or even any of their BAC levels is the difference from submitting one that's a loser, or a winner. Handling this the right way at the time of the evaluation leaves the evaluator unencumbered by misinformation, which is often fatal to an appeal. What's important is that you understand that this level of attention to and understanding of detail goes for every line in the evaluation.
When I handle a case, I meet with my client for a good 3 hours at our first meeting just to prepare them for the evaluation. I go over the substance use evaluation process and the form line by line. My client leaves the office fully prepared to undergo their evaluation. I leave no stone unturned and go over the testing procedures you will undergo in detail. I truly believe that anything less is just plain wrong and a recipe for failure. Remember, hiring a lawyer for this means a lot more than paying for some mouthpiece just to sit next to you at the hearing. If you haven't been helped and prepared every step of the way to that hearing, then you may just be paying for someone to watch you lose, anyway. Above everything else, I guarantee to win every case I take.
Once the evaluation has been completed, the evaluator will send a copy to both you and to me. Once I have it, I will carefully review it. One of my many jobs in these cases is to look for mistakes before we file anything. I have had plenty of cases where my client's prior appeal (done, of course, without my help) was denied the first time because something was missed (even a typo) in the evaluation. That won't happen when I'm in control.
Again, while this may sound harsh, it is the job of the hearing officer to deny the petition unless the petitioner proves by clear and convincing evidence the four issues noted above. To put it another way, it is not the job of the hearing officer to present evidence for the petitioner, or to figure out contradictions, or to fix errors. The petitioner is responsible for submitting documentation that meets the clear and convincing evidence standard. And rest assured, clear means clear, not slightly muddied by mistakes, contradictions, other unclear information. If there is an error or typo, the fault lies with you for submitting it, and there goes your chance for a license until another year goes by.
I liken this process to submitting a tax return. If your W-2's show you made $40,000.00 last year, but you accidentally fill in $400,000.00, the IRS won't be sending you a refund; You'll be getting a bill, and a big one at that. The IRS, like the Secretary of State, looks only at the information you provide, and cross-references it with what is officially on file. They don't take responsibility for errors in your documents, they just act on them. It is your job to make sure everything you submit is accurate.
When I am your attorney, then it is my job to help and make sure you do that, and I will - guaranteed.


In 2019, the National Commission for the Certification of Physician Assistants (NCCPA), made changes to the PANCE blue print. There is an attempt to blend the academic with a clinical practice. The practice of medicine, as a physician assistant, is much more than antibiotics, pathophysiology of disease and physical exams. Sure, we need foundations; we need building blocks, yet to be a well-rounded provider you need additional skills to embrace professional practice.
The NCCPA has now made these skills required knowledge and will be up to 5% of the PANCE. It's referred to as "professional practice." We need to learn such areas as professional development, legal/medical ethics, medical informatics, extraordinary patient care and communication, physician/PA relationship and public health.
This book, Professional Practice for Physician Assistants, provides clear understandings of the core concepts of the professional practice portion of the PANCE. But, our hope is that it's more than that. Our hope is this book evolves into a mandatory text that all PA's read to help them thrive!
Products will be shipped within 1-2 business days after payment is received for your purchase. All products are shipped via USPS® priority mail service. For specific details on the shipment of your product, please call our support team at (800) 263-6840.
Customers are allowed 60 days from the date of the initial purchase. Customer is also responsible for any fees incurred for the shipment of the returned product and to insure the package includes full replacement value of the contents received. Refunds will be issued back to the credit card that was used to make the original purchase (minus shipping and handling costs). We reserve the right to charge a $75 restocking fee on all returns. There are no refunds for the video on demand series.
NOTICE: The purchase of this product is for the use of the purchaser ONLY. It is not intended to be shared or distributed. DO NOT COPY OR DISTRIBUTE THIS MATERIAL. These products are copyright protected.
FBI Anti-Piracy Warning: The unauthorized reproduction or distribution of a copyrighted work is illegal. Criminal copyright infringement, including infringement without monetary gain, is investigated by the FBI and is punishable by up to five years in federal prison and a fine of $250,000.


One month ago, my boyfriend and I had the idea to adopt a cute little dog. Unfortunately, we realized that we did not have the budget to provide to the dog the happiness he deserves. However, while I was looking for accessories for my potential dog, I realized that it was hard to find qualitative and beautiful items. Until I land on Kleps.com.
Kleps.com provides outstanding, high-quality, healthy and elegant accessories, clothes, food and cosmetics for dogs. This one-year-old start-up is offering awarded design products (among others) for the best comfort of your puppy. I decided to interview the genius behind this idea. And of course, it was a woman.
Before she took her courage to create her very-first business, Blanche started from the bottom and discovered all the hierarchies of the Retail business. First, she started as a seller in a furniture and decoration store. Then, she became store manager for a lingerie brand and involved in the headquarter as a stock manager. After a year traveling abroad, she came back in the lingerie industry at Eres, in the export side. And finally, she worked in the e-commerce business, still in Fashion, for a kid e-shop.
After many years working in the retail industry, Blanche knew that she wanted to create something on her own. The skills she acquired were extremely helpful to start her own business. However, the idea was not exactly here yet… One day, her partner in life and herself felt in love with a lovely Shiba Inu: Matcha. Matcha revolutionized their lives! In fact, the idea of creating a business only about dog accessories came when they realized that nothing on the dog market was elegant enough for their gem.
Our two lovers decided to create their first business together. It was not the first one for Cyril though! With his fifteen years company, he added to their common project a rich entrepreneurial experience.
Time after time, Blanche was discovering adorable brands from all over the world and specialized in dog's accessories. Behind these labels, she found original creators with small production capacities. She decided to contact them immediately. Blanche wanted to know if a possible collaboration could happen with these rare creators.
Her project just inspired them. Since they have never been distributed in France before, they were pleased to spread their creations in this country. Especially in Paris.
"We have this advantage that the French target is very attractive from abroad."– This feedback confirmed that no one ever thought of selling high-quality, outstanding and elegant dog's products before in France. Blanche and Cyril did not wait any longer: in less than one year, the website was online and the stock was ready.
Blanche and Cyril opened one year ago, in November 2017. The first days were a success, Kleps.com received several orders surprisingly fast: the demand was definitely here!
Despite the fact that Kleps.com is an excellent response to the lack of quality and esthetic products in the dog market, the brand also answers to a new consumption trend: cruelty-free, organic and eco-responsible. People aspire to consume better, to invest a little bit more in their purchase in order to keep their product longer. Plus, people want to pamper their dog with healthy products so their puppies stay happier and longer in the family.
What about the content then? Well, Kleps.com covers the whole "consumer journey" of a dog (eat, play, sleep, repeat!). For instance, in the "Sleeping" category, you can find very elegant baskets such as the ones from the German brand Cloud7, which won the Excellence Awards 2013 Best Pet in the bed category. This is the kind of basket you absolutely want to highlight in your home, not something you want to hide in the cellar. These items are pretty representative of what Blanche and Cyril want to offer in their e-shop.
In the "Pampering" category, you will find the organic and natural soaps from the brand Bondi Wash made in Australia. In the same category, there is also the Canadian Loyal Canine Company. A beautiful masculine and dandy brand which offers vegan products made with ingredients from a controlled and organic culture. Anyway, I don't want to reveal everything, feel free to check the website by clicking on the following link: www.kleps.com. You will also notice that Kleps.com developed their own collection in the "Going out", "Playing", "Travelling"' and "Pampering" categories.
Quality and aesthetics are the main criteria when Blanche is choosing the producers. "I am looking for the best product quality for my website, but I put a lot of attention in the packaging as well." – In fact, Blanche is looking for the best harmony on the website. It needs to convey to their storytelling, their values, their brands. However, mostly, when you find a very good supplier, who is paying attention to the details, they also take care of their packaging to enhance their work.
"When we started, we thought that our target would be the "Parisian Bobos." "– However, the more Blanche and Cyril analyzed the data, the more they noticed that, despite Paris, the e-shop was also successful in the South and some isolated part of France.
"We realized that we have three kinds of customers." – First, people with a comfortable money situation. They want to buy the best for their dog. Particularly elegant items that fit with the style of their home. Then, people who are very attentive to very good quality cosmetics and food. They are sensitive to natural, organic and ethical products. And finally, those who are ordering during key events like Christmas or birthdays. Their goal is to offer an original present to their pairs.
However, for every type of customer, Kleps.com is maintaining the best relationship they can. When it comes to animal's products, the customer relationship is key! "There is a lot of affect. Consequently, the customers need to discuss a lot, to be reassured. They need to be certain that they make the right choice." – Therefore, on the website, they try to have the most detailed descriptions as possible. Besides, they are 100% available on Instagram, their customer relationship platform number 1. This is where they create conversations with their community to get feedback on the products and the brand experience. It helps to improve themselves. Kleps.com website is like an online concept store, where the proximity with the customers is king.
After one pretty positive year, Blanche and Cyril are already thinking bigger for their business. Last year, Kleps.com experimented the physical world since they had the privilege to open their first pop-up store in the famous Haussmann Printemps, in Paris. During this time, the Kleps.com team was in direct contact with the customers. People tried, touched and had a lot of fun with the products.
After this very insightful experience, the team is now thinking of the next step of the project. Building a true place of destination, a cabinet of curiosities, an end goal of the afternoon stroll.
"My goal is to open a shop as soon as possible, that means in the course of 2019!"– First in Paris of course! And, if they have the opportunity, maybe they would grow their own franchise concept all over France.
I cannot wait to leave this experience IRL!


text:
Piano Four-Hands, "Once Again" (2021)
14:30 - 17:00 hrs (GMT+7)
Kathryn Cok
Head of Master Research
Royal Conservatoire The Hague
Alessandra Di Gennaro
Everyone knows that the piano four-hands medium was extremely popular in Europe during the 18th and the 19th century; everyone can whistle at least couple of masterpieces from the piano four-hands literature of that time; but has somebody wondered why this fascinating practice almost disappeared during the 20th century and why in that period the duet music was definitively stigmatized as an "inferior genre" despite its unquestionable beauty?
My contribution will frame the medium in the concept of musical "tradition" in its pure anthropological meaning taking the cue from my research "Piano four-hands, 'once again'"
(see https://www.researchcatalogue.net/view/1183802/1183803)
where I tried to answer extensively these questions by setting the history of the piano four-hands medium into its socio-cultural context, with particular attention to its evolution and to the agents of change: demise, innovation, revival.
The results of the investigation point out that once the historical and sociological factors that have allowed the extreme popularity of the medium fell short, it could finally assume a completely new value and it could be a site of compositional and performance innovation which absolutely deserves to be discovered, performed and analyzed.
My trust is that this debate can raise awareness about the topic, encourage pianists to consider the piano four-hands repertoire not only a valid pedagogical tool but also an exciting concert medium, with the ultimate aim of inspiring composers to write new adventurous pieces and contribute to the actual renaissance of the medium.

redpajama_set_name: RedPajamaCommonCrawl