text:
Get NC tech news and more ›
'Get ready to hunker down': 2 to 5 inches of snow possible in Triangle on Friday
Four brothers help lead Faith Academy baseball to success
Posted May 4, 2018 9:39 a.m. EDT
By Bri MacNaught
Mobile, AL — If you take a look at the Faith Academy baseball roster you might notice the last name Bell more than once.
"Funny thing is coaches always ask me how many Bells do you have in your lineup," said Matt Seymour, Faith Academy's Head Baseball Coach.
You will see the last name Bell four times to be exact.
They are all brothers.
Braxton is the oldest of the four.
"Braxton is the cool kid I guess. He is good at most stuff like anything he does he is good at," said Jackson Bell, the second oldest Bell brother.
"On the field he is a really hard worker and he is always trying to do the right thing and getting better every time," said Peyton Bell, the youngest of the Bell brothers.
Jackson is he second oldest.
"He is kind of more the quite type but that dude he's got 100 percent every single day," said Braxton Bell, the oldest Bell brother.
"Everything he does is always about trying to win. If he is playing a pop fly game he is always trying to win," said Peyton.
John griffin is the next in line.
"He is very competitive and he does not lose. He is going to be the winner every single time," said Braxton.
"Everyone likes him he is the kid that can be friends with anyone," said Jackson.
Last but not least, Peyton.
The youngest of the four, a freshman.
"He is very tough," said Braxton.
Growing up in the bell family meant two things.
One, you love baseball.
"I can remember being four five years old we would all be playing and throwing the ball around," said Braxton.
"Same thing every day. Baseball, and eat," said Peyton.
Two, you love winning.
"Four of us playing it was like who can be the best. Very competitive," said Braxton.
"In everything we did. Sports, video games, everything. It was who could win. That's how it could be," said Jackson.
Even though they might fight just like most brothers do, their pride of being on the same team and sharing the same last name is unlike anything else.
"Nobody can break us up and nobody can pull us apart," said John Griffin.
Copyright 2018 by Cable News Network, Inc., a Time Warner Company. All rights reserved.
Eggs: the essential ingredient for all your fall baking!
Fall Savings - Free Installation On All Showers & Baths
WRAL Severe Weather Center winter weather update as of 9 a.m.


For purists and designer, who follow the principle of reduction, there is nothing more beautiful than an open book spine.
It shows what normally is hidden: folded paper sheets, collating marks as well as thread stitches. Normally plain notebooks do not include collating marks because the sheets break down a certain chronological order. The flashiest features of open spines are threads – the colours can be coordinated according to the book project.
In order to make the "construction" of the book visible, open book spines are often combined with coloured threads. Therefore the layer structure of the inner book remains visible.
To protect the book spine permanently we recommend the application of a clear glue layer. Also an inscription into uncovered book spines is in the realms of possibility. During the puritanical method the inscription gets created out of collating marks. With this method the inscription is interrupted as you can see at the example of the "Verzettelt"-book.
On the other hand there is the possibility to inscribe the open book spine by screen printing. Also this method includes interruption within the writing or image because the open book spine does not come as a flat surface.
Haben sich unsere nuuna Beach Reisetagebücher jetzt so gut verkauft, weil allein schon bei dem Namen Beach ein ganzer Film abgeht?
The book fair 2011 has started and brandbook is naturally on-site.
Wow, we received an invitation to the Monocle Summer Party 2011. And it is a special party.


text:
// TODOs:
//

// Pre-reqs:
// - pytutor.js
// - jquery.ba-bbq.min.js
// - jquery.ba-dotimeout.min.js // for event debouncing: http://benalman.com/code/projects/jquery-dotimeout/examples/debouncing/
// - opt-frontend-common.js
// should all be imported BEFORE this file

var originFrontendJsFile = 'opt-office-mix.js';

// modeled after Kurt's simplelab.ts
var _labEditor = null; // for Edit mode
var _labViewer = null; // for View mode

var _savedCurInstr = undefined; // nasty global
var _lastSavedAppState = undefined; // nasty global

function executeCode(forceStartingInstr, forceRawInputLst) {
  if (forceRawInputLst !== undefined) {
    rawInputLst = forceRawInputLst; // UGLY global across modules, FIXME
  }

  var backend_script = null;
  if ($('#pythonVersionSelector').val() == '2') {
      backend_script = python2_backend_script;
  }
  else if ($('#pythonVersionSelector').val() == '3') {
      backend_script = python3_backend_script;
  }
  else if ($('#pythonVersionSelector').val() == 'js') {
      backend_script = js_backend_script;
  }
  else if ($('#pythonVersionSelector').val() == 'ts') {
      backend_script = ts_backend_script;
  }
  else if ($('#pythonVersionSelector').val() == 'ruby') {
      backend_script = ruby_backend_script;
  }
  else if ($('#pythonVersionSelector').val() == 'java') {
      backend_script = java_backend_script;
  }
  assert(backend_script);

  var backendOptionsObj = {cumulative_mode: ($('#cumulativeModeSelector').val() == 'true'),
                           heap_primitives: ($('#heapPrimitivesSelector').val() == 'true'),
                           show_only_outputs: false,
                           py_crazy_mode: false,
                           origin: originFrontendJsFile};

  var startingInstruction = forceStartingInstr ? forceStartingInstr : 0;

  var frontendOptionsObj = {startingInstruction: startingInstruction,
                            embeddedMode: true,

                            // tricky: selector 'true' and 'false' values are strings!
                            disableHeapNesting: ($('#heapPrimitivesSelector').val() == 'true'),
                            textualMemoryLabels: ($('#textualMemoryLabelsSelector').val() == 'true'),
                            executeCodeWithRawInputFunc: executeCodeWithRawInput,

                            // undocumented experimental modes:
                            pyCrazyMode: false, holisticMode: false
                           }

  executeCodeAndCreateViz(pyInputGetValue(),
                          backend_script, backendOptionsObj,
                          frontendOptionsObj,
                          'pyOutputPane',
                          officeMixFinishSuccessfulExecution, handleUncaughtExceptionFunc);
}

function officeMixFinishSuccessfulExecution() {
  updateAppDisplayForMix('display'); // do this first

  $("#executeBtn").attr('disabled', false);
  $("#executeBtn").hide();

  if (_savedCurInstr !== undefined) {
    myVisualizer.renderStep(_savedCurInstr);
    _savedCurInstr = undefined;
  }

  saveCurrentConfiguration();
  // save configuration on every step action
  myVisualizer.add_pytutor_hook("end_updateOutput", function(args) {
    saveCurrentConfiguration();
    return [false]; // pass through to let other hooks keep handling
  });
}

// Adapted from Kurt's simplelab.ts
//
// Returns the lab configuration from the provided data
function getConfigurationFromData(dat) {
    var appVersion = { major: 1, minor: 0 };
    var activityComponent = {
        type: Labs.Components.ActivityComponentType,
        name: "", // XXX: can this be blank?
        values: {},
        data: dat,
        secure: false
    };
    var configuration = {
        appVersion: appVersion,
        components: [activityComponent],
        name: "", // XXX: can this be blank?
        timeline: null,
        analytics: null
    };

    return configuration;
}

// a wrapper for getAppState() that caches the value of the current
// execution trace if we're in display mode
function getAppStateWithTraceCache() {
  var ret = getAppState();

  // only do caching in Mix Edit mode, *not* in View mode, since we
  // don't want to invalidate the original cache entry that was populated
  // in Edit mode just because we're messing around in View mode.
  if (_labEditor /* in Mix Edit mode */ &&
      ret.mode === 'display' /* in OPT Display mode */ &&
      myVisualizer) {
    ret.cachedTrace = myVisualizer.curTrace;
    ret.cachedCod = myVisualizer.curInputCode;
    ret.cachedLang = myVisualizer.params.lang;
  }
  return ret;
}

function enterOPTEditCodeMode() {
  updateAppDisplayForMix('edit');
  $("#executeBtn").html("Visualize Execution").show();
  $("#executeBtn").attr('disabled', false);

  // https://groups.google.com/forum/#!msg/ace-discuss/TQHqey_NkBg/q9x_tLrvsXoJ
  pyInputAceEditor.resize(); // weird hack that's necessary to refresh the editor's latest text values. #weird

  setAceMode(); // for syntax coloring

  saveCurrentConfiguration();
}

function updateAppDisplayForMix(newAppMode) {
  // idempotence is VERY important here
  if (newAppMode == appMode) {
    return;
  }

  appMode = newAppMode; // global!

  if (appMode === undefined || appMode == 'edit' ||
      !myVisualizer /* subtle -- if no visualizer, default to edit mode */) {
    appMode = 'edit'; // canonicalize

    $("#pyInputPane").show();
    $("#pyOutputPane").hide();
    $("#embedLinkDiv").hide();

    // Potentially controversial: when you enter edit mode, DESTROY any
    // existing visualizer object. note that this simplifies the app's
    // conceptual model but breaks the browser's expected Forward and
    // Back button flow
    $("#pyOutputPane").empty();
    myVisualizer = null;

    $.bbq.pushState({ mode: 'edit' }, 2 /* completely override other hash strings to keep URL clean */);
  } else if (appMode == 'display' || appMode == 'visualize' /* 'visualize' is deprecated */) {
    assert(myVisualizer);
    appMode = 'display'; // canonicalize

    $("#pyInputPane").hide();
    $("#pyOutputPane").show();
    $("#embedLinkDiv").show();

    doneExecutingCode();

    // do this AFTER making #pyOutputPane visible, or else
    // jsPlumb connectors won't render properly
    myVisualizer.updateOutput();

    // customize edit button click functionality AFTER rendering (NB: awkward!)
    $('#pyOutputPane #editCodeLinkDiv').show();
    $('#pyOutputPane #editBtn').click(function() {
      enterOPTEditCodeMode();
    });

    $.bbq.pushState({ mode: 'display' }, 2 /* completely override other hash strings to keep URL clean */);
  } else {
    assert(false);
  }
}

// note that nothing in 'configuration' is saved when in View mode,
// since that's previewing how end-users will interact with the lab
function officeMixEnterViewMode() {
  if (_labEditor) {
    _labEditor.done(function() { _labEditor = null; });
  }

  Labs.takeLab(function(err, labInstance) {
    if (labInstance) {
      _labViewer = labInstance; // global

      myVisualizer = null; // clear this before doing anything else, so
                           // that we don't accidentally invalidate cache
      var savedAppState = _labViewer.components[0].component.data;

      // very important so that trace cache can work when loading a saved Mix:
      if (_lastSavedAppState === undefined) {
        _lastSavedAppState = savedAppState;
      }

      setToggleOptions(savedAppState);
      if (savedAppState.code) {
        pyInputSetValue(savedAppState.code);
        if (savedAppState.mode === 'display') {
          _savedCurInstr = savedAppState.curInstr; // #crufty
          mixLazyExecuteCode();
        }
      }

      if (savedAppState.testCasesJSON) {
        var testCasesLst = JSON.parse(savedAppState.testCasesJSON);
        $("#createTestsLink").hide();
        initTestcasesPane('#testCasesPane', saveCurrentConfiguration);
        testCasesLst.forEach(function(e) {
          addTestcase(e, saveCurrentConfiguration);
        });
      }

      if (savedAppState.mode === 'edit') {
        enterOPTEditCodeMode();
      }
    }
  });
}

function officeMixEnterEditMode() {
  if (_labViewer) {
    _labViewer.done(function() { _labViewer = null; });
  }

  Labs.editLab(function(err, labEditor) {
    if (labEditor) {
      _labEditor = labEditor; // global

      // this seems to run every time editLab runs
      _labEditor.getConfiguration(function(err, configuration) {
        if (configuration) {
          myVisualizer = null; // clear this before doing anything else, so
                               // that we don't accidentally invalidate cache
          var savedAppState = configuration.components[0].data;

          // very important so that trace cache can work when loading a saved Mix:
          if (_lastSavedAppState === undefined) {
            _lastSavedAppState = savedAppState;
          }

          setToggleOptions(savedAppState);
          if (savedAppState.code) {
            pyInputSetValue(savedAppState.code);
            if (savedAppState.mode === 'display') {
              _savedCurInstr = savedAppState.curInstr; // #crufty
              mixLazyExecuteCode();
            }
          }

          if (savedAppState.testCasesJSON) {
            var testCasesLst = JSON.parse(savedAppState.testCasesJSON);
            $("#createTestsLink").hide();
            initTestcasesPane('#testCasesPane', saveCurrentConfiguration);
            testCasesLst.forEach(function(e) {
              addTestcase(e, saveCurrentConfiguration);
            });
          }

          if (savedAppState.mode === 'edit') {
            enterOPTEditCodeMode();
          }
        }
      });

      // set configuration on every code edit and option toggle, to
      // set the 'dirty bit' on the enclosing PPT file
      pyInputAceEditor.getSession().on("change", saveCurrentConfiguration);
      $('select').change(saveCurrentConfiguration);
    }
  });
}

function saveCurrentConfiguration() {
  if (_labEditor) {
    var x = getAppStateWithTraceCache();
    // propagate cachedTrace only if x doesn't already have one
    // i.e., don't clobber the new cachedTrace if it exists
    if (x.cachedTrace === undefined &&
        _lastSavedAppState && _lastSavedAppState.cachedTrace) {
      x.cachedTrace = _lastSavedAppState.cachedTrace;
      x.cachedCod = _lastSavedAppState.cachedCod; // rtrim() already applied
      x.cachedLang = _lastSavedAppState.cachedLang;
    }
    //console.log('saveCurrentConfiguration', x);
    _labEditor.setConfiguration(getConfigurationFromData(x),
                                function() {} /* empty error handler */);
    _lastSavedAppState = x; // global!
  }
}

function mixLazyExecuteCode() {
  var curState = getAppState();
  var curCod = curState.code.rtrim(); // rtrim to match cachedCod
  var curLang = curState.py;

  // ugh legacy naming mismatches:
  if (curLang === '2') {
    curLang = 'py2';
  } else if (curLang === '3') {
    curLang = 'py3';
  }

  if (_lastSavedAppState &&
      curCod === _lastSavedAppState.cachedCod &&
      curLang === _lastSavedAppState.cachedLang) {
    // cache hit!
    console.log('mixLazyExecuteCode CACHE HIT!');

    // copy-pasta from excerpts of executeCodeFromScratch and friends:

    // if you're in display mode, kick back into edit mode before
    // executing or else the display might not refresh properly ... ugh
    // krufty FIXME
    enterEditMode();
    clearFrontendError();

    var frontendOptionsObj = {embeddedMode: true,
                              executeCodeWithRawInputFunc: executeCodeWithRawInput,
                              lang: _lastSavedAppState.cachedLang, // important!
                             };
    myVisualizer = new ExecutionVisualizer('pyOutputPane',
                                           {code: _lastSavedAppState.cachedCod,
                                            trace: _lastSavedAppState.cachedTrace},
                                           frontendOptionsObj);

    officeMixFinishSuccessfulExecution();
  } else {
    // cache miss
    executeCodeFromScratch(); // ends with officeMixFinishSuccessfulExecution or handleUncaughtExceptionFunc
  }
}

// for opt-testcases.js
function getBaseBackendOptionsObj() {
  var ret = {cumulative_mode: false,
             heap_primitives: false,
             show_only_outputs: false,
             py_crazy_mode: false,
             origin: originFrontendJsFile};
  return ret;
}

function getBaseFrontendOptionsObj() {
  ret = {embeddedMode: true};
  return ret;
}

$(document).ready(function() {
  $('#pythonVersionSelector').change(setAceMode);

  $("#executeBtn").click(function() {
    mixLazyExecuteCode();
  });

  $("#createTestsLink").click(function() {
    initTestcasesPane('#testCasesPane', saveCurrentConfiguration);
    $(this).hide();
    return false;
  });

  // To run in https://labsjs.blob.core.windows.net/sdk/LabsJS-1.0.4/labshost.html
  // append "?PostMessageLabHost" to the query string.
  Labs.DefaultHostBuilder = function() {
    if (window.location.href.indexOf("PostMessageLabHost") !== -1) {
      return new Labs.PostMessageLabHost("test", parent, "*");
    } else {
      return new Labs.OfficeJSLabHost();
    }
  };

  // still needed to track and trigger appMode changes
  $(window).bind("hashchange", function(e) {
    // if you've got some preseeded code, then parse the entire query
    // string from scratch just like a page reload
    if ($.bbq.getState('code')) {
      parseQueryString();
    }
    // otherwise just do an incremental update
    else {
      var newMode = $.bbq.getState('mode');
      //console.log('hashchange:', newMode, window.location.hash);
      updateAppDisplay(newMode);
    }
  });

  // TODO: in the future, make it flexible height but for now, just make
  // it fixed-height but kinda small-ish
  initAceEditor(200);
  pyInputAceEditor.setOptions({minLines: 10, maxLines: 1000});

  // no frills footer
  $("#footer").css("margin-top", "0px")
              .css("padding-top", "0px")
              .css("border-top", "0px");

  $(window).resize(redrawConnectors);

  // register a generic AJAX error handler
  $(document).ajaxError(function(evt, jqxhr, settings, exception) {
    setFronendError(["Server error! Your code might be taking too much time to run or using too much memory.",
                     "Report a bug to philip@pgbovine.net by clicking the 'Generate permanent link' button",
                     "at the bottom of this page and including a URL in your email."]);

    doneExecutingCode();
  });

  clearFrontendError();

  Labs.connect(function (err, connectionResponse) {
    var initialMode = Labs.Core.LabMode[connectionResponse.mode];

    if (initialMode == 'Edit') {
      officeMixEnterEditMode();
      enterOPTEditCodeMode(); // do this once initially
    } else if (initialMode == 'View') {
      officeMixEnterViewMode();
    }

    // initialize these callbacks only after Labs.connect is successful
    Labs.on(Labs.Core.EventTypes.ModeChanged, function(data) {
      if (data.mode == 'Edit') {
        officeMixEnterEditMode();
      } else if (data.mode == 'View') {
        officeMixEnterViewMode();
      }
    });

    Labs.on(Labs.Core.EventTypes.Activate, function() {
    });

    Labs.on(Labs.Core.EventTypes.Deactivate, function() {
    });
  });
});

redpajama_set_name: RedPajamaGithub


text:
18/06/2019 12:54 PM IST
It's Perfectly OK To Call A Disabled Person 'Disabled,' And Here's Why
We've been taught to refer to people with disabilities using person-first language, but that might be doing more harm than good.
By Brittany Wong, HuffPost US
Caiaimage/Martin Barraud via Getty Images
Many disabled people consider their disabilities to be a core part of their identities.
Shayla Maas is disabled. No, she doesn't mind if you call her that.
"I am actually disabled. I have multiple disability conditions, including Ehlers-Danlos syndrome, so it's OK," said Maas, who hosts the podcast "Tips and Tricks on How to Be Sick." "I am equally fine with you calling me 'person with a disability,' but don't be afraid to say the word 'disabled."
In fact, Maas said it only gets weird when people dance around the word "disabled" with euphemisms like "handicapable" or "differently abled." As she put it, "If someone feels like labeling me as 'disabled' makes me less of a person in some way, that's really saying a lot about them, isn't it?"
The way Maas chooses to identify herself as a disabled woman despite other people's discomfort with the word highlights an interesting cultural divide: While more and more disabled people are embracing the word "disability" and urging others to do the same with viral social media campaigns like #SayTheWord, nondisabled people are slow to catch on.
That's in part because schools, medical professionals and human resources trainings have long advocated for "person-first language," in which you identify the person before their disability, such as "student with autism or person with cerebral palsy. Person-first language is meant to emphasize that the person isn't defined by their disability.
But as actually disabled people will you, their disabilities are a vital part of who they are. That's why many prefer "identity-first language," in which the disability is put front and center in the terms we use. Examples include terms like "disabled people" or "Deaf person" rather than "person with a disability."
I use identity-first language because disability is inextricably linked to who I am.Emily Ladau, a disabled writer from Long Island, New York
By leading with the disability rather than tacking it onto the end, you're affirming and validating the person and their disability.
"I use identity-first language because disability is inextricably linked to who I am," said Emily Ladau, a disabled writer from Long Island, New York. "Disability is part of what makes me me, and you shouldn't have to go out of your way to emphasize that I'm a person first in order be reminded of my humanity."
That said, there are some obvious common-sense exceptions. "I absolutely would not be OK with anyone calling me a 'Larsen syndrome woman' or a 'wheelchair person,'" Ladau said. "I'm a woman who has Larsen syndrome. I'm a wheelchair user. I'm not a diagnosis or a piece of mobility equipment. But I am disabled."
Where Person-First Language Comes From
Person-first language was born out of empathy. In the 1980s, health advocates and people with disabilities championed terminology that put the person before their condition or disability. After years of enduring so-called "neutral," clinical terms like "mental defective" or "afflicted," person-first language was a way to reclaim humanity and personhood, according to Lydia X. Z. Brown, a disability justice community organizer and lawyer.
"Person-first language is still widely used by people with intellectual disabilities and many other communities of people with disabilities," Brown said.
Today, the loudest proponents of person-first language are non-disabled people, including parents of disabled children, teachers and medical practitioners who may have been taught to "treat the patient, not the disease."
"It's a problem because they frequently shout over and dismiss actual disabled people who prefer identity-first language by insisting that the only respectful language is person-first language," Brown said. "That's inaccurate. Sometimes it is respectful to use person-first language, and sometimes it is respectful to use identity-first language. Neither are innately disrespectful."
SolStock via Getty Images
How do you know if your friend prefers person-first language or identity-first language? Listen to what they use and ask them.
Today, many disabled people — particularly the Deaf and autistic communities — prefer identity-first language and have reclaimed what were once considered to be euphemisms like "crip," similar to how the LGBTQ+ community reclaimed the word "queer."
"For a lot of autistic people, using identity-first language is a way to destigmatize autism," according to Zoe Gross, the director of operations at the Autistic Self Advocacy Network. (So, "an autistic child" instead of "a child with autism.") "I don't call myself a person with Jewishness. I just say that I am Jewish. Being autistic is the same way ― it is a part of who I am. It's not separable from me, and it isn't bad or scary."
The conversation could extend to mental illness, too. For example, would you refer to someone with a bipolar diagnosis as a "bipolar person" or a "person with bipolar disorder"?
Mainstream mental health advocates and health care professionals tend to prefer person-first language. They argue that it prevents people from being identified with — or identifying themselves with — their illness. Additionally, most guidance for discussing mental health or writing about it in the media still insists on using this type of phrasing.
But ultimately, it's different for every person, said Aubrey Good, the digital content manager at the International Bipolar Foundation.
"Personally, I interchangeably use person-first and identity-first language," she said. "I've said 'I am bipolar' many times in conversation and have never expected this phrase to convey bipolar as being my identity. I say 'I am bipolar' no differently than I would say 'I am sick' or 'I am happy.'"
"Bipolar disorder is one piece of the puzzle that I am," she added, "but I cannot definitely draw a line and determine where the illness ends and where I begin."
How To Find Out What Someone Prefers
It's important to recognize that the disability community is not a monolith, and a person might have a preference that differs from other folks in their community. If you're wondering what's the best way to identify friends, co-workers or others, all it takes is a willingness to follow their lead.
First, notice how people refer to themselves when they're talking in a group setting. When in doubt, call someone by their name ― or simply ask how they would like to be addressed in a tactful, non-awkward way, Ladau said.
"The first time you engage with a disabled person, don't just blurt out something like, 'What do people like you want to be called?' or 'What should I call you?'" she said. "If it comes up naturally in conversation and you're unsure, just say, 'Do you prefer to be called 'disabled,' 'person with a disability' or something else?'"
Whatever you do, "please don't jump in and correct someone's language preferences," she said.
sasacvetkovic33 via Getty Images
Never correct a disabled person if they use language you're not familiar with.
Stay clear of cutesy euphemisms like "handicapable" or "differently-abled." Nondisabled people have taken to the terms in recent years, but they're patronizing and tend to reinforce stereotypes about disabilities, said Amy Kavanagh, a visually impaired activist.
"Disability is not a bad word. I was born visually impaired and was made to feel like my disability was shameful for most of my adult life," Kavanagh said. "These kind of euphemisms made me feel like my disability was too difficult for nondisabled people to manage — that I had to minimize it and hide it for fear of causing discomfort by reminding people of my needs."
The euphemisms don't just hint at erasure, the practice of collective indifference that renders certain people and groups invisible, they're also really awkward to say.
"I can't hear properly, but no amount of condescending language is going to change that," said Meg Szydlik, a student at Northeastern University who is disabled. "I'm also not Daredevil, and I didn't gain superpowers from my disability, which is always what 'handicapable' makes me think of."
Lastly, don't assume this is simply a matter of semantics and disregard someone's preference. You might have been taught that certain phrasing was more respectful, but if disabled people tell you they prefer identity-first language, listen to them.
"It's not the end of the world if someone doesn't use the 'right' language because they forgot or because they don't know," Brown said. "But if you have the ability to be conscious of your language and change it, it hurts no one to make the effort."
Brittany Wong Lifestyle Reporter, HuffPost
MORE: health disability language
SUBSCRIBE TO THE LIFESTYLE NEWSLETTER

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Perl convert time in localtime format to YYYYMMDD I have a string containing a date with this format
my $time = 'Fri Jan  8 14:24:27 2016';

And i want to convert it to YYYYMMDD.
I tried a couple of options such as :
use POSIX qw(strftime);
print strftime("%Y%m%d", $time);

But it won't work.
Tried localtime($time) as well as many others but it won't work.
I guess i need to convert it to an intermediary format ?
Note : i need to use strftime/POSIX as i can't call other modules for many reasons. (no Date::Time etc.)
thanks in advance,

A: Use Time::Piece, part of the Perl core since 2007:
use Time::Piece;

my $time = 'Fri Jan  8 14:24:27 2016';
say Time::Piece->strptime($time, '%a %b %d %H:%M:%S %Y')->ymd("");

A: You're trying to use POSIX::strftime() incorrectly. It's always a good idea to check the documentation, which says this:

strftime

Convert date and time information to string. Returns the string.
Synopsis:
strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)

The month (mon), weekday (wday), and yearday (yday) begin at zero, i.e., January is 0, not 1; Sunday is 0, not 1; January 1st is 0, not 1. The year (year ) is given in years since 1900, i.e., the year 1995 is 95; the year 2001 is 101. Consult your system's strftime() manpage for details about these and the other arguments.

So passing it a string containing a random(ish) representation of a datetime was slightly optimistic.
You need to parse your string and extract the bits that you need to pass to strftime(). As you've already be shown, the Modern Perl way to do that is to use a module like Time::Piece. But it's perfectly possible to do it with standard Perl too.
#!/usr/bin/perl

use strict;
use warnings;
use feature 'say';
use POSIX 'strftime';

my $time = 'Fri Jan  8 14:24:27 2016';

my ($day, $mon, $date, $hr, $min, $sec, $year) = split /[\s:]+/, $time;

my %months = (
  Jan => 0, Feb => 1, Mar => 2, Apr => 3,
  May => 4, Jun => 5, Jul => 6, Aug => 7,
  Sep => 8, Oct => 9, Nov => 10, Dec => 11,
);

$time = strftime('%Y%m%d',
                 $sec, $min, $hr, $date, $months{$mon}, $year - 1900);

say $time;

But don't do that. Use a module.

redpajama_set_name: RedPajamaStackExchange


Can do the house chores, groceries, pay bills, running errand and other posible task you require.
This is for 3 to 4 hours per day. Php500 base rate and more depend on how big of the house is plus transpo allowance.


we promise we can offer you the qualified best bv fq56 price export at the competitive price and rapid delivery time.We can produce as our customer's requirement.We keep many best bv fq56 price export stock in our warehouse, So hereby, we sincerely hope you join us, let's join hands to make you be the No.1 in your local steel market.
BV FQ56 steel stock,A, B,D, A32, A36 D32 and DH36 ... We will give you the BV FQ56 steel stock, NV A shipbuilding steel plate/sheet/angle bar/bulb flat bar/ L section steel bar competitive price, BV FQ56 steel stock, NV A shipbuilding steel plate/sheet/angle bar/bulb flat bar/ L section steel bar good quality and best service from us.
BV grade F36 steel grade,China factory BV grade F36 steel grade,low price BV grade F36 steel grade,China BV grade F36 steel grade supplier,Hot sell all kinds of steel in China with best price. ... ABS grade FQ56 stock; steel 65mn; JIS G 4305 SUS 316Ti; Company Profile.
BV DH40 export; BV EH40 suppliers; ABS FQ51 price in China; ... Best LR FQ56 price export; light steel structure workshop steel mill; ... LR DQ7 application in China export; Best RINA EQ47; Best Quote KR FH4 export. carbon steel. ASTM A131 AH36 service in China.
We will give you the GL grade FQ56 steel for Offshore Structures, pressure vessel steel plate grades plate competitive price, GL grade FQ56 steel for Offshore Structures, pressure vessel steel plate grades plate good quality and best service from us.
Product Shipbuilding Steel Plates Eq43 E420 Eq56 E550 Eq47 E460 Eq51 E500 Eq63 E620 E690 Abs from China at Offers to Sell and Export Dated Wed 13 Jul, 2011 10:08 am. ABS-Grade-A Shipbuilding-Steel-Plate with Best Price ... Henan HZZ offers a large selection of high quality ABS-grade-a shipbuilding-steel-plate with best price.
Auto Export Netherlands, Buy New and Used Cars, Trucks, Motorcycles and Caravans Buying a car is a crucial decision in today's world and that's why customers would want to get the best deals for purchasing their vehicles be it a car, bike or a truck.
Katalor enterprises will use our professional services, best quality and competitive price to fulfill each customers needs in best bv fq56 price export. More information about best bv fq56 price export price, please feel free to contact us, we will always do our best to help you.


I love a tiny, healthy animal. Like the teacup pig? Obviously I'm crazy about them, because I've featured them twice due to their adorable nature. Then, I saw Einstein, the newborn miniature horse. Now, miniature horses are small in general, but Einstein is possibly the smallest miniature horse ever born. At birth, he was 14 inches tall and weighed only 6 pounds. The world's current smallest pony, Thumbelina, was a comparatively robust 9 pounds.
Interestingly, Thumbelina was so small at birth because she has dwarfism. Einstein doesn't, according to his co-owner Dr. Rachel Wagner; he's just a naturally tiny horse. It goes without saying that I could just eat that adorable little critter up with a spoon! If you'd like to see Einstein, head up to Tiz Miniature Horse Farm in Barnstead, New Hampshire.
When I finally make a million dollars off PopFi, I plan on buying a farm and having a bunch of fun animals. Pygmy goats, woolly pigs, tea-cup pigs, Einstein the miniature horse… I just want a bunch of sweet, tiny animals and one giant dog.


OSLO, Dec 4 (Reuters) - Norway's Equinor is ready to start talks with Tanzania on developing a liquefied natural gas (LNG) project based on a deepwater offshore discovery, the company said on Tuesday.
Tanzanian President John Magufuli has asked his government to proceed with negotiations to set out the commercial and fiscal framework for the LNG project, Equinor, a majority state-owned energy company formerly known as Statoil, said.
"Equinor will now proceed with our partner ExxonMobil with negotiations for a host government agreement," an Equinor spokesman said in an email to Reuters.
He said it was too early to say how long talks with the government could take and how much the project would cost.
Tanzania said in 2014 that a planned LNG export plant could cost up to $30 billion.
Royal Dutch Shell, which operates deepwater Blocks 1 and 4, adjacent to Equinor's Block 2, previously sought to develop the LNG project in partnership with Equinor and Exxon Mobil.
"Shell continues to work with the government of Tanzania to establish the most cost effective and competitive solution for the LNG project in Tanzania," a company spokeswoman said in an email to Reuters.
"We believe the government is best placed to lead the right way forward to deliver the project," she added.
Shell declined to say whether it would join Equinor and Exxon Mobil or would pursue separate talks with the government.
Shell said on its website the three blocks had sufficient gas reserves to build an onshore LNG plant, but the company was not immediately available to comment on whether it would join the other two in starting talks.
Shell estimates its two blocks hold about 16 trillion cubic feet (453 billion cubic metres) of recoverable gas, similar to the volumes in Equinor's Block 2.


In the weeks and months following the assassination of her husband, First Lady Jacqueline Kennedy received over one million letters. They came from political luminaries such as Winston Churchill, Martin Luther King, Jr., and Charles De Gaulle; from Hollywood stars like Lauren Bacall, Vivian Leigh, and Gene Kelly and foreign dignitaries like Queen Elizabeth and the Prince of Monaco. Distinguished artists, writers, and well known society figures—Ezra Pound, Noel Coward, Babe Paley, Langston Hughes, Oleg Cassini, Josephine Baker—offered heartfelt condolences. "Ordinary" citizens of this country and many others wrote as well, as did children, often with the most heartbreaking sincerity.
Dear Mrs. Kennedy uses these many voices to tell the unforgettable story of those fateful four days when the world was struck with shock and sadness, presenting a poignant time capsule and a diverse portrait not only of the aftermath of the assassination, but of the Kennedy mystique that continues to captivate the world.
During a decade of writing and publishing books about the Kennedy family, Jay Mulvaney became acquainted with the collection of condolence mail held in the JFK Library in Boston. In 2007 he had the idea to bring together a selection of the very best of these letters into a book that would illuminate both Jack and Jacqueline Kennedy. In a cruel twist of fate, Jay himself died unexpectedly shortly after signing up the book and completing an initial selection of several thousand letters. Experienced writer and book editor Paul De Angelis then took over the task of bringing Jay's project to fruition.
Visit Mr. De Angelis' website HERE.


With suicides on the rise among the 1.4 million active-duty troops, intervention and prevention haven't been more important until now.
Provide statistical data for leaders to identify which individuals might be at a higher risk for deviant behaviors in a deployed environment or upon re-entry.
Create an environment for widespread relational resiliency and success.
Increase positive relationships at work and home.
During 2008, GFAFB had the highest DUI and suicide rates in the U.S. Air Force. Because of this, their mission statement became "creating a sense of belonging." Within the first 10 months of implementing the PDP Mentoring process with 600 airmen, DUIs were reduced by 50%, no suicides, and engagement in activities increased by 300%.
"I have taken the PDP ProScan on at least three different occasions, and I firmly believe they have reflected accordingly as my career has progressed. PDP's benefits for an airman/supervisor are invaluable. Being able to understand your co-workers, boss and subordinates is comparable to the purest gold. In the Air Force, understanding your people helps you lead them, as well as following instructions from your supervision.
Even if the communication channels don't necessarily match, why not at least understand the person you are speaking to? Like Abraham Lincoln said, "I don't like that person...I must get to know him better."
An increasing number of military bases and other government agencies are already implementing PDP. Read about other military units who are using PDP applications.
1. Rise in Military Suicides: The War on Post Traumatic Stress. Accessed 1/3/13.


A very expected result at the conclusion of the First Test. To be fair, Pandya did rather well as did the bowlers in the second innings. The batsmen, as expected, came a cropper in seaming conditions and excellent bowling. I guess those net sessions in lieu of practice matches helped a lot. And playing infinite amount of matches with Sri Lanka. Certainly.
I'll say this- not knowing something is fine. But not knowing something and not knowing that you don't know something is a recipe for disaster.
Come on, we're kidding ourselves if we think they would have done any better playing a half baked warm up match on a slow pitch. It takes batsmen of rare ability to score runs against an SA attack on a pitch like this - someone like Steve Smith or Joe Root. India don't have a batsman of that class and it doesn't help matters that our captain doesn't understand the nuances of Test cricket, so he chooses to pick second rate flat track bullies over batsmen with proven records in conditions like this.
As I said, the SA batting wasn't really that impressive in this game either. Yes the counterattack was great and de Villiers was magnificent, but its a bit easier to counterattack when you're getting gifted half volleys. When the Indians tightened up in the 2nd innings the SA batting was just as ordinary as India's.
I agree with a lot of this. India do not have the batsmen, and rarely have had, to be win series outside of Asia. That's just a reality and playing weakened sides in modern warm up games would not make a difference.
Having said that, the SA batting line up was only slightly better and as I said at the start of all this, it's a line up going through transition.
And probably many Australian fans after Trent Bridge in 2015, or any time in the sub-continent recently. Touring has not been a fruitful exercise in the past few years.
Still, two tests to go, it only takes an inspired spell of determined innings to get India back into the series.
We won the first test in India, and were a chance of drawing that series until the last 2 days, then lost, and won in Bangladesh. We've shown a lot more gumption on the subcontinent lately than England, that's for certain.
Maybe a good quote for your signature.
Bavuma made way for Du Plessis returning, having played against Zimbabwe. It's hard to see how he fits in a full strength team with Dr Villiers back. I assume Phelukwayo has more chance of replacing Steyn unless they go to Ngidi (who I'd never even heard of until this thread).
Ngidi and Olivier have been added to the squad for Centurion which appears to indicate they will choose a bowling replacement for Steyn rather than shoring up their batting.
The worrying thing for India perhaps is that the two highveld tests will be on pitches with more bounce and in this test, India easily had the better of the batting conditions in both innings. Can't imagine India would have posted a lot batting first on day one had Faf inserted them, or even early on day four after the pitch had sweated under the covers.
There was more movement in this match than there was for the whole of the Ashes series on our flat tracks. Only exception was Adelaide under lights.
I will have to disagree with you guys on the limited point that practice in in-match conditions wouldn't have made any difference at all. If that were true, there wouldn't ever have been practice matches before tours. Even most recently, Australia had an intensive camp in Dubai before the Indian tour and there was a New Zealand A tour preceding the main teams and both I thought played significant part in the actual quality of the performance on the main tour.
But yes, you are right- 'A half baked warm-up match' wouldn't probably have helped. What I'm saying is- they ended the Sri Lanka series in the first week of December. Send an A-Team to South Africa by the next week that includes your Test specialists (Rahane, Pujara, Vijay, Ashwin, Jadeja, Ishant, Umesh among others) and play 3-4 Two-day and Three-day matches in different parts, preferably against the South Africa A side- I'm sure the BCCI has that much clout to make it happen. I mean, instead of arm twisting nations in ICC meetings, that's where I'd prefer the clout to be utilized.
And I don't think it's about the attack either- it's about getting used to pitch and surrounding conditions- the bounce on offer, what to leave and what not to etc.
Also, regarding ability of the batsmen, I strongly believe you guys are being unfair writing off any possibility of them adjusting to conditions. Especially the statement about India not having batsmen of class at all. I mean, sure, Steve Smith- probably De Villiers is the only batsman in his class playing the modern game- but Root (and I do love Root)? I don't think he's done enough yet to prove anything of that sort.
Lastly, how exactly is the South African line up going through any kind of transition? It's probably the most settled line up right now with the only issue being the opening partner for Elgar which Markram is trying to solve.
Nope, you drew in Bangladesh and lost 3-0 in Sri Lanka. It's not really much more gumption.
If the warm up matches are the quality of what they used to be (up until part of the last decade, international teams would often play strong domestic sides, not the 3rd or 4th team) then I agree. Now, preparations in terms of conditions is a different kettle of fish. Australia used the academy in Dubai to bat on the turning pitches that are available over there. I'm not sure if they played any FC level sides while over there.
Yet none of that helped all that much as most of the batsmen looked lost at sea on one of the most turning pitches I've seen (including the Indians), but the difference was a truly stand out cricketer, and that's Smith.
So that's my point, I don't think India have the players, regardless of preparation, to win in SA. I mean, they can be and were, competitive but winning an entire test series is one of the toughest asks in all sports and to do it in a place like SA, you have to have one or two singular players that can make a difference. So, as much skill and class as Kohli, Pujara and co may have, they don't have enough of it to win here or Eng or Aus.
In terms of Root, he was very good in SA and just as good in his two tours of India. Smith is obviously better and Williamson is there abouts but Kohli has time and time again shown an ability to get out, or be got out, on pitches that aren't built for him. He was abysmal against good Aussie spin in his own home series, looked barely present in England and now this. His best foreign tour has been Australia, where he scored a lot of runs but on largely flat, brown, dry, boring wickets where plenty of other centuries were scored by other batters.
Now, all of this can change with the right mindset and work ethic...if India wish to do so.
Are you somewhat thick? I said we lost (the first test) and won (the second test) In Bangladesh, I didn't say we won the series. Compare Englands performance in India against Australia, and tell me your pitiful performance didn't pale incomparison to ours? I know you're hurting, but try to be honest for a change.
The best way would be to compare what Australia did six months prior in Sri Lanka. They lost 3-0 to a much weaker side and collapsed in a heap the moment there was any sign of turn. Against India, they gave a much much better account of themselves and actually managed to faulter on a seaming Dharamshala of all places. So, I actually do think the camp made a difference and a lot of the team credited it in consequent interviews.
As far as them not being good enough even with preparation, my point is- There was none. May be it would have helped. May be it wouldn't. But that is moot if there is no preparation in the first place?
Could've sworn you wrote "We won the first test in India, and were a chance of drawing that series until the last 2 days, and won in Bangladesh."
Mind you even Smith in that innings required liberal doses of luck to survive. India seemed to determined not to hold on to their catches.
I don't know why Gibson wants to field 4 seamers in the future. I think 3 and Maharaj is fine. They are that good.
Steyn, Morkel, Philander and Rabada - impossible to think who you would leave out though.
Could be the same if you had Starc, Hazelwood, Cummins and Pattinson all fit together, but the three of them and Lyon all took 20+ wickets in the series.
For England 4 are needed and Stokes is an all-rounder. If we had a spinner like Maharaj or Lyon then only 3 fast bowlers would be needed.
I mean, instead of arm twisting nations in ICC meetings, that's where I'd prefer the clout to be utilized.
On this point I'm in complete agreement to you. A lot of the criticism of the Indian players is justified but there is no question they are hamstrung by the BCCI.
And the one Indian batsman who has shown the potential to do this - Rahane - gets left out for a one-day slogger like Rohit Sharma, who will never score runs on challenging pitches in Test cricket in a million years.
Kohli makes some good decisions, some bad ones and some bizarre ones, but so do all captains to some degree. But this favoritism of Rohit, completely blind to the glaring evidence that he is not good enough for Test cricket away from home, is just frustrating beyond belief.
The question will probably soon be moot though - Steyn, Philander & Morkel probably won't be around after 2 years and in that time its difficult to see all 3 of them being fit at once.
Maybe we would if we picked a spinner. If SA had decided to play Duminy as their sole spinner forever then there would never have been room for Maharaj.
Did anyone some bizarre stat used at one point in this test? Apparently in the past year or something, analysis has shown that 32% of South African catches were "brilliant" while only 7% of Indian catches were "superb". I might have the numbers off, but the wording is right, yet I'm not sure what it is supposed to mean.
That we are crap at catching? Duh!
Is Rahane really that good? he looked a bit lost in England and his SA stats are bloated, but hey, I do agree he is probably better than Sharma. Problem is, he is not of the quality of Smith or Root to change an away tour in the teams favour. Kohli is THAT guy but does not have the patience to avoid off stump line deliveries.
He should really take a leaf out of Tendulkar's book, a man he calls his hero and leave everything outside of off. Just tire the bowlers out, get them frustrated and bowling at him. It will take time, application and patience...those are required for truly great batsmen.


text:
Q: Using to move an object with arrow keys using ApplyForce is not working part of learning game coding in javascript using box2d I am trying to just move a rectangular body (thinking as a Car) in 4 directions using arrow key events.
For this I created a no-gravity world with static body (which are 2 parlallel edges) as road and one dynamic body (rectangle) and using ApplyImpulse function.
But I see it is not moving the rectangle body at all. Honestly no clue why it is not working.
Below is my complete code. Sorry for bothering with full code
<html>
<head>
 <style>
   #gcrCanvas{
      border:1px #000000 solid;
  }
</style>
</head>

<body>
<div id="canvasWrapper" >
  <canvas id="gcrCanvas" width="900" height="400" tabindex="0"></canvas>
</div>

  <input type="button"  onclick="gameObj.init()" />

</body>
<script type="text/javascript" src="Box2dWeb-2.1.a.3.min.js"></script>
<script type="text/javascript">

 var box2dVars = {
   b2Vec2:Box2D.Common.Math.b2Vec2,
   b2BodyDef: Box2D.Dynamics.b2BodyDef,
   b2Body: Box2D.Dynamics.b2Body,
   b2FixtureDef: Box2D.Dynamics.b2FixtureDef,
   b2Fixture: Box2D.Dynamics.b2Fixture,
   b2World: Box2D.Dynamics.b2World,
   b2MassData: Box2D.Collision.Shapes.b2MassData,
   b2PolygonShape: Box2D.Collision.Shapes.b2PolygonShape,
   b2CircleShape: Box2D.Collision.Shapes.b2CircleShape,
   b2DebugDraw: Box2D.Dynamics.b2DebugDraw
 };

 var gameObj = {
      world:null,
  canvasContext:null,
  debugDraw:null,
      carX:12,
  carY:12,
  scale: 30,
  carBody:null,

  init: function(){
    var cavnasDiv = document.getElementById("canvasWrapper");
    var canvas = document.getElementById("gcrCanvas");
    canvasContext = canvas.getContext("2d");

   cavnasDiv.addEventListener("keydown", gameObj.carMotionHandler);

   gameObj.world = new box2dVars.b2World(
           new box2dVars.b2Vec2(0, 0)    //gravity
        ,  true                 //allow sleep
     );

     gameObj.debugDraw = new box2dVars.b2DebugDraw;
     gameObj.debugDraw.SetSprite(canvasContext);
     gameObj.debugDraw.SetDrawScale(gameObj.scale);
     gameObj.debugDraw.SetFillAlpha(0.3);
     gameObj.debugDraw.SetLineThickness(1.0);
     gameObj.debugDraw.SetFlags(box2dVars.b2DebugDraw.e_shapeBit |
           box2dVars.b2DebugDraw.e_jointBit);
     gameObj.world.SetDebugDraw(gameObj.debugDraw);

     gameObj.createRoad();
     gameObj.createCar();
     gameObj.game_loop();

    },

createRoad: function(){
   var roadBodyDef = new box2dVars.b2BodyDef();
  roadBodyDef.type = box2dVars.b2Body.b2_staticBody;
   roadBodyDef.position.Set(0,0);
       var roadFixDef = new box2dVars.b2FixtureDef;
       roadFixDef.density = 1.0;
       roadFixDef.friction = 0.5;
       roadFixDef.restitution = 0.7;

       roadFixDef.shape = new box2dVars.b2PolygonShape;
       roadFixDef.shape.SetAsEdge(new box2dVars.b2Vec2(8,20),
                 new box2dVars.b2Vec2(8,0));
       gameObj.world.CreateBody(roadBodyDef).CreateFixture(roadFixDef);
       roadFixDef.shape.SetAsEdge(new box2dVars.b2Vec2(20,20),
           new box2dVars.b2Vec2(20,0));
   gameObj.world.CreateBody(roadBodyDef).CreateFixture(roadFixDef);
    },

   createCar: function(){
       var carBodyDef = new box2dVars.b2BodyDef();
       carBodyDef.type = box2dVars.b2Body.b2_dynamicBody;
       carBodyDef.position.Set(gameObj.carX, gameObj.carY);

       var carFixDef = new box2dVars.b2FixtureDef;
       carFixDef.density = 1.0;
       carFixDef.friction = 0.5;
       carFixDef.restitution = 0.7;

       carFixDef.shape = new box2dVars.b2PolygonShape;
       carFixDef.shape.SetAsBox(0.5, 0.5);
       gameObj.carBody = gameObj.world.CreateBody(carBodyDef);
       gameObj.carBody.CreateFixture(carFixDef);
    },

updateCar: function(){
   **gameObj.carBody.ApplyImpulse(
           new box2dVars.b2Vec2(gameObj.carX*gameObj.scale,
                gameObj.carY*gameObj.scale),
        gameObj.carBody.GetWorldCenter());**
    },

    game_loop:function(){
        var fps = 60;
        var time_step = 1.0/fps;
        gameObj.updateCar();
        gameObj.world.Step(time_step , 8 , 3);
        gameObj.world.ClearForces();

        gameObj.drawCanvas();

        setTimeout('gameObj.game_loop', 1000/60);
   },

    drawCanvas: function(){
        gameObj.world.DrawDebugData();
    },

    carMotionHandler: function(event){
        console.log(gameObj.carBody.GetWorldCenter());
        switch(event.keyCode)
       {
           case 37: //left arrow key
                   break;
           case 38: //up arrow key
                   gameObj.carX++;
                   break;
           case 39: //right arrow key
                   break;
           case 40: //left arrow key
                   break;
       }
    }
  };

 </script>
</html>

A: First problem: your game loop isn't running. setTimeout('gameObj.game_loop', 1000/60) simply accesses the value of game_loop 60 times per second. If you drop the quotes, it will actually run: setTimeout(gameObj.game_loop, 1000/60).
Fixing this will allow your square to move, but there are a few other serious issues.
Second problem: you use carX and carY for both initial position and rate of acceleration.
Third problem: you apply acceleration (via ApplyImpulse) with every loop of game_loop, so your square very quickly (i.e., within a few milliseconds) is travelling hundreds of units per second and instantly leaves the screen.


text:
Roxana Robinson
In this brilliant, luminous novel, one of our finest realist writers gives us a story of surpassing depth and emotional power. Acclaimed for her lucid and compassionate exploration of the American family, Roxana Robinson sets her new work on familiar terrain—New York City and the Adirondacks—but with Sweetwater she transcends the particulars of the domestic sphere with a broader, more encompassing vision. In this poignant account of a young widow and her second marriage, Robinson expands her scope to include the larger natural world as well as the smaller, more intimate one of the home.
Isabel Green's marriage to Paul Simmons, after the death of her first husband, marks her reconnection to life—a venture she's determined will succeed. But this proves to be harder than she'd anticipated, and the challenges of starting afresh seem more complicated in adulthood. Staying at the Simmons lodge for their annual summer visit, Isabel finds herself entering into a set of familial complexities. She struggles to understand her new husband, his elderly, difficult parents and his brother, whose relationship with Paul seems oddly fraught. Furthermore, her second marriage begins to cast into sharp relief the troubling echoes of her first. Isabel's professional life plays a part as well: a passionate environmental advocate, she is aware of the tensions within the mountain landscape itself during a summer of spectacular beauty and ominous drought.
In her cool, elegant prose, Robinson gracefully delivers a plot that is complex, surprising and ultimately wrenching in its impact. As the strands of family are woven tightly and inevitably together, and as the past painfully informs the present, the vivid backdrop of the physical world provides its own eloquent dynamic. Sweetwater is a stunning achievement by a writer at the peak of her craft.
PUBLISHERS WEEKLY MAR 3, 2003
A starred or boxed review indicates a book of outstanding quality. A review with a blue-tinted title indicates a book of unusual commercial interest that hasn't received a starred or boxed review.SWEETWATERRoxana Robinson. Random, (320p) XIn four previous works of fiction, Robinson established herself as an astute and sensitive chronicler of domestic tensions, particularly among affluent families in wealthy enclaves of Manhattan and exclusive summer abodes. Here she broadens her canvas to introduce larger social issues tied (sometimes a bit too blatantly) to the ways her characters behave. A widow for two years, 47-year-old Isabel Green marries her ardent suitor, Paul Simmons, hoping that her affection for him will turn into love. During a visit to Sweetwater Lodge, the Simmons family's lakeside compound in the Adirondacks, she meets Paul's cold, disapproving parents, Douglas and Charlotte ("handsome, implacable... like a pair of raptors"), and his bachelor brother, Whit, with whom Paul maintains a vicious sibling rivalry. Fundamental issues soon convince Isabel that her marriage is a dreadful mistake. A committed environmentalist, she becomes embroiled in an argument with Douglas, who scorns environmental programs as impediments to progress. To complicate matters, Isabel and Whit acknowledge the passion that attracts them to each other. Meanwhile, flashbacks reveal the events of Isabel's first marriage and the way her husband died, leaving her guilt-stricken. At this point, nature intervenes in the form of a forest fire that threatens the lodge and its inhabitants, and motivates a wrenching, potentially lethal family drama. Although Sweetwater Lodge succumbs to the winds of change, Isabel is granted a life-affirming insight. Readers may feel that Robinson wraps things up too neatly, but the novel succeeds as a moving study of a woman's emergence from a suffocating life.
Penguin Random House LLC
More Books by Roxana Robinson
Dawson's Fall
A View of the Harbour
The New York Stories of Edith Wharton
A Perfect Stranger


Whether you're just dabbling in the music scene or are a seasoned professional, the need to soundproof your home recording studio is paramount. Our Acoustic Curtains are the solution you need to soundproof your home recording studio to achieve the crisp sound and finished product that you desire. Our Acoustic Quiet Curtains reduce reverberation and echo, as well as reduce interference from outside noise.
Don't get overwhelmed on how or where to begin soundproofing your home recording studio—we can help. It doesn't have to be an involved process that includes a contractor and rearranging your life from the top to bottom, it can be as easy as giving us a call. Acoustic Quiet Curtains can help you take your desired space and turn it into a premium sound recording studio right in the comfort of your home.
Soundproofing your home recording studio serves a dual purpose: keeping noise out so as not to disturb your neighbors or the sleeping child down the hall, and also keeping that same noise from disturbing your session inside the studio; our Acoustic Curtains are your soundproofing solution.
Our Acoustic Curtains fit seamlessly into any design aesthetic. Acoustic Quiet Curtains can be made in a wide range of constructions, and we can even use materials that you provide to us. We are here to help you find the appropriate material to help fit your needs and tastes.
When you are recording in your new home studio you want to make sure you are capturing the exact moment in time. That magic that comes from inside the room. You want to leave all the background noise out. We understand how musicians work and we can help to complete your new home soundproofing studio. Our curtains are designed for residential purposes because we specialize in creating your new home recording studio.
Quiet Acoustic Curtains are the missing piece when you are beginning the process of creating your soundproof home recording studio.


35 photos dream home! very comfortable home located in tofte with amazing lake superior views. high quality built home, features loft style master suite. once you enter the home through very welcoming porch with designated breezy seating area, you will be wowed by the views. gourmet kitchen which will satisfy the fussiest chefs, with kitchen island and breakfast bar for quick meals. there is plenty of area for dining table, if you wanted to have one – the current owners have it set up as conversation seating area. the living room is where you want to be to relax, enjoy the views – the best part is the fireplace with built in seating benches on each side. the rest of the main level has a full bathroom and guest bedroom, which could be used as a main level master bedroom as well. the lower level is a walk out – offers rec room and another bedroom. games are on during the rainy days. there is a sweet patio for relaxing evening gatherings in the warm summer and fall days.
30 photos top notch corner unit at the premier bluefin bay resort, right next to the bluefin bay grille! this is a rare opportunity to acquire one of bluefin's best – only steps away from lake superior. amazing big pine serves as a good buffer between the unit and the restaurant. super functional floor plan and many updates throughout, including newer furniture and appliances. check out the pella windows with built in blinds! makes it a breeze to enjoy the amazing lake views from both levels! super functional kitchen open to the living room and combined with the dining area, makes for easy entertaining while cooking. step out to the nice deck and enjoy a glass of coffee in the morning, enjoying the sound of the waves. or go for a stroll on the beach right from your deck! main level bedroom has separate front door and direct access to the main level bathroom. nice and private, if you are looking for your own little place. master suite completes the package, with high ceilings and exposed beams, private balcony, private master bathroom with 2 person air tub and views of the lake. this townhome is a rare opportunity, it is a must see!
22 photos having spent the frigid day on skis, or battled the bugs while hiking the backwoods, the immediate comfort this beautifully finished cabin offers will be readily embraced. each level of this compact, yet fully functional and highly attractive north-woods cabin is laden with warm hospitality and charm. the main floor design with an eat-in kitchen, lounging space and vaulted ceiling gives invitation to sprawl out and share stories about the day's adventures, or play games and enjoy refreshments. this place really is a north-woods sanctuary, that seems to say, "come on in, reflect, have good conversation, take a nap, and savour this time and place." come and take a look---you'll be glad you did.
24 photos gorgeous lake views from every level of this sharply-remodeled lake superior townhome. quality finishes including granite, wood and tile floors, maple cabinets, plus pale gray walls with white trim for a cool, modern vibe. there are multiple spaces to spread out in the spacious, three-level, end unit with 2 bedrooms and 3 baths. the large windows afford wide-open views of the big lake. currently offered as a rental unit through cascade vacation rentals; helps to offset the cost of ownership, if desired. with the exception of a few personal items, this townhome could come fully-furnished with an acceptable offer. brand-new furnishings! enjoy your time on the north shore without any pesky chores. your only job is to enjoy lake living, and all of the activities this area has to offer: golfing, skiing, hiking, biking, beach combing, music, shops & restaurants, plus much more. make a showing appointment to see this stunning townhome!
24 photos "welcome to lake superior" is what you'll say about this warm, tasteful & beautiful, comfortable & light-filled end-unit aspenwood townhome. a thoughtful layout allows you to be together or to seek out that quiet niche you may need. the 2-story walkout style leaves you with plenty of options to get outside and as close to the big lake as possible. take the stairs at the east end of the property down to the water's edge and you'll likely spend the entire day there! it's truly a wonderland. or...if you would rather sit still, eat/drink, read/nap, write, listen to music then you'll have your pick of seats with a view and a restoring lake breeze. in addition to the fact that this townhome includes 98% of all furnishings & personal property it is also part of a successful vacation rental pool. while being used as a vacation rental is not a requirement it is a wonderful way to offset ownership costs. enjoy your own north shore get-away while letting others help you pay for it!
17 photos unit 32 at bluefin bay is a romantic retreat for your family and friends. the kitchen has been recently remodeled with beautiful custom cabinetry, granite counter-tops, and new appliances. unit 32's living room puts you right at lake superior's shoreline. listen to the waves lapping as you keep cozy by the custom fireplace. you can't get any closer to the lake than this. the full bathroom features a double jacuzzi tub with a private window that allows you to relax and soak in the north shore beauty and tranquility that only lake superior provides. this one bedroom unit is part of bluefin bay's award-winning rental management program and grosses $50,000 in annual rental income, helping to offset the costs of ownership. there simply is no better way to own a piece of lake superior. the pull-out couch allows a family and friends to stay comfortably in the unit. the resort amenities and activities will provide for busy days and the lakeside deck will provide quiet evenings to unwind. further financial information is available. call to schedule a showing or for additional information.
15 photos step inside to charming unit 26. this one bedroom condo has full southern exposure and right on lake superior. take in the sunrise and sunsets from your private deck and listen to the waves crash along one the most iconic beaches on the north shore. unit 26 grosses $50,000 in annual rental income, so it can pay for itself while you're not enjoying it yourself. beautifully remodeled bathroom with custom shower and jaccuzi tub will help you unwind after a day of adventure. the living room has a panoramic view of the big lake and is perfect for entertaining guests or to spend a quiet and romantic evening by the wood fireplace. one bedroom condos are the perfect fit since they provide minimal risk and low carrying costs, while being a part of one of the most iconic resorts in all of minnesota and are some of the most frequently rented units at the resort. call today for a private tour or to learn more about the financials.
30 photos this is an amazing opportunity to vacation in style and free of any hassle! 1/4 share of unit 16 at surfside on lake superior, located in tofte. this is a middle unit, with impressive lake superior views from each floor. the lower level (b side) can be rented separately, with walk out patio to the ledgerock beach and a path to the shore lid with solar lights at night. there is 2 person whirlpool tub to soak in after a day of hiking or skiing. convenient kitchenette completes the package, has a small fridge, microwave and coffee maker. the main and upper levels (a side) are perfect for families and groups. there is a spacious main level bedroom with large closet and direct access to the ¾ bath. gourmet full kitchen, opened to the living and dining area, and overlooking lake superior. cozy fireplace to take the chill off in the winter months. the whole townhome is designed with large windows and glass, to maximize the exposer to sun and light, and to take full advantage of the amazing lake superior views. the upper floor features a large guest bedroom, with its own deck. check out the office area, if you absolutely have to bring work with. there is also a comfy reading and relaxing area. every space is used and designed very thoughtfully. enjoy recent improvements - some of the furniture on the main and lower level was just replaced last year. as you walk through the main and lower level, you will feel the warmth on your feet, coming from the in-floor heating, the upper level features baseboard heaters and cozy carpet. all carpet was replaced in 2018. this unit is ready for your enjoyment up north! there are grills on site for guests to use, fire pit area, tennis court, guest laundry services and guest services area. in addition there is luxury spa services right on site – waves of superior spa and swimming pool, with fitness room.
14 photos chateau leveaux is a lake superior destination resort located between lutsen and tofte. nestled in the heart of the sawtooth mountain ridge, enjoy this cozy and relaxing lake front condo only a stone's throw from breathtaking lake superior access and views. you will love this up north log cabin themed condo including fireplace, full kitchen and a whirlpool tub for 2. step outside to your own patio or to 460' of shared accessible shoreline and front yard to bbq. chateau leveaux resort amenities include the pool, sauna, hot tub and game room. small, well established hoa offering no/low maintenance to the owner. head up/down the shore on the new bike trail, rivers to explore, trails to hike and/or just sit back and enjoy the grand view of lake superior!


text:
Increasing Numbers of Schools Are Grappling With Mold Problems
By Joetta L. Sack — November 19, 2003 2 min read
More and more schools are contending with the annoying, sometimes frightening, and often expensive issue of mold. And without a clear scientific consensus on the subject, they're in a quandary.
Read "Mold Remediation in Schools and Commercial Buildings," from the U.S. Environmental Protection Agency. The EPA also posts other resources on mold.
Some experts are calling mold "the new asbestos," a harmful substance that can ravage the vulnerable health of children and staff members with asthma and allergies. Others point out that mold is everywhere and say it's harmful only in very rare cases.
No firm count of how many schools have been closed because of mold or otherwise been seriously affected by it is available. But people watching the problem say the number of closures and cleanups has increased markedly in 2003. Incidences have cropped up in just about every state, and dozens of schools did not open on time this fall because of mold.
"There's a growing awareness of the problem by school administrators and parents, which means people are taking action more quickly," says Judy Marks, the assistant director of the National Clearinghouse for Educational Facilities, based in Washington. Instead of sending school janitors to clean up a mold problem, she says, a school is now more likely to shut down temporarily and call in experts to make sure the building does not pose health hazards.
In many cases, that reaction is extreme, but with little knowledge of the actual health dangers of mold, schools are in a bind, many authorities say.
"There are no standards" for dangerous amounts of mold in schools, says Fred Krimgold, the director of the Virginia Tech Center for Disaster Risk Management, located in Alexandria, Va. The center studies and calculates the probability of natural and man-made disasters, including mold, primarily for the insurance industry. "There's a lot of spectacular media attention, but the underlying reality is that there are a great number of uncertainties and a great deal of scientific controversy in the field."
Some 100,000 types of mold exist, and about 350 are believed to be harmful to at least some individuals. The overarching cause for mold is excessive moisture, which creates mold spores when combined with organic materials at the correct temperature.
Since 1999, there has been a 300 percent increase in the number of mold-related lawsuits filed, according to Susan M. Hickman, a Chicago-based environmental lawyer who represents school districts. More than 10,000 cases are now pending, she says, and "a significant portion of those involve school districts."
—Joetta L. Sack
Thu., January 20, 2022, 3:00 p.m. - 4:00 p.m. ET
Student Well-Being Webinar Stronger Together: Integrating Social and Emotional Supports in an Equity-Based MTSS
Decades of research have shown that when schools implement evidence-based social and emotional supports and programming, academic achievement increases. The impact of these supports – particularly for students of color, students from low-income communities, English
Content provided by Illuminate Education
Mon., January 24, 2022, 2:00 p.m. - 3:00 p.m. ET
Student Well-Being Webinar A Whole Child Approach to Supporting Positive Student Behavior
To improve student behavior, it's important to look at the root causes. Social-emotional learning may play a preventative role.
A whole child approach can proactively support positive student behaviors.
Join this webinar to learn how.
Content provided by Panorama
Tue., January 25, 2022, 2:00 p.m. - 3:00 p.m. ET
Recruitment & Retention Live Online Discussion A Seat at the Table: Why Retaining Education Leaders of Color Is Key for Student Success
Today, in the United States roughly 53 percent of our public school students are young people of color, while approximately 80 percent of the educators who lead their classrooms, schools, and districts are white. Racial
Search over ten thousand teaching jobs nationwide — elementary, middle, high school and more.
Find hundreds of jobs for principals, assistant principals, and other school leadership roles.
Administrator Jobs
Over a thousand district-level jobs: superintendents, directors, more.
Support Staff Jobs
Search thousands of jobs, from paraprofessionals to counselors and more.
Create Your Own Job Search
Here's a look at some recent Education Week articles you may have missed.
Education School Bus Driver Retires After 48 Years Behind Wheel
Charles City school bus driver Betty Flick sat behind the wheel for the final time last week, wrapping up a 48-year career for the district.
Betty Flick quickly fell in love with the job and with the kids, which is what has had her stay in the district for this long.
Courtesy of Abby Koch/Globe Gazette
Education Briefly Stated: December 1, 2021
Education Briefly Stated: November 17, 2021
Sign Up & Sign In
Create a free account to save your favorite articles, follow important topics, sign up for email newsletters, and more.


text:
BCG Partners with World Economic Forum
The World Economic Forum engages leaders from all facets of society—business, politics, academia, and beyond—to shape global, regional, and industry agendas and drive positive change. As a strategic partner of the World Economic Forum, BCG joins a select group of about 120 global companies closely aligned with the Forum's commitment to improving the state of the world.
Like our fellow members, BCG attends the renowned Annual Meeting in Davos, the Annual Meeting of the New Champions in China, and many regional meetings. As a strategic partner, we do even more. The World Economic Forum taps BCG's people and insights for its collaborative projects, publications, and global communities. The goal of this work is to engage stakeholders, improve policymaking, inform business decisions, and share best practices.
BCG@Davos
Each year, BCG attends Davos alongside global business, government, social sector, academic, and media leaders. We take this opportunity to learn from our peers, connect with clients, and contribute our own thought leadership on an international stage.
EXPLORE OUR INSIGHTS FROM DAVOS 2020
Around the World with WEF
Africa 2019 (Cape Town), Hans-Paul Bürkner, Chairman, participates in a panel on Investing in the SDGs.
Fang Ruan, Managing Director and Partner, and Lars Faeste, Managing Partner, BCG Greater China, host a press conference on their recently-published white paper "Transform and Thrive: How to Win in China's Era of Uncertainties"
Annual Meeting 2020 (Davos): Rich Lesser, CEO, participates in "A Strategy for the Next Growth Cycle" panel.
We are currently collaborating on five projects with the World Economic Forum, exploring a broad spectrum of topics.
The Net-Zero Challenge
The latest climate science is clear and makes the imperative for climate action indisputable. This project aims to create a fact-based, ambitious, unequivocal call for accelerated climate action, highlighting the roles of corporations and governments. In 2020-21 we will deep dive into the topic of supply chain decarbonization, highlighting how companies can have significant climate impact by tackling their Scope 3 emissions with influence across geographies.
The Net-Zero Challenge: Global Climate Action at a Crossroads (Part 1)
The Net-Zero Challenge: Fast-Forward to Decisive Climate Action
Unlocking Value in Manufacturing Through Data Sharing
On the threshold of a data and analytics-driven revolution, manufacturers rely on data collaborations to unlock the full value in their operations. Leveraging data and advanced analytics, companies provide better products and services, optimize their value chains and maximize return on capital. In this project we examine successful data sharing applications to define key success factors and pre-requisites for manufacturers to derive value from manufacturing data.
Share to Gain: Unlocking Data Value in Manufacturing
Humanitarian and Resilience Investing Initiative
With the increasing scale and complexity of humanitarian crises and the growing demand for sustainable investing, the Humanitarian and Resilience Investing Initiative aims to mobilize flow of private capital to projects that enhance resilience in communities trapped in fragility while generating a financial return. Investor capital is essential in filling the persistent funding gap hindering progress towards the SDGs. The initiative engages development finance institutions, humanitarian actors, donors, and investors with the goal of catalyzing the Humanitarian and Resilience Investing market by steering development of compelling proofs-of-concept that will act as signals and exemplars for the broader ecosystem.
Humanitarian Investing — Mobilizing Capital to Overcome Fragility
The World Economic Forum's new Mission Possible Platform aims to support coalitions in heavy industry and transport sectors that are researching and promoting approaches to decarbonization. In this project, we're developing a strategic plan for the Mission Possible Platform and initiatives that the platform can take on to accelerate progress in hard-to-abate industries.
Distributed Ledger Technologies (DLT) in Capital Markets
The World Economic Forum is convening a series of workshops to explore the role of Distributed Ledger Technologies (DLT) in capital markets. The purpose of this dialogue series is to bring together technology experts, capital market participants, and relevant policy-makers to answer key questions such as: Is there a role for Distributed Ledger Technology in the future of capital markets? What are the promising use-cases, in-flight experiments and anticipated transformations in market structure? What kinds of collaboration are needed to realize the benefits and mitigate risks?
Recent Past Projects
Future of Sustainable and Impact Investing
Future of Construction
Future of Urban & Autonomous Mobility
Project Fellows
BCG consultants have worked as "Project Fellows" with the Forum, playing key roles in managing projects—from initial analysis, to multistakeholder input, to publication of the research.
Global Councils
BCGers have joined invitation-only councils focusing on critical topics including gender parity, education, emerging multinationals, telecommunication, and more.
Allison Bailey joins the Council on the New Agenda for Education and Skills
Michel Frédeau joins the Council on Net-Zero Transition
Antoine Gourevitch joins the Council on Synthetic Biology
Nadjia Yousif joins the Council on AI for Humanity
Young Global Leaders
Current and former BCGers have been selected to join this community of exceptional people under 40 years old, who share a commitment to shaping the future through inspiring and impactful leadership.
Leila Hoteit
Lisa Ivers
Ian Walsh
Current and former BCGers have been selected to join this community of engaged young people in 156 countries, driving action for meaningful change.
Next Section: Davos 2020