July 21, 1979 was an important date in history. It was not only Ito's birthday, but it was also the first day that metrosexuality came into existence. Yesterday, I went out to hang out with Ito and the SCU folks to celebrate his 28th birthday in Mountain View at Frankie, Johnnie & Luigi Too! We did a little bowling action at Palo Alto Bowl's Thirsty Thursday.
so is that where u get ur metro inspiration?
dang my infrequent e-mail checking! I missed out!!!


The Thracians 700 BC - AD 46 is an Osprey book in the series Men-at-arms, published in 2001. It is a 48 page paperback in English. Author Christopher Webber describes the different elements of the armies of the Thracians, who inhabited large parts of Greece, Russia and Turkey.
Table of contents: Chronology · Historical outline - Archaic, Classical, Hellenistic & Roman periods · The Sources · Thracian costume · Armour · Weapons · Fortifications · The Thracian Army · Thracian mercenary troops · Troop types · Tribes · Tactics · representative campaigns - Lysimachos in Thrace, 323 BC; Magnesia, 189 BC.


text:
namespace geofeatures_boost {} namespace boost = geofeatures_boost; namespace geofeatures_boost
{

namespace core
{

inline char const * demangle_alloc( char const * name ) BOOST_NOEXCEPT;
inline void demangle_free( char const * name ) BOOST_NOEXCEPT;

class scoped_demangled_name
{
private:
    char const * m_p;

public:
    explicit scoped_demangled_name( char const * name ) BOOST_NOEXCEPT :
        m_p( demangle_alloc( name ) )
    {
    }

    ~scoped_demangled_name() BOOST_NOEXCEPT
    {
        demangle_free( m_p );
    }

    char const * get() const BOOST_NOEXCEPT
    {
        return m_p;
    }

    BOOST_DELETED_FUNCTION(scoped_demangled_name( scoped_demangled_name const& ))
    BOOST_DELETED_FUNCTION(scoped_demangled_name& operator= ( scoped_demangled_name const& ))
};

#if defined( BOOST_CORE_HAS_CXXABI_H )

inline char const * demangle_alloc( char const * name ) BOOST_NOEXCEPT
{
    int status = 0;
    std::size_t size = 0;
    return abi::__cxa_demangle( name, NULL, &size, &status );
}

inline void demangle_free( char const * name ) BOOST_NOEXCEPT
{
    std::free( const_cast< char* >( name ) );
}

inline std::string demangle( char const * name )
{
    scoped_demangled_name demangled_name( name );
    char const * const p = demangled_name.get();
    if( p )
    {
        return p;
    }
    else
    {
        return name;
    }
}

#else

inline char const * demangle_alloc( char const * name ) BOOST_NOEXCEPT
{
    return name;
}

inline void demangle_free( char const * ) BOOST_NOEXCEPT
{
}

inline std::string demangle( char const * name )
{
    return name;
}

#endif

} // namespace core

} // namespace geofeatures_boost

#undef BOOST_CORE_HAS_CXXABI_H

#endif // #ifndef BOOST_CORE_DEMANGLE_HPP_INCLUDED

redpajama_set_name: RedPajamaGithub


text:
Why did Facebook briefly ban a fake news detection plugin?
By Saqib Shah	 December 3, 2016
alexeyboldin/123RF
Facebook may be busy trying to fix its fake news problem, but it isn't in favor of someone else teaching it how to do its job. On Friday afternoon, the social network began blocking links to the website of the "B.S. Detector" browser extension that alerts users to unreliable news sources. The ban lasted but a few hours, and was lifted at around 2.30 p.m. ET.
"It looks like a link you're sharing might be unsafe," read the Facebook security warning. It went on to prompt users to remove the link to the plugin, or complete a security check in order to post it.
B.S. Detector is an extension that searches all the links on a given webpage for references to unreliable sources, checking against a manually compiled list of domains. It then provides visual warnings about untrustworthy website links. The tool is the brainchild of writer and activist Daniel Sieradski, who describes it as a "rejoinder to Mark Zuckerberg's dubious claims that Facebook is unable to substantively address the proliferation of fake news on its platform." No wonder it didn't go down well with the social network.
Facebook has been extremely cautious in addressing fake news on its site. Its critics claim hyper-partisan and downright bogus news content achieved popularity via its platform, and consequently helped sway the recent election outcome. The company was quick to deny the allegation, and has since announced a number of planned updates to target fake news. It has, however, made no attempt to manually remove the content and the extremely popular Pages that circulate it.
In an emailed statement to Digital Trends, Facebook revealed the brief block on B.S. Detector was due to a slip-up on its part: "We maintain a set of systems to help us detect and block suspicious behavior on our site. We temporarily blocked people from sharing the domain bsdetector.tech because of other abuse we have seen from the .tech top-level domain. We have corrected the error."
Sieradski's plugin helps verify links based on a set of criteria, such as "extreme bias," "conspiracy theory," and "rumor mill," among others. He told Motherboard the open-source tool is not intended to censor links to websites, but rather to serve as a "helpful reminder" that not everything found online is necessarily authentic. B.S. Detector has reportedly been downloaded 25,000 times.
Earlier today, Sieradski tweeted the following about the ban: "mark my words: within a few hours facebook will have unbanned http://bsdetector.tech claiming it was accidental or automated." As it turns out, he was right.
The best web browsers for 2021
How to enable Flash in Google Chrome
2020 forced Big Social to address its flaws, but it's too late for an easy fix
The best head-up displays (HUDs) for 2021
How to go live on TikTok
What is Telegram?
What happened to Vine?
Tinder vs. Bumble
Facebook expands its ban on QAnon conspiracy theory accounts
Mike Pence's fly has already amassed 90,000 followers on Twitter
Here's how to get the anime filter on Snapchat
Best Buy Prime Day Sale: Top tech deals to shop today
Technology is easier than ever to use — and it's making us miserable

redpajama_set_name: RedPajamaCommonCrawl


Hemisected spinal cords of infant mice were exposed in vitro to varying concentrations of K+ in the bathing fluid. Interstitial potassium concentration ([K+]o) as well as dorsal and ventral root (DR and VR) potentials evoked by DR stimulation were recorded. [K+]o in spinal tissue was made to change from its control level of 3.5 mM by superfusing the preparation with modified artificial cerebrospinal fluid (ACSF). [K+]o in tissue followed bath [K+] in the range from 2.0 to 13 mM, but diverged from bath concentration at levels at or below 1.0 mM. Relatively high tissue [K+]o during exposure to low bath [K+] was attributed to leakage of K+ ions from cells. Between 2.0 and 5.0 mM [K+]o a shallow but consistent positive correlation was found between [K+]o and dorsal root reflex (DRR) amplitude, while segmental reflex (VRR) amplitude changed little. Outside the range of 2.0-5.5 mM DR and VR responses were severely depressed in both elevated and lowered [K+]o. In spite of depressed reflex responses, transient stimulus-evoked elevations of [K+]o were strikingly increased when the resting [K+]o fell below 2.0 mM, suggesting enhancement of voltage-dependent K+-current.


Nervousness, restlessness, a sinking feeling in your stomach – nearly everyone has experienced anxiety from time to time. However, for those with anxiety and panic disorders, these emotions occur on a daily basis.
People living with anxiety often suffer from panic attacks, constant worries, obsessive thoughts, or phobias that leave them feeling helpless. But, know that you don't need to live with these constant feelings of anxiety and fear.
Cognitive behavioural therapy (CBT), a form of psychotherapy (also known as talk therapy) helps clients find the powerful within themselves to control anxiety levels, conquer fear and silence worrisome thoughts. It has been shown by research to be an effective treatment for anxiety disorders.
While medication is often prescribed to help treat the symptoms of anxiety, cognitive behavioural therapy (CBT) works to get to the root of the issue and find its underlying causes.
This form of therapy addresses negative thought patterns and behaviors and helps clients understand how they both contribute to and trigger anxiety. The core premise of CBT lies in the fact that a person's thoughts affect the way they feel, and not external events. How a person perceives a situation determines how they react to it, and these thoughts and behaviors stem from individual expectations, attitudes and beliefs.
Working with a psychotherapist teaches patients how to relax and look at a perceived these situation from a new lens. Instead of letting negative thinking fuel negative emotions, cognitive behavioural therapy (CBT) teaches patients to challenge these patterns and replace them with positive, realistic thoughts.
Working in collaboration with their therapist, clients learn how to develop better coping and problem-solving skills that help overcome anxiety whenever it strikes.
Therapists will work with clients to learn how to recognize signs that they're feeling anxious and what these changes feel like in the body. Once these feelings can be recognized, you'll learn to use coping skills and relaxation techniques to counteract these feelings of anxiety and panic.
Relaxation techniques such as mindfulness meditation and muscle relaxation are also taught by therapists to help patients reduce anxiety, slow a racing mind, and find solace. This skill helps reduce the physical signs of anxiety (such as hyperventilating) and teaches clients to relax on their own.
Therapists will also suggest positive lifestyle changes that will help clients make conscious decisions to promote relaxation and a positive mental outlook. This can include reaching out to loved ones, starting a regular exercise routine, reducing stressors at work or school, and avoiding stimulants like caffeine and nicotine that can make anxiety worse.
As one of Canada's top 10 best psychotherapists, Melissa Cutler has spent the past 20 years gaining clinical and research experience across hospital, community and public sector settings, including as a social worker. With advanced training in cognitive behavioural therapy, trauma counselling, and chronic pain management, she helps clients manage depression and alter negative thought patterns and behaviors. Book online for a psychotherapy appointment at her office on Yonge and Lawrence near the subway.


text:
Jessica Russell
Name of the institution's formal community partnership to advance sustainability :
Miistakis Institute
Does the institution provide financial or material support for the partnership? :
Which of the following best describes the partnership timeframe?:
Multi-year or ongoing
Which of the following best describes the partnership's sustainability focus?:
The partnership supports at least one, but not all three, dimensions of sustainability
Are underrepresented groups and/or vulnerable populations engaged as equal partners in strategic planning, decision-making, implementation and review? (Yes, No, or Not Sure):
A brief description of the institution's formal community partnership to advance sustainability, including website URL (if available) and information to support each affirmative response above:
The Miistakis Institute focuses on ecological health and monitoring of wetlands, parks and other protected areas. The Institute educates and promotes citizen science as well as hires undergraduate students and researchers each year to help with their research and education programs.
Name of the institution's formal community partnership to advance sustainability (2nd partnership):
Canoes for Peru
Does the institution provide financial or material support for the partnership? (2nd partnership):
Which of the following best describes the partnership timeframe? (2nd partnership):
Which of the following best describes the partnership's sustainability focus? (2nd partnership):
The partnership simultaneously supports social equity and wellbeing, economic prosperity, and ecological health
Are underrepresented groups and/or vulnerable populations engaged as equal partners in strategic planning, decision-making, implementation and review? (2nd partnership) (Yes, No, or Not Sure):
A brief description of the institution's formal community partnership to advance sustainability, including website URL (if available) and information to support each affirmative response above (2nd partnership):
Starting in 2015, Canoes for Peru started as an ecotoursim class project to bring a sustainable business model to Peru. The project is meant to facilitate economic growth opportunities and raise awareness about preserving The South American Biosphere Reserve untouched land and wildlife. This project is ongoing.
http://www.mtroyal.ca/Summit/canoesperu.htm
Name of the institution's formal community partnership to advance sustainability (3rd partnership):
Treaty 7 Field School
Does the institution provide financial or material support for the partnership? (3rd partnership):
Which of the following best describes the partnership timeframe? (3rd partnership):
Which of the following best describes the partnership's sustainability focus? (3rd partnership):
Are underrepresented groups and/or vulnerable populations engaged as equal partners in strategic planning, decision-making, implementation and review? (3rd partnership) (Yes, No, or Unknown):
A brief description of the institution's formal community partnership to advance sustainability, including website URL (if available) and information to support each affirmative response above (3rd partnership):
The Treaty 7 Field school was developed between Indigenous and Non-Indigenous stakeholders to connect students to the land of Treaty 7 and understand our complex roots of truth and reconciliation. The curriculum was developed with Indigenous community members, elders and partners from the forefront. It explores environmental reconciliation through an Indigenous land-based experience. The field school has run three times and has deepened our institution's relationships with community members and Indigenous peoples of Treaty 7.
http://mtroyal.ca/IndigenousMountRoyal/news/field-school-partners.htm
A brief description of the institution's other community partnerships to advance sustainability:


Below is the short-short I wrote using these words. This week I turned the words into a another scene in the Adventures with Harrison and Mason series, this time told from Mason's 3rd-person POV.
The Piano Guys awesome version of Carol of the Bells flowed through the house as Mason quietly closed the front door. Jaxon glanced up from where he sat, writing at the coffee table in the living room. Mason placed his index finger to his lips, silently imploring his son to keep his arrival home a secret from Harrison.
Mason knew darned well Harrison was awake even though he was stretched out in the recliner with a cucumber slice over each eye. Jaxon smiled his agreement, and Mason tiptoed to the kitchen.
He quickly rifled through the junk drawer and came up with a tack, then reached up to secure the mistletoe he'd purchased to the header of the doorway between the living room and kitchen.
"Are you going to trick Daddy?" Jaxon asked when Mason approached.
Harrison opened his mouth like he was going to say something, then shut it and stood. Mason opened his arms and Harrison kissed him. "I love you," Harrison said.
"I love you, too." Mason loved Harrison with all his heart. And he knew Jaxon loved them equally even though the little boy and Mason were the ones who more often clicked when it came to creativity. Harrison wasn't shallow and understood that, too.
When Mason turned to ask Jaxon another question, the little boy was no longer sitting at the coffee table. Harrison laughed, and Mason spun to follow his husband's gaze. Jaxon was leaning against the door jamb under the mistletoe, apparently trying (but failing) to look casual.
So much for the element of surprise, a tactic Jaxon had yet to master. Harrison had probably known what Mason was up to, and this was more priceless than what he'd planned anyway.
They joined Jaxon under the mistletoe and each planted a kiss on the little boy's cheek as he giggled. That's what Christmas was all about…love and laughter.


Motivational Mondays…it's alright in the end!
Everything will be alright in the end….if it's not alright, it's not the end!….Patel, Hotel Manager, The Best Exotic Marigold Hotel.
This quote actually helped me as new snags were thrown into the mix throughout my divorce process. Basically, as your life is falling apart just know that it will get better and everything will be alright in the end!
This is the exact quote I needed at this exact time with the exact picture as well. Thank you!!


text:
Certified Criminal Trial Attorney
Assault and Threat Crimes
Narcotics Distribution
Extreme Risk Protective Order
Graves Act
Illegal Firearms Sale
Second Amendment Rights
Unregistered Firearm Violations
Driving While Suspended
Child Pornography Charges
Jessica Lunsford Act
Megan's Law
White Collar and Federal Crimes
South Jersey Gun Possession Lawyer
Experienced Criminal Defense Attorney Fights for Clients Facing Gun Possession Charges Throughout South Jersey
South Jersey gun possession lawyer John B. Brennan from The Law Office of John B. Brennan is a South Jersey lawyer who believes those charged with weapons offenses deserve someone standing by their side, fighting on their behalf.
Under New Jersey law, the unlawful possession of weapons includes such devices as machine guns, rifles, shotguns, and any type of handgun. Depending on the type of weapon, those merely in possession of such devices face a second-, third-, or fourth-degree crime.
Facing Gun Possession Charges And Have Questions? I Can Help, Tell Me What Happened.
John B. Brennan from The Law Office of John B. Brennan has experience as a South Jersey gun possession lawyer and as a lawyer dealing with other such issues as murder, manslaughter, aggravated assault, arson, criminal assault, bias intimidation, burglary, and sexual assault.
New Jersey has some of the strictest gun and weapon laws in the nation and imposes harsh penalties on those found in violation. In some cases, possession of a weapon is a secondary crime that con contribute to a more severe sentence when in combination with other offenses, such as possession of a firearm while committing a robbery.
A former prosecutor, Brennan has tried more than over 100 felony cases and resolved thousands more by way of plea negotiations in the Superior Court of New Jersey. As a member of the South Jersey Prosecutor's Office Major Crimes Unit, Brennan was responsible for all gun-related crimes for over a decade.
Get Advice From An Experienced Gun Possession Lawyer. All You Have To Do Is Call 856-988-5443 To Receive Your Free Case Evaluation.
One of the most common weapons charges in New Jersey is possession of a handgun without a permit to carry. This is a second-degree crime and carries a minimum term of five years in state prison, without eligibility for parole for three years.
The best chance to avoid the mandatory minimum is to choose a criminal defense lawyer who has seen enforcement from the other side. That criminal defense lawyer is John B. Brennan from The Law Office of John B. Brennan. Brennan has spent years giving individuals charged with gun possession both expert and vigorous representation.
Arrested? Facing Criminal Charges?
100% CONFIDENTIAL AND FREE CONSULTATION
Are you a new client or current client? Select an Option New Client Current Client Tell me what happened *:
Top-Rated Criminal Defense Attorney
Criminal Offense
Charges Reduced
Charges Reversed
Jail Sentence
10000 Lincoln Dr. East, Suite 201
(856) 988-5443 Map & Directions
© 2021 Brennan All Rights Reserved.


text:
Q: Golang text/tabwriter not working with strings.Builder as an output io.Writer when using '\t' The problem I am trying to solve
I need to display some data to the user in a formatted form (some kind of table in my case). So I am using text/tabwriter package as a simple option. I tried to output formatted strings to the string.Builder for further conversion to the simple string type. (os.Stdout is not an option in my case).
Difficulties I have encountered
When I am using strings.Builder as an output (type io.Writer) argument in the tabwriter.NewWriter() function it does not actually output anything (see code example in section below). This problem does not appear when I am using os.Stdout or any kind of file as an output.
What did I try to do
I have a test structure that represents some data I need to output:
type someData struct {
    FieldOne string
    FieldTwo string
}

Function that formats this data and returns a string:
func formatData(data []someData) string {
    var builder strings.Builder

    writer := tabwriter.NewWriter(&builder, 0, 0, 3, ' ', 0)
    defer writer.Flush()

    for _, d := range data {
        fmt.Fprintln(writer, d.FieldOne+"\t"+d.FieldTwo)
    }
    return builder.String()
}

Function call with test data:
data := []someData{
    someData{
        FieldOne: "sample",
        FieldTwo: "data",
    },
    someData{
        FieldOne: "something",
        FieldTwo: "here",
    },
}

fmt.Println(formatData(data))

This code is available on The Go Playground.
But when I am using os.Stdout as an output it works fine. Working code is also available on The Go Playground.
Also problem does not appear if I am not using '\t' in the string for tabwriter.
(This one: fmt.Fprintln(writer, d.FieldOne+"\t"+d.FieldTwo))
Example with '.' instead of '\t' is also available. The Go Playground

Thanks in advance for any help.

redpajama_set_name: RedPajamaStackExchange


Editor's Note: In our view, two interrelated factors largely explain how the Bush administration has managed to push the United States so far in surrendering its historic concepts of democracy and freedom. One has been the control of information; the other the manipulation of fear.
As a corollary, it's our judgment that the reversal of this dangerous process depends on two initiatives – reaching the American people with important facts and replacing fear with courage. Though achieving these goals will not be easy, we believe truth can trump propaganda and courage can overcome fear.
In this guest essay, Stephen Crockett, co-host of Democratic Talk Radio, gives his assessment of what's gone wrong and what needs to be done.
In the aftermath of 9-11, American politics and government went slightly insane. America turned its collective back on 200-plus years of successful democratic government and turned toward its dark side.
The national security state began to be seen as needed and desirable. This insane model of government always puts the State over the Individual and becomes both corrupt and dictatorial. Examples in history are numerous.
The United States of America began as a reaction to corrupt, dictatorial rule from the English monarchy. In modern times, the world has seen "national security" states arise in Nazi Germany, Fascist Italy, the Soviet Union, Pinochet Chile, and Franco Spain.
Other examples can be found all over the globe. Dictatorial powers were seized by corrupt political figures with ardent followers blinded by ideology following "national security" crises in every example.
After 9-11, we started speeding down that slippery slope. It is not too late for us as a nation to come to a screeching halt and return to our American political traditions should we make that choice as a nation.
Current events are forcing us to examine our course based on results instead of ideology. We have seen a great American city almost destroyed because we put national disaster relief under the control of incompetents at the Homeland Security Department. New Orleans started opening the eyes of American citizens everywhere.
Our government is ignoring federal law whenever it so desires in the name of national security. We have government-run secret prisons. We lock people away without filing criminal charges and never set trial dates.
We conduct torture and ignore the documented facts about that torture. We launch aggressive wars based on false information and propaganda aimed at our citizens along with the rest of the world.
We trample individual rights and civil liberties won at great expense for millions of American soldiers over generations in the name of "national security." We conduct government in secret to hide corruption at the highest levels claiming security concerns.
We spy on political dissenters who are seeking to return our nation to traditional American political values. We use Homeland Security and the American military to spy on average American citizens doing their civic duty.
The Bush Republicans controlling our government encourage the abuse of public office to advance strictly partisan political goals. They are trying falsely to redefine American patriotism as blindly following the most extreme of Republican Right policies and ideology.
They are assaulting the Bill of Rights and attacking the Constitutional principles of our nation. Our Constitutional system of checks and balances between competing branches of government, which was designed to prevent dictatorial government and guarantee individual liberty, has almost been overthrown under Bush Republican rule.
Separation of Church and State has been severely undermined by deliberate policy thereby threatening both with the corruption. Government has no business interfering in the religious aspects of our lives.
Homeland Security can act as a cover for all kinds of corruption and political abuse. Secrecy in government has always fostered corruption and abuse.
Traditionally, America divided our intelligence and law enforcement agencies up into many different competing units. The competition helped each unit act more aggressively and efficiently.
The different units helped prevent abuses by other units using our traditional checks and balances system. The system worked very well as long as it was overseen by a competent chief executive in the White House, effectively monitored by Congress and followed federal court guidelines.
9-11 did not demonstrate a failure of our system based on design. It instead demonstrated that the individuals involved failed the nation. The White House dropped the ball on national security in the months immediately before 9-11.
Bush, Cheney, Rumsfield and Ashcroft were largely responsible along with their aides and other individuals in various federal agencies. They were not coordinating the activities of the various federal agencies involved in law enforcement or intelligence effectively.
The hysteria and fear fostered and used by Bush, Cheney and the rest of the Bush Republicans was used to cover their failures and to achieve unchecked political power. Bush and Cheney should have been impeached for incompetence for allowing the 9-11 attacks to happen!
We now have a Homeland Security Department interfering with normal domestic political activity and threatening our democratic form of government. We need to return to our previous separation of the various units system concerning the law enforcement and intelligence agencies. We will get better unbiased intelligence information and more efficient law enforcement without as much politicization.
Homeland Security officials were somehow involved in the permitting unsupervised voting counting in Ohio during the 2004 Presidential election. The media was blocked from observing the vote count in at least one county as a result of interference from Homeland Security, according to numerous media reports.
In Idaho, Homeland Security was used to harass and intimidate a federal employee over an anti-War bumper sticker on his personal automobile Red State, Meet Police State http://www.boiseweekly.com/gyrobase/Content?oid=oid:158729 .
Homeland Security seems to be engaged in forcing American citizens to support the unpopular, unjust and unwise Iraq War policy of the Bush-Cheney Administration.
The national security state has really gotten totally out of control in Alaska, as evidenced in this recent example by Brad Friedman at Brad Blog.
"A bizarre story concerning Alaska's 2004 Election has taken yet another even more bizarre turn this week, The BRAD BLOG has learned.
A long-standing public records request for the release of Election 2004 database files created by Diebold's voting system had been long delayed after several odd twists and turns, including the revelation of a contract with the state claiming the information to be a "company secret."
But while it finally appeared as though the state had agreed to release the information (after reserving the right to "manipulate the data" in consultation with Diebold before releasing it), the state's top Security Official has now -- at the last minute -- stepped in to deny the request. The grounds for the denial: the release of the information poses a "security risk" to the state of Alaska.
It is now clear that we need to turn our back on the national security state model and return to the kind of wise, traditional American government founded by the leaders of the American Revolution and strengthened by generations of American heroes.
Stephen Crockett is co-host of Democratic Talk Radio http://www.DemocraticTalkRadio.com. Mail: P.O. Box 283, Earleville, Maryland 21919. E-mail: midsouthcm@aol.com .


text:
Hans Thoolen on Human Rights Defenders
share information on human rights defenders, comment on events, support the HRDs
Colombia: 21 January 2020 civil society begins a much-needed Patriotic March
Manusher Jonno Foundation honours 10 unsung rights defenders in Bangladesh
New national Human Rights Commission in Myanmar: OLD wine in a new bottle
24 January, Day of the Endangered Lawye: ABA focuses on Pakistan
Dutch government critical of pro-Israel lobby "NGO Monitor"
Call for nominations for the 2020 Right Livelihood awards
Human Rights in Africa in 2019: rage
Daniel Ravindran; a voice of reason in India's human rights debate
FIDH website partner in Observatory for HRDs
Martin Ennals Award for Human Rights Defenders THE award for Human Rights Defenders
OMCT website partner in Observatory for HRDs
True Heroes Films (THF) visualisation for human rights defenders
« European Lawyers in Lesvos awarded Pax Christi Peace Prize 2019
Public conference on the UN Human Rights Council on 4 September »
New agreement UNEP & OHCHR aims to better protect environmental human rights defenders
UN Colombia – A wide range of human rights activists have been targeted in Colombia, especially those living in rural areas. Human and environmental rights campaigners are one focus of a new UNEP/OHCHR agreement.
On 16 August 2019 the UN environment agency (UNEP) and the UN human rights office (OHCHR) signed a landmark new agreement aimed at better protecting vulnerable human and environmental rights defenders and their families, while increasing protection for people and the places where they live, across the world. The UN Environment Programme (UNEP) will strengthen cooperation with OHCHR, as threats to individuals and communities defending their environmental and land rights intensify. Reports suggest that an average of more than three rights defenders were killed every week last year.
"A healthy environment is vital to fulfilling our aspiration to ensure people everywhere live a life of dignity", said UNEP Executive Director, Inger Andersen. "We must curb the emerging trend of intimidation and criminalisation of land and environmental defenders, and the use of anti-protest and anti-terrorism laws to criminalise the exercise of rights that should be constitutionally protected." "UNEP and the UN Human Rights Office are committed to bringing environmental protection closer to the people by assisting state and non-state actors to promote, protect and respect environmental and human rights. In doing so, we will move towards a more sustainable and just planet," she added.
UN High Commissioner for Human Rights, Michelle Bachelet, said: "Our planet is being recklessly destroyed, and we urgently need stronger global partnerships to take action to save it…We call on leaders and governments to recognise that climate change and environmental degradation severely undermine the human rights of their people, particularly those in vulnerable situations – including the generations of tomorrow."
A key part of the new protection agreement is to monitor threats to environmental human rights defenders more closely, develop better defenders' networks, urge more effective accountability for perpetrators of violence and intimidation, and promote "meaningful and informed participation by defenders and civil society, in environmental decision-making.
Ms. Bachelet said every State needed to be encouraged "to develop and enforce national legal frameworks which uphold the clear linkages between a healthy environment and the ability to enjoy all other human rights, including the rights to health, water, food – and even the right to life…We also strongly encourage greater recognition that the actions and advocacy of environmental human rights defenders are deeply beneficial to all societies."
[see also the 2014 post: https://humanrightsdefenders.blog/2014/06/11/binding-un-treaty-needed-for-protection-of-environmental-human-rights-defenders/%5D
https://news.un.org/en/story/2019/08/1044361
This entry was posted on	August 19, 2019 at 11:06	and is filed under OHCHR, UN.
Tags: environmental human rights defenders, environmental issues, human rights monitoring, Inger Andersen, legal protection, Michelle Batchelet, OHCHR, UN High Commissioner for Human Rights, UNEP
One Response to "New agreement UNEP & OHCHR aims to better protect environmental human rights defenders"
Opening statement by UN High Commissioner Michelle Bachelet focuses very much on climate change | Hans Thoolen on Human Rights Defenders Says:
[…] Last month, the Office signed a strengthened partnership with the UN Environment Programme. This will include stepping up our cooperation to protect environmental human rights defenders at headquarters and in specific country and regional presences. It will ensure that we work within the UN system to ensure consistency and coherence across environmental and human rights actions. It will increase our support for national implementation of human rights-based environmental policies, including through the work of national human rights institutions. [see e.g.: https://humanrightsdefenders.blog/2019/08/19/new-agreement-unep-ohchr-aims-to-better-protect-environ…%5D […]


text:
California Officials Are Telling People To Stop Vaping Immediately
by Sarah Bregel
Justin Sullivan/Getty
The risks of vaping are clear as the number of lung-related illnesses keeps growing — and California is taking action
On Tuesday, the California Department of Public Health issued an advisory urging people to stop vaping right away. The advisory comes as a growing number of people have been hospitalized with lung-related illnesses. Two deaths have been reported in the state of California, but nationwide, that number is now up to nine. More than 500 people have become seriously ill as a result of vaping, as well.
Those numbers are expected to keep growing, though, hence this strongly worded warning. The advisory from the CDPH reads, "We are learning from this investigation that lung damage can happen very suddenly to people who vape, including people who have not been vaping for a long time, and young, healthy people who do not have lung disease or other health problems. This is different from most other health issues caused by vaping and smoking, which happen over a long time and can be worse in people who have other medical conditions."
It's clear that this issue is important and should be taken extremely seriously by those who currently vape. Dr. Charity Dean is California's acting public health officer. She said in a statement, "We are seeing something that we have not seen before. There are numerous unknown factors at this time, and due to the uncertainty of the exact cause, it is our recommendation that consumers refrain from vaping until the investigation has concluded."
Investigations could take some time, but it is expected that there is something toxic in the heated liquid — oil or another substance — that is causing the very fast-moving lung damage in those who use it.
Several symptoms, not just breathing problems, have been reported. Most commonly, people are coming to the hospital with difficulty breathing, coughing and chest pain, but they have also had nausea, abdominal pain, diarrhea, fevers, lethargy and weight loss. The challenging part is that many of the symptoms mimic pneumonia or bronchitis and since there is no specific test a doctor can do immediately to tell if the sickness is from vaping, it can be hard to tell the difference the first time a patient is seen.
Primo Castro, American Cancer Society Cancer Action Network L.A. Government Relations Director said in a statement, "This swift action is exactly the type of protections we would like to see. Make no mistake — the industry shamelessly tries to maximize profits while its customers suffer death and disease, and local taxpayers continue to foot the bill for tobacco-related illnesses."
Several other states like New York, Michigan, and Massachusetts have begun taking action to ban vaping. Hopefully, people in California, as well as across the U.S. take this warning to heart because the danger of vaping is now clearer than ever.
I Don't Regret Telling My Kids All About My Dating Life
I Finally Got My Anxiety Under Control, And I'm A Better Mom For It


text:
Weather MN
MN Lifestyle
In its first year, Minneapolis only collected half as much organics recycling as it had hoped
More people signed up than expected, though.
Josette Elieff
Minneapolis released data Friday for its first full year of organics recycling. And it had more people participate than the city initially expected. However, it didn't divert nearly as much waste.
Last July, the program expanded to cover the entire city, the Star Tribune reports. Back then, the city anticipated 40 percent of households would opt in for the service. That's about 42,000.
But participation actually went above and beyond that. According to Friday's report, 45,000 households signed up to recycle food scraps and dirty paper products.
As far as how much was diverted from landfills, 4,000 tons of organics was recycled. That's a lot, but it's only half as much as the city had initially anticipated.
David Herberholz, Minneapolis' director of solid waste, told the paper that's because people are being very careful about what they're recycling.
"People are very conscious of getting the program right," he said. "So they're kind of tiptoeing and concentrating on the food waste, initially."
Which is good because less than 1 percent of what residents were placing in carts was not acceptable material.
So people are throwing in things like fruit and vegetable scraps – not bones, egg cartons, popsicle sticks, and food-soiled paper products, which the program also accepts.
Minneapolis residents can sign up for the organics recycling program here. It doesn't cost anything extra. For a list of what is and is not accepted, click here.
What if you don't live in Minneapolis?
If you live outside of Minneapolis, check with your city and county to see it they offer organics recycling or composting.
Not everything is curbside pickup, but you might be able to drop organics off for free somewhere.
For tips on composting, click here. For tips on managing food waste, click here. And to learn how to make the most of the groceries you buy, click here.
According to a report by the Minnesota Pollution Control Agency, Minnesotans produced about 5.5 million tons of trash in 2015. That's 2,000 pounds per person.
Of that, 32 percent of trash was sent to landfills, 44 percent was recycled, 23 percent went to waste-to-energy processing, and 1 percent was illegally dumped or burned.
The agency said that a recent waste composition study in Minnesota found that 63 percent of waste going to disposal or processing facilities could have been recycled or composted.
Twin Citiesthe outdoorsrecyclingthe environmentwith context
Video: Remember Minneapolis' plastic bag ban? What exactly happened with that?
That plastic bag ban never happened ... what's with that?
The Minneapolis Institute of Art just had its busiest year ever
Mia says it's looking forward to another exciting year.
MN Health
Report: People throw out a lot of food, here's how to not waste so much
About 40 percent of food in America is wasted.
MN Business
Minnesota is on pace to quadruple its solar energy capacity this year
In the first three months of 2017, Minnesota's doubled the solar capacity it had last year.
Just how much waste from the State Fair gets recycled and reused?
What does it take to clean up after 1.8 million people during 12 days at Minnesota's greatest get-together?
Video: I saved all my trash for 2 weeks to see if I had more than the average Minnesotan
Minnesotans produce 5.5 to 6 million tons of trash every year.
St. Thomas to open new 2-year college to shrink the achievement gap
It's a more affordable option that will help students work up to a bachelor's degree.


text:
classdef CoreReporting < CoreReportingInterface
    % CoreReporting. Provides error, message and progress reporting.
    %
    %     CoreReporting. Implementation of CoreReportingInterface, which is used by
    %     CoreMat and other libraries for progress and error/message reporting. This
    %     implementation displays warnings and messages on the command window,
    %     and uses Matlab's error() command to process errors. Logging
    %     information is writen to a log file. An object which implements
    %     the CoreProgressInterface can be passed in for progress reporting.
    %
    %     Usage
    %     -----
    %
    %     You should create a single CoreReporting object and pass it into all the
    %     CoreMat routines you use in order to provide error, warning,
    %     message and progress reporting during execution of routines.
    %
    %     If you are not writing a gui application but would like a standard
    %     pop-up progress dialog to appear while waiting for plugins to execute,
    %     consider creating a CoreReportingDefault object instead. Use CoreReporting
    %     if you want to specify your own progress dialog, or specify a gui
    %     viewing panel, or if you want no progress dialog at all.
    %
    %         reporting = CoreReporting(progress_dialog, viewing_panel);
    %
    %             progress_dialog - a CoreProgressInterface object such as
    %                 a CoreProgressDialog for displaying a progress bar. You can omit this argument
    %                 or replace it with [] if you are writing scripts to run
    %                 in the background and do not want progress dialogs popping
    %                 up. Otherwise, you should create a CoreProgressDialog
    %                 or else implement your own progress class if you want
    %                 custom behaviour.
    %
    %     See CoreReportingIntertface.m for details of the methods this class
    %     implements.
    %
    %
    %     Licence
    %     -------
    %     Part of CoreMat. https://github.com/tomdoel/coremat
    %     Author: Tom Doel, 2013.  www.tomdoel.com
    %     Distributed under the MIT licence. Please see website for details.
    %

    properties (Constant)
        CancelErrorId = 'CoreReporting:UserCancel'
    end

    properties
        ProgressDialog  % Handle to a CoreProgressInterface object
    end

    properties (Access = private)
        LogFileName     % Full path to log file

        % Stack for nested progress reporting
        ProgressStack
        CurrentProgressStackItem
        ParentProgressStackItem
        VerboseMode
    end

    methods
        function obj = CoreReporting(progress_dialog, verbose_mode, log_file_name)
            if nargin > 0
                obj.ProgressDialog = progress_dialog;
            end
            if nargin > 1
                obj.VerboseMode = verbose_mode;
            else
                obj.VerboseMode = false;
            end
            if nargin > 2
                obj.LogFileName = log_file_name;
            else
                obj.LogFileName = fullfile(CoreDiskUtilities.GetUserDirectory, 'corereporting.log');
            end

            obj.ClearProgressStack;
        end

        function Log(obj, message)
            [calling_function, ~] = CoreErrorUtilities.GetCallingFunction(2);

            obj.AppendToLogFile([calling_function ': ' message]);
        end

        function LogVerbose(obj, message)
            if obj.VerboseMode
                [calling_function, ~] = CoreErrorUtilities.GetCallingFunction(2);
                obj.AppendToLogFile([calling_function ': ' message]);
            end
        end

        function ShowMessage(obj, identifier, message)
            [calling_function, ~] = CoreErrorUtilities.GetCallingFunction(2);
            if isempty(calling_function)
                calling_function = 'Command Window';
            end
            disp(message);
            obj.AppendToLogFile([calling_function ': ' identifier ':' message]);
        end

        function ShowWarning(obj, identifier, message, supplementary_info)
            [calling_function, ~] = CoreErrorUtilities.GetCallingFunction(2);

            obj.AppendToLogFile([calling_function ': WARNING: ' identifier ':' message]);
            disp(['WARNING: ' message]);
            if nargin > 3 && ~isempty(supplementary_info)
                disp('Additional information on this warning:');
                disp(supplementary_info);
            end

        end

        function Error(obj, identifier, message)
            [calling_function, stack] = CoreErrorUtilities.GetCallingFunction(2);

            if ischar(calling_function) && length(calling_function) >= 13 && strcmp(calling_function(1:13), 'CoreReporting')
                [calling_function, stack] = CoreErrorUtilities.GetCallingFunction(3);
            end

            msgStruct = [];
            msgStruct.message = ['Error in function ' calling_function ': ' message];
            msgStruct.identifier = identifier;
            msgStruct.stack = stack;
            obj.AppendToLogFile([calling_function ': ERROR: ' identifier ':' message]);
            error(msgStruct);
        end

        function ErrorFromException(obj, identifier, message, ex)
            [calling_function, stack] = CoreErrorUtilities.GetCallingFunction(2);

            msgStruct = [];
            msgStruct.message = ['Error in function ' calling_function ': ' message ' Exception message:' ex.message];
            msgStruct.identifier = identifier;
            msgStruct.stack = stack;
            obj.AppendToLogFile([calling_function ': ERROR: ' identifier ':' message]);
            error(msgStruct);
        end

        function ShowProgress(obj, text)
            adjusted_text = obj.AdjustProgressText(text);

            if ~isempty(obj.ProgressDialog) && isvalid(obj.ProgressDialog)
                if nargin > 1
                    obj.ProgressDialog.SetProgressText(adjusted_text);
                else
                    obj.ProgressDialog.ProgressText();
                end
                obj.CurrentProgressStackItem.Visible = true;
            end
        end

        function CompleteProgress(obj)
            if ~isempty(obj.ProgressDialog)
                if isempty(obj.ProgressStack) || ~obj.ParentProgressStackItem.Visible
                    obj.ProgressDialog.Complete;
                    obj.CurrentProgressStackItem.Visible = false;
                end
            end
        end

        function UpdateProgressMessage(obj, text)
            adjusted_text = obj.AdjustProgressText(text);

            if ~isempty(obj.ProgressDialog)
                obj.ProgressDialog.SetProgressText(adjusted_text);
                obj.CurrentProgressStackItem.Visible = true;
            end
        end

        function UpdateProgressValue(obj, progress_value)
            adjusted_value = obj.AdjustProgressValue(progress_value, []);

            if ~isempty(obj.ProgressDialog)
                obj.ProgressDialog.SetProgressValue(adjusted_value);
                obj.CurrentProgressStackItem.Visible = true;
            end
            obj.CheckForCancel;
        end

        function UpdateProgressStage(obj, progress_stage, num_stages)
            progress_value = 100*progress_stage/num_stages;
            value_change = 100/num_stages;
            adjusted_value = obj.AdjustProgressValue(progress_value, value_change);
            if ~isempty(obj.ProgressDialog)
                obj.ProgressDialog.SetProgressValue(adjusted_value);
                obj.CurrentProgressStackItem.Visible = true;
            end
            obj.CheckForCancel;
        end

        function UpdateProgressAndMessage(obj, progress_value, text)
            adjusted_value = obj.AdjustProgressValue(progress_value, []);
            adjusted_text = obj.AdjustProgressText(text);

            if ~isempty(obj.ProgressDialog)
                obj.ProgressDialog.SetProgressAndMessage(adjusted_value, adjusted_text);
                obj.CurrentProgressStackItem.Visible = true;
            end

            obj.CheckForCancel;

        end

        function cancelled = HasBeenCancelled(obj)
            if ~isempty(obj.ProgressDialog)
                cancelled = obj.ProgressDialog.CancelClicked;
            else
                cancelled = false;
            end
        end

        function CheckForCancel(obj)
            if obj.HasBeenCancelled
                obj.Error(CoreReporting.CancelErrorId, 'User cancelled');
            end
        end

        function PushProgress(obj)
            obj.ProgressStack(end + 1) = obj.ParentProgressStackItem;
            obj.ParentProgressStackItem = obj.CurrentProgressStackItem;
            obj.CurrentProgressStackItem = CoreProgressStackItem('', obj.ParentProgressStackItem.MinPosition, obj.ParentProgressStackItem.MaxPosition);
            obj.CurrentProgressStackItem.Visible = obj.ParentProgressStackItem.Visible;

        end

        function PopProgress(obj)
            obj.CurrentProgressStackItem = obj.ParentProgressStackItem;
            obj.ParentProgressStackItem = obj.ProgressStack(end);
            obj.ProgressStack(end) = [];
        end

        function ClearProgressStack(obj)
            obj.ProgressStack = CoreProgressStackItem.empty(0);
            obj.CurrentProgressStackItem = CoreProgressStackItem('', 0, 100);
            obj.ParentProgressStackItem = CoreProgressStackItem('', 0, 100);
        end

        function ShowAndClearPendingMessages(obj)
        end

        function OpenPath(obj, file_path, message)
            disp([message, ': ', file_path]);
        end
    end

    methods (Access = private)
        function AppendToLogFile(obj, message)
            file_id = fopen(obj.LogFileName, 'at');
            message = [datestr(now) ': ' message];
            fprintf(file_id, '%s\n', message);
            fclose(file_id);
        end

        function adjusted_text = AdjustProgressText(obj, text)
            adjusted_text = text;
            obj.CurrentProgressStackItem.ProgressText = text;
        end

        function adjusted_value = AdjustProgressValue(obj, value, value_change)
            if isempty(value_change)
                value_change = value - obj.CurrentProgressStackItem.LastProgressValue;
            end
            obj.CurrentProgressStackItem.LastProgressValue = value;

            scale = (obj.ParentProgressStackItem.MaxPosition - obj.ParentProgressStackItem.MinPosition)/100;
            adjusted_value = obj.ParentProgressStackItem.MinPosition + scale*value;
            obj.CurrentProgressStackItem.MinPosition = adjusted_value;
            if value_change > 0
                obj.CurrentProgressStackItem.MaxPosition = adjusted_value + scale*value_change;
            end
        end

        function SetValueChange(obj, value_change)
            value = obj.CurrentProgressStackItem.LastProgressValue;
            scale = (obj.ParentProgressStackItem.MaxPosition - obj.ParentProgressStackItem.MinPosition)/100;
            adjusted_value = obj.ParentProgressStackItem.MinPosition + scale*value;
            obj.CurrentProgressStackItem.MinPosition = adjusted_value;
            if value_change > 0
                obj.CurrentProgressStackItem.MaxPosition = adjusted_value + scale*value_change;
            end
        end
    end
end


We are excited to offer this 2019 Nissan Titan. This Nissan includes: [B92] SPLASH GUARDS (PIO) [K03] PRO-4X UTILITY PACKAGE Rear Parking Aid Daytime Running Lights Rear Defrost Premium Sound System [X03] MONOTONE PAINT *Note - For third party subscriptions or services, please contact the dealer for more information.* Today's luxury vehicle is not just about opulence. It's about a perfect balance of performance, comfort and attention to detail. This 2019 Nissan Titan is the perfect example of the modern luxury. Take home this Nissan Titan PRO-4X, and you will have the power of 4WD. It's a great feature when you need to drive over tricky terrain or through inclement weather. Based on the superb condition of this vehicle, along with the options and color, this Nissan Titan PRO-4X is sure to sell fast. We look forward to seeing you soon! Please call us for more information.


Are you feeling depressed and alone? Discover how normalizing your negative feelings is the key to happiness.
You Matter, and why it's important to know that.
Why Choose Interpersonal Group-therapy and Group-channeling?
Transformational Healing, Part Two: Why It's so Important to trust and follow your own natural pace.
You have the power to change reality.
Transformational Healing, Part One: Essential non-linear activation of your multidimensional DNA code.
How to choose the right coach, counsellor, mentor or healer that can support your unique and authentic expression.


Stephen Colbert, who will forever be remembered for his searing take down of President George W. Bush at a White House Correspondents dinner with Mr. Bush sitting just feet from him, hasn't been a friend to Mr. Kasich on either of his two guest appearances on the popular CBS late night anchor show featuring actors and musicians among other guests.
Colbert's first guest, Steve Buscemi, who is well known for his many riveting roles on TV and at the movies, starred in the Cohen Brother's production of "Fargo," a crime drama set in Minnesota in 1987. The plot of the film involves a car salesman in Minneapolis who has gotten himself into debt and is so desperate for money that he hires two thugs to kidnap his own wife. One of those thugs was played by Mr. Buscemi.
Colbert, who moved to the Late Show on CBS from his Comedy Channel show where he played a conservative talk show pundit based on Bill O'Reilly of Fox News, handed John Kasich's book to Buscemi, then asked him to read passages written by Kasich on how the Fargo film so disgusted him and his wife that he tried to get Blockbuster Video to ban it.
Buscemi read aloud Kasich's story of renting it, watching it and being revolted by it. The two actors then did a sketch based on the book with Buscemi, whose bad-guy character that eventually gets ground up in a wood chipper being the tipping point for John Kasich, using Kasich's own words as the script.
The sad truth for Gov. Kasich is that while he does stand for something, his long record shows it's the wrong stuff. Meanwhile, as one of the three amigos remaining in the race for Republican presidential nominee this year, the prickly CEO-style governor finds himself far behind in convention delegates to league leader Donald Trump and Ted Cruz in second place.
Kasich was in Wisconsin today, ahead of next Tuesday's primary. Finishing in first place once in 30 races so far—he won his home state of Ohio but with less than 50 percent of the vote—polls show he's got third place wrapped up. With 18 more state primaries to go, the smart money isn't being bet on John Kasich winning any of those either. His plan is to try to steal the nomination when Republicans convene in Cleveland in July.
The 63-year old term-limited governor is ripe for picking, and some reporters did that this week when the former Congressman and Lehman Brothers banker made the faux pas of being caught eating pizza with a fork in New York City. Colbert didn't include that faux pas this time, but there's little doubt that Colbert's supper smart writers took note.
As for the movie John and Karen Kasich so disliked, in 2006 it was deemed "culturally, historically, or aesthetically significant" by the Library of Congress and inducted into the United States National Film Registry for preservation. The film is just one of six films to have been preserved in their first year of eligibility. The American Film Institute named it one of the 100 greatest American movies of all time in 1998.
Election Standards Switch Shows Kasich's Political Persona Will Gov. Kasich's Sixth 'State Of The State' Address Ignore The Real State Of The State?


A successful business profile means striking a careful balance between what you show and what you keep to yourself. Continue reading at Home Business Magazine.
If you're a consultant, coach, or a freelancer giving advice, think of yourself as a thought leader. Those thoughts can be your assets that will make you money. Professionals, like you, in every industry and across a variety of roles are producing original material to share and distribute their ideas online and in the workplace. Continue … More Should I Copyright My Work?
Leave a comment Should I Copyright My Work?


Agile is an iterative approach to software product development. It helps project teams deliver value to their customers faster and better. One of the key agile principles is to deliver work in small, testable and manageable scale. Instead of upfront requirements identification, agile emphasize the continuous discovery and identification of requirements throughout a project. Agile teams can react to change faster and easier.
What is this agile tutorial about?
This is a step-by-step agile scrum tutorial that helps you understand the core concept of agile development as well as the way how agile project can be executed from the beginning until the end (i.e. product delivery). The agile software Scrum Process Canvas will be used throughout this tutorial. The whole agile scrum tutorial will cover various agile topics and it is recommended that readers read this scrum tutorial in order in order to fully understand the flow of agile project development.
This agile tutorial has been written for both the people below.
There are totally twenty lessons covered in this agile tutorial. Click on a lecture to begin.


text:
Cashback News – Oct 2: RetailMeNot, Shoes.ca, VW Canada, NatWest & RBS, Shopify, China apps burnout…
Cashback, Retail
Comments Off on Cashback News – Oct 2: RetailMeNot, Shoes.ca, VW Canada, NatWest & RBS, Shopify, China apps burnout…
This just in… Zacks upgrades shares of RetailMeNot from a sell to a hold rating, an indicator of market interest in this global coupon company leader. Shoes.ca unveils two-hour delivery of your shoes orders in Vancouver and Toronto. VW Canada uses cashback to woo buyers after its recent auto environmental PR crisis. In the UK, NatWest and RBS banks are offering cashback on your cookies and household bills.
Ever wanted to sell on Twitter? Shopify is the first to make it possible.
RetailMeNot Upgraded at Zacks
Zacks upgraded shares of RetailMeNot (NASDAQ:SALE) from a sell rating to a hold rating in a report issued on Friday, MarketBeat Ratings reports. According to Zacks, "RetailMeNot, Inc. operates as a digital coupon marketplace that connects consumers with retailers and brands. It offers online deal information that enables users to purchase goods and services at a discount. The company's portfolio of coupon and deal websites includes www.RetailMeNot.com, www.RetailMeNot.ca, www.VoucherCodes.co.uk, www.Deals.com, www.Actiepagina.nl, Bons-de-Reduction.com, www.ma-Reduc.com, www.Poulpeo.com and www.Deals2Buy.com. RetailMeNot, Inc. is headquartered in Austin, Texas. " Via wkrb13.com
SHOES.com Brings Two-Hour Delivery to Canada
Canadian Footwear and apparel retailer SHOES.COM announces a 2-hour delivery service on select footwear products. The first online retailer to offer on-demand delivery in Canada, SHOES.COM is elevating the Canadian e-commerce sector by bringing Canadians a level of service that's among the fastest in the world.
Customers can now order select footwear products on SHOES.COM's Canadian website, SHOEme.ca, and have them delivered directly to their home or office in 2 hours or less. Among other benefits, this new service will enable a growing group of local fulfilment centres to benefit from SHOES.COM's technology, operations, and marketing without the costly overhead that comes with running a successful e-commerce business. Via risnews.edgl.com
VW Canada offering incentives to woo buyers back
Until Nov. 2, Volkswagen says it is offering a choice of lower finance rates, lower lease rates and cash incentives on select vehicles. That figure is now lower, as all sales since have been of gasoline powered cars, Volkswagen Canada said Friday. Alternatively, customers can opt for lease rates as low as 0.9 per cent for up to 48 months, depending on the model, or up to $6,000 cashback. Via globalnews.ca
NatWest and RBS account offers cashback on household bills
NatWest and Royal Bank of Scotland is attempting to stem the flow of customers to rival banks by launching a current account that gives people cashback on their household bills. The account, available from 12 October, is the latest to reward customers for their loyalty, and is likely to be seen by many as an attempt to copy Santanders hugely popular 123 current account. This has been the No 1 deal for those switching from one bank to another, though it may suffer a dip in popularity after it emerged recently that the monthly fee is to rise from £2 to £5. Via theguardian.com
Twitter Buy Now Button
Today, were adding Twitter to that list, making Shopify the first and only ecommerce platform to allow merchants to sell across all three major social networks. Twitter and Shopify have partnered to make Buy Now buttons available to Shopify merchants, making it easier for them to get their products into their followers' hands. Today, they're opening it up to small and medium-sized businesses through Shopify. Via shopify.com
Chinese Consumer Apps Burn Out in Price War
For several months this year, Chinese smartphone app Car8 delivered car wash services to users in Beijing for the low price of 10 yuan ($1.57), a hefty discount on the usual 20 yuan to 30 yuan price. The cost to Car8 for each car wash was 17 yuan, but the hope was to build a base of loyal customers and then to be able to phase out the discounts…. Now, scores of 'online-to-offline' apps are folding after running out of cash and failing to raise more. Via wsj.com
That's it for Cashback News this week. Enjoy your weekend and will be back Monday with more cashback news you can use.
Tagged with : apps , cashback , China apps , Mobile , RetailMeNot , Shoes.ca , Shopify , VW
Cashback News – Oct 1: Rocket Group, 53 Asia startups, Shopify, 28 Indonesia ecommerce sites, Ibotta…
Cashback News – Oct 5: TheNextWeb, FinTech predictions, Amazon groceries, Cashback India boom, RetailMeNot…


text:
Nicola Sturgeon press conference: RECAP as First Minister addresses nation
Jenners fire Edinburgh: Fire breaks out at Jenners building in Princes Street
Spectacular Northern Lights display stretches down Scottish coast
A spectacular display of the Northern Lights could be seen down Scotland's east coast in the early hours of yesterday.
9th Sep 2017, 7:00am
Updated 12th Sep 2017, 12:18pm
The three Bridges of the Firth of Forth are framed by a bright green aurora. Picture: SWNS
Hundreds of people witnessed the dancing colour of the aurora borealis of Northern Lights, as they exploded over Edinburgh.
During a light show the lasted for more than an hour, civil engineer Paul Baralos took photographs of a bright green streak of light framing the three bridges of the Firth of Forth.
The vivid aurora was seen further south than normal due to a burst of high solar activity.
Mr Baralos, 43, who helped to work on the new bridge, said it was "pretty special" to have spotted the lights from his kitchen.
He said: "It was just by luck that I saw them – I was heading up to bed and I glanced out my kitchen window.
"I actually went to Iceland a few years ago for Christmas, hoping to see the Northern Lights, but the weather was bad so I didn't get to see them.
"To be able to see them within five or six miles of my own house was pretty special.
"You can see the Northern Lights over Scotland about once a year in some form, but never usually this far south."
Mr Baralos, from Edinburgh, said he spotted the lights at about 12:30am, and that by 12:40am the clouds were beginning to close in and they started to disappear. Specialists advise going to an area of dark sky and a view of the northern horizon to be in with a chance of catching a glimpse of the lights.
Shaun Alexander, an aurahunter from Edinburgh got an alert around 1am on Thursday night and headed straight to the city's Craigmillar Castle to try to catch a glimpse.
He said: "The storm was incredible because under normal circumstances, you wouldn't see them at all if you near city lights, while a full moon is also bad.
"Usually you have to drive down the east coast or up to the Highlands to find a place dark enough to see them.
"To see them as clear as I did over Edinburgh means the storm was intense."
And expert Dr Nathan Case, from Aurora Watch UK at Lancaster University, said significant cosmic activity five days ago had indicated a display was imminent.
"Solar flares were happening on the sun on September 4 and one of those flares is the largest we've seen in the last 12 years," he said.
"It is hard predict exactly when the activity will reach earth and we only knew exactly about an hour before."


text:
Client library for ApplicationInsightsManagementClient

## Installation and Usage
```bash
npm install --save @datafire/azure_applicationinsights_componentcontinuousexport_api
```
```js
let azure_applicationinsights_componentcontinuousexport_api = require('@datafire/azure_applicationinsights_componentcontinuousexport_api').create({
  access_token: "",
  refresh_token: "",
  client_id: "",
  client_secret: "",
  redirect_uri: ""
});

.then(data => {
  console.log(data);
});
```

## Description

Azure Application Insights client for Continuous Export of a component.

## Actions

### ExportConfigurations_List
Gets a list of Continuous Export configuration of an Application Insights component.

```js
azure_applicationinsights_componentcontinuousexport_api.ExportConfigurations_List({
  "resourceGroupName": "",
  "api-version": "",
  "subscriptionId": "",
  "resourceName": ""
}, context)
```

#### Input
* input `object`
  * resourceGroupName **required** `string`: The name of the resource group. The name is case insensitive.
  * api-version **required** `string`: The API version to use for this operation.
  * subscriptionId **required** `string`: The ID of the target subscription.
  * resourceName **required** `string`: The name of the Application Insights component resource.

#### Output
* output [ApplicationInsightsComponentExportConfigurationListResult](#applicationinsightscomponentexportconfigurationlistresult)

### ExportConfigurations_Create
Create a Continuous Export configuration of an Application Insights component.

```js
azure_applicationinsights_componentcontinuousexport_api.ExportConfigurations_Create({
  "resourceGroupName": "",
  "api-version": "",
  "subscriptionId": "",
  "resourceName": "",
  "ExportProperties": {}
}, context)
```

#### Input
* input `object`
  * resourceGroupName **required** `string`: The name of the resource group. The name is case insensitive.
  * api-version **required** `string`: The API version to use for this operation.
  * subscriptionId **required** `string`: The ID of the target subscription.
  * resourceName **required** `string`: The name of the Application Insights component resource.
  * ExportProperties **required** [ApplicationInsightsComponentExportRequest](#applicationinsightscomponentexportrequest)

#### Output
* output [ApplicationInsightsComponentExportConfigurationListResult](#applicationinsightscomponentexportconfigurationlistresult)

### ExportConfigurations_Delete
Delete a Continuous Export configuration of an Application Insights component.

```js
azure_applicationinsights_componentcontinuousexport_api.ExportConfigurations_Delete({
  "resourceGroupName": "",
  "api-version": "",
  "subscriptionId": "",
  "resourceName": "",
  "exportId": ""
}, context)
```

#### Input
* input `object`
  * resourceGroupName **required** `string`: The name of the resource group. The name is case insensitive.
  * api-version **required** `string`: The API version to use for this operation.
  * subscriptionId **required** `string`: The ID of the target subscription.
  * resourceName **required** `string`: The name of the Application Insights component resource.
  * exportId **required** `string`: The Continuous Export configuration ID. This is unique within a Application Insights component.

#### Output
* output [ApplicationInsightsComponentExportConfiguration](#applicationinsightscomponentexportconfiguration)

### ExportConfigurations_Get
Get the Continuous Export configuration for this export id.

```js
azure_applicationinsights_componentcontinuousexport_api.ExportConfigurations_Get({
  "resourceGroupName": "",
  "api-version": "",
  "subscriptionId": "",
  "resourceName": "",
  "exportId": ""
}, context)
```

#### Input
* input `object`
  * resourceGroupName **required** `string`: The name of the resource group. The name is case insensitive.
  * api-version **required** `string`: The API version to use for this operation.
  * subscriptionId **required** `string`: The ID of the target subscription.
  * resourceName **required** `string`: The name of the Application Insights component resource.
  * exportId **required** `string`: The Continuous Export configuration ID. This is unique within a Application Insights component.

#### Output
* output [ApplicationInsightsComponentExportConfiguration](#applicationinsightscomponentexportconfiguration)

### ExportConfigurations_Update
Update the Continuous Export configuration for this export id.

```js
azure_applicationinsights_componentcontinuousexport_api.ExportConfigurations_Update({
  "resourceGroupName": "",
  "api-version": "",
  "subscriptionId": "",
  "resourceName": "",
  "exportId": "",
  "ExportProperties": {}
}, context)
```

#### Input
* input `object`
  * resourceGroupName **required** `string`: The name of the resource group. The name is case insensitive.
  * api-version **required** `string`: The API version to use for this operation.
  * subscriptionId **required** `string`: The ID of the target subscription.
  * resourceName **required** `string`: The name of the Application Insights component resource.
  * exportId **required** `string`: The Continuous Export configuration ID. This is unique within a Application Insights component.
  * ExportProperties **required** [ApplicationInsightsComponentExportRequest](#applicationinsightscomponentexportrequest)

#### Output
* output [ApplicationInsightsComponentExportConfiguration](#applicationinsightscomponentexportconfiguration)

## Definitions

### ApplicationInsightsComponentExportConfiguration
* ApplicationInsightsComponentExportConfiguration `object`: Properties that define a Continuous Export configuration.
  * ApplicationName `string`: The name of the Application Insights component.
  * ContainerName `string`: The name of the destination storage container.
  * DestinationAccountId `string`: The name of destination account.
  * DestinationStorageLocationId `string`: The destination account location ID.
  * DestinationStorageSubscriptionId `string`: The destination storage account subscription ID.
  * DestinationType `string`: The destination type.
  * ExportId `string`: The unique ID of the export configuration inside an Application Insights component. It is auto generated when the Continuous Export configuration is created.
  * ExportStatus `string`: This indicates current Continuous Export configuration status. The possible values are 'Preparing', 'Success', 'Failure'.
  * InstrumentationKey `string`: The instrumentation key of the Application Insights component.
  * IsUserEnabled `string`: This will be 'true' if the Continuous Export configuration is enabled, otherwise it will be 'false'.
  * LastGapTime `string`: The last time the Continuous Export configuration started failing.
  * LastSuccessTime `string`: The last time data was successfully delivered to the destination storage container for this Continuous Export configuration.
  * LastUserUpdate `string`: Last time the Continuous Export configuration was updated.
  * NotificationQueueEnabled `string`: Deprecated
  * PermanentErrorReason `string`: This is the reason the Continuous Export configuration started failing. It can be 'AzureStorageNotFound' or 'AzureStorageAccessDenied'.
  * RecordTypes `string`: This comma separated list of document types that will be exported. The possible values include 'Requests', 'Event', 'Exceptions', 'Metrics', 'PageViews', 'PageViewPerformance', 'Rdd', 'PerformanceCounters', 'Availability', 'Messages'.
  * ResourceGroup `string`: The resource group of the Application Insights component.
  * StorageName `string`: The name of the destination storage account.
  * SubscriptionId `string`: The subscription of the Application Insights component.

### ApplicationInsightsComponentExportConfigurationListResult
* ApplicationInsightsComponentExportConfigurationListResult `array`: A list of Continuous Export configurations.
  * items [ApplicationInsightsComponentExportConfiguration](#applicationinsightscomponentexportconfiguration)

### ApplicationInsightsComponentExportRequest
* ApplicationInsightsComponentExportRequest `object`: An Application Insights component Continuous Export configuration request definition.
  * DestinationAccountId `string`: The name of destination storage account.
  * DestinationAddress `string`: The SAS URL for the destination storage container. It must grant write permission.
  * DestinationStorageLocationId `string`: The location ID of the destination storage container.
  * DestinationStorageSubscriptionId `string`: The subscription ID of the destination storage container.
  * DestinationType `string`: The Continuous Export destination type. This has to be 'Blob'.
  * IsEnabled `string`: Set to 'true' to create a Continuous Export configuration as enabled, otherwise set it to 'false'.
  * NotificationQueueEnabled `string`: Deprecated
  * NotificationQueueUri `string`: Deprecated
  * RecordTypes `string`: The document types to be exported, as comma separated values. Allowed values include 'Requests', 'Event', 'Exceptions', 'Metrics', 'PageViews', 'PageViewPerformance', 'Rdd', 'PerformanceCounters', 'Availability', 'Messages'.


text:
Q: trying to horizontally align a countdown timer (first time coding/building) This is my first time building a website. I picked a free bootstrap 3 theme and started editing it from there to try and get the hang of it all. So far it has been going well but I am having problems trying to horizontally center the countdown timer on my site (http://romy.landofthelegend.com/index.php?cID=1)
I tried fidgeting with the HTML, js, and CSS but if there is change the timer will still be aligned left but have a word-break instead.

  var finalDate = '2017/04/14';
  $('div#counter').countdown(finalDate)
    .on('update.countdown', function(event) {

      $(this).html(event.strftime('
' +
        '%D days' +
        '%H hours' +
        '
' +
        '
' +
        '%M mins' +
        '%S secs' +
        '
'));

    });
.main-content-tablecell {
  display: table-cell;
  vertical-align: bottom;
  z-index: 700;
}
.main-content-tablecell .row {
  position: relative;
  padding-top: 4.2rem;
  padding-bottom: 15rem;
}
.main-content-tablecell #counter {
  margin-bottom: 4.2rem;
}
.main-content-tablecell #counter:before,
.main-content-tablecell #counter:after {
  content: "";
  display: table;
}
.main-content-tablecell #counter:after {
  clear: both;
}
.main-content-tablecell #counter .half {
  float: left;
}
.main-content-tablecell #counter span {
  float: left;
  text-align: right;
  color: #FFFFFF;
  font-family: "roboto-black", sans-serif;
  font-size: 12rem;
  line-height: 1;
  padding: 0;
  margin-bottom: 1.5rem;
}
.main-content-tablecell #counter span sup {
  font-family: "roboto-bold", sans-serif;
  font-size: .17em;
  color: rgba(255, 255, 255, 0.3);
  top: -3.6em;
  right: 1em;
}
.main-content-tablecell h1 {
  font-size: 4.2rem;
  line-height: 1.143;
  color: #FFFFFF;
  margin-bottom: 1.2rem;
  max-width: 600px;
  position: relative;
}
.main-content-tablecell p {
  color: rgba(255, 255, 255, 0.3);
  font-family: "roboto-regular", sans-serif;
  font-size: 1.8rem;
  max-width: 400px;

          94 days
          23 hours

           40 mins
          03 secs

please try to make it as simple as possible with explaining, since I am still learning :)
Thank you in advance!

A: I would suggest first go over bootstrap css and understand grid system and existing components structure. Try to reuse what is already. http://getbootstrap.com/css/#overview

<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Bootstrap</title>

    <link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet">


text:
/**
 * @include GeoExt/widgets/tree/LayerLoader.js
 */
Ext.namespace("GeoExt.tree");

/** api: (define)
 *  module = GeoExt.tree
 *  class = LayerContainer
 *  base_link = `Ext.tree.AsyncTreeNode <http://extjs.com/deploy/dev/docs/?class=Ext.tree.AsyncTreeNode>`_
 */

/** api: constructor
 *  .. class:: LayerContainer
 *
 *      A subclass of ``Ext.tree.AsyncTreeNode`` that will collect all layers of an
 *      OpenLayers map. Only layers that have displayInLayerSwitcher set to true
 *      will be included. The childrens' iconCls defaults to
 *      "gx-tree-layer-icon".
 *
 *      Note: if this container is loaded by an ``Ext.tree.TreeLoader``, the
 *      ``applyLoader`` config option of that loader needs to be set to
 *      "false". Also note that the list of available uiProviders will be
 *      taken from the ownerTree if this container's loader is configured
 *      without one.
 *
 *      To use this node type in ``TreePanel`` config, set nodeType to
 *      "gx_layercontainer".
 */
GeoExt.tree.LayerContainer = Ext.extend(Ext.tree.AsyncTreeNode, {

    /** api: config[loader]
     *  :class:`GeoExt.tree.LayerLoader` or ``Object`` The loader to use with
     *  this container. If an ``Object`` is provided, a
     *  :class:`GeoExt.tree.LayerLoader`, configured with the the properties
     *  from the provided object, will be created.
     */

    /** api: config[layerStore]
     *  :class:`GeoExt.data.LayerStore` The layer store containing layers to be
     *  displayed in the container. If loader is not provided or provided as
     *  ``Object``, this property will be set as the store option of the
     *  loader. Otherwise it will be ignored.
     */

    /** private: method[constructor]
     *  Private constructor override.
     */
    constructor: function(config) {
        config = Ext.applyIf(config || {}, {
            text: "Layers"
        });
        this.loader = config.loader instanceof GeoExt.tree.LayerLoader ?
            config.loader :
            new GeoExt.tree.LayerLoader(Ext.applyIf(config.loader || {}, {
                store: config.layerStore
            }));

        GeoExt.tree.LayerContainer.superclass.constructor.call(this, config);
    },

    /** private: method[recordIndexToNodeIndex]
     *  :param index: ``Number`` The record index in the layer store.
     *  :return: ``Number`` The appropriate child node index for the record.
     */
    recordIndexToNodeIndex: function(index) {
        var store = this.loader.store;
        var count = store.getCount();
        var nodeCount = this.childNodes.length;
        var nodeIndex = -1;
        for(var i=count-1; i>=0; --i) {
            if(this.loader.filter(store.getAt(i)) === true) {
                ++nodeIndex;
                if(index === i || nodeIndex > nodeCount-1) {
                    break;
                }
            }
        }
        return nodeIndex;
    },

    /** private: method[destroy]
     */
    destroy: function() {
        delete this.layerStore;
        GeoExt.tree.LayerContainer.superclass.destroy.apply(this, arguments);
    }
});

/**
 * NodeType: gx_layercontainer
 */
Ext.tree.TreePanel.nodeTypes.gx_layercontainer = GeoExt.tree.LayerContainer;


One of Scarfe's most popular drawings of the Iron Lady. (Print size: 48cm x 32cm. Printed on high quality archival matt paper. Hand signed by Gerald Scarfe. Limited edition of 100. Issued with a signed Certificate of Authenticity).


Happy birthday, to Jesus be all honor and praise!
guided by a shining star.
Is there any special gift I can bring my Lord today?
He gave all when he left heaven to be born a little babe.
thank you for your shining light.
thank you for eternal life.
thank you for your love and grace.
Happy birthday to Jesus be all honor and praise!
now I offer them to you.
May I use all that you give to bring glory to your name.
Lord I pray that I will always seek your light to guide my way.
Glory to your Holy name!
How lovely! Thank you for sharing your gift.
Thanks Kathi! Glory to His holy name!


Start 10:29am at official recreational site in Porsanger Kommune, 8km North of Lakselv on the E6. 14c, overcast and l wind. Alt 10m, 1018hPa. Finish 14:42pm at the roadsign "Porsanger Museum" on the E6. 17c, partly clouded, l wind. Alt 30, 1010hPa.
On todays stage we yet again had a destinct change of terrain and vegetation as you can see on the live pic. Into the birch & pinetree area along the beautifull Lakselv river (directly it translates to "salmon river" - and it appears to be right: our naighbour at the campground has apparently just caught an 11kg specimen !).
At the finishpoint we met the first Finland stagerunner - who had heard of the run by internet and drove up here to join :-) Cool !! He'll run w. us on tomorrows stage to Karasjok; approx. 50km.
Sarah and I am so far taking well to the challenge, but also there is still a fair part left to run !


text:
Q: ufw hostname resolution I enabled ssh logging on a remote machine. Then I configured ufw for ssh (22), DHCP (67,68) and DNS (53)
I can logging by ip address and hostname when ufw is disabled:
$ ssh user@192.168.0.240 # OK
$ ssh user@pc1 # OK
$ arp -a
pc1 (192.168.0.240)

When I enable ufw, I can only connect by ip address, hostname resolution is failing:
$ ssh user@192.168.0.240 # OK
$ user@pc1 # NOK
Could not resolve hostname pc1:  Name or service not known
$ arp -a
? (192.168.0.240)

So my question is simple: how can I resolve hostnames with ufw enabled ?
EDIT: current ufw configuration
$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 3142/tcp                   ALLOW OUT   Anywhere                   (out)
[ 3] 53                         ALLOW OUT   Anywhere                   (out)
[ 4] 53                         ALLOW IN    Anywhere
[ 5] 67/udp                     ALLOW IN    68/udp
[ 6] 68/udp                     ALLOW IN    Anywhere
[ 7] 3142/tcp (v6)              ALLOW OUT   Anywhere (v6)              (out)
[ 8] 53 (v6)                    ALLOW OUT   Anywhere (v6)              (out)
[ 9] 53 (v6)                    ALLOW IN    Anywhere (v6)
[10] 67/udp (v6)                ALLOW IN    68/udp (v6)
[11] 68/udp (v6)                ALLOW IN    Anywhere (v6)

A: $ tail -f /var/log/ufw.log

helped while issuing the ssh user@hostname command: it showed a blocked connection on port 5355, which corresponds to hostmon in /etc/services, so
$ sudo ufw allow in 5355

solved the problem ...


text:
Where Are the Black Women?
Black History, Women's History
Fri 9 October 2020
When researching her recent book, author Sara Sheridan worked through over 5,000 female biographies – but Where Are the Black Women in Scotland's past?
When writing and researching Where Are the Women? A Guide to an Imagined Scotland, I spent six months remapping Scotland according to female history. All of the streets, statues, buildings and monuments I created were dedicated to real women, telling their often unknown stories.
A spotlight on the sidelined
During my research I worked my way through over 5,000 female biographies. My book tells the stories of more than 1,200 extraordinary women. But I couldn't fit in everyone I wanted to – that's how amazing our foremothers were.
For me, the purpose of this alternative world was to highlight the one-sided nature of how we memorialise history in our built environment and landscape. This therefore skews our perception of where we come from.
Not all the women were easy to find. I was committed to mirroring Scotland's diversity in the memorials I invented and also honour women's achievements. Not only 'grand' achievements such as scientific discoveries or leading trailblazing political movements, but also women who changed their local world. Perhaps a tea lady at a football club or a midwife in a remote community.
This reflects the way men are memorialised in real life – for their large achievements and small ones.
Sara's research involved researching over 5,000 women in biographical dictionaries, obituaries, publications and more to find the stories of Scotland's women.
Records of early modern racism
When it came to finding Black women in Scotland's history, I searched long and hard. I was determined not to flinch from recording stories that emanated from our shameful past of slave ownership.
The earliest Black women I found lived in Scotland during the late medieval and early modern eras. Sir William Dunbar, a makar, wrote a poem intended to be comic in the late 1400s. He titled it 'Of Ane Blak-Moir', addressed to a Black woman providing entertainment at a tournament.
Poking fun at her physical appearance, Dunbar's poem makes uncomfortable reading, to be frank, but it shows there were Black women in Scotland during the era. I raised an imaginary statue to this unnamed woman in my book.
Scotland's Transatlantic Slave Trade
Not long after Dunbar's poem was written, I found a record of 'Blak' Margaret and 'Blak' Elene. They were maidservants at Linlithgow Palace and Edinburgh Castle in the early 1500s. They had been captured from a Portuguese ship, which means they were trafficked.
In fact most of the Black women I found until I came to the modern era were connected to the Transatlantic Slave Trade in some manner, including freed slaves like Malvina Wells. She was from Grenada and came to Scotland as a servant to the family who had previously owned her. Today, you can find her buried in St John's graveyard on Edinburgh's Princes Street.
Malvina Wells' grave is the only known grave in Edinburgh of someone born enslaved. Image courtesy of Rachael Lloyd and the National Records of Scotland, where you can discover more about Malvina.
Women of independent means
Other Black women came to Scotland because their white fathers endowed them with inheritances. Annetta Watson was the illegitimate daughter of slave owner Peter Watson. Born in Guyana, she inherited £6,000 when her father died (a substantial amount) and came to Scotland. First living in Innerleithen, she then become a music teacher in Glasgow as her inheritance dwindled.
Another black Scottish heiress, Margaret McGuffie, lived in Wigtown, where her father was Provost. Her house was called Barbados Villa and her story is told in a biography – The House that Sugar Built by Donna Brewster.
Agostino Brunias (Italian, ca. 1730-1796). Free Women of Color with Their Children and Servants in a Landscape, ca. 1770-1796. Oil on canvas, 20 x 26 1/8 in. (50.8 x 66.4 cm). Brooklyn Museum, Gift of Mrs. Carll H. de Silver in memory of her husband, by exchange and gift of George S. Hellman, by exchange, 2010.59 (Photo: Brooklyn Museum, 2010.59_PS6.jpg)
The person who intrigued me most in this period is Dorothy 'Doll' Thomas – known as the 'Queen of Demerara' – who was a successful businesswoman. She arrived in Glasgow in August 1810 looking to educate some of her children and grandchildren in Scotland. Though a slave owner (registers of the period show her owning about 80 people), she appears to have stood up for her slaves including one called Sally, a pregnant black woman who was killed in police custody in Demerara (now Guyana).
Doll was a fascinating figure whose story runs counterintuitively to the common expectations of women of colour during the era. When she arrived in London it was said she had a skirt made out of five pound notes and a necklace of golden doubloons. She also leant money to her (white) son-in-laws when their businesses ran into trouble.
Woman and Child, a statue on Lothian Road in Edinburgh, was unveiled in 1986 to "honour all those killed or imprisoned for their stand against apartheid". Image © Dianne King, part of the HES Archives.
Scotland's links to South Africa
Later, I would come across women of colour who came to Scotland to study for degrees at our universities. One of them, Kesavaloo Naidoo, founded South Africa's Resistance Campaign against apartheid in 1946. She served 17 jail terms for her fight against segregationist policies.
Educated at the University of Edinburgh, she returned to South Africa to vote in the first democratic election but in 1978 left to escape police harassment, only returning in 1990 after Nelson Mandela was freed.
Dr Kesaveloo Goonum, courtesy of Subry Govender
Unrecorded histories
The sources of these stories were varied.
Helpful academics kindly pointed me in the right direction and specialist blogs, including David Alston's detailed and horrifying work on Scottish ownership of enslaved people, produced more stories. I also contacted community organisations and asked for tips – in one case being told that there simply wasn't any material that they knew of!
Some records came to me by chance. I came across the Black maidservants at Linlithgow when I was scanning medieval material for another woman, and their stories have been well researched.
But what is telling is that, as far as I am aware, the stories of Scotland's Black women are not gathered together anywhere.
We need to honour the lives of these women and there is a great deal more work to be done in understanding their stories and their contribution to Scottish culture and history.
A blank commemorative plaque – who would you commemorate?
Sara Sheridan is named as one of the Saltire Society's most influential women, past and present. She's known for the Mirabelle Bevan mysteries, a series of historical novels based on Georgian and Victorian explorers, and has written non-fiction on the early life of Queen Victoria. With a fascination for uncovering forgotten women in history, she is an active campaigner and feminist.
« From Virginia to Paisley: The Life of Peter Burnet
Frederick Douglass: Scotland's Anti-slavery Agent »


A cookie is a small text file which is sent to your computer or mobile device by our web server so that our website can remember some information about your browsing activity on our site. At each page of www.giant-bicycles.com you visit, information is sent back to the server - cookies will collect information about how you use our website, demographic data, information about your device such as the device's IP address and the browser you used to visit our site and if you arrived at our site via a link from another website, the URL of the linking page.
These cookies are essential for the running of our website and without them parts of our website wouldn't work. They don't track where you have been on the internet and don't gather information about you that could be used for marketing purposes.
Functional cookies allow us to recognise your browser - we use this function to remember your preference so that you do not have to select your chosen country on each visit. We can't use these cookies to identify you personally and they don't track your internet usage.
Analytical performance cookies are used to monitor our websites performance, tracking statistics such as the number of unique users visiting our site and the number of pages that are viewed. Web analytics services may be designed and operated by third parties such as Google Analytics. This information is anonymous, it doesn't contain personal information and can't be used to identify you and is used for statistical purposes only. The information provided by these cookies allows us to analyse patterns of behaviour on our website and improve the experience we provide based on this information.


I have a few N64 game boxes and manuals for sale (no cartridges), plus a few other bits and bobs. All in very good condition (were stored away for years). Will stick on here and if no interest then they'll go on ebay. Prices including P&P.
Last edited by che_don_john on Thu Jan 03, 2019 6:18 pm, edited 59 times in total.
Just sent you a PM. I'll mark those you've enquired about as 'pending' in the meantime, so that others can see that someone else has enquired about them already.
Games now listed on ebay here.
Last edited by che_don_john on Tue Nov 15, 2011 10:29 am, edited 1 time in total.
Few games remaining, so offering them up cheap before I take them to charity shop.
Thread updated 15/11/11 (see top).
Can I take the Mario Land 3D issue please.


German media report that officials say a suspect in an incident at a movie theater in the southwest of the country is dead.
The dpa news agency reported that Interior Minister Peter Beuth said in the Hesse state legislature in Wiesbaden that the man was shot dead.
Police say no one was injured.
Police earlier Thursday said that there was a "threat situation" at the Kinopolis movie theater in the town of Viernheim which probably involved a weapon. Spokeswoman Christiane Kobus said she couldn't give further details of what was happening.
She would not confirm unsourced German media reports that an armed man had entered the movie theater and fired at least one shot.
Norbert Schaetzle, a spokesman for police in the nearby city of Mannheim, said the police force there was not directly involved in the incident, but had sent officers to support their colleagues in the town.


text:
Sounds Great! – Sahil Gupta, Co-founder, Product Lead, Soundskrit – Hearing What We Want to Hear—The New Technology That Is Improving Audio
Sahil Gupta, co-founder and product lead of Soundskrit (soundskrit.ca), delivers an engrossing overview of the future of audio and microphone technology. Gupta received a B.S. and master's of engineering in electrical and computer engineering from Cornell University. Gupta worked intensively in the MEMS lab on the DARPA N-ZERO program to develop important zero-power wireless sensors. His standout work received the highest honors in the advanced, elite program and is currently patent pending. DARPA is the Defense Advanced Research Projects Agency. It is an agency of the United States Department of Defense that is responsible for the development of new and emerging technologies for use by the military. And DARPA's N-ZERO program focuses on two primary areas—unattended sensors (that can monitor a physical environment continuously with near-zero power consumption) and radio receivers (that are always alert for radio transmissions, also with near-zero power consumption).
Soundskrit's mission is to make audio important, so it will no longer be an afterthought. Gupta states that Soundskrit has developed a microphone that can zoom in on the essential sounds that you deem are most important, in a similar manner to how cameras can zoom in on images. Soundskrit's microphone separates sounds coming in from various, different directions and provides improved speech recognition in addition to more advanced, higher quality recordings. Their bio-inspired design directly measures particle velocity of sound as opposed to its pressure, and that makes a significant difference. Gupta discusses the scalability of this technology and how it relates to sound quality in terms of frequency.
As he explains, it is often challenging to gather all the information in the lower frequency range, thus Soundskrit is perfecting ways to enhance the low end. Gupta details the fascinating auditory systems of insects such as spiders, crickets, and flies, and how they use sensors to monitor the air that passes across hair on their bodies, to detect approaching predators. It was this type of intricate insect ability that inspired Gupta to develop Soundskrit's primary audio technology.
The audio tech expert discusses autonomous vehicles and other devices that could utilize the technology as it can literally zoom in on sounds to discover their exact source, which facilitates the efficiency of the process for repairing or preventing potential mechanical problems. And Gupta talks about some of the amazing concepts that we could see in the future, such as blended audio—audio that could allow, for example, someone who is walking with headphones to be more aware of incoming sounds that they should hear, such as sirens, etc., for their own safety.
Gupta explains how the technology Soundskrit has developed could be used in many future applications and devices. From smartphone improvements to conference line and meeting room technology, smart home devices and more, Gupta expects to see sweeping changes that will dramatically improve audio and microphone usage.
https://media.blubrry.com/futuretechpodcast/p/app.pippa.io/public/streams/5b30894b97cd27226c0471cc/episodes/5baca84cf8a7ea0f7d796de2.mp3
Improving Audio


Hey, Brad, how'd you get that hair?
It sticks up straight in all the right places! Think he spends time in front of the mirror and works it? Or does a stylist do the disheveling for him? My son wakes up this way and I have to beg him to brush his hair, but on Brad it looks great. Could your guy do it—or would it look like he lost a fight with an eggbeater?