text:
Juicio Final (1995) (Spanish for "Final Judgement" 1995) was the name used for two major professional wrestling shows,  scripted and produced by Consejo Mundial de Lucha Libre (CMLL). The shows took place on December 1 and December 15, 1995 in Arena México, Mexico City, Mexico. The shows served as the year-end finale for CMLL before Arena México, CMLL's main venue, closed down for the winter for renovations and to host  Circo Atayde . The shows replaced the regular Super Viernes ("Super Friday") shows held by CMLL since the mid-1930s. This was the seventh year that CMLL used the name "Jucio Final" for their year-end show, a name they would use on a regular basis going forward, originally for their year even events but later on held at other points in the year.

The December 1 main event was originally scheduled to be a Luchas de Apuestas, or bet match, where both Shocker and Kahoz were supposed to put their mask on the line. Shocker came down with strep throat prior to the show and the scheduled match had to be replaced  with a three way Lucha de Apuestas match between Bestia Salvaje, El Satánico and Héctor Garza. In the replacement main event Garza ended up defeating Bestia Salvaje, forcing Bestia Salvaje to have all his hair shaved off. The December 1 show included three additional matches, including Negro Casas defeating El Hijo del Santo to win the vacant NWA World Welterweight Championship.

The original mask vs. mask match ended up taking place on December 15 instead, with Shocker defeating Kahoz, forcing Kahoz to unmask and reveal his real name, Alberto Leonel Hernández López, as per lucha libre traditions. The main event of the December 15 show saw Héctor Garza defeat El Satánico forcing Satánico to have his hair shaved off. The show included a total of six matches, including Apolo Dantés successfully defending the CMLL World Heavyweight Championship against Vampiro.

Production

Background
For decades Arena México, the main venue of the Mexican professional wrestling promotion Consejo Mundial de Lucha Libre (CMLL), would close down in early December and remain closed into either January or February to allow for renovations as well as letting Circo Atayde occupy the space over the holidays. As a result CMLL usually held a "end of the year" supercard show on the first or second Friday of December in lieu of their normal Super Viernes show. 1955 was the first year where CMLL used the name "El Juicio Final" ("The Final Judgement") for their year-end supershow. It is no longer an annually recurring show, but instead held intermittently sometimes several years apart and not always in the same month of the year either. All Juicio Final shows have been held in Arena México in Mexico City, Mexico which is CMLL's main venue, its "home".

Storylines

The 1995 Juicio Final shows featured twelve professional wrestling matches scripted by CMLL with some wrestlers involved in scripted feuds. The wrestlers portray either heels (referred to as rudos in Mexico, those that play the part of the "bad guys") or faces (técnicos in Mexico, the "good guy" characters) as they perform.

In October 1995, CMLL programmed young técnicos Shocker against the experienced veteran Kahoz as part of an ongoing storyline to elevate Shocker up the ranks of CMLL. The two found themselves on opposite sides of several matches during late 1995, often with Kahoz unmasking his young rival, or cheating to win. CMLL announced a Lucha de Apuestas, or mask vs. mask match, between the two for the main event of the 1995 Juicio Final show.

Mexican professional wrestling promotion Promociones Mexicana de Lucha Libre (PROMELL) had control of the Mexican National Tag Team Championship in late 1995, with the champions Fuerza Guerrera and Juventud Guerrera agreeing to work for CMLL, bringing the championship with them. CMLL promoted the first match of the December 1 match as a Mexican National Tag Team Championship match with the Guerreras defending against El Dandy and La Fiera. The father/son team had a falling out prior to the Juicio Final show, opting to return to work for AAA instead.

In mid-1995, then-reigning NWA World Welterweight Champion Misterioso left AAA to work for rival promotion AAA. CMLL announced the championship vacant on June 19, 1995 as a result of Misterioso's defection. The promotion held a 16-man single elimination tournament to determine the next champion, holding the first two parts of the tournament on November 17 and 24, with the final match set for the 1995 Juicio Final show.

NWA World Welterweight Championship tournament brackets

Event
On the day of the December 1 Juicio Final, Shocker was declared medically unfit to wrestle due to a severe case of strep throat]], forcing CMLL to instead hold a three way Lucha de Apuestas match between El Satánico]], Héctor Garza and Bestia Salvaje]], a match originally scheduled for December 15, instead. The change to the main event was not announced until after the show had started.

For the opening match Fuerza Guerrera was teamed up with PROMELL co-founder Blue Panther for the match, a match that up until that day had been promoted a being for the Mexican National Tag Team Championship, but come match time the championship belts were not seen nor referred to by any officials. Panther and Guerrera defeated El Dandy and La Fiera. The third match of the night was the final match of a tournament for the vacant NWA World Welterweight Championship, in which Negro Casas defeated long time tag team partner, turned rival, El Hijo del Santo to become the 34th overall champion.

The main attraction of the show was El Satánico, Héctor Garza and Bestia Salvaje all risking their hair on the outcome of the match. CMLL had booked a mini tournament consisting of several singles matches, allowing the first wrestler to win two matches to not actually have to risk his hair in the final match. El Satánico defeated Bestia Salvaje and then Héctor Garza in back-to-back matches, followed by Garza winning the third and final match. As a result of his loss Bestia Salvaje was forced to have his hair shaved off, although he only had part of it shaved off, leading to loud disapproval from the crowd.

The second Juicio Final show, on December 15, reportedly drew 6,000 spectators for their 6 match show, with the last three matches being shown on Televisa the following day. In the fourth match of the night Shocker was finally able to face off against his veteran rival, defeating Kahoz in two falls to win the match. After the match Kahoz was forced to remove his mask and tell the audience his real name, Alberto Leonel Hernández López, as he stood in the middle of the ring. After unmasking it was confirmed that it was the same wrestler who had previously been known as "Astro Rey".

In the semi-main event Apolo Dantés successfully defended the CMLL World Heavyweight Championship against Vampiro, winning the first and the third fall of the match. For the main event, the two wrestlers who survived the main event of the December 1 Juicio Final, Héctor Garza and El Satánico faced off under Lucha de Apuestas rules. Garza won the second and third fall of the match, in what was called a "star making performance", with El Satánico being shaved completely bald after the match as per the match stipulations.

Results December 1, 1995

Results December 15, 1995

References

1995 in Mexico
1995 in professional wrestling
CMLL Juicio Final


text:
@interface PodsDummy_MWPhotoBrowser_iOS7_0 : NSObject
@end
@implementation PodsDummy_MWPhotoBrowser_iOS7_0
@end

redpajama_set_name: RedPajamaGithub


text:
package org.apache.hadoop.hbase.regionserver.metrics;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hbase.io.hfile.HFile;
import org.apache.hadoop.hbase.metrics.HBaseInfo;
import org.apache.hadoop.hbase.metrics.MetricsRate;
import org.apache.hadoop.hbase.metrics.PersistentMetricsTimeVaryingRate;
import org.apache.hadoop.hbase.regionserver.wal.HLog;
import org.apache.hadoop.hbase.util.Pair;
import org.apache.hadoop.hbase.util.Strings;
import org.apache.hadoop.metrics.ContextFactory;
import org.apache.hadoop.metrics.MetricsContext;
import org.apache.hadoop.metrics.MetricsRecord;
import org.apache.hadoop.metrics.MetricsUtil;
import org.apache.hadoop.metrics.Updater;
import org.apache.hadoop.metrics.jvm.JvmMetrics;
import org.apache.hadoop.metrics.util.MetricsIntValue;
import org.apache.hadoop.metrics.util.MetricsLongValue;
import org.apache.hadoop.metrics.util.MetricsRegistry;
import org.apache.hadoop.metrics.util.MetricsTimeVaryingRate;
import org.apache.hadoop.util.StringUtils;

import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryUsage;
import java.util.List;

/**
 * This class is for maintaining the various regionserver statistics
 * and publishing them through the metrics interfaces.
 * <p>
 * This class has a number of metrics variables that are publicly accessible;
 * these variables (objects) have methods to update their values.
 */
public class RegionServerMetrics implements Updater {
  @SuppressWarnings({"FieldCanBeLocal"})
  private final Log LOG = LogFactory.getLog(this.getClass());
  private final MetricsRecord metricsRecord;
  private long lastUpdate = System.currentTimeMillis();
  private long lastExtUpdate = System.currentTimeMillis();
  private long extendedPeriod = 0;
  private static final int MB = 1024*1024;
  private MetricsRegistry registry = new MetricsRegistry();
  private final RegionServerStatistics statistics;

  public final MetricsTimeVaryingRate atomicIncrementTime =
      new MetricsTimeVaryingRate("atomicIncrementTime", registry);

  /**
   * Count of regions carried by this regionserver
   */
  public final MetricsIntValue regions =
    new MetricsIntValue("regions", registry);

  /**
   * Block cache size.
   */
  public final MetricsLongValue blockCacheSize = new MetricsLongValue("blockCacheSize", registry);

  /**
   * Block cache free size.
   */
  public final MetricsLongValue blockCacheFree = new MetricsLongValue("blockCacheFree", registry);

  /**
   * Block cache item count.
   */
  public final MetricsLongValue blockCacheCount = new MetricsLongValue("blockCacheCount", registry);

  /**
   * Block cache hit count.
   */
  public final MetricsLongValue blockCacheHitCount = new MetricsLongValue("blockCacheHitCount", registry);

  /**
   * Block cache miss count.
   */
  public final MetricsLongValue blockCacheMissCount = new MetricsLongValue("blockCacheMissCount", registry);

  /**
   * Block cache evict count.
   */
  public final MetricsLongValue blockCacheEvictedCount = new MetricsLongValue("blockCacheEvictedCount", registry);

  /**
   * Block hit ratio.
   */
  public final MetricsIntValue blockCacheHitRatio = new MetricsIntValue("blockCacheHitRatio", registry);

  /**
   * Block hit caching ratio.  This only includes the requests to the block
   * cache where caching was turned on.  See HBASE-2253.
   */
  public final MetricsIntValue blockCacheHitCachingRatio = new MetricsIntValue("blockCacheHitCachingRatio", registry);

  /** Block hit ratio for past N periods. */
  public final MetricsIntValue blockCacheHitRatioPastNPeriods = new MetricsIntValue("blockCacheHitRatioPastNPeriods", registry);

  /** Block hit caching ratio for past N periods */
  public final MetricsIntValue blockCacheHitCachingRatioPastNPeriods = new MetricsIntValue("blockCacheHitCachingRatioPastNPeriods", registry);

  /*
   * Count of requests to the regionservers since last call to metrics update
   */
  public final MetricsRate requests = new MetricsRate("requests", registry);

  /**
   * Count of stores open on the regionserver.
   */
  public final MetricsIntValue stores = new MetricsIntValue("stores", registry);

  /**
   * Count of storefiles open on the regionserver.
   */
  public final MetricsIntValue storefiles = new MetricsIntValue("storefiles", registry);

  /**
   * Count of read requests
   */
  public final MetricsLongValue readRequestsCount = new MetricsLongValue("readRequestsCount", registry);

  /**
   * Count of write requests
   */
  public final MetricsLongValue writeRequestsCount = new MetricsLongValue("writeRequestsCount", registry);

  /**
   */
  public final MetricsIntValue storefileIndexSizeMB =
    new MetricsIntValue("storefileIndexSizeMB", registry);

  /** The total size of block index root levels in this regionserver in KB. */
  public final MetricsIntValue rootIndexSizeKB =
    new MetricsIntValue("rootIndexSizeKB", registry);

  /** Total size of all block indexes (not necessarily loaded in memory) */
  public final MetricsIntValue totalStaticIndexSizeKB =
    new MetricsIntValue("totalStaticIndexSizeKB", registry);

  /** Total size of all Bloom filters (not necessarily loaded in memory) */
  public final MetricsIntValue totalStaticBloomSizeKB =
    new MetricsIntValue("totalStaticBloomSizeKB", registry);

  /**
   * HDFS blocks locality index
   */
  public final MetricsIntValue hdfsBlocksLocalityIndex =
    new MetricsIntValue("hdfsBlocksLocalityIndex", registry);

  /**
   * Sum of all the memstore sizes in this regionserver in MB
   */
  public final MetricsIntValue memstoreSizeMB =
    new MetricsIntValue("memstoreSizeMB", registry);

  /**
   * Size of the compaction queue.
   */
  public final MetricsIntValue compactionQueueSize =
    new MetricsIntValue("compactionQueueSize", registry);

  /**
   * Size of the flush queue.
   */
  public final MetricsIntValue flushQueueSize =
    new MetricsIntValue("flushQueueSize", registry);

  /**
   * filesystem sequential read latency
   */
  public final MetricsTimeVaryingRate fsReadLatency =
    new MetricsTimeVaryingRate("fsReadLatency", registry);

  /**
   * filesystem positional read latency
   */
  public final MetricsTimeVaryingRate fsPreadLatency =
    new MetricsTimeVaryingRate("fsPreadLatency", registry);

  /**
   * filesystem write latency
   */
  public final MetricsTimeVaryingRate fsWriteLatency =
    new MetricsTimeVaryingRate("fsWriteLatency", registry);

  /**
   * size (in bytes) of data in HLog append calls
   */
  public final MetricsTimeVaryingRate fsWriteSize =
    new MetricsTimeVaryingRate("fsWriteSize", registry);

  /**
   * filesystem sync latency
   */
  public final MetricsTimeVaryingRate fsSyncLatency =
    new MetricsTimeVaryingRate("fsSyncLatency", registry);

  /**
   * time each scheduled compaction takes
   */
  protected final PersistentMetricsTimeVaryingRate compactionTime =
    new PersistentMetricsTimeVaryingRate("compactionTime", registry);

  protected final PersistentMetricsTimeVaryingRate compactionSize =
    new PersistentMetricsTimeVaryingRate("compactionSize", registry);

  /**
   * time each scheduled flush takes
   */
  protected final PersistentMetricsTimeVaryingRate flushTime =
    new PersistentMetricsTimeVaryingRate("flushTime", registry);

  protected final PersistentMetricsTimeVaryingRate flushSize =
    new PersistentMetricsTimeVaryingRate("flushSize", registry);

  public final MetricsLongValue slowHLogAppendCount =
      new MetricsLongValue("slowHLogAppendCount", registry);

  public final MetricsTimeVaryingRate slowHLogAppendTime =
      new MetricsTimeVaryingRate("slowHLogAppendTime", registry);

  public RegionServerMetrics() {
    MetricsContext context = MetricsUtil.getContext("hbase");
    metricsRecord = MetricsUtil.createRecord(context, "regionserver");
    String name = Thread.currentThread().getName();
    metricsRecord.setTag("RegionServer", name);
    context.registerUpdater(this);
    // Add jvmmetrics.
    JvmMetrics.init("RegionServer", name);
    // Add Hbase Info metrics
    HBaseInfo.init();

    // export for JMX
    statistics = new RegionServerStatistics(this.registry, name);

    // get custom attributes
    try {
      Object m = ContextFactory.getFactory().getAttribute("hbase.extendedperiod");
      if (m instanceof String) {
        this.extendedPeriod = Long.parseLong((String) m)*1000;
      }
    } catch (IOException ioe) {
      LOG.info("Couldn't load ContextFactory for Metrics config info");
    }

    LOG.info("Initialized");
  }

  public void shutdown() {
    if (statistics != null)
      statistics.shutdown();
  }

  /**
   * Since this object is a registered updater, this method will be called
   * periodically, e.g. every 5 seconds.
   * @param caller the metrics context that this responsible for calling us
   */
  public void doUpdates(MetricsContext caller) {
    synchronized (this) {
      this.lastUpdate = System.currentTimeMillis();

      // has the extended period for long-living stats elapsed?
      if (this.extendedPeriod > 0 &&
          this.lastUpdate - this.lastExtUpdate >= this.extendedPeriod) {
        this.lastExtUpdate = this.lastUpdate;
        this.compactionTime.resetMinMaxAvg();
        this.compactionSize.resetMinMaxAvg();
        this.flushTime.resetMinMaxAvg();
        this.flushSize.resetMinMaxAvg();
        this.resetAllMinMax();
      }

      this.stores.pushMetric(this.metricsRecord);
      this.storefiles.pushMetric(this.metricsRecord);
      this.storefileIndexSizeMB.pushMetric(this.metricsRecord);
      this.rootIndexSizeKB.pushMetric(this.metricsRecord);
      this.totalStaticIndexSizeKB.pushMetric(this.metricsRecord);
      this.totalStaticBloomSizeKB.pushMetric(this.metricsRecord);
      this.memstoreSizeMB.pushMetric(this.metricsRecord);
      this.readRequestsCount.pushMetric(this.metricsRecord);
      this.writeRequestsCount.pushMetric(this.metricsRecord);
      this.regions.pushMetric(this.metricsRecord);
      this.requests.pushMetric(this.metricsRecord);
      this.compactionQueueSize.pushMetric(this.metricsRecord);
      this.flushQueueSize.pushMetric(this.metricsRecord);
      this.blockCacheSize.pushMetric(this.metricsRecord);
      this.blockCacheFree.pushMetric(this.metricsRecord);
      this.blockCacheCount.pushMetric(this.metricsRecord);
      this.blockCacheHitCount.pushMetric(this.metricsRecord);
      this.blockCacheMissCount.pushMetric(this.metricsRecord);
      this.blockCacheEvictedCount.pushMetric(this.metricsRecord);
      this.blockCacheHitRatio.pushMetric(this.metricsRecord);
      this.blockCacheHitCachingRatio.pushMetric(this.metricsRecord);
      this.hdfsBlocksLocalityIndex.pushMetric(this.metricsRecord);
      this.blockCacheHitRatioPastNPeriods.pushMetric(this.metricsRecord);
      this.blockCacheHitCachingRatioPastNPeriods.pushMetric(this.metricsRecord);

      // Mix in HFile and HLog metrics
      // Be careful. Here is code for MTVR from up in hadoop:
      // public synchronized void inc(final int numOps, final long time) {
      //   currentData.numOperations += numOps;
      //   currentData.time += time;
      //   long timePerOps = time/numOps;
      //    minMax.update(timePerOps);
      // }
      // Means you can't pass a numOps of zero or get a ArithmeticException / by zero.
      // HLog metrics
      addHLogMetric(HLog.getWriteTime(), this.fsWriteLatency);
      addHLogMetric(HLog.getWriteSize(), this.fsWriteSize);
      addHLogMetric(HLog.getSyncTime(), this.fsSyncLatency);
      addHLogMetric(HLog.getSlowAppendTime(), this.slowHLogAppendTime);
      this.slowHLogAppendCount.set(HLog.getSlowAppendCount());
      // HFile metrics, sequential reads
      int ops = HFile.getReadOps();
      if (ops != 0) this.fsReadLatency.inc(ops, HFile.getReadTimeMs());
      // HFile metrics, positional reads
      ops = HFile.getPreadOps();
      if (ops != 0) this.fsPreadLatency.inc(ops, HFile.getPreadTimeMs());
      /* NOTE: removed HFile write latency.  2 reasons:
       * 1) Mixing HLog latencies are far higher priority since they're
       *      on-demand and HFile is used in background (compact/flush)
       * 2) HFile metrics are being handled at a higher level
       *      by compaction & flush metrics.
       */

      // push the result
      this.fsReadLatency.pushMetric(this.metricsRecord);
      this.fsWriteLatency.pushMetric(this.metricsRecord);
      this.fsWriteSize.pushMetric(this.metricsRecord);
      this.fsSyncLatency.pushMetric(this.metricsRecord);
      this.compactionTime.pushMetric(this.metricsRecord);
      this.compactionSize.pushMetric(this.metricsRecord);
      this.flushTime.pushMetric(this.metricsRecord);
      this.flushSize.pushMetric(this.metricsRecord);
      this.slowHLogAppendCount.pushMetric(this.metricsRecord);
    }
    this.metricsRecord.update();
  }

  private void addHLogMetric(HLog.Metric logMetric,
      MetricsTimeVaryingRate hadoopMetric) {
    if (logMetric.count > 0)
      hadoopMetric.inc(logMetric.min);
    if (logMetric.count > 1)
      hadoopMetric.inc(logMetric.max);
    if (logMetric.count > 2) {
      int ops = logMetric.count - 2;
      hadoopMetric.inc(ops, logMetric.total - logMetric.max - logMetric.min);
    }
  }

  public void resetAllMinMax() {
    this.atomicIncrementTime.resetMinMax();
    this.fsReadLatency.resetMinMax();
    this.fsWriteLatency.resetMinMax();
    this.fsWriteSize.resetMinMax();
    this.fsSyncLatency.resetMinMax();
    this.slowHLogAppendTime.resetMinMax();
  }

  /**
   * @return Count of requests.
   */
  public float getRequests() {
    return this.requests.getPreviousIntervalValue();
  }

  /**
   * @param time time that compaction took
   * @param size bytesize of storefiles in the compaction
   */
  public synchronized void addCompaction(long time, long size) {
    this.compactionTime.inc(time);
    this.compactionSize.inc(size);
  }

  /**
   * @param flushes history in <time, size>
   */
  public synchronized void addFlush(final List<Pair<Long,Long>> flushes) {
    for (Pair<Long,Long> f : flushes) {
      this.flushTime.inc(f.getFirst());
      this.flushSize.inc(f.getSecond());
    }
  }

  /**
   * @param inc How much to add to requests.
   */
  public void incrementRequests(final int inc) {
    this.requests.inc(inc);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb = Strings.appendKeyValue(sb, "requestsPerSecond", Integer
        .valueOf((int) this.requests.getPreviousIntervalValue()));
    sb = Strings.appendKeyValue(sb, "numberOfOnlineRegions",
      Integer.valueOf(this.regions.get()));
    sb = Strings.appendKeyValue(sb, "numberOfStores",
      Integer.valueOf(this.stores.get()));
    sb = Strings.appendKeyValue(sb, "numberOfStorefiles",
      Integer.valueOf(this.storefiles.get()));
    sb = Strings.appendKeyValue(sb, this.storefileIndexSizeMB.getName(),
      Integer.valueOf(this.storefileIndexSizeMB.get()));
    sb = Strings.appendKeyValue(sb, "rootIndexSizeKB",
        Integer.valueOf(this.rootIndexSizeKB.get()));
    sb = Strings.appendKeyValue(sb, "totalStaticIndexSizeKB",
        Integer.valueOf(this.totalStaticIndexSizeKB.get()));
    sb = Strings.appendKeyValue(sb, "totalStaticBloomSizeKB",
        Integer.valueOf(this.totalStaticBloomSizeKB.get()));
    sb = Strings.appendKeyValue(sb, this.memstoreSizeMB.getName(),
      Integer.valueOf(this.memstoreSizeMB.get()));
    sb = Strings.appendKeyValue(sb, "readRequestsCount",
        Long.valueOf(this.readRequestsCount.get()));
    sb = Strings.appendKeyValue(sb, "writeRequestsCount",
        Long.valueOf(this.writeRequestsCount.get()));
    sb = Strings.appendKeyValue(sb, "compactionQueueSize",
      Integer.valueOf(this.compactionQueueSize.get()));
    sb = Strings.appendKeyValue(sb, "flushQueueSize",
      Integer.valueOf(this.flushQueueSize.get()));
    // Duplicate from jvmmetrics because metrics are private there so
    // inaccessible.
    MemoryUsage memory =
      ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();
    sb = Strings.appendKeyValue(sb, "usedHeapMB",
      Long.valueOf(memory.getUsed()/MB));
    sb = Strings.appendKeyValue(sb, "maxHeapMB",
      Long.valueOf(memory.getMax()/MB));
    sb = Strings.appendKeyValue(sb, this.blockCacheSize.getName()+"MB",
    	StringUtils.limitDecimalTo2((float)this.blockCacheSize.get()/MB));
    sb = Strings.appendKeyValue(sb, this.blockCacheFree.getName()+"MB",
    	StringUtils.limitDecimalTo2((float)this.blockCacheFree.get()/MB));
    sb = Strings.appendKeyValue(sb, this.blockCacheCount.getName(),
        Long.valueOf(this.blockCacheCount.get()));
    sb = Strings.appendKeyValue(sb, this.blockCacheHitCount.getName(),
        Long.valueOf(this.blockCacheHitCount.get()));
    sb = Strings.appendKeyValue(sb, this.blockCacheMissCount.getName(),
        Long.valueOf(this.blockCacheMissCount.get()));
    sb = Strings.appendKeyValue(sb, this.blockCacheEvictedCount.getName(),
        Long.valueOf(this.blockCacheEvictedCount.get()));
    sb = Strings.appendKeyValue(sb, this.blockCacheHitRatio.getName(),
        Long.valueOf(this.blockCacheHitRatio.get())+"%");
    sb = Strings.appendKeyValue(sb, this.blockCacheHitCachingRatio.getName(),
        Long.valueOf(this.blockCacheHitCachingRatio.get())+"%");
    sb = Strings.appendKeyValue(sb, this.hdfsBlocksLocalityIndex.getName(),
        Long.valueOf(this.hdfsBlocksLocalityIndex.get()));
    sb = Strings.appendKeyValue(sb, "slowHLogAppendCount",
        Long.valueOf(this.slowHLogAppendCount.get()));
    return sb.toString();
  }
}


A fun video i made a couple of months ago to celebrate CIID getting the funding for next (now this) years interaction design program!
For the last few days i have been designing and making welcome packs for my service to use as part of my experience prototyping which took place on Monday and Tuesday. I will post the video for the experience prototyping once it has been compressed enough so it can go on vimeo. In the mean time here are some photos…..oh and i should also mention my service is called echo!
Packaging straight from the printers!
This week it has been back to final project work after our amazing industry visits (documentation coming soon) I have been reviewing my feedback from my midway review and making an initial service blueprint. This has allowed me to focus and establish the key user interactions, the role of the service provider and the touch points of the service that need to be designed for my experience prototyping and my end communication. I have also come up with a name for the service and started working on the branding. Currently i am working on designing some of the touch points needed for experience prototyping next week, so when i have finished then i will also reveal the name!


The stock exchanges of Latin America ended on Monday with strong gains a session of divided spirits after knowing discouraging data of the perspective of growth of the Mexican economy and the Chilean CPI, but with positivism for Brazil.
Investors were hesitant due to a series of economic data from some of the main regional markets such as Mexico and Chile, although these finally failed to weigh down the results.
On the one hand, BBVA Bancomer downgraded on Monday the prospect of economic growth expected this year for Mexico from 2% of GDP to 1.4% due to the "weakening" of Mexican exports.
While in Chile it was known that the Consumer Price Index (CPI) registered an increase of 0.5 last March, above the forecasts of the market and the experts.
Brazil led the regional gains in chaining its third rise thanks, in part, to the favorable climate in Congress so that the Government can take forward the pension and retirement reforms.
On the other hand, Wall Street, its main reference, remains in suspense for the publication of key corporate data this week and ended mixed once the Dow Jones fell 0.32% to 26,341.02 integers.
The selective S & P 500 rose 0.10% and reached 2,895.77 units and the Nasdaq composite index, which brings together the main technology market, earned 0.19% and dismissed the day at 7,953.88 points.
Thus things in the economic plane, the stock market of Sao Paulo advanced a 0,27% and its Ibovespa index stood at 97,369 points at the end of a day in which they were negotiated 11,972 million reals (about 3,110 million dollars) .
The main indicator of the Mexican Stock Exchange, the Price and Quotation Index, added 0.99% and ended at 45,436.28 whole, after movements for 17.005 million Mexican pesos (about 896.8 million dollars).
The S & P Merval index of the Buenos Aires corro increased 1.27% to 33,080.87 units, after making operations for 594.2 million Argentine pesos (13.3 million dollars).
The wheel of Santiago had a marginal advance of 0.38% in its main index, the IPSA, which ended at 5,274.72 points with an amount of shares that totaled 135,773,745,832 Chilean pesos (about 204.47 million dollars).
The Colombian parquet increased by 1.03% in its capitalization index (Colcap), which ended in 1,616.35 units, after movements 160,356 million Colombian pesos (about 49.7 million dollars).
The S & P / BVL Peru General Index closed at 21,436.43 whole, after recording a rise of 0.32%, in a session in which 26,037,351 soles (about 7,896,088 dollars) were negotiated.
The corro of Montevideo rose 0.02% in its Global Bonds index, which stood at 112.33 units after a sale of 63,606,559 Uruguayan pesos (about 1,884,359 dollars).


text:
Q: How to export function from app.js and import it from another js-file? I'm setting up a new server with node js and the framework express (Version 4.16). I want to route my Rest-Endpoints. In my route.js-file i want to call a function from app.js(my Server), but getting a Typeerror where the function, that i want to call from another file, is not a function.
Error:
TypeError: callFunction.getDataFromDb is not a function
at C:\Users\---\WebstormProjects\pwa_node_server\routes\recipes.js:7:18
    at Layer.handle [as handle_request] (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\route.js:137:13)
    at Route.dispatch (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\route.js:112:3)
    at Layer.handle [as handle_request] (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\layer.js:95:5)
    at C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\index.js:281:22
    at Function.process_params (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\index.js:275:10)
    at Function.handle (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\index.js:174:3)
    at router (C:\Users\---\WebstormProjects\pwa_node_server\node_modules\express\lib\router\index.js:47:12)

My server:
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var axios = require('axios');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var recipesRouter = require('./routes/recipes');

var cors = require('cors');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({extended: false}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(cors({credentials: true, origin: true}));

app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/recipes', recipesRouter);
// app.use('/poste-dein-rezept', indexRouter);

// catch 404 and forward to error handler
app.use(function (req, res, next) {
    console.log("catch404");
    next(createError(404));
});

// error handler
app.use(function (err, req, res, next) {
    // set locals, only providing error in development
    res.locals.message = err.message;
    res.locals.error = req.app.get('env') === 'development' ? err : {};

    // render the error page
    res.status(err.status || 500);
    res.render('error');
});

var getDataFromDb = function (res) { // This function to call in another file

};

module.export = {
  getDataFromDb
};
module.exports = app;

My route-file:
var express = require('express');
========
var router = express.Router();
var callFunction = require('../app');

router.get('/', function(req, res, next) {
        console.log('Recipes-Endpoint received Request');
    callFunction.getDataFromDb(res);
});
module.exports = router;

I just want to call a function from another file.

A: You're using module.export. The Correct property name is module.exports, which you are also using.
One way to solve this is:
app.getDataFromDb = getDataFromDb;
module.exports = app;

redpajama_set_name: RedPajamaStackExchange


TV Tacoma is conducting interviews with members of various neighborhood councils. The chair of the North End Neighborhood Council (NENC) Jonathan Phillips asked that I appear at the interview for the NENC. I don't know what to expect but it should be interesting.
I will be on the TV show "Across the Fence" with other neighborhood council members including Marty Campbell and others.
Sundays – 5 a.m. & 1 p.m.
by NineInchNachos on 12/13/2007 @ 12:38pm can somebody point a cellphone camera at a tv & upload this to the web? I don't have cable.
by Erik on 12/13/2007 @ 4:25pm Just got back. It went pretty well. A 13 minute segment with another neighborhood person.
I was able to say the word "strip mall" at least once I think. I emphasized how the best part of Proctor was now illegal to build while the worst part (strip malls) legal to build.
I think it replays in January. I will try to get the DVD.
I saw Marty Campbell in the "green room."


Failures are never good, but the worst place is in the last stage of the approach—especially when you can't do anything to fix it. Ride along as John Krug presents a scenario based on a real situation that happened to him. Nothing is off limits when the stuff hits the fan.


text:
Q: How to stop DATEDIF calculation when Status column equals closed I'm working on a list in SharePoin 2010.
I need to know how long a job has been open before it glot closed. I also need it to count how many days it has been open if it hasn't been closed yet.
This formula counts how many days it has been since it opened:
=DATEDIF([Date Raised],[Todays Date],"d")

and this is what I had in mind to stop the count when it got closed
=DATEDIF(([Status]="Open")[Date Raised],[Todays Date],"d")

The idea being that if the status = open, then count the days.
This is obviously incorrect as I get an error message informing me so.
How do I get it to work?

A: Sharepoint calculated fields are close to EXCEL formulas, so I guess the IF function will work.
something like this.. (Haven't tried it)
=IF([Status]="Open",DATEDIF([Date Raised],[Todays Date],"d"),"")

A:
I also need it to count how many days it has been open if it hasn't been closed yet.

Please remind that formulas are only evaluated when the item has been changed. The formula posted by Burhuss should work initialy but the value will not change over time (as long as the item is not being edited).
You might want to take a JS or Workflow approach here.


What is the Best Kind of Paint for Me?
If you are just starting out, just remember that the waxed based paints are very similar. If you like one brand you are likely to like the others. Pick your favorite colors from each brand. The Glycerin paints vary a little more in consistency, so talk with your friends, look at demos online or give us a call.
A lot of people keep different styles of paint to use in their kit for different reasons since some brands work best for bases, while others rock out in the line work department. Sometimes you may be dying for a color that is so amazing even though it might be a little more difficult to use. Some brands consistency varies by color too. There is a lot of trial and error when you are a face painter.
With more brands and more competition the quality of face paint should keep improving over the years, so keep your eyes out for more amazing products to come!
There are eight types of face paint that we carry. Below are some charts and bits of important info about each style, please leave comments with any of your own input!
Glycerin based paints are generally softer in the container.
They load more quickly and thickly on your sponge or brush.
They dry slower, and because of this they are ideal for dry blending and wet blending with the sponge or brush.
They can make small brush detail work more difficult since they usually load thickly, though most FAB regular colors seems to work really well for details. With practice you can make it happen with all the brands.
They may rub off easier than wax based paints if you touch them a lot.
You can set them with translucent powder to increase their durability, though you don't have to.
They work as great bases for adding decorative powders on top, and for holding glitter.
They tend to feel softer and more flexible on the skin than wax based paints.
Wax based paints are generally more firm in the cake. Though they vary by color from being like a soft clay to being dry and brittle.
They load quickly, but you get an opaque yet thinner load, more like using watercolors.
You can do fine brushwork details with them easily and also layer the colors with limited bleeding through.
They dry quickly, so you have to blend a little faster, or blend on your sponge or brush before applying to the face.
They are more durable on the face, though like most of the styles listed, they are water based and not sweat resistant.
They work great for split cakes.
Remove with soap and then soap and water. Coconut oil helps get out any faint stains.
The Brands and how to use them : Ben Nye's Magicakes (Wet) – Mehron's Starblends (Wet or dry) – Jest Paint's Vibrant Powders (Dry) – Kryolan's Shades (Dry) –Kryolan Viva (Wet and Dry) – Mehron's Precious Gem Powders (Wet or Dry) – Ben Nye Grande Lumiere Colours (Wet or Dry).
You can use them wet or dry depending on the brand.
If using your paints dry, they show up the strongest when you apply a primer first. A primer can be anything that will make the skin a little bit tacky, from normal face paint to eye shadow primer to glycerin or oil or lotion. Just be sure to apply a super thin layer of primer (if it isn't paint) so that your applicator doesn't pick any of it up.
You can use mixing liquid, which will make the powders more durable against sweat and touching, and will make the colors more opaque and water resistant for pool parties. Mixing liquid is best used with the Ben Nye Magicakes, Precious Gems loose powders or the Lumiere colors.
If you moisten a powder based cake, it will be hard to use it again dry since the liquid will compact the powder. Kryolan Viva claims that it is interchangeable.
Powders can be used as a base for eye masks or full face designs.
You can blend loose mica powders on top of your matte powder cakes to add more pigment and shine.
They blend smoothly and quickly on primed skin.
They won't melt in your containers on super hot days…and seem to hold up better to sweat that the other types of paints, but only if you do not touch them a lot.
They are more fragile, so you have to take special care when transporting them and when using them.
You will want to be prepared for fall out. Depending on how much you load your sponge and if you are using a primer, you may want to drape the kids to protect their clothing. You can limit fall out with practice.
They can look streaky on sweaty faces, or if a child has random sun tan lotion applied. The powders will look the darkest where the skin is moist or oily. Either have the child evenly wipe off their face, or apply a primer evenly first.
You can seal the powders with something like Ben Nye Final so that do not rub off.
Cream based paints take longer to dry.
Best for base work, not ideal for brush work since they are thick and creamy.
Can be set with a translucent powder for a more durable finish.
You can find them in tubes, pumps and cakes.
Good for use in hospitals since you can squeeze out individual palettes for each patient.
Theater folk and professional clowns are more likely to use grease based paints. They are less common in the face painting industry because they require powdering and doing detailed work is very difficult.
Do not dry, so you must set them with powder.
They are waterproof when set with powder.
Stand up well to sweat, but if you are very hot and rub the paint it can still smear.
Great for smooth blended bases.
Hard to use with brushes. Detailed line work is very difficult since it loads rather thickly on a brush and does not flow off of the bristles.
You can use regular face paint on top of cream based paint if the base is set with powder first.
Remove with soap and then soap and water. Coconut oil helps get out any faint stains. You can also remove them just with oils.
Some liquid water based paints are designed for airbrush use while others are for sponge and brush, and some can be used both ways.
A lot of painters who started out using liquid craft paint move over to liquid face paint since they are familiar with the consistency and application.
Liquid paints don't need water added to activate, though they can be thinned with pure water.
Depending on the brand, some liquid paints are very soft and flexible on the face, while other have acrylates in them and feel a little heavier on the skin. The heavier they are the better they are from layering.
Some painters use liquid black and white to activate their black and white make up cakes for more opacity.
You will want to be really careful that your paints don't tip or fall off the table.
Hybrid paints can be used with an airbrush or sponge and brush.
Hybrid paints have a mix of alcohol and castor oil in them. They have less castor oil than paints designed to last for up to 7 days, so that they can be washed off with hand soap easily at the end of the day.
Hybrid paints resist water, aka they won't drip off when they get wet, but they are not fool proof since you still want them to wash off easily, and a persons skin oils will play a part too.
Apply them to clean, dry and cool skin if you want them to hold up the best.
They dry very fast so if you are using them with a sponge, I recommend loading multiple colors on the sponge and then blending them into the face all at once, or stippling the second color into the first color.
Be careful using them around the eyes. The skin might feel a little tingle when the alcohol evaporates.
Remove with soap and then soap and water.
This style of paint has a base of alcohol and castor oil. The castor oil makes the paint hard to remove, and they can last on the skin for up to 7 days, but I would say that they look their best for the first 2-3 days.
These are great for small airbrush or sponge and brush tattoos, or for full body paintings that needs to last for a long time.
These are not recommended for the face unless the model wants to look wild for a long time.
You will want to be really careful that your paints don't tip or fall off the table and that you have a remover to clean up any spills. I would drape the clients clothing just in case as well.
You can remove this with special removers or rubbing alcohol. 99% works the best.
TAG Pearls are soft and shimmery. They are great for sponging base work since they are lighter than many other shimmery paints. They are not all the best for linework since some colors do not apply very solidly when trying to do swirls or tear drops. TAG Pearl Green and Pearl Blue are sort of silvery. They have many beautiful colors that you can't find in any other line, like Pearl Wine, Pearl Teal and Pearl Apricot. One of my favorite blending combos is Pearl Purple and Pearl Teal…totally gorgeous.
Diamond FX Metallics have many similar shades to TAG and Wolfe, though I like their high pigmentation and opacity the most for doing brush work! They have a very bold and bright Pink, Purple, Blue and Green. You might want to tone them down with Metallic White for base work, and use them straight for detailed line work.
Kryolan Interferenz paints vary. Some have a really cool duo-chrome effect and are very shimmery, while others just have a light shimmer. Some are a bit transparent, and are best if applied on top of other colors, or mixed in to other colors. I have not tried all of the Interferenz colors, but my top faves are GB, BR and PV. PB is best for mixing with or applying on top of matte colors…it is like the inside of an Abalone shell. I would say that Interferenze colors, in general, are best for smooth bases, and not the greatest for brush work. Some do not fully dry, and have an oily feel to them.
Kryolan Metallic colors are known as the best metallic out there for bases. They are rich and shiny and scream METAL!! They can clump a little on your sponge unless you load doing a lot of rubbing around to break up the metallic chunks of glory.
FAB's Shimmers are similar to other brands of metallic and pearls, but as a bonus some have a really nice iridescent effect. The ones we carry are very shimmery. My top favorites are Ziva Blue Shimmer, Magenta Shimmer, Ocean Shimmer and London Sky Shimmer. Magenta shimmer might leave some stains.
FAB Glitter Paints actually have a fine cosmetic glitter mixed into the shimmery paint for a magical effect! FAB's shimmers and glitters are much better for base work than line work.
Paradise's NEW Brilliant Colors are a step above their first line of Metallic colors. They have bright new colors and fantastically metallic Silver and Gold which are great for bases and brushwork. The Fuchsia is a show stopper, and looks amazing blended in with the Blue Bebe. The other shades in the line stand out for amazing bases, but they are not ideal for detailed line work. They do not come out solid from the brush.
Global Pearl and Metallic Colors have different consistencies. Some are softer when you open your container, while others have more binders to keep the shimmer on the skin, and feel harder when you start loading your sponge. The payoff is great though, since they stick really well to the skin and are easy to do line work over. I love the Pearl Magenta and Pearl Lime, and Pearl Blue, and well, okay I love them all, except the Pearl Baby Blue isn't like super pigmented like the others. The Pearl Gold is a super bright pretty gold, my favorite from all the brands.
Whew! I hope that wasn't information overload! In case it was, here is a simplified grid! Just click on it to see it all nice and big!
Previous article A Brush with Destiny!


Hey, guys! Sorry, it's been a slow couple of weeks, but here's something to help tide you over.
Our ever-reliable (and ever-awesome) friend Arctic Avenger has brought back yet another comic out of obscurity – the first issue of One, a noir tale by Joker of one man forced to do the Mob's bidding for the sake of his loved ones. Joker, a.k.a. Teh_Pwnag3, was a popular author back in the old days, so it's great to see an oldie of his come back to life!
Just click the image to be redirected to the forums and enjoy the comic!
Next Team Fortress 2 has been Invaded!


Carpenters build and repair a vast array of structures made of wood, wood-substitutes and other materials. Many work for construction companies, contractors and maintenance departments while others are self-employed. Carpenter is a nationally designated trade under the Inter-provincial Red Seal program. Carpenters assemble and erect forms for concrete, wood and metal frame construction and use plans and instruments to prepare for excavating and shoring. On smaller projects, they direct concrete placement, and install exterior and interior finish materials such as siding, doors, windows and cabinets.
OVER THE NEXT FOUR YEARS THE CARPENTER PROGRAM WILL BE CHANGING. WHERE ARE WE NOW?
Please be advised that minor changes have been made to the Harmonized Program Outline (below). Please refer to the Program Update for details of the changes.
See below for information about the current program.
February 2019: All ITA Carpenter Standardized Level Exams (SLEs) are compliant with both the 2012 and 2018 versions of the BC Building Code. Please see OPSN-2019-002 for details.
Kenton is a fourth year Carpenter from Courtenay, BC. He developed an interest in trades growing up when he helped his dad out with renovations around the house.
We are looking to hire people who match with our key values and we always want to know if they are interested in pursuing an apprenticeship.


Never fear, you're not the only person still confused by these terms and the buzz around digital and crypto currencies. In fact, a recent survey conducted by Coin Center found that 65% of American adults know absolutely nothing about BitCoins. Moreover, what people are more often familiar with is the role digital currencies play in cyber crime, which puts the entire industry in a bit of a negative light. On top of that, it's inventor(s) is anonymous, going under the pseudonym of Satoshi Nakamoto, which further casts the whole thing in a mysterious aura. And just the fact that it's a completely new and digital concept is enough to make many people skeptical of the entire industry.
But despite all the mystery and fear of the unknown, investments in digital currencies are growing at a steady pace. One BitCoin is worth $3935.22 as of this writing and analysts expect that figure to rise. (UPDATE: On November 27 2017, the value of one BitCoin almost topped the $10,000 mark, which means that its value increased over $6000 in less than two months!) It also is not subject to inflation, as it was designed to be a controlled supply of just 21 million coins, and more of it cannot just be "minted" on the will of a government or central bank, if the need were to arise. This is great because inflation is what causes prices of goods and services to skyrocket and purchasing value to fall — and this is inherently impossible in the BitCoin economy.
Moreover, the transaction fees for buying, selling and trading are nominal, making transfers via BitCoin far more affordable than traditional bank transfers, it's inherently secure and anonymous and it can be used anywhere with an internet connection, making it an ideal means of currency for people living in areas with underdeveloped financial infrastructures. With all these advantages, it's probably a good idea to become at least familiar with the basics. In this post we'll break down the most elementary concepts of this new(ish) and intriguing industry.
Digital Currency – Any currency stored and transferred digitally. Although similar in concept to physical money, it can be centralized (i.e. printed through the auspices of a government) just as physical money is, or decentralized (i.e. controlled by different sources and as such are not subject to government regulations). You may come across the terms cryptocurrency and virtual currency — both are forms of digital currency. Virtual currency is usually used in the context of online gaming, whereas cryptocurrency is what is really making headlines. When we talk about digital currencies that are helping shape a new economic reality, this is what we're referring to.
BitCoin – The first and largest cryptocurrency. It is paperless and can be sent via the internet with no middle man, making the fees far lower than in traditional money transfers. They can be bought on exchanges for Dollars or Euros and the names of buyers and sellers are kept anonymous, for better or worse.
BTC – How BitCoin is typically abbreviated on exchanges.
Block Chain – As mentioned above, there are no traditional regulations in the cryptocurrency realm. To ensure that things are kept legal and no fraud is committed, each time a transaction takes place, it is put onto an incorruptible ledger called the Block Chain. This is essentially an ever-expanding and time-stamped list of each BitCoin, Ethereum or other cryptocurrency transaction that takes place. Two of the most distinctive characteristics about the Block Chain model is that it's distributed, which means that anyone with a node (see below) can view it, and once inserted, blocks cannot be altered which greatly reduces the ability to commit fraud. Additionally, it is secured with public and private encryption keys so that data stored on it cannot be corrupted by hackers.
Ether/Ethereum Network – The second-most valuable and common cryptocurrency after BitCoin. It's similar in concept to BitCoin but was designed to be used for more than just digital payments. It focuses on the idea of sharing any data via its Block Chain network so that it's inherently tamper-proof, the same way transactions uploaded to the BitCoin Block Chain are tamper-proof. This idea could prove to be hugely valuable when it comes to smart contracts, or contracts that are converted into code and are stored on the Ethereum network Block Chain. These contracts are usually programmed using "if-then" premises, which essentially means that if one person does X (for example, pays $1000 in Ether to another person), the conditions of the contract will then be triggered to occur (for example, a digital car key will be sent to the person who sent the Ether). What's more, these contracts are stored on the Block Chain and are available for everyone to see. Thus, if one side fulfills their end of the deal, the other party cannot simply weasel their way out of the contract.
Mining – This is how new BitCoins are "generated" and how new transactions are verified and added to the Block Chain ledger. As mentioned above, BitCoin was designed so that the currency is released in a controlled manner, rather than a haphazard one to prevent inflation. When Satoshi Nakamoto created the currency, she/he/they designed the system so that there will never be more than 21 million of them produced in total. This was done intentionally to mimic the way that a limited amount of precious metals can be unearthed to produce physical gold and silver. Miners are volunteers who use computers that run specific programs and hardware that attempt to solve complex math problems and are thus designed to "unearth" new BitCoins at a controlled rate. The first computer to solve the equation is rewarded with a newly unearthed BitCoin for its efforts.
Node – A volunteer computer on the Block Chain network where BitCoins or Ether is mined and transactions are recorded.
Wallet – Similar to a physical bank account, this is where cryptocurrency is sent from, received to, and stored. This is also where the private and public encryption keys are kept. There are many options depending on the form of cryptocurrency you use, all with their own advantages and disadvantages.
AltCoins – Any other forms of cryptocurrency that work on the same principles as BitCoin and Ethereum. Right now there are about 900 or so AltCoins.
Okay; now you've got the basics of the industry down-pat. Going from Greenbacks to code-based cash is a major shift, but as society becomes ever-more digitally centered, this may just be another inevitability. Also back to that cyber-crime thing, if you ever do get hit with ransomware that demands payment in BTC, it's probably a good idea to have at least some familiarity with the system beforehand. Meanwhile, in Part 2 of this series, we'll explore the role of cryptocurrency in cyber crime, what's being done to thwart criminals and what's coming up on the horizon.


Christmas at DePaul will takes place every year at St. Vincent de Paul Parish, located at 1010 W. Webster Avenue in Chicago, Illinois. There are three performances, and tickets are required for each performance.
Thursday, December 6, 2018, 7:00 P.M.
Friday, December 7, 2018, 9:00 P.M.
Due to high demand, tickets are distributed via a lottery. You can register for the ticket lottery from October 18 through November 2. Those that have been selected through the lottery to receive tickets will be notified on November 7. Tickets are required for admittance to each performance of Christmas at DePaul.
Unlike most Christmas productions in the city, there is no admission charge for Christmas at DePaul. Instead, we request a donation to support St. Vincent de Paul Parish's Food Pantry and Sandwich Window. The intention behind this event is that we celebrate this joyous season together while ministering to those in need in the spirit of Saint Vincent.
Below is a list of items that will impact the parish services in the greatest way. Cash or check donations will also be accepted at the doors. Checks should be made out to St. Vincent de Paul Outreach Commission.
The Saint Vincent's Mother Seton Food Pantry and Sandwich Window began in 1980 in a small room in the Parish center. Working poor families, parents of young children, and the elderly are among those who need Mother Seton Food Pantry and Sandwich Window assistance to help make ends meet.
During the year, parishioner volunteers serve in the soup kitchen 6 days per week, and average 100 meals per day. In the course of the year, we serve over 30,000 sandwiches, about 1,000 special holiday meals, and 45,000 cups of coffee. In addition to parishioners, DePaul faculty, staff, and students volunteer on what has come to be known as DePaul Mondays. The number of households the Mother Seton Food Pantry serves on a monthly basis is over 50 households, or 75 people. The food pantry also provides groceries to DePaul University students who are food insecure.


There is several health risks associated with visceral fat. It is true that there is a certain amount of visceral fat inside every human. In normal condition this amount of visceral fat does not pose any health threat. But when this amount reaches to a dangerous level the trouble starts.
To begin with, adverse physical conditions like high cholesterol, high glucose, clogging of the arteries, high blood pressure, and long term heart disease or inflammation are the direct results of high visceral fats in the body. Before going into detail let's check how this fat can be developed in your body.
The visceral fat is stored around internal organs such as liver, pancreas, and intestine. This fat is different from the one that exists just under the body skin, in arms and legs. As you can understand this kind of fat is found deep inside the abdominal cavity.
Gaining weight in the middle portion of the body.
Consumption of processed foods frequently.
Alcohol and alcohol base beverages.
Multiple medications can result in visceral fat as side effect.
Reduced amount of physical activities.
High amount of stress hormone in the body.
Visceral fat is particularly known for its active role as an insulin resistor. This is undoubtedly the prime cause of developing diabetes. Abdominal fat is a great risk for building up diabetes inside the body.
Several large studies suggest that people with large amount of visceral fat have a higher risk of breast cancer. The condition is more serious for premenopausal women with a heavy abdominal fat.
There is link between Obesity and Cancer. Obese people have excess visceral fat that triggers the body metabolism responsible for causing cancers such as the Colorectal Cancer (CRC). There is a tissue called Visceral Adipose Tissue that exists in large amount inside the abdominal area. This tissue demonstrates higher level of hormonal and metabolic activities. This tissue is responsible for the secretion of growth factors, Adipokines, Proinflammatory Cytokines. These are considered contributory factors associated with obesity-related tumors or Cancer tumors.
It has been found that visceral fat contributes to the development of Alzheimer's disease. Too much internal fat around organs like heart, liver and pancreas leads to dementia. This is especially true for middle-aged people who have the tendency to develop fat around their belly inside out.
Inflammatory Cytokines are generated by visceral fat that are major contributors to heart disease and related inflammatory disorders. In case of body inflammation, the liver becomes overwhelmed with toxins and cholesterol. This situation can lead to build-up of plaques in the arteries. Moreover, visceral fat is linked with increased risk for cardiovascular disease indicators. These are high blood pressure, high cholesterol, and high triglycerides.
This fat can create inflammatory markers that circulate in human blood stream. This situation if not addressed can cause Cancer.
Visceral fat is the root cause in many cases for unexplained pain or discomfort among fatty people's abdominal area.
This fat can cause serious hormonal irregularities. These include high-level Insulin production, inadequate amount of testosterone production in men and women as well as Leptin hormone resistance.


At the bottom of that article there are some comments (seem crazy) in support of Kip's innocence.
There is no article yet. There will be one but not yet.
I don't think Kip Litton has "raced" (or cheated) since December, 2010 . What makes you think he's racing in April, 2012?
I don't think kip Litton has "raced" (or cheated) since December 2010. What makes you think any article will come out?
C'mon u know better, don't ya?
I too can't wait for this imaginary article by this imaginary writer in this imaginary magazine to come out. I can only imagine how great it will be.
There is more evidence of Litton's innocence than of the article coming out. I mean, why can no one say which magazine and why do posts with the magazine name get deleted or edited?
I know the answer to this question. And when.
Good to see you on this thread again scotth. When is the article finally going to come out? It's been a while it was first mentioned that a national magazine picked it up.
perhaps good chance he is.
It's been a while it was first mentioned that a national magazine picked it up.
whatup Kipling? are u there?
Dude. He can't tell you because there is not, and never was, an article, magazine, or writer. Just a guy (and his multiple aliases) with an axe to grind.
Kip, please go back to work. We know it's you.
Oh, God. Another alias comes out of the woodwork.
Answer first: soon. Explanation for keeping details to myself: to protect the writer from LR nutjobs. Interpret my 'reappearance' as reason to look forward sooner, rather than later, to a story about the mysterious serial cheat.
It's been mildly amusing to hear from cynics & naysayers demanding a story and/or doubting its publication - like small children upset over something they feel they deserved or wanted - but didn't get. In the end, even they will be rewarded. I have no beef w/any of the anonymous critics on this thread - they can't help themselves.
In other words. You got nothing and now everyone knows it.
In other words, you're a f*cking moron.
To those curious about an impending story: Patience, Grasshopper.
Wow. Almost a year ago. Happy Anniversary!
Well, honestly, if you ask around enough, you'll know what magazine it is (and maybe even who the writer is). You can keep complaining if you want (you'll still get that article). But I'd suggest you shut your trap unless you have something useful to contribute.
You got nothing. Go away and let the adults talk.


Massage is recorded as one of the earliest forms of physical therapy and it is known that it was used by very different cultures over 3000 years ago. It is only in the much more recent past since travel and communications have enabled different civilisations to meet that so many forms of massage have been developed.
In all types of massage, the therapist has specific aims in mind, and in sport we focus on the individual needs of the athlete. With the ever growing number of people taking part in sport, combined with the increasing competitiveness and intensity of physical exercise, the demand for sports massage is also increasing and becoming more and more recognised as a skill which may aid recovery and enhance performance.
Sports massage does have some aims in common with other forms of massage and it is especially important to have a thorough understanding of anatomy and physiology, in particular the muscular and skeletal systems. By understanding these systems and the effects of exercise, we may also appreciate how massage may benefit the sports person and becomes an integral part of the athlete's training program.
Athletes who are looking to improve performance and increase their competitive edge do so by adopting a training schedule to enhance their skill, strength, stamina, suppleness and speed. The degree to which they develop and utilise these qualities will depend on other factors such as the level of competition, the sport played, and possibly their position in a team. However, no matter which sport, the aim is nearly always to increase the level of training and thereby subject the body to gradual and controlled overuse.
It is this overuse that may often create problems and imbalances in the soft tissues. If these are ignored and allowed to become chronic, they will not only hinder the athlete's rate of improvement, but also in many cases their performance may well suffer and ultimately the athlete may be susceptible to developing more conditions that are serious. Certainly if they are unable to perform at their best, they may be more at risk from other more traumatic forms of injury. For example, a player involved in a contact sport who is "carrying" an injury may not have their usual level of agility. The result might be that they might suffer an extrinsic injury because of not being fully prepared for the contact suffered from an unexpected tackle.
Massage, applied skillfully, is the most effective therapy for releasing muscle tension and restoring balance to the musculo-skeletal system. Received regularly this may help athletes prevent injuries, which might otherwise be caused by overuse. A constant build up of tension in the muscles from regular activity may lead to stresses on joints, ligaments, tendons, as well as the muscles themselves.
These muscle imbalances may develop and often go undiagnosed until they are serious enough to cause the athlete discomfort or impede performance. The skilled massage therapist will be able to detect variations in the soft tissues and by using the correct techniques, help the sports person maintain a much healthier physical state. It may therefore be reasonably claimed that one of the greatest benefits of sports massage is in helping prevent injury.


text:
Our grief for Nicola
Nicola Dixon's anguished family have spoken of their seven-year ordeal after her killer was finally jailed.
Sign up to our newsletter for the latest Northumberland news
As reported in later edition's of last night's Chronicle Colin Waite was today starting a life sentence for the rape and brutal murder of the 17-year-old on New Year's Eve, 1996.
The jury at Warwick Crown Court heard how Waite, 42, smashed Nicola's head against a kerbstone or step after forcing her into the grounds of the rectory in Sutton Coldfield.
Waite, who has a string of convictions, was snared by "billion-to-one" DNA evidence, when he was arrested for a road rage attack in August 2002.
He was described by Mr Justice Hughes as a violent and dangerous man who had committed the crime for sexual gratification
Nicola's parents Andy and Rita Dixon moved from Pegswood, near Morpeth, Northumberland to Sutton Coldfield when Nicola was nine-years-old. They had always clung onto the hope their daughter's killer would be caught. Mr Dixon, 53, a civil engineer, said: "What we have sat through has been absolutely dreadful. We are in no doubt now that it was a vicious attack from the start and nothing else."
Mrs Dixon, also 53, said: "Her death shocked the community and her loss is still felt by all who knew her. To us, she was the perfect daughter, sister and friend - simply the best."
A-level student Nicola had been walking from a social club to meet friends at a pub when Waite pounced.
Her grandfather Bill Robertson, aged 77, who has cancer, said at his home in Lesbury, near Alnwick, today: "He is a terrible man. What he did to Nicola was wicked and cruel. He is a violent man and should be burned at the stake."
Detectives interviewed 6,500 people during their hunt for the killer. Voluntary DNA samples were also been taken from 2,800 men but an administrative blunder meant a swab taken from Waite after he was arrested for assaulting his girlfriend was never tested and police were not allowed to take a second swab. Only when Waite was arrested in August 2002 for a road rage attack was another DNA mouth swab taken which proved to match samples taken from the scene of Nicola's murder.
Speaking about the granddaughter he loved Mr Robertson said: "She was an exceptionally lovely girl and the sort of granddaughter every person would want."
Pegswood
Newcastle United FCNewcastle notes: Steve Bruce's historic move backfires and Joelinton's worrying body languageThe Magpies were beaten 3-0 at the Emirates Stadium and despite many changes Steve Bruce is back to square one
Piers Morgan steps in as Dr Hilary blasts "scaremongering" guest over vaccine with viewers divided
Piers MorganTempers flared on Good Morning Britain on Tuesday as Dr Hilary clashed with a guest over the COVID vaccine

redpajama_set_name: RedPajamaCommonCrawl


text:
Cal women's basketball sees magical run come to an end with 73-67 loss to No. 12 UCLA
Kevin Cheung/File
By Hooman Yazdanian | Staff
Cal women's basketball secures biggest upset in Pac-12 Tournament history with 75-64 win over Arizona State
Cal women's basketball advances to next round of Pac-12 Tournament with 66-63 win against Utah
Cal women's basketball loses regular season finale, 54-44, to No. 7 Oregon State
After two missed free throws by sophomore guard Gabby Green, Cal women's basketball leads by only three. With only 14 seconds left, UCLA still has a chance.
And the Bruins know what to do.
Get the ball to Kari Korver. She takes Jordin Canada's handoff at the wing and drains a three as she falls down. A foul is called on the Bears' forward Courtney Range, but Korver misses her free throw. Cal comes back and misses on the other end.
Overtime.
The Bears, who needed a win Saturday to keep their season alive and advance to the finals of the Pac-12 Tournament, couldn't come through in the extra period. They saw their magical run come to an end, falling, 73-67, to the No. 12 Bruins (24-7, 14-4).
Despite playing its third match in three days, Cal (15-17) didn't show signs of fatigue in the early goings of Saturday's game. Instead, the Bears seemed intent on pushing the ball and playing aggressive defense, and they turned the Bruins over on their first two possessions.
As has been a theme throughout the tournament, Cal found freshman forward Kristine Anigwe for an easy look under the basket by lobbing the ball over the defense after UCLA's second turnover. The Bears' first two baskets came on plays similar to this, with passes courtesy of sophomore forward Mikayla Cowling and freshman guard Asha Thomas. Cal jumped out to a quick 6-2 lead when Cowling tacked on a jumper, and UCLA head coach Cori Close called a timeout just more than two minutes into the game.
Though the Bruins got the next two points, the Bears took control of the game, taking advantage of the Bruins' early propensity to throw lazy passes. Cal went on a 15-3 run and ended the quarter up, 22-13, despite eight points by Canada.
Cal junior Courtney Range scored the first bucket of the second frame, but the Bruins began to claw their way back into the game. With just more than seven minutes left in the second period, Canada picked Thomas' pocket and took it the other way for a layup. UCLA followed this up with another steal, leading to a three by freshman Kennedy Burke. Just like that, the Bruins were down by only six.
Although the teams traded blows for the rest of the half, the damage appeared to be done. UCLA was back in the game and down only seven heading into the break, 32-25. The Bears went into the locker room surely hoping to continue their domination of the paint, where they scored 18 points in the first half.
At the beginning of the third quarter, Anigwe took control. She scored with seven minutes and 15 seconds left in the period, and then scored five more points in the next 90 seconds to put Cal up by eight points. On the next Bruins possession, however, Anigwe picked up her third foul and head coach Lindsay Gottlieb was forced to take her out of the game. UCLA proceeded to score the next four points and with the game seemingly in the balance, Gottlieb put her young star, who already had 20 points, back in the game.
During Anigwe's first possession back in the game, the attention she drew on offense helped set Cowling up for an open three. But on defense, Anigwe, who had fouled out in the first two games of the Pac-12 Tournament, picked up yet another foul. With two minutes and 30 seconds left in the third quarter and her team up only seven, Anigwe was taken out of the game.
Canada and forward Monique Billings, who combined for 48 points, led the Bruins on a 10-0 run to rush past a Cal team whose offense looked completely listless without its go-to scorer. Range, who ended the game with 17 points and nine rebounds, scored to slow down the Bears' fall long enough for Anigwe's return to the game.
Anigwe reentered the game with six minutes and two seconds left and Cal down, 52-51. Anigwe and Range, who was dominant in the second half and overtime with 13 points, attacked the paint and traded buckets with the Bruins. With Cal still down a point, Green found Anigwe, who had an astounding 26 points and 15 boards, right under the hoop where she scored with 53 seconds left. Thomas followed that up with a couple of free throws but Green's misses gave UCLA the chance to tie.
The Bruins managed to thoroughly outplay the deflated, exhausted Bears in overtime and with the win, essentially ended Cal's season.
Hooman Yazdanian covers women's basketball. Contact him at [email protected]. Follow him on Twitter @hoomanyazdanian
Asha Thomas, Courtney Range, Gabby Green, Jordin Canada, Kari Korver, Kristine Anigwe, Lindsay Gottlieb, Monique Billings


Our big and bold restaurant is where movie blockbusters and memorabilia take center stage with you. And we're right in the middle of the energy and excitement of Times Square. It's great way to enhance your New York City visit.
Enjoy our delicious international menu in the heart of New York while surrounded by hundreds of props, costumes and other memorabilia.
Out of this world is an understatement, even for Times Square! Planet Hollywood New York gathers your favorite movie memories in one exciting destination. Gaze up at spaceship models from major Sci Fi features in the City Room. Feel like you're flying into the danger zone when you see planes from Top Gun and Independence Day. Then spot props and costumes from legendary movies like Terminator, Hunger Games and Austin Powers.
Call a talented member of our team at 212-265-2404 or click below to plan your meeting or group travel experience.


text:
package com.box.l10n.mojito.cli.command;

import static com.box.l10n.mojito.rest.thirdparty.ThirdPartySyncAction.MAP_TEXTUNIT;
import static com.box.l10n.mojito.rest.thirdparty.ThirdPartySyncAction.PUSH_SCREENSHOT;
import static org.assertj.core.api.Assertions.assertThat;

import com.box.l10n.mojito.cli.CLITestBase;
import com.box.l10n.mojito.cli.utils.PollableTaskJobMatcher;
import com.box.l10n.mojito.cli.utils.TestingJobListener;
import com.box.l10n.mojito.entity.Repository;
import com.box.l10n.mojito.json.ObjectMapper;
import com.box.l10n.mojito.rest.thirdparty.ThirdPartySyncAction;
import com.box.l10n.mojito.service.thirdparty.ThirdPartySyncJob;
import com.box.l10n.mojito.service.thirdparty.ThirdPartySyncJobInput;
import java.util.Arrays;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.quartz.JobKey;
import org.quartz.Matcher;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

public class ThirdPartySyncCommandTest extends CLITestBase {

  @Autowired
  @Qualifier("fail_on_unknown_properties_false")
  ObjectMapper objectMapper;

  @Autowired Scheduler scheduler;

  Matcher<JobKey> jobMatcher;
  TestingJobListener testingJobListener;

  @Before
  public void setUp() throws SchedulerException {
    testingJobListener = new TestingJobListener(objectMapper);
    jobMatcher = new PollableTaskJobMatcher<>(ThirdPartySyncJob.class);
    scheduler.getListenerManager().addJobListener(testingJobListener, jobMatcher);
  }

  @After
  public void tearDown() throws SchedulerException {
    scheduler.getListenerManager().removeJobListener(testingJobListener.getName());
    scheduler
        .getListenerManager()
        .removeJobListenerMatcher(testingJobListener.getName(), jobMatcher);
  }

  @Test
  public void execute() throws Exception {

    String repoName = testIdWatcher.getEntityName("thirdpartysync_execute");

    Repository repository =
        repositoryService.createRepository(repoName, repoName + " description", null, false);
    String projectId = testIdWatcher.getEntityName("projectId");

    String pluralSeparator = "\\u0032_";
    String skipTextUnitPattern = "%skip_text_pattern";
    String skipAssetPattern = "%skip_asset_pattern%";
    List<String> options =
        Arrays.asList(
            "special-option=value@of%Option",
            "smartling-placeholder-custom=\\{\\{\\}\\}|\\{\\{?.+?\\}\\}?|\\%\\%\\(.+?\\)s|\\%\\(.+?\\)s|\\%\\(.+?\\)d|\\%\\%s|\\%s");

    getL10nJCommander()
        .run(
            "thirdparty-sync",
            "-r",
            repository.getName(),
            "-p",
            projectId,
            "-a",
            MAP_TEXTUNIT.name(),
            PUSH_SCREENSHOT.name(),
            "-ps",
            pluralSeparator,
            "-st",
            skipTextUnitPattern,
            "-sa",
            skipAssetPattern,
            "-o",
            options.get(0),
            options.get(1));

    String output = outputCapture.toString();
    assertThat(output).contains("repository: " + repository.getName());
    assertThat(output).contains("project id: " + projectId);
    assertThat(output)
        .contains(
            "actions: "
                + Arrays.asList(
                        ThirdPartySyncAction.MAP_TEXTUNIT, ThirdPartySyncAction.PUSH_SCREENSHOT)
                    .toString());
    assertThat(output).contains("skip-text-units-with-pattern: " + skipTextUnitPattern);
    assertThat(output).contains("skip-assets-path-pattern: " + skipAssetPattern);
    assertThat(output).contains("options: " + options.toString());

    waitForCondition(
        "Ensure ThirdPartySyncJob gets executed",
        () -> testingJobListener.getExecuted().size() > 0);

    ThirdPartySyncJobInput jobInput =
        testingJobListener.getFirstInputMapAs(ThirdPartySyncJobInput.class);

    assertThat(jobInput).isNotNull();
    assertThat(jobInput.getRepositoryId()).isEqualTo(repository.getId());
    assertThat(jobInput.getThirdPartyProjectId()).isEqualTo(projectId);
    assertThat(jobInput.getActions()).containsExactlyInAnyOrder(MAP_TEXTUNIT, PUSH_SCREENSHOT);
    assertThat(jobInput.getPluralSeparator()).isEqualTo(" _");
    assertThat(jobInput.getSkipTextUnitsWithPattern()).isEqualTo(skipTextUnitPattern);
    assertThat(jobInput.getSkipAssetsWithPathPattern()).isEqualTo(skipAssetPattern);
    assertThat(jobInput.getOptions()).containsExactlyInAnyOrderElementsOf(options);
  }

  @Test
  public void repalce() {
    ThirdPartySyncCommand thirdPartySyncCommand = new ThirdPartySyncCommand();
    assertThat(thirdPartySyncCommand.unescpeUnicodeSpaceSequence("\\u0032")).isEqualTo(" ");
    assertThat(thirdPartySyncCommand.unescpeUnicodeSpaceSequence("\\u0032a\\u0032"))
        .isEqualTo(" a ");
    assertThat(thirdPartySyncCommand.unescpeUnicodeSpaceSequence("nop")).isEqualTo("nop");
  }
}


Looking for bluegrass music in San Diego? You're in the right place!
The San Diego Bluegrass Society sponsors a wide variety of bluegrass music events, including regular Tuesday events with open mics and jam sessions for San Diegans and visitors who desire to play bluegrass in a group setting, with a featured band on the 4th Tuesday. SDBS also sponsors bluegrass concerts by nationally recognized bands touring through our region, along with workshops and other educational activities.
SDBS is pleased to welcome back The Full Deck as Featured Band for April 2019. John Deckard, band leader, jaw harp, and harmoinica player, fronts The full Deck as one of the longest running bluergass groups in San Diego. You can expect great traditional bluergass, some off center preseentations, and humor thoughout!
The 2018 Summergrass event is gone except for great memories. We are already plannig and looking forward to next year's event. .Visit the Summergrass website for info.
SDBS has an active music outreach program with Emma's Gut Bucket Band, bringing bluegrass music and instruction to public and private schools, senior centers, assisted living facilities, homeless centers and the like at no cost. We also offer a lending library of instructional materials, plus an instrument lending Library, to our members. An instrument donation program is also available. Send us an email for info: info@sandiegobluegrass.org.
Bluegrass Day at the Fair June 10, 2018 in photos.
SDBS (originally the San Diego Bluegrass Club) has been a force for bluegrass music in San Diego since the 1960s.
For a fascinating glimpse into its storied past, illustrated with lots of photos and historical images, and chock-full of interesting anecdotes and memories, download A Brief History of the San Diego Bluegrass Society (in print-friendly PDF format).
Wayne Rice honored for 40 years on the air with his Bluegrass Special on KSON Radio.
Read the SDBS proclamation honoring Wayne.
Dobro great Mike Auldridge passed away on Dec. 29, 2012, one day before his 74th birthday. Visit the Mike Auldridge Tribute site to learn more about MIke: his 2012 National Endowment for the Arts National Heritage Fellowship; his 2007 IBMA Distinguished Achievement Award; and his significant contributions to the Dobro and to bluegrass music.. Rob Ickes' moving eulogy is also posted there, along with a guestbook with hundreds of tributes from his friends and fans.
Looking for a bluegrass band for your event? Let us know, and we'll assist you in locating a band that meets the particular needs of your party or event. Contact: info@sandiegobluegrass.org.
Click here for a copy of the SDBS annual report to members for 2017. It reviews our activities over the 2016 year, including our events and finances. This is a public docuiment. If you are not already a member, please consider joining us for 2017. It's only $20 for the whole family for the year. Click here to join online with your Paypal account or credit card. You won't regret it!


This entry was posted on Wednesday, February 17th, 2010 at 6:41 am.	It is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response or trackback from your own site.
I really relate to that post., thanks for the info.


Jasco Games - Forums > Universal Fighting System > General Discussion > More previews = WANT!
View Full Version : More previews = WANT!
So yeah, wish I could have gone to Nats, but that wasn't fiscally feasible. I have heard rumors that there were a few more cards previewed? Pix or it didn't happen... Who am I kidding, I'll be happy just knowing the text of 'em.
Come on folks, we needs us some spoilers!
There was some projector problems. Not sure if cards ended up getting spoiled or not.
Yeah Colin broke our projector lol. But Jason has picked the cards to preview. Im sure he will update the preview section when he gets back.
But man... EVERY piece of art in this set that I've seen is great. You guys are going to be blown away!
Drew is going to blow you away.
I'm pretty sure I don't want Drew to blow me.
Alright, hopefully he puts up more evil cards tomorrow.
I'm curious about some more Reese support and what Miska's deal is.
Yes, I think that Miska has been the most undisclosed of the five characters, I'm very curious as well.
Reese...Abortion Punch, FTW!! Wait til you see the artwork, y'all will understand... Ha!
Oh god not another attack everyone's gonna yell Falcon Punch whenever it is played.
Hate you Sal. I wanted that print SOOOOOOOOOOOOOOO bad.
No idea what you're talking about, but it sounds hot.
Am i the only one that want to see the spoiler only to make sure the game will live past 6 month?
Jason went through a LOT of work to keep the game alive.
He will not easily let it die. Nor will the player base.
You are not alone. I've got one box pre-ordered but I don't want to get over-hyped about the return of UFS yet.
I have pre-ordered nothing. I'm an impulse buyer.


"Details time-efficient and cost-effective strategies to evaluate, select, prioritize, plan, and manage multiple projects. Presents proven methods and practical applications for the development of successful project portfolios and prosperous multiproject environments. Provides useful models and scheduling frameworks for increasecd quality and productivity."
Part 1 Overview: project porfolio management and managing multiple projects - two sides of the same coin?; software packages don't manage projects - people do!. Part 2 Time, cost and other management issues: multiproject scheduling and resource allocation; effective resource management - debunking the myths. Part 3 Tools, techniques and methods: improving multiproject management by using a queuing theory approach; a multi-project management framework for new product development. Part 4 Best practices and applications: programe management - a key for integrated healthcare delivery systems; managing multiple projects in large IS organizations.


In 18th-century North America, ruthless trappers and entrepreneurs fight to wrest control of the fur trade from the mighty Hudson's Bay Company.
Available since Jan 20, 2017. Queued 979 times from this site.


text:
Q: Awodey's Category Theory: I don't understand the matrix notation in example In page 7 of Awodey's book there is an example using matrices as arrows. I don understand the notation $F = (n_{ij})_{i<a,j<b}$, and I can't construct one of those matrices.
Here is the example:

A: It means
$$
F = \begin{pmatrix}
n_{00} & n_{01} & \cdots & n_{0,b-1} \\
n_{10} & n_{11} & \cdots & n_{1,b-1} \\
\vdots & \vdots & \vdots & \vdots \\
n_{a-1,0} & n_{a-1,1} & \cdots & n_{a-1,b-1}
\end{pmatrix}
$$


text:
https://www.dustygroove.com/item/132853/Matthew-Halsall:Changing-Earth-EP
Jazz CD Matthew Halsall
Changing Earth EP
CD (Item 132853) Gondwana (UK), 2022 — Condition: New Copy
$9.99 ...
Adding To Your Existing Order
Customers who are signed in and have open orders may add items to their order for combine shipping and faster checkout. This reserves the item sooner, securing your place in line — which is great when ordering hard-to-find items!
to add this item to your open order.
Add this item to your cart
then checkout as usual.
Gondwana (label)
Four sublime tracks from trumpeter Matthew Halsall – all of which work together to give this EP release all the spiritual power of his full length albums! Halsall has a sense of majesty here that's undeniable – the continuing evolution of that style that's grabbed us strongly for over a decade, mixed here with flute and saxes from Matt Cliffe, Harp from Maddie Herbert, piano from Liviu Gheorghe, bass from Gavin Barras, drums from Alan Taylor, and percussion from Jack McCarthy. The harp and flute are especially nice, and the work has a style that's meditative, but modal too – really moving forward with some great gentle grooves – on titles that include "Yogic Flying", "Upper Space", "Positive Activity", and "Changing Earth". © 1996-2023, Dusty Groove, Inc.
There may be different interpretations or standards used to grade pre-owned vinyl record albums & CDs. These are the grades that we use and what they mean for items that are not new copies.
Used Vinyl Grades
Below are stated conditions for a used vinyl records at Dusty Groove. Grading for the cover should be assumed to be near (within a "+" or "-") the grading for the vinyl. If there is significant divergence from the condition of the vinyl, or specific flaws, these will be noted in the comments section of the item. However, please be aware that since the emphasis of this site is towards the music listener, our main concern is with the vinyl of any used item we sell. Additionally, all of our records are graded visually; considering the volume of used vinyl we handle, it is impossible for us to listen to each record. If we spot any significant flaws, we make every attempt to listen through them and note how they play.
The following grading conditions apply to the vinyl component of an album or single:
Dusty Groove does not use the grades of Near Mint (or Mint, for that matter) because in our experience, we find that no records ever qualify for such a high grade. Even sealed records tend to have one or two slight faults, enough to usually qualify them for a grade of NM- or lower. We've often found that records which are clearly unplayed will have a slight amount of surface noise, especially in quieter recordings.
Vinyl can have some dirt, but nothing major.
May not shine under light, but should still be pretty clean, and not too dirty.
May have a number of marks (5 to 10 at most), and obvious signs of play, but never a big cluster of them, or any major mark that would be very deep. Most marks should still not click under a fingernail.
May not look near perfect, but should play fairly well, with slight surface noise, and the occasional click in part of a song, but never throughout a whole song or more.
This is clearly a copy that was played by someone a number of times, but which could also be a good "play copy" for someone new.
Very Good - (minus)
Vinyl may be dirty, and can lack a fair amount of luster.
Vinyl can have a number of marks, either in clusters or smaller amounts, but deeper.
This is the kind of record that you'd buy to play, but not because it looked that great. Still, the flaws should be mostly cosmetic, with nothing too deep that would ruin the overall record.
Examples include a record that has been kept for a while in a cover without the paper sleeve, or heavily played by a previous owner and has some marks across the surface. The record should play okay, though probably with surface noise.
Good + (plus)
Vinyl may be dirty, or have one outstanding flaw, such as a light residue, which could be difficult to clean.
May have marks on all parts, too many to qualify as Very Good-, or several deeper marks, but the record should still be ok for play without skips.
In general, this is a record that was played a fair amount, and handled without care. A typical example may be a record which has been heavily played by a DJ, and carries marks from slip cueing. Depending on the quality of the vinyl, may play with surface noise throughout.
A record that you'd buy to play, cheap, but which you wouldn't buy for collecting.
Will have marks across all parts of the playing surface, and will most likely play with surface noise throughout. May have some other significant flaws, such as residue, or a track that skips.
In most cases, a poor quality copy of a very difficult to find record.
This is a grade we rarely use, as we try not to sell records in very bad condition, though in some rare cases we will list a record in such bad shape that it does not conform to the standards above. A "Fair" record will have enough marks or significant flaws that it does not even qualify as "Good", but is a copy you might consider for playing, if you're willing to put up with noise and/or flaws. An example might be a recording with surface noise so heavy that it is equal to the volume of the music. For records listed as "Fair", we will describe the extent of the condition in the comments.
Like "Fair", we rarely list records in this condition, as they represent the extreme low end of spectrum. These records typically have multiple serious problems, and we offer them as "relics" or "objects" only — for those who want to at least have a copy of a record, even if it is not really worthy of play, perhaps for the cover alone. For these records, we will describe the extent of the condition in the comments.
Used CD Grade
We only use the grade "Used CD" for non-new CDs. This all-encompassing grade was chosen it because we only buy and offer used CDs in the best possible condition.
When you purchase a used CD you can expect the disc to be free of all but the lightest of surface marks, the case to be clean (we often change the cases ourselves), and the booklet to be in good shape. Used CDs may show some signs of use, but if there are significant details or defects we will describe the item's condition (just like we do with LPs), so look for notes on cutout marks, stickers, promo stamps or other details before ordering.
All of our used CDs are guaranteed to play without skipping or flaws. After you receive a used CD from Dusty Groove, you have 1 week to play it to determine that it plays correctly. If it does not, you can request a return for a full refund.
Temple Within
Gondwana (UK), 2022. New Copy
CD...$9.99 14.99
A record that's more of an EP than a full length release, but one that's still really overflowing with fantastic music from the great Matthew Halsall – a player who can deliver as much meaning and soul in a short space as most musicians can in a double-length set! The album features four ... CD
Elton Dean, Steve Miller, & Pip Pyle
Home Brewed
British Progressive Jazz (UK), 1976. New Copy
CD...$12.99 15.99
A fantastic session from the 70s UK jazz scene, and one that's maybe as important to fans of the Canterbury scene as well – given the unusual legacies of the three players involved! The music is definitely jazz, though – fairly improvised, and recorded live with work from Elton Dean on ... CD
Don Rendell
Odysseus Suite
A brilliant lost album from British reedman Don Rendell – an unreleased 1970 session that was done after his famous 60s work with trumpeter Ian Carr – and a set that is every bit as modern and far-reaching as those well-known classics! As you might guess from the title, the album's ... CD
Takuya Kuroda
Midnight Crisp/Fly Moon Die Soon
First Word (UK), 2022. New Copy 2CDs
A very cool double-length package – one that brings together two full albums from trumpeter Takuya Kuroda! First up is Midnight Crisp – a set that furthers Kuroda's experiments in pushing farther past the jazz of his roots – still graced with plenty of strong trumpet work and ... CD
Elton Dean
On Italian Roads – Live At Teatro Cristallo Milan 1979
The great Elton Dean is a musician with a huge legacy in British jazz and rock – including, famously, some time in Soft Machine, where he really helped transform their sound – and long work as an underground hero of the 70s scene, as a key player whose edge never dulled at all! That's ... CD
Timo Lassy & Teppo Makynen
WeJazz (Finland), 2019. New Copy
Music that you'd hardly expect, if you only know the more groove-oriented side of saxophonist Timo Lassy – the sounds he's given us from the Ricky-Tick years onwards – because this album is straight jazz overall, and a relatively improvised one at that! The album shows off a whole ... CD
Anti, 2023. New Copy
A much more stripped-down album than some of the other recent efforts from tenor saxophonist James Brandon Lewis – but in a way that maybe shows his power and potential even more than before! Lewis is tremendous right from the start – blowing with a sense of soul and spirit that's ... CD
Raul DeSouza
Sweet Lucy/Don't Ask My Neighbors/Til Tomorrow Comes (plus bonus tracks)
Capitol/Robinsongs (UK), Late 70s. New Copy 2CD
A trio of albums from this famous Brazilian trombonist – all of them great! First up is Sweet Lucy – a wonderful album from Raul De Souza, cut during the height of his fame on the California scene! Like Raul's other work for Capitol, this record really sparkles from tight help from ... CD
Gaia Wilmer
Folia – The Music Of Egberto Gismonti
Sunnyside, 2023. New Copy 2CD
The music of Egbergo Gismonti means many things to many people – as the Brazilian music legend worked in so many styles and settings, he really offered a lot to the world with his many albums! And here, arranger Gaia Wilmer approaches Gismonti's music with a real love of his work in a larger ... CD
Natural Information Society
Descension – Out Of Our Constrictions
Eremite/Aguirre (Belgium), 2021. New Copy
CD...$20.99
Beautiful music from a group that features familiar players from the world of improvised music, but coming together here in a very different way! Joshua Abrams leads the group, and he's playing guimbri instead of his usual bass – a lighter stringed instrument used with global currents that ... CD
Juju (Oneness of Juju)
Live At 131 Prince Street (with bonus tracks)
Black Fire/Strut (UK), 1973. New Copy
CD...$12.99 13.99 (LP...$27.99)
A much-needed slice of work from Juju – the group who later transformed into spiritual funk ensemble Oneness Of Juju! Juju only recorded two full albums in the early 70s, so this unissued live set is a key addition to their catalog – and the whole thing's got this bold quality that's ... CD
Ra To The Rescue
Saturn/Modern Harmonic, 1982. New Copy
One of the most mysterious, elusive Sun Ra albums in the legendary Saturn Records catalog – a set that was only ever pressed in small quantities back in the 80s, and often with different tracks for different pressings too! The material here is from a range of different performances, and ... CD