text:
Home / Books & Videos / Catholic Books / Liturgy, Mass & the Eucharist / Sacred Music / Gregorian Chant
Gregorian Chant quantity
SKU 18951~SA-9780253206015 Categories Books & Videos, Catholic Books, Liturgy, Mass & the Eucharist, Sacred Music Brand: Indiana University Press
Gregorian Chant By Willi Apel
Interest in Gregorian chant has always been alive among musicologists and those devoted to preserving early church music in all its haunting simplicity. Willi Apel's extensive survey of the chant describes the evolutionary process of its long history as well as its definition and terminology, the structure of the liturgy, the texts, the notation, the rhythm, the tonality, and the methods and forms of psalmody. Under the heading "Stylistic Analysis" it offers chapters on liturgical recitative, the free compositions according to types, Ambrosian chant (by Roy Jesson), and Old-Roman chant (by Robert J. Snow). A short conclusion, titled "Prolegomena to a History of Gregorian Style," completes this impressive volume.
Willi Apel (1893-1988), Professor Emeritus of Music at Indiana University, was a renowned authority on early music and a prolific author. Among his many books are The Notation of Polyphonic Music, 900-1600, the first edition of the Harvard Dictionary of Music, and The History of Keyboard Music to 1700.
1.5 × 6 × 9.25 in
Works of Love Are Works of Peace
Angel in the Waters


The following people tutor workshops at JASSO on an ongoing basis (for details of tutors currently offering short courses, see the short courses page).
Jeff studied three-dimensional design at High Wycombe College of Technology and Art, taking a Diploma in Art and Design in silversmithing and obtaining first class honours in 1974. The following year he gained the Worshipful Company of Goldsmiths Littledale Award and spent a year as a postgraduate specialising in photo etching silver. He then became a self-employed silversmith working on commissioned hollowware.
Jeff has taught at JASSO for many years, and has long experience of helping students with both jewellery and silversmithing projects. His current interests centre on the study of ancient metalwork in the Ashmolean museum collections. He has a range of jewellery linked to displays in the museum under the name "archaeofacts".
Currently his small workshop bench in Oxford is spread with lost wax castings of a new piece in the range, part of a new order for the Ashmolean shop. The original of this piece is a very strange series of 19 hand amulets suspended with chains from the base of a family group, all displayed beneath a huge shell-like fibula. A wacky piece, he says, from the Italian Iron Age.
Jenny studied silversmithing and enamelling at the Sir John Cass College, and has received awards for design, silversmithing and enamelling from the Goldsmiths' Craft and Design Council.
Enamelling involves fusing a layer of coloured glass onto the surface of the metal. The metal can be engraved beforehand to enhance the enamelling. In her classes Jenny teaches a variety of techniques for enamelling on silver and copper, and works with beginners and more experienced students.
John served a 5-year apprenticeship at Asprey and Co, Bond Street, and completed a Diploma in Silver and Goldsmithing and Design at Sir John Cass College.
He worked as a self-employed silver and goldsmith doing design and development for several companies, carrying out model work for the military, private commissions and teaching part time at Sir John Cass College, later becoming full time. He is now teaching part time at West Dean College and is self-employed.
Over his working life he has gained awards at the Gold and Silversmiths' Annual Competition for large and small work design.
In 1962 Peter did the pre-apprentice course at the Central School of Arts and Crafts, followed by 5 years' apprenticeship with C. J. Vander Ltd Silversmiths. He completed a 3-year Diploma course at Hornsey College of Art (1st class honours), and spent 2 years full time and 25 years part time working with Louis Osman (Goldsmith, architect, designer).
In 1974 he started working with Malcolm Appleby (Engraver, goldsmith, designer), which continues today.
He has spent 14 years part time teaching jewellery at Banbury School of Art, and 16 years at the Royal College of Art. He also undertakes private commissions.


U.S. stocks climbed Wednesday, recouping a chuck of the prior two-day drop, after minutes from the Federal Reserve's last meeting noted an improving economy and labor market, while setting the stage for the central bank's eventual exit from its course of monetary easing.
The Federal Open Market Committee on Wednesday afternoon released minutes from its two-day gathering in June, at which the central bank reduced monthly bond purchases to $35 billion. The minutes pointed to the likely end of the asset-buying program also known as quantitative easing, or QE, in October.
"Their assessment of the economy, we think, is that the economy can now take its training wheels off, that there is now some degree of sustainable momentum where we can talk about" removing accommodation, said Jim Russell, senior equity strategist for US Bank Wealth Management, who noted the minutes were taken before the surprisingly strong June payrolls report.
"It's pretty clear the Fed is serious about ending its program, likely in October. At this point the conversation should entirely focus on the exit strategy," said Dan Greenhaus, chief global strategist at BTIG.
"The end of QE sounds like it's right on schedule, we got a reaffirmation of what we think the path of monetary policy will be," said Art Hogan, market strategist at Wunderlich Securities.
Wall Street had risen ahead of the Fed minutes as Alcoa's quarterly profit bolstered optimism about the second-quarter earnings season, which gets under way in earnest next week.
"We got off to a good start with Alcoa, it just helps psychologically," said Jim Dunigan, managing executive, investments, at PNC Wealth Management.
Alcoa's earnings "really did benefit from improved industrial demand for its engineered products, as well as increased sales to the auto and aerospace industries," said Chris Muir, equity analyst at S&P Capital IQ.
After initially cutting gains in the wake of the Fed release, stocks rose to session highs within 30 minutes.
The Dow Jones Industrial Average rose 78.99 points, or 0.5 percent, to 16,985.61, with Cisco Systems pacing blue-chip gains that extended to 22 of 30 components.
The S&P 500 advanced 9.12 points, or 0.5 percent, to 1,972.83, with consumer discretionary the best performing and utilities the least among its 10 major industry groups.
The Nasdaq added 27.57 points, or 0.6 percent, to 4,419.03.
For every three shares falling, more than four gained on the New York Stock Exchange, where nearly 569 million shares traded. Composite volume cleared 2.8 billion.
The 10-year Treasury note yield used in determining mortgage rates and other consumer loans on Wednesday held steady at 2.553 percent.
The dollar edged higher against the currencies of major U.S. trading partners, and dollar-denominated commodities including gold and oil were mixed.
On the New York Mercantile Exchange, gold futures for August delivery rose $7.80 or 0.6 percent, to $1,324.30 an ounce, and crude futures for August delivery fell $1.11, or 1.1 percent, to $102.29 a barrel.
"The lack of any new insurgency in Iraq has taken the disruption-of-supply bid out of the commodity," said Wunderlch's Hogan.
The Chicago Board Options Exchange Volatility Index (VIX) on Wednesday dropped less than half a point, or 2.8 percent, to 11.65.
The VIX, one measure of investor uncertainty, had surged 16 percent during the past two sessions, as technology shares and high-flying small-cap companies including Twitter, Pandora Media and Facebook were slammed.
"With an extended S&P 500 and earnings season now upon us, Mr. Market may have finally headed to the Hamptons and left us to deal with an expected pick-up in volatility that sure looks like it is coming to fruition," Andrew Adams an analyst at Raymond James, wrote in an emailed note.
Ahead of Wednesday's open, the Mortgage Bankers Association reported a rise last week in applications to buy a home, even as mortgage rates climbed.
On Tuesday, stocks skidded lower, as investors braced for quarterly earnings and considered valuations.


text:
'use strict';

var lazy = require('lazy-cache')(require);
var utils = require('../utils');
lazy('write');
lazy('async');
lazy('github-base', 'github');

function getRepos (creds, user, done) {
  var github = new lazy.github(utils.normalizeCreds(creds));

  github.getAll('/users/' + user + '/repos?type=owner&per_page=1000', function (err, repos) {
    if (err) return done(err);
    console.log('found repos:', repos && repos.length);
    lazy.async.eachSeries(repos, function (repo, next) {
      console.log('getting collaborators for', repo.full_name);
      repo.collaborators = repo.collaborators || [];
      repo.collaborators = Array.isArray(repo.collaborators) ? repo.collaborators : [repo.collaborators];

      github.getAll('/repos/' + repo.full_name + '/collaborators?per_page=1000', function (err, collabs) {
        if (err) return next(err);
        if (collabs && Array.isArray(collabs)) {
          repo.collaborators = repo.collaborators.concat(collabs);
        }
        next();
      });
    }, function (err) {
      if (err) return done(err);
      console.log(repos.length, 'repos loaded');
      lazy.write(__dirname + '/tmp/repos.json', JSON.stringify(repos, null, 2), done);
    });
  });
}

module.exports = getRepos;

redpajama_set_name: RedPajamaGithub


text:
var _ = require('underscore');
var semver = require('semver');
var os = require('os');
var url = require('url');

var archinfo = require('./archinfo');
var buildmessage = require('./buildmessage.js');
var files = require('../fs/files');
var packageVersionParser = require('../packaging/package-version-parser.js');

var utils = exports;

// Parses <protocol>://<host>:<port> into an object { protocol: *, host:
// *, port: * }. The input can also be of the form <host>:<port> or just
// <port>. We're not simply using 'url.parse' because we want '3000' to
// parse as {host: undefined, protocol: undefined, port: '3000'}, whereas
// 'url.parse' would give us {protocol:' 3000', host: undefined, port:
// undefined} or something like that.
//
// 'defaults' is an optional object with 'hostname', 'port', and 'protocol' keys.
exports.parseUrl = function (str, defaults) {
  // XXX factor this out into a {type: host/port}?

  defaults = defaults || {};
  var defaultHostname = defaults.hostname || undefined;
  var defaultPort = defaults.port || undefined;
  var defaultProtocol = defaults.protocol || undefined;

  if (str.match(/^[0-9]+$/)) { // just a port
    return {
      port: str,
      hostname: defaultHostname,
      protocol: defaultProtocol };
  }

  var hasScheme = exports.hasScheme(str);
  if (! hasScheme) {
    str = "http://" + str;
  }

  var parsed = url.parse(str);

  // for consistency remove colon at the end of protocol
  parsed.protocol = parsed.protocol.replace(/\:$/, '');

  var ret = {
    protocol: hasScheme ? parsed.protocol : defaultProtocol,
    hostname: parsed.hostname || defaultHostname,
    port: parsed.port || defaultPort
  };
  if (parsed.pathname !== '/' && parsed.pathname) {
    ret.pathname = parsed.pathname;
  }
  return ret;
};

// 'options' is an object with 'hostname', 'port', and 'protocol' keys, such as
// the return value of parseUrl.
exports.formatUrl = function (options) {
  // For consistency with `Meteor.absoluteUrl`, add a trailing slash to make
  // this a valid URL
  if (!options.pathname)
    options.pathname = "/";

  return url.format(options);
};

exports.ipAddress = function () {
  const interfaces = os.networkInterfaces();

  // If we don't know the default route, we'll lookup all non-internal
  // IPv4 addresses and hope to find only one
  let addressEntries = _.chain(interfaces)
    .values()
    .flatten()
    .where({ family: "IPv4", internal: false })
    .value();

  if (! addressEntries.length) {
    throw new Error(`Could not find a network interface with a non-internal IPv4 address.`);
  }

  if (addressEntries.length > 1) {
    throw new Error(`Found multiple network interfaces with non-internal IPv4 addresses:
${addressEntries.map(entry => entry.address).join(', ')}`);
  }

  return addressEntries[0].address;
};

exports.hasScheme = function (str) {
  return !! str.match(/^[A-Za-z][A-Za-z0-9+-\.]*\:\/\//);
};

exports.hasScheme = function (str) {
  return !! str.match(/^[A-Za-z][A-Za-z0-9+-\.]*\:\/\//);
};

exports.isIPv4Address = function (str) {
  return str.match(/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/);
}

// XXX: Move to e.g. formatters.js?
// Prints a package list in a nice format.
// Input is an array of objects with keys 'name' and 'description'.
exports.printPackageList = function (items, options) {
  options = options || {};

  var rows = _.map(items, function (item) {
    var name = item.name;
    var description = item.description || 'No description';
    return [name, description];
  });

  var alphaSort = function (row) {
    return row[0];
  };
  rows = _.sortBy(rows, alphaSort);

  var Console = require('../console/console.js').Console;
  return Console.printTwoColumns(rows, options);
};

// Determine a human-readable hostname for this computer. Prefer names
// that make sense to users (eg, the name they manually gave their
// computer on OS X, which might contain spaces) over names that have
// any particular technical significance (eg, might resolve in DNS).
exports.getHost = function (...args) {
  var ret;
  var attempt = function (...args) {
    var output = exports.execFileSync(args[0], args.slice(1)).stdout;
    if (output) {
      ret = output.trim();
    }
  };

  if (archinfo.matches(archinfo.host(), 'os.osx')) {
    // On OSX, to get the human-readable hostname that the user chose,
    // we call:
    //   scutil --get ComputerName
    // This can contain spaces. See
    // http://osxdaily.com/2012/10/24/set-the-hostname-computer-name-and-bonjour-name-separately-in-os-x/
    if (! ret) {
      attempt("scutil", "--get", "ComputerName");
    }
  }

  if (archinfo.matches(archinfo.host(), 'os.osx') ||
      archinfo.matches(archinfo.host(), 'os.linux')) {
    // On Unix-like platforms, try passing -s to hostname to strip off
    // the domain name, to reduce the extent to which the output
    // varies with DNS.
    if (! ret) {
      attempt("hostname", "-s");
    }
  }

  // Try "hostname" on any platform. It should work on
  // Windows. Unknown platforms that have a command called "hostname"
  // that deletes all of your files deserve what the get.
  if (! ret) {
    attempt("hostname");
  }

  // Otherwise, see what Node can come up with.
  return ret || os.hostname();
};

// Return standard info about this user-agent. Used when logging in to
// Meteor Accounts, mostly so that when the user is seeing a list of
// their open sessions in their profile on the web, they have a way to
// decide which ones they want to revoke.
exports.getAgentInfo = function () {
  var ret = {};

  var host = utils.getHost();
  if (host) {
    ret.host = host;
  }
  ret.agent = "Meteor";
  ret.agentVersion =
    files.inCheckout() ? "checkout" : files.getToolsVersion();
  ret.arch = archinfo.host();

  return ret;
};

// Wait for 'ms' milliseconds, and then return. Yields. (Must be
// called within a fiber, and blocks only the calling fiber, not the
// whole program.)
exports.sleepMs = function (ms) {
  if (ms <= 0) {
    return;
  }

  new Promise(function (resolve) {
    setTimeout(resolve, ms);
  }).await();
};

// Return a short, high entropy string without too many funny
// characters in it.
exports.randomToken = function () {
  return (Math.random() * 0x100000000 + 1).toString(36);
};

// Like utils.randomToken, except a legal variable name, i.e. the first
// character is guaranteed to be [a-z] and the rest [a-z0-9].
exports.randomIdentifier = function () {
  const firstLetter = String.fromCharCode(
    "a".charCodeAt(0) + Math.floor(Math.random() * 26));
  return firstLetter + Math.random().toString(36).slice(2);
};

// Returns a random non-privileged port number.
exports.randomPort = function () {
  return 20000 + Math.floor(Math.random() * 10000);
};

// Like packageVersionParser.parsePackageConstraint, but if called in a
// buildmessage context uses buildmessage to raise errors.
exports.parsePackageConstraint = function (constraintString, options) {
  try {
    return packageVersionParser.parsePackageConstraint(constraintString);
  } catch (e) {
    if (! (e.versionParserError && options && options.useBuildmessage)) {
      throw e;
    }
    buildmessage.error(e.message, { file: options.buildmessageFile });
    return null;
  }
};

exports.validatePackageName = function (name, options) {
  try {
    return packageVersionParser.validatePackageName(name, options);
  } catch (e) {
    if (! (e.versionParserError && options && options.useBuildmessage)) {
      throw e;
    }
    buildmessage.error(e.message, { file: options.buildmessageFile });
    return null;
  }
};

// Parse a string of the form `package + " " + version` into an object
// of the form {package, version}.  For backwards compatibility,
// an "@" separator instead of a space is also accepted.
//
// Lines of `.meteor/versions` are parsed using this function, among
// other uses.
exports.parsePackageAndVersion = function (packageAtVersionString, options) {
  var error = null;
  var separatorPos = Math.max(packageAtVersionString.lastIndexOf(' '),
                              packageAtVersionString.lastIndexOf('@'));
  if (separatorPos < 0) {
    error = new Error("Malformed package version: " +
                      JSON.stringify(packageAtVersionString));
  } else {
    var packageName = packageAtVersionString.slice(0, separatorPos);
    var version = packageAtVersionString.slice(separatorPos+1);
    try {
      packageVersionParser.validatePackageName(packageName);
      // validate the version, ignoring the parsed result:
      packageVersionParser.parse(version);
    } catch (e) {
      if (! e.versionParserError) {
        throw e;
      }
      error = e;
    }
    if (! error) {
      return { package: packageName, version: version };
    }
  }
  // `error` holds an Error
  if (! (options && options.useBuildmessage)) {
    throw error;
  }
  buildmessage.error(error.message, { file: options.buildmessageFile });
  return null;
};

// Check for invalid package names. Currently package names can only contain
// ASCII alphanumerics, dash, and dot, and must contain at least one letter. For
// safety reasons, package names may not start with a dot. Package names must be
// lowercase.
//
// These do not check that the package name is valid in terms of our naming
// scheme: ie, that it is prepended by a user's username. That check should
// happen at publication time.
//
// 3 variants: isValidPackageName just returns a bool.  validatePackageName
// throws an error marked with 'versionParserError'. validatePackageNameOrExit
// (which should only be used inside the implementation of a command, not
// eg package-client.js) prints and throws the "exit with code 1" exception
// on failure.

exports.isValidPackageName = function (packageName) {
  try {
    exports.validatePackageName(packageName);
    return true;
  } catch (e) {
    if (!e.versionParserError) {
      throw e;
    }
    return false;
  }
};

exports.validatePackageNameOrExit = function (packageName, options) {
  try {
    exports.validatePackageName(packageName, options);
  } catch (e) {
    if (!e.versionParserError) {
      throw e;
    }
    var Console = require('../console/console.js').Console;
    Console.error(e.message, Console.options({ bulletPoint: "Error: " }));
    // lazy-load main: old bundler tests fail if you add a circular require to
    // this file
    var main = require('../tests/apps/app-using-stylus/main.js');
    throw new main.ExitWithCode(1);
  }
};

// True if this looks like a valid email address. We deliberately
// don't support
// - quoted usernames (eg, "foo"@bar.com, " "@bar.com, "@"@bar.com)
// - IP addresses in domains (eg, foo@1.2.3.4 or the IPv6 equivalent)
// because they're weird and we don't want them in our database.
exports.validEmail = function (address) {
  return /^[^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*@([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}$/.test(address);
};

// Like Perl's quotemeta: quotes all regexp metacharacters. See
//   https://github.com/substack/quotemeta/blob/master/index.js
exports.quotemeta = function (str) {
    return String(str).replace(/(\W)/g, '\\$1');
};

// Allow a simple way to scale up all timeouts from the command line
var timeoutScaleFactor = 1.0;
if (process.env.TIMEOUT_SCALE_FACTOR) {
  timeoutScaleFactor = parseFloat(process.env.TIMEOUT_SCALE_FACTOR);
}
exports.timeoutScaleFactor = timeoutScaleFactor;

// If the given version matches a template (essentially, semver-style, but with
// a bounded number of digits per number part, and with no restriction on the
// amount of number parts, and some restrictions on legal prerelease labels),
// then return an orderKey for it. Otherwise return null.
//
// This conventional orderKey pads each part (with 0s for numbers, and ! for
// prerelease tags), and appends a $. (Because ! sorts before $, this means that
// the prerelease for a given release will sort before it. Because $ sorts
// before '.', this means that 1.2 will sort before 1.2.3.)
exports.defaultOrderKeyForReleaseVersion = function (v) {
  var m = v.match(/^(\d{1,4}(?:\.\d{1,4})*)(?:-([-A-Za-z.]{1,15})(\d{0,4}))?$/);
  if (!m) {
    return null;
  }
  var numberPart = m[1];
  var prereleaseTag = m[2];
  var prereleaseNumber = m[3];

  var hasRedundantLeadingZero = function (x) {
    return x.length > 1 && x[0] === '0';
  };
  var leftPad = function (chr, len, str) {
    if (str.length > len) {
      throw Error("too long to pad!");
    }
    var padding = new Array(len - str.length + 1).join(chr);
    return padding + str;
  };
  var rightPad = function (chr, len, str) {
    if (str.length > len) {
      throw Error("too long to pad!");
    }
    var padding = new Array(len - str.length + 1).join(chr);
    return str + padding;
  };

  // Versions must have no redundant leading zeroes, or else this encoding would
  // be ambiguous.
  var numbers = numberPart.split('.');
  if (_.any(numbers, hasRedundantLeadingZero)) {
    return null;
  }
  if (prereleaseNumber && hasRedundantLeadingZero(prereleaseNumber)) {
    return null;
  }

  // First, put together the non-prerelease part.
  var ret = _.map(numbers, _.partial(leftPad, '0', 4)).join('.');

  if (!prereleaseTag) {
    return ret + '$';
  }

  ret += '!' + rightPad('!', 15, prereleaseTag);
  if (prereleaseNumber) {
    ret += leftPad('0', 4, prereleaseNumber);
  }

  return ret + '$';
};

// XXX should be in files.js
exports.isDirectory = function (dir) {
  try {
    // use stat rather than lstat since symlink to dir is OK
    var stats = files.stat(dir);
  } catch (e) {
    return false;
  }
  return stats.isDirectory();
};

// Calls cb with each subset of the array "total", with non-decreasing size,
// until all subsets have been used or cb returns true. The array passed
// to cb may be safely mutated or retained by cb.
exports.generateSubsetsOfIncreasingSize = function (total, cb) {
  // We'll throw this if cb ever returns true, which is a simple way to pop us
  // out of our recursion.
  var Done = function () {};

  // Generates all subsets of size subsetSize which contain the indices already
  // in chosenIndices (and no indices that are "less than" any of them).
  var generateSubsetsOfFixedSize = function (goalSize, chosenIndices) {
    // If we've found a subset of the size we're looking for, output it.
    if (chosenIndices.length === goalSize) {
      // Change from indices into the actual elements. Note that 'elements' is
      // a newly allocated array which cb may mutate or retain.
      var elements = [];
      _.each(chosenIndices, function (index) {
        elements.push(total[index]);
      });
      if (cb(elements)) {
        throw new Done();  // unwind all the recursion
      }
      return;
    }

    // Otherwise try adding another index and call this recursively.  We're
    // trying to produce a sorted list of indices, so if there are already
    // indices, we start with the one after the biggest one we already have.
    var firstIndexToConsider = chosenIndices.length ?
          chosenIndices[chosenIndices.length - 1] + 1 : 0;
    for (var i = firstIndexToConsider; i < total.length; ++i) {
      var withThisChoice = _.clone(chosenIndices);
      withThisChoice.push(i);
      generateSubsetsOfFixedSize(goalSize, withThisChoice);
    }
  };

  try {
    for (var goalSize = 0; goalSize <= total.length; ++goalSize) {
      generateSubsetsOfFixedSize(goalSize, []);
    }
  } catch (e) {
    if (!(e instanceof Done)) {
      throw e;
    }
  }
};

exports.isUrlWithFileScheme = function (x) {
  return /^file:\/\/.+/.test(x);
};

exports.isUrlWithSha = function (x) {
  // Is a URL with a fixed SHA? We use this for Cordova -- although theoretically we could use
  // a URL like isNpmUrl(), there are a variety of problems with this,
  // see https://github.com/meteor/meteor/pull/5562
  return /^https?:\/\/.*[0-9a-f]{40}/.test(x);
}

exports.isNpmUrl = function (x) {
  // These are the various protocols that NPM supports, which we use to download NPM dependencies
  // See https://docs.npmjs.com/files/package.json#git-urls-as-dependencies
  return exports.isUrlWithSha(x) ||
    /^(git|git\+ssh|git\+http|git\+https|https|http)?:\/\//.test(x);
};

exports.isPathRelative = function (x) {
  return x.charAt(0) !== '/';
};

// If there is a version that isn't valid, throws an Error with a
// human-readable message that is suitable for showing to the user.
// dependencies may be falsey or empty.
//
// This is talking about NPM/Cordova versions specifically, not Meteor versions.
// It does not support the wrap number syntax.
exports.ensureOnlyValidVersions = function (dependencies, {forCordova}) {
  _.each(dependencies, function (version, name) {
    // We want a given version of a smart package (package.js +
    // .npm/npm-shrinkwrap.json) to pin down its dependencies precisely, so we
    // don't want anything too vague. For now, we support semvers and urls that
    // name a specific commit by SHA.
    if (! exports.isValidVersion(version, {forCordova})) {
      throw new Error(
        "Must declare valid version of dependency: " + name + '@' + version);
    }
  });
};
exports.isValidVersion = function (version, {forCordova}) {
  return semver.valid(version) || exports.isUrlWithFileScheme(version)
    || (forCordova ? exports.isUrlWithSha(version): exports.isNpmUrl(version));
};

exports.execFileSync = function (file, args, opts) {
  var child_process = require('child_process');
  var { eachline } = require('./eachline');

  opts = opts || {};
  if (! _.has(opts, 'maxBuffer')) {
    opts.maxBuffer = 1024 * 1024 * 10;
  }

  if (opts && opts.pipeOutput) {
    var p = child_process.spawn(file, args, opts);

    eachline(p.stdout, function (line) {
      process.stdout.write(line + '\n');
    });

    eachline(p.stderr, function (line) {
      process.stderr.write(line + '\n');
    });

    return {
      success: ! new Promise(function (resolve) {
        p.on('exit', resolve);
      }).await(),
      stdout: "",
      stderr: ""
    };
  }

  return new Promise(function (resolve) {
    child_process.execFile(file, args, opts, function (err, stdout, stderr) {
      resolve({
        success: ! err,
        stdout: stdout,
        stderr: stderr
      });
    });
  }).await();
};

exports.execFileAsync = function (file, args, opts) {
  opts = opts || {};
  var child_process = require('child_process');
  var { eachline } = require('./eachline');
  var p = child_process.spawn(file, args, opts);
  var mapper = opts.lineMapper || _.identity;

  function logOutput(line) {
    if (opts.verbose) {
      line = mapper(line);
      if (line) {
        console.log(line);
      }
    }
  }

  eachline(p.stdout, logOutput);
  eachline(p.stderr, logOutput);

  return p;
};

exports.runGitInCheckout = function (...args) {
  args.unshift(
    '--git-dir=' +
    files.convertToOSPath(files.pathJoin(files.getCurrentToolsDir(), '.git')));

  return exports.execFileSync('git', args).stdout;
};

exports.Throttled = function (options) {
  var self = this;

  options = Object.assign({ interval: 150 }, options || {});
  self.interval = options.interval;
  var now = +(new Date);

  self.next = now;
};

Object.assign(exports.Throttled.prototype, {
  isAllowed: function () {
    var self = this;
    var now = +(new Date);

    if (now < self.next) {
      return false;
    }

    self.next = now + self.interval;
    return true;
  }
});

// ThrottledYield just regulates the frequency of calling yield.
// It should behave similarly to calling yield on every iteration of a loop,
// except that it won't actually yield if there hasn't been a long enough time interval
//
// options:
//   interval: minimum interval of time between yield calls
//             (more frequent calls are simply dropped)
exports.ThrottledYield = function (options) {
  var self = this;

  self._throttle = new exports.Throttled(options);
};

Object.assign(exports.ThrottledYield.prototype, {
  yield: function () {
    var self = this;
    if (self._throttle.isAllowed()) {
      // setImmediate allows signals and IO to be processed but doesn't
      // otherwise add time-based delays. It is better for yielding than
      // process.nextTick (which doesn't allow signals or IO to be processed) or
      // setTimeout 1 (which adds a minimum of 1 ms and often more in delays).
      // XXX Actually, setImmediate is so fast that we might not even need
      // to use the throttler at all?
      new Promise(setImmediate).await();
    }
  }
});

// Use this to convert dates into our preferred human-readable format.
//
// Takes in either null, a raw date string (ex: 2014-12-09T18:37:48.977Z) or a
// date object and returns a long-form human-readable date (ex: December 9th,
// 2014) or unknown for null.
exports.longformDate = function (date) {
  if (! date) {
    return "Unknown";
  }
  var moment = require('moment');
  var pubDate = moment(date).format('MMMM Do, YYYY');
  return pubDate;
};

// Length of the longest possible string that could come out of longformDate
// (September is the longest month name, so "September 24th, 2014" would be an
// example).
exports.maxDateLength = "September 24th, 2014".length;

// Returns a sha256 hash of a given string.
exports.sha256 = function (contents) {
  var crypto = require('crypto');
  var hash = crypto.createHash('sha256');
  hash.update(contents);
  return hash.digest('base64');
};

exports.sourceMapLength = function (sm) {
  if (! sm) {
    return 0;
  }
  // sum the length of sources and the mappings, the size of
  // metadata is ignored, but it is not a big deal
  return sm.mappings.length
       + (sm.sourcesContent || []).reduce((soFar, current) => {
         return soFar + (current ? current.length : 0);
       }, 0);
};

// Find and return the current OS architecture, in "uname -m" format.
//
// For Linux and macOS (Darwin) this means first getting the current
// architecture reported by Node using "os.arch()" (e.g. ia32, x64), then
// converting it to a "uname -m" matching architecture label (e.g. i686,
// x86_64).
//
// For Windows things are handled differently. Node's "os.arch()" will return
// "ia32" for both 32-bit and 64-bit versions of Windows (since we're using
// a 32-bit version of Node on Windows). Instead we'll look for the presence
// of the PROCESSOR_ARCHITEW6432 environment variable to determine if the
// Windows architecture is 64-bit, then convert to a "uname -m" matching
// architecture label (e.g. i386, x86_64).
export function architecture() {
  const supportedArchitectures = {
    Darwin: {
      x64: 'x86_64',
    },
    Linux: {
      ia32: 'i686',
      x64: 'x86_64',
      aarch64: 'aarch64',
    },
    Windows_NT: {
      ia32: process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432')
              ? 'x86_64'
              : 'i386',
      x64: 'x86_64'
    }
  };

  const osType = os.type();
  const osArch = os.arch();

  if (!supportedArchitectures[osType]) {
    throw new Error(`Unsupported OS ${osType}`);
  }

  if (!supportedArchitectures[osType][osArch]) {
    throw new Error(`Unsupported architecture ${osArch}`);
  }

  return supportedArchitectures[osType][osArch];
};

let emacsDetected;
export function isEmacs() {
  // Checking `process.env` is expensive, so only check once.
  if (typeof emacsDetected === "boolean") {
    return emacsDetected;
  }

  // Prior to v22, Emacs only set EMACS. After v27, it only sets INSIDE_EMACS.
  emacsDetected = !! (process.env.EMACS === "t" || process.env.INSIDE_EMACS);
  return emacsDetected;
}


text:
James Elkins
Finally out, after 6 years of work: a textbook with Oxford Press, co-authored with Erna Fiorentini, called Visual Worlds.
The opening pages of my novel are now online with Place (lierary magazine in Brussels). More on the novel here.
Also in 2020: my summary of the state of art writing around the world, called The Impending Single History of Art: North Atlantic Art History and its Alternatives. To be published by de Gruyter.
Please use the contact form to schedule lectures, studio visits, or seminars. See Lectures page for my travel schedule.
Latest uploads:
The book Why Are Our Pictures Puzzles?; the book How to Use Your Eyes; and an essay on the complicity between torture and formal analysis. (There is also a website with reviews of contemporary piano music.)
Live Writing Projects:
I am experimenting with writing live on the internet. These texts update live, and you can contribute to them & be thanked when the book is published. (1) What is Interesting Writing in Art History?, (2) Writing with Images. Thanks everyone for contributing!
Books, essays, and works in progress. Download samples.
Vita »
Brief biography, link to the full vita, and photographs.
Lectures »
Lecture topics, syllabi, and speaking schedule.
Contact form, site search, Facebook, etc.
Academic Books »
Art history, art theory and related subjects.
Trade Books »
General interest books.
Independent essays. (For lectures, see the links above.)
Experimental Writing»
Unpublished texts, live writing, and first drafts.
Contact form for lectures studio visits, and general comments.
Search all the texts on this site.
Travels »
A map of James Elkins's travels, and locations of visitors to this site.
Facebook, etc. »
Link to Facebook, Twitter, LinkedIn, Academia, ResearchGate, etc.
What Painting Is
Parent Category: Writing
A book about the hypnotic attraction of oil and tempera: why painters love paint, even before the painting is half-finished.
In Heinrich Khunrath's Amphitheater of Eternal Wisdom, one of the most elaborate alchemical texts ever printed, Jesus stands in splendor at the center of concentric rings of symbols and Hebrew texts. This is one of the rarest of all alchemical books, and in this copy -- it is one of two in the world -- the illustrations have been painted with gold and silver. The silver has darkened to black, but the gold is still brilliant, and the plates glow and shimmer with unearthly light. Here Jesus is nude, like the unfinished hermaphrodites and homunculi, and he stands in a fiery aureole, on a flaming phoenix, the alchemical symbol of resurrection. Around him are the signs of his divinity: sentences in Latin, proclaiming him the Son of God, and his holy names in Hebrew. Khunrath's books are daring mixtures of Christian and alchemical thinking, dangerously close to the ground of heresy.
Above and below: an excerpt published in Slovenian as "Brez korakov / Steplessness," Likovne besede [Art Words], translated by Mojca Zlokarnik 55–56 (2001): 90–99.
(New York: Routledge, 1998)
Download the Introduction.
Download Chapter 1, "A Short Course in Forgetting Chemistry"
Download Chapter 4, "How To Count in Oil and Stone"
Download Chapter 6, "The Studio as a Kind of Psychosis"
Download the Envoi, "Last Words"
This is not a book about paintings, but about the act of painting, and the kinds of thought that are taken to be embedded in paint itself. Paint records the most delicate gesture and the most tense. It tells whether the painter sat or stood or crouched in front of the canvas. Paint is a cast made of the painter's movements, a portrait of the painter's body and thoughts. The muddy moods of oil paints are the painter's muddy humors, and its brilliant transformations are the painter's unexpected discoveries. Painting is an unspoken and largely uncognized dialogue, where paint speaks silently in masses and colors and the artist responds in moods. All those meanings are intact in the paintings that hang in museums: they preserve the memory of the tired bodies that made them, the quick jabs, the exhausted truces, the careful nourishing gestures. Painters can sense those motions in the paint even before they notice what the paintings are about. Paint is water and stone, and it is also liquid thought. That is an essential fact that art history misses, and alchemical ideas can demonstrate how it can happen.
Art historians tend to see Rembrandt's method as an attempt at naturalism, but it goes much farther than portrait conventions have ever gone, then or since. Consider what is happening in the paint, aside from the fact that it is supposed to be skin. Paint is a viscous substance, already kin to sweat and fat, and here it represents itself: skin as paint or paint as skin, either way. It's a self-portrait of the painter, but it is also a self-portrait of paint. The oils are out in force, like the uliginous oozing waters of a swamp bottom. The paint is oily, greasy, and waxy all at once -- even though modern chemistry would say that is impossible. It sticks: it is tacky and viscid like flypaper. It has the pull and suction of pine sap. Over the far cheek, it spreads like the mucilage schoolchildren use to glue paper, resisting and rolling back. On the nose -- it's rude, but appropriate -- the paint is semi–solid, as if the nose were smeared with phlegm or mucus. On the forehead, it looks curdled, like gelatin that is broken up with a spoon as it is about to set. There is drier paint around the eyes, and the bags under the eyes are inspissated hunks of paint, troweled over thin, greyish underpainting. The grey, which is left naked at the corner of the eye and in the folds between the bags, is the imprimatura, and the skin over it is heavy, thick, and clammy. The same technique served for the wings of the nose, where dribbles of paint come down to meet the nostril but stop short, leaving a gap where the grey shows through. Of course the nostril is not a hole, but a plug of Burnt Sienna with Lamp Black, and it also lies on top of the grey imprimatura. Rembrandt's thin mustache is painted with wiggles of buttery paint, almost like milk clinging to a real mustache.
The warm sky descends onto the horizon, and the cool sea rises up toward it. They do not meet in a line but in a blur, and they cross and overlap. There is some blue–green underneath the rose paint of the sky, and also blue-green over the sky color: at the left, closer to the horizon, are five or six hairstreaks of blue lying on the rose. In the ocean, the two basic tones are much more tangled, and sky colors come flooding down over the roughened horizon, as if the air could dilute the ocean, or the ocean could evaporate into the sky. Near the center of this detail, there are two very thick, short horizontal strokes, one a fingerbreadth above the other: the upper one is rose, and the lower one blue. Even at the bottom where the darkness is swallowing the light, Magnasco has put faint swirls of sky-color into the wet ocean-color. When painters work this way, they tend to have two brushes in their painting hand at once, one for each color.
Anyone who doubts that the methods of oil painting have been lost needs only look closely at a pre–modern painting. This a portion of Titian's Venus with a Mirror. (It's a navel and an elbow.) Some time between the sixteenth and the eighteenth century the painting may have been exposed to water, or dropped, and paint chips fell off, leaving holes in the lower arm and the side. An inept restorer tried to match the color and fill in the holes, but he used impermanent pigments and they faded to the color of browned butter: and worse, he used a slow–drying medium (perhaps an oil other than linseed oil), so that the paint ran out of the holes before it dried. The result looks like nothing so much as suppurating wounds -- not a very flattering condition for Venus. It may have been the same restorer who though he could improve Titian'sense of harmony by adding patches of light brown glaze: one is visible here on the front of the elbow, and there are others scattered across her body like big pale birthmarks. To think about Titian's technique, it it necessary to ignore those blemishes as much as possible. What, then, can we deduce about his method? It began with a pale brown imprimatura in an earth tone, the equivalent of modern Raw Sienna. That tone is unmistakable in the navel, between the pit of the navel and the shadow to its right, and again on the elbow, just right of the shadow at the ulna. Those two places are very thin, and they take their brightness from the white canvas size just beneath them. That much is clear enough. But then what? The brightest portions of the belly are pastose paint, very thick, and it is typical for Titian to reserve his densest paint for flesh tones.
Visitors to this site have logged in from these places since July 2009. (See the Statistics page for full details.)
Designed by 3G Info management

redpajama_set_name: RedPajamaCommonCrawl


Kornesczuk Windows & Doors - Replacement Installation Specialists, Dedicated to Wheaton, Glen Ellyn, Elmhurst, Naperville, Batavia, Geneva, Downers Grove, St. Charles, Bloomingdale, Oak Brook, DuPage County, Illinois, & now we service fire doors!
Kornesczuk Windows & Doors is a dealer of high quality windows and doors. Contractors and homeowners rely on Kornesczuk Windows & Doors for low costs, product quality and quick service. For new or replacement windows the quality choice is Kornesczuk Windows & Doors.
We provide expert consultation on Weather Shield, Marvin and Pella window product brands. We will help you find the window that best fits your needs.
We're a proud distributor and installer of Weather Shield and other high quality windows & doors.


A 65 lb. class low profile full extension drawer slide designed for kitchen cabinets, bathroom vanities, desk and credenza box drawers, and cabinetry. With a clearance of 1/2" this slide is recommended for drawers up to 24" wide.
A 65 lb. class low profile push-to-open full extension drawer slide designed for kitchen cabinets, bathroom vanities, desk and credenza box drawers, and cabinetry. With a clearance of 1/2" this slide is recommended for drawers up to 24" wide.
A 65 lb. class low profile full extension soft-close drawer slide designed for kitchen cabinets, bathroom vanities, desk and credenza box drawers, and cabinetry. With a clearance of 1/2" this slide is recommended for drawers up to 24" wide.
A 75 lb. class 3/4 extension drawer slide with quick disconnect designed for desk and credenza box drawers, cabinetry, and millwork. Features a side clearance of 1/2".
A 75 lb. class 3/4 extension drawer slide designed for desk and credenza box drawers, cabinetry, and millwork. Features a side clearance of 1/2".
A 75 lb. class 3/4 extension drawer slide with built-in shelf tabs for shallow drawers, keyboard trays and pull out shelves. Features a side clearance of 1/2".


It's about choosing how you want to live your life. Really choosing.
Increasing awareness, and recognizing and releasing those patterns and beliefs that no longer serve you.
Freeing yourself to be fully you...in all of your expanded potential.
Many people express regrets at the end of their lives, reflecting back and musing "if only..." Most of the regrets are simple and universal, and have been well captured in recent best sellers and a multitude of media articles.
But what if a simple, personal reminder about how to live your life more fully could be the catalyst to change that pattern? That is the simple wisdom from which the No Regrets Project was born.
LEARN MORE ABOUT THE STORY BEHIND THE NO REGRETS PROJECT.
A limited run of No Regrets bracelets, as well as other items, are available via donation to The Living and Dying Consciously Project.
Visit us at The Living & Dying Consciously Project to donate and learn more.


Canada's Aviation Hall of Fame is inviting everyone interested to become a 'Friend' of The Hall. Any person who supports the aims and objectives of Canada's Aviation Hall of Fame may become a 'Friend' upon filling in an application and payment of an annual fee of $50.00. Any corporation, business, organization or association that supports the aims and objectives of the Hall may become a 'Corporate Friend' upon filling in an application and payment of the 'Corporate Friend' fee of $200.00. A 'Corporate Friend' will designate someone to represent it.
An invitation to the Annual Induction Dinner.
Become involved in preserving Canada's rich aviation history as a 'Friend' of Canada's Aviation Hall of Fame.
Canada 's Aviation Hall of Fame is a not for profit incorporated society and gratefully accepts donations. Official tax receipts will be issued for donations of over $20.00.


text:
Reselling Options
Are you aware that a lot of servers come preloaded with Server Reselling tools? Find out more about these instruments and the best way to use them.
When you obtain a virtual or a dedicated server, you can use it not only to host your sites, but, in addition to resell hosting plans to other people. This will help you make good money, due to the fact that the number of people who build their first website keeps growing and the demand for website hosting services is growing every single year. Aside from the server itself, you'll also need a merchant account with a payment processor, which will allow you to accept payment transactions on the web, and a payment application so that you can link each of them. Using your own server means to have additional control when compared to the regular hosting reseller programs. If, for instance, a client needs to run some script which needs a certain app to be present on the server, there won't be a trouble to set it up on a virtual or a dedicated machine, but it'll be impossible to do that on a shared server where all reseller accounts are generated. With small effort and investment, you'll have the opportunity to start a successful hosting company of yours and to be a part of the ever-growing website hosting market.
Reselling Options in VPS Servers
The VPS web hosting plans that we supply include several web hosting Control Panels to select from and two of them are appropriate for starting your own hosting business, because they have a client plus a reseller side. DirectAdmin and cPanel are one of the most well-liked Control Panels in existence and they will help you set up everything almost immediately. All the cPanel-equipped servers feature two additional bonuses free of charge - a domain name reseller account with eNom - one of the leading registrars, which does not include the deposit that's in any other case needed in case you subscribe directly with them, plus a billing/support solution named ClientExec, that will connect your Internet site to the cPanel reseller account and that will allow you to bill your customers and to provide them support via an incorporated ticketing system. The full root-level access to the virtual server will enable you to do pretty much anything you would like, so launching and managing a prosperous website hosting company of your own is a quick and simple project.
Reselling Options in Dedicated Servers
Our powerful dedicated servers are a wonderful choice if you'd like to create your own hosting reseller business. Each and every plan has enough system resources to accommodate a large number of users, irrespective of the type of sites that they want to host. Because you'll have root-level access to the server, you'll be able to set up any kind of software that they'll need. During the dedicated server order process, you'll be able to select cPanel or DirectAdmin - two of the web hosting Control Panels that we provide, as both of them feature client and reseller areas. With DirectAdmin, you can have sub-resellers that can have direct customers of their own. With each and every server obtained with cPanel, on the other hand, we provide a selection of other tools at no extra cost - a domain name reseller account with eNom, one of the top registrar companies, as well as a billing and support application known as ClientExec, that comes with an online payment gateway and a ticketing system.


The Conversation Gist that Dylan prepared prior to the show.
33:30 – How do we apply these ideas to Angular 2?
Next articleHow to automatically rerun failed TestNG tests on Jenkins and update the final results to pass if retries passes?


But why are wholesale handbags suddenly popular nowadays? Again, before we consider the fact that wholesale handbags have got more accessible, let us look at how they are presented in the media. Fashion has turn to be piece of the mainstream recently, thanks to television and print media. They have placed premium on fashion the designs, the designers, the very importance of holding and bearing those fashion products.
This is where the grandness of wholesale handbags comes in. Usually, regular people cannot afford branded handbags or tho the greater extent, wholesale handbags. But this doesn's means they wouldn't desire to have these pieces. They still do the growth of other references of wholesale handbags has responded the hungriness of the people for these items. These secondary sources include the Internet, with the internet shops marketing these handbags which are duplicates of the designer products. Replications may not be as pricey as the branded handbag, but they certainly have the same appearance, feel, and function.
But why purchase wholesale or in bulk? Why not buy a couple of pieces, or simply one? Is it truly essential to bargain more than a single handbag? Fashion savvy ladies might say possessing just one handbag is like having just a single pair of shoes. Handbags are also thought as accessories they contribute deepness to any outfit. This is why it is wise to purchase wholesale handbags. Handbags want to mix and match with the clothes, and this wouldn't be feasible no matter how exquisite or fashionable one's handbag is.
Certainly, these handbags provide bigger savings. After all, anyone who wants to buy a handbag would never descend for one; she would have to buy another handbag after sometime. Handbags, beyond their function as a supplement, also have practical functions. Therefore, purchasing wholesale handbags aids one save time and money.


text:
Neorhynchoplax inachoides is een krabbensoort uit de familie van de Hymenosomatidae. De wetenschappelijke naam van de soort is voor het eerst geldig gepubliceerd in 1900 door Alcock.

Hymenosomatidae

redpajama_set_name: RedPajamaWikipedia


text:
Richmond United Soccer Club
Fall/Winter Registration
Spring Registration
Monday Night Academy
Visiting Team COVID Form
Thanksgiving Tournament
Headcheck
COVID Game Day Guide
U9-U12 Retreat Line
U9/U10 Referee Rules
RUSC Manual
U9/U10 Manual
U5 To U8 Dev Manual
LTPD
Parents Resource Guide
BC Soccer Air Quality
Goals and Philosophy
RUSC Constitution
Club Pathway
Our recreational program will continue to provide soccer for every player who wishes to play within our community.
For each age group the competitive program will have teams represented at all tiers of competitive soccer and will also offer quality programming for those desiring a lower level of commitment.
Our elite players will be regularly securing scholarships to university and college programs and competing for places on BCSPL, Provincial and National teams.
Through prudent financial management, sponsorship and fundraising initiatives, the Richmond United Soccer Club will continue to secure the use of year- round training facilities within the community in collaboration with the City of Richmond and/or the Richmond School Board.
Maintain a strong relationship with the City of Richmond to ensure continued access to the premiere facilities available in the city where we are based.
Our top-level coaches will share their coaching expertise with less experienced coaches and older players creating a cycle of knowledge that will sustain Richmond United Soccer Club into the future.
New additions to our staff of professional coaches will be recruited primarily from players graduating from our program.
Players of all abilities will return year after year because at Richmond United Soccer Club they learn skills and improve their game while having a great time.
We will provide an environment committed to inclusiveness and welcoming to players of all abilities and identities.
Long Term Player Development is the primary objective of the Richmond United Soccer Club. This development breaks down into four components: Technical, Tactical, Physical, and Psychological.
As the age level increases, different components are stressed.
Technical growth: The individual ability to handle the ball consists of: dribbling, passing, receiving, shooting, heading, and goalkeeping. A solid Technical foundation increases the players' ability to understand the Tactical aspects of the game.
Tactical awareness: A player must understand when to apply the appropriate technique based on the demands placed upon them by their opponents. Tactical awareness is a player's understanding of a system of play or strategy. As a player progresses through age groups, Tactical play becomes a major component of our teaching.
Physical ability: Soccer is a demanding physical sport, and each player will need to obtain a certain level of fitness. A majority of this fitness training takes place in the actual training exercises. Physical fitness determines a lot in the game of soccer. When players become physically tired, they become mentally tired. When they become mentally tired they can no longer perform the technical skills needed. When players lose their technical ability, their tactics disappear.
Psychological understanding: How a player reacts to certain situations can either help or hurt the overall team effort. Our goal is to focus on the present. Soccer is a game of mistakes. This is how we learn. We will work to focus all of our players energies in a positive manner, and on things they can control.
OUR PILLARS
We believe in the right of all individuals to pursue their personal levels of excellence. The Richmond United Soccer Club will strive at all times to sustain club excellence.
We believe in soccer being fun.
We believe in fairness on and off the field of play, as characterized by equality, integrity and trust.
We believe in free and open communication and respect for the views, role and contribution of all.
We believe that those who coach and lead soccer teams and activities at the Richmond United Soccer Club have a responsibility to teach and apply the values of the club. We also believe that youth participation in sport builds leaders.
To create a fun and safe learning environment where players, coaches and parents can play and mature through the game of soccer.
The Richmond United Soccer Club is dedicated to helping all our soccer players realize their sporting potential. All coaching is crafted to our players' specific levels of commitment and stages of development. It is our steadfast belief that young players who are encouraged to express their own natural ability, who are comfortable trying new things and who are not afraid to make mistakes will better reach their potential and develop a life-long love of the game.
Lessons learned on the soccer pitch and training ground create good habits and life skills that will equip our young athletes for future success in any field.
The Richmond United Soccer Club will become a "league leader" in the soccer community, with a growing reputation for excellent coach and player development and effective club administration.
Soccer will be coached, played and supported in accordance with the spirit of the game, represented by fair play and sportsmanship.
The Richmond United Soccer Club Values have been established to remind players, parents, coaches and staff that the life skills and experience obtained through participation in skill development, competition and teamwork are far more valuable than just winning on the field of play
The operations of the Richmond United Soccer Club are overseen by a volunteer Board of Directors that are elected by our membership.
The Board strives to uphold the Clubs' constitution while ensuring that all of the programs operate in a manner that adheres to our stated goal of providing all participants in our programs with a rewarding, enjoyable soccer playing experience.
As of June 2019, the Board of Directors is comprised of the following ten individuals:
Marty Mueller ( President) expires in 2020
Richard Wang ( Vice President) expires in 2020
Matt Langelaan (Treasurer) expires in 2020
Julian Forman (Secretary) expires in 2020
Members at Large
Nonie Nashlund - term expires in 2021
Sean Lawson - term expires in 2021
Cory Cavazzi- term expires in 2021
Kelly Duran- term expires in 2021
Mike Harrower	- term expires in 2021
Gita Manhas- term expires in 2020
Please click on the link below to view our constitution, bylaw and certificate of name change.
Note: changes to the Constitution that were approved at the June 22, 2020 Extraordinary General Meeting are not yet reflected in this document.
Constitution.pdf
Bylaw.pdf
Certificate.pdf
Club Pathway Visual
Richmond United Soccer Club 186-8120 No.2 Rd Suite 314 Richmond BC V7C 5J8 admin@richmondunitedsoccer.ca
Copyright © Spappz Sports Applications, All Rights Reserved. 2000-2020 - Spappz v0.9 (0)
View Mode: responsive (Switch to widescreen)


A Board of Supervisors meeting to address the lingering - and potentially explosive - mystery of just what keeps igniting at Santa Clara West Water was instead hijacked by supporters of a second company that wants the continued business.
Supervisors at the December 9 hearing were able to express their frustration and alarm concerning the November 18 explosions as well as a third incident later that created a brief flash fire but caused no injuries.
Supervisor John Zaragoza set the pace by announcing at the meeting his previous remarks that he does not want waste that had been accepted at SCWW trucked by Anterra Corp. to their Oxnard facility in a highly populated area.
Zaragoza had been assured in the past that Anterra would only take certain types of oilfield wastes and not the more than 100 streams accepted by SCWW.
The first explosion at SCWW came at 3:45 a.m. when the back of a vacuum truck - according to witnesses the property of the company - exploded; hours later at about 8:30 p.m. a second, more serious blast occurred.
About 55 people were injured; three Santa Paula Fire Fighters are still being treated for symptoms of toxic exposure.
Zaragoza said, "The toxic cloud really concerned me," that later ignited, causing evacuations while public safety responders stood by unable to fight the fire created by unknown chemicals.
Board Chairman Steve Bennett said, "I thought we were going to get answers," to not only the cause of the incident but also what chemicals were involved and how to prevent such incidents in the future.
Although various public speakers representing or supporting Anterra - including oil industry spokespeople - addressed the board about the company, several speakers tried to steer the issue back to what the meeting was supposed to be focusing on.
Oxnard Vice Mayor Carmen Ramirez noted that SCWW's permit to discharge its wastes to the city's wastewater treatment plant was suspended due to radiological - radioactive - waste detected at different times.
After more speakers addressed the looming deadline of Anterra's temporary permit to haul more waste formally accepted by SCWW, John Brooks, president of Citizens for Responsible Gas & Oil noted, "Let's not forget why we're here... people could have died," in the SCWW blast.
He said although he could not publicly share details of the ongoing inquiry, any danger is believed confined to the now locked down plant.
He noted that his office has been told that with the passage of time and diluting rain the explosive substance that ignites when dry seems to be becoming less of a threat.
Totten said the "volatile and dangerous" chemical is believed to be an oxidizer, chemical agents that can react with other materials to burn more readily or explode.
Agricultural Commissioner Henry Gonzales, who last week told supervisors soil tests had proven negative of contaminants at surrounding farms, remained in his front row chair when he was not asked to report on the results of product testing.
County staff was able to convey some information to the board regarding the incident, mainly that the investigation by federal and county officials continues.
But the exact identity of the chemical is a mystery and may remain so due to various factors impacting the material - including the explosions - that may have changed its original compounds and chemicals might have been mixed.
In addition, laboratories remain unwilling to test the substance because it is so unstable.


text:
Former Chisago County officeholder makes first court appearance
A former elected county official made his initial appearance in the Center City court of Judge Seabrooks Monday, by computer. Former Sheriff, Rick Duncan, 57, of Wyoming is charged with five counts of criminal sexual conduct in the third and fourth degrees.
His prosecution is being handled by Crow Wing County attorney Kelsey Hopps to avoid any conflict of interest. Duncan is defended by attorney Chris Wachtler.
The former sheriff's criminal sexual conduct charges are in connection with incidents alleged to have taken place in 2017, while Duncan was serving as county sheriff.
The prosecuting attorney told Judge Jesse Seabrooks the victim, identified only by her initials, is fearful of Duncan and requested $100,000 bail be set. Elements of coercion and force are supportive of the charges. Bail ended up at $50,000.
Duncan resigned/retired in 2018 after Chisago County announced an investigation had been completed by a private investigator into another set of allegations, involving a Chisago County crime analyst. This case was prosecuted through Anoka County resulting in a conviction, with zero jail time and probation for the ex-sheriff. A lawsuit by the female sheriff's staff member victim was successful in winning a civil monetary award, who immediately left county employment. Sheriff Duncan was found to have stalked/harassed her and was guilty of "misconduct" in his elected position.
The criminal complaint for Monday's Zoom hearing says Duncan was questioned by Wyoming investigators regarding this second sexual misconduct allegation in May 2021. The female victim is related to the Duncan family, and alleges Duncan coerced her into being a party to sexual acts and videotaping the incidents, to satisfy a blackmailer who is now alleged to have been Duncan. Wyoming Police stated he "declined to give a statement."
The hearing this week resulted in Judge Seabrooks granting Duncan to remain out of jail, under conditions.
He is due in court next for an omnibus (evidentiary) hearing February 6, 2023.
He is not allowed to have a firearm, to have no contact with this victim, not to leave the state and be booked and released by the jail staff for the record as soon as possible.
Added twist
An incident at Duncan's residence last week, in which his attorney noted that "my client [Duncan] was stabbed in the back" was mentioned in the Zoom hearing. According to the prosecuting attorney, Duncan reportedly requested the responding officers to alert his alleged victim, the attorney said, to "warn her" for her safety.
Duncan was reminded by the judge that he must not have any contact whatsoever and was asked if he fully understood what this meant, and he responded he did.
As for this reported assault, Wyoming Police Chief Bauer told the Press the agency was not able to release any information on this call alleging Duncan was "stabbed" November 22 while he was alone in his home. Chief Bauer said he could only confirm there was a call and the report is "actively being investigated."


text:
Storm drenches region, brings snow, whipping…
Storm drenches region, brings snow, whipping winds, wild waves and warnings
Chuck Bennett
High winds and wet soil took down a large eucalyptus tree on Western Avenue in San Pedro Monday January 25, 2021 (Photo by Chuck Bennett, Contributing Photographer)
By Laylan Connelly | lconnelly@scng.com | Orange County Register
PUBLISHED: January 26, 2021 at 8:20 a.m. | UPDATED: May 24, 2021 at 3:31 p.m.
Winter weather brought rainstorms and snowfall over the weekend and into Monday, along with whipping winds and wild waves along the coast – a stark difference from the spell of summer-like weather just a week ago.
Another storm in the series is setting up to slam down later this week.
While the recent storms have brought needed rainfall to the region and a winter wonderland for local mountain resorts, they have also brought treacherous and dangerous conditions.
OC Public Works dispatched crews to Silverado and Modjeska canyon communities to clean roads after rain created mudslides in the Bond Fire burn area.
Conditions can worsen with heavy rain and the public is warned that subsequent flooding and debris flows are possible, OC Public Works alerted residents on social media.
"As a reminder, stay out of creeks, riverbeds and flood control channels when rain is expected," officials warned. "Those are very dangerous areas that can quickly fill with fast-moving water in a short time frame. Stay out, stay alive."
The cold air brought with it wintry conditions not just to the mountains but in the valleys too.
Hail fell in areas of LA as an afternoon storm pushed its way across the region. Some on social media questioned whether it was hail, snow or graupel pelting Pasadena and Riverside by midafternoon, while a light dusting of powder was visible along the 15 Freeway near Rancho Cucamonga.
Along the coast, wild winds whipped white-capped waters. The National Weather Service issued a high surf advisory until late Tuesday, with waves up to 9 feet hitting areas along Orange County's coast and 8-feet to 12 feet along areas of Los Angeles' coast.
The NWS warned not only of dangerous swimming conditions and strong rip currents, but also large waves that could crash over jetties and rocks near the shoreline.
Jay Benitez, of San Clemente, was out for a blistery stroll on Monday morning near Baby Beach in the Dana Point Harbor, where wind-whipped waves crashed over the rock jetty near the Ocean Institute.
He came to check on his boat, docked in the harbor, he said, and decided to soak in the seasonal weather.
"It's different from our usual weather, it's good to have seasons," he said. "I love it, it's just amazing. The sea is just being all churned up."
Snow-slicked roadways leading up to local mountains also drew winter warnings. The latest storm dropped more than a foot of snow in some areas overnight Sunday, adding to an already bountiful base following Saturday's storm that also brought about 8 inches, said Samantha Connolly, meteorologist for National Weather Service.
Snow was expected to continue falling at local mountains through Monday evening and lingering showers were expected into the evening, along with the chance of thunderstorms along the coast, she said.
"It will be wet out there on the roads, keep slow and keep distance," she said. "Going up to the mountains, be sure to pack chains and use caution."
Wind gusts up to 51 mph were recorded at the San Clemente Pier, and elsewhere along the Southern California coast and some inland areas saw gusts of about 40 mph, Connolly said.
The rain is needed in the region where dry and unseasonably warm weather has lingered in recent months, though Southern California has not yet been declared in a drought stage, she said. "It's definitely a much needed rain for the season."
Mountain resort operators were thrilled at the sight of snowfall. Saturday's storm brought more than expected to Mountain High in Wrightwood and the latest storm brought the week's total to nearly 2 feet at some areas of the resort, said John McColly, chief marketing officer for Mountain High.
"And there's still more to come," he said. "It was a fairly dry first half of the season. January was pretty light, until this. But now it's all guns firing and we're looking great."
Big Bear Mountain Resort received another 12 inches to 18 inches in the last 24 hours with a storm total of 26 inches to 36? inches so far.
Tuesday looks like the best day to get up to the resort for snowboarders and skiers with a break in the storms – another is expected starting Wednesday.
McColly echoed the warning to use caution if heading up to the mountains.
"We want everyone to be prepared, at least bring chains," he said. "Makes sure everyone is prepared before coming up."
All area resorts are still running with limited, online-only ticket sales due to the ongoing pandemic.
Mountain High plans on opening its East Resort operations on Friday for skiing and snowboarding.
Connolly said the upcoming storm will be light Wednesday and will mostly hit on Thursday and Friday before clearing into the weekend. Mountains can expect another foot of snow in areas such as Big Bear and rainfall totals could be up to 2 inches along the coast and valleys.
"We are expecting it to be just as strong, if not stronger, than this one," she said. "It looks like the storm could stick around until Saturday morning. After that, the rest of the weekend is looking dry, as of right now."
Laylan Connelly | Reporter
Laylan Connelly started as a journalist in 2002 after earning a degree in journalism from the University of Southern California. Through the years, she has covered several cities for The Orange County Register, starting as a beat reporter in Irvine before focusing on coastal cities such as Newport Beach, Dana Point and Laguna Beach. In 2007, she was selected for a prestigious Knight New Media fellowship focusing on digital media at UC Berkeley, where she learned skills to adapt to the ever-changing online landscape. About the same time, she began covering the 42-miles of Orange County coastline, focusing on lifestyle, environment, surf culture and anything having to do with the beach. Her coastal coverage now extends up the California coast into Long Beach and the South Bay.
lconnelly@scng.com
Follow Laylan Connelly	@ocbeaches
More in PV News
Teen killed by LAPD thought U.S. was safe, dad eulogizes, but she was 'mistaken'
Historic Japanese American farm in Rancho Palos Verdes could get reprieve
Submit your best pictures to 'Why I Love the South Bay' photo contest by Feb. 28
Beaches all reopened as recovery and repair work continues on Carson sewer line


District Barabanki lies between Latitudes 26° 30′ North and 27° 19′ North and Longitudes 80° 58′ East and 81° 55′ East. District Barabanki is surrounded by district Faizabad in the East, districts Gonda and Bahraich in the North East, district Sitapur in the North West, district Lucknow in the West, district Rae Bareli in the South and district Amethi in the South East. The river Ghaghra forms the North Eastern Boundary separating Barabanki from Bahraich and Gonda. The area of the district was 3891.5 sq. kms. The area is liable to vary from year to year due to the slightest change in the coarse of the river Ghaghra, because this slight variation makes a noticeable change in the overall area of the district. The district is well fed by rivers Ghaghra, Gomti and Kalyani with their tributaries for major part of the year. Although some of them dryout during summers and create havoc during rainy season by flooding.


text:
Cosmia aurantia är en fjärilsart som beskrevs av Barend J. Lempke 1942. Cosmia aurantia ingår i släktet Cosmia och familjen nattflyn. Inga underarter finns listade i Catalogue of Life.

Källor

Nattflyn
aurantia


There are multiple social networks out there: Facebook, Twitter, Instagram and others. They are great ways to keep connected with friends and family and to reconnect with those you have lost touch with over the years. But, the thing that gets me is the way that so many use those venues as ways to discuss various topics and for some to show off a little bit. A little is fine but some get so engrossed in being connected and making sure everyone knows everything they are doing, from pictures of their family, vacations, food and even things that are pretty insignificant some feel the need to make sure everyone knows all about them. I have always been a more private person and never really liked getting tons of attention and I don't understand the need some have for attention. Oh, I have shared pictures from vacation and a few special events, but not like a lot do. There are some that go to such extremes to show everything great in their lives that nothing is personal anymore. A few thoughts always come to mind and one is, what is it they are not showing? Are they trying hard to show a life that doesn't really exist or is markedly different than what they show? Like most anything I see online, I take all those things with a grain of salt.
But, besides those things, what amazes me even more is the way some people seem to develop a sense that just because they can do something or post something they do, whether it is right or wrong; whether it be an opinion that is likely to be offensive to a lot of people and likely to generate significant responses, some positive, some negative; criticism of others, at times extremely harsh and frequently inaccurate or down right false; try to spread hate of individuals or groups; or in other ways post things that cause hurt to others. I don't know if they who do such things do so just to get attention, even if it is negative attention or if it really is to try to spread hate. What motivates them to do those things? I know it isn't Biblical to try to generate animosity amongst people or towards people.
14 Where no counsel [is], the people fall: but in the multitude of counsellors [there is] safety.
Some will speak with such wrath, hate and harshness with nothing but ill intent. Others will use it to try to show or in ways tell others, that they are better than the ones that read their posts. Saying things to belittle others. Yet, if others respond to those postings, voicing some sort of disagreement with what was said, the one that posted the hateful comments suddenly takes offense. It amazes me that some see the social networks as places to say and do whatever they want, with the attitude that others must accept what they say, agree with them and if they do not, they become angry and upset. They live a life online that is somehow, in their minds, permissible to behave differently than would be considered acceptable if all involved were all together in one location. It also amazes me how they think it is perfectly acceptable for them to say whatever they wish, but take offense when others do the same thing. I have seen people get so MAD at what people say that I thought they were going to have a stroke or something.
Of course, there are also they who replace human interaction with the social networking. I have seen people at restaurants who order, eat and leave and hardly say a word to one another because they were too busy writing or reading something on Facebook.
I am not saying that any of the social media platforms are bad, they do a lot of good and like many things in the world, the way things are utilized can be either good or bad. But, the way so many have used it to, what appears to me, intentionally create turmoil and ill will amongst others or to replace true human interaction that it more and more is an ANTIsocial network. Like many things, it can be used for good or bad, one must make the choice of how they use it.
Lord, I praise You and thank You for all Your blessings to me. I thank You for reminding me that something that can be good, can also be bad and that actions and words that are possibly hurtful towards others should not be spoken and that posting hate filled, antagonistic comments is as bad as speaking ill of others and that we should instead only post things publicly that help others. I pray in the name of Jesus that You help us use our interactions with others, whether in person or online, to only say things that serve to build them up and glorify You. I ask that You draw us all to You so we can all serve You and enjoy the salvation that is made available to us through the sacrifice Christ made on the cross and when He defeated death for us when He was resurrected.
I hope all have a blessed day and are having a wonderful weekend. And, that you are able to be a blessing to someone else too.
The last few years and especially the last year has brought a lot of changes in my life. I have had some good things and some bad things happen. I have lost loved ones which, while a part of life, is always difficult. I have had things happen I never expected. But as I was dealing with these things and feeling lost and alone I started talking with God and He answered my prayers.
As I reflect on all He has done for me I realize that even though I always thought He was a giver but I was SO WRONG! God is a taker! God took so much from me that it is hard to imagine. He took pain of loss. He took bitterness. He took anger. He took sorrow and grief. He took my sins. Oh, there are times that I feel sad about losses and that I get upset and angry about things but those things are very infrequent and the sadness over losses is less. There are times I think about my parents and others I have lost and I miss them. But, I am better about thinking about the happier moments.
Yes, God took and took and took. But, He gave too. He gave me peace, joy, comfort, and most importantly He gave me forgiveness and salvation. He took all the things I had earned and gave me more than I deserved. What an AMAZING GOD!!!
Lord, I thank You for taking so much from me. Taking all the things I needed out of my life and leaving room for the good things You offer. I praise Your name and ask in the name of Jesus that You continue to take from me, that You continue to work on me and help me become the servant Christ wants me to be for His glory. I ask that You draw loved ones closer to You, take from them all the things You took from me and teach us all the truths You want us to know.
Thank You all for taking a moment to read my blog. I hope something I wrote was a blessing to someone and that you can all find a way to be a blessing to someone else today as well.
As I was looking back over the last year, thinking about how many changes have happened in my life I also wondered how many more were coming. Some of the changes have, or will be, painful and very unexpected. Other changes were just changes, not really good or bad, just different. And, others yet have been, or will be exciting and great for me. Out of all, my salvation has been the most wonderful of all. I was in some ways just before that time in a great place personally and other ways a very bad place. Things went to completely bad and that is when I hit the point that I could no longer do things on my own and finally accepted the fact (although I knew it all along) that I NEEDED Christ. Since that time, WHAT A DIFFERENCE He has made in me. Oh, I still have areas in my Christian walk that need work; that is true for all Christians. I still at times have anger at others for things, I still have difficulty with forgiving, I sometimes slip and get angry and let that impact my actions or words. I don't go into a rage like some do and start screaming and cussing and throwing things, but I do get angry. Those times are not often but they happen. I am kinder and more considerate about others. I always was kind and considerate, but within limits. I was also bitter and cold a lot. It was very hard for me to be truly compassionate. A lot of factors caused that for me. There were issues carried from Iraq, issues from marriage, from things at work, from family situations, other situations that contributed to me being that way. But, since my salvation (or re-salvation in a way) I still am dealing with those issues. Problems don't disappear when one is saved, but with Christ by my side, my attitude about them is different. I react differently, mostly, as I said I do still have moments that my walk is not perfect, but even the less perfect moments are still much better than anything previously.
What a great and mighty God we serve. Yes, I am a new creature in Him. The old me is passed away. I thank Jesus and praise His Holy Name for the work He has done and is doing in me. I anxiously anticipate further improvement, getting to the time that any slips will be almost nonexistent.
Lord, I praise You and thank You for the kindness, grace and mercy and forgiveness You gave me and for my salvation that was paid for by the death of Christ on the cross. He accepted all my sins and suffered for them. I thank You for making me a new creature. I pray in Jesus' Name that You continue to help me further improve and evolve into what You truly want me to be and that I better learn and feel with the heart of Christ. I ask that You work in the lives of loved ones as well. Show them Your perfect forgiveness and mercy that they may walk with You. Teach us all the right paths for us so we can glorify You.
Thanks for taking time to read my ramblings. I hope the thought of being a new creature is a blessing to someone. Please, do all you can to be a blessing to others today.


text:
Fédération Internationale Féline, zkráceně FIFe, je největší evropská organizace chovatelů koček (působí však i mimo Evropu) a jedna z největších organizací chovatelů koček na světě.

Historie
V roce 1949 došlo v Paříži na společném setkání chovatelů z Itálie, Francie a Belgie k dohodě o založení společné zastřešující organizace. Vůdčí osobou při formování nové organizace byla Francouzka Marguérite Ravelová. Ještě v roce 1949 se uskutečnila první společná výstava, na které bylo prezentováno tehdy imponující množství 200 koček.

10. prosince 1950 se v belgickém Gentu uskutečnilo první generální shromáždění, kde bylo založení organizace oficiálně posvěceno a kde byly schváleny první plemenné standardy a první pravidla pro pořádání výstav. Organizace přijala název Fédération Internationale Féline d'Europe. Po přijetí brazilského klubu chovatelů koček v roce 1972 byla poslední část názvu odkazující na Evropu vypuštěna a název získal dnešní podobu – Fédération Internationale Féline.

Dnes organizace sdružuje více než 100 000 chovatelů koček z 43 národních organizací z 41 zemí (Rakousko a Nizozemsko zastupují dvě různé organizace). Organizace z jedné další země má zatím podmíněné příjetí. Česko zastupuje Sdružení chovatelů koček v České republice (SCHK), odbor Českého svazu chovatelů (ČSCH).

Pod záštitou organizace se každoročně uskuteční kolem 700 výstav ušlechtilých koček. Jednou do roka se pak koná Světová výstava (FIFe World Show), na které jsou prezentovány nejlepší kočky z celé organizace.

Cíle
Cílem FIFe je propagovat ušlechtilé kočky a zlepšovaní životních podmínek koček obecně. Organizace stanovuje pravidla pro chov a pořádání výstav, která jsou téměř univerzálně uznávána a akceptována.

Organizace eviduje a vydává osvědčení chovatelským stanicím, organizuje výstavy a registruje rodokmeny. Je vyžadováno, aby každá národní organizace vedla vlastní plemenné knihy pro jednotlivá plemena, která jsou v rámci příslušné organizace chována.

Uznaná plemena
 (stav k 1. 1. 2015)
FIFe dělí plemena do čtyř základních skupin. Zvláštní postavení pak mají předběžně uznaná plemena a domácí kočky. Každé plemeno má svůj třípísmenný kód.

 Skupina I – Perské a exotické kočky
 Perská kočka (PER)
 Exotická kočka (EXO)

 Skupina II – Polodlouhosrsté kočky
 Americký curl dlouhosrstý (ACL)
 Americký curl krátkosrstý (ACS)
 Mainská mývalí kočka (MCO)
 Něvská maškaráda (NEM)
 Norská lesní kočka (NOR)
 Ragdoll (RAG)
 Birma (SBI)
 Sibiřská kočka (SIB)
 Turecká angora (TUA)
 Turecká van (TUV)

 Skupina III – Krátkosrsté a somálské kočky
 Habešská kočka (ABY)
 Bengálská kočka (BEN)
 Burmilla (BML)
 Britská krátkosrstá kočka (BRI)
 Barmská kočka (BUR)
 Kartouzská kočka (CHA)
 Cornish rex (CRX)
 Kymerská kočka (CYM)
 Devon rex (DRX)
 Donský sphynx (DSP)
 Evropská krátkosrstá kočka (EUR)
 German rex (GRX)
 Japonský bobtail (JBT)
 Kurilský bobtail dlouhosrstý (KBL)
 Kurilský bobtail krátkosrstý (KBS)
 Korat (KOR)
 Manská kočka (MAN)
 Egyptská mau (MAU)
 Ocicat (OCI)
 Ruská modrá kočka (RUS)
 Singapura (SIN)
 Snowshoe (SNO)
 Sokoke (SOK)
 Somálská kočka (SOM)
 Sphynx (SPH)

 Skupina IV – Siamské a orientální kočky
 Balinéska (BAL)
 Orientální kočka dlouhosrstá (OLH)
 Orientální kočka krátkosrstá (OSH)
 Peterbald (PET)
 Siamská kočka (SIA)
 Seychelská kočka dlouhosrstá (SYL)
 Seychelská kočka krátkosrstá (SYS)

 Předběžně uznaná plemena
 LaPerm dlouhosrstý (LPL) – ve skupině II
 LaPerm krátkosrstý (LPS) – ve skupině II
 Selkirk rex dlouhosrstý (SRL) – ve skupině II
 Selkirk rex krátkosrstý (SRS) – ve skupině II
 Thajská kočka (THA) – ve skupině IV

 Domácí kočky
 Domácí kočka dlouhosrstá (HCL)
 Domácí kočka krátkosrstá (HCS)

Reference

Externí odkazy
 Oficiální webové stránky FIFe
 Sdružení chovatelů koček v České republice, český člen FIFe

Mezinárodní organizace
Kočka domácí


text:
Q: Work flow triggers for files and folders only I'm using this on: syntax to trigger a workflow when a file in a folder changes or a specific file changes. But for some reason, this is triggering also on any tag even though I tell it to a normal tags.
on:
  push:
    paths:
      - '.cicd/**'
      - '.github/workflows/cicd-sync.yaml'
      - 'cicd.yaml'

A: After many attempts at this, I have found the solution to my issue.
Here is how we got it to work
  push:
    paths:
      - '.cicd/**'
      - '.github/workflows/cicd-sync.yaml'
      - 'cicd.yaml'
    branches:
      - "**"
    ignore-tags:
      - '**'

redpajama_set_name: RedPajamaStackExchange


BRP is looking to Spark some new fun at the world's largest personal watercraft race, the IJSBA World Finals, and grow it into the world's largest Sea-Doo enthusiast event. The Sea-Doo events team will be adding some agents of fun to the 2013 IJSBA World Finals, taking place in Lake Havasu City, AZ, from October 9 to 13, by orchestrating numerous Sea-Doo related activities for Sea-Doo X-TEAM racers and enthusiasts alike. The Sea-Doo X-TEAM returns to Lake Havasu to defend numerous World Championships with a flood of world-class watercraft racers competing on the Sea-Doo RXP-X.
The IJSBA World Finals is the largest watercraft specific event in North America where the best racers from around the globe converge to compete for World Championships. The event takes place at Crazy Horse Campgrounds in Lake Havasu City, AZ and draws 15,000 spectators every year. BRP has been a long-time supporter of watercraft racing and the IJSBA World Finals and leads the watercraft industry in race specific support through the Sea-Doo X-TEAM Bounty racer contingency program and the Sea-Doo X-TEAM Promoter support program.
SEA-DOO SPARK SOME FUN ZONE – The Sea-Doo Spark Some Fun Zone will headline the IJSBA World Finals Performance Alley with a full display of the all new 2014 Sea-Doo Spark watercraft and Sea-Doo X-Series models.
#FINDYOURSPARK CONTEST – Sea-Doo fans who follow @BRPSeaDoo on Instagram and will be in Lake Havasu City, Arizona during the World Finals will have the opportunity to win a all new Sea-Doo Spark watercraft. North American Fans will be able to take a Instagram "selfie" picture with a Sea-Doo Spark at secret locations around Lake Havasu City from Wednesday, October 9 through Saturday, October 12. For full contest details visit www.sea-doo.com/onboard.
ULTIMATE SEA-DOO OWNERS RIDE III – The world's premier personal watercraft event will be joined by the premier Ultimate Sea-Doo Owners Ride III on Saturday, October 12. Sea-Doo enthusiasts can experience an action filled Sea-Doo weekend by experiencing one of the most beautiful, one-day leisure boating rides in North America, and watching the best PWC racers in the world compete for Pro championships on Sunday. The ride will depart from Site Six Launch ramp at 8:30 AM and travel up the Colorado River to Pirates Cove Resort for a sponsored lunch stop and exclusive VIP Sea-Doo Spark Demo Rides. Open to Sea-Doo owners, participants will get a special owners ride event t-shirt, food, and be eligible for Sea-Doo giveaways. On top of all this, they'll be the first to experience the incredibly accessible and fun Sea-Doo Spark. To register, visit seadoodemo.com.
SEA-DOO X-TEAM BOUNTY NIGHT AND DAY CHALLENGE INVITATIONAL – Select Sea-Doo racers (noted below) who have faired well during the 2013 season are being invited to compete in a special high-stakes competition aboard the benchmark of watercraft racing, the 2014 Sea-Doo RXP-X. This year the top invitees will compete on the World Finals course to post their single lap time during Friday afternoon's qualifying event. The top five qualifiers from Friday will be invited to compete Saturday night in the "Bounty under the Bridge" X-TEAM Slalom Challenge with the fastest time collecting $500 and the fastest three continuing on to the Sunday bounty final. The Sunday bounty final will see the fastest three Sea-Doo X-TEAM Bounty racers post their fastest single lap time on the new 2014 Sea-Doo RXP-X with the winner collecting another $500. If the same rider wins all three events (Friday, Saturday, and Sunday) that rider will receive a $500 bonus and be featured as talent in 2015 Sea-Doo photo/video shoot.
Qualifying will take place on Friday afternoon following races at World finals track.
Visit www.facebook.com/seadoo for the most up-to-date information regarding BRP's 2013 IJSBA World Finals activities.


In order to realize the full vision of 5G, service providers will need to connect hundreds of thousands of 5G small cells. As the industry compares the benefits of the different functional split options that next-gen RAN architectures could take, next-gen PON fiber solutions are quickly maturing, creating a compelling business case for using fiber networks to connect these 5G small cells. Explore the different 5G architectures from both a spectrum and radio split perspective to show which fiber access technologies are best suited for the various deployment scenarios.
Learning Objective #1: Attendees will explore the different 5G architectures from both a spectrum and radio split perspective to show which fiber access technologies are best suited for the various deployment scenarios.
Learning Objective #2: Attendees will learn which RAN model, in concert with converged fiber initiatives, could become an economic game changer and alter the future of enhanced 5G services.


You've probably heard it said that "hurt people hurt people," tending to inflict their hurt and pain on others around them. Past hurts can cause people to become defensive and self-protective; hurting others can become a vicious cycle.
At ZOE, we believe that God can help break that cycle. He offers His healing and hope. In fact, sometimes healing does not occur in the way we'd expect, in the counseling room or in the 'programs.' Many times, we see that healing begins in the most unlikely places.
Every week, the teachers at ZOE Learning Center in Thailand take students off campus to do charity work with the aim of training them to think outside of their pain and commit to helping others. Usually they go somewhere local but recently they took the students to a neighborhood farther away. Their mission, on this particular day, was to help a disabled man who, through his struggles, is trying to care for his teenage son.
The students cleaned his house, played music, and prayed for him.
Upon their return to ZOE, they were all so happy that they'd been able to help. They excitedly began planning for the next trip. As the ZOE teachers intentionally look for ways to teach the students to focus on others, they planned the following week to go and help an elderly lady in a different village.
One girl, who later could not stop thinking about the man they'd helped, bought something with her own money and asked her teacher to give it to the man to bless him.
People in pain and crisis often find themselves the focus of others' attention. They can get used to people asking how they're doing and whether they need anything. Our ZOE parents are so great at loving, hugging, and caring for children in pain and meeting them where they're at. But somewhere, in the midst of self-focus, it's also healthy to be able to steer them towards helping others in need because sometimes it is in the 'helping' that the 'healing' can occur.
One of the teachers shared that, "The opportunity to serve others actually helps all of us." At ZOE, we recognize that "hurt people can hurt people" but we also see how sharing in other people's pain can help some begin to heal. Relief from pain starts to come as they help others who are also struggling, enabling them bit by bit to let go of some of their hurts and begin their healing process.


text:
NSS issues apology to staff and Gypsy/Traveller communities
A post by NSS on 18 October 2018
NHS National Services Scotland (NSS) apologises unreservedly for any offence that has been caused to the Gypsy/Traveller communities following an internal staff memo. We recognised that we had made a mistake and immediately tried to retract the message, and issued an apology.
An email detailing the weekend closure of the gates at our Gyle Square site was issued to all staff on 31 August and made specific mention of the travelling community.
We deeply regret the content of that email which did not meet our required standards around equality, diversity and inclusion and is not reflective of our views as an organisation. An apology was issued very quickly and additional training has been put in place.
We are seeking to engage with the Gypsy/Traveller communities to discuss and enhance our understanding of the issues that they face.
As an organisation we are pleased that our staff feel able to raise concerns, and we took immediate action to address these. NSS aims to be a leading organisation for promoting equality, diversity and inclusion and, as such, it is mandatory for all staff to undertake Equality and Diversity training every three years. We have very successful staff equality networks who help shape and develop equality approaches for NSS, and we will continue to build on this.
However, as an organisation we will learn lessons from this situation to ensure that this does not happen again.
More from NSS


The truck is one of the stars of the show, just seven months after its world launch in Germany.
The new 15-litre MAN TGX-D38 has been unveiled at the Brisbane Truck Show.
The new MAN TGX-D38 prime mover has made its first appearance in Australia ahead of its official release here in late 2015.
MAN says the flagship of its fleet has been optimised for Australian long distance B-double and heavy duty applications, with factory supported local research and development input.
The new MAN is one of the stars of the 2015 Brisbane Truck Show, just seven months after its world launch at the IAA Trade Fair in Hanover, Germany.
"The new MAN TGX-D38 boasts a raft of new technologies, outstanding performance, a new level of driving dynamics and comfort, along with low ownership costs," MAN Truck and Bus Australia general manager Mark Mello says.
"European trucks are designed and built to relentlessly ply long distances across many terrains in all weather conditions. We believe these qualities stand us in good stead for operators requiring B-double and heavy duty applications in Australia."
Featuring what MAN says are a number of technical firsts, the 15.2 litre six cylinder engine produces 560hp (411kW) and 1,991 ft-lb (2700Nm) of torque.
MAN says the Euro 6 compliant engine consumes up to 3 percent less fuel than an equivalent 540hp Euro 5 engine, due to its high-pressure common rail fuel system that injects fuel into the cylinders at up to 2,500 bar, "resulting in finer atomisation and lower particulate levels".
Other emissions-reducing technologies include a diesel particulate filter, selective catalytic reduction with AdBlue injection, plus a combination of cooled, external high-pressure exhaust gas recirculation and a CRT closed particulate filter system.
An interesting engine characteristic is the lower RPM torque delivery, from 930 to 1,350rpm.
MAN says the new engine is one of the lightest in its class, weighing 160kg less than its V8 predecessor thanks to its aluminium flywheel housing, lightweight compacted graphite iron engine block and cylinder head, plastic sump and rocker cover.
"The comprehensive use of lightweight, high-strength materials throughout has resulted in tare weight advantages against its competitors," MAN says.
"Operators will reap the benefits of lower running costs thanks to the commonality of parts with the D20/D26 engines currently in use throughout Australia, and oil drain intervals of up to 100,000kms."


This week-long STEM (Science, Technology, Engineering, and Math) conference is designed to help you and your council integrate STEM programs and activities into your current programming. There will be many opportunities to experience hands-on activities to share with your units; these activities will be accompanied by discussion on how to implement, modify, and incorporate them in and for your programs. Excitement, roadblocks, funding, recruitment, training, resources, and tracking will be topics addressed by this conference.