text:
#include "SimulatorConfig.h"
#include <sstream>

#ifdef _MSC_VER
#define strcasecmp _stricmp
#endif

void ProjectConfig::resetToWelcome(void)
{
	m_isWelcome = true;
    string path = SimulatorConfig::sharedDefaults()->getQuickCocos2dxRootPath();
    path.append("player/welcome");
    SimulatorConfig::makeNormalizePath(&path);
    setProjectDir(path);
    setWritablePath(path);
    setScriptFile("$PROJDIR/scripts/main.lua");
    setFrameSize(CCSize(960, 640));
    setFrameScale(1.0f);
    setLoadPrecompiledFramework(true);
    setPackagePath("");
    setShowConsole(false);
    setWindowOffset(CCPointZero);
    setWriteDebugLogToFile(false);
}

const string ProjectConfig::getProjectDir(void)
{
    return m_projectDir;
}

void ProjectConfig::setProjectDir(const string projectDir)
{
    m_projectDir = projectDir;
    normalize();
}

const string ProjectConfig::getScriptFile(void)
{
    return m_scriptFile;
}

const string ProjectConfig::getScriptFileRealPath(void)
{
    return replaceProjectDirToFullPath(m_scriptFile);
}

void ProjectConfig::setScriptFile(const string scriptFile)
{
    m_scriptFile = scriptFile;
    normalize();
}

const string ProjectConfig::getWritablePath(void)
{
    return m_writablePath;
}

const string ProjectConfig::getWritableRealPath(void)
{
    return replaceProjectDirToFullPath(m_writablePath);
}

void ProjectConfig::setWritablePath(const string writablePath)
{
    m_writablePath = writablePath;
    normalize();
}

const string ProjectConfig::getPackagePath(void)
{
    return m_packagePath;
}

const string ProjectConfig::getNormalizedPackagePath(void)
{
    // replace $PROJDIR
    string path = m_packagePath;
    size_t pos = std::string::npos;
    while ((pos = path.find("$PROJDIR")) != std::string::npos)
    {
        path = path.substr(0, pos) + m_projectDir + path.substr(pos + 8);
    }
    size_t len = path.length();
    if (len && path[len - 1] != ';')
    {
        path.append(";");
    }
    path.append(";");
    SimulatorConfig::makeNormalizePath(&path, "/");
    return path;
}

void ProjectConfig::setPackagePath(const string packagePath)
{
    m_packagePath = packagePath;
}

void ProjectConfig::addPackagePath(const string packagePath)
{
    if (packagePath.length())
    {
        if (m_packagePath.length())
        {
            m_packagePath.append(";");
        }
        m_packagePath.append(packagePath);
        normalize();
    }
}

const vector<string> ProjectConfig::getPackagePathArray(void)
{
    vector<string> arr;

    size_t pos = std::string::npos;
    size_t prev = 0;
    while ((pos = m_packagePath.find_first_of(";", pos + 1)) != std::string::npos)
    {
        string path = m_packagePath.substr(prev, pos - prev);
        if (path.length() > 0) arr.push_back(path);
        prev = pos + 1;
    }
    string path = m_packagePath.substr(prev);
    if (path.length() > 0) arr.push_back(path);
    return arr;
}

const CCSize ProjectConfig::getFrameSize(void)
{
    return m_frameSize;
}

void ProjectConfig::setFrameSize(CCSize frameSize)
{
    if (frameSize.width <= 0 || frameSize.width > 2048 || frameSize.height <= 0 || frameSize.height > 2048) return;
    m_frameSize = frameSize;
}

bool ProjectConfig::isLandscapeFrame(void)
{
    return m_frameSize.width > m_frameSize.height;
}

void ProjectConfig::changeFrameOrientation(void)
{
    float w = m_frameSize.width;
    m_frameSize.width = m_frameSize.height;
    m_frameSize.height = w;
}

void ProjectConfig::changeFrameOrientationToPortait(void)
{
    if (isLandscapeFrame()) changeFrameOrientation();
}

void ProjectConfig::changeFrameOrientationToLandscape(void)
{
    if (!isLandscapeFrame()) changeFrameOrientation();
}

const float ProjectConfig::getFrameScale(void)
{
    return m_frameScale;
}

void ProjectConfig::setFrameScale(float frameScale)
{
    CCAssert(frameScale > 0, "Invalid frameScale");
    m_frameScale = frameScale;
}

const bool ProjectConfig::isShowConsole(void)
{
    return m_showConsole;
}

void ProjectConfig::setShowConsole(bool showConsole)
{
    m_showConsole = showConsole;
}

bool ProjectConfig::isLoadPrecompiledFramework(void)
{
    return m_loadPrecompiledFramework;
}

void ProjectConfig::setLoadPrecompiledFramework(bool load)
{
    m_loadPrecompiledFramework = load;
}

const bool ProjectConfig::isWriteDebugLogToFile(void)
{
    return m_writeDebugLogToFile;
}

void ProjectConfig::setWriteDebugLogToFile(bool writeDebugLogToFile)
{
    m_writeDebugLogToFile = writeDebugLogToFile;
}

const string ProjectConfig::getDebugLogFilePath(void)
{
    string path(getProjectDir());
    path.append("debug.log");
    return path;
}

const CCPoint ProjectConfig::getWindowOffset(void)
{
    return m_windowOffset;
}

void ProjectConfig::setWindowOffset(CCPoint windowOffset)
{
    m_windowOffset = windowOffset;
}

void ProjectConfig::parseCommandLine(vector<string>& args)
{
    for (vector<string>::iterator it = args.begin(); it != args.end(); ++it)
    {
        const string& arg = *it;

        if (arg.compare("-workdir") == 0)
        {
            ++it;
            setProjectDir(*it);
            if (m_writablePath.length() == 0) setWritablePath(*it);
        }
        else if (arg.compare("-writable") == 0)
        {
            ++it;
            setWritablePath(*it);
        }
        else if (arg.compare("-file") == 0)
        {
            ++it;
            setScriptFile(*it);
        }
        else if (arg.compare("-package.path") == 0)
        {
            ++it;
            setPackagePath(*it);
        }
        else if (arg.compare("-size") == 0)
        {
            ++it;
            const string& sizeStr(*it);
            size_t pos = sizeStr.find('x');
            int width = 0;
            int height = 0;
            if (pos != sizeStr.npos && pos > 0)
            {
                string widthStr, heightStr;
                widthStr.assign(sizeStr, 0, pos);
                heightStr.assign(sizeStr, pos + 1, sizeStr.length() - pos);
                width = atoi(widthStr.c_str());
                height = atoi(heightStr.c_str());
                setFrameSize(CCSize(width, height));
            }
        }
        else if (arg.compare("-scale") == 0)
        {
            ++it;
            float scale = atof((*it).c_str());
            setFrameScale(scale);
        }
        else if (arg.compare("-write-debug-log") == 0)
        {
            setWriteDebugLogToFile(true);
        }
        else if (arg.compare("-disable-write-debug-log") == 0)
        {
            setWriteDebugLogToFile(false);
        }
        else if (arg.compare("-console") == 0)
        {
            setShowConsole(true);
        }
        else if (arg.compare("-disable-console") == 0)
        {
            setShowConsole(false);
        }
        else if (arg.compare("-load-framework") == 0)
        {
            setLoadPrecompiledFramework(true);
        }
        else if (arg.compare("-disable-load-framework") == 0)
        {
            setLoadPrecompiledFramework(false);
        }
        else if (arg.compare("-offset") == 0)
        {
            ++it;
            CCPoint pos = CCPointFromString((*it).c_str());
            setWindowOffset(pos);
        }
    }

    dump();
}

const string ProjectConfig::makeCommandLine(unsigned int mask /* = kProjectConfigAll */)
{
    stringstream buff;

    if (mask & kProjectConfigProjectDir)
    {
		string path = getProjectDir();
		if (path.length())
		{
			buff << "-workdir ";
			buff << path;
		}
    }

    if (mask & kProjectConfigScriptFile)
    {
		string path = getScriptFileRealPath();
		if (path.length())
		{
			buff << " -file ";
			buff << path;
		}
    }

    if (mask & kProjectConfigWritablePath)
    {
		string path = getWritableRealPath();
		if (path.length())
		{
			buff << " -writable ";
			buff << path;
		}
    }

    if (mask & kProjectConfigPackagePath)
    {
        const string packagePath = getPackagePath();
        if (packagePath.length())
        {
            buff << " -package.path ";
            buff << packagePath;
        }
    }

    if (mask & kProjectConfigFrameSize)
    {
        buff << " -size ";
        buff << (int)getFrameSize().width;
        buff << "x";
        buff << (int)getFrameSize().height;
    }

    if (mask & kProjectConfigFrameScale)
    {
        if (getFrameScale() < 1.0f)
        {
            buff << " -scale ";
            buff.precision(2);
            buff << getFrameScale();
        }
    }

    if (mask & kProjectConfigWriteDebugLogToFile)
    {
        if (isWriteDebugLogToFile())
        {
            buff << " -write-debug-log";
        }
        else
        {
            buff << " -disable-write-debug-log";
        }
    }

    if (mask & kProjectConfigShowConsole)
    {
        if (isShowConsole())
        {
            buff << " -console";
        }
        else
        {
            buff << " -disable-console";
        }
    }

    if (mask & kProjectConfigLoadPrecompiledFramework)
    {
        if (isLoadPrecompiledFramework())
        {
            buff << " -load-framework";
        }
        else
        {
            buff << " -disable-load-framework";
        }
    }

    if (mask & kProjectConfigWindowOffset)
    {
        if (m_windowOffset.x != 0 && m_windowOffset.y != 0)
        {
            buff << " -offset {";
            buff << (int)m_windowOffset.x;
            buff << ",";
            buff << (int)m_windowOffset.y;
            buff << "}";
        }
    }

    return buff.str();
}

bool ProjectConfig::validate(void)
{
    CCFileUtils *utils = CCFileUtils::sharedFileUtils();
    if (!utils->isDirectoryExist(m_projectDir)) return false;
    if (!utils->isDirectoryExist(getWritableRealPath())) return false;
    if (!utils->isFileExist(getScriptFileRealPath())) return false;
    return true;
}

void ProjectConfig::dump(void)
{
    CCLOG("----------------------------------------");
    CCLOG("Project Config:");
    CCLOG("  project dir: %s", m_projectDir.c_str());
    CCLOG("  writable path: %s", m_writablePath.length() ? m_writablePath.c_str() : "-");
    CCLOG("  script file: %s", m_scriptFile.c_str());
    CCLOG("  package.path: %s", m_packagePath.length() ? m_packagePath.c_str() : "-");
    CCLOG("  frame size: %0.0f x %0.0f", m_frameSize.width, m_frameSize.height);
    CCLOG("  frame scale: %0.2f", m_frameScale);
    CCLOG("  show console: %s", m_showConsole ? "YES" : "NO");
    CCLOG("  write debug log: %s", m_writeDebugLogToFile ? "YES" : "NO");
    CCLOG("----------------------------------------");
}

void ProjectConfig::normalize(void)
{
    SimulatorConfig::makeNormalizePath(&m_projectDir);
    SimulatorConfig::makeNormalizePath(&m_scriptFile);
    SimulatorConfig::makeNormalizePath(&m_writablePath);
    SimulatorConfig::makeNormalizePath(&m_packagePath);

    // projectDir
    size_t len = m_projectDir.length();
    if (len > 0 && m_projectDir[len - 1] != DIRECTORY_SEPARATOR_CHAR)
    {
        m_projectDir.append(DIRECTORY_SEPARATOR);
        len++;
    }

    // writablePath
    if (len > 0 && m_writablePath.length() == 0)
    {
        m_writablePath = m_projectDir;
    }
    len = m_writablePath.length();
    if (len > 0 && m_writablePath[len - 1] != DIRECTORY_SEPARATOR_CHAR)
    {
        m_writablePath.append(DIRECTORY_SEPARATOR);
    }
    m_writablePath = replaceProjectDirToMacro(m_writablePath);

    // scriptFile
    m_scriptFile = replaceProjectDirToMacro(m_scriptFile);

    // package.path
    vector<string> arr = getPackagePathArray();
    m_packagePath = string("");
    for (vector<string>::iterator it = arr.begin(); it != arr.end(); ++it)
    {
        string path = replaceProjectDirToMacro(*it);
        m_packagePath.append(path);
        m_packagePath.append(";");
    }
    if (m_packagePath.length() > 0 && m_packagePath[m_packagePath.length() - 1] == ';')
    {
        m_packagePath = m_packagePath.substr(0, m_packagePath.length() - 1);
    }
}

const string ProjectConfig::replaceProjectDirToMacro(const string& path)
{
    if (!isAbsolutePath(path))
    {
        if (path.compare(0, 8, "$PROJDIR") == 0) return path;
        string result("$PROJDIR");
        result.append(DIRECTORY_SEPARATOR);
        result.append(path);
        return result;
    }

    string result = path;
    size_t len = m_projectDir.length();
    if (len > 0 && result.compare(0, len, m_projectDir) == 0)
    {
        result = "$PROJDIR";
        result.append(DIRECTORY_SEPARATOR);
        result.append(path.substr(len));
    }
    return result;
}

const string ProjectConfig::replaceProjectDirToFullPath(const string& path)
{
    if (isAbsolutePath(path)) return path;

	if (path.length() == 0) return m_projectDir;

    string result = path;
    if (path.compare(0, 8, "$PROJDIR") == 0)
    {
        result = m_projectDir;
        string suffix = path.substr(8);
        if (suffix[0] == DIRECTORY_SEPARATOR_CHAR)
        {
            suffix = suffix.substr(1);
        }
        result.append(suffix);
    }
    return result;
}

bool ProjectConfig::isAbsolutePath(const string& path)
{
    if (DIRECTORY_SEPARATOR_CHAR == '/')
    {
        return path.length() > 0 && path[0] == '/';
    }
    return path.length() > 2 && path[1] == ':';
}

// SimulatorConfig

SimulatorConfig *SimulatorConfig::s_sharedInstance = NULL;

SimulatorConfig *SimulatorConfig::sharedDefaults(void)
{
    if (!s_sharedInstance)
    {
        s_sharedInstance = new SimulatorConfig();
    }
    return s_sharedInstance;
}

SimulatorConfig::SimulatorConfig(void)
{
    m_screenSizeArray.push_back(SimulatorScreenSize("iPhone 3Gs (320x480)", 320, 480));
    m_screenSizeArray.push_back(SimulatorScreenSize("iPhone 4 (640x960)", 640, 960));
    m_screenSizeArray.push_back(SimulatorScreenSize("iPhone 5 (640x1136)", 640, 1136));
    m_screenSizeArray.push_back(SimulatorScreenSize("iPad (768x1024)", 768, 1024));
    m_screenSizeArray.push_back(SimulatorScreenSize("iPad Retina (1536x2048)", 1536, 2048));
    m_screenSizeArray.push_back(SimulatorScreenSize("Android (480x800)", 480, 800));
    m_screenSizeArray.push_back(SimulatorScreenSize("Android (480x854)", 480, 854));
    m_screenSizeArray.push_back(SimulatorScreenSize("Android (540x960)", 540, 960));
    m_screenSizeArray.push_back(SimulatorScreenSize("Android (600x1024)", 600, 1024));
    m_screenSizeArray.push_back(SimulatorScreenSize("Android (720x1280)", 720, 1280));
    m_screenSizeArray.push_back(SimulatorScreenSize("Android (800x1280)", 800, 1280));
    m_screenSizeArray.push_back(SimulatorScreenSize("Android (1080x1920)", 1080, 1920));
}

int SimulatorConfig::getScreenSizeCount(void)
{
    return (int)m_screenSizeArray.size();
}

const SimulatorScreenSize SimulatorConfig::getScreenSize(int index)
{
    return m_screenSizeArray.at(index);
}

int SimulatorConfig::checkScreenSize(const CCSize& size)
{
    int width = size.width;
    int height = size.height;

    if (width > height)
    {
        int w = width;
        width = height;
        height = w;
    }

    int count = (int)m_screenSizeArray.size();
    for (int i = 0; i < count; ++i)
    {
        const SimulatorScreenSize &size = m_screenSizeArray[i];
        if (size.width == width && size.height == height)
        {
            return i;
        }
    }

    return -1;
}

void SimulatorConfig::setQuickCocos2dxRootPath(const char *path)
{
    if (path)
    {
        m_quickCocos2dxRootPath = path;
        makeNormalizePath(&m_quickCocos2dxRootPath);
        if (m_quickCocos2dxRootPath[m_quickCocos2dxRootPath.length() - 1] != DIRECTORY_SEPARATOR_CHAR)
        {
            m_quickCocos2dxRootPath.append(DIRECTORY_SEPARATOR);
        }
    }
}

const string SimulatorConfig::getQuickCocos2dxRootPath(void)
{
    return m_quickCocos2dxRootPath;
}

// load framework
const string SimulatorConfig::getPrecompiledFrameworkPath(void)
{
    string path = m_quickCocos2dxRootPath;
    path.append("lib");
    path.append(DIRECTORY_SEPARATOR);
    path.append("framework_precompiled");
    path.append(DIRECTORY_SEPARATOR);
    path.append("framework_precompiled.zip");
    return path;
}

// helper

void SimulatorConfig::makeNormalizePath(string *path, const char *directorySeparator/* = NULL*/)
{
    if (!directorySeparator) directorySeparator = DIRECTORY_SEPARATOR;
    size_t pos = std::string::npos;
    while ((pos = path->find_first_of("/\\", pos + 1)) != std::string::npos)
    {
        path->replace(pos, 1, directorySeparator);
    }
}

redpajama_set_name: RedPajamaGithub


With multiple successes at the highest levels of competitive cooking behind him, Simon Hulstone is now achieving in the restaurant arena, holding a Michelin star at his Torquay eatery since 2004. His beautiful, seasonal plates feature the best of West Country produce, most of which is grown at his remarkable dedicated farm.
He apprenticed at Selsdon Park Hotel in Croydon, working under Freddy Jones – a top competition chef who often competed against Simon's father. Inspired and encouraged to enter himself – now battling against his dad – from the age of sixteen he was cooking competitively, a pastime which helped propel Simon forward in his professional development and cheffing career.
After his apprenticeship, Simon moved to Hanbury Manor Hotel in Hertfordshire, then onto Ston Easton Park Hotel in Somerset. After achieving success at the European Culinary Championships, he was encouraged to compete in the Youth Skill Olympics in France, which necessitated considerable training and backing from a more senior chef. Michael Kitts of the Swallow Royal Hotel in Bristol, a competitor himself, stepped in and alongside working full time in Kitts' kitchen, Simon prepared in whatever free time he had. Competing in 1995, he achieved Gold and left the competition with job offers from fourteen of the nineteen competition judges.
On his return to England he started work at the Bailiffscourt Hotel in Sussex, before moving onto Cheltenham's Bacchanalian. He says of his time at Bacchanalian: 'What I learnt from it was that it was all about flavour. Customers were more concerned with flavour than presentation. It made my food a lot more mature; I stopped following trends and started to cook what I wanted to and what the customers wanted me to cook. It was quite bizarre – that was when I started winning food awards rather than competition awards. That really woke me up because I didn't really know anything about Michelin or AA awards at that point really.' After this came Cotswold House, where he attracted even more attention from the guides.
In 2003, Simon won the coveted Roux Scholarship. 'Without a doubt it is the best competition I have ever won and it continues to give back to me as well.' The prize was a stage in any three-Michelin-starred restaurant in the world and he was the first Roux Scholar to choose Spain, opting to train with Martín Berasategui at his eponymous restaurant in the Basque Country.
After the stage, Simon and his wife moved to Devon to establish their own restaurant, The Elephant. In 2004, it won a Michelin star which the couple (his wife Katy runs front of house) have retained ever since. 'It was a bolt out of the blue really. When we reached Torquay and got our Michelin star, really I thought it was the last place in the world that you would get one.
Simon's dishes are often adorned with a colourful range of delicate plants and flowers, but he is keen to stress that 'everything is on the plate for a reason'.
Simon has gone from a child who wouldn't eat ketchup because it contained a vegetable to a Michelin-starred chef with one of the best kitchen gardens in Britain. He has achieved amazing success at the highest levels of international competitive cooking and is now transforming Torquay into a top culinary destination. Although his days as an event competitor are now over, he's still pushing forward. 'Now we're only competing against ourselves, because we're striving to be better. Every dish that goes out has to be better than the last one you send.' We're excited to see where that leads.
In 2015, Simon also took over the running of Burridge's Café Tearooms in partnership with his father, serving beautifully executed, traditional English afternoon teas and ploughman's lunches.
Alongside the many livestock at the farm, Simon keeps alpacas, mainly for guard duties.
Simon's three children are all named after unusual herbs – Tansy, Cicely and Betony.
The Elephant, a Michelin-starred venture from Simon Hulstone in Torquay, offers diners unadulterated wizardry from the mercurial chef.


text:
Home Tech Hitting the Books: Future humans may mine rare earth metals from today's...
Hitting the Books: Future humans may mine rare earth metals from today's landfills
Traditionally, gold hasn't been good for a whole lot beyond being pretty — it was too soft to hold an edge and too heavy to use in construction — but these days it often serves as a vital electronics component which, along with a select number of other rare earth metals, enables the modern world to operate. But before we can use these elements to fabricate the electronic gadgets, do-dads and contrivances that we rely on, they have to be pull from deep within the planet, and therein lies the problem.
As futurist Byron Reese and entrepreneur Scott Hoffman explain in their new book, Wasted, mining rare earths is a resource and energy intensive endeavor akin to "extract[ing] a tablespoon of pepper that has been randomly spread through a pound of salt." It is far from our only imprudent and thriftless economic activity. Throughout the book, Reese and Huffman explore humanity's wasteful ways, providing insights into these massively complex issues and offering actionable next steps towards a larger solution.
Sixty Elements in Your Pocket
Smartphones provide ample fodder for those interested in waste in all its permutations. The newest and best models are launched at press events that rival Hollywood movie premieres; they cost a bundle, and people ooh and ahh over the latest, or fastest, or biggest, or smallest version—depending on what's fashionable at any given moment. Wait a few years, though, and you can't even give them away. They sit in drawers gathering dust.
What does the life cycle of a smartphone look like? How does it go from hero to zero—and how much of the process of creating these ubiquitous devices is lost to waste?
Like humans, smartphones begin and end as dust. To build one of these modern marvels, we start with the elements from the periodic table. In the case of your phone, it requires a lot of them. Sixty, in fact—which is more than can be found in your body.
Elements are substances that cannot be broken down into any simpler substance. Gold and carbon are just gold and carbon—unlike, say, bronze, which is a mixture of copper and tin. There are 118 elements, of which 83 are both stable and non-radioactive.
Some of these elements are the so-called rare earth elements, which have become essential to our modern world. Despite the name, however, rare earth elements aren't actually rare. In fact, they're quite common. They're hard to obtain because their deposits aren't concentrated and they're difficult to mine and refine.
The most commonly used ones aren't all that expensive, despite how difficult it is to extract them. An ounce of lanthanum or cerium or samarium will set you back less than a quarter. Even the more expensive, heavy rare earth elements are still affordable—certainly compared to an element like plutonium (which, if you could even figure out a way to buy it, would cost you more than $100,000 an ounce).
In addition, the worldwide market for rare earths is rather small. The value of all the rare earth elements mined in a year is barely as much as the value of all of the copper mined in two weeks or the aluminum mined in a month.
So why are they such a big deal? Because they do very specific things in electronics and, for the most part, they have no substitutes. Think of baking a cake. It may call for three cups of flour and a tablespoon of baking powder. If you are short a tablespoon of flour, no big deal, but if you leave out the tablespoon of baking powder, well, you don't have a cake. Baking powder isn't expensive and it isn't rare, but it's essential to baking.
Rare earths have amazing powers. They make things glow brighter. They magnetize objects. They can be mixed with metals to make vastly stronger alloys. The kinds of products they enhance are critical; many are essential for modern living.
And our smartphones need most of them.
However, the process of mining and refining rare earths isn't easy and takes a long time. It's a nearly alchemical process involving acids, ovens, and proprietary processes. Imagine trying to extract a tablespoon of pepper that has been randomly spread through a pound of salt. That's the basic purity we're talking about with rare earth ore. And some of the processes take up to two years to run.
In addition to rare earths, a smartphone requires a number of other elements. By weight, the most common is aluminum. By value, it's gold. The rest of the elements all come together in their own idiosyncratic way from every corner and crevice of the planet.
Of course, they all have to be mined, a process that undergirds much of our modern world. Every person in a modern industrial economy like the United States, every single day of their lives, requires on average 20 pounds of sand, 15 pounds of coal, 3 gallons of petroleum, 1 pound of iron ore, 1 pound of salt, and 0.5 pounds of phosphate (which is used mostly in the fertilizers that grow the food we eat).
And that's nowhere near everything. According to the Minerals Education Coalition, in all, 100 pounds of ore must be extracted from the earth every day of every year for your entire life to support your modern lifestyle. And that's just in the United States.
Yet in the grand scheme of things, mining doesn't use much land, and what it does use can often be reclaimed. That's the good news. The bad news is that the amount of resources consumed doing all that mining, from water to fuel, is enormous, as is the resource consumption associated with all of the processing that must be done.
How much waste is there in mining? In a sense, it's all waste. In a world without waste, ingots of refined elements would be conveniently strewn about the surface of the earth in great abundance, ready to be picked up and used. But, of course, they aren't.
You can see part of the effective waste factor in their prices. Take gold, for instance. What do you think it would cost to buy a gold mine with 1 million ounces of proven gold reserves? First-order thinking might suggest that the value of that mine would be the price of gold—about $1,400 an ounce—times the number of ounces in that mine, so…$1.4 billion.
But in reality, because gold is so difficult to mine, you could buy the mine for a mere $50 million. That's right—gold mines are generally valued at $50 per ounce of gold in them.
If gold sells for $1,400 an ounce, purified, and the gold mine is only valued at $50 an ounce, then it's easy to see that the $1,350 difference isn't the value of the gold but the waste inherent in extracting and refining it.
But even that $50 an ounce is waste. The mine is worth $50 an ounce only because significant amounts of labor and risk went into determining that it was in fact a proven source of gold. In a world without waste we never would have had to expend the capital and take that risk to make the assessment. Not every hole gold miners dig has "pay dirt" in it.
The value of all the gold in a random 100-acre tract of land is essentially…zero. Gold is, in fact, worthless, in the sense that the minuscule flecks of gold that may or may not be in your backyard aren't worth anything. You can't go to the bank and borrow money against the gold mining rights of your backyard.
In addition to the waste implicit in the price of the elements, there is the human toll as well. Many mines are inherently hazardous to both people and the environment. Child labor and even forced labor are used around the world. Can the human cost be eliminated or at least mitigated? Can't those who manufacture goods like our smartphones do something about these issues? Yes, but it's not as simple as that, since the supply chains that bring these elements together touch untold millions of people.
Imagine a small village in the developing world. It may have a mine that has no miners as employees. Instead, anyone can come to the mine, chip out ore, bring it to the surface, and be paid for its weight. That ore is sold by the truckload to an intermediary that sells it by the trainload to a refinery in a distant city that buys from scores of producers. The chemicals needed to refine the ore are likewise made in distant facilities that have their own supply chains across a dozen countries.
The elements produced from the ore are made into components which are then shipped to another facility where a different step in the manufacturing process occurs. Those unfinished goods are aggregated at a different place in perhaps a different part of the world to have another step in the manufacturing process performed on them.
If you are in the business of building millions upon millions of smartphones, the number of people and places involved dwarfs the imagination. You simply cannot effectively police every step of the process to make sure best practices are always used.
What you can do, however, is require those you do business with directly to follow certain guidelines, and require that they require their suppliers to do the same, all the way down the supply chain. Abuses are inevitable because there is almost always money to be made in the abuse business. But responsible manufacturers do surprise inspections of their suppliers, who are required to do likewise to theirs.
Could a smartphone be made that uses only ethically sourced materials built in a sustainable way? As it happens, Bas van Abel set out to do just that when he founded Fairphone. The goal was to make a phone with a long-lasting design, completely modular so that it can be easily repaired and upgraded, built under good working conditions out of materials that were sourced from sustainable and safe environments. Oh, and the phone needed to be easily recyclable.
Clearly, the idea had merit. Fairphone began as a crowdsourcing project and sold twenty-five thousand units before production even started. To date, the company has sold well over a hundred thousand phones and is even "mining" resources from old, discarded phones.
To its credit, Fairphone isn't just taking the easy path to building a "fair" phone. The easy path would be to deal only with well-regulated developed nations—by, for instance, purchasing materials from Australian mines instead of those in the Congo, where conditions are much murkier. Instead, Fairphone goes into the areas that are the most challenging and works with producers to improve conditions.
But even this practice is far from perfect. Van Abel admits, "The problem with that is you work with mines where there might be child labor. You work with mines where the working conditions are still not super-duper." He warns, however, that a more heavy-handed approach would end up backfiring. "If you go into a policing mode and tell them all what to do, they'll just show you what you want to see."
Even with the best of intentions, which van Abel clearly has, it's difficult to fully execute his vision.
The waste—both in materials and human costs—is significant just to collect the materials of our smartphones. To go into the waste involved in manufacturing would occupy an entire book, so in the interest of brevity, let's assume the new phone gets made and is delivered into the hands of an eager consumer.
Now let's jump forward in time a few years. That fancy new smartphone we meticulously built has reached the end of its useful life, at least as far as the person who bought it is concerned. What happens to the phone then?
Surely, given the enormous cost, difficulty, and waste involved in mining all of the elements used in the phone, the valuable material in the device can be quickly and efficiently recycled, right?
Why aren't smartphones recycled as much as, say, aluminum cans? At first glance, phones would seem to be ready-made for recycling; they are little containers of all kinds of conveniently ordered precious metals, all in one package. Throwing one out in the trash seems the epitome of waste, akin to a cartoon fat cat lighting a cigar with a hundred-dollar bill.
But this is where the challenge lies. You've probably heard the statistic that the value of all of the chemicals in the human body is something like $1.92. On a theoretical level, that makes sense to most; after all, we're made of relatively common stuff—carbon, hydrogen, oxygen, calcium, et cetera. Our smartphones, on the other hand, contain aluminum, gold, lithium, and all sorts of other materials.
But here's the bad news—the raw materials in your cellphone are worth even less than the raw materials in your body. Only about half as much, actually.
Let's look at the gold in a phone, which makes up half of the scrap value of the whole device. Worldwide, the average yield of primary gold production (that is, gold that originates in a mine) is 1 gram of gold per ton of ore. A gram is the weight of a paperclip. One ton of ore is about the size of a mini-fridge, the kind you might see in a college dorm room.
The kind of phone you think about recycling—say, an iPhone 6—weighs about 5 ounces. That means there are about 6,400 iPhones in a ton. According to metallurgist David Michaud of 911Metallurgy Corp., an iPhone 6 has 0.014 grams of gold in it. So our ton of iPhones contains about 90 grams of gold. So far, so good. The density of gold in an iPhone compares very favorably to what we might find in nature—90 grams of gold in a ton of iPhones versus 1 gram of gold in a ton of ore.
It's safe to say that if a gold prospector down in a mine were to come across a vein of pure iPhone, it would be cause for great celebration. Alas, the mother lode of iPhones is rarely found in nature.
The 3 ounces of gold you get from your ton of iPhones is worth $4,200 at $1,400 an ounce. This works out to about 65¢ a phone.
Here's the catch: The problem with recycling iPhones is not dissimilar to the problem with mining rare earths—they're distributed widely. Since melting down your iPhone at home isn't a current option, we'd have to figure out a way to get that device to a smelter for less than 65¢. You could hardly mail one for that much, let alone figure out a way to buy the unwanted iPhones.
But there's still hope, since there are other substances of value in the phone, such as copper and nickel. To get the amount of metals found in a 5-ounce iPhone from primary production would require about 2 pounds of each respective ore. At current prices, the nickel in the phone is worth about 3¢, and the copper 5¢. The iPhone 6 contains about 31 grams of aluminum as well. This metal is worth about $1,500 a ton, which makes the aluminum in the iPhone worth about a nickel. Beyond gold, copper, and nickel, as the saying goes, the juice simply isn't worth the squeeze. Other metals in the phone are used in such minute quantities that it's more efficient to mine high-grade ore than to extract from the low-grade "ore" of the phone.
So…65¢ for the gold, and 13¢ for the other metals. It's difficult to make the numbers work.
Apple, however, is a bit more optimistic. In 2017, Apple launched a war against waste, hoping to one day be able to make its products from 100 percent recycled materials rather than using any primary production metals, and going so far as to launch a pilot program to build robots that can disassemble iPhones and other devices. Spoiler alert: They're not very close to achieving this goal.
The vast majority of discarded devices are still operational. So instead of shredding and melting down the phones or disassembling them with robots, what about reusing them?
Functional recycling happens to a certain point already. As previously noted, an early adopter who buys a $1,000 smartphone every two years generally doesn't toss it in the trash when deciding to buy a new phone. That phone is probably still worth at least $100, an amount most people don't cavalierly ignore. There are a number of ways that phone finds itself in the hands of a new owner.
But several years after it has been reused, passed along, and gone through a second or third lifecycle, the phone's value is down even more, perhaps to just $5 or $10. At this point, it isn't worth the trouble of selling the phone (transaction costs are a form of waste), but it still has enough value for someone to feel bad about chucking it in the trash.
Thus, it's likely to end up in the landfill known as the hall closet, or the ubiquitous junk drawer. Credible estimates suggest there are more than two billion cellphones stored unused in people's homes.
At the very end of its life cycle, no matter what happens, the phone is essentially worthless. What happens?
Marc Leff, president and cofounder of GRC Wireless, might enter the picture. His company buys all cellphones, regardless of condition. You ship it and they send you a check. They pay different prices for each phone, from a dime for an old flip phone up to $400 for the latest and greatest phones made.
We caught up with Leff and chatted with him about the ins and outs of his business, which he seems to regard as both a livelihood and a mission. The phones that arrive in large numbers every day are divided into two roughly equal groups. The first group is phones that still work and can be sold in secondary markets. As Leff tells us, the goal is to get five or six life cycles out of a phone across its useful life, which is fifteen years. In fifteen years, the finest and best smartphones of today will likely be worth nothing to anyone in the world. And this half of his business is the lucrative part.
The other half of the phones, the ones that Marc pays as little as a dime for, are largely a money-losing or break-even proposition. They are subdivided into two groups. The first are disassembled for parts, usually in less-developed countries. These are the phones old enough to not have much value themselves but which are still widely used somewhere. There is no supply chain for parts for these older phones, so the folks who disassemble them are providing a useful service and making a living doing it, ultimately reducing the waste that would occur with a phone that is perfectly fine except for, say, a broken pin on the charging port.
The final group, the old phones that are barely worth a dime, are sent off to smelters to have the "easy" metals, such as gold and aluminum, stripped from them.
Eventually, no matter how many life cycles you get from a phone, someday it will be worthless. And when that happens, unless there is major technological change that allows for recycling at home, phones won't get recycled, since it isn't even worth the postage to send them to someone (except perhaps a container-load at a time).
It's a paradox. On its own, one phone is essentially worthless. But in a given year, the world makes 1.5 billion smartphones and, sooner or later, those phones will have to be dealt with. In aggregate, now we are talking 22 tons of gold, and proportional amounts of all the rest of the raw materials. And this is just one single category of device, and a small one at that. Add in all the computer screens, TVs, laptops, and printers, and by one estimate, as far as gold is concerned, 10 percent of all new production could be replaced by recycling.
How do we keep this waste from occurring? The problem may seem intractable, but what if there's an easy answer?
There's an economics concept called "internalizing externalities." This practice charges the external costs of an action to the person or entity inflicting them. For instance, if Company X pollutes a river, then the damage done to the environment should be assigned a value, and whatever that value is should be levied in the form of tax on that company. Doing so forces the company to take into account the total impact of its actions, not just the ones it pays for directly. This method of taxation is also arguably the only form of assessment that can improve upon the theoretical efficiency of a free market.
If we can determine that a cellphone in a landfill inflicts $10 in damage to the environment, then we can enact a deposit system. When you buy a phone, you pay an extra $10 for it, up front. When the useful life of that phone is up, whoever owns it has two choices: They can toss it into the landfill, inflicting $10 in damage, or they can turn it in and get the $10 deposit back. Several states do this with beverage bottles: You pay a dime extra when you buy the drink, and someone gets a dime for returning the empty bottle. That's the same idea here.
If the societal cost of a cellphone in a landfill were zero, then the whole system would be reasonably waste-free. If a phone costs $1,000 today and fifteen years later it's worth a dime, 99.99 percent of the value of the phone was consumed. In a perfect world, if you could magically wave a wand and separate the phone into its core elements, they're only worth a dollar. Even if our $1,000 phone ends up being worth $1 and we throw it away, then we've still gotten virtually all of the value out of the phone.
But the societal cost of a cellphone in a landfill isn't zero. So what is it? We don't actually know, but we do know that smartphones are made of some pretty toxic stuff. There's arsenic in many of them, as well as lead and mercury. Less well known, but just about as toxic, are cadmium, chlorine, bromine, and lithium. The trend, however, is to use less of these substances. Apple touts in its iPhone X Environmental Report that the device features "arsenic-free display glass" and is mercury-free, PVC-free, beryllium-free, and free of brominated flame retardants.
In a sense, losing sleep over smartphones going into landfills misses a much larger problem. The combined weight of every phone manufactured last year is about 250,000 tons, but the amount of electronic waste the world produces each year is about 50 million tons. That means that if you took every phone made this year and dumped them straight into a landfill, the resulting increase in the world's electronic waste would be a rounding error.
That 50 million tons of electronic waste works out to about 15 pounds a person. However, if you live in the developed world, you threw out more than twice that. You have to throw out a lot of phones to equal the weight of that microwave oven that got trashed. Your phone may have a tiny bit of lead in it, but that big TV sitting in your garage has at least 6 pounds of it.
In the United States, electronic waste accounts for just 2 percent of landfill volume, but that 2 percent accounts for 70 percent of all of the toxic substances in landfills. With recycling rates of electronic waste hovering around 20 percent, this is a problem that will only get worse.
Will we ever reach a point where it makes sense to mine landfills for the gold in them? Perhaps. The best assumption we can make suggests there are about 2 grams of gold per ton of landfill detritus—twice what typical primary production might yield. But the landfill ore is far more toxic than gold ore, so it may not make sense.
For those of you with a well-developed sense of the macabre, perhaps you're wondering about the ore content of cemeteries. If you were to mine the top 6 feet of a cemetery, the yield would be about 0.25 gram of gold per ton of dirt, given reasonable assumptions about what percentage of people are buried with their jewelry, medical devices, or gold teeth. Luckily for the dead, that is pretty low-quality ore.
All products recommended by Engadget are selected by our editorial team, independent of our parent company. Some of our stories include affiliate links. If you buy something through one of these links, we may earn an affiliate commission.
Previous article6 reasons to buy a Pixel: Google Photos unlimited storage and more
Next articleApple employee group rejects planned return to the office
EV startup Arrival is building a $11.5 million battery plant in North Carolina
10-minute grocery start-up Getir to buy UK rival Weezy
Crucial's 1TB MX500 internal SSD is back on sale for $85
Google Pixel's lock screen Snapchat shortcut is here
Deal for WIRED Readers: Free Coffee Beans From Atlas Coffee Club
NASA's TESS Mission Discovers an Exoplanet of Molten Iron
Digital Marketing for Startups: Where Do You Start?
EV startup Arrival is building a $11.5 million battery plant in...
The best printer for 2021
Pacquiao vs Ugas live free stream: fight time, PPV price, how...
Best Android VPN 2021 – CNET
Highwaytothereich.com offers Worlds from one coast to another a large group of information and data – from breaking news locally to profound drawing in content that places complex world issues in context.
© Website Developed By Highwaytothereich.com.

redpajama_set_name: RedPajamaCommonCrawl


A little under a year ago, I was diagnosed with coeliac disease. This devastating announcement seemed like the end of the world to me – a die-hard fan of pizza, pasta, pastry, cake, biscuits, scones…you get the idea.
Over the last 11 months, I have experienced many stages of grief. First came denial – I was pretty sure my doctor was part of a conspiracy to make the entire world gluten free. Next up was anger – how dare I be deprived of the gluten-rich delights that make me who I am?
Bargaining soon followed – a small amount of gluten every day won't hurt, right? Depression, when I realised a little gluten every day would indeed hurt; and finally, acceptance – I'm yet to come through the other side of that one, but stay tuned.
As you might have gathered from my completely normal reaction – I love food. Like I really love it; eating is one of my favourite activities and my life is legitimately organised around mealtimes.
Thankfully (for my sanity), I recently realised that not eating gluten doesn't mean I have to miss out on all of life's greatest dining experiences. Rather, it's an opportunity to branch out and discover new things.
I recently went to a friend's place for dinner where she had cooked up a batch of zucchini ravioli. "It's gluten free," she told me, equal parts surprised and delighted. Instead of being wrapped in pasta, these delicious morsels of spinach and ricotta were wrapped in zucchini. "This is innovation," I thought!
Naturally, I went home and started experimenting with my own take on the recipe. The result is a mighty delicious (and nutritious) gluten free creation. Plus it's pretty bloody Instagrammable – that's all the food groups covered right?
Chop ends off zucchini. Using a vegetable peeler, peel zucchini into ribbons. Discard ones that are too thin.
In a bowl, add ricotta, spinach, garlic, parmesan, basil, salt and pepper. Mix until combined.
Take two strips of zucchini and place one on top of the other to form a cross. Add a teaspoon of ricotta mix in the cross section.
Take one side of the bottom strip and fold over the centre. Take one side of the top piece and fold over the centre as well, tucking in if possible. Repeat with other side of bottom and top pieces to form a little parcel. Flip over so ravioli doesn't fall apart.
Repeat until all zucchini and ricotta mix has been used. Assemble ravioli pieces on a baking tray, leaving about 1cm between each once. Bake at 190°C for 20 minutes or until the ravioli start to brown. Remove from oven.
Warm pasta sauce in a saucepan and place a few generous spoonfuls in a bowl. Top with 5-6 ravioli. Serve with freshly grated pecorino and basil.


Sequinned panelled, chic top in soft jersey. Perfect for those outings when you're not sure what to wear. Team it up with leather for a strong look.
Sequinned panelled, chic top in soft jersey. Perfect for those outings when you're not sure what to wear. Team it up with leather for a strong look. Pencil skirt and a blazer to dress it up.
It measures 71.5 cm from shoulder seam to the hem.


NetEnt is one of the most famous online gambling software suppliers in the world. Since 2000 when the first NetEnt casinos were launched, online casino games and slots of this brand have always been great fun to play thanks to their unrivalled graphics and regular implementations of new technologies which allow for an unforgettable gambling experience across different online casinos including the ones available on mobile devices.
NetEnt casinos are also famous for fantastic no deposit bonuses and huge jackpots offered at their slots. Below you can find the list of NetEnt casinos and casino games which users from the Ireland and other countries can play online.
There are several reasons why NetEnt casinos are so popular among people who play casino games and slots, across the globe.
One such reason is that among online gambling suppliers NetEnt has one of the most significant presence in regulated markets regarding the number of received licenses and certificates. That is why there is no wonder why so many Europeans can legally play online in NetEnt casinos for real money.
However, in North America NetEnt only recently started to pave his way to gain leading positions in the iGaming industry. And if most of the award-winning slots from NetEnt casinos are available in Mexico through Codere online gambling network.
As it comes to the US, there is only one state, namely New Jersey, that made it legal for its gamblers to join best Internet casinos and play casino games or slots for real money in locally operating NetEnt gambling venues.
However, while waiting for their local legislation to become more friendly to online gambling, the residents of the English speaking North American countries can pick a NetEnt online casino operating in the Ireland and enjoy the fantastic opportunities that NetEnt provides to its users.
If you can't wait to give it a try and play terrific casino games in a NetEnt casino full list of gambling venues which are offering casino games and slots from this online gambling supplier is at your disposal on our website.
Another reason for NetEnt's popularity is the fact that all the latest technological know-hows are implemented in the newest NetEnt casinos, and the NetEnt developers are always eager to track the development of new casino games technologies especially if it comes to slots. As is the case with virtual reality since these are NetEnt casinos that are pioneers in the frontier of VR technologies by having recently come up with virtual reality options in their online slots.
Besides that, every best NetEnt casino will offer you fantastic jackpots which can total up to €7, 500,000 as once it was in Hall of Gods slot.
So if you want to be the next lucky winner, check our NetEnt casino list and start to play.
Among the NetEnt casino games one can find a wide range of superb online roulette and blackjack gambling options but first of all NetEnt casinos are famous for their easy to play online slots. These are NetEnt slots that are famous for the technical architecture that stands behind them and allows for unique gambling features implemented according to the HTML5 technology standard and developed with the responsive design to enable online users to play their favourite games across different platforms, including such devices as iPhone and Android.
There is a whole bunch of NetEnt games and slots that can boast with prestigious awards given by the renown e-gambling institutions. In 2015 it was Spiñata Grande and in 2016 it was the legendary "Guns'N Roses", which both are among the best slots that can be played in NetEnt casinos, that were recognized as the Game of The Year at EGR Operator Awards, one of the most prestigious events in the world of online casino games.
At our website, you can find a comprehensive list of the best online casinos where you can easily play all your favourite NetEnt slots with detailed reviews which are meant to help you get an idea of what are the features of NetEnt casinos that suit you best.
In 2010 NetEnt started for the first time to release mobile versions of its most famous casino games and slots under the NetEnt Touch title so that users of both Androids and iOS operated devices could enjoy online gambling anywhere and anytime.
Nowadays all the new NetEnt casinos are initially developed so that one can play them both on desktop and mobile. According to NetEnt CEO Per Eriksson, his company produces online casino games, and slots with the "mobile first" mindset and a lot of efforts are made for the NetEnt casinos to be fun to play at mobile platforms.
To get an idea of how it is to play at NetEnt casinos on the go, check our reviews of the best NetEnt mobile casinos. The mobile versions of casino games will provide you with an unforgettable gambling experience when you can play your favorite slots or any other type of casino games whenever and wherever you want and, by the way, win huge jackpots as was the case with the player from the Ireland who has scooped €7,4 million when playing at one of the NetEnt casinos from his mobile device.
Recently a live gambling option was introduced for NetEnt mobile casino platforms which combines the latest technologies in video streaming and 3d modelling and allows online users to play with the best NetEnt casinos live croupiers from their mobile devices.
When it comes to choosing device platforms that are suitable for a particular game that one can play in NetEnt casinos list that is provided at our website will give you all the necessary information you need to make the right decision.
NetEnt was initially a Sweden-based company founded in 1996 but thanks to its successful strategy in developing online casino games and slots it has now 900 employees in seven global locations.
While always looking to hire talented casino games developers NetEnt does its best to support a competitive team spirit among its employees. One of NetEnt recent employer branding campaign is an excellent example of this approach when TV-like series showing a team of four NetEnt developers climbing one of the highest peaks in The Alps was broadcasted across all of the NetEnt global offices to testify the leadership positions of this company in online gambling development.
With many award-winning casino games and slots already in NetEnt success portfolio in 2016 NetEnt gambling software was recognised as the best online quality, and NetEnt was awarded the Content Supplier of the Year by the EGR Nordics Awards a renowned Scandinavian e-gaming platform.


text:
Move Over, Angels: The Stanford 9 Is Big News This Week
By LIZ SEYMOUR
Forget the Asian economic crisis, the governor's race and even the Angels' quest for a pennant. The big news story this week is the results of California's latest standardized achievement tests. They will be posted on the World Wide Web on Tuesday and dissected by reporters and policymakers statewide.
But on a smaller and quieter level, parents will be getting scores in the mail that matter most to them: their own children's scores.
Some scores have already gone home. And most districts also are mailing parents a cover letter with additional information about the exam and how the school as a whole scored.
Virtually every student in California from grades 2 to 11, including most of those with limited English skills or special needs, took the exam sometime from March to May. The Stanford 9, as the exam is known, tests reading, writing and math for those grades, as well as science and social studies for ninth, 10th and 11th graders.
Educators have said that the test is useful in three ways: as an indicator of student achievement; as a measure of the curriculum taught in each grade; and as a baseline for comparison in future years. School administrators will be spending much of July and August analyzing the results of the multiple-choice test and putting out reports on their meaning.
But what meaning can you glean from your own child's report?
Adding to the confusion, there are two types of reports on individual students, one called a home report, the other a student report. Both provide national percentiles, which is "the easiest and most meaningful way" to compare how your child scored in relation to those in other states, said Linda Purrington, the principal at El Morro Elementary School in Laguna Beach. Most school districts, including Laguna, are sending home the simpler home report.
The home report grades a student's results in terms of National Grade Percentile Ranks. For example, if it says the child scored a 90 in total math, it means that student scored higher than 90% of the national sample of students in that grade.
The student report gives much more detail about how a child fared in each subsection of material. Besides giving a student's reading score, for example, it will show how many questions the child answered correctly in the vocabulary and reading comprehension portions of the reading test.
Because it gives more information, the student report can be confusing. But parents can find national percentiles in the column marked "National NCE, or Normal Curve Equivalent." And if you receive a home report and want more detailed information, you can ask your district for a student report.
Once you have seen how your child fared on the tests, what comes next? How important is it and what should you do if you see some apparent weak spots?
Educators stress that exam scores are just one measure of a child's ability and should not be considered the sole gauge of achievement.
"Standardized tests [are] one piece of a bigger puzzle that helps define how kids are doing," Purrington said.
And they are not always the most accurate. As an example, low scores in two areas of the test, mathematics problem-solving and reading comprehension, may not mean that a child cannot grasp the concepts being taught. It could mean that the student is a slow reader who correctly answered every question there was time for, but couldn't reach them all.
"It would appear that they're not as proficient, but in reality, they're not as fast," Purrington said.
Another reason for children's low test scores may be that they're being graded on material they haven't learned yet. Because this is the first year the test is being given, educators had feared that grade-level curriculum would not match what was being tested.
Unfortunately, the scores are arriving just as most schools have taken a summer break. This prevents some parents and students from receiving immediate feedback from school administrators, said Mike Delaney, the testing analyst for the 32,000-student Saddleback Unified School District in Mission Viejo.
Teachers and other school officials will be examining scores to find the "inconsistencies," such as students with mediocre grades who scored high on the test.
"I wish we had the opportunity to address that more immediately," Delaney said.
School officials in Laguna Beach are hoping parents are still interested in the standardized test results in September, when principals and other administrators will hold an informational meeting about the Stanford 9.
Parents should always remember, Delaney said, that grades, which measure participation, homework and other factors in addition to tests, are a better gauge of achievement than a standardized test. "This is a one-day, one-shot deal," he said.
Source: Harcourt Brace Educational Measurement


Next message: [Mediawiki-l] Accessing User's standard.js file?
I have turned an existing website into a wiki that offers basically the same contents (and also looks more or less the same) as  before. Using an external  hit counter I noticed a decrease in users finding my site. Closer inspection reveals that there are almost no visitors from google images while before about one third found my pages because they were searching pictures. I suspect that this is due to the arcane path to the image files or could there be another reason? Or is Mediawiki consciously discouraging image search?


Michael Frank Jewellers design and create bespoke ladies wedding rings. Arrange your free private consultation today to discuss ladies wedding rings.
A wedding ring is one of the most personal pieces of jewellery that a woman will ever own.
Bespoke wedding rings represent eternal love, and are a symbol of devotion and an agreement to have and to hold forever and always; they're also a reminder that there is no end when it comes to true love.
For this reason, it's understandable that finding the perfect bespoke ladies wedding ring to celebrate true love is no small task. Michael Frank Jewellers are proud to provide a bespoke service to create beautiful handmade wedding rings with a personal touch.
Whether it's a modern couple searching for unusual wedding rings to capture their personality or are simply struggling to find designs that fit their personal story, the women's bespoke wedding ring service at Michael Frank is the perfect choice.
Michael Frank Jewellers in-house jewellery designers specialise in the creation of unique ladies wedding rings that reflect a couple's style and personality – ensuring that their past, present and future are brought together in one beautifully crafted design. Handmade in a London workshop, their bespoke wedding bands for women are perfect for celebrating love, memories and the future together. We understand the importance of creating a truly bespoke and beautiful wedding ring to reflect the important occasion.
Designing a ladies wedding ring at Michael Frank Jewellers is a simple collaborative process, where they transform ideas and thoughts into a final product.
The process will begin with an initial consultation with the design experts, where clients can express their likes, dislikes and thoughts to help bring the dream wedding ring to life. They will have the creative freedom to create a truly unique design; from choosing the preferred metal to the diamond selection.
From there, the design will come to life! Jewellery designers will ensure the couple are involved at every step of the journey.
Arrange your free private consultation with us today!


NOTE: We are currently registering students for the Spring 2019 Log Building course, the Fall 2019 session and 2020, Spring and Fall. Interested in joining the course? Contact Pat at www.isba.ca or 250.247.8922.
Workshops are held on one Saturday and Sunday during each of the Timber Frame courses.
This is a very popular course, giving students the opportunity to assess potential locations for solar installations on site and tour of one of the largest residential solar panel systems in BC, located on Gabriola.
Please contact the school at info@isba.ca for more information or to express interest.


"A person learned in the law; as an attorney, counsel, or solicitor.
Any person who, for fee or reward, prosecutes or defends causes in courts of record or other judicial tribunals of the United States, or of any of the states, or whose business it is to give legal advice in relation to any cause or matter whatever."
A lawyer has many names in many different places: esquire, jurist, legist, attorney, attorney at law, solicitor, counsel, counselor, barrister, barrister at law, abogado, advocate, member of the bar, legal advisor, legal professional, legal practitioner, doctor, proctor, and litigator just to name a few.
Did you know Gandhi (Born Mohandas Karamchand Gandhi, or "Mohan") was a lawyer?
No matter what a lawyer does, a lawyer is subject to a code of ethics in his or her jurisdiction. A lawyer may not work as a lawyer, but a lawyer must live as a lawyer, and for that reason, lawyer is not just a title for lawyers, lawyer is a way of life for lawyers.
We're not here to be a lawyer directory, law blog, or legal information site, we're here for lawyers to share their knowledge and experiences about life in general and the law in particular from a lawyer's perspective. Of course lawyers are knowledgeable about the law in their respective jurisdiction, but we'd also like to hear about the lawyer way of life.
LAWYERS.NET℠ is a lawyers' network, a platform for lawyers to express themselves, where we'd like to get to know the lawyer, not the law firm. It's good to know a lawyer, or better yet, lawyers because in all honesty, we all end up needing a lawyer at some point in life.
But what does it mean to "know" a lawyer?
Do a search online and you may find a lawyer in your jurisdiction. You may find the lawyer's name, contact information, practice area, law school, headshot, and even his or her rating, but does that mean you actually know the lawyer? Do you know what the lawyer likes and dislikes or favorites and follows? Do you know about the lawyer's knowledge and experiences, not just his or her credentials?
You do realize lawyers are social beings too, right? In fact, you may have more in common with lawyers than you think. Consider the lawyers who: love traveling, seek adventure, volunteer in their communities, cook as an outlet, enjoy sports, appreciate things vintage and modern, raise kids, run businesses, write blogs, or who are overworked yet underemployed.
You cannot know a lawyer without first getting to know a lawyer. Knowing is the goal; getting to know is the process. So take the time to get to know a lawyer, and you might just learn something interesting or even entertaining.
LAWYERS.NET℠ is a work in progress, just like getting to know LAWYERS is a process.
If you are a lawyer recognized by some jurisdiction, feel free to be social and share with us.
Contribute by commenting on our Blog. Follow us on Twitter @LAWYERSNET and on Google Plus at +LAWYERSNET.
All we ask is that you be interesting, engaging and civil, just as real lawyers should be.


text:
Evaluation of a multiple ecological level child obesity prevention program: Switch what you Do, View, and Chew
BMC Med. 2009 Sep 18;7:49. doi: 10.1186/1741-7015-7-49.
Douglas A Gentile 1 , Greg Welk, Joey C Eisenmann, Rachel A Reimer, David A Walsh, Daniel W Russell, Randi Callahan, Monica Walsh, Sarah Strickland, Katie Fritz
1 Department of Psychology, Iowa State University, Ames, IA, USA. dgentile@iastate.edu
Background: Schools are the most frequent target for intervention programs aimed at preventing child obesity; however, the overall effectiveness of these programs has been limited. It has therefore been recommended that interventions target multiple ecological levels (community, family, school and individual) to have greater success in changing risk behaviors for obesity. This study examined the immediate and short-term, sustained effects of the Switch program, which targeted three behaviors (decreasing children's screen time, increasing fruit and vegetable consumption, and increasing physical activity) at three ecological levels (the family, school, and community).
Methods: Participants were 1,323 children and their parents from 10 schools in two states. Schools were matched and randomly assigned to treatment and control. Measures of the key behaviors and body mass index were collected at baseline, immediately post-intervention, and 6 months post-intervention.
Results: The effect sizes of the differences between treatment and control groups ranged between small (Cohen's d = 0.15 for body mass index at 6 months post-intervention) to large (1.38; parent report of screen time at 6 months post-intervention), controlling for baseline levels. There was a significant difference in parent-reported screen time at post-intervention in the experimental group, and this effect was maintained at 6 months post-intervention (a difference of about 2 hours/week). The experimental group also showed a significant increase in parent-reported fruit and vegetable consumption while child-reported fruit and vegetable consumption was marginally significant. At the 6-month follow-up, parent-reported screen time was significantly lower, and parent and child-reported fruit and vegetable consumption was significantly increased. There were no significant effects on pedometer measures of physical activity or body mass index in the experimental group. The intervention effects were moderated by child sex (for fruit and vegetable consumption, physical activity, and weight status), family involvement (for fruit and vegetable consumption), and child body mass index (for screen time). The perception of change among the experimental group was generally positive with 23% to 62% indicating positive changes in behaviors.
Conclusion: The results indicate that the Switch program yielded small-to-modest treatment effects for promoting children's fruit and vegetable consumption and minimizing screen time. The Switch program offers promise for use in youth obesity prevention.
Health Promotion / methods*
Health Services Research*
Obesity / prevention & control*


eastwood powder coating to details is crucial when creating products to sell nowadays. If you want your items to have the ability to be used outdoors or perhaps as safeguarded as possible and also you might love to make them vibrant, you might want to look into powder coating london. You are going to desire to take some time in order to select the proper color for your product, then you'll be able to have as numerous of your products done as is possible to ensure they'll look the way you'll need them to look.
ceramic coating provides a variety of benefits if you are producing home furniture and also some other goods out of metal. Your items may be sold for use outdoors and could be utilized for many years by your clients. It furthermore helps to protect your products and make certain they will look the way you'll desire them to look. Whenever you might be considering this, you'll want to make sure you will know just how you want the goods to look, no matter if you'll desire a selection of colors or just one color, and also just how many you wish to have accomplished in order to start. You'll be able to have one carried out simply to see exactly how it's going to look or go ahead and have a total run of goods done so they are ready to sell.
If perhaps you might be considering supplying furnishings in order to utilize outside the house or you'll produce other products that you're going to need to be protected, consider powder coating kent today in order to understand more concerning exactly how this works and also just what your choices are. Visit the web page to be in touch with professionals who may assist you to determine whether this will be good for your products and help you be sure it looks amazing when it's finished.
This page was last edited on 6 February 2019, at 15:41.


In April 1930, Crimson Tide head coach Wallace Wade shocked Alabama by announcing he was leaving at the end of the next season to take over the job at Duke University. Although the school was deluged with applications for the position, Wade recommended Georgia assistant Frank Thomas as his replacement.
A former player under Knute Rockne at Notre Dame, the 31-year-old Thomas had already earned a reputation among his peers as an offensive tactician. After a successful three-year stint as head coach at Chattanooga, he returned to Georgia to serve as backfield coach under his former Irish teammate Henry Mehre.
With Alabama president George H. Denny's approval, Wade phoned Thomas an set up a meeting with the younger coach at a track meet at Legion Field. It was pouring down rain when the two talked beneath the stands. Wade told Thomas he was being considered for the job and to expect a call from Denny.
After the search committee vetted Thomas' candidacy and a release from his contract with Georgia was obtained a meeting to formally sign the Alabama contract was arranged for July 15 in the Birmingham office of Borden Burr, a former Alabama player who remained involved with the program. Also on hand was Ed Camp, a columnist for the Atlanta Journal who had also recommended Thomas for the job.
After a short talk, the three-year contract to succeed Wade as the coach of the Alabama football program after the 1930 season was presented and signed.
"Mr. Thomas, now that you have accepted our proposition I will give you the benefit of my views based on many years of observation. It is my conviction that material is 90 percent, coaching ability ten percent. I desire further to say that you will be provided with the 90 percent and that you will be held to strict accounting for delivering the remaining ten percent."
As Thomas and Camp left the office, the new Crimson Tide coach grabbed the newspaperman by the arm and said, "Those were the hardest and coldest words I ever heard. Do you reckon his figures were right?"
"I think the proportion was considerably off," Camp replied. "But there is no doubt the good doctor meant what he said."


text:
Samuel Jackson joins Robocop reboot
Genre fans everywhere are quite excited by the new trailer for Django Unchained hitting the web, as well as Prometheus opening this weekend.
The trailer may also be saving some really incredible material for the finished film because having read the script, Samuel Jackson's got a great role in Django that may potentially steal the show.
So while film geeks everywhere wait with bated breath until Christmas Day when Django Unchained comes out at theaters everywhere, the news also hit that Jackson is up to play a role in the reboot of Robocop.
This certainly makes for a very interesting cast with Joel Kinnaman (The Killing) playing the title role, and Gary Oldman as the scientist who creates Robocop.
Although I'm not exactly enthusiastic about Robocop being remade in the first place (it it ain't broke, don't fix it), this definitely makes the prospects of a Robocop remake much more interesting than before.
According to The Hollywood Reporter, Jackson's role is Pat Novak, "a charismatic media mogul and a powerful force in the Robocop world."
The new Robocop is hoping to start shooting in Toronto this September, with a planned summer 2013 release. While at the moment it's not clear if Jackson's a good guy or a bad guy, he could be an update of the Ronnie Cox role in the original for all we know, he's sure to play the hell out of the part either way.
Why Rusty Tweed is Betting on Renewable Energy for Sustainable Growth in the United States
How to Strengthen Your Brand
Simple Yet Handy Tips for Reducing Noise Pollution in Your Home
PrevPreviousTarantino's Django Unchained trailer goes live
NextThe nicknames of G.I. Joe RenegadesNext
How Does the Payment Processing Industry Work?


Did you know that inmates spend more time outside than kids? I was shocked when I saw this report from BBC Newsnight. Robert Macfarlane and Jackie Morris spoke to BBC Newsnight about their book, The Lost Words.
The Lost Words explains how all over the country, there are words disappearing from children's lives. Words like Dandelion, Otter, Bramble, Acorn and Lark represent the natural world of childhood and sadly this vocabulary is being lost.
Children need to spend more time interacting with the natural world. A recent study of 2,000 parents commissioned by the Eco Attractions Group found that just half of children have built sandcastles at the beach, with a similar number saying they've never had a picnic outside.
Nature is good for kids' minds.
Children who play outside develop better language skills, are fitter and have fewer behavioural problems. Research shows that children also use five times as many words when they play outdoors and we know that there is a direct correlation between obesity and lack of time spent outside.
I have two computer mad boys but every weekend we get them out from behind their screens and explore nature. It enables us to spend quality time together. I think it is a really important part of our family life and miss our adventures if the weather is too wet or one of us is sick. Getting out into nature doesn't need to cost a lot either. There are plenty of activities you can do that cost nothing.


I am often asked where are the best places to seek and to find Enlightenment. Is it at a particular ashram or at the top of a certain mountain? Is it in a special holy place or monastery? Maybe in the pages of a book or maybe at the source of a great river?
I certainly tried as many of these places as possible and if you love to travel and are able to do so then there is absolutely nothing wrong with visiting holy places, mountains, monasteries, churches, ashrams, lakes, or other wonderful spiritual sites. It can be uplifting to read books and to study the works of those who seem to have discovered Enlightenment.
But the end of the journey to Enlightenment may just as easily be at a bus stop, in your house or apartment, in a hospital bed, on a beach, at a desk or anywhere else.
Enlightenment is a state of mind. It is not found in a dwelling nor is it found in a particular place. Enlightenment is the discovery of who and what you really are. It is an awakening to what has always been the Truth and will always be the Truth. Enlightenment is found in quiet. Find the One that is unaffected by anything in this world. Find the One that is untouched by human events. Feel the One that is unchanging no matter what the human body or mind may be going through. Feel the one who is not searching for anything, does not know anything, does not think it understands anything and has no questions. Find and Feel Awareness Itself. This is who and what you are and have always been.
It may be that you will need to feel and to experience a great deal of who and what you are not before you can set aside all of those and simply feel and recognize what is left when all the 'are nots' are discarded.
Ask yourself, Who am I? If I am not the seeker, the one who understands, the personality, the one suffering, the pain, the sadness, the joy, the love, the sleeping one, the awake one, the rich one, the poor one, the hungry one, the full one, and on and on and on. If I am not any of that, then what is left?
What is left is Awareness of it all. The One that is still and always; pure, untouched, infinite and immortal. Awareness just Is. Awareness is already Aware of ItSelf. It is not the one asking the question, Who am I?
It takes a quiet mind to get beyond all the mental and emotional noise. It requires extreme stillness to feel Awareness. But Awareness is always there. It has not been hiding anywhere. Besides stillness it is required that you are willing to surrender everything you think you know and everything you believe and everything you desire to feel Awareness. You must be willing to die to experience Enlightenment. This is how it will feel. Everyone who 'achieves' Enlightenment pays the same price. The price may seem very high but if Enlightenment is what you want then this is the price that must be paid. Nothing less will do.
When we surrender any sense of personal individuality, intellectual understanding or questioning and dissolve into pure Awareness until there is nothing left of 'me', we experience Enlightenment, Awakening. When we then live as pure Awareness in daily life the possibilities are endless.


Halsey has posted a powerful statement on Instagram criticising Victoria's Secret "lack of inclusivity" after recent comments made by the underwear brand's chief marketing officer about transgender models.
Victoria's Secret faced a backlash last month after remarks made by its chief marketing officer, Ed Razek.
In an interview with Vogue, Razek said: "Shouldn't you have transsexuals in the show? No. No, I don't think we should."
Halsey's performance in the 2018 Victoria's Secret Fashion Show was recorded before the comments were published.
The 'Without Me' singer posted a statement after the show was broadcast in the US on Sunday night, writing: "As a member of the LGBT+ community, I have no tolerance for a lack of inclusivity. Especially not motivated by stereotype."
She continued to say: "If you a trans person reading this... please know that you have allies."
Halsey revealed that she had made a donation to GLSEN, an organisation that supports LGBTQ+ youth, in respect.
Victoria's Secret were forced to apologise for the November comments, stating in a message on Twitter that they "absolutely would cast a transgender model for the show."
Shawn Mendes, Rita Ora, Bebe Rexha, The Struts and The Chainsmokers were among the other performers at the annual Victoria's Secret Fashion Show.


text:
Hello {{USERNAME}}
English Language Teaching Saudi Arabia
All All Catalogue Learning Resources Teaching Resources Parents' Resources Events & Webinars
Courses for....
Title or Series
Family and Friends American Edition
Headway Academic Skills
New Headway Plus
Oxford English for Careers
Learning Resources Bank
Home Vicki Hollett
Vicki Hollett
Vicki Hollett is the author of a number of professional English courses for Oxford University Press, including Business Objectives and Business Opportunities, both first prize winners in the English Speaking Union's Duke of Edinburgh Book Competition. Vicki wrote the first book in the Tech Talk series, and co-authored the other two. She also wrote two levels of the Quick Work series and was the lead author of the In at the Deep End writing team. She has also worked on three Oxford video courses, including Meeting Objectives.
Vicki is a graduate of Reading and Essex universities and she has taught English in Japan, Algeria, and the UK. She has been a trainer for the LCCI Diploma in Teaching English for Business and run many workshops for teachers throughout Europe, Asia, and South America. She now lives in the USA where she teaches at the University of Pennsylvania.
User Menu Sign In or Register Hello, {{USERNAME}}
All Catalogue Learning Resources Teaching Resources Parents' Resources Events & Webinars
New English File
Oxford Living Grammar
Oxford English Testing
Project Third Edition


The Freshest Mexican Food South of Houston!
For more than 30 years, our family-owned-and-operated Mexican restaurant in League City, TX, has provided our community with delicious Mexican dishes. We craft every meal with fresh ingredients so we can ensure the best flavor. From our Tacos and Burritos, to our Chips and Salsa, we can guarantee impeccable and authentic Mexican Food. Whether you're looking for authentic Mexican food, catering options, or event space for your next gathering, we're ready and prepared to serve you. Visit our Mexican restaurant today, or give us a call at (281) 332-4195 to place a pickup or catering order!
Currently there are no reviews for ' Esteban's Cafe y Cantina '.


We have a large selection of personal hunting equipment and accessories for hunting and outdoor life. Including hunting chairs, target shooting systems, ear protectors, lamps, clothing, etc.
In this category you will find a mixed selection of quality products for hunting and outdoor activities.
You can buy portable gas heaters that easily heat your hunting lodge or cold rooms in your house, cottage, caravan, tent, boat, shed, etc. They are of course CE safety approved.
We also sell binoculars harnesses. Meaning you can always carry your binoculars close to your body instead of the familiar swinging motion on your neck.
Stocking a selection of automated target shooting and clay shot devices from the American company Do All Outdoors, you can train your shot efficiency before the hunting season or challenge your hunting buddy to whoever hits the spot.
We also deal with LED Lenser lamps. These have won numerous awards for product design and functionality and they are one of the top- selling manufacturers of flashlights in the world.


text:
TechApple
Apple Makes Nice With Google and Facebook, Letting Them Run Employee-Only iOS Apps Again
Apple has restored Facebook and Google's ability to install employee-only apps on its iPhones and iPads, after blocking them earlier this week.
The blocks followed a series of reports—first about Facebook, then about Google—that showed the companies abusing the Apple Developer Enterprise Program. The program allows the installation of apps that don't feature on the regular App Store, which is useful to developers who want to test apps before launching them, or to offer employee-only internal apps.
Facebook and Google used the mechanism to get regular people to install apps in the name of market research and in exchange for money. This allowed them to get very deep access into those users' phones so they could monitor what they did on their handsets in close detail.
After being exposed by reports in the tech publication TechCrunch, both Facebook and Google pulled the iOS apps. However, Apple still retaliated by invalidating their enterprise certificates on Wednesday and Thursday, effectively breaking all their internal apps on the iOS platform—whether they were used for testing purposes or—say—for providing employees with bus schedules.
The move led some to note that Apple had suddenly become the U.S.'s most effective privacy regulator, but it didn't last long.
Late Thursday, first Facebook, then Google confirmed that their certificates were being restored, returning their employees' ability to test apps and see what was on the campus lunch menu.
What brought on the cessation of hostilities? That's not quite clear—Fortune has asked Apple to elaborate, and will update this story if and when a reply rolls in.