text:
News | April 2, 2015
Health eVillages Coalition Continues Efforts To Provide Critical Ebola Clinical Information To Millions Worldwide
Increased vigilance, more partners on the ground still needed as precautions in West Africa begin to wane
Health eVillages, a program founded by global healthcare activist Donato Tramuto and Physicians Interactive in partnership with the not-for-profit Robert F. Kennedy Human Rights organization, recently reminded healthcare professionals (HCPs) and the public that its Collaborative Coalition continues supplying crucial information on the Ebola virus-even as heightened precautions begin diminishing in West Africa.
Thus far, there have been greater than 23,000 cases diagnosed and more than 9,000 deaths worldwide since the first case of the current Ebola epidemic was reported (in December 2013), according to the Centers for Disease Control and Prevention (CDC). Since the Ebola outbreak began to spread, the Coalition-which includes partners Healthways, MedHelp®, WelVU,and Univadis-has delivered targeted communications on the disease to 3.3 million HCPs in 36 countries and more than one million US consumers.
Health eVillages continues to seek additional partners to aid in its efforts to ensure that accurate, up-to-date medical information and knowledge is available to HCPs and the greater public around the world to help prevent the spread of the disease. Companies, Nongovernmental Organizations (NGOs), and other organizations interested in joining the Health eVillages Collaborative Coalition can contact Mr. Tim Boivin at 1.224.209.6495 ortboivin@acmarketingpr.com.
"While we have met our goal of sharing Ebola information throughout the world, it is vital that the global public health community, local governments, and health systems do not become overconfident as publicity surrounding the crisis subsides," said Tramuto, who is also the Chairman and CEO of Physicians Interactive and a 2014 RFK Ripple of Hope laureate. "Fewer cases in affected countries represent a positive step forward. However, we must continue to strive to bring this epidemic to an end in West Africa and remain alert to prevent the spread of this horrific disease to other regions of the world."
The goal of the Health eVillages Collaborative Coalition, formed in October 2014, is to support ongoing Ebola global relief efforts through mobile and web-based applications that provide HCPs with practical clinical knowledge, as well as data to help reassure patients and reduce some of the unwarranted panic that has surrounded the disease.
Mark Friess, CEO of WelVU and a Health eVillages Advisory Board Member, said, "This Coalition's ability to quickly capture and communicate breaking Ebola news, treatment guidelines, and prevention strategies with a massive global audience should be applauded. The collaborative strategy being used by Health eVillages for the Ebola outbreak can-and should-be mobilized to help fight any global public health crisis, whether it is the recent re-emergence [of] measles and polio, or the next H1N1 (swine flu), or SARS."
The Collaborative Coalition currently includes the following:
Health eVillages, which provides iPod, iPad, and other handheld devices equipped with specialized reference and clinical decision-support tools to HCPs in underserved areas around the world.
Robert F. Kennedy Human Rights, whose global programs partner with individuals, charitable organizations, businesses and government agencies to carry forward the late senator's vision of building a more just and peaceful world.
Physicians Interactive, which distributes information on Ebola to HCPs through its free Omnio
mobile application and its MedAlert Pro messaging application.
Healthways, the largest independent global provider of total population health management solutions, which supports information sharing through its various technology and coaching platforms.
MedHelp, which shares information with millions of consumers through its website and award-winning mobile apps in pregnancy, women's health, diabetes, diet and fitness.
WelVU, which shares knowledge about Ebola through its advanced mobile and web-based multimedia patient education and engagement platform, including the EbolaVU app.
Univadis, a free global digital service that offers information on Ebola to HCPs through its portals worldwide.
Since its inception in 2011, Health eVillages has made a significant impact in improving access to life-saving medical knowledge and training for multiple programs in East Africa, the Caribbean, India, and rural Louisiana.
Shona Davies, the Univadis Programme and Communications Leader, said, "Our coalition has developed information packages in collaboration with publishers and other partners that have been extremely valuable to HCPs and the general public around the world. The Ebola crisis isn't over yet, so together our partners will continue to leverage these resources to support ongoing relief efforts in the worst affected regions, while also tapping into our global audience to identify volunteers who want to help."
About Health eVillages
Health eVillages, a program of the not-for-profit Robert F. Kennedy Human Rights and Physicians Interactive, provides state-of-the-art mobile health technology including medical reference and clinical decision-support resources to medical professionals in the most challenging clinical environments around the world. For more information, visit http://www.healthevillages.org/.
About Physicians Interactive
Headquartered in Reading, MA, PI aspires to use the power of worldwide networks of healthcare professionals and life sciences companies together in ways that will change the practice and business of medicine for the better. PI's value proposition is to offer the life science industry a low-cost, virtual, multi-channel marketing approach that can be used to supplement currently promoted products, as well as non-promoted and orphaned products, that deliver benefits to physicians and patients. A key focus is providing services that fit into physicians' and healthcare professionals' daily workflow at the point-of-care when they make diagnosis, treatment and prescribing decisions. For more information, visit www.PhysiciansInteractive.com.
Source: Health eVillages
Like what you are reading?
I agree to the Privacy Statement


text:
Q: Does my code still break encapsulation and uses getters/setters instead of the TellDontAsk principle? I and one guy have been discussing potential solution of a problem on an unrelated board, regarding the typical getter/setter hate, ie. using getters/setters leads to procedural programming.
I presented the attached solution as a representation of encapsulation and the TellDontAsk principles, which he said was not OO enough, because it persumably:

*

*has methods returning a value of an attribute

*has methods mutating attributes

This is the code:
interface AnimalWithCollar
{
    /**
     * Adds new collar to the animal.
     *
     * @param Collar $collar
     *
     * @throws InvalidArgumentException When the collar you are trying to add already has an owner differentiating from
     *                                  from the animal you are trying to add the collar to.
     */
    public function addCollar(Collar $collar);

    /**
     * Checks, whether the animal has a collar.
     *
     * @return bool
     */
    public function hasCollar();
}

interface ItemForFetching
{
    /**
     * Checks, whether the animal passed as the first parameter can carry the item.
     *
     * @param AnimalThatCanFetch $animal
     *
     * @return bool
     */
    public function animalCanCarryIt(AnimalThatCanFetch $animal);
}

class Stick implements ItemForFetching
{
    /** @var int */
    protected $_weight;

    /**
     * @param int $weightOfTheItem
     */
    public function __construct($weightOfTheItem)
    {
        $this->_weight = $weightOfTheItem;
    }

    /**
     * @inheritdoc
     * @see ItemForFetching::animalCanCarryIt
     */
    public function animalCanCarryIt(AnimalThatCanFetch $animal)
    {
        return $animal->canCarryAnItemWeighting($this->_weight);
    }
}

interface AnimalThatCanFetch extends AnimalWithCollar
{
    /**
     * Fetches the item passed as the first parameter.
     *
     * @param ItemForFetching $item
     *
     * @throws InvalidArgumentException When the animal is unable to fetch the item, because it is too heavy.
     */
    public function fetch(ItemForFetching $item);

    /**
     * Checks, whether the animal can carry an item of said weight.
     *
     * @param int $weight
     *
     * @return bool
     */
    public function canCarryAnItemWeighting($weight);
}

class Dog implements AnimalThatCanFetch
{
    /** @var Collar[] */
    protected $_collars;

    /**
     * @inheritdoc
     * @see AnimalWithCollar::addCollar
     */
    public function addCollar(Collar $collar)
    {
        $collar->assignOwner($this);
        $this->_collars[] = $collar;
    }

    /**
     * @inheritdoc
     * @see AnimalWithCollar::hasCollar
     */
    public function hasCollar()
    {
        return (count($this->_collars) > 0);
    }

    /**
     * @inheritdoc
     * @see AnimalThatCanFetch::fetch
     */
    public function fetch(ItemForFetching $item)
    {
        if ($item->animalCanCarryIt($this) == false)
        {
            throw new InvalidArgumentException('The item is too heavy. The animal cannot fetch it.');
        }

        // process the fetching logic
    }

    /**
     * @inheritdoc
     * @see AnimalThatCanFetch::canCarryAnItemWeighting
     */
    public function canCarryAnItemWeighting($weight)
    {
        return $weight <= 5; // indicating it may carry an item up to 5 kg
    }
}

class Collar
{
    /** @var int */
    protected $_diameter;

    /** @var string */
    protected $_color;

    /** @var AnimalWithCollar */
    protected $_owner;

    /**
     * @param int $diameter
     * @param string $color
     */
    public function __construct($diameter, $color)
    {
        $this->_diameter = $diameter;
        $this->_color = $color;
        $this->_owner = null;
    }

    /**
     * @param AnimalWithCollar $newOwner
     *
     * @throws InvalidArgumentException When the collar is already owned by a different animal than the one passed.
     */
    public function assignOwner(AnimalWithCollar $newOwner)
    {
        if ($this->hasOwner() && $this->belongsTo($newOwner) == false)
        {
            throw new InvalidArgumentException('The collar may have only one owner.');
        }

        $this->_owner = $newOwner;
        $newOwner->addCollar($this);
    }

    /**
     * @param AnimalWithCollar $animal
     * @return bool
     */
    public function belongsTo(AnimalWithCollar $animal)
    {
        return $this->_owner == $animal;
    }

    /**
     * @return bool
     */
    public function hasOwner()
    {
        return $this->_owner != null;
    }
}

Amount of interfaces, naming conventions aside, is there a way this design could be even more object oriented than it already is?

A: *

*You can replace some of your if statements that use $var == false with !$var
For example:
if ($item->animalCanCarryIt($this) == false)

could have been,
if (!$item->animalCanCarryIt($this))

*

*You don't need to declare a variable in constructor as null, it will be null by default anyway.

Remove this line:
$this->_owner = null;

*

*You don't need parentheses surrounding (someExpression) sometimes.

This line in your code is one of them.
return (count($this->_collars) > 0);

You can remove the parentheses:
return count($this->_collars) > 0;

A: The code is not strictly TellDontAsk. There are a number of methods where an object is giving some information about itself. Particularly:
AnimalWithCollar::hasCollar()
ItemForFetching::animalCanCarryIt()
AnimalThatCanFetch::canCarryAnItemWeighting()
Collar::belongsTo()
Collar::hasOwner()

You can see that these methods are questions, thus you're asking not telling.
For TellDontAsk, each method should be an action. The only return is something that is created as result of the action. So not a boolean, data, a property, etc.
Additionally:
Dog::addCollar() and Collar::assignOwner() create a dead loop.
You should follow PSR-1 and PSR-2. Which among other this say that a property should not start with an underscore.
AnimalWithCollar has nothing to do with AnimalThatCanFetch, so don't extend the interface. Also anything might be able to fetch (like a drone). No need to make that animal specific.
With Collar you're binding on an implementation rather than an interface. Define a Wearable interface instead.
AnimalWithCollar says it's an animal with a collar, but that's not the case. You want to say it can wear a collar. Or perhaps better, it's an animal with a neck AnimalWithNeck.
InvalidArgumentException is a LogicException, meaning something is wrong with the code. You should not use it for a runtime exception. You should create your own RuntimeExpection for this.
interface Animal
{
    /**
     * Make the animal ware an item
     *
     * @param Wearable $item
     *
     * @throws UnwearableException    If the item can't be worn
     * @throws WearableWornException  When item is already worn
     */
    public function wear(Wearable $item);
}

interface AnimalWithNeck extends Animal
{
    /**
     * Put an item on the neck of the animal
     *
     * @param Wearable $item
     * @param int      $diameter
     *
     * @throws WearableSizeException  If the item is to big or small
     */
    public function putOnNeck(Wearable $item, $diameter);
}

interface Wearable
{
    /**
     * The wearable gets put on the animal
     *
     * @param Animal $animal
     *
     * @throws UnwearableException    If the item can't be worn by the animal
     * @throws WearableSizeException  If the item is to big or small
     * @throws WearableWornException  When item is already worn
     */
    public function getPutOn(Animal $animal);
}

interface Fetcher
{
    /**
     * Fetches the item passed as the first parameter.
     *
     * @param Fetchable $item
     *
     * @throws FetchableToHeavyException  When the actor is unable to fetch the item, because it is too heavy.
     */
    public function fetch(Fetchable $item);

    /**
     * Carry an item with a specific weight
     *
     * @param Fetchable $item
     * @param int $weight
     *
     * @throws FetchableToHeavyException  When the actor is unable to fetch the item, because it is too heavy.
     */
    public function carry(Fetchable $item, $weight);
}

interface Fetchable
{
    /**
     * The item is picked up by an actor
     *
     * @param Fetcher $actor
     *
     * @throws FetchableToHeavyException  When the actor is unable to fetch the item, because it is too heavy.
     */
    public function getPickedUpBy(Fetcher $actor);
}

class UnwearableException extends LogicException
{
}

class WearableSizeException extends RuntimeException
{
}

class WearableWornException extends RuntimeException
{
}

class FetchableWeightException extends RuntimeException
{
}

class Stick implements Fetchable
{
    /** @var int */
    protected $weight;

    /**
     * @param int $weight
     */
    public function __construct($weight)
    {
        $this->weight = $weight;
    }

    /**
     * @inheritdoc
     * @see Fetchable::getPickedUpBy
     */
    public function getPickedUpBy(Fetcher $actor)
    {
        return $actor->carry($this, $this->weight);
    }
}

class Collar implements Wearable
{
    /** @var int */
    protected $diameter;

    /** @var string */
    protected $color;

    /** @var Animal */
    protected $owner;

    /**
     * @param int $diameter
     * @param string $color
     */
    public function __construct($diameter, $color)
    {
        $this->diameter = $diameter;
        $this->color = $color;
    }

    /**
     * @inheritdoc
     * @see Wearable::getPutOn
     */
    public function getPutOn(Animal $newOwner)
    {
        if ($newOwner === $this->owner) {
            return;
        }

        if ($this->owner) {
            throw new WearableWornException('The collar is already worn by another owner.');
        }

        if (!$newOwner instanceof AnimalWithNeck) {
            throw new UnwearableException('A collar can only be worn by an animal with a neck');
        }

        $newOwner->putOnNeck($this, $this->diameter);
        $this->owner = $newOwner;
    }
}

class Dog implements AnimalWithNeck, Fetcher
{
    /** @var Wearable[] */
    protected $wearables;

    /**
     * @inheritdoc
     * @see Animal::wear
     */
    public function wear(Wearable $item)
    {
        $collar->getPutOn($this);
    }

    /**
     * @inheritdoc
     * @see AnimalWithNeck::putOnNeck
     */
    public function putOnNeck(Wearable $item, $diameter)
    {
        if ($diameter < 3 || $diameter > 10) {
            throw new WearableSizeException("The item has a diameter of $diameter, but I can only wear items with a diameter between 3 and 10 around my neck");
        }

        $this->wearables[] = $item;
    }

    /**
     * @inheritdoc
     * @see Fetcher::fetch
     */
    public function fetch(Fetchable $item)
    {
        $item->getPickedUpBy($this);

        // process the fetching logic
    }

    /**
     * @inheritdoc
     * @see Fetcher::carry
     */
    public function carry(Fetchable $item, $weight)
    {
        if ($weight > 5) {
            throw new FetchableWeightException("The item weights $weight, but I can only carry 5");
        }
    }
}

This is not my preference of structuring the code. The answer is specific to the question of the OP. Martin Fowler has this to say about it:

But personally, I don't use tell-dont-ask. I do look to co-locate data and behavior, which often leads to similar results. One thing I find troubling about tell-dont-ask is that I've seen it encourage people to become GetterEradicators, seeking to get rid of all query methods. But there are times when objects collaborate effectively by providing information. A good example are objects that take input information and transform it to simplify their clients, such as using EmbeddedDocument. I've seen code get into convolutions of only telling where suitably responsible query methods would simplify matters [1]. For me, tell-don't-ask is a stepping stone towards co-locating behavior and data, but I don't find it a point worth highlighting.

redpajama_set_name: RedPajamaStackExchange


The Rock and Roll Hall of Fame is a travesty. Pearl Jam got in last year and they haven't even been a band for 30 years, while bands like The Cars and J. Geils Band are just now being considered. And don't get me started on rappers. How in the world is Tupac a nominee?
Bout time Bon Jovi got in.
Bout time the Cars and The Moody Blues get in!!
I'm with you on The Cars and J. Geils Band, but no love for Pearl Jam or Tupac? I don't follow.
Yeah it's the cars turn.


text:
Tag - Instagram
Gadgets • Latest News • MEDIA
BlackBerry Suings Social Media Giants Facebook And Instagram
BlackBerry is suing Facebook for patent infringement on the claim that the social media company's messaging services use BlackBerry intellectual property...
Latest News • MEDIA
Despite Her "Popularity," Selena Gomez Reveals She Has Very Few Close Friends
Selena Gomez is the most popular person on Instagram, with more than 100 million followers. Now 25, she's become a tastemaker pioneer, but just because...
Gadgets • Latest News
Snapchat To Release Their New 'Spectacles' In Custom Via Vending Machines
Snap is selling its new futuristic, video-capturing sunglasses in a very old-school way: With vending machines. Snap, formerly Snapchat, says it plans to sell...
Selena Gomez Crowned Queen Of Instragram After Becoming The First To Ever Reach 100 Million Followers
Taylor Swift may be 2015's highest-paid musician, but she's been bested in another fame metric. Selena Gomez now has more Instagram fans than the...
10-Year-Old Boy Wins $10,000 After Finding Flaw In Instagram Programming
This is one precocious programmer. Facebook rewarded a 10-year-old Finnish boy with $10,000 after he discovered a bug that allowed him to delete other...
Instagram Taking The Hint From Twitter And Facebook By Moving Towards a more Personalized Feed
Instagram is following in the footsteps of Facebook and Twitter, announcing plans today to use algorithms that surface photos and videos in your feed based on...
Anne Hathaway Instagrams Photo To Confirm Her Pregnancy Rumors
It was reported that Anne Hathaway was expecting her first child back in November, but now, the actress has officially confirmed the news in the best way...
Instagram Renovates Its Picture Design, Uploaded Pictures No Longer Need To Be Square
Rejoice: the iron-fisted reign of the square is dead. Instagram just announced it's letting you upload landscape and portrait-oriented photos and videos to the...
GIVEAWAYS • Latest News • Movies
The Purge: Anarchy VIP Advance Screening Giveaway
GO TO OUR GIVEAWAYS SECTION AND ENTER TO WIN GREAT PRIZES LIKE THIS ONE! © 2014 UNIVERSAL PICTURES New York, El Paso, Chicago and Miami MOVIE FANS! WIN VIP...
GIVEAWAYS • Latest News
New Trailer and Advance Ticketing – THE PURGE: ANARCHY
The New Founding Fathers of America invite you to celebrate your annual right to Purge On behalf of Universal Pictures and The New Founding Fathers of...
Facebook unveils, new Snapchat-like app 'Slingshot'
Facebook is taking another stab at ephemeral mobile messaging with an app called Slingshot. The app is designed to appeal to fans of Snapchat and other...

redpajama_set_name: RedPajamaCommonCrawl


In order to buy Conger Swivel Barrel Chair By Ebern Designs , search for top quality timber joinery. In case a piece is fixed together or if perhaps fingernails or toenails and anchoring screws are utilized to maintain the furniture piece collectively, it will not final lengthy. It is advisable to spend more to acquire a Conger Swivel Barrel Chair By Ebern Designs with many superb wooden joinery work towards it. Actually glance at the hip and legs associated with a Conger Swivel Barrel Chair By Ebern Designs you are thinking about acquiring. All those legs need to have not only to support excess weight, they'll also be in touch with your flooring surfaces. If they appear like they'll do harm to your surface due to materials used (like metallic), then you might want to decide on a distinct type. When choosing Conger Swivel Barrel Chair By Ebern Designs for your personal living room, pick natural shades. You may change the colors and other design from the space by changing features, color along with other things. Consequently, you can easily change up the design of your living room without having to spend a lot of money.
Its very hard to make a kitchen area without some kind of bar stool. In fact, bar stools have become so popular that its very difficult to not find one in a kitchen area. That's for a good reason, although, given that they allow friends, family, along with other visitors to simply join you in the kitchen area for a delicious meal and a few excellent discussion. But buying the correct bar stools for the kitchen area can be a bit difficult, which is especially the situation if you dont understand how to pick one. In the end, since this is one of the most used and most important rooms in the house, its only natural that you get the very best bar stools for it. Fortunately, we currently do the research for you, as well as in the sentences below we came up with a summary of the very best 10 barstools you can purchase for the kitchen area or club. After you review their list, youll easily be able to purchase the right bar stools for your needs. Lets try them out!
Carolina Light Grey Fabric Sectional Couch is well known because of its stunning comfort and impressive style. It has a modular style that enables for several agreement options to suit your needs.The established features soft fabric and pushes cushions to create the desired comfort. More importantly, its of a good dimension to accommodate you along with the group of friends. With respect to the space as well as your desired shape, you can combine the I chairs to produce an impressive form. Its recommended for all those with little rooms and requires a sofa.
Carolina Light Gray Material Sectional Sofa is celebrated because of its spectacular comfort and remarkable design. It has a modular design that allows for several agreement choices to meet your requirements.The set features gentle fabric and pushes soft cushions to create the desired comfort. More to the point, its of the good size to support you together with the family of friends. Depending on the available space and your preferred form, you are able to mix and match the I seats to create an impressive form. Its highly recommended for those with little rooms and needs a couch.
This suits you if you just need a beautiful coach. It's made with a flared frame and pillow top amrests inside a cool cobblestone gray. Now, it has resilient foam soft cushions that are obsessed with inside a rayon furniture to bring about the desired comfort. It features a durable part obstructed body that increases the toughness. Also, feet are in a faux wood finish. It has an impressive grey colour that matches with any decoration. It measures 89 W x 39 Deb x 40 H thus big enough to accommodate you together with your familyOrfriends. More importantly, it occurs completely put together. This saves you the agony of getting to assemble the established.
If you are looking for some serious relaxation, this loveseats solid cushion back again and rolled hands will deliverbut at a higher price tag. Every chair cushioning consists of 30 person pocketed circles for spring and assistance, and resilience seat froth for an extra coating of plushness and sturdiness. Plus, the foam soft cushions are topped with extremely soft, combined lower feathers. For your extra comfort, there are 3 standard jobs: sitting, a slight lie down with an elevated foot rest, and a complete recline with an elevated footrest. It doesnt hurt this lying loveseat appears lux, either. Its all-leather-based furniture and ornamental toe nail mind cut provide a classic appear that may work with lots of house decorations styles, from traditional to country to crafts and arts. Plus, leather-based holds up nicely towards daily use, children and dog hair and fingernails. Just remember to situation the leather every 6 to twelve months.
This set includes a one left arm sofa set, two armless couch models, and something part couch set. This gives sufficient room to support your family and friends. The fabric is 100% rayon for enough comfort and durability. The advantage of this sofa established may be the matching and mixing of seats within the space in the room for any perfect form. And also allows for fitting even in little areas. It takes just light putting together.Additionally, it features drive cushions for maximum comfort. You might want to do this established. It does the job nicely.
This is the next couch on the list. It's additional comfy and incredibly well suited for little rooms or attic living. It's padded in polyester material, prospects inset control keys that provide an elegant diamond-tufted design. It is made from long lasting materials and the thighs are made of long lasting wooden to add to its sturdiness. The loveseat has an espresso stained wood legs and no-tagging feet caps. It offers an appropriate froth cushioning and rayon material upholstery that makes it very luxurious. It features a longue spot that gives an exceptional space for relaxing.
Weighing under $300 (in addition shipping) and 56 inches wide, our wallet- and room-friendly pick is ideal for very first apartments, playrooms, dens or any other small areas. Because its upholstered with additional powerful glued leather, this lying loveseat is much more resistant to unsightly stains, releases and holes. Clients describe this reclining loveseat as comfortable, stylish and an excellent value. 1 rater wrote it had become one of the most comfortable furniture pieces she is ever had, while another stated he couldnt have asked for much more for his cash. Reasonable caution, although: some reviewers said the upholstery on their loveseats tore effortlessly. Thankfully, the manufacturer has a warranty for parts. Because this loveseat has this type of easy style, it can make a good foundation for additional personalized decorations products. Add some decorative toss pillows or blankets to up its comfortable factor, and give a few pops of color and design.
This is the next sofa on the checklist. It's extra comfy and incredibly well suited for little areas or loft living. It's padded in rayon material, prospects inset buttons that provide an elegant gemstone-tufted style. It is constructed of durable supplies and also the thighs are constructed with durable wood to add to its durability. The loveseat has an java discolored wood legs and non-marking foot caps. It includes a comfortable foam cushioning and rayon fabric upholstery which makes it extremely luxurious. It features a longue spot that gives an extraordinary space for resting.
This established is upholstered inside a push and comfortable distinctive padded velvet. This gives it the incredible comfort and ease that it is cherished for. Once again it facilitates chaise design seats for sufficient comfort. Furthermore, the nose springtime base adds to the durability and comfort. Furthermore, the couch has hard wood structures that increase its sturdiness and sturdiness. The sofa has soft cushions on the chair and also the back. Yet still, the sofa can move from a seated position to some reclined placement easily. That said, just to replicate, the sofa is extremely soft and gives exceptional comfort.
This is definitely the cutest and ingeniously designed loveseat. Contingent in the tone, it provides a disturbing look for your workplace or areas. The sofa unimaginably imperceptible for a early morning espresso or an animated journal reading carefully. It is obtainable both in leather-based as well as in consistency depending on what you support a brilliant look, or a lovely, lovely view. The good thing, it's very sensible! The extremely stylish tufting is shaped stone, which retains an ideal Chesterfield style. The most adorable thing about this couch is its shape. Combined with the appeal, the rear style provides your back knowledge of rest. It's skillfully designed to ensure that smaller sized rooms consolidate extravagance inside a smaller sized room. It is a smart decision for the kids space, because it offers a number of sweet tones. They would love to hit them with the story or for an incredible dream. No hassle for grown ups too for a comfy night with Manga or Marvels.
The raise leading coffee tables have finally turn out to be the most basic and important Nathan Club Chair around the globe. No family room ought to miss this excellent raise top table. Obtaining the super high quality, unique and sturdy 1 could possibly be the greatest achievement in life. All you need is always remember factors for example dimension, utilizes and building material is very crucial. Master the important thing points and make certain of determining the real thing from the counterfeits furniture.Using the leading best list above, you can with confidence choose one of these that will capture your attention. You won't ever rue rather, you will wonder why you did not think it is prior to.


text:
D.C.E. school lunch boycott grabbed national attention
Students boycotted lunches to protest restrictions put in place by Healthy, Hunger-Free Kids Act.
D.C.E. school lunch boycott grabbed national attention Students boycotted lunches to protest restrictions put in place by Healthy, Hunger-Free Kids Act. Check out this story on wausaudailyherald.com: http://wdhne.ws/1uT4oBa
Keith Uhlig, USA TODAY NETWORK-Wisconsin Published 6:16 p.m. CT Nov. 19, 2014 | Updated 3:48 p.m. CT Nov. 26, 2014
D.C. Everest Senior High School students line up to try some Asian-style stir-fry food prepared by vendor Key Impact Sales & Systems. The new food was offered about a week after students boycotted school lunch. But Chris Welch, the district's supervisor of food services, said the event was scheduled in August to get student feedback on different food options. (Photo: Keith Uhlig/Daily Herald Media )Buy Photo
WESTON — A student-led boycott of the school lunch at D.C. Everest Senior High School a week ago gained attention at the national level, including from the federal government.
Organized by senior Meghan Hellrood, the editor-in-chief of Everest High's school newspaper, The Jet, the boycott spurred officials from the U.S. Department of Agriculture to contact the D.C. Everest Area School District. The USDA workers inquired to see whether administrators needed help in explaining recent changes brought forth under the federal Healthy, Hunger-Free Kids Act, said Chris Welsh, the district's supervisor of food services.
Hellrood asked students to bring in their lunches from home Nov. 13 to protest the Healthy, Hunger-Free Kids Act, which was approved by Congress and signed into law in December 2010. The law requires all school districts receiving federal money to offer larger servings and more varieties of fruits and vegetables, increase whole grains, limit sodium, fat and sugar. The law, administered by the USDA, also sets calorie limits.
After the law was enacted, it drew ire from students and parents across the country who were concerned about the smaller portions being offered by school districts. Starting this school year, the law also limited and set criteria for all food sold during the school day, forbidding the sale of high-calorie fare such as sweetened tea, candy and other snacks.
"I personally don't want the act to exist," Hellrood said. "I feel like kids are perfectly capable of choosing for themselves what they eat. I don't want the government to think about what I can and cannot eat. I think it really comes down to the students."
In addition to hearing from the USDA, the district also is inviting students to participate in a Student Nutrition Advisory Council that can provide input on school meals. Welsh said a few students have expressed interesting in taking part in the council.
Hellrood said her intent was not to criticize the school's particular meal plans, but to call attention to the law as a whole.
"This is about all schools, not just DCE." she said.
The Facebook page she produced, "Boycott School Lunch - Pack a Bag DCE," elicited messages of support from across the country and had 1,589 "likes" as of Wednesday night. The website EAGnews.org — produced by Education Action Group Foundation, a conservative education reform advocacy group — also picked up the story.
That doesn't mean whole-scale changes are on their way, though.
"Honestly, there isn't much we can do as a school," said Tom Johansen, the principal of D.C. Everest Senior High School. "We have to follow the restrictions and guidelines."
Keith Uhlig can be reached at 715-845-0651. Find him on Twitter as @UhligK.
The D.C. Everest Area School District posted a letter from Superintendent Kris Gilmore about school meal requirements, including a fact sheet outlining the Healthy, Hunger-Free Kids Act and federal reimbursements. It can be found online at http://www.dce.k12.wi.us/blog/d-c-everest-school-meal-requirements-get-the-facts/.
Read or Share this story: http://wdhne.ws/1uT4oBa
Motorcycle fun ride, benefit planned for Weston tavern shooting victim
This year's Woodson YMCA Triathlon, the state's oldest, will be the last


text:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<include resource="org/springframework/boot/logging/logback/base.xml" />
	<logger name="br.com.splessons" level="INFO" />
	<springProfile name="staging">
		<logger name="br.com.splessons" level="INFO" />
	</springProfile>
</configuration>

redpajama_set_name: RedPajamaGithub


The University Union provides several locations for student organizations (identified as such by Student Organizations & Leadership), as well as Sacramento State departments, to promote campus events. Please do not rely on the following resources as your ONLY method of marketing.
Events must be open to the general public, whether free of charge or ticketed.
All materials must clearly indicate the sponsoring organization, group, or department and a public contact (phone, email, website) for more information about the eventThe University Union has the right to review and disallow any submitted materials which is not deemed appropriate.
Materials will not be saved or archived once collateral has expired. The University Union will not be responsible for returning unused materials.
All materials must be 8.5" x 11" or smaller.
Please drop off material to the Union Administration office, 3rd Floor of the Union, no later than 2 weeks prior to your event.
All materials must clearly indicate the sponsoring organization, group, or department and a public contact (phone, email, website) for more information about the event.
The University Union has the right to review and disallow any submitted materials which is not deemed appropriate.
All materials must be no smaller than 8.5" x 11" and no larger than 11"x 14".
Please drop off ONE poster to the Union Administration office, 3rd Floor of the Union, no later than 2 weeks prior to your event.
Events promoted on the monitors must be open to the general public, whether free of charge or ticketed. The events must take place on campus.
Submissions should be easily readable within a 10 second time frame of display.
Images should represent a single event, or several activities which comprise an event taking place on a given day or multiple days. Activities which comprise an event spanning a week, an entire calendar month, or semester will not be displayed, due to the breadth of information and the readability of the information and time allotments for display. Events of this nature should be broken down into smaller segments for promotion on the monitor.
The parent organization for both facilities, Union WELL, Inc., has the right to review and disallow any submitted artwork containing content which is not deemed appropriate (illegible, inappropriate language/images, or messages which are derogatory or exclusionary of specific groups or individuals).
Approved submissions may not be displayed until two weeks prior to the event date. However, we encourage you send your submissions in early.
Event submissions will not be saved or archived. All files will be deleted immediately following the event.
All files should be in JPEG format. The optimal file dimensions are 1280 tall x 720 wide (pixels) or 17.78" tall x 10" wide, which will take full advantage of the screen size. Letter size (11" tall x 8.5" wide) and tabloid size (17"tall x 11" wide) may also be submitted, but will only be shown proportionally on the screen.
All artwork should be oriented vertically. Horizontal submissions will not be displayed.
The body of the email must include the contact name, email, and phone number of the person submitting the content.


Matthias Kröner is the co-founder and CEO of FIDOR Bank AG, the neobank with the unique positioning of 'Banking with Friends' launched in Germany and the UK. Fidor Bank reflects Matthias Kröner's vision of digital and social banking whereby customers become active advisors on community forums, they help co-create products and get rewarded for their contribution. With its unique positioning and successful achievements, the bank was awarded the title of Model Bank by Celent in 2015 and global growth company by the WEF in 2015.
Prior to founding Fidor Bank, Matthias co-developed the first continental European online broker known as DAB Bank. In 1997 he was recognised as the youngest CEO of Direkt Anlage Bank AG at the age of 32. His early career include diverse roles such as assistant to the Management at Maffei Bank. He started his professional career within the hospitality industry in Hotels such as Kempinski Hotel Vier Jahreszeiten, Munich and the Hyde Park Hotel, London; an experience that contributed strongly in building Matthias' vision of excellence in customer service.


For batchwise fine grinding of small quantities. The Vibratory Micro Mill PULVERISETTE 0 is the ideal laboratory mill for fine comminution of mediumhard, brittle, moist or temperaturesensitive samples dry or in suspension as well as for homogenising of emulsions and pastes.
Vibrating cup mill for extremely rapid size reduction of brittle and very hard samples either dry or in suspension to analytical fineness. Frequency transformer control, loss free grinding in hermetically sealed vessels, and more.
These versatile VibroEnergy grinding mills are available for fast, lowcost particle size reduction to submicron range. The VibroEnergy grinding action achieves higher output per input horsepower, precise control of size and distribution.
vibrating feeders(7) belt feeders(7) grinding mills Ball mills can grind wet or dry and can be continuous or batch type mills.
PALLA ®Vibrating Mill. Beside the industrialscale vibrating mills we also supply compact grinding system for laboratory and semiindustrial appliions.
used vibratory grinding mills for the chemical, food, and pharmaceutical mill cuft capacity sweco model dm l vibratory grinding mill, diameter,, mill. More Details.
The Vibratory Disc Mill RS 200 is engineered for size reduction, mixing, grinding of mediumhard, frail or course materials to analytical quality.


Coup d'état -School Cancelled (13Mar, 1979) – Grenada, W.I.
March 13th 1979 …This was the day of the bloodless Coup that took place in Grenada, West Indies. I will tell you about my day that day -or just a small portion of it.
My brother and I walked to school everyday and March 13th was a Tuesday and we arrived at school right on time maybe even a little early to find only a handful of students and teachers there and a bit of a hush as the Headmistress and teachers talked in hushed tones. Eventually we were informed that we needed to go back home because there would be no school for the day as there had been a Coup overnight.
We walked back home and told our parents that school had been cancelled because there had been a Coup. They didn't believe us and insisted that we go back to school. We weren't in the habit of lying to them but I guess this just seemed too unbelievable. We finally convinced my dad to turn on the radio.
There was no TV back then and the only radio was from a few am radio stations that were local to the island. Sure enough, the news confirmed our story. My dad stayed home from work and we all listened to the radio and the news most of the day.
This is Maurice Bishop speaking.
At 4.15 am this morning, the People's Revolutionary Army seized control of the army barracks at True Blue.
The barracks were burned to the ground. After half-an-hour struggle, the forces of Gairy's army were completely defeated, and surrendered.
Every single soldier surrendered, and not a single member of the revolutionary forces was injured.
At the same time, the radio station was captured without a shot being fired. Shortly after this, several cabinet ministers were captured in their beds by units of the revolutionary army.
A number of senior police officers, including Superintendent Adonis Francis, were also taken into protective custody.
At this moment, several police stations have already put up the white flag of surrender.
Revolutionary forces have been dispatched to mop up any possible source of resistance or disloyalty to the new government. I am now calling upon the working people, the youths, workers, farmers, fishermen, middle-class people, and women to join our armed revolutionary forces at central positions in your communities and to give them any assistance which they call for.
Virtually all stations have surrendered. I repeat. We restress, resistance will be futile. don't be misled by Bogo DeSouze or Cosmos Raymond into believing that there are any prospects of saving the dictator Gairy.
Eric Gairy, apparently sensing that the end was near, yesterday fled the country, leaving orders for all opposition forces, including especially the people's leader, to be massacred.
Before these orders could be followed, the people's revolutionary Army was able to seize power. This people's government will now be seeking Gairy's extradition so that he may be put on trial to face charges, including the gross charges, the serious charges, of murder, fraud, and the trampling of the democratic rights of our people.
In closing, let me assure the people of Grenada that all democratic freedoms, including freedom of elections, religious and political opinion, will be fully restored to the people.
The personal safety and property of individuals will be protected. Foreign residents are quite safe and are welcome to remain in Grenada. And we look forward to continuing friendly relations with those countries with which we now have such relations.
Let me assure all supporters of the former Gairy government that they will not be injured in any way. Their homes, their families and their jobs are completely safe, so long as they do not offer violence to our government.
However, those who resist violently will be firmly dealt with. I am calling upon all the supporters of the former government to realize that Gairy has fled the country and to cooperate fully with our new government. You will not be victimized, we assure you.
People of Grenada, this revolution is for work, for food, for decent housing and health services, and for a bright future for our children and great grand-children. The benefits of the revolution will be given to everyone regardless of political opinion or which political party they support.
Let us all unite as one. All police stations are again reminded to surrender their arms to the people's revolutionary forces.
We know Gairy will try to organize international assistance, but we advise that it will be an international criminal offence to assist the dictator, Gairy. This will amount to an intolerable interference in the internal affairs of our country and will be resisted by all patriotic Grenadians with every ounce of our strength.
I am appealing to all the people, gather at all central places all over the country, and prepare to welcome and assist the people's armed forces when they come into your area. The revolution is expected to consolidate the position of power within the next few hours.
I live on a boat I do have about 4-5 small teacup candles but they are as last resort! We are in a remote area and can lose power or be completely cutoff via the road for a days at a time even. My first line of defense is to always have a flashlight ready and charged in the event of a need outside. For example high winds and the need to tie down mine or others boats. I also have a small Honda Generator and the cable already run and ready at anytime. My trusty Coleman battery lights….are always ready to go. Able to give me enough lighting for reading etc.
You are given $5,000 and the chance to exchange it for one of two envelopes. One envelope contains $50,000 and one contains $500. Do you make the trade? Why or why not? I hate to be gready, but 50k seems a no-brainer. I'm getting close to retirement I hope and my 401k is turning out to be pretty unreliable. Hmm ..50k – I'd just figure out an investment that gets it growing!
What's your first memory? My first memory .. well the one that comes to mind first is when I was about 3 yrs old and wanting/needing to go up a couple of small stairs and there was a huge -seemed huge to me anyhow- cricket or grasshopper. I didn't know what it was and was just staring at it till my mom showed me it was alive and harmless. I don't recall ever being afraid of bugs since -except for maybe spiders!!
What do you do if you can't sleep at night? Do you count sheep, toss and turn, or get up and try to do something? I don't go to bed until I am tired. Usually sometime between 2 or 3am and then I watch 1 tv show previously recorded and have my sleep timer on the tv set for max an hour. It usually takes a couple of nights to watch 1 episode of whatever the show because I fall asleep pretty quickly.
Bonus question: What are you grateful for from last week, and what are you looking forward to in the week coming up? I am grateful that my dog Sky had a successful surgery . Though minor, when anesthesia is involved there is always a bit of a risk. She is doing well and I am confident she will make a full recovery! Thank you Steve at Harbor Vet.
Tonight I am watching, in the background on the tele, the Chinese New Year Parade in Downtown San Francisco – technically it's a re-broadcast. It's the year of the Sheep/Ram/Goat.
I read an interesting bit of news regarding childbirth in China associated with this Chinese Zodiac sign. Apparently this sign is in a sense considered 'the black sheep' of Chinese Zodiac signs. Many see the sheep as timid & weak and destined to be a follower and not a powerful leader or wealthy etc. The Chinese New Year's date was February 19th this year concluding the year of the Horse, a very desired year of birth!
"Every 12 years, some Chinese couples are thrown into a frenzy, fearing their child may be born in the Year of the Sheep." (per China Daily and quite a number of other resources).
I think the year of the Sheep/Ram/Goat would be a pretty good year to be associated with. They are supposed to be calm by nature, with fewer health problems and generally to be in good spirits. Possess an appreciation for the arts and are wise and compassionate. They may not turn out to be conquerors or dictators but rather pretty consistently in what I read of the sign, sounds like the year of the Goat/Ram/Sheep is equivalent to the birth of someone who will prove to be a good and caring person -probably the child that could be most counted on to care for his or her parents in old age!!
don't feel young or old or a specific age. I consider age and time to be a limiting thought. I respect the young and the old especially. The young for their innocence and fresh perspective, the older, for their experience and fresh perspective. I hope to always carry with me the childhood inquisitiveness and age with the grace of those I know to be older than myself.
I am right-handed for writing. I can play pool with left or right hand and paint like (house painting) with either.
When I was a kid I used to imagine that my name was Chris but I really like my name now so no desire to change it!
I live on a boat and I have two boats. The second boat has become the scapegoat for hiding those clutter items. I just emptied the other boat of the junk and did a big cleanup so -fresh starts to cluttering or hopefully remaining uncluttered.
I am perpetually grateful for my living situation, my pups and my great neighbours and environment.
I was talking with one of my friends today and listening to her recount some experiences in babysitting and child care when she was younger.
First story was of her iguana. She was explaining to me how cool it was to have an iguana. I was doubting her I must admit.
One day her son was questioning why it was that all his friends at school had dads and why didn't he have a dad to talk about. He knew he did and she asked him if he wanted to call or when he wanted to see his dad. I don't know anything about the father but the prospect of calling his dad didn't sound as cool as what everyone was talking about in school.
The next day he went to school and when the subject came up again he told everyone he had an iguana! The class was excited and the teacher asked his mother if the iguana could come to school. "Absolutely!" So the iguana went to school and he was the coolest boy in the school because sure enough, nobody else had an iguana!
I just thought it was a clever way to resolve an awkward situation!
This page is for Sky & Zulu & links to their adventures..


text:
A Blast From the Past: Executing Code in Terminal Emulators via Escape Sequences
By Dejan Lukan | Nov 25, 2014 | Linux |
In the beginning of time, there were hardware terminal emulatorsalso called ttys, which are programs emulating a video terminal. In modern computers, we're mostly used to graphical user interfaces (GUIs), whereas a terminal emulator like xterm is used to access the command line interfaces (CLIs) or text user interfaces (TUIs) of programs.
In this article we'll talk about how we can use an Apache CVE-2013-1862 vulnerability to issue an escape sequence attack. The most common terminals used in the old days were the following.
VT52: a CRT computer terminal build by Digital Equipment Corporation (DEC) in 1974 and is presented on the picture below. It supported 95 ASCII characters, 32 graphic characters and bi-directional scrolling [3].
VT100: is a terminal build by Digital Equipment Corporation (DEC) in 1978, which had additional graphical features like: blinking, bold text, underlining, etc [2]. The VT100 is primarily being emulated by most terminal emulators nowdays. It supports ANSI escape codes described later in the article.
VT220: is a terminal build by Digital Equipment Corporation (DEC) in 1983, which used a much faster microprocessor at a time and supported 8-bit character set.
In the table below we can see the capabilities of most used terminal emulators that we can choose from today.
Terminal emulators usually support escape sequences that abide to the terminal control sequence standards like: ECMA-48, ANSI X3.64 or ISO/IEC 6429. ANSI escape code or escape sequence is a way of sending metadata and control information to the terminal by using the same communication channel by specifically encoding special characters. Since only one communication channel is available, the only thing we can do is print text to the screen and there's no way to actually support anything else. In such cases escape sequences are very useful, because they allow us to mark certain characters as being a command, while the rest of the characters is data.
Many programs use escape sequences directly to introduce different functionality like changing the color of the important text to red. In reality, programs should not emit terminal escape sequences manually, but should rather use ncurses, tput or reset utilities.
Linux terminal controls can be used for calling special functionality in the terminal by using control characters. Character encoding is primarily used to represent printable characters in the screen, but special characters used for presenting additional information about the text are supported – such additional information is the position of the text, a message beep indicating the text has been received, etc [10].
Escape Sequences
The escape characters are used to support different features like formatting, color change, cursor position, reconfigure the keyboard, update the window title, etc. The encoding works by using a specific sequence of bytes, which are embedded directly into the text stream, but are handled specially by the terminal. There are a different set of escape sequences that was supported by hardware terminals in the old days or is supported by terminal emulators nowdays – we have to look up whether an escape sequence is supported by specific terminal in order to use it.
Today, most terminal emulators interpret at least some of the ANSI escape sequences, which can be generated by a wide range of console programs like: grep, sed, awk, cat, tail, less, more, emacs, etc.
The ASCII table is presented on the picture below, so we can observe the character mentioned with ease.
The standard ASCII control codes are the following (and are also presented on the ASCII picture above) [10]:
ASCII control codes
NUL Null Used as a string terminator, especially in C programming language.
SOH Start of Heading First character of the message header.
STX Start of text First character of the message text.
ETX End of Text Used as a break character (Ctrl-C) to interrupt a program.
EOT End of Transmission Used to signal end of file, which is used to logout from a terminal.
ENQ Enquiry A signal used for checking whether the receiving end is still present.
ACK Acknowledge A signal used to indicate a successful receipt of the message used as a response code to ENQ.
BEL Bell Used to invoke a sound bell in terminal.
BS Backspace Delete the character last character to the left of the current position of the cursor.
HT Horizontal Tabulation Introduce a special tab stop character.
LF Line Feed Introduce an end of line.
VT Vertical Tabulation Position the form at the next line tab stop.
FF Form Feed Used to clear the screen in some terminal emulators.
CR Carriage Return Often used together with LF to mark the end of line.
SO Shift Out Switch to an alternative character set.
SI Shift In Return to regular character set after Shift Out.
DLE Data Link Escape Causes the next character to be interpreted as raw data and not as a control code or graphic character.
DC1 Device Control One Reserved for controlling the connected device.
DC2 Device Control Two Reserved for controlling the connected device.
DC3 Device Control Three Reserved for controlling the connected device.
DC4 Device Control Four Reserved for controlling the connected device.
NAK Negative Acknowledge Indicates an error was detected in the previous received block and a re-transmission should occur.
SYN Synchronous Idle Used in synchronous transmission systems to provide a signal from which synchronous correction may be achieved.
ETB End of Transmission Block Indicates the end of a transmission block of data.
CAN Cancel Indicates that the data preceding it are in error or are to be disregarded.
EM End of medium Indicates that the end of the usable portion of the tape has been reached.
SUB Substitute Indicates that a garbled or invalid characters had been received.
ESC Escape The ESC can be used in software user interfaces to exit from a screen/menu/mode and on terminals to signal that what follows is a special command sequence rather than normal text.
FS File Separator Used for file separation.
GS Group separator Used for group separation.
RS Record Separator Used for record separation.
US Unit separator Used for unit separation.
SP Space It causes the active position to be advanced by one character position.
DEL Delete On terminals, the character is generated by pressing the backspace, which deletes the last character.
We should also look at the extended control codes presented in the table below [10]. Extended control codes basically use the ESC control code character that represents an escape sequence. Each escape sequence starts with ESC character(0x1B in hexadecimal representation) also called escape character and is used to invoke alternative interpretation of subsequent characters – therefore that character will be interpreted as command rather than as data. Remember than an escape character can be any character, like a backslash \ in C++, which is used to escape characters for a new line, a new tabulator, etc. A character sequence starts with an ESC escape character followed by 0x40-0x5F character.
Extended control codes
ESC @ PAD Padding Character Not part of ECMA-48.
ESC A HOP High Octet Preset Not part of ECMA-48.
ESC B BPH Break Permitted Here Follows a graphic character where a line break is permitted.
ESC C NBH No Break Here Follows the graphic character that is not to be broken.
ESC D IND Index Move the active position one line down, to eliminate ambiguity about the meaning of LF.
ESC E NEL Next Line Equivalent to CRLF and is used to mark end of line.
ESC F SSA Start of Selected Area Used by block-oriented terminals.
ESC G ESA End of Selected Area Used by block-oriented terminals.
ESC H HTS Horizontal Tabulation Set Causes a character tabulation stop to be set at the active position.
ESC I HTJ Horizontal Tabulation With Justification The spaces or lines are placed preceding the active field so that preceding graphic character is placed just before the next tab stop.
ESC J VTS Vertical Tabulation Set Causes a line tabulation stop to be set at the active position.
ESC K PLD Partial Line Forward Used to produce subscripts and superscrips.
ESC L PLU Partial Line Backward Used to produce subscripts and superscrips.
ESC M RI Reverse Line Feed
ESC N SS2 Single-Shift 2 Next character invokes a graphic character from the G2 graphic sets.
ESC O SS3 Single-Shift 3 Next character invokes a graphic character from the G3 graphic sets.
ESC P DCS Device Control String Followed by a string of printable characters (0x20 through 0x7E) and format effectors (0x08 through 0x0D), terminated by ST (0x9C).
ESC Q PU1 Private Use 1 Reserved for a function without standardized meaning for private use as required.
ESC R PU2 Private Use 2 Reserved for a function without standardized meaning for private use as required.
ESC S STS Set Transmit State
ESC T CCH Cancel Character Destructive backspace, intended to eliminate ambiguity about meaning of BS.
ESC U MW Message Waiting
ESC V SPA Start of Protected Area Used by block-oriented terminals.
ESC W EPA End of Protected Area Used by block-oriented terminals.
ESC X SOS Start of String Followed by a control string terminated by ST (0x9C) that may contain any character except SOS or ST.
ESC Y SGCI Single Graphic Character Introducer Not part of ISO/IEC 6429.
ESC Z SCI Single Character Introducer To be followed by a single printable character (0x20 through 0x7E) or format effector (0x08 through 0x0D) used to access a graphic character regardless of which graphic or control set is in use.
ESC [ CSI Control Sequence Introducer Used to introduce control sequences that take parameters.
ESC ST String Terminator,
ESC ] OSC Operating System Command Followed by a string of printable characters (0x20 through 0x7E) and format effectors (0x08 through 0x0D), terminated by ST (0x9C). This control code was intended to be used to allow in-band signaling of protocol information, but can also be used as part of escape sequences.
ESC ^ PM Privacy Message Followed by a string of printable characters (0x20 through 0x7E) and format effectors (0x08 through 0x0D), terminated by ST (0x9C). This control code was intended to be used to allow in-band signaling of protocol information, but can also be used as part of escape sequences.
ESC _ APC Application Program Command Followed by a string of printable characters (0x20 through 0x7E) and format effectors (0x08 through 0x0D), terminated by ST (0x9C). This control code was intended to be used to allow in-band signaling of protocol information, but can also be used as part of escape sequences Followed by a string of printable characters (0x20 through 0x7E) and format effectors (0x08 through 0x0D), terminated by ST (0x9C). This control code was intended to be used to allow in-band signaling of protocol information, but can also be used as part of escape sequences.
From the tables above we can infer that escape sequences can be used in two ways:
Single Control Sequences: escape sequences starting with ESC 0x1B character followed by the ASCII character 0x40-0x5F (this is effectively presented in the table above).
Parameter Control Sequences: a special case of single control sequence "ESC [", which is used for control sequences that take parameters. The sequence is called CSI or Control Sequence Introducer.
The structure of ANSI escape sequences is as follows, where the first line presents the most generic representation of the escape sequence from which all escape sequences can be derived. The rest of the lines contain generally preferred and widely used escape sequences, which are easier to understand and work with.
ESC[ <private\_chars><n1>;<n2><trailing\_chars><final\_byte>
ESC[ <n1>;<n2><final\_byte>
ESC[ <n1><final\_byte>
ESC[ <final\_byte>
The elements in the escape sequences are described in the table below.
Escape sequence elements
ESC [ The control sequence introducer character, which specifies the control sequence that takes parameters.
private_chars Optional parameter specifying leading private mode characters from range 0x30-0x3F.
n1 Optional number parameter by default set to either 0 or 1 depending on the command.
; Colon used for future standardization, which delimits the first and second number and can be omitted if the n2 and trailing_chars are not used.
trailing_chars Optional parameter – if omitted, the semicolon can also be omitted.
final_byte Any character in range 0x40-0x7E, which can be modified by intermediate bytes in range 0x20-0x2F.
Prior to showing the real world usage of escape sequences, let's also take a look at the man page of echo command used to display a line of text in the terminal emulator. We'll be using echo command to show how escape sequences can be used when printing text to a terminal emulator. When the echo is used together with the -e parameter, it will enable interpretation of backslash escape characters, which are the following:
\\ : backslash
\a : alert (BEL)
\b : backspace
\c : produce no further output
\e : escape
\f : form feed
\n : new line
\r : carriage return
\t : horizontal tab
\v : vertical tab
\0NNN : byte with octal value NNN (1 to 3 digits)
\xHH : byte with hexadecimal value HH (1 to 2 digits)
Let's take a look at the few escape sequences and how we can use them [5]:
Examples of escape sequences
Command/Description
CSI n A Moves the cursor n (default 1) cells up. The first echo prints the sentence "This is a sunny day." normally. The second echo first prints "This is a " and then moves one line up overwriting part of the command-line text with the rest of the string "sunny day.". Then a new line is also printed that overwrites the original text "This is a sunny ".
CSI n B Moves the cursor n (default 1) cells down. The second echo command prints the first part of the string, adds a new line and the rest of the string is displayed.
CSI n C Moves the cursor n (default 1) cells forward. The first part of the string is displayed, after which an additional space character is introduced and the rest of the string displayed. The result are two spaced being displayed between the two words.
CSI n D Moves the cursor n (default 1) cells back. The first part of the string is displayed, after which the last character is deleted and the rest of the string displayed – the result is the deletion of the space character that delimits the two words.
Let's also present the color escape sequences that are quite often used in shell scripts to present text in a different color. I use the following color escape sequences to define different colors that can be used for displaying text in a terminal emulator.
black='\\e[00;30m'
red='\\e[00;31m'
green='\\e[00;32m'
yellow='\\e[00;33m'
blue='\\e[00;34m'
magenta='\\e[00;35m'
cyan='\\e[00;36m'
white='\\e[00;37m'
grey='\\e[30;1m\\]\\[\\016'
none='\\e[00m'
The syntax of the color escape sequences differs based on whether we're trying to change text color or background color in a terminal emulator. The syntax for each of them is presented below:
text : \e[{attribute_code};{text_color_code}m
background : \e[{attribute_code};{text_color_code};{background_color_code}m
The color for representing text elements starts with the control sequence introducer followed by the attribute code, followed by a semicolon ';' followed by the text color code and a letter 'm'. The black color above is represented with an escape sequence '\e[00;30m', where the 00 is the attribute_code and the 30 is the text_color_code.
There are many more escape sequences that can be used in the terminal emulator and can be located on the internet at [5, 11, 12]. Most of them are used for visually representing text displayed in a terminal emulator, while some can also be dangerous and can be used for arbitrary code execution – we'll take a look at those commands in the next section of the article.
To use the same example as before, we can display the word 'sunny' in red by adding the red escape color sequence before the word like presented on the picture below. After the sunny word, we must reset the text color back to black by using the black escape color sequence, otherwise the rest of the line will be displayed with a red text.
So far we've only used "echo -e" to use escape sequences in order to present certain words in red instead of in black color. But when an attacker wants to exploit a vulnerability in an Apache web server, he must be able to include special characters in log files, which get parsed as escape sequences when being displayed in the terminal emulator. Below we can see the usage of printf command where the standard string sentence is being piped to the test.bin file. When displaying the contents of test.bin file to terminal emulator with cat command, the escape sequences are taken into account, since the "sunny" is written in color red. At the end we're also displaying the contents of the test.bin file in hexadecimal format with xxd command to see the hexadecimal bytes consituting the text file.
We can also edit the text file in vim editor to see the bytes comprising a file.
Below I've highlighted the ESC byte, which has a hexadecimal representation 0x1b, the '[' character 0x5b and the zeros 0x30. What follows is the ; (0x3b), 3 (0x33), 1 (0x31), m (0x6d), etc.
Therefore if an attacker would like to use the escape sequences, he must be able to save those bytes into the log file, which will consequentially be outputted by a victim by using the cat command.
Escape characters are often used in shell scripts to provide syntax highlighting, but they can also be used by an attacker to cause terminal emulator to print garbage characters as well as possibly execute arbitrary commands in the system on which the terminal emulator is running. For an attack to be possible, an attacker must be able to display arbitrary data in the victim's terminal emulator. An attacker can do this by using security vulnerabilities in different software components to save save arbitrary data to the log files – an example is the CVE-2013-1892vulnerability in Apache HTTP server 2.2.x before 2.2.25, where the mod_rewrite module writes arbitrary data to the log file without sanitizing special characters, which could be used to present escape sequences. A complete description of the vulnerability is presented below.
mod_rewrite.c in the mod_rewrite module in the Apache HTTP Server 2.2.x before 2.2.25 writes data to a log file without sanitizing non-printable characters, which might allow remote attackers to execute arbitrary commands via an HTTP request containing an escape sequence for a terminal emulator.
Because the vulnerability exists in Apache HTTP server, it allows attacker to write escape sequences into the error log files.
Dangerous Escape Sequences
Terminal emulators support multiple features as described below [8]:
Screen Dumping: a screen dump escape sequence will open arbitrary file and write the current content of the terminal into the file. Some terminal emulators will not write to existing files, but only to new files, while others will simply overwrite the file with the new contents. An attacker might use this feature to create a new backdoor PHP file in the DocumentRoot of the web server, which can later be used to execute arbitrary commands.
Window Title: an escape sequence exists for setting the window title, which will change the window title string. This feature can be used together with another escape sequence, which reads the current window title and prints it to the current command line. Since a carriage return character is prohibited in the window title, an attacker can store the command in a window title and print it to the current command line, but it would still require a user to press enter in order to execute it. There are techniques for making the command invisible, like setting the text color to the same color as the background, which increases the changes of user pressing the enter key.
Command Execution: some terminal emulators could even allow execution of the command directly by using an escape sequence.
The test the screen dumping capability, we will download the rxvt version 2.7.8, which we can do by using the following commands. The compilation will most probably fail, which is why we need to apply thispatch, which will solve the problem and we'll be able to build successfully.
# apt-get install build-essential libXt-dev
# wget http://downloads.sourceforge.net/project/rxvt/rxvt-dev/2.7.8/rxvt-2.7.8.tar.gz
# tar xvzf rxvt-2.7.8.tar.gz
# cd rxvt-2.7.8/
# ./configure && make && make install
Then we have to consult the rxvt documentation available in rxvt-2.7.8/doc/rxvtRef.html file, which contains the following escape sequences:
Used escape sequences in rxvt-2.7.8
Escape Sequence
ESC c Reset the current contents of the terminal window, where the ESC is presented with 'e' character.
LF Insert a new line into the current terminal window; the 'n' character'.
ESC ] 55;Pt Save all scrollback buffer of the current terminal window into a file specified by Pt, where the ESC is presented with 'e' character.
BEL, Bell; the 'a' character.
Let's now execute the command presented on the picture below in the newly built rxvt; we're using echo to introduce escape sequences to the current terminal emulator. The red box (number 1) represents the "ESC c", which resents the contents of the current terminal window. Next the "data" string representing the actual file contents is echoed to the terminal window. Afterwards, there's the "ESC ]55;Pt", where the Pt text string is '/tmp/index.php'. That command dumps the current contents of the terminal window into the file /tmp/index.php. At the end there's a bell character indicating the end of command.
Once the command is executed, only the word "data" is present in the terminal window, while the rest of the characters have been reset.
If we display the contents of the /tmp/index.php file, we can observer that the word data is present in it with a bunch of new line characters. Therefore the attack on the terminal emulator has been successful and an arbitrary file was written on the file system. An attacker can use this functionality to create a backdoor in the DocumentRoot of the Apache web server in order to gain complete access to the system.
The actual vulnerable code is present in the rxvt-2.7.8/src/command.c source file, which contains the code presented below. The code is using a switch statement, which checks whether the current switch statement is Xterm_dumpscreen in which case, a file handle is open and the contents of the screen are dumped to the file, then the file is closed.
In this article we've seen how we can use escape sequences to do various actions in the terminal emulator. Its important to emphasize that escape sequences used in up-to-date terminal emulators used today most likely don't have such vulnerabilities, since they have been mitigated in the past. However, terminal emulators developed recently and used on other devices, like on embedded devices, Android, iOS can still contain such vulnerabilities.
All in all, this makes an interesting attack vector, which we must be aware of when penetration testing. If we can convince the application into writing a non-printable characters to a log file, then arbitrary escape sequences can be included in the file, which could be used to execute arbitrary code in a vulnerable version of a terminal emulator, write an arbitrary file to the file system, etc.
An additional research needs to be done to determine whether recent terminal emulators are using dangerous escape sequences that could lead to a system compromise. The terminal emulators on Android, iOS and other embedded systems are the ones that should be checked.
[1] Terminal emulator, https://en.wikipedia.org/wiki/Terminal_emulator.
[2] VT100, https://en.wikipedia.org/wiki/VT100.
[3] VT52, https://en.wikipedia.org/wiki/VT52.
[5] ANSI escape code, https://en.wikipedia.org/wiki/ANSI_escape_code.
[6] Ascii Table, http://www.asciitable.com.
[7] CVE-2013-1862, http://www.cvedetails.com/cve/CVE-2013-1862.
[8] TERMINAL EMULATOR SECURITY ISSUES, http://marc.info/?l=bugtraq&m=104612710031920&q=p3.
[9] Xterm Control Sequences, http://www.xfree86.org/current/ctlseqs.html.
[10] C0 and C1 control codes, https://en.wikipedia.org/wiki/C0_and_C1_control_codes.
[11] ANSI Escape sequences (ANSI Escape codes), http://ascii-table.com/ansi-escape-sequences.php.
[12] ANSI Escape Sequences, http://www.isthe.com/chongo/tech/comp/ansi_escapes.html.
Analysis of Disco Savings Adware
PfSense Vulnerabilities Part 4: Directory Traversal
PfSense Vulnerabilities Part 3: Local File Inclusion
PfSense Vulnerabilities Part 2: Command Injection
PfSense Vulnerabilities Part 1: XSS
Next Generation Dynamic Analysis with PANDA
The Awesomeness of Open Source
Installing and Using Cuckoo Malware Analysis Sandbox
Running VirtualBox/VMWare on Hardened Kernel
Copyright © 2013-2015 Protean Security | All Rights Reserved


Muslims in the United States are becoming more religious and politically active, they tend to believe America is an immoral society, and members of the younger generation appear more conservative than their parents, according to a detailed study to be released Tuesday.
The terror attacks of Sept. 11, 2001, had a lasting effect on the lives of American Muslims and led to two significant changes, the researchers said: More are attending mosques and activities in Islamic centers, and they want to become more involved in American politics to change policies they oppose.
Fallout from the attacks "made them realize they are a vulnerable community," said lead researcher Ihsan Bagby, a professor of Islamic studies at the University of Kentucky. "It accelerated their desire to become more involved both in their own communities and in America. This is an expansion of what it is to be pious. This process was already in place, but was accelerated by 9/11."
For the study, sponsored by the Institute for Social Policy and Understanding, a Michigan think-tank that studies Islamic issues, 1,298 Detroit-area Muslims completed questionnaires in mosques and at social events. Sixty-four percent of the respondents were male and 36 percent female. Researchers also drew some conclusions from interviews with mosque leaders.
Bagby said the study focused on the Detroit area but identified trends typical of the broader Islamic community. There are 6 million to 7 million Muslims in the U.S., according to the most reliable statistics.
Other Islamic experts said the findings do reflect trends among pious U.S. Muslims.
The vast majority of Muslims in metro Detroit say they should be politically active and work more to help non-Muslims, according to a survey to be released today.
Many also favor practicing an Islam that is flexible and moderate.
The findings were among the results of a survey taken last summer of almost 1,300 Muslims in metro Detroit, conducted by the Clinton Township-based Institute for Social Policy and Understanding. The report will be discussed in detail at a two-day conference about the lives of U.S. Muslims beginning Wednesday at Wayne State University.


Everyone thinks they need one, everyone really wants one and we all struggle when it comes to getting one. I'm talking about mentors.
Subconsciously, when we think of mentors, we immediately think of mentorship, which seems formal and distant. It's complicated by the fact that good mentors are most likely to be busy people, consumed with building their business or company. While mentors might like to take time out of their schedule to check-in with you, it might be hard to pin down an hour for an in-person conversation each week and that can be discouraging.