text:
package life.catalogue.importer;

import life.catalogue.api.model.*;
import life.catalogue.api.vocab.Users;
import life.catalogue.common.lang.InterruptedRuntimeException;
import life.catalogue.common.tax.AuthorshipNormalizer;
import life.catalogue.config.ImporterConfig;
import life.catalogue.dao.Partitioner;
import life.catalogue.db.mapper.*;
import life.catalogue.importer.neo.NeoDb;
import life.catalogue.importer.neo.NeoDbUtils;
import life.catalogue.importer.neo.model.Labels;
import life.catalogue.importer.neo.model.NeoName;
import life.catalogue.importer.neo.model.NeoUsage;
import life.catalogue.importer.neo.model.RelType;
import life.catalogue.importer.neo.traverse.StartEndHandler;
import life.catalogue.importer.neo.traverse.TreeWalker;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Transaction;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
import java.util.function.Supplier;

import static life.catalogue.common.lang.Exceptions.interruptIfCancelled;

/**
 *
 */
public class PgImport implements Callable<Boolean> {
  private static final Logger LOG = LoggerFactory.getLogger(PgImport.class);

  private final NeoDb store;
  private final int batchSize;
  private final SqlSessionFactory sessionFactory;
  private final AuthorshipNormalizer aNormalizer;
  private final Dataset dataset;
  private final Map<Integer, Integer> verbatimKeys = new HashMap<>();
  private final Set<String> proParteIds = new HashSet<>();
  private final AtomicInteger nCounter = new AtomicInteger(0);
  private final AtomicInteger tCounter = new AtomicInteger(0);
  private final AtomicInteger sCounter = new AtomicInteger(0);
  private final AtomicInteger rCounter = new AtomicInteger(0);
  private final AtomicInteger diCounter = new AtomicInteger(0);
  private final AtomicInteger deCounter = new AtomicInteger(0);
  private final AtomicInteger mCounter = new AtomicInteger(0);
  private final AtomicInteger vCounter = new AtomicInteger(0);
  private final AtomicInteger tmCounter = new AtomicInteger(0);

  public PgImport(int datasetKey, NeoDb store, SqlSessionFactory sessionFactory, AuthorshipNormalizer aNormalizer,
                  ImporterConfig cfg) {
    this.dataset = store.getDataset();
    this.dataset.setKey(datasetKey);
    this.aNormalizer = aNormalizer;
    this.store = store;
    this.batchSize = cfg.batchSize;
    this.sessionFactory = sessionFactory;
  }

  @Override
  public Boolean call() throws InterruptedException, InterruptedRuntimeException {
    Partitioner.partition(sessionFactory, dataset.getKey());

    insertVerbatim();

    insertReferences();

    insertNames();

    insertNameRelations();

    insertTypeMaterial();

    insertUsages();

    Partitioner.indexAndAttach(sessionFactory, dataset.getKey());

    updateMetadata();
		LOG.info("Completed dataset {} insert with {} verbatim records, " +
        "{} names, {} taxa, {} synonyms, {} references, {} vernaculars, {} distributions, {} descriptions and {} media items",
        dataset.getKey(), verbatimKeys.size(),
        nCounter, tCounter, sCounter, rCounter, vCounter, diCounter, deCounter, mCounter);
		return true;
	}

  private void updateMetadata() {
    try (SqlSession session = sessionFactory.openSession(false)) {
      LOG.info("Updating dataset metadata for {}: {}", dataset.getKey(), dataset.getTitle());
      DatasetMapper mapper = session.getMapper(DatasetMapper.class);
      Dataset old = mapper.get(dataset.getKey());
      updateMetadata(old, dataset);
      mapper.update(old);
      session.commit();
    }
  }

  /**
   * Updates the given dataset d with the provided metadata update,
   * retaining managed properties like keys and settings
   */
  public static Dataset updateMetadata(Dataset d, Dataset update) {
    copyIfNotNull(update::getAlias, d::setAlias);
    copyIfNotNull(update::getAuthorsAndEditors, d::setAuthorsAndEditors);
    copyIfNotNull(update::getCompleteness, d::setCompleteness);
    copyIfNotNull(update::getConfidence, d::setConfidence);
    copyIfNotNull(update::getContact, d::setContact);
    copyIfNotNull(update::getDescription, d::setDescription);
    copyIfNotNull(update::getGroup, d::setGroup);
    copyIfNotNull(update::getLicense, d::setLicense);
    copyIfNotNull(update::getOrganisations, d::setOrganisations);
    copyIfNotNull(update::getReleased, d::setReleased);
    copyIfNotNull(update::getTitle, d::setTitle);
    copyIfNotNull(update::getType, d::setType);
    copyIfNotNull(update::getVersion, d::setVersion);
    copyIfNotNull(update::getWebsite, d::setWebsite);
    return d;
  }

  private static <T> void copyIfNotNull(Supplier<T> getter, Consumer<T> setter) {
    T val = getter.get();
    if (val != null) {
      setter.accept(val);
    }
  }

  private void insertVerbatim() throws InterruptedException {
    try (final SqlSession session = sessionFactory.openSession(ExecutorType.BATCH, false)) {
      VerbatimRecordMapper mapper = session.getMapper(VerbatimRecordMapper.class);
      int counter = 0;
      Map<Integer, VerbatimRecord> batchCache = new HashMap<>();
      for (VerbatimRecord v : store.verbatimList()) {
        int storeKey = v.getId();
        v.setId(null);
        v.setDatasetKey(dataset.getKey());
        mapper.create(v);
        batchCache.put(storeKey, v);
        if (++counter % batchSize == 0) {
          commitVerbatimBatch(session, batchCache);
          LOG.debug("Inserted {} verbatim records so far", counter);
        }
      }
      commitVerbatimBatch(session, batchCache);
      LOG.info("Inserted {} verbatim records", counter);
    }
  }

  private void commitVerbatimBatch(SqlSession session, Map<Integer, VerbatimRecord> batchCache) {
    interruptIfCancelled();
    session.commit();
    // we only get the new keys after we committed in batch mode!!!
    for (Map.Entry<Integer, VerbatimRecord> e : batchCache.entrySet()) {
      verbatimKeys.put(e.getKey(), e.getValue().getId());
    }
    batchCache.clear();
  }

  private <T extends VerbatimEntity & UserManaged & DatasetScoped> T updateVerbatimUserEntity(T ent) {
    ent.setDatasetKey(dataset.getKey());
    return updateUser(updateVerbatimEntity(ent));
  }

  private <T extends VerbatimEntity> T updateVerbatimEntity(T ent) {
    if (ent != null && ent.getVerbatimKey() != null) {
      ent.setVerbatimKey(verbatimKeys.get(ent.getVerbatimKey()));
    }
    return ent;
  }

  private static <T extends UserManaged> T updateUser(T ent) {
    if (ent != null) {
      ent.setCreatedBy(Users.IMPORTER);
      ent.setModifiedBy(Users.IMPORTER);
    }
    return ent;
  }

  private <T extends Referenced> T updateReferenceKey(T obj){
    if (obj.getReferenceId() != null) {
      obj.setReferenceId(store.references().tmpIdUpdate(obj.getReferenceId()));
    }
    return obj;
  }

  private void updateReferenceKey(String refID, Consumer<String> setter){
    if (refID != null) {
      setter.accept(store.references().tmpIdUpdate(refID));
    }
  }

  private void updateReferenceKey(List<String> refIDs){
    if (refIDs != null) {
      refIDs.replaceAll(r -> store.references().tmpIdUpdate(r));
    }
  }

  private void insertReferences() throws InterruptedException {
    try (final SqlSession session = sessionFactory.openSession(ExecutorType.BATCH, false)) {
      ReferenceMapper mapper = session.getMapper(ReferenceMapper.class);
      int counter = 0;
      // update all tmp ids to nice ones
      store.references().updateTmpIds();
      for (Reference r : store.references()) {
        r.setDatasetKey(dataset.getKey());
        updateVerbatimUserEntity(r);
        updateUser(r);
        mapper.create(r);
        rCounter.incrementAndGet();
        if (counter++ % batchSize == 0) {
          interruptIfCancelled();
          session.commit();
          LOG.debug("Inserted {} references", counter);
        }
      }
      session.commit();
      LOG.debug("Inserted all {} references", counter);
    }
  }

  /**
   * Inserts all names, collecting all homotypic name keys for later updates if they havent been inserted already.
   */
  private void insertNames() {
    try (final SqlSession session = sessionFactory.openSession(ExecutorType.BATCH, false)) {
      final NameMapper nameMapper = session.getMapper(NameMapper.class);
      LOG.debug("Inserting all names");
      store.names().all().forEach(n -> {
        n.name.setDatasetKey(dataset.getKey());
        updateVerbatimUserEntity(n.name);
        updateReferenceKey(n.name.getPublishedInId(), n.name::setPublishedInId);
        // normalize authorship on insert - sth the DAO normally does but we use the mapper directly in batch mode
        n.name.setAuthorshipNormalized(aNormalizer.normalizeName(n.name));
        nameMapper.create(n.name);
        if (nCounter.incrementAndGet() % batchSize == 0) {
          interruptIfCancelled();
          session.commit();
          LOG.debug("Inserted {} other names", nCounter.get());
        }
      });
      session.commit();
    }
    LOG.info("Inserted {} name in total", nCounter.get());
  }

  /**
   * Go through all neo4j relations and convert them to name acts if the rel type matches
   */
  private void insertNameRelations() {
    for (RelType rt : RelType.values()) {
      if (!rt.isNameRel()) continue;

      final AtomicInteger counter = new AtomicInteger(0);
      try (final SqlSession session = sessionFactory.openSession(ExecutorType.BATCH, false)) {
        final NameRelationMapper nameRelationMapper = session.getMapper(NameRelationMapper.class);
        LOG.debug("Inserting all {} relations", rt);
        try (Transaction tx = store.getNeo().beginTx()) {
          store.iterRelations(rt).stream().forEach(rel -> {
            NameRelation nr = store.toRelation(rel);
            updateReferenceKey(nr.getPublishedInId(), nr::setPublishedInId);
            nameRelationMapper.create(updateUser(nr));
            if (counter.incrementAndGet() % batchSize == 0) {
              interruptIfCancelled();
              session.commit();
            }
          });
        }
        session.commit();
      }
      LOG.info("Inserted {} {} relations", counter.get(), rt);
    }
  }

  private void insertTypeMaterial() {
    try (final SqlSession session = sessionFactory.openSession(ExecutorType.BATCH, false)) {
      final TypeMaterialMapper tmm = session.getMapper(TypeMaterialMapper.class);
      LOG.debug("Inserting type material");
      // update all tmp ids to nice ones
      store.typeMaterial().updateTmpIds();
      for (TypeMaterial tm : store.typeMaterial()) {
        updateVerbatimUserEntity(tm);
        updateReferenceKey(tm);
        tmm.create(tm);
        if (tmCounter.incrementAndGet() % batchSize == 0) {
          interruptIfCancelled();
          session.commit();
        }
      }
      session.commit();
    }
    LOG.info("Inserted {} type material records", tmCounter);
  }

  /**
   * insert taxa/synonyms with all the rest
   */
  private void insertUsages() throws InterruptedException {
    try (SqlSession session = sessionFactory.openSession(ExecutorType.BATCH,false)) {
      LOG.info("Inserting remaining names and all taxa");
      DescriptionMapper descriptionMapper = session.getMapper(DescriptionMapper.class);
      DistributionMapper distributionMapper = session.getMapper(DistributionMapper.class);
      MediaMapper mediaMapper = session.getMapper(MediaMapper.class);
      TaxonMapper taxonMapper = session.getMapper(TaxonMapper.class);
      SynonymMapper synMapper = session.getMapper(SynonymMapper.class);
      VernacularNameMapper vernacularMapper = session.getMapper(VernacularNameMapper.class);

      // iterate over taxonomic tree in depth first order, keeping postgres parent keys
      // pro parte synonyms will be visited multiple times, remember their name ids!
      TreeWalker.walkTree(store.getNeo(), new StartEndHandler() {
        int counter = 0;
        Stack<String> parentIds = new Stack<>();

        @Override
        public void start(Node n) {
          NeoUsage u = store.usages().objByNode(n);
          NeoName nn = store.nameByUsage(n);
          updateVerbatimEntity(u);
          updateVerbatimEntity(nn);
          // update share props for taxon or synonym
          NameUsageBase nu = u.usage;
          nu.setName(nn.name);
          nu.setDatasetKey(dataset.getKey());
          updateReferenceKey(nu.getReferenceIds());
          updateUser(nu);
          if (!parentIds.empty()) {
            // use parent postgres key from stack, but keep it there
            nu.setParentId(parentIds.peek());
          } else if (u.isSynonym()) {
            throw new IllegalStateException("Synonym node " + n.getId() + " without accepted taxon found: " + nn.name.getScientificName());
          } else if (!n.hasLabel(Labels.ROOT)) {
            throw new IllegalStateException("Non root node " + n.getId() + " with an accepted taxon without parent found: " + nn.name.getScientificName());
          }

          // insert taxon or synonym
          if (u.isSynonym()) {
            if (NeoDbUtils.isProParteSynonym(n)) {
              if (proParteIds.contains(u.getId())){
                // we had that id before, append a random suffix for further pro parte usage
                UUID ppID = UUID.randomUUID();
                u.setId(u.getId() + "-" + ppID);
              } else {
                proParteIds.add(u.getId());
              }
            }
            synMapper.create(u.getSynonym());
            sCounter.incrementAndGet();

          } else {
            taxonMapper.create(updateUser(u.getTaxon()));
            tCounter.incrementAndGet();
            Taxon acc = u.getTaxon();

            // push new postgres key onto stack for this taxon as we traverse in depth first
            parentIds.push(acc.getId());

            // insert vernacular
            for (VernacularName vn : u.vernacularNames) {
              updateVerbatimUserEntity(vn);
              updateReferenceKey(vn);
              vernacularMapper.create(vn, acc.getId());
              vCounter.incrementAndGet();
            }

            // insert distributions
            for (Distribution d : u.distributions) {
              updateVerbatimUserEntity(d);
              updateReferenceKey(d);
              distributionMapper.create(d, acc.getId());
              diCounter.incrementAndGet();
            }

            // insert descriptions
            for (Description d : u.descriptions) {
              updateVerbatimUserEntity(d);
              updateReferenceKey(d);
              descriptionMapper.create(d, acc.getId());
              deCounter.incrementAndGet();
            }

            // insert media
            for (Media m : u.media) {
              updateVerbatimUserEntity(m);
              updateReferenceKey(m);
              mediaMapper.create(m, acc.getId());
              mCounter.incrementAndGet();
            }

          }

          // commit in batches
          if (counter++ % batchSize == 0) {
            interruptIfCancelled();
            session.commit();
            LOG.info("Inserted {} names and taxa", counter);
          }
        }

        @Override
        public void end(Node n) {
          interruptIfCancelled();
          // remove this key from parent queue if its an accepted taxon
          if (n.hasLabel(Labels.TAXON)) {
            parentIds.pop();
          }
        }
      });
      session.commit();
      LOG.debug("Inserted {} names and {} taxa", nCounter, tCounter);
    }
  }

}

redpajama_set_name: RedPajamaGithub


The Interim Ministry Training Institute is an intensive program offered over an eight-month period with monthly gatherings in central WI. Preparatory readings, presentation, small group discussion, case study analysis, and practicum assignments teach both theory and practice and allow for individual coaching. Both fully-supported and part-time models of doing interim ministry are valued. Offered inter-denominationally. This course can also be beneficial to pastors in settled positions guiding their congregation through an intentional time of transition and change. Information and registration at www.sandburconsulting.com or contact linda@sandburconsulting.com.


text:
topic: "github.com: creating private repos under an organization"
desc: "for closed source class assignments"
indent: true
---

We use github.com organizations such as <https://github.com/ucsb-cs16-f16> and <https://github.com/ucsb-cs16-w17> to set up a space
on github.com where every repo that you create can automatically be seen by your instructors and TAs without you having to add them manually as collaborators.

To create a private repo for a C++ assignment on github.com, follow this procedure.

# Choosing a name

* Unless you are told otherwise, the naming convention is `labxx_githubusername`
* For example, `lab00_jgaucho`

Use EXACTLY that name, because that will be how your TAs find it to give you a grade.

If you don't use the right letters, punctuation, capitalization, etc. it makes your TAs life more difficult. Your TA
may therefore decide to make your life difficult by giving you a lower grade for "not following directions".
They will have my full support.

# Filling in the rest

-   Under description, you may write anything you like, within reason.
    -   For example, something like "lab00 for Joe Schmoe" (if your name is Joe Schmoe) would be reasonable.
-   Select "private".
-   Check the box that says "Initialize this repository with a README.
    -   This is important because if you don't do this, the repo may have no content, and you can't clone a repo with no content.
-   Click the pull-down menu for "Add .gitignore" and select C++

Then create the repo.


text:
Silvia Lotti (née le  à San Miniato) est une joueuse italienne de volley-ball. Elle mesure  et joue au poste de réceptionneuse-attaquante. Elle totalise 7 sélections en équipe d'Italie.

Biographie

Clubs

Palmarès

Équipe nationale
 Championnat d'Europe des moins de 20 ans
Vainqueur : 2010.
 Championnat du monde des moins de 20 ans
Vainqueur : 2011.

Clubs
 Coupe de la CEV
 Vainqueur : 2012.
 Championnat d'Italie (1)
 Vainqueur : 2012.
 Coupe d'Italie
 Vainqueur : 2012.
Coupe d'Italie A2
Vainqueur : 2014.

Liens internes

 Équipe d'Italie de volley-ball féminin

Liens externes
   Son profil sur le site de la FIVB
  Son profil sur le site de la CEV
  Son profil sur le site de la ligue italienne
  Site officiel de son club

Naissance à San Miniato
Personnalité italienne du XXIe siècle
Joueuse italienne de volley-ball
Naissance en juin 1992

redpajama_set_name: RedPajamaWikipedia


text:
Здоровец — село в Ливенском районе Орловской области России.

Входит в Здоровецкое сельское поселение в рамках организации местного самоуправления и в Здоровецкий сельсовет в рамках административно-территориального устройства.

География
Расположено в 10 км к северо-западу от райцентра, города Ливны, и в 112 км к юго-востоку от центра города Орёл.

Западнее, по другую сторону от железной дороги, находится центр сельского поселения (сельсовета) — деревня Здоровецкие Выселки.

Улицы
 ул. Луговая
 ул. Новая
 ул. Овражная
 ул. Пушкина

Население

Согласно результатам переписи 2002 года, в национальной структуре населения русские составляли 97 % от жителей.

Примечания

Ссылки
 Здоровец (село)

Населённые пункты Ливенского района


Ron Jones and original Wave students are available and want to visit your school, theater or organization !
Please contact us through the links below.
This website is managed and overseen by original participants in The Third Wave experiment, in the hope that what we learned will be useful to others, as we all try to coexist in this confused and chaotic world. It will contain the latest news of our activities, along with the most complete and accurate information about our experience.
We welcome comments on this website, new questions for the FAQ's, and are always looking for more stories from original Third Wave students and items to share in the "museum."
>>> Ready to visit your school, play or organization !
Thank you to our many visitors and supporters around the world !


New campsite joins the CCI, Camping Armenistis, Sarti, Greece 20 Apr.
2015 A new campsite joins the CCI network, Camping Armenistis, Sarti, Greece. If you want to know more about Camping Armenistis, please click here.
New campsite joins the CCI, Camping Bijela Uvala, Poreč, Croatia 16 Apr.
2015 A new campsite joins the CCI network, Camping Bijela Uvala, Poreč, Croatia. If you want to know more about Camping Bijela Uvala, please click here.
New campsite joins the CCI, Naturist Camping Ulika, Poreč, Croatia 16 Apr.
2015 A new campsite joins the CCI network, Naturist Camping Ulika, Poreč, Croatia. If you want to know more about Naturist Camping Ulika, please click here.
New campsite joins the CCI, Camping Polari, Rovinj, Croatia 16 Apr.
2015 A new campsite joins the CCI network, Camping Polari, Rovinj, Croatia. If you want to know more about Camping Polari, please click here.
New campsite joins the CCI, CampingIN Park Umag, Umag, Croatia 16 Apr.
2015 A new campsite joins the CCI network, CampingIN Park Umag, Umag, Croatia. If you want to know more about CampingIN Park Umag, please click here.
New campsite joins the CCI, Naturcamping Camping Igelmonderhof, Manderfeld, Belgium 16 Apr.
2015 A new campsite joins the CCI network, Naturcamping Camping Igelmonderhof, Manderfeld, Belgium. If you want to know more about Naturcamping Camping Igelmonderhof, please click here.
New campsite joins the CCI, Camping Park Soline, Biograd na moru, Croatia 15 Apr.
2015 A new campsite joins the CCI network, Camping Park Soline, Biograd na moru, Croatia. If you want to know more about Camping Park Soline, please click here.
New campsite joins the CCI, Camping Village Simuni, Kolan, Pag, Croatia 15 Apr.
2015 A new campsite joins the CCI network, Camping Village Simuni, Kolan, Pag, Croatia. If you want to know more about Camping Village Simuni, please click here.
New campsite joins the CCI, camping Holiday Village Zaton Holiday Village, Nin, Zadar, Croatia 15 Apr.
2015 A new campsite joins the CCI network, camping Holiday Village Zaton Holiday Village, Nin, Zadar, Croatia. If you want to know more about camping Holiday Village Zaton Holiday Village, please click here.
New campsite joins the CCI, Camping VILLAGE GRAND SUD, PREIXAN, France 8 Apr.
2015 A new campsite joins the CCI network, Camping VILLAGE GRAND SUD, PREIXAN, France. If you want to know more about Camping VILLAGE GRAND SUD, please click here.


In a candid sit down interview with his brother on Sunday Night with Matty Johns on Fox Sports channel Fox League, "Joey", who is no longer allowed to drive and can no longer surf on his own in case of a medical episode, revealed the harrowing full extent of his health problems.
"I was calling a final between Canberra and Penrith down in Canberra in 2016. I was up there commentating and all of a sudden something came on in my body," he said.
"I went into this trance, this state, and I went into this dream. It's hard to describe, you go into this deja vu kind of scene and everything goes quiet.
"It hit me, and I came out of it and was just sitting in the commentary box and obviously I didn't say anything for a while. The producer came up and said, 'Mate are you all right?'.
"They can't be sure what causes it. It may be something that just pops up later in life," Johns said.
Proving he is only human after all, at least off the footy field, Johns also said he did what is often the worst possible thing — he Googled his symptoms.
"I was scared before I had these final scans, because when something goes wrong you Google it and it comes up with the worse case scenario," he said.


text:
#include "c2/protocols/RESTProtocol.h"

#include <algorithm>
#include <memory>
#include <utility>
#include <map>
#include <string>
#include <vector>
#include <list>

namespace org {
namespace apache {
namespace nifi {
namespace minifi {
namespace c2 {

const C2Payload RESTProtocol::parseJsonResponse(const C2Payload &payload, const std::vector<char> &response) {
  rapidjson::Document root;

  try {
    rapidjson::ParseResult ok = root.Parse(response.data(), response.size());

    if (ok) {
      std::string requested_operation = getOperation(payload);

      std::string identifier;
      if (root.HasMember("operationid")) {
        identifier = root["operationid"].GetString();
      }

      if (root.HasMember("operation") && root["operation"].GetString() == requested_operation) {
        if (root["requested_operations"].Size() == 0)
          return std::move(C2Payload(payload.getOperation(), state::UpdateState::READ_COMPLETE, true));

        C2Payload new_payload(payload.getOperation(), state::UpdateState::NESTED, true);

        new_payload.setIdentifier(identifier);

        for (const rapidjson::Value& request : root["requested_operations"].GetArray()) {
          Operation newOp = stringToOperation(request["operation"].GetString());
          C2Payload nested_payload(newOp, state::UpdateState::READ_COMPLETE, true);
          C2ContentResponse new_command(newOp);
          new_command.delay = 0;
          new_command.required = true;
          new_command.ttl = -1;

          // set the identifier if one exists
          if (request.HasMember("operationid")) {
            if (request["operationid"].IsNumber())
              new_command.ident = std::to_string(request["operationid"].GetInt64());
            else if (request["operationid"].IsString())
              new_command.ident = request["operationid"].GetString();
            else
              throw(Exception(SITE2SITE_EXCEPTION, "Invalid type for operationid"));

            nested_payload.setIdentifier(new_command.ident);
          }

          new_command.name = request["name"].GetString();

          if (request.HasMember("content") && request["content"].MemberCount() > 0)
            for (const auto &member : request["content"].GetObject())
              new_command.operation_arguments[member.name.GetString()] = member.value.GetString();

          nested_payload.addContent(std::move(new_command));
          new_payload.addPayload(std::move(nested_payload));
        }

        // we have a response for this request
        return new_payload;
      }
    }
  } catch (...) {
  }
  return std::move(C2Payload(payload.getOperation(), state::UpdateState::READ_ERROR, true));
}

void setJsonStr(const std::string& key, const std::string& value, rapidjson::Value& parent, rapidjson::Document::AllocatorType& alloc) { // NOLINT
  rapidjson::Value keyVal;
  rapidjson::Value valueVal;
  const char* c_key = key.c_str();
  const char* c_val = value.c_str();

  keyVal.SetString(c_key, key.length(), alloc);
  valueVal.SetString(c_val, value.length(), alloc);

  parent.AddMember(keyVal, valueVal, alloc);
}

rapidjson::Value getStringValue(const std::string& value, rapidjson::Document::AllocatorType& alloc) { // NOLINT
  rapidjson::Value Val;
  Val.SetString(value.c_str(), value.length(), alloc);
  return Val;
}

void RESTProtocol::mergePayloadContent(rapidjson::Value &target, const C2Payload &payload, rapidjson::Document::AllocatorType &alloc) {
  const std::vector<C2ContentResponse> &content = payload.getContent();

  for (const auto &payload_content : content) {
    rapidjson::Value payload_content_values(rapidjson::kObjectType);
    bool use_sub_option = true;

    if (payload_content.op == payload.getOperation()) {
      for (auto content : payload_content.operation_arguments) {
        if (payload_content.operation_arguments.size() == 1 && payload_content.name == content.first) {
          setJsonStr(payload_content.name, content.second, target, alloc);
          use_sub_option = false;
        } else {
          setJsonStr(content.first, content.second, payload_content_values, alloc);
        }
      }
    }
    if (use_sub_option) {
      rapidjson::Value sub_key = getStringValue(payload_content.name, alloc);
      target.AddMember(sub_key, payload_content_values, alloc);
    }
  }
}

std::string RESTProtocol::serializeJsonRootPayload(const C2Payload& payload) {
  rapidjson::Document json_payload(rapidjson::kObjectType);
  rapidjson::Document::AllocatorType &alloc = json_payload.GetAllocator();

  rapidjson::Value opReqStrVal;
  std::string operation_request_str = getOperation(payload);
  opReqStrVal.SetString(operation_request_str.c_str(), operation_request_str.length(), alloc);
  json_payload.AddMember("operation", opReqStrVal, alloc);

  std::string operationid = payload.getIdentifier();
  if (operationid.length() > 0) {
    rapidjson::Value operationIdVal = getStringValue(operationid, alloc);
    json_payload.AddMember("operationid", operationIdVal, alloc);
  }

  mergePayloadContent(json_payload, payload, alloc);

  for (const auto &nested_payload : payload.getNestedPayloads()) {
    rapidjson::Value np_key = getStringValue(nested_payload.getLabel(), alloc);
    rapidjson::Value np_value = serializeJsonPayload(nested_payload, alloc);
    json_payload.AddMember(np_key, np_value, alloc);
  }

  rapidjson::StringBuffer buffer;
  rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buffer);
  json_payload.Accept(writer);

  // std::string ret = ;
  return buffer.GetString();
}

rapidjson::Value RESTProtocol::serializeJsonPayload(const C2Payload &payload, rapidjson::Document::AllocatorType &alloc) {
  // get the name from the content
  rapidjson::Value json_payload(rapidjson::kObjectType);

  std::map<std::string, std::list<rapidjson::Value*>> children;

  for (const auto &nested_payload : payload.getNestedPayloads()) {
    rapidjson::Value* child_payload = new rapidjson::Value(serializeJsonPayload(nested_payload, alloc));
    children[nested_payload.getLabel()].push_back(child_payload);
  }

  // child_vector is Pair<string, vector<Value*>>
  for (auto child_vector : children) {
    rapidjson::Value children_json;
    rapidjson::Value newMemberKey = getStringValue(child_vector.first, alloc);

    if (child_vector.second.size() > 1) {
      children_json.SetArray();
      for (auto child : child_vector.second)
        children_json.PushBack(child->Move(), alloc);

      json_payload.AddMember(newMemberKey, children_json, alloc);
    } else if (child_vector.second.size() == 1) {
      rapidjson::Value* first = child_vector.second.front();

      if (first->IsObject() && first->HasMember(newMemberKey))
        json_payload.AddMember(newMemberKey, (*first)[newMemberKey].Move(), alloc);
      else
        json_payload.AddMember(newMemberKey, first->Move(), alloc);
    }

    for (rapidjson::Value* child : child_vector.second)
      delete child;
  }

  mergePayloadContent(json_payload, payload, alloc);

  return json_payload;
}

std::string RESTProtocol::getOperation(const C2Payload &payload) {
  switch (payload.getOperation()) {
    case Operation::ACKNOWLEDGE:
      return "acknowledge";
    case Operation::HEARTBEAT:
      return "heartbeat";
    case Operation::RESTART:
      return "restart";
    case Operation::DESCRIBE:
      return "describe";
    case Operation::STOP:
      return "stop";
    case Operation::START:
      return "start";
    case Operation::UPDATE:
      return "update";
    default:
      return "heartbeat";
  }
}

Operation RESTProtocol::stringToOperation(const std::string str) {
  std::string op = str;
  std::transform(str.begin(), str.end(), op.begin(), ::tolower);
  if (op == "heartbeat") {
    return Operation::HEARTBEAT;
  } else if (op == "acknowledge") {
    return Operation::ACKNOWLEDGE;
  } else if (op == "update") {
    return Operation::UPDATE;
  } else if (op == "describe") {
    return Operation::DESCRIBE;
  } else if (op == "restart") {
    return Operation::RESTART;
  } else if (op == "clear") {
    return Operation::CLEAR;
  } else if (op == "stop") {
    return Operation::STOP;
  } else if (op == "start") {
    return Operation::START;
  }
  return Operation::HEARTBEAT;
}

} /* namespace c2 */
} /* namespace minifi */
} /* namespace nifi */
} /* namespace apache */
} /* namespace org */


text:
The "Serial Killer Gene" On Riverdale, Explained
Story from Mind
Cory Stieg
Photo: Courtesy of The CW.
The following story contains spoilers for Riverdale.
The serial killer drama on Riverdale is hard enough to keep up with, but on Wednesday's episode, another shocker was added to the plot. Betty Cooper's (played by Lili Reinhart) sister, Polly Cooper (played by Tiera Skovbye), explains that Betty was told at a young age that she possesses something called "the serial killer gene" or monoamine oxidase A (MAOA).
"They tested the rest of us for it, and none of us have it — not even dad," Polly says. "It's just you, Betty. You have a predisposition to violence." This revelation leaves Betty perplexed, and she has trouble discerning if it's true or if her sister is just being manipulative. But, wild Riverdale plot aside, the MAOA gene is real, and some people believe it's the basis of violent behaviour. Although, it's way more complex and controversial than that.
For starters, MAOA is a gene that's responsible for breaking down molecules, specifically the neurotransmitters serotonin, epinephrine, norepinephrine, and dopamine, according to the National Institute of Health's Genetic Home Reference. You've probably heard of these neurotransmitters before, because they're in charge of regulating mood, emotion, sleep, and appetite.
When someone has a rare MAOA gene mutation, it can cause MAOA deficiency or low-activity MAOA. Without MAOA, these important neurotransmitters can build up in the brain, and make it harder for someone to control impulses. This can lead to aggressive behaviour or violent outbursts, which is one reason why MAOA is nicknamed the "warrior gene."
According to Rose McDermott, PhD, who has studied the MAOA gene, most scholars find this term pejorative and disrespectful, so they choose not to use it. "In the case of MAOA, it increases the likelihood that a person who possesses this variant will engage in physical aggression in response to provocation, when they have experienced a lot of traumatic early childhood events," she says. "But by no means is this deterministic." Interestingly, Alice Cooper (played by Mädchen Amick), Betty's mom, also tells Betty that she suffered an accident when she was a child. Given what we know about Betty's upbringing, perhaps she also dealt with trauma, too.
As the Cooper women suggest, MAOA deficiency is an inherited condition, and it tends to be more common in men. (Since the condition is considered "X-linked," and it's recessive, it's harder for women with two X chromosomes to end up with it.) Of course, genetics only tell half of the story. People might be surprised to learn that the expression of this gene is hugely affected by environmental factors, Dr. McDermott explains. "People with [low-activity] MAOA who have had a lot, or more intense, traumatic early childhood events, are much more likely to show increased rates of physical aggression later in life," she says. But even so, social behavior manifests in very complex ways, so it's unfair to make assumptions about people simply because they have this MAOA gene.
As for the belief that people with low-activity MAOA are serial killers? Dr. McDermott isn't aware of research that suggests that's the case. "While it may be possible to find serial killers with MAOA, you cannot know that this predisposes them without also thinking about all the people with MAOA who are not serial killers," she says.
To bring this back to the bizarre world of Riverdale, there's not a ton of truth to Polly's statement that her sister carries a "serial killer gene." So, maybe this is just one part of Edgar's evil plan after all.
Is MAOA Serial Killer Gene On Riverdale A Real Thing?
Health • Mind
written by Cory Stieg
This Is Exactly What Happens When You Start Therapy
As beneficial as therapy can be, it can also be really daunting if you want to start seeing a professional but aren't sure how or where to start. How do
by Kimberly Truong
I Tried 47 Different Things To Help My Anxiety – This Is What Stuck
I've grappled with anxiety ever since my first panic attack six years ago, during an otherwise inconsequential day in June. Driving from my house to the
by Anya Meyerowitz
Promotional Feature
How To Balance Wellbeing, Fitness & Work – With Advice From Carly...
When the demands of life become overwhelming, maintaining a healthy mind and body can fall low on our priority list. (How many times have you cancelled a
by Carly Rowena
Our Obsession With Sleeping Well Is Stopping Us From Sleeping
For many of us, a midweek morning routine consists of a couple of alarm snoozes, a fairly lengthy Instagram scroll, a cup of PG Tips and a hefty dose of
by Tor Cardona
If you've ever felt emotionally moved after completing a hike, or a challenging climb, you're probably familiar with the healing effect that the great
When Women Get Called 'Sensitive' It's Not A Compl...
The following is an extract from Eleanor Morgan's new book, Hormonal: A Conversation About Women's Bodies, Mental Health And Why We Need To Be Heard.
by Eleanor Morgan
5 Women With PTSD Describe What It's Like To Live With
Warning: This article contains descriptions of traumatic events, including rape, which some readers might find upsetting I always thought I had a pretty
by Sarah Graham
Lizzo Got "Emotionally Honest" About Mental Health In Powerful In...
We can always count on Lizzo to deliver hit songs, body-positive manifestos, twerking tutorials, and bold, bright looks on the red carpet. But as fans

redpajama_set_name: RedPajamaCommonCrawl


text:
Matthew Weiner says he pushed himself to 'go deeper' writing 'Mad Men'
A press kit photo for "Mad Men" season 7.
After 7 seasons, "Mad Men" is headed toward its series finale. The show changed how we think of advertising and midday cocktails, and helped usher in an era of great TV.
The beloved AMC show "Mad Men" is headed toward its series finale, with just six episodes left. The series, which centered on a Madison Avenue ad agency during the 1960s, bids adieu after seven seasons.
The show changed the way we think and talk about advertising, midday cocktails and extramarital affairs. And it played a critical role in today's renaissance of great television.
"Mad Men" was created by Matthew Weiner, who spoke with The Frame's John Horn as part of his farewell tour.
Clearly the show has a broad reach. Were you always able, outside of Twitter and Facebook, to isolate yourself from the critical reaction to the show? Or did you want to hear what people were saying about it? And if so, did you ever let that affect the way you approached a season?
Matthew Weiner: No, I never let it affect the way I approached the season. And I have more than a morbid curiosity about what people think.
On the one hand, the best of the [comments] are people showing off their writing, and like, the recappers are trying to write the most poetic version of a recap they've ever done. [But,] some people need a lesson on a book report.
It's very demoralizing a lot of times. It's so critical. I'm so sensitive to criticism anyway. And usually, there's nothing I can do about it anyway, so I don't respond to it; but it immediately puts you on the defensive.
You're immediately being accused of a crime and you're not allowed to testify in your own defense because your show was your testimony. [laughs] So what are you going to say?
But there are comments…there [is] frequently this stream of vitriol, of like, 'Why are you writing about this,' or, 'who cares?' or whatever. And you're kind of like, 'I didn't ask you to do it.'
All of this is to say, you have a curiosity about it. It's like a review.
In the broader history of the show itself — in life — was there a moment where you overheard people talking about your show, and you realized it had become part of the cultural conversation?
Weiner: When the show was very first on, my interaction with the audience, because I was working all the time, was very limited.
I really knew people were watching it because the writers' strike happened right after we went off the air, and I started being on the picket line and would have writers coming up to me like, 'You did that show? I love that show,' or whatever.
Then, you know, we went off the air the first season, around Labor Day, I think. And I had a prediction that I considered to be a measure of success, which is, if some man dressed as Joan at Halloween, I'd know we had made it — and that happened. Someone sent me a picture of that in New York City. And I was like, 'You've poked through into a very important part of the culture.'
Novelists often say at the beginning of writing a book that they don't know where a character is going until the book is written, that the characters kind of find their own way, and it's sometimes a real surprise to the author. Is there an equivalent with "Mad Men"?
Weiner: Nobody wrote their own story, because it's too much effort. There's a bunch of writers in there and we do it an episode at a time, and there's 92 [total] hours of [the show].
I wish. We used to joke that it writes itself whenever a line seemed appropriate, but it doesn't write itself.
The surprise was going on this long. And the surprise was taking into account, when you're making little decisions all along the way, what that means for the character in the long-term.
When you turn in a script on someone else's show, and you have a good showrunner, and you've turned in your first draft, they want it to be better in certain ways. They want it to be like certain things they've given you notes on.
But, David Chase [creator and showrunner of 'The Sopranos'] and the good bosses that I've had would write things like, 'go deeper.'
If you keep that in mind, and I've given that note to other people too, if you start to understand what that really means…it's not just about rejecting ideas, it's not just about not following the cliché, it's not just about seeing things in a binary way and flipping it on its head. It's literally about, 'Well, what is that person really thinking? Let's say that they have their whole life, and a lot of stuff we don't even know about that's coming into play at this moment. What can you do?'
I have always pushed myself, and the writers have always pushed me, and each other, and I push the writers to be that way. And it shows in the show. It shows right down to the actors' understanding.
Check out part 2 of our interview with Matthew Weiner, talking the show's legacy and his own sense of loss saying goodbye to the show's cast and crew.
Sign up for The Frame newsletter
Movies, music, TV, arts and entertainment, straight from Southern California in your email inbox weekly on Thursdays.


text:
Maynard Colchester (4 March 1665 – 1715), of Westbury Court and the Wilderness, was an English lawyer and politician who sat in the English and British House of Commons from 1701 to 1708.

Colchester was the eldest son of Sir Duncombe Colchester  of Westbury Court and the Wilderness and his wife Elizabeth Maynard, daughter of Sir John Maynard . He matriculated at Exeter College, Oxford in 1681 and was admitted at Middle Temple in 1682. In 1689, he was called to the bar. He married  Jane Clarke (died 1741), daughter of Sir Edward Clarke of St. Peter Cheap and Gutter Lane, London, on 28 January 1690. He succeeded his father in 1694. In 1697 he was Colonel of the Red Regiment of Gloucestershire Militia at St Briavels.

Colchester was appointed Commissioner for superstitious lands, Gloucestershire in 1692. He was a member of SPCK in 1699, and was one of the founding members of the Society of the Propagation of the Gospel in 1701. He was elected Member of Parliament for Gloucestershire at the second general election of 1701. He was re-elected at the general elections of 1702 and 1705.  He did not stand in 1708. He was appointed verderer of the Forest of Dean from about 1709 for the rest of his life. In 1710 he became   deputy constable of St  Briavels Castle, Gloucestershire.

Colchester died on 25 June 1715, and was buried at Westbury, Gloucestershire. His tomb was sculpted by Thomas Green of Camberwell.

His two sons predeceased him and a daughter Jane married Thomas Morgan of Ruperra, Glamorgan. She inherited the estates of her uncle Thomas Clarke.

References

Members of the Parliament of England for Gloucestershire
English MPs 1702–1705
1665 births
1715 deaths
Gloucestershire Militia officers
English MPs 1701–1702
English MPs 1705–1707


text:
Home » Dermody Properties Leases 42,268 Square Feet in West Sacramento to FRSTeam
Dermody Properties Leases 42,268 Square Feet in West Sacramento to FRSTeam
Dermody Properties, a national private equity real estate investment, development and management company focused exclusively on the logistics real estate sector, is pleased to announce the lease of space at LogistiCenter at Southport to FRSTeam, an international company specializing in fabric and electronic restoration. The company will occupy 42,268 square feet in the building in the fourth quarter of 2021.
In March, we announced that LKQ Corporation would lease 152,857 square feet of LogistiCenter at Southport. With FRSTeam moving in as the second tenant in the building, only 184,004 square feet of space remains available within the Class A, state-of-the-art logistics facility.
"There is a high demand from our customers looking to locate facilities in Sacramento, not only because of the access it provides to the Western United States, but also because of the strong workforce," said George Condon, West Region Partner at Dermody Properties. "We are pleased to welcome FRSTeam as our second tenant in this building and we feel confident that this facility and the property's location will greatly benefit the customer's operations."
Michael Lyons of CBRE is the leasing agent for the property. Dave Planting of CBRE represented FRSTeam. Tom Schaal and Mark Heavey of Schaal Realty Advisors are Dermody Properties' partners.
Located within the 650-acre, master-planned Southport Industrial Park, the remaining available space at LogistiCenterSM at Southport features 35 dock high doors and two grade-level doors. The building is also equipped with an ESFR fire protection system.
"Sacramento consistently proves to be a strong industrial market for logistics-based customers," said Elizabeth Kauchak, Chief Operating Officer at Dermody Properties. "As the trend continues, we remain focused on sourcing and developing valuable assets to add to our portfolio."
LogistiCenter, a nationally trademarked brand owned and developed by Dermody Properties, represents the company's business philosophy of developing Class A distribution and logistics facilities that meet the supply-chain requirements of the most innovative companies.
For more information on LogistiCenter at Southport and the remaining available space, visit the property page.
https://dpwebsite.wpengine.com/region/west-region/property/logisticenter-at-southport/
KEYWORDS Dermody Properties
Dermody Properties Leases 152,857 Square Feet in West Sacramento to LKQ Corporation
Dermody Properties Leases 63,600 Square Feet in North Las Vegas to Artesian Spas
Dermody Properties Leases 16,913 Square Feet in Northern California


text:
You are here: Home / Association news / McKenzie Exits Tokyo in Opening Round
McKenzie Exits Tokyo in Opening Round
July 24, 2021 /in Association news, Featured, GB Judo, News, Tokyo 2020 /by BJA Comms
It wasn't to be for Ashley McKenzie in the opening round of the -60kg competition at the Tokyo Olympics, as he fell to defeat at the hands of Azerbaijan's Karamat Huseynov.
It was a fast paced opening to the contest with Huseynov looking to gain revenge for McKenzie's Tel Aviv Grand Slam victory earlier this year. A Seio-Nage score in the opening minute was the difference in Tokyo as the Azerbaijan fighter secured the win.
This wasn't a one-sided contest however, with McKenzie continually putting pressure on Huseynov throughout the contest and looking to dominate the grip.
He almost found a way back into the contest with his favoured Seio-Nage but Huseynov JUST found a way to rotate and avoid the score against him.
A brief injury delay midway through allowed both fighters to reset and reassess the fight but strong defence from Huseynov kept McKenzie at bay.
Both fighters picked up shidos as the contest wore on and Huseynov did enough to see the clock down and eliminate McKenzie in the opening round.
McKenzie was understandably distraught when he spoke to the media after his fight.
"At the moment, I'm mostly sad. I've put in a lot of work for this one tournament. I've put a lot of work in for this one tournament"
"My mum, a lot of the ones that love me – it just hurts to see that they've probably woken up to watch me, and I had one fight, and it didn't go the way I wanted it to. I'm strongly sorry for the people that put so much energy into me."
Tags: Ashley McKenzie, Olympics, Tokyo, Tokyo 2020
https://www.britishjudo.org.uk/wp-content/uploads/2021/07/60_3_MARM7895-1518297847-1518297848.jpg 831 1722 BJA Comms https://www.britishjudo.org.uk/wp-content/uploads/2018/06/BJA-Logo-Horizontal-Colour-1-300x108.png BJA Comms2021-07-24 04:32:562021-07-25 10:14:15McKenzie Exits Tokyo in Opening Round
Giles shines gold in Tel Aviv
Team Announcement: 2018 Paris Grand Slam
IMAGE GALLERY: Paris Grand Slam 2018
IN PICTURES: Training At Home
McKenzie and Giles in Action on Day 1 of the World Masters
GB JUDO Preview: 2017 World Judo Championships
GB squad announced for Paris Grand Slam
Stuart McWatt Injury Update
When Will Our GB Athletes Compete at Tokyo? Giles set for Olympic Debut


Within months of bombing Pearl Harbor in December 1941, the feared Japanese war machine had taken Singapore and the Philippines and was now bombing Darwin. The loss of Pt Moresby would be a disaster for Australia, next to be invaded. But initially we sent only poorly trained, young, larrikins recruited off the streets of Melbourne to defend New Guinea along the Kokoda track. Now look into the eyes of one of those boys who fought to save Australia from the Japanese as he tells his story from our most famous battle that turned the Pacific War.
Fresh from the Edinburgh Fringe, 'Kokoda' is presented at the Adelaide Fringe by Palmerston Projects Pty Ltd.
Tickets $19.50 each. Collect there on night.


text:
About Rabbi Corinne
A Rabbi at Sea
What People Say About "A Rabbi at Sea"
Ask Rabbi Corinne
Lifecycle Event Rates
For Clergy
Set Color
Rabbi Corinne
Uniquely Jewish
To Window to the Outside World
Presenting for a U.S. Audience—and Maybe Next Year the World!
The Will To Continue
Tangier: Location, location, location!
Finding Life After The Digitized Dead
D'var Torah
Exploring God's World
Judaism Basics — Everything You Wanted to Know…
Miracles are What you Make of Them
My International Kids
Torah Thoughts
Monthly archives "September 2017"
Aharei Mot (Leviticus 16)
Rabbi Corinne Copnick
A D'var Torah by Rabbi Corinne Copnick
"Aaron shall take the two he-goats and let them stand before the Lord at the entrance of the Tent of Meeting, and he shall place lots upon the two goats, one marked for the Lord and the other marked for Azazel" (Leviticus 16: 7-8).
"Aharei Mot," the title of this parasha, means "after the death," referring to "the two sons of Aaron who died when they were too close to the presence of the Lord" (JPS translation) [1]. These words are a time reference as we continue the great biblical story to the Day of Atonement we call Yom Kippur, a set day to be kept forever. All of Leviticus 16, in fact, is devoted to the expiation of sin and consequent purification. Great detail is given as to how the priests prepared for this time of atonement, which Jews all over the world honor (even if it is the only time they go to the synagogue). Scrupulous attention is paid to the priestly white linen attire and a host of other atonement rituals, including the choice of a bull for sacrifice and a pair of he-goats. Of the latter, only one is chosen by lot to be sacrificed. The second, marked for Azazel, is to carry all the sins of the Israelites into the wilderness. Like casting our bread crumbs into natural waters at Rosh Hashana, sending Azazel into the wilderness is reminiscent of the banishment of Cain and of Hagar and Ishmael as well. Cain eventually found respite in Edom, where he and his descendants prospered. Hagar and Ishmael were comforted that God would make of the Israelites two great nations.
But what of Azazel, who symbolically carried all our sins away? Did he find respite on the mountain that some think was near Mount Sinai? Different rabbis of old have different explanations. The one that I like best is that of Ibn Ezra. "According to Saadia [Gaon]," he writes, Azazel is "the name of a mountain, so called because it was precipitous"[2]. Possibly the goat driven into the wilderness would eventually stumble on the rocky cliffs and fall to its death, but it would not be slaughtered as a sacrifice. Other commentators explain that "Azazel" is a compound word (more common in Aramaic than in Hebrew). Thus "az azel" means "the goat went" [3]. Rashi, however, translates Azazal as meaning "to the goats;" in other words, the goat was released alive into the wilderness, presumably to dwell among the other wild goats. The "el" at the end of the word is simply a grammatical suffix. I am comforted by Rashi's explanation [4].
I was born in January, you see. My astrological sign is the goat, a designation with which I was never comfortable until I visited Arizona, Scottsdale to be exact, where a single, dry, brown mountain dominated the arid landscape. As my stay there grew longer, though, I began to discern shapes on the rocky mountain. Animals, living being of different kinds. And the most agile among them were goats. Surprisingly beautiful to my newly opened eyes, they were mountain goats. One of them stood high on a cliff, looking out beyond the mountain, protecting the flock below. I began to think that being a mountain goat was perhaps a wondrous thing. To me, it signified that Azazel was cast by lot to be a survivor, a goat that could withstand the barren wilderness and create a family there. Perhaps, in overcoming the sins with which it had been burdened as a form of sacrifice, the biblical goat had also endured.
Watching God's creatures, the nimble goats, I was so moved at the time that I wrote a poem about this experience. I called it "Born in January," like me. Now, with a little more humility – fitting for Yom Kippur — I am giving it a new name: "Azazel."
Azazel [5]
Mountain goats in their whiteness
clamber up the stony cliffs,
scale rocky heights,
melt age-old snowcaps
with heated vision.
Flock protected beneath his
Fortress, a monarch stands
alone atop the tajo.
Azazel.
[1] Aharei Mot, JPS Hebrew-English Tanakh, 2nd ed. (Philadelphia: The Jewish Publication Society, 1999) 244.
[2] Ibn Ezra. Quoted in Michael Carasik,
[3] Michael Carasik, 120
[4] Ibid., 121.
[5] First published in the 10th Anniversary Issue of "Voices Israel," Haifa, Israel, 1982.
©Corinne Copnick, Toronto, 1974. All rights reserved.
For those who would like to read a story about a spiritual awakening related to the Book of Jonah, which is usually read the afternoon of Yom Kippur, please see my earlier posting, "Kiss a Whale and Lick Cancer," in the section headed "Musings."
Who? [1]
By Rabbi Corinne Copnick
Who can dry the tears of God?
Is it the earth forever
quivering with remorse
or space itself curving
to cradle such pain?
Who can share the fears of God?
Is it man and wife grown
old in friendship, enfolding
family before and
after their ending?
Who can light the face of God?
Is it an artist's fiery spirit
steeping red-blossomed in
a rose-petal's clear
white water?
Who can feel the touch of God?
Is it our sleeping child
caressing once more
the wounded world
with wakened wonder?
Who can know the mind of God?
©Corinne Copnick, Toronto, 1992; Los Angeles, 2017. All rights reserved.
[1] "Who?"– my anthropomorphized concept of God in the spirit of poetic license — was originally narrated in "Altar Pieces (1992)" a collage of my poems and stories that was screened nationally many times on Canada's "Vision TV" over a period of five years.
Yizkor: Remembering
Yizkor: Remembering [1]
We have to accept that our flesh and blood, earthly lives – all life, our lives, the lives of our parents — eventually come to an end. But that understanding does little to reduce the pain of watching an ailing parent, a beloved parent, decline and deteriorate when there is nothing more we can do to reverse the effects of nature. In many instances — if we are lucky — this is our first personal encounter with death, and it brings into question our own mortality. It is painful to lose our beloved protector, not the protector of theology or the supernatural one of fiction, but our own personal protector who participated in giving us life.
Death is a homecoming, according to Abraham Joshua Heschel. In the final analysis, in the same way one prepares for life, one must prepare for death and depart with a sense of peace. "The Jewish mystical tradition sees old age in a positive light," writes Rabbi A. J. Seltzer. "Aging is not seen as a defect to be eliminated by medical science. Old age presents the opportunity for the divine soul to assert primacy over the animal soul….The more the powers of the body subside and the fires of passion ebb, the stronger the spirit becomes…and the greater its joy over what it knows." _
Dr. Irving (Israel) Copnick
As I helped feed my father in the dining room of the hospital for the aged where he was confined, I slowly became aware of an incessant refrain. It came from a nearby elderly female body, twisted and deformed. Professionally, a uniformed attendant continued spooning soup into the old lady's mouth. The soup dribbled down her chin while she chanted over and over again in Yiddish, "Ich vil nor leben, ich vil nor leben!" ("I want to go on living. I still want to live.")
The confused floor for the totally helpless. Despite all assurances, I was not prepared for my father's placement in surroundings where his companions were those who had lost their way in the world. My father had been a member of a healing profession. Now the healer could not be healed. I was not ready for this reality.
Nor was I prepared for the fact that my mother would be spending part of every day at the home-hospital and feeling guilty if she missed a morning. She had already tended him, confused and incontinent, for nine years by herself at home. She had been coming to the hospital every day for four years. She had exhausted her self and her financial resources. And so we moved the man that we both loved from this friendly, sectarian hospital to a larger government hospital – bright and airy – twenty miles away. My father had been an officer in the army, and this was a hospital for veterans.
When I walked through these halls lined with men occasionally saluting one another, reliving their days as heroes, remembering when they were healthy and went to war for their country, I could remember myself as a little girl, standing proudly beside my father, so handsome in his new Captain's uniform. Together we peered through the venetian blinds at the parade of soldiers smartly marching in unison several stories below.
My father….
I have come to accept that even when the loved one does not know you anymore, even when a gleam in the eye can no longer be evoked, there is still a breath of fresh air, a ray of sunshine, a taste of cool ice cream. These were the things my father could enjoy. Or the touch of my hand even if he didn't know it was mine. And when, just once, he tapped his foot in sudden response to a familiar song, I knew my father was, for those few seconds, alive in spirit for me.
In this more distant setting, we do not visit as often now. We feel the need to detach ourselves from the accumulation of what is now more than twenty years' witness to suffering, to remove ourselves from continually reliving the pain. But although he know longer knows us, he is still ours. Still a part of us. Neither can we abandon him.
"You understand, darling," my father had written to me during the war when I was just a little girl, "your father is a doctor and a soldier. I dream of you every night, and I pray to God to protect you while I am gone. I miss you terribly, but soon, very soon, I shall come home again."
I knew that I had brought my father to his last home. For that is the dread of placement – that it is final – a stepping stone to death. Only death will secure one's release, once admitted, from these walls. And you can't get out of death alive. That is what is so hard to face. That in placing someone you love, you must come to terms with your own mortality too.
What placing my father, with all its attendant sorrows, has given me that is positive, is a deeper understanding of the sanctity of life. That while the heart beats, there must be dignity, and that while the heart beats, there must be joy.
There is always compensation. When we placed my father here – his death in life – my mother began to live again. Who can know the mind of God?
There is so much that we do not know about life and death in this world and the next. My father had not been able to utter a word for eleven years, nor to give any evidence that he heard the tender words with which my mother and I caressed him when we visited. Then, on a day that was earth-shaking for me, I told him that I was going to teach a course at McGill University (something I knew that he would prize), and for the next thirty seconds or so, my father burst into speech. He spoke to me in Yiddish (his first language as a young boy, but one with which he never addressed me), and the cascade of words told me how much he loved me, that I was the finest, the best. These words were the last my father, my earthly protector, ever spoke to me – or to anyone. They were his last words.
I will always remember.
©Corinne Copnick, Toronto, 1992, Los Angeles 2015, 2017. All rights reserved.
[1] "Yizkor" originally titled" The Loss of the Protector," is reprinted from an editorialized version in my 2015 thesis, "The Staying Power of Hope in the Aggadic Narratives of the Talmud." It was first told in "Altar Pieces" (1992), a narrated collage of my original stories and poems that was videotaped and screened nationally many times on Canada's "Vision TV" over a period of five years.
Dried Brown Ink
With the resurgence of Nazi ideology in many places in the world, including, sadly, America, my story, "Dried Brown Ink," written in 2007 (when my sister was still alive), is a reminder of what happened once – and must never happen again. It is also a testament to the human spirit.
Dried Brown Ink (1)
By Rabbi Corinne Copnick (2)
The little old lady presents the kind of idyllic grandmother you see in a commercial: perfectly waved white hair, no make-up, metal-rimmed glasses, a simple, white dress flecked with black, pearl necklace and earrings. And a soft voice. Her name, it turns out later, is Edith Reimer. Could be an Ashkenazi Jewish name, but she is not Jewish.
I am wearing a necklet, a small Jewish star. She leans forward and whispers in my ear, "People say it didn't happen. But I saw it with my own eyes. I have the photographs. Of Bergen Belsen. I took them with my own camera."
We are both sitting at an elegantly set lunch table at the British Home in Sierra Madre, California. On the white tablecloth, place settings of English china are framed by silver flatware in an antique pattern. English antiques, their polished dark wood glowing, stand stalwartly like guardians around the perimeter of the dining room. The tranquil, civilized setting amid five acres of green, rolling landscape seems a million miles away from horror. Yet all the inhabitants of the room are witnesses to history.
I am only a visitor to this room, a 21st century Canadian immigrant to Los Angeles who will leave after lunch. Considerably younger than the other diners, I have just entered my seventies, but I remember well what happened in the middle years of the twentieth century. I am a witness too.
The British Home in California is a private corporation with a connection (not financial) to the Daughters of the British Empire (a classy, long-distinguished organization) since the 1930s. It offers a retirement home in a beautiful setting to seniors living in California who come from the countries of the commonwealth. I learned about this remarkable facility from the Women's Canadian Club in Los Angeles. I am checking it out for my sister, also a Canadian by birth. She lives in New York, and I would like to bring her to California. In the aftermath of 9/11 and the continuing terrorist activities that destroy innocent people, it seems so important to gather your loved ones close to you. Unfortunately, the Home is not licensed for wheelchairs. Walkers yes, wheelchairs, no.
"I worked for the United Nations after World War II," Edith confides. She does not need a walker. "In the refugee camps. I was a nurse in England, and my husband was stationed in Germany. I came to be with him. My second child was born in Wittenberg." The last city that was bombed in Germany. Her first child, a son, was killed in the blitz in England. He was five years old.
"I am sure he is in your thoughts every day," I respond.
"Yes," she nods simply, continuing to eat her salad. "My daughter was born in America. She comes every second Saturday to take me shopping. I was a nurse in America too."( One of the longest residents, Edith had been living at the British Home for more than ten years when she told me her story.)
All of the men and women in the room – there are twenty-two at the Home at the moment, but there is a capacity for forty-one people in pretty bungalows framed by verandahs and placed like paintings at distances permitting privacy – have stories to tell, and most have distinguished backgrounds. A lady at the next table, just back from the hospital, was born in Winnipeg. She taught creative writing. "If you come from freezing Winnipeg, you can get through anything," I joke.
"If you come to my room after lunch, I'll show you the photographs," Edith offers. We dispense with dessert, a frothy strawberry mousse, and walk up a slight incline to her bungalow. "I have the best view," she chortles.
In her room, Edith shows me the handicrafts she makes for children – dolls , and crayon boxes, and dresses. Then she takes a small folder of photographs from her dresser drawer. The bed-sitting room is large enough to hold only a few of her cherished momentoes. She has parted with most of her fine furniture and china and silver, but she has hung onto these photos for half a century and carried them with her to this place of final residence. The folder still bears the imprint of the German photo shop that printed them.
The photos are inscribed with faded brown ink in Edith's handwriting on the reverse and the dates. One photo shows Jewish bodies stacked up like cordwood for the furnaces. Another shows the bodies laid out decently for burial by American soldiers. The subject of another photograph is an American soldier offering a cigarette to a survivor; another refugee is crouched against the wall in the background. Then there are bombed-out views of Hitler's house, Goering's house. The destroyed houses of fanatical leadership whose followers exploded bombs on her little son.
We are silent for a few moments together. What is there to say? We both know.
"These photos are historical documents," I suggest finally. "They should be in a place like the Simon Wiesenthal Center's Museum of Tolerance."
"Ah," she says dismissively. "They have plenty of these."
"Not taken by your camera," I offer softly. "Not seen with your own eyes."
As she puts them away carefully, I prepare to take my leave. We kiss goodbye. Born in companionate countries as members of the British Commonwealth, immigrants to the Southwestern United States — one Jewish, one not — in different centuries, we have shared a memory that has faded for much of the world. Like the dried brown ink.
(1) "Dried Brown Ink" was first published in the 40th year edition of "Western States Jewish History," Vol. XL, No. 2, Winter 2008, pp. 117 -199, ©Corinne Copnick, Los Angeles, 2007. The author has made a couple of small alterations to the story here.
(2) Corinne Copnick entered rabbinic school at AJRCA in 2009 and graduated as an ordained rabbi in 2015. Many of her original stories are featured on her website: www.rabbicorinne.com.
A D'VAR TORAH: BY RABBI CORINNE COPNICK
In the brilliantly evocative Song of Moses that appears as Ha'azinu at the end of the book of Deuteronomy, Moses assures the Israelites that all of Creation is indeed God's work. The language and imagery is passionate: It was I, God says, "Ani, Ani," that did all this. In Hebrew, the language is even more gripping, and when God finally says, "I, Anochi," you know God means business. It's a word that it used in the Bible, but not in rabbinic times, and it refers only to God.
In this unforgettable passage, we are assured of all the good things that will happen if we follow the moral path divinely outlined for us: feasting on the yield of the earth, honey from the crag, oil from the flinty rock, curd of kine and milk of flocks, the best of lambs, rams, and she-goats, the very finest of wheat, and foaming wine from grapes. This was fantastic fortune in an agricultural society. But then we are warned about the catastrophic things that could happen if we do NOT cleave to God's moral path: consuming fire and misfortune, wasting famine, ravaging plague, deadly pestilence, fanged beasts, and so on. God will reduce us to naught. The whole catalogue is terrifying.
In a world that has been so recently beset by disasters both natural and man-wrought, these biblical consequences seem dangerously close to us: economic woes, earthquakes, famine, disease, fire, oil spills, floods, tsunamis, nuclear contamination, revolution, chemical attacks on one's own people. But there are also courageous volunteers who risk their own lives in small boats to save others they don't even know.
The Song of Moses is undoubtedly a passage about the distinction between good and evil, and the consequential choices our free will allows us to make. This passage clearly presents good and evil as both coming from the hand of God in response to moral or evil behavior. It is certainly something to consider during the week of Selichot, as we deeply reflect in preparation for Rosh Hashanah, the New Year to come in only a few days, when traditionally we recite the "Una Tana Tokef" prayer, often to soul-stirring music. Life or death. Choose.
If we are basically good people, we reflect, if we try to follow a good life, then why, as has been repeated so many times, do bad things happen to good people? As we read scary news headlines and listen to and watch horrendous media reports, it's something we can't help thinking about. If God is good, as the Jewish tradition teaches, if the created world is good, as the Bible tells us, then why is there evil?
That is why I was so interested to read a lengthy interpretation by the noted scholar, Jon D. Levinson, called "Creation and the Persistence of Evil," but very disturbed by its pessimistic tone.[1] Why does evil persist? His article has a somewhat gnostic feel to it, suggesting that evil is a separate, adversarial force.
Even though God promised Noah never to flood the world again, that promise is not so easy to maintain; it requires God's vigilance. "The world is not inherently safe," Levinson asserts; "it is inherently unsafe…. Creation endures because God has pledged in an eternal covenant that it shall endure, and because he has also in an eternal covenant, compelled the obeisance of adversarial forces. If either covenant comes undone, creation disappears."
I wept when I read Jon Levinson's views because at a time when an evil force like ISiS, with its many variant names, is infecting the world with a fanatic ideology, or when neo-Nazi ideology is re-infecting the globe, it is indeed possible to conceive of the world breaking down to the extent that chaos results, that we, we may return figuratively to the tohu va bohu, the void.
My own view, however, remains more optimistic. As moral human beings, as Jews continually renewing the Covenant, I do believe with all my heart that – together – we can dismember the mythical Leviathan representing the forces of evil, and that we can bring the beneficent side of God that represents love and compassion firmly back into our world.
Last week's parasha emphasized choosing life. In this week's portion, the choices are set clearly before us. As God's partners in creation, we have the gift of free will. We have been taught to remember that, with Divine help, we survived Pharaoh, and we will survive, as best we can, whatever comes our way. This Rosh Hashana, 5778, it's up to us to transcend the headlines; we must continue to choose life, and all that it requires from us to maintain a world that is inherently safe because we work hard to make it so. And because we have faith that it can be good.
[1] Levinson, J.D. Creation and the Persistence of Evil: the Jewish Drama of Divine Omnipotence (Princeton, N.J.: Princeton University Press, 1994), pp. xxxiv + 182.
© copyright 2023. Powered by WordPress
Theme designed by myThemes


Take a winter walk or snowshoe by candlelight! Join us for an evening outdoors at Split Rock Lighthouse State Park. Begin at the Trail Center and follow the glowing luminaries as you hike or snowshoe to Day Hill.
Enjoy the beauty of the land and water on this two mile round trip self-guided hike. A bonfire and marshmallows await visitors partway through the trail. Enjoy the views along the shoreline. Enjoy a hot beverages and snack at the Trail Center.
Most of the trail is suitable for beginner-level snowshoers or hikers of all ages. The trail to Day Hill includes steep sections. Snowshoes can be rented at the park. Call 218-595-7625 in advance to confirm the availability of equipment and to reserve what you will need.
A vehicle permit is required to enter Minnesota state parks. Although permits are available at the park, you can save time by getting one in advance. Visit www.mndnr.gov/reservations, log in (or create an account), click on "entry permit," select a duration of "one-day" ($7) or "year-round" ($35), and continue as directed. You'll receive an email with a permit that can be printed and displayed in your vehicle during your visit.
Note that severe weather may cause this event to be changed or canceled. For updates, including event details, weather updates and directions to the park, call 218-595-7625 or check the visitor alert online at www.mndnr.gov/splitrocklighthouse.


Those of you who already buy natural toothpaste in Fresno, CA are savvy health-conscious consumers, and you know the value of the natural ingredients. For those people from Fresno, CA that have yet to buy natural toothpaste, the best place to start is to buy is online.
You can buy your next tube direct through a brand's website or through an all-natural product website offering the top brands. You can also visit your local health food store in Fresno, CA or an organic product store in Fresno, CA.
"...The top brands are sold in local drugstores, supermarkets, and other major retailers. But, keep in mind that you'll find the best deals and prices in Fresno, CA online..."
You can buy online easily and it's delivered to your doorstep in Fresno, CA in just a few days. To see places to buy natural paste, scroll to the bottom of the page or click here.
"...Revitin® Prebiotic Toothpaste was developed as an innovated product for health-conscious folks from Fresno, CA committed to using althernatives made with nutrients and natural ingredients..."
Many individuals from Fresno, CA have discovered the new research available on the dangers of fluoride and other chemical additives found in brand-toothpaste. They've joined the Toothpaste Revolution, and this movement is growing fast.
When folks from Fresno, CA look for the best toothpaste for sensitive teeth, they often choose Revitin Prebiotic Toothpaste. Revitin offers superior ingredients that not only cleans and whitens your teeth but without all the toxins and harmful ingredients that cause unnecessary pain. Revitin is only brand that feature prebiotics.
A revolution has started in oral care, a revolution that's moving away from the old view that "killing germs" with detergent-based chemical oral health products is healthy. With our prebiotic toothpaste, Revitin® is leading a "sea of change" with new Oral Microbiome science that nourishes and supports the favorable, natural ecology of the mouth for a healthier Fresno, CA! This powerful new approach is a "game changer" in the $32 billion global oral health industry. Our customers experience a powerful sense of consistent cleanliness. Because Revitin is a non fluoride toothpaste, they can't imagine putting artificial, detergent-based pastes in their mouths ever again. Order Revitin Toothpaste today! Or call (929) 244-9767 for more information.
Revitin® is the world's first prebiotic toothpaste that is organic, safe enough to eat, environmentally friendly, and provides more of the benefits you need; such as, whiter teeth, stronger enamel, better protection against inflammation, and long-lasting fresh breath. Based on the idea that your mouth is an extension of your digestive system, Revitin Toothpaste works to support a healthy microbiome without the use of artificial ingredients. The patented formulation of vitamins, enzymes, and minerals cleans your teeth and encourages the growth of beneficial flora; which supports your immune function and promotes better digestion.
Revitin® is a fluoride free toothpaste that's also SLS free, and safe enough to eat; providing whiter teeth, stronger enamel, and lasting fresh breath. Revitin Toothpaste is a toothpaste without sodium lauryl sulfate, and neither will you find sodium laureth sulfate (SLES), antibacterial ingredients, parabens, unnatural colors, or alcohol. Revitin is a chemical free, detergent free, and antibacterial free natural toothpaste. Learn more about Revitin Oral Therapy and how it can dramatically improve and restore a healthy oral environment. Give yourself a healthier clean!
Search our directory of naturopathic physicians in Canada and the United States.


text:
August 08, 2016 Updated 11:03 GMT
Homepage : Comment
Homepage : Comment : Morocco should return to the African Union
Samir Bennis
Morocco should return to the African Union
Morocco's withdrawal from the African Union has been counter-productive, writes Bennis [AFP]
Date of publication: 8 August, 2016
Comment: Morocco must rejoin the African Union if it wishes to mobilise support for its position, and minimise the AU's negative role in Western Sahara, writes Samir Bennis.
Morocco, African Union, SADR, Sahara, UN, Polisario, Algeria
In a speech delivered on the seventeenth anniversary of his coronation known as Throne Day, King Mohammed VI stressed Morocco's willingness to return to the African Union to defend its strategic interests from within the African organisation.
While some may view Morocco's decision as a radical change from the country's previous foreign policy, it is in fact, simply the next step in strengthening the new direction Morocco has taken in the last few years.
Morocco has focused on consolidating and expanding the country's African roots and diversifying its partnerships in Africa through a multi-dimensional political approach that aims to enable Morocco to play a leading role in the African continent, both in the near term and long term future.
Morocco has been implementing this approach through its increasing economic presence in Sub-Saharan Africa for the last ten years. This has helped the kingdom to garner an important position among investors in the continent, particularly in West Africa.
In addition to solidifying its remarkable role in South-South cooperation, this economic progress has been accompanied by Morocco's religious diplomacy and the leadership role it plays in spreading the tolerant teachings of Islam through the training of imams, as well as its significant role in the fight against terrorism.
One of the goals of this strategy is to earn the trust of as many African leaders as possible, and convince them that strong relations with Morocco will be beneficial to their people, and thus persuade them to adopt positions in favor of the country regarding the sovereignty of the Sahara, or at least adopt a position of positive neutrality.
Standing up to the Polisario and Algeria
Thirty-two years after Morocco decided to withdraw from the Organization of African Unity (now called the African Union), Moroccan decision-makers have realised that the decision was a miscalculation and a reaction to the organisation's acceptance of the Sahrawi Arab Democratic Republic (SADR) membership.
Over the years, it has become apparent that the withdrawal was harmful to Morocco, but beneficial to the Polisario and Algeria. As Morocco was no longer a member of the African Union, its adversaries had unlimited power to establish alliances against Morocco and adopt resolutions and decisions that have served the Polisario and Algeria's agenda.
Over the years, it has become apparent that the withdrawal was harmful to Morocco, but beneficial to the Polisario and Algeria
This has become more apparent in recent years, as the African Union has started calling upon the United Nations to allow it to play a prominent role in the UN political process aimed at helping the parties to find a mutually acceptable solution to the Sahara dispute.
For example, last April, the AU Special Envoy for Western Sahara, Joaquim Chissano, attempted to present a briefing to the Security Council in an official meeting. In addition, in May the AU attempted to include the conflict in the agenda of its annual meeting with the UN Security Council.
Aware of the detrimental role the AU has been playing, Morocco realised that the time has come to return to the organisation and stand up to the Polisario and Algeria from within.
King Mohammed VI's message during his Throne Day speech suggests that Morocco intends to return to the AU eventually without making its return contingent on the suspension of the SADR.
Ending the "empty-chair" policy
Observers and analysts who argue that Morocco should return to the AU only if it suspends the membership of the Polisario or expels it, follow the same logic that led Morocco to withdraw from the Organization of African Unity in the first place in 1984.
They also overlook a central factor that would further damage Morocco's interests: Even if the African countries that support Morocco urge the AU to freeze the Polisario's membership or to expel it, this goal will not be easy to achieve, but will require long term diplomatic battles.
What renders this goal even more complicated is that the Constitutive Act of the AU provides for such a scenario solely in cases where a government comes to power "through unconstitutional means," according to Article 30.
If Morocco were to achieve the suspension of the SADR, it would need the support of a two-thirds majority, according to Article 32. While Morocco has already obtained the support of 28 states, it may be unlikely to obtain the necessary two-thirds majority without being a fully-fledged member of the organisation.
Morocco must show more pragmatism and rid itself of the complex that cripples its diplomacy in Africa
If Morocco decides to remain out of the AU and wait for the suspension of the SADR, the separatists' allies will continue to use this organisation to their advantage and adopt resolutions aimed at influencing the UN-led political process and put Morocco on the defensive.
Morocco must show more pragmatism and rid itself of the complex that cripples its diplomacy in Africa, as well as the erroneous idea that sitting at the same table with the Polisario within the organisation means recognising the SADR as a legitimate state.
That Morocco sits in the same room as the SADR does not provide this entity with any legitimacy. The only international organisation that legitimises statehood is the United Nations. For instance, despite the fact that Kosovo obtained the recognition of more than 130 countries and several regional and international organisations including the European Union and the International Monetary Fund, it does not enjoy the status of a fully-fledged state because of the objections of Russia and its allies, which prevent it from obtaining UN recognition.
Even though the so-called Sahrawi Republic is a full member of the AU, under international law, this recognition does not legitimise its statehood, nor does it confer upon it the legitimacy to represent all the Sahrawi. Morocco must embrace the logic that says a wise person should put his enemy in front of him, not behind him, in order to watch them closely.
The best way for Morocco to fend off all plots that may be woven against it in the future is by once again becoming a member of the AU
The best way for Morocco to fend off all plots that may be woven against it in the future is by once again becoming a member of the AU, and adopting a pragmatic approach unswayed by emotion.
Moroccans have to come to terms with an essential fact: Morocco can mobilise support for its position and minimise the negative role that the AU plays in Western Sahara only through its presence within the organisation and by forging alliances that will expand the scope of countries that support its position and call for suspending the membership of the so-called SADR.
Morocco should therefore return to the AU regardless of whether or not it decides to suspend the membership of the so-called SADR. Morocco's "empty chair" policy has caused great damage to the country in the past three decades, and it must now adopt a pragmatic and realistic approach that will enable it to forge alliances and secure the mechanisms to thwart the attempts of the African Union to influence the UN political process.
In the short term, this return would at least create a balance with Algeria and its allies and result in an unprecedented division within the AU between supporters and opponents of Morocco. In depriving Algeria and the Polisario of the overwhelming support they have been enjoying, a return to the AU would provide a positive counterbalance in Morocco's favor.
Samir Bennis is a political analyst. He received a PhD in international relations from the University of Provence in France and his research areas include relations between Morocco and Spain and between the Muslim world and the West, as well as the global politics of oil.
He has published more than 150 articles in Arabic, French, English and Spanish, and authored Les Relations Politiques, Economiques et Culturelles Entre le Maroc et l'Espagne: 1956-2005, which was published in French in 2008. He is the co-founder of Morocco World News and lives in New York. Follow him on Twitter: @SamirBennis
Opinions expressed in this article remain those of the author and do not necessarily represent those of The New Arab, its editorial board or staff.
Gibraltar, Ceuta and Melilla: Spain's unequal sovereignty disputes
Comment: Spain cannot call to regain its sovereignty over Gibraltar, while in parallel refusing Morocco's legitimate right to its sovereignty over Ceuta and Melilla, writes Samir Bennis
Spain's Moroccans shut out of history and politics
Comment: Spanish citizens of Moroccan descent represent a significant group within Spain's population, but they remain politically under-represented and written out of history, writes Samir Bennis


Another Labor Day weekend has come and gone. And with it came another rash of drowning deaths.
That's sad news for any of us, but it's crushing for Dana Gage of North Richland Hills. She lost her 15-year-old son to drowning last Labor Day weekend.
Ever since Connor's death, Dana has been on a campaign to prevent drowning accidents. But with four dying in this area over the weekend, that tells her how much work must be done.
"People don't realize how dangerous water is. They just think water equals fun," she said.
I was shocked to learn that 10 people die by drowning every day in this country. On Aug. 31 of last year, Connor Gage was among that number.
His death came in a most unexpected way. He was a lake kid. The Gages have long had a house on Eagle Mountain Lake, and Connor spent countless hours swimming in that lake and others.
At the start of the 2012 Labor Day weekend, Connor had gone with friends to a home on Possum Kingdom Lake. Though they didn't arrive until dusk, the boys were eager for a swim and headed to the water.
Connor went in with a flourish, doing a flip off the roof of the boathouse. But he landed awkwardly and didn't come back up.
A dive team would recover his body in darkness about an hour after he went in. "I can't read the report in detail because it just rips my heart out," Dana said.
Her husband, Brett, would eventually return to his job as a middle school teacher in the Birdville school district. Their older son, Riley, is now a senior in high school. But Dana devotes virtually full time to endeavors in Connor's memory.
It's mostly about preventing drowning, but not solely. She adopted the campaign slogan "Be Buoyant" because it also has meaning beyond water safety.
Money from "Honor Connor" fundraisers has paid for sewing machines for women in Honduras, shoes for children in El Salvador and a soccer field for youngsters in Ghana.
Connor was not wearing a life vest at the time of his death, though that had always been a family rule when swimming in a lake. She now urges people to take a pledge to always wear a life vest when swimming in lakes, rivers and oceans.
The four deaths here over the weekend occurred in different ways — falling off a party barge, tubing behind a boat, swimming at a beach and trying to rescue another swimmer. But one thing they all had in common: no life vest.
For more on water safety and Dana's campaign, go to theLVproject.org.


Horse | Yes in Japan!
Enjoy diverse colourful "Washi" handmade paper, origami, Japanese paper dolls, Shinto statues of horses and gods, golden lanterns (wonderful when illuminating the shrine at night)… at two historical sites of Japan.
This original tour in Chiyoda ward usually starts at the convenient Hotel Niwa Tokyo but we remain flexible, like our calendar.
Japanese paper = 和紙 (Washi), Art of paper folding = 折り紙 (Origami).
Find true love at Tokyo-daijingu Shinto shrine with Japanese girls!
Natural and mystic island in a modern district of Tokyo, Tokyo-daijingu is reputedly the shrine where the first Shinto wedding occurred. We arrived there under a blue sky this warm afternoon (15℃) to celebrate Spring (traditionally starting today in Japan) and the Year of the Horse!
Among the trees near the entrance, a pink-blue-green dragon greeted us for the purification ritual, providing holy water to cleanse our hands and mouth. Next, we glanced at the red and purple flags, climbed a few steps then stepped through wooden-golden gates. The wooden roof immediately caught our attention with its characteristic shape and golden ornaments shining over the blue sky.
Quietly queueing behind numerous Japanese girls come to pray to find true love, we had the time to examine votive plaques decorated with horses; some beautifully reflected the sunlight!


the repair solution or as a replacement, with a defective battery connection at the positive pole, with 1 x M8 and 2 x M6 terminals and double-ring lock for FCA!
For more information, see article details, or click on the image!
the repair solution or as a replacement, with a defective battery connection at the negative pole, with 3 x M6 connection terminals and Quick Lock for FCA!
Cigarette Lighter Rep. Kit Alfa Romeo 145, 146, 155, 156, GTV, Spider u.v.m.
Attention! With the Alfa 159, the parking sensor from the accessories does not work! Please choose the original one!
in the electrical system, thus protecting the entire on-board electronics.


text:
Q: $A$ is consistent iff the augmented matrix has no pivot in last column.
A linear system of equations is inconsistent (does not have a solution) if and only
  if there is a pivot in the last column of an echelon form of the
  augmented matrix.

I can understand the if part, that is because $0=1$ is impossible. But how do you prove the only if part? All of the posts I found on this site prove the if part only. My book says for only if part, "If we don't have such a row, we just make the reduced echelon form and then read the solution off it." I don't think this is a proof to the only if part.

A: You want to prove that (a linear system of equtions is inconsistent)  implies that (there is a pivot column in the last column of an echelon form of the augmented matrix).
This is equivalent to showing that
(there is no pivot column in the last column of the echelon form of the augmented matrix) implies that (the linear system is consistent).
Now suppose that there is no pivot column of the echelon form of the augmented system. Suppose that you already know that the solution space is not changed by elementary row operations. Also note that dropping the zero rows do not change the solution space as well and hence we can assume that there is no zero rows in our RREF. Remark: if the RREF is the zero matrix, any vector of the right size is a solution, we will assume that this is not the case here.
Let's  construct a solution $x$ that satisfies the linear system. WLOG, we can write $x=(x_B, x_N)$ where $x_B$ are the entries of $x$ corresponds to pivot columns and $x_N$ corresponds to entries of $x$ corresponds to non-pivot columns.
We want to solve
$$Rx=r$$
$$\begin{bmatrix} R_B & R_N \end{bmatrix}\begin{bmatrix} x_B \\ x_N \end{bmatrix}=r$$
where $R_B$ corresponds to the pivot columns and $R_N$ corresponds to the non-zero columns.
We set $x_N=0$ and we obtain $$R_Bx_B=r$$
As, $R_B$ is constructed from the pivot columns, the diagonal entries of $R_B$ are non-zero, hence it is non-singular and hence $x_B= R_B^{-1}r$.
Hence, we have found a solution.

redpajama_set_name: RedPajamaStackExchange


Drawing on the opinions and insights of a large cast of biblical scholars, theologians, pastors and the like, this documentary explores the history of Calvinism and examines the influence the theological system has had on Christianity at large. Highlights include the history of the Protestant Reformation, an examination of the five points of Arminianism, the pivotal clash between Pelagius and Augustine and the debate over evangelicalism.
Eric Holmberg, Dr. George Grant, D. James Kennedy, Stephen Mansfield, R.C. Sproul, Thomas Ascol, Thomas Nettles, Roger Schultz, Walt Chantry, Joe Morecraft, Ken Talbot, Walter Bowie, R.C. Sproul Jr.