text:
package org.apache.hadoop.hbase.io.hfile;

import java.io.Closeable;
import java.io.DataInput;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.atomic.LongAdder;
import org.apache.commons.io.IOUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.PathFilter;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellComparator;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.io.FSDataInputStreamWrapper;
import org.apache.hadoop.hbase.io.MetricsIO;
import org.apache.hadoop.hbase.io.MetricsIOWrapperImpl;
import org.apache.hadoop.hbase.io.compress.Compression;
import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;
import org.apache.hadoop.hbase.io.hfile.ReaderContext.ReaderType;
import org.apache.hadoop.hbase.regionserver.CellSink;
import org.apache.hadoop.hbase.regionserver.ShipperListener;
import org.apache.hadoop.hbase.util.BloomFilterWriter;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.FSUtils;
import org.apache.hadoop.io.Writable;
import org.apache.yetus.audience.InterfaceAudience;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;
import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;

/**
 * File format for hbase.
 * A file of sorted key/value pairs. Both keys and values are byte arrays.
 *

 * The memory footprint of a HFile includes the following (below is taken from the
 * TFile documentation
 * but applies also to HFile):
 *

 *
Some constant overhead of reading or writing a compressed block.
 *

 *
Each compressed block requires one compression/decompression codec for
 * I/O.
 *
Temporary space to buffer the key.
 *
Temporary space to buffer the value.
 *

 *
HFile index, which is proportional to the total number of Data Blocks.
 * The total amount of memory needed to hold the index can be estimated as
 * (56+AvgKeySize)*NumBlocks.
 *

 * Suggestions on performance optimization.
 *

 *
Minimum block size. We recommend a setting of minimum block size between
 * 8KB to 1MB for general usage. Larger block size is preferred if files are
 * primarily for sequential access. However, it would lead to inefficient random
 * access (because there are more data to decompress). Smaller blocks are good
 * for random access, but require more memory to hold the block index, and may
 * be slower to create (because we must flush the compressor stream at the
 * conclusion of each data block, which leads to an FS I/O flush). Further, due
 * to the internal caching in Compression codec, the smallest possible block
 * size would be around 20KB-30KB.
 *
The current implementation does not offer true multi-threading for
 * reading. The implementation uses FSDataInputStream seek()+read(), which is
 * shown to be much faster than positioned-read call in single thread mode.
 * However, it also means that if multiple threads attempt to access the same
 * HFile (using multiple scanners) simultaneously, the actual I/O is carried out
 * sequentially even if they access different DFS blocks (Reexamine! pread seems
 * to be 10% faster than seek+read in my testing -- stack).
 *
Compression codec. Use "none" if the data is not very compressable (by
 * compressable, I mean a compression ratio at least 2:1). Generally, use "lzo"
 * as the starting point for experimenting. "gz" overs slightly better
 * compression ratio over "lzo" but requires 4x CPU to compress and 2x CPU to
 * decompress, comparing to "lzo".
 *

 *
 * For more on the background behind HFile, see HBASE-61.
 *

 * File is made of data blocks followed by meta data blocks (if any), a fileinfo
 * block, data block index, meta data block index, and a fixed size trailer
 * which records the offsets at which file changes content type.
 *
<data blocks><meta blocks><fileinfo><
 * data index><meta index><trailer>

 * Each block has a bit of magic at its start.  Block are comprised of
 * key/values.  In data blocks, they are both byte arrays.  Metadata blocks are
 * a String key and a byte array value.  An empty file looks like this:
 *
<fileinfo><trailer>
.  That is, there are not data nor meta
 * blocks present.
 *

 * TODO: Do scanners need to be able to take a start and end row?
 * TODO: Should BlockIndex know the name of its file?  Should it have a Path
 * that points at its file say for the case where an index lives apart from
 * an HFile instance?
 */
@InterfaceAudience.Private
public final class HFile {
  // LOG is being used in HFileBlock and CheckSumUtil
  static final Logger LOG = LoggerFactory.getLogger(HFile.class);

  /**
   * Maximum length of key in HFile.
   */
  public final static int MAXIMUM_KEY_LENGTH = Integer.MAX_VALUE;

  /**
   * Default compression: none.
   */
  public final static Compression.Algorithm DEFAULT_COMPRESSION_ALGORITHM =
    Compression.Algorithm.NONE;

  /** Minimum supported HFile format version */
  public static final int MIN_FORMAT_VERSION = 2;

  /** Maximum supported HFile format version
   */
  public static final int MAX_FORMAT_VERSION = 3;

  /**
   * Minimum HFile format version with support for persisting cell tags
   */
  public static final int MIN_FORMAT_VERSION_WITH_TAGS = 3;

  /** Default compression name: none. */
  public final static String DEFAULT_COMPRESSION =
    DEFAULT_COMPRESSION_ALGORITHM.getName();

  /** Meta data block name for bloom filter bits. */
  public static final String BLOOM_FILTER_DATA_KEY = "BLOOM_FILTER_DATA";

  /**
   * We assume that HFile path ends with
   * ROOT_DIR/TABLE_NAME/REGION_NAME/CF_NAME/HFILE, so it has at least this
   * many levels of nesting. This is needed for identifying table and CF name
   * from an HFile path.
   */
  public final static int MIN_NUM_HFILE_PATH_LEVELS = 5;

  /**
   * The number of bytes per checksum.
   */
  public static final int DEFAULT_BYTES_PER_CHECKSUM = 16 * 1024;

  // For measuring number of checksum failures
  static final LongAdder CHECKSUM_FAILURES = new LongAdder();

  // For tests. Gets incremented when we read a block whether from HDFS or from Cache.
  public static final LongAdder DATABLOCK_READ_COUNT = new LongAdder();

  /** Static instance for the metrics so that HFileReaders access the same instance */
  static final MetricsIO metrics = new MetricsIO(new MetricsIOWrapperImpl());

  /**
   * Shutdown constructor.
   */
  private HFile() {}

  /**
   * Number of checksum verification failures. It also
   * clears the counter.
   */
  public static final long getAndResetChecksumFailuresCount() {
    return CHECKSUM_FAILURES.sumThenReset();
  }

  /**
   * Number of checksum verification failures. It also
   * clears the counter.
   */
  public static final long getChecksumFailuresCount() {
    return CHECKSUM_FAILURES.sum();
  }

  public static final void updateReadLatency(long latencyMillis, boolean pread) {
    if (pread) {
      metrics.updateFsPreadTime(latencyMillis);
    } else {
      metrics.updateFsReadTime(latencyMillis);
    }
  }

  public static final void updateWriteLatency(long latencyMillis) {
    metrics.updateFsWriteTime(latencyMillis);
  }

  /** API required to write an {@link HFile} */
  public interface Writer extends Closeable, CellSink, ShipperListener {
    /** Max memstore (mvcc) timestamp in FileInfo */
    public static final byte [] MAX_MEMSTORE_TS_KEY = Bytes.toBytes("MAX_MEMSTORE_TS_KEY");

    /** Add an element to the file info map. */
    void appendFileInfo(byte[] key, byte[] value) throws IOException;

    /** @return the path to this {@link HFile} */
    Path getPath();

    /**
     * Adds an inline block writer such as a multi-level block index writer or
     * a compound Bloom filter writer.
     */
    void addInlineBlockWriter(InlineBlockWriter bloomWriter);

    // The below three methods take Writables.  We'd like to undo Writables but undoing the below
    // would be pretty painful.  Could take a byte [] or a Message but we want to be backward
    // compatible around hfiles so would need to map between Message and Writable or byte [] and
    // current Writable serialization.  This would be a bit of work to little gain.  Thats my
    // thinking at moment.  St.Ack 20121129

    void appendMetaBlock(String bloomFilterMetaKey, Writable metaWriter);

    /**
     * Store general Bloom filter in the file. This does not deal with Bloom filter
     * internals but is necessary, since Bloom filters are stored differently
     * in HFile version 1 and version 2.
     */
    void addGeneralBloomFilter(BloomFilterWriter bfw);

    /**
     * Store delete family Bloom filter in the file, which is only supported in
     * HFile V2.
     */
    void addDeleteFamilyBloomFilter(BloomFilterWriter bfw) throws IOException;

    /**
     * Return the file context for the HFile this writer belongs to
     */
    HFileContext getFileContext();
  }

  /**
   * This variety of ways to construct writers is used throughout the code, and
   * we want to be able to swap writer implementations.
   */
  public static class WriterFactory {
    protected final Configuration conf;
    protected final CacheConfig cacheConf;
    protected FileSystem fs;
    protected Path path;
    protected FSDataOutputStream ostream;
    protected InetSocketAddress[] favoredNodes;
    private HFileContext fileContext;
    protected boolean shouldDropBehind = false;

    WriterFactory(Configuration conf, CacheConfig cacheConf) {
      this.conf = conf;
      this.cacheConf = cacheConf;
    }

    public WriterFactory withPath(FileSystem fs, Path path) {
      Preconditions.checkNotNull(fs);
      Preconditions.checkNotNull(path);
      this.fs = fs;
      this.path = path;
      return this;
    }

    public WriterFactory withOutputStream(FSDataOutputStream ostream) {
      Preconditions.checkNotNull(ostream);
      this.ostream = ostream;
      return this;
    }

    public WriterFactory withFavoredNodes(InetSocketAddress[] favoredNodes) {
      // Deliberately not checking for null here.
      this.favoredNodes = favoredNodes;
      return this;
    }

    public WriterFactory withFileContext(HFileContext fileContext) {
      this.fileContext = fileContext;
      return this;
    }

    public WriterFactory withShouldDropCacheBehind(boolean shouldDropBehind) {
      this.shouldDropBehind = shouldDropBehind;
      return this;
    }

    public Writer create() throws IOException {
      if ((path != null ? 1 : 0) + (ostream != null ? 1 : 0) != 1) {
        throw new AssertionError("Please specify exactly one of " +
            "filesystem/path or path");
      }
      if (path != null) {
        ostream = HFileWriterImpl.createOutputStream(conf, fs, path, favoredNodes);
        try {
          ostream.setDropBehind(shouldDropBehind && cacheConf.shouldDropBehindCompaction());
        } catch (UnsupportedOperationException uoe) {
          LOG.trace("Unable to set drop behind on {}", path, uoe);
          LOG.debug("Unable to set drop behind on {}", path.getName());
        }
      }
      return new HFileWriterImpl(conf, cacheConf, path, ostream, fileContext);
    }
  }

  /** The configuration key for HFile version to use for new files */
  public static final String FORMAT_VERSION_KEY = "hfile.format.version";

  public static int getFormatVersion(Configuration conf) {
    int version = conf.getInt(FORMAT_VERSION_KEY, MAX_FORMAT_VERSION);
    checkFormatVersion(version);
    return version;
  }

  /**
   * Returns the factory to be used to create {@link HFile} writers.
   * Disables block cache access for all writers created through the
   * returned factory.
   */
  public static final WriterFactory getWriterFactoryNoCache(Configuration
       conf) {
    return HFile.getWriterFactory(conf, CacheConfig.DISABLED);
  }

  /**
   * Returns the factory to be used to create {@link HFile} writers
   */
  public static final WriterFactory getWriterFactory(Configuration conf,
      CacheConfig cacheConf) {
    int version = getFormatVersion(conf);
    switch (version) {
      case 2:
        throw new IllegalArgumentException("This should never happen. " +
          "Did you change hfile.format.version to read v2? This version of the software writes v3" +
          " hfiles only (but it can read v2 files without having to update hfile.format.version " +
          "in hbase-site.xml)");
      case 3:
        return new HFile.WriterFactory(conf, cacheConf);
      default:
        throw new IllegalArgumentException("Cannot create writer for HFile " +
            "format version " + version);
    }
  }

  /**
   * An abstraction used by the block index.
   * Implementations will check cache for any asked-for block and return cached block if found.
   * Otherwise, after reading from fs, will try and put block into cache before returning.
   */
  public interface CachingBlockReader {
    /**
     * Read in a file block.
     * @param offset offset to read.
     * @param onDiskBlockSize size of the block
     * @param isCompaction is this block being read as part of a compaction
     * @param expectedBlockType the block type we are expecting to read with this read operation,
     *   or null to read whatever block type is available and avoid checking (that might reduce
     *   caching efficiency of encoded data blocks)
     * @param expectedDataBlockEncoding the data block encoding the caller is expecting data blocks
     *   to be in, or null to not perform this check and return the block irrespective of the
     *   encoding. This check only applies to data blocks and can be set to null when the caller is
     *   expecting to read a non-data block and has set expectedBlockType accordingly.
     * @return Block wrapped in a ByteBuffer.
     */
    HFileBlock readBlock(long offset, long onDiskBlockSize,
        boolean cacheBlock, final boolean pread, final boolean isCompaction,
        final boolean updateCacheMetrics, BlockType expectedBlockType,
        DataBlockEncoding expectedDataBlockEncoding)
        throws IOException;
  }

  /** An interface used by clients to open and iterate an {@link HFile}. */
  public interface Reader extends Closeable, CachingBlockReader {
    /**
     * Returns this reader's "name". Usually the last component of the path.
     * Needs to be constant as the file is being moved to support caching on
     * write.
     */
    String getName();

    CellComparator getComparator();

    HFileScanner getScanner(boolean cacheBlocks, final boolean pread, final boolean isCompaction);

    HFileBlock getMetaBlock(String metaBlockName, boolean cacheBlock) throws IOException;

    Optional<Cell> getLastKey();

    Optional<Cell> midKey() throws IOException;

    long length();

    long getEntries();

    Optional<Cell> getFirstKey();

    long indexSize();

    Optional<byte[]> getFirstRowKey();

    Optional<byte[]> getLastRowKey();

    FixedFileTrailer getTrailer();

    void setDataBlockIndexReader(HFileBlockIndex.CellBasedKeyBlockIndexReader reader);
    HFileBlockIndex.CellBasedKeyBlockIndexReader getDataBlockIndexReader();

    void setMetaBlockIndexReader(HFileBlockIndex.ByteArrayKeyBlockIndexReader reader);
    HFileBlockIndex.ByteArrayKeyBlockIndexReader getMetaBlockIndexReader();

    HFileScanner getScanner(boolean cacheBlocks, boolean pread);

    /**
     * Retrieves general Bloom filter metadata as appropriate for each
     * {@link HFile} version.
     * Knows nothing about how that metadata is structured.
     */
    DataInput getGeneralBloomFilterMetadata() throws IOException;

    /**
     * Retrieves delete family Bloom filter metadata as appropriate for each
     * {@link HFile}  version.
     * Knows nothing about how that metadata is structured.
     */
    DataInput getDeleteBloomFilterMetadata() throws IOException;

    Path getPath();

    /** Close method with optional evictOnClose */
    void close(boolean evictOnClose) throws IOException;

    DataBlockEncoding getDataBlockEncoding();

    boolean hasMVCCInfo();

    /**
     * Return the file context of the HFile this reader belongs to
     */
    HFileContext getFileContext();

    boolean isPrimaryReplicaReader();

    DataBlockEncoding getEffectiveEncodingInCache(boolean isCompaction);

    @VisibleForTesting
    HFileBlock.FSReader getUncachedBlockReader();

    @VisibleForTesting
    boolean prefetchComplete();

    /**
     * To close the stream's socket. Note: This can be concurrently called from multiple threads and
     * implementation should take care of thread safety.
     */
    void unbufferStream();

    ReaderContext getContext();
    HFileInfo getHFileInfo();
    void setDataBlockEncoder(HFileDataBlockEncoder dataBlockEncoder);
  }

  /**
   * Method returns the reader given the specified arguments.
   * TODO This is a bad abstraction.  See HBASE-6635.
   *
   * @param context Reader context info
   * @param fileInfo HFile info
   * @param cacheConf Cache configuation values, cannot be null.
   * @param conf Configuration
   * @return an appropriate instance of HFileReader
   * @throws IOException If file is invalid, will throw CorruptHFileException flavored IOException
   */
  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="SF_SWITCH_FALLTHROUGH",
      justification="Intentional")
  public static Reader createReader(ReaderContext context, HFileInfo fileInfo,
      CacheConfig cacheConf, Configuration conf) throws IOException {
    try {
      if (context.getReaderType() == ReaderType.STREAM) {
        // stream reader will share trailer with pread reader, see HFileStreamReader#copyFields
        return new HFileStreamReader(context, fileInfo, cacheConf, conf);
      }
      FixedFileTrailer trailer = fileInfo.getTrailer();
      switch (trailer.getMajorVersion()) {
        case 2:
          LOG.debug("Opening HFile v2 with v3 reader");
          // Fall through. FindBugs: SF_SWITCH_FALLTHROUGH
        case 3:
          return new HFilePreadReader(context, fileInfo, cacheConf, conf);
        default:
          throw new IllegalArgumentException("Invalid HFile version " + trailer.getMajorVersion());
      }
    } catch (Throwable t) {
      IOUtils.closeQuietly(context.getInputStreamWrapper());
      throw new CorruptHFileException("Problem reading HFile Trailer from file "
          + context.getFilePath(), t);
    } finally {
      context.getInputStreamWrapper().unbuffer();
    }
  }

  /**
   * Creates reader with cache configuration disabled
   * @param fs filesystem
   * @param path Path to file to read
   * @param conf Configuration
   * @return an active Reader instance
   * @throws IOException Will throw a CorruptHFileException
   *   (DoNotRetryIOException subtype) if hfile is corrupt/invalid.
   */
  public static Reader createReader(FileSystem fs, Path path, Configuration conf)
      throws IOException {
    // The primaryReplicaReader is mainly used for constructing block cache key, so if we do not use
    // block cache then it is OK to set it as any value. We use true here.
    return createReader(fs, path, CacheConfig.DISABLED, true, conf);
  }

  /**
   * @param fs filesystem
   * @param path Path to file to read
   * @param cacheConf This must not be null. @see
   *          {@link org.apache.hadoop.hbase.io.hfile.CacheConfig#CacheConfig(Configuration)}
   * @param primaryReplicaReader true if this is a reader for primary replica
   * @param conf Configuration
   * @return an active Reader instance
   * @throws IOException Will throw a CorruptHFileException (DoNotRetryIOException subtype) if hfile
   *           is corrupt/invalid.
   */
  public static Reader createReader(FileSystem fs, Path path, CacheConfig cacheConf,
      boolean primaryReplicaReader, Configuration conf) throws IOException {
    Preconditions.checkNotNull(cacheConf, "Cannot create Reader with null CacheConf");
    FSDataInputStreamWrapper stream = new FSDataInputStreamWrapper(fs, path);
    ReaderContext context = new ReaderContextBuilder()
        .withFilePath(path)
        .withInputStreamWrapper(stream)
        .withFileSize(fs.getFileStatus(path).getLen())
        .withFileSystem(stream.getHfs())
        .withPrimaryReplicaReader(primaryReplicaReader)
        .withReaderType(ReaderType.PREAD)
        .build();
    HFileInfo fileInfo = new HFileInfo(context, conf);
    Reader reader = createReader(context, fileInfo, cacheConf, conf);
    fileInfo.initMetaAndIndex(reader);
    return reader;
  }

  /**
   * Returns true if the specified file has a valid HFile Trailer.
   * @param fs filesystem
   * @param path Path to file to verify
   * @return true if the file has a valid HFile Trailer, otherwise false
   * @throws IOException if failed to read from the underlying stream
   */
  public static boolean isHFileFormat(final FileSystem fs, final Path path) throws IOException {
    return isHFileFormat(fs, fs.getFileStatus(path));
  }

  /**
   * Returns true if the specified file has a valid HFile Trailer.
   * @param fs filesystem
   * @param fileStatus the file to verify
   * @return true if the file has a valid HFile Trailer, otherwise false
   * @throws IOException if failed to read from the underlying stream
   */
  public static boolean isHFileFormat(final FileSystem fs, final FileStatus fileStatus)
      throws IOException {
    final Path path = fileStatus.getPath();
    final long size = fileStatus.getLen();
    try (FSDataInputStreamWrapper fsdis = new FSDataInputStreamWrapper(fs, path)) {
      boolean isHBaseChecksum = fsdis.shouldUseHBaseChecksum();
      assert !isHBaseChecksum; // Initially we must read with FS checksum.
      FixedFileTrailer.readFromStream(fsdis.getStream(isHBaseChecksum), size);
      return true;
    } catch (IllegalArgumentException e) {
      return false;
    }
  }

  /**
   * Get names of supported compression algorithms. The names are acceptable by
   * HFile.Writer.
   *
   * @return Array of strings, each represents a supported compression
   *         algorithm. Currently, the following compression algorithms are
   *         supported.
   *

   *
"none" - No compression.
   *
"gz" - GZIP compression.
   *

   */
  public static String[] getSupportedCompressionAlgorithms() {
    return Compression.getSupportedAlgorithms();
  }

  // Utility methods.
  /*
   * @param l Long to convert to an int.
   * @return l cast as an int.
   */
  static int longToInt(final long l) {
    // Expecting the size() of a block not exceeding 4GB. Assuming the
    // size() will wrap to negative integer if it exceeds 2GB (From tfile).
    return (int)(l & 0x00000000ffffffffL);
  }

  /**
   * Returns all HFiles belonging to the given region directory. Could return an
   * empty list.
   *
   * @param fs  The file system reference.
   * @param regionDir  The region directory to scan.
   * @return The list of files found.
   * @throws IOException When scanning the files fails.
   */
  public static List<Path> getStoreFiles(FileSystem fs, Path regionDir)
      throws IOException {
    List<Path> regionHFiles = new ArrayList<>();
    PathFilter dirFilter = new FSUtils.DirFilter(fs);
    FileStatus[] familyDirs = fs.listStatus(regionDir, dirFilter);
    for(FileStatus dir : familyDirs) {
      FileStatus[] files = fs.listStatus(dir.getPath());
      for (FileStatus file : files) {
        if (!file.isDirectory() &&
            (!file.getPath().toString().contains(HConstants.HREGION_OLDLOGDIR_NAME)) &&
            (!file.getPath().toString().contains(HConstants.RECOVERED_EDITS_DIR))) {
          regionHFiles.add(file.getPath());
        }
      }
    }
    return regionHFiles;
  }

  /**
   * Checks the given {@link HFile} format version, and throws an exception if
   * invalid. Note that if the version number comes from an input file and has
   * not been verified, the caller needs to re-throw an {@link IOException} to
   * indicate that this is not a software error, but corrupted input.
   *
   * @param version an HFile version
   * @throws IllegalArgumentException if the version is invalid
   */
  public static void checkFormatVersion(int version)
      throws IllegalArgumentException {
    if (version < MIN_FORMAT_VERSION || version > MAX_FORMAT_VERSION) {
      throw new IllegalArgumentException("Invalid HFile version: " + version
          + " (expected to be " + "between " + MIN_FORMAT_VERSION + " and "
          + MAX_FORMAT_VERSION + ")");
    }
  }

  public static void checkHFileVersion(final Configuration c) {
    int version = c.getInt(FORMAT_VERSION_KEY, MAX_FORMAT_VERSION);
    if (version < MAX_FORMAT_VERSION || version > MAX_FORMAT_VERSION) {
      throw new IllegalArgumentException("The setting for " + FORMAT_VERSION_KEY +
        " (in your hbase-*.xml files) is " + version + " which does not match " +
        MAX_FORMAT_VERSION +
        "; are you running with a configuration from an older or newer hbase install (an " +
        "incompatible hbase-default.xml or hbase-site.xml on your CLASSPATH)?");
    }
  }

  public static void main(String[] args) throws Exception {
    // delegate to preserve old behavior
    HFilePrettyPrinter.main(args);
  }
}


text:
No one could have predicted…
The willow is too close to the house.
Motto for the House: Flip 5 and lose none.
Speaking of republicans, is there a way for a political party to declare intellectual bankruptcy?
Let me eat cake. The rest of you could stand to lose some weight, frankly.
Optimism opens the door to great things.
Presidents are not kings, and Plaintiff is not President.
Is it irresponsible to speculate? It is irresponsible not to.
Battle won, war still ongoing.
fuckem (in honor of the late great efgoldman)
John Fetterman: Too Manly for Pennsylvania. Paid for by the Oz for Senator campaign.
Why did Dr. Oz lose? well, according to the exit polls, it's because Fetterman won.
Give the craziest people you know everything they want and hope they don't ask for more? Great plan.
You are here: Home / Music / Early Morning Open Thread: On With the Song
Early Morning Open Thread: On With the Song
by Anne Laurie | November 11, 2012 4:30 am | 107 Comments
This post is in: Music, Open Threads, Romney of the Uncanny Valley
Garry Wills, in the NY Review of Books, on "What Romney Lost":
… Many losing candidates became elder statesmen of their parties. What lessons will Romney have to teach his party? The art of crawling uselessly? How to contemn 47 percent of Americans less privileged and beautiful than his family? How to repudiate the past while damaging the future? It is said that he will write a book. Really? Does he want to relive a five-year-long experience of degradation? What can be worse than to sell your soul and find it not valuable enough to get anything for it? His friends can only hope he is too morally obtuse to realize that crushing truth. Losing elections is one thing. But the greater loss, the real loss, is the loss of honor.
(Thank you, commentor peorgietirebiter, for the birthday present link!)
Previous Post: « Good
Next Post: Romney's Legacy »
Losing elections is one thing. But the greater loss, the real loss, is the loss of honor.
Assumes facts not in evidence, i.e., that he had any honor to lose.
? Martin
Romney brought nothing to the debate. Obama and Hillary brought health care in 2008 – an issue that was barely even alive in the national dialogue at the time – carried the issue through the general (at a time that the country was distracted with other things) and then delivered on it.
A losing candidate that at least brings something to the national stage can return as an elder statesman. I don't see that Romney has anything to offer – no office to return to, no ideas to champion. His biggest contribution (and one he might be perfectly content with) was to lower the barrier to entry of Mormons to national office. That alone is a fairly noble thing, in fact. (I personally don't find Mormons to be any nuttier than any other religious group – they're all pretty nutty, so why object to one over the others?)
Karmus
Happy birthday. Let us eat cake!
JGabriel
Explosion in Indianopolis:
A deafening explosion that leveled two homes and set two others ablaze forced about 200 people from a devastated Indianapolis neighborhood overnight. Authorities said one body was recovered after the flames were extinguished from the blast that shattered windows, crumpled walls and did other damage to dozens of other homes. …
"This looks like a war zone; it really does," Hensley told The Associated Press. "Police officers and fire department officials remain at the scene searching for other possible victims. They've brought in search lights as they look through the ruined homes." …
The cause of the explosion and fires wasn't immediately clear, but Indianapolis Mayor Greg Ballard immediately squelched initial speculation of a possible plane crash. "It was so strong that it clearly had an effect for blocks," Ballard said while grey clouds of smoke still billowed after the fires were contained.
Sounds pretty bad.
mittbot has got zilch political belief or ideology to be considered as an 'elderly statesman'. His sole belief is money, money, money and power if he can get it. It wasn't him that turned out the rabid 'base' in 2012, it was the blackety black and their visceral hatred for him.
What can be worse than to sell your soul and find it not valuable enough to get anything for it?
Just thought I'd highlight what TBogg bolded earlier. Fucking brutal.
Thoughts with Indy right now. Hope the feds are all over this bullshit.
Snarki, child of Loki
Willard? Write a book? Don't be silly!
He has people that have people that would do that for him.
But if Willard did feel the insatiable need to write a book, I'm sure it would be something along the lines of:
"The Underpants Gnome's Guide to Success"
150 pages of "1. blah blah 2. ??? 3. PROFIT!"
could be bestseller with the MBA crowd…
tokyo ex-pat
Happy Birthday! It just happens to be my birthday too, though it's coming to an end on this side of the Pacific.
Thanks as always for another Early Morning Thread that puts a smile on my face. I really needed it after talking to my mom this morning to discover how upset she was Romney lost. She wanted a change because the economy still sucks and rich people will buy things if Romney wins. Of course, she didn't know how he would accomplish this, he just would. Sometimes I really feel we do live in two Americas, and it's not the one Edwards preached–it's the clued in vs. the clueless. SIGH.
Anyway, cheers to getting another year younger! Mr. Tokyo is going to be opening a very nice bottle of wine to celebrate. I'll raise a glass your way.
It's Sunday morn and Mitt is still the looser. Life is good.
Robert Sneddon
Just had the two minutes silence here in the UK, the BBC broadcasting the ceremony at the Cenotaph in London with no stupid commentary over the silence as is traditional and proper. Nice to see Phil the Greek back on his feet again; he's been in and out of hospital over the past six months.
Thomas Friedman has a column up about Israel. It's not actually that bad a column – basically, it's an open letter to Netanyahu calling him out for the assho|e he is, for lacking any serious intention towards peace, and for becoming dependent on the American Taliban and the Teabaggers.
Still, the part that I think will be justly mocked is this:
there will surely be a new secretary of state visiting you next year with the umpteenth road map for "confidence-building measures" between Israelis and Palestinians. He or she may even tell you that "this is the year of decision." Be careful. We've been there before. If you Google "Year of decision in the Middle East," you'll get more than 100,000,000 links.
A rather unremarkable sentiment – until you remember that the man writing it is the discoverer of the Friedman Unit
Happy Birthday! November is a banner month for those on the site celebrating their birthdays. Happy Birthday to all.
@Napoleon: And breitbart is still dead.
@amk:
Thanks for reminding me!
Mustang Bobby
Let's also remember that today is Veterans Day by the calendar even though the actual holiday (banks and schools closed) is tomorrow. I'm old enough to remember it being called Armistice Day by a lot of people.
Whatever you call it and whenever you mark it, thank a veteran. A lot of them — including my dad and his twin brother — signed up or were drafted to do something that was for the greater good rather than the one, and a lot of them still carry the burden of that service.
@amk: Thank god!
I woke at 5:30 and put on McLaughlin report and before coffee all I heard was blah, blah, blah. They were discussing whether or not the President had a mandate. Pat Buckyman did mention that those who voted for the President wanted free stuff i.e. food, education and medicine and of course, he had to mention the brown factor. Public education has been part of our foundation for hundreds of years and Pat is still bitching about it.
well as much as I loved Rachael Maddow's reachout to the dark side, I'm still a bit dubious that anyone over there is still listening. Maybe we can continue to reach a few folks that will come to see that the Heath Care changes are a tangible good for folks and we can continue to improve upon it.
That most difficult of tasks is puncturing that media bubble and bringing home some basics truths…
1) taxes are not evil… they pay for services that we all need from roads to food inspection to national defense.
2) if the debt was so goddamn important, why did the R's not raise taxes to pay for the wars?
3) If a fetus is so "sacred", why in the hell are they so intent on defunding one of the best agencies to ensure that they are born healthy and whole?
4) if the government isn't worthy to "decide" about your healthcare, how in the fuck are your employer and their lowest bidder insurance company any better?
5) if regulation is in place to ensure safety and fairness, why in the hell are they against those principals?
and as a plaintive cry, why doesn't anyone in the media ever ask anything like that?
@piratedan: this
If the republicans assume that they will win future elections simply by passing the dream act they are wrong. My under forty sons appreciate public education. They understand that climate change is real. They want their significant others to be able to control their own bodies and they want their mom to enjoy her retirement years without the fear that medicare will cease to be. Color might be a fun thing for the media to focus on but this election was about a lot more than that. The repubs are a pro-fetus party run by a bunch of white guys who believe in creationism.
eric nny
@amk: To money I would add self-aggrandizement. It's been obvious since his days as governor that he really doesn't care about governing.
@JGabriel:
didn't someone on another thread mention IED's?
Kirbster
Mitt already wrote a book called "No Apology" that was published in 2010, in preparation for his second run at the Republican presidential nomination. I think there was a revised edition in 2012. I guess he had to revise his "core principles" or something, a seemingly standard operating procedure for Mr. Romney. The book is probably still available and deeply discounted on the remainder shelves and in dollar stores across the land. The man has no reason to humiliate himself further.
I've enjoyed gorging on the shadenfreude as much as anyone for the last few days, but it's time to move on. President Obama is really no more "liberal" or "radical" than Dwight David Eisenhower, and I'm tired of the hyperbolic doomsday screeching of the Bircherites.
If ol' Mitt was "shellshocked" by the events of Tuesday, wait until it sinks in that the party doesn't provide a golden parachute for leaving losing his position as its hired chosen big cheese.
WereBear
Mr WereBear quizzed me this morning on the "meaning of the holiday" and was happy I passed. He spent the night Facebooking pictures of tombstones in Arlington which did not have Christian crosses on them. I thought that was lovely of him.
I have revamped my main site and am so pleased with it I must tell everyone. Ya'll certainly qualify.
Also, in honor of Steeplejack's tale of how his cat renamed his documents folder, a recent post:
Magic Behinds
Gindy51
@? Martin: Read "One Nation Under Gods" and your mind will change, rapidly.
Hillary Rettig
I consider this the best election I've personally experienced (I'm 54), and wondering if others feel the same way.
Happy birthday AL!
Phylllis
Happy Birthday AL.
Happy birthday, Anne Laurie! We'll raise a glass to you at McGee's this afternoon.
mai naem
It's my mom's birthday too.
I need to put myself on a limited diet of schadenfreude everyday. There's way too much stuff everywhere you turn. Anyhow this is the youtube piece – somebody posted it in last night's thread. I think one of the FP's should post it.
A Dem going into Grover Norquist's election partay to announce Obama's reelection.
http://www.youtube.com/watch?v=APFPu_l_E4E&list=UUqnNwDrVNb0_SQnJKXRz2_g
I really need to stop this because this sheet is going to come bite me in the ass in two years.
Is there a single issue or principle that Romney held on to? Is there a single person (outside his immediate family) who is a member of a Romney 'constituency'? My old friends in the DC political-staff world regarded him with contempt as a weakling and a pushover: "He can't even stand up to Newt Gingrich."
Now that the third woman in the Petraeus affair has been identified as someone in FL, I hope that it's Limbaugh's wife. IMO that would be a perfect end to Shadenfreude Week.
Grumpy Code Monkey
@piratedan:
well as much as I loved Rachael Maddow's reachout to the dark side, I'm still a bit dubious that anyone over there is still listening.
Believe it or don't, Frum is saying the same things. My wife's been reading his "Why Romney Lost" e-book (which he's obviously been working on for far longer than Romney was the candidate), and he's calling for a return to sanity (by our definition of sanity).
Yes, he's still a neo-con, he's still responsible for the whole "Axis of Evil" bullshit, but he's also correct that the insanity of the GOP followership (as he calls it) is due to having been systematically lied to by Fox News, Limbaugh, and all the other usual suspects. He also pointed out that alienating and insulting large groups of people is a really good way to motivate them to vote against you. He's calling out exactly the same bullshit that Rachel was calling out.
Of course, Frum is now persona non grata in the GOP because he dared point out that the emperor was showing a little skin, so it's doubtful his advice will be taken to heart, but he's identified many of the problems plaguing the modern GOP and proposed reasonable solutions for them.
@ Hillary Rettig
A bit more long in the tooth, so would have to rate the JFK win at the top in my book.
The vitality, optimism and can-do attitude which immediately infused the zeitgeist was palpable, almost irresistibly infectious and non-transitory.
I expect, for those who were there at the time, that FDR in '32 was even more so.
media morons fighting over the carcass of gop.
As moderates see it, the "conservative entertainment complex" of talk radio, Fox News, and right-wing blogs has an outsized and potentially fatal influence over the party, alienating Latinos with crass solutions to illegal immigration ("self-deportation") and insulting women with disrespectful remarks about abortion and birth control.
"If you look at the Republican Party over the last couple of years, it is a tail-wag-the-dog story with the power and the influence of the conservative entertainment complex over elected leadership," Schmidt, the senior campaign strategist on Sen. John McCain's 2008 presidential campaign, told POLITICO. "Ronald Reagan would have been appalled by this uncivil tone. Conservatism with a smile has appeal. Conservatism with a snarl is a voter repellent."
Far from accepting this premise, the far right is retrenching.
yeah, fuck fucked up blockquotes here.
@JPL: linky for her identification?
Happy unbirthday to all the rest of us!
The party does not lose, it can only … or is that you will be … uh, I mean, you can only lose the … uh, not right. Damn, Rmoney is a fucking loser big time and the party is a group of stupid old white men like turd blossom that are all sucking off the party's tits.
Mitt Romney is going to go back to a lot of the places he visited on the campaign trail to catch back up with the wonderful, grassroots conservatives he came to know, and love, and grow close with.
Those aren't the sorts of personal ties he wants to lose. And he's really, really learned a lot about their struggles and hardships.
I can't imagine that he would be able to live with himself if he had just done all that on the campaign and not go back and do what he could personally to keep in touch and help them out.
He's that kind of guy, so caring, so approachable.
@El Cid: You crack me up :)
Nobody listens to Frum… because he makes sense. It's like telling someone they can get rid of the stink in the living room by throwing out all their furniture, because it was made of crap.
They're all, "But then I won't have any furniture!"
Ash Can
Happy birthday AL, and here's to Mitt quietly disappearing into retirement, enjoying his extended family and his money and never darkening the political landscape again.
As for Indy, it sounds like a hell of a gas leak. Those can be really nasty.
Btw, Moore and Galloway's follow-up to We Were Soldiers Once, We Are Soldiers Still is a $1.99 Kindle Daily Deal today for Veteran's Day.
Those are all excellent questions. The answer you'll get from them is something along the lines of "socia1ism, shut up, that's why".
@JPL: Nah, it's got to be that crazy astronaut woman who drove down to Florida with the adult diapers so she wouldn't have to stop for gas. Even if she's in prison, they probably give her access to a computer. Schadenfreude would be if the third person was Allen West.
Literalreddy
Sometimes she acts likes the Queen of the Village, but other times you see what got her a column in the NY Times.
From Maureen Dowd…Romney is President.
@El Cid:
SiubhanDuinne
@Hillary Rettig:
I'm 70, and I agree.
leeleeFL
I was 9 in 1960, so JFK was huge. But, the country was much more idealistic then, so I think this re-election is the greatest since FDR 1932. More people decided to be idealistic and cast their vote and their lot with the dream of America. That's huge squared. We need to keep OFA in the fight for the foreseeable future. And getting redistricting by civilian commission in place, as well as fighting against voter-suppresion is now job one. Anytime a group of people are trying to make it harder to vote, they are the bad guys. That is aa message that needs to be driven like a Corvette thru the bullshit. Scadenfreude on a limited level is fine. But we need to keep our eyes on the prize.
@Valdivia: It was on boing, boing or bloomberg, I can't remember which. It did not provide a name though. I will look through my morning reads and provide you with a link.
I still sometimes think this whole thing was thought up by Romney as a massive grift. Part of the way Abramoff and Delay worked was that the donations came into a fake charity with a minimal amount of money going to charity work and the rest of it going to various administrative costs which would be the labor cost of family members of Republican congressmen. The campaign isn't even a charity. The money could be going to shell corporations providing so called consultant services to the campaign. As long as the numbers look somewhat reasonable, I doubt the FEC looks at every subcontractor. I figure Mitt with his family could have taken home $150-200 million. And there's no downside because if he did win he could have his family and friends get all kinds of government contracts.
@Hillary Rettig: I too am 54, and as much fun as this has been, I have to say that 2008 was better IMO, because the Dems had the House too, which made it obvious that good things were imminent.
Schlemizel
@Grumpy Code Monkey:
I know we need a sane opposition party to have a healthy democracy but, right now emotionally, I hope the GOP does not catch on for a couple of election cycles at least. It would be nice to be able to dominate DC and start weeding out the infectious puss injected by 30 years of wingnut domination.
It would be great to clean house at the state level in many places too.
And it would be every so great to have Lamebrain, O'liely, Insannity, and all the others become foaming at the mouth basket cases as they try shrieking louder while watching their audience dwindle and the crazy-gravy train leaves them forever
Saw Alfred Hitchcock talk about scaring people. He said something along the line that a crazy killer is nowhere near as scary as a calm, rational, smiling killer.
Thats certainly the case for St. Ronald; he was one scary mofacky, smiling and joking while he bled this country
@Valdivia: Boing, Boing
The WSJ's late-Saturday story follows a love triangle narrative: the Florida woman's complaint "alleged Ms. Broadwell was sending harassing emails to her about the nature of the relationship between Mr. Petraeus and the Florida woman," and while no reporters claim to have seen the emails' contents, "people familiar with the investigations said they suggested Ms. Broadwell suspected the other woman was in a relationship with Mr. Petraeus." There is no evidence her suspicions were true, the WSJ adds.
boing, boing
Happy birthday Anne, and many blessings on your path to the next one.
I suffered, more each year, for eight long years during the Bush Administration.
I watched my country degenerate into moral turpitude, historic institutions treated like discarded tissues, blatant hate and manipulation… oh, and on a selfish note, my financial future run through the wood chipper.
Now, finally, these evil shitheads are whining and complaining? Fine by me! I can't get enough. I have a freakin' AWARENESS deficit that has not touched bottom yet.
Over Macho Grande? I'll never get over Macho Grande!
Nick Gillespie robot sex bait
Also, happy birthday!
hep kitty
@Grumpy Code Monkey: That is so incredibly ironic since I remember when Rachel's show first started and he was a guest on her show and he was incredibly condescending and rude to her.
I've sort of loathed him ever since.
Happy B'day Anne and tokyo ex-pat and mi nyms mom et al.
I'd also like to which peace and health to all the veterans. I know first hand the struggles vet can have in getting help and how little those who love to hide behind them are willing to do for them. Its dated a bit now but Kiplings "Tommy" makes the point pretty well:
http://quotations.about.com/cs/poemlyrics/a/Tommy.htm
MazeDancer
Happy Birthday, Anne Laurie!
May all your best wishes come true. (Like they did on Tuesday!)
Barber has pulled ahead in AZ-2. There are still 630,000 votes to be counted statewide, though. That's almost a 1/5th of the total vote, by my rough calculation.
@Literalreddy: I'm seeing that column get a lot of love, but I'm not feeling it. So much of what she says about Obama ("Barry") is predicated on the notion that he was a big do-nothing promise breaker for his entire first term. Like Stewart, she'd be a lot better on Obama if she weren't hung up on the hipper/smarter/more Disappointed-than-thou schtick.
Admirably succinct:
"The election was a wake-up call," said one veteran Republican in the House. For many members, "everyone they knew hated Obama. Everyone they knew agreed exactly with them. And then we lost."
@hep kitty:
You don't have to like Frum to agree with him, or point out when he's right (hell, the universe is big enough that I can agree with Pat Buchanan on at least one or two issues).
We don't have to forgive Frum his sins to acknowledge that he's right on this issue (both in the diagnosis and the proposed treatment).
PurpleGirl
@El Cid: Your snark is subtle and wonderful.
@Jim, Foolish Literalist:
That was my feeling as well. The second half of the column was bullshit.
I bet Friedman thinks the next six months will be important. The man has no credibility after his prognostications after the Iraq war.
@JPL:
I'm celebrating the fact that a preening buffoon like Mittens will never be Commander-in-Chief.
@Grumpy Code Monkey: case in point: Buchanan opposed Mr Frum's splendid little war. But Frum raises another problem: the total amnesia of our political class wrt the Iraq War. Every time I hear a Republican talk about deficit and debt, even more so when I hear a 'centrist' pundit talk about Republicans as the party of 'fiscal responsibility', I wonder if a flash card that said "Iraq" would trigger any kind of synaptic response. And the cost of that war in dollars, on Veterans Day, should be fifth or sixth on the list of reasons it was, and remains, one of the biggest mistakes this country has ever made.
Also, like hep kitty, I can't get past that TRMS appearance. Frum reached a level of priggish self-righteousness and moralizing condescension–Rachel Maddow's jocularity is the reason our politics are so bitter– that would've made Cotton Mather roll his eyes and say "Sheesh, what an asshole". A little humility ought to be required of the author of not just the "axis of evil" speech, but of "The Right Man" why George W Bush is the most awesome president ever!
Furthermore, if the debt was so important, why didn't the GOP include the two wars in the debt? Why did they use supplemental funding? Don't they want to make sure we include everything?
Higgs Boson's Mate
Happy birthday, Anne. May none of your presents be "practical" ones.
Happy Veterans Day to all of my brothers and sisters who have served.
Svensker
Happy birthday, AL, and other BJ boys and girls!
Can I wait until tomorrow before I stop sloshing around in the tub o' schadenfreude? All ten toes aren't quite all puckery yet.
Happy birthday, AL.
Thank you to all Vets.
On this point our side already won but the corporate media insists on advancing GOP talking points. Here's the exit polls on taxes:
Income Tax Rates Should Be…
Increased for $250k+: 47%
Not increased: 35%
Increased for all: 13%
As we all remember the president ran on raising taxes for $250k+ and 60% of the voters agreed. So, our side won that argument, we just need to repeat it over and over again.
Again, this is all true. Point is, Frum is one of the few guys on the right who understands what's really wrong with the GOP. It is ironic that he's the voice of sanity in this argument, but there it is.
robertdsc-iPhone 4
Happy birthday, Anne Laurie. :)
As for the GOP, I despise them. But I did have some fun at work after Tuesday because I know there are some hard core Teabaggers on my delivery route. I laughed to myself at seeing them in their doldrums. Fuck them and their ilk.
Uncle Cosmo
@PeakVT: Um…sorry, no. Or at least, no longer:
The hand-picked successor of former Democratic Rep. Gabrielle Giffords lost his tiny lead after pulling slightly ahead of his Republican challenger for the first time Friday….Results posted early Saturday show Democrat Ron Barber behind Martha McSally by 36 votes out of more than 250,000 cast in the 2nd Congressional District race.
Brother Shotgun of Sweet Reason
@NotMax: Since I was growing up in a Republican family at the time, I'd have to say no, the JFK election wasn't a big thrill for us.
Thinking back on it, I'd have to go with Obama winning the PA primary in 2008 as the best election result I can remember. It helped that I worked that one, too. For general elections, I rate 2008 as a bigger deal than this one. Tougher opponent and the result was indeterminate for most of the way. And just as important for the direction of the country.
dmsilev
@Anya: Yes, but those 47% are the moochers and takers that Mitt Romney talked about, so they don't count.
@Jim, Foolish Literalist: nobody listens to frum because he's a self-righteous douchebag. Did he ever apologize for enabling the Iraq war?
Unfortunately that is a large part of her schtick. You take what you can get in the MSM. They are finally saying what we have been seeing for a while now.
@Uncle Cosmo: Read down farther, idiot.
Results posted late in the afternoon showed Barber with a lead of nearly 600 votes over McSally in the 2nd Congressional District race. Nearly a quarter-million votes have been counted but there are still thousands of ballots to count in the district that includes parts of Tucson and Pima County and all of Cochise County.
@Kirbster: If you're tired now, wait until next year this time. They are going to howl, scream, and wet themselves into the wilderness, and we're going to witness it. Whether we want to or not.
Steeplejack
@WereBear:
Your site makeover looks really good. Very clean and accessible.
The housecat is beside me on her heated throw right now. She still likes to get on the keyboard now and then, but I've minimized the damage by setting up the password lock feature and activating it when I'm away from the computer. About all she can do now is turn off the computer, which is a minor nuisance.
koolearl
Another thing the Republicans are going to have to consider is that the young white kids are not growing up as bigoted as many of their elders. We can all cite Arizona as a hotbed of anti-Latino bigotry, but from having JR high school aged nephews and nieces in AZ who are FB pals with their Uncle Earl, I can tell you that these kids are growing up with Mexican immigrants children, they hang out, listen to the same music, skateboard and play sports together and do not segregate socially along racial lines.
@Steeplejack: Thank you!
I'm planning a future post on more such strategies, as the heated throw you are using, or my own plan where I set up a tv tray next to the computer desk, and RJ gets that.
Must stay ahead of them! As I like to say, aren't WE supposed to be the more intelligent one?
@Literalreddy: Maybe. But she had to take cracks at Obama and Michelle (Laura Petrie? Really?). She can't stop, for once, being the queen of the mean girls.
@Grumpy Code Monkey: @arguingwithsignposts: Did he ever apologize for enabling the Iraq war?
And that, I guess, is my point. I don't trust Frum, even if he's saying the right thing about toning down the hate on abortion and immigrants, because you can't fix things until you address the problem, and I believe (I only read him in quoted 'graphs, because "The Right Man") Frum still pimps the idea that 'austerity' is the way to go, and Republicans are just the guys to do it. IIRC, he said during the campaign that Romney had the right economic plan? As long as people like Frum are loudly and publicly flunking Econ 101, and being treated like they have earned the right to debate Krugman, mouth-breating independents are going to say that even though they disagree with the GOP on every issue, they're undecided because of "the deficit"
divF
This holiday has always had a special meaning in my family. It was my father's birthday (he died in 2010), and as a career Army NCO it was doubly his holiday. Finally, his father, an Italian immigrant, became a citizen by serving in the US Army during WW I.
@Emma: True enough. But we'll get the pony before most of the pundits completely abandon hippie-punching, both sides do it, and high school popularity contests in their commentary. I take what I can get from these people.
@arguingwithsignposts:
Did he ever apologize for enabling the Iraq war?
No, he didn't. He is not much different than Peggy Noonan, Friedman and all our other "wise" media pundits who were almost all of them cheerleading the Iraq war.
He really should be ashamed of himself. We will be spending over a trillion dollars on the war he enabled. And no apology!
I have realized that cats I've had over the years have had different levels of "attachment." Some just want to be in the same room with you, others want to be really close and in on the action, whatever it is. (And some don't want to be bothered at all, of course.)
The housecat isn't really interested in a lot of different places to snooze. She likes the throw on the computer desk and she likes the bed (especially since I deployed the down comforter a week or two ago). Warmth seems to be a big issue for her. She was advertised as "old" when I got her (11-13 years, but she doesn't look that old to me), and she is small and doesn't have a lot of mass, so maybe it's hard for her to stay warm enough. She definitely loves the heated throw. (It's just a cheap microfleece throw from Target with an equally cheap heating pad folded into it.)
. . . Synchronicity: This just in from my friend who works with ferals. An old lady and her cat.
@Steeplejack: Awww! That link has some fantastic photos of the companionship bond that is possible.
Tristan is one who likes to Touch Base multiple times a day, while Reverend Jim will pin me to the couch, motorboat for a while on my chest, and then go off on his routines for several hours. This older woman and her cat have something like Mr WereBear and his Olwyn; she's rarely more than a a few feet away from him. Ever.
I have some thoughts on cats and heat sources here:
The cold weather cat
22over7
Happy birthday, Annie Laurie! My birthday's tomorrow, but since the spouse has to work tomorrow, today begins the week of gala birthday celebration.
And no, I'm not finished drinking the tears. There was a wonderful bitter letter to the editor in my local fishwrap this morning, and it was so tasty. Maybe next week.
@Steeplejack: She was advertised as "old" when I got her (11-13 years, but she doesn't look that old to me), and she is small and doesn't have a lot of mass, so maybe it's hard for her to stay warm enough. She definitely loves the heated throw.
As they get older, it's harder for them to run at the 102.5 that is normal for them. As for how old she looks, it's been my experience that those dainty little girls will win the longevity sweepstakes, every time. You can be looking at another ten years, easy!
@ Brother Shotgun of Sweet Reason
Not trying to be contrary (really), but I didn't interpret 'best' to mean thrilling.
Rather my interpretation was more along the lines of impact. For example (and yes, anecdotal is not necessarily evidentiary) our veddy, veddy Republican neighbors at the time (they were still ardent and vocal Joe McCarthy believers) were disappointed (even perhaps devastated), but cognizant of and tolerant toward the mood I was attempting to convey. Whatever bitterness there was did seem to quickly fade to adopting the role of loyal opposition.
My previous two cats were a good-sized black female and a little Russian blue female, and they lived to 18 and 20, respectively.
The housecat has a somewhat murky past. When I take her to the vet for a meet-and-greet, I'm going to see if the vet can estimate her age.
Like any good Church historian, Garry Wills conducts the Cadaver Synod on the Romney campaign.
I'm not going to defend Frum or apologize for him. I'm simply pointing out that he's one of the few people on the right who's correctly identified the problem with the GOP and proposed some paths forward that make sense, and that it's in our interest to help spread his message to any Republican who's willing to listen. Scarborough got it; it flew right over the heads of Todd and Gregory (who kept yammering on about "tone"), but at least Scarborough understood the thrust of Frum's argument.
He has grown a bit since that appearance on Maddow. He's still a neocon; he'll never apologize for the Iraq war and I will never trust him on foreign policy, his economic arguments run to the simplistic, but on this particular issue he's right, and deserves some measure of support in getting that message out.
@koolearl:
Another thing the Republicans are going to have to consider is that the young white kids are not growing up as bigoted as many of their elders.
On the other hand, one of the Gawker-related sites did a piece on the slew of racist Twitter posts coming from college and older high school kids. I agree that the young tend to be more tolerant, but there may always be a significant number of bigots in the country.
Fluke bucket
@Warren Terra: he feels the wind of change after it reaches Hurricane Sandy proportions only
@Steeplejack: Thanks for the wonderful link. Very heartwarming.
Sorry this is late. Thanks for the link!
jake the snake
As Norman Spinrad put it, "the saddest thing in life is not when you sell out, it is when you sell out and there is no one willing to buy."
"Selling out" infers that one has some principles to sell out, but I don't see that applies to RMoney in any way.
@jeffreyw:
I think a lot of conservatives are falling in to the
(apocyphal) Pauline Kael fallacy "Obama couldn't have won, I don't know anyone who voted for Obama."
That's cold, but no argument here. He did prostitute himself to the scum of American society-racists, teabag hatetriots, crooks, liars and assholes.
One more thing re: Romney. He's not a valuable person even though he owns a lot of money. Aside from Obamacare he has done nothing to make the world a better place
and lots to make it worse.
Betty Cracker on Repub Venality Open Thread: Bill Barr & John Durham In Cahoots (Jan 26, 2023 @ 8:42pm)
Gin & Tonic on War for Ukraine Day 336: The Russians Renew Their Bombardment of Ukraine (Jan 26, 2023 @ 8:42pm)
tobie on War for Ukraine Day 336: The Russians Renew Their Bombardment of Ukraine (Jan 26, 2023 @ 8:41pm)
Sure Lurkalot on Repub Venality Open Thread: Bill Barr & John Durham In Cahoots (Jan 26, 2023 @ 8:37pm)
Sister Golden Bear on Repub Venality Open Thread: Bill Barr & John Durham In Cahoots (Jan 26, 2023 @ 8:36pm)

redpajama_set_name: RedPajamaCommonCrawl


Results of a recently released state survey show Douglas County's teachers feel safe and supported by their individual school communities, but have concerns about the district's evaluation system.
Concerns about evaluations are reflected by teachers statewide, but in higher numbers in the Douglas County School District.
The Teaching, Empowering, Leading & Learning, or TELL, survey is given every two years by the New Teacher Center. The state Legislature uses it as a way to evaluate teachers' working conditions.
About 87 percent of DCSD teachers agreed their school is a good place to work and learn, slightly higher than the state average of 85 percent.
Questions about teacher evaluations showed about 70 percent of Douglas County teachers who responded don't think the process accurately identifies their effectiveness, significantly higher than the state average.
The greatest difference between district and state teachers' responses emerged in questions posed only to school principals.
In both cases, that's almost twice the average of principals statewide.
School board president Kevin Larsen said he's encouraged overall by the results, and won't ignore potential trouble spots.
"It's not all roses in every single category, but I'd say by and large the great majority of the survey had positive results," he said, pointing to high marks given to professional development and ability to influence school-level decisions. "There are certainly some things we'll dig into further where those numbers are not so high.
Larsen believes some confusion is linked to state assessments; results from those are not this year tied to evaluations. The district evaluations introduced in 2012 are still relatively new, Larsen said, and may require adjustment.
Meg Masten, spokeswoman for the group Douglas County Parents, said the responses related to evaluations are alarming.
One-third of principals feel the district doesn't provide them with high-quality applicants; 18 percent of principals statewide feel the same.
Principal responses showed Douglas County's school leaders are less experienced than the state average.
Masten also found those two items significant.
"That's good evidence our pay-for-performance system is not attracting the best and the brightest as the district has claimed all along," she said.
Larsen acknowledged the responses that show unease with district-level issues, but said he's more concerned that teachers and principals feel happy and supported in their individual buildings.
School board members last month criticized a survey financed by the Douglas County teachers' union that showed low employee morale and dissatisfaction with recent education reforms. Larsen said then he felt the TELL survey would provide better, more representative feedback.
About 16 percent of DCSD staff participated in the union survey.
More than 61 percent of Douglas County educators took the 2015 TELL survey.


text:
ORBCOMM (NASDAQ:ORBC) Trading 7.5% Higher
Posted by Mickey Rousseau on Jan 2nd, 2021
Daily Ratings & News for ORBCOMM
Complete the form below to receive the latest headlines and analysts' recommendations for ORBCOMM with our free daily email newsletter:
Shares of ORBCOMM Inc. (NASDAQ:ORBC) traded up 7.5% on Thursday . The company traded as high as $8.00 and last traded at $7.42. 5,626,545 shares traded hands during trading, an increase of 633% from the average session volume of 767,658 shares. The stock had previously closed at $6.90.
A number of research analysts have weighed in on the stock. Northland Securities boosted their price objective on shares of ORBCOMM from $6.00 to $10.00 in a research report on Monday, December 21st. ValuEngine lowered shares of ORBCOMM from a "buy" rating to a "hold" rating in a research note on Monday, November 2nd. Raymond James boosted their target price on shares of ORBCOMM to $8.00 and gave the company a "strong-buy" rating in a research note on Thursday, October 29th. Canaccord Genuity boosted their target price on shares of ORBCOMM from $8.00 to $9.00 and gave the company a "buy" rating in a research note on Thursday, October 29th. Finally, Zacks Investment Research raised shares of ORBCOMM from a "hold" rating to a "buy" rating and set a $7.75 price objective for the company in a research note on Thursday, December 24th. One investment analyst has rated the stock with a hold rating, two have given a buy rating and two have issued a strong buy rating to the company. ORBCOMM has an average rating of "Buy" and a consensus target price of $156.95.
Get ORBCOMM alerts:
The firm has a market capitalization of $578.87 million, a PE ratio of -28.54 and a beta of 1.20. The company's 50-day simple moving average is $6.43 and its 200 day simple moving average is $4.58. The company has a quick ratio of 2.53, a current ratio of 3.28 and a debt-to-equity ratio of 1.10.
ORBCOMM (NASDAQ:ORBC) last released its quarterly earnings results on Wednesday, October 28th. The technology company reported ($0.07) EPS for the quarter, beating the Thomson Reuters' consensus estimate of ($0.10) by $0.03. ORBCOMM had a negative net margin of 7.71% and a negative return on equity of 8.66%. The business had revenue of $61.74 million during the quarter, compared to analyst estimates of $60.40 million. On average, sell-side analysts forecast that ORBCOMM Inc. will post -0.35 earnings per share for the current fiscal year.
In other news, Director Jerome B. Eisenberg sold 50,000 shares of the stock in a transaction that occurred on Friday, December 11th. The stock was sold at an average price of $6.70, for a total transaction of $335,000.00. The sale was disclosed in a document filed with the SEC, which is available at the SEC website. Company insiders own 6.74% of the company's stock.
Large investors have recently made changes to their positions in the company. Bank of Montreal Can increased its holdings in shares of ORBCOMM by 749.0% in the second quarter. Bank of Montreal Can now owns 9,254 shares of the technology company's stock valued at $33,000 after purchasing an additional 8,164 shares during the period. Virtu Financial LLC purchased a new position in ORBCOMM during the third quarter worth about $35,000. Meridian Wealth Advisors LLC purchased a new position in ORBCOMM during the third quarter worth about $37,000. Griffin Asset Management Inc. purchased a new position in ORBCOMM during the second quarter worth about $47,000. Finally, Jane Street Group LLC purchased a new position in ORBCOMM during the third quarter worth about $56,000. Hedge funds and other institutional investors own 68.28% of the company's stock.
About ORBCOMM (NASDAQ:ORBC)
ORBCOMM Inc provides Internet of Things solutions in the United States, South America, Japan, Europe, and internationally. The company offers network connectivity, devices, device management, and web reporting applications that are designed to track, monitor, control, and enhance security for various assets, such as trailers, trucks, rail cars, sea containers, power generators, fluid tanks, marine vessels, diesel or electric powered generators, oil and gas wells, pipeline monitoring equipment, irrigation control systems, and utility meters in transportation and supply chain, heavy equipment, fixed asset monitoring, and maritime industries, as well as for governments.
Recommended Story: Key terms to understand channel trading
Receive News & Ratings for ORBCOMM Daily - Enter your email address below to receive a concise daily summary of the latest news and analysts' ratings for ORBCOMM and related companies with MarketBeat.com's FREE daily email newsletter.
Riverview Bancorp, Inc. Plans Quarterly Dividend of $0.05 (NASDAQ:RVSB)
I-Mab (NASDAQ:IMAB) Stock Price Up 11.2%


A one-day course for individuals who want to gain an understanding and working knowledge of Cyber Security, or are entering the profession. The course is delivered by working Cyber Security Consultants and provides an insightful overview of: Cyber Security; information risk management (impact, threat and vulnerability); security testing; hot topics; and sources of authoritative advice and guidance.
The course is recommended for individuals who are interested in or require a working knowledge of Cyber Security. No previous knowledge or experience of the subject is assumed.
Delegates are given a comprehensive set of training documentation.


The SIA Licensed Door Supervisor industry has grown immensely over the past few years therefore the demand has needed to match. Dynamis Education centre provides first class SIA training courses across Manchester.
Learn about the role, duties and responsibilities of a Door supervisor. This covers areas such as, searching procedures, physical protection systems, physical intervention skills, reporting and record keeping, as well as legislation relevant to a Door Supervisor.
Dynamis Education Centre is a leading provider of training and education services. With years of experience across a range of sectors – our aim is to deliver professional, efficient and cost-effective training at all levels. We are a nationally accredited and recognised training provider of on-line eCourses and off-line training courses.
Dynamis Education Centre have been responsible for delivering relevant NVQ courses to our Security Personnel for the last 2 years. They have always demonstrated a clear understanding of our requirements and the feedback I have received from trainees has always been complementary regarding their assessors and course delivery.
The handouts were useful and can be used in the future for reflection and future training. In all I would say Dynamis is one of the best training providers we have used in the University and I would recommend them personally to any other business who is looking for Security training.
We have developed a strong working relationship with Dynamis during the past four years, built on robust communication and a clear understanding of our mutual objectives. We are confident that they deliver high quality training to their learners.
I am the training officer for infrastructure Services in John Moores University, I have been using the services of Dynamis since January this year, I have found the whole team highly professional, the training was informative and relevant to what the John Moores University Security needed, as a security force, the delivery and course content was excellent and I have had excellent feedback from the staff who took part in the training. The price of the training was cost effective and The handouts were useful and can be used in the future for reflection and future training. In all I would say Dynamis is one of the best training providers we have used in the University and I would recommend them personally to any other business who is looking for Security training.


text:
Die Bumiller-Villa ist eine bürgerliche Villa in Mannheim aus der ersten Hälfte des 19. Jahrhunderts.

Geografische Lage
Die Villa liegt im Quadrat D 7, 5. Dies war Anfang des 19. Jahrhunderts der Stadtrand, ein Gelände, das unmittelbar an die ehemaligen Wallanlagen grenzte. Heute liegt es in der Kernstadt und grenzt an beiden Seiten unmittelbar an Nachbarbebauung.

Gebäude

Das Haus wurde um 1833 – wahrscheinlich durch den Baudirektor Jakob Friedrich Dyckerhoff – für einen Privatmann in klassizistischen Stil errichtet. Es war damals eine freistehende Villa. Das Haus ist ein traufständiger, zweigeschossiger Bau mit sieben Achsen. Straßenseitig sind die mittleren drei Achsen als flacher Risalit hervorgehoben (hofseitig umfasst der dortige Risalit fünf Achsen). Im Obergeschoss gliedern den Risalit Pilaster ionischer Ordnung. Abgeschlossen wird der Risalit durch einen Flachen Giebel, in dem sich ein halbrundes Fenster – typisch für die Weinbrenner-Schule und Jakob Friedrich Dyckerhoff – befindet. Bemerkenswert sind Halle und Treppe, die – ebenso wie andere wandfeste Ausstattung aus dem 19. Jahrhundert – bemerkenswert gut erhalten und restauriert sind. Um 1890 wurde westlich des Gebäudes, über der Hofeinfahrt, ein Wintergarten aus Gusseisen angefügt, heute ein Unikat in Mannheim.

Das Gebäude ist ein Kulturdenkmal aufgrund des Denkmalschutzgesetzes von  Baden-Württemberg.

Heutige Nutzung
In dem Gebäude ist heute die Psychosoziale Beratungs- und ambulante Behandlungsstelle für Suchtgefährdete, Suchtkranke und ihre Angehörigen der Caritas untergebracht.

Literatur
 Ferdinand Werner: Mannheimer Villen. Architektur und Wohnkultur in den Quadraten und der Oststadt. Mit Beiträgen von Andreas Schenk und Tobias Möllmer (= Beiträge zur Mannheimer Architektur- und Baugeschichte Band 6). Wernersche Verlagsgesellschaft, Worms 2009, ISBN 978-3-88462-289-6

Anmerkungen

Einzelnachweise

Klassizistisches Bauwerk in Mannheim
Kulturdenkmal in Mannheim
Erbaut in den 1830er Jahren

redpajama_set_name: RedPajamaWikipedia


Ten-man Sunderland recorded their first league win of the season as Jermain Defoe's second-half penalty handed them victory against Bournemouth.
It was a remarkable result for the Black Cats, who continually soaked up pressure from their opponents and found themselves a man down when Steven Pienaar was sent off in the 59th minute.
The Cherries took an 11th-minute lead when Dan Gosling converted Adam Smith's cross from close range for his third goal of the season.
The Black Cats lost 4-1 at home to Arsenal last week and once again looked vulnerable at the back, with Junior Stanislas and Joshua King both going close after the opener. But they surprisingly drew level in the 33rd minute when Victor Anichebe smacked his six-yard shot high past the reach of keeper Artur Boruc.
Sunderland began the second half well but were dealt a huge blow when Pienaar was shown a second yellow card for a late challenge on Stanislas.
Despite being a man down, David Moyes' side still pressed and were rewarded with a spot-kick when Anichebe was fouled by Adam Smith in the area. Defoe converted against his former team as his current side hung on for a morale-boosting win.
This match looked like a home-win banker, more so after Gosling used his stomach to give Eddie Howe's side the lead.
The visitors' defence, which had conceded three against Everton and Palace and four against the Gunners, looked set for another uncomfortable day.
Moyes started with a 4-4-2 formation, but changed to 4-5-1 after going behind to stem the flow of Bournemouth's attacks from the wings. It worked and gave Sunderland the chance to focus on troubling the home side.
The change in tactic paid off as Defoe, playing deeper, fed Anichebe in the area. The striker used his 6ft 3in physique to hold off his marker, turn and then crack a shot past Pickford to equalise. That was the former Everton player's first Premier League goal since scoring for West Brom against Newcastle in May 2015 - 546 days ago.
Moyes - watching from the stands as he served a suspension - must have thought the footballing gods were not on his side when Pienaar was deservedly sent off with 31 minutes remaining.
But the spirit that had drawn Sunderland level was again present when they drove forward and Anichebe, once again tussling in the area, fell under the challenge of Smith. Some might have deemed it a weak challenge but Mike Dean pointed to the spot and Defoe dispatched the ball high into Boruc's net.
How did Bournemouth manage to lose?
The Cherries had only lost one game at home this season and it appeared highly unlikely that Saturday's contest would result in a second, as they fired in 22 shots and enjoyed 70% of possession.
But they found Sunderland keeper Jordan Pickford, 22, in exceptional form. The England Under-21 keeper made great saves to deny Jack Wilshere and Joshua King. Junior Stanislas also saw a sidefoot shot come off the post and substitute striker Benik Afobe, who has not scored since March, twice screwed good opportunities wide.
For manager Eddie Howe it must have been a sense of déjà vu, with another North-East club, Newcastle, surviving a similar onslaught during the 2015 Guy Fawkes weekend to come away with their first win of the season. Of course, they were eventually relegated.
"It was about the shift Anichebe put in," Match of the Day pundit Jermaine Jenas said.
"He was playing with a cracked rib at one point so no-one can question his desire and he is just so strong.
"He was a real asset for Sunderland because they were under so much pressure but he was a great focal point for them to hold up the ball."
Sunderland boss David Moyes: "Anichebe was terrific today. He has an awful lot going for him and his all-round performance was terrific. He got an injury early on - he thought he broke his rib."
On the second yellow card shown to Steven Pienaar: "At the time I thought there was nothing in the tackle, I thought he got the ball, but now I can see why it can be given.
"It is only one win. We need two, we need to just keep picking up the points. Hopefully it will show people there is a great spirit and commitment among the players and desire to do well.
"We went to a factory this week, showing the players it is much better to be a footballer than working in a factory."
Bournemouth manager Eddie Howe: "In the last two games we've had some gilt-edged chances. We scored six against Hull, but it's frustrating when you have a hatful of chances and can't put them away.
"We should have gone 2-0 ahead as we had chances in the first half which we didn't put away. You feel the red card would swing the game back in our favour, we battered their goal for the next 15 minutes and that's when we needed to find the killer touch, but we didn't. We left the back door open and conceded what was a poor goal for us."
Moyes has won his first Premier League game since a victory against Newcastle in April 2014 - 945 days ago.
Sunderland enjoyed their first win in their last 12 Premier League games (3-0 v Everton on May 11th 2016).
Wilshere made his 100th Premier League start today, over six-and-a-half years since his first (Feb 2010 for Bolton v Man City).
Smith has provided more assists this season than any other Premier League defender (3).
Anichebe became only the third player to score a goal this season for Sunderland in the top-flight - also Jermain Defoe (6) and Patrick van Aanholt (2).
Pienaar has been sent off four times in the Premier League, all while playing under David Moyes (3 for Everton, 1 for Sunderland).
Defoe has netted 11 away goals in the Premier League in 2016, a haul bettered only by Sergio Aguero with 15 (Harry Kane also has 11).
Defoe has scored against 35 of the 38 Premier League clubs he has faced.
After the international break, Sunderland are at home to fellow strugglers Hull on 19 November and Bournemouth are away at Stoke on the same day. Both are 15:00 GMT kick offs.
Match ends, Bournemouth 1, Sunderland 2.
Second Half ends, Bournemouth 1, Sunderland 2.
Attempt blocked. Lynden Gooch (Sunderland) right footed shot from the centre of the box is blocked. Assisted by Patrick van Aanholt.
Jack Wilshere (Bournemouth) wins a free kick in the defensive half.
Substitution, Sunderland. Lynden Gooch replaces Jermain Defoe.
Attempt missed. Lys Mousset (Bournemouth) header from the centre of the box misses to the left. Assisted by Ryan Fraser with a cross following a corner.
Corner, Bournemouth. Conceded by Papy Djilobodji.
Attempt missed. Dan Gosling (Bournemouth) left footed shot from the centre of the box misses to the left. Assisted by Simon Francis.
Attempt missed. Jack Wilshere (Bournemouth) left footed shot from outside the box is too high. Assisted by Benik Afobe.
Substitution, Sunderland. Donald Love replaces Duncan Watmore.
Jack Wilshere (Bournemouth) wins a free kick on the left wing.
Foul by Victor Anichebe (Sunderland).
Delay in match Victor Anichebe (Sunderland) because of an injury.
Attempt saved. Joshua King (Bournemouth) right footed shot from the centre of the box is saved in the top centre of the goal. Assisted by Benik Afobe with a headed pass.
Attempt missed. Steve Cook (Bournemouth) header from the left side of the six yard box misses to the left following a set piece situation.
Foul by Duncan Watmore (Sunderland).
Attempt missed. Benik Afobe (Bournemouth) left footed shot from outside the box misses to the right. Assisted by Lys Mousset.
Substitution, Bournemouth. Ryan Fraser replaces Junior Stanislas.
Victor Anichebe (Sunderland) wins a free kick in the defensive half.
Victor Anichebe (Sunderland) wins a free kick on the left wing.
Jason Denayer (Sunderland) wins a free kick in the defensive half.
Patrick van Aanholt (Sunderland) wins a free kick on the left wing.
Substitution, Bournemouth. Lys Mousset replaces Harry Arter.
Attempt missed. Benik Afobe (Bournemouth) right footed shot from the centre of the box is close, but misses to the left.
Goal! Bournemouth 1, Sunderland 2. Jermain Defoe (Sunderland) converts the penalty with a right footed shot to the top right corner.


text:
Which 'Gilmore Girls' Character Did Theme Song Writer Carole King Play?
Gilmore Girls, the early-2000s brainchild of Amy Sherman-Palladino-, debuted on the WB on October 5, 2000. The series was about a young, single mom, Lorelai Gilmore, played by Lauren Graham and her teenage daughter, Rory — played by Alexis Bledel. However, many know and love the Gilmore Girls theme song — written and performed by Carole King. When did King, the "Where You Lead" songwriter, appear as a cast member on the series, and who was her character?
The 'Gilmore Girls' past cameos include a lot of future movie and TV stars
Lauren Graham and Alexis Bledel in Gilmore Girls: A Year in the Life | Saeed Adyani/Netflix
RELATED: How 'Gilmore Girls' Got Its Iconic Theme Song, 'Where You Lead'
Many soon-to-be-famous Hollywood stars can be seen in cameo appearances throughout the 7-season series. Oscar-winner Rami Malek, appears as a friend of Lane's in Gilmore Girls Season 4. Nick Offerman, best-known for his role as Ron Swanson on Parks and Recreation, appears in seasons 4 and 6. Jon Hamm of Mad Men fame also has a bad date with Lorelai in season 6. Other notable names included in the long list of Gilmore Girls cameos include: Jane Lynch, Adam Brody, and Seth MacFarlane.
'Gilmore Girls' theme-song writer Carole King made a cameo in season 2, season 5, season 6 — and the Netflix reboot
Carole King can be heard in every episode of Gilmore Girls, opening the show with the theme song, "Where You Lead." King recorded new lyrics with her daughter Louise Goffin for the show.
Carole King in concert in 2005 | Chris McKay/WireImage
RELATED: 10 of The Best Carole King Songs That Other Artists Made Famous
However, she also acted in a few episodes of the show.
King first took on a role in Gilmore Girls Season 2. She plays the sassy Sophie Bloom, the owner of a new music store in Stars Hollow. Rory's best friend Lane convinces Sophie to let her practice the drums there, kicking off Lane's personal musical journey.
King went on to appear in a handful of Gilmore Girls episodes, playing Sophie — who turns out to be a former songwriter, too. King was a guest cast member on season 2's episode 10, "Help Wanted," "To Live and Let Diorama," a mid-season 5 episode, and season 6's episode 10: "He's Slippin' 'Em Bread … Dig?" King also appeared in the "Summer" episode of the four-part miniseries revival, Gilmore Girls: A Year in the Life, once again as Sophie Bloom. In the reboot episode, King sings one of her original hit songs, "I Feel the Earth Move."
Carole King's daughter also joined the cast of the 2016 revival 'A Year in the Life'
Not only did King reprise her role for the revival, but King's daughter, Louise Goffin, also appears in A Year in the Life. Goffin plays a troubadour.
According to a Bustle interview, despite recording the Gilmore Girls theme song with her mother, Goffin had not always been a fan of the show. King's daughter had been living out of the country, and Goffin was busy with her own career and family. Eventually, she was inspired to watch Gilmore Girls. Now, Goffin is pleased that she was asked to be a "part of the family tree of the history of Gilmore Girls, [and] to make an appearance on one of the new episodes."


text:
UN refugee agency 'deeply distressed' by reports of nearly 100 stripped migrants at Greece-Turkey border
By Allegra Goodwin and Chris Liakos, CNN
Published 10:31 PM EDT, Sun October 16, 2022
The United Nations' refugee agency (UNHCR) has said it is "deeply distressed" by reports of nearly 100 naked migrants at the border between Greece and Turkey.
"UNHCR is deeply distressed by the shocking reports and images of 92 people, who were reported to have been found at the Greek-Turkish land border, stripped of their clothes," the agency tweeted Sunday.
"We condemn such cruel and degrading treatment and call for a full investigation into this incident," it added.
Turkey and Greece have blamed each other for the situation. Greece's Minister of Migration and Asylum, Notis Mitarachi, tweeted a photograph Saturday of what he implied were some of the 92 migrants at the border, accusing Turkey of shameful behavior.
Syrian refugee Areej Beidun, 6, (R) and her grandmother Nadesa Beidun pose in Gaziantep, southeastern Turkey, on February 26, 2021.
Ozan Kose/AFP/Getty Images
Syrians in Turkey fear the worst as Erdogan changes tune on Assad
It was not clear why the men in the photo were not clothed.
"Turkey's behavior towards 92 migrants whom we rescued at the borders today, is a shame for civilization," Mitarachi tweeted, alongside the photograph.
The Migration Minister added he expected Ankara to investigate the incident and to protect its borders with the European Union (EU).
CNN has not been able to independently verify the photograph.
Greek police said Saturday that its forces on Friday had "discovered 92 illegal migrants without clothes and some of them with injuries on their bodies," near the country's northern border.
"Following an investigation by Greek police and officials from the EU border agency Frontex, it was found that they [the migrants] were pushed into Greek territory, via Evros river, in dinghies from Turkey to Greece," police added in a statement on Twitter.
The statement added Greek authorities had immediately provided the migrants with clothing, food and first aid.
Greece's Ministry of Citizen Protection said in a statement Saturday that, per accounts from the migrants, they had been transported to the Evros river by vehicles belonging to Turkish authorities, where they then boarded dinghies to cross over to the Greek side.
"Turkey continues to openly instrumentalise immigrants, violate human rights, [and] violate International law," the statement continued.
Turkey has denied involvement in the incident.
"As you couldn't find one single case of human rights violation by [Turkey], you just seek to expose [the] image of your cruelty you've inflicted as if [Turkey's] done [it]," the country's Deputy Interior Minister Ismail Catakli tweeted Saturday in response to Mitarachi.
Catakli also accused Greece of "manipulations and dishonesty," in his tweet.
Greece last year finished building a 40-kilometer (25-mile) wall along its border with Turkey amid concerns that the Taliban's takeover of Afghanistan could cause an influx of people seeking asylum.
The country was at the center of Europe's migrant crisis in the mid-2010s, when millions of refugees and migrants from Syria, Afghanistan and Iraq traveled to the continent. It has taken a hardline approach since then, rebuffing pleas from Turkey and international organizations to allow more migrants through its borders.


text:
Q&A: Inside Reading Partners with national board chair, Dan Carroll
Dan Carroll has served on the Reading Partners board since 2013. He served as an officer and treasurer before stepping into the role of board chair in 2016. Dan has been an invested ally and critical supporter for Reading Partners' work through both an exciting period of growth as well as a challenging period of change.
Throughout it all, Dan has remained focused on ensuring Reading Partners is in the best possible position to address the early literacy crisis in the US.
Now, as Reading Partners launches into the next four year strategic plan and prepares to celebrate 20 years of service to students and communities nationwide, Dan and the Reading Partners national board look forward to a bright future.
In this pivotal moment in Reading Partners' history, I sat down with Dan to get an inside view of his experience as a Reading Partners board member and learn more about what Reading Partners has in store for the years ahead.
Addressing the literacy crisis at its core
Q: To get us started, can you share with me a little bit about your education and career background? How did you come to the work you currently do?
A: I went to college at Harvard then went to Wall Street and focused on technology banking. I spent enough time in California to know I wanted to stay here so I attended Stanford Business School and then began a career in venture capital and private equity. I spent the next 22 years working on private investments in Asia, living in San Francisco and Thailand. In 2011, I decided to take a couple of years off to travel less (for business) and learn more about nonprofits.
Q: How did you come to the work you currently do with Reading Partners?
A: I had been involved in several independent school boards and was looking for a way to get more involved in education. A fellow school board member at University High School in San Francisco served as chair at Teach For America (TFA) in the Bay Area and encouraged me to get involved in that organization.
I served on the TFA's Bay Area board from 2010-15, where I was first introduced to the technology and education reform movements. I enjoyed being a part of the work because it attracts people who are mission-driven and smart, but focused on serving others. Hence, our reliance on our amazing volunteers and AmeriCorps members.
I was introduced to Reading Partners by Cathy Dean and Will Evers, two close friends who were active in the national and Bay Area organizations. Reading Partners seemed to be dealing with challenges that TFA faced earlier in its development—a dynamic young organization in a state of transition, moving from a regional to a national scale.
What struck me as most powerful about Reading Partners at the time, and still today, is the leverage that comes from addressing developmental challenges early. Giving third and fourth grade students the tools to succeed in school, as opposed to trying to help at the high school level, just made more sense to me. The idea of learning to read before you read to learn was definitely my "Aha!" moment with Reading Partners.
A data-driven approach
Q: Why did you decide to support Reading Partners as a board member?
A: When I joined Reading Partners' national board, I had a real interest in digging deeper into how nonprofits operate. All board members are financial supporters of an organization, but I felt I had the time to get to know the national leadership team and the inner workings of the organization. During my time on the TFA Bay Area board, I had also gained some experience in the evolution of national and regional organizations, which I thought would be directly relevant to Reading Partners.
Funders are also always searching for data-driven models, and Reading Partners definitely has that. Reading Partners showed strong regional success, had the data to back up their work (demonstrated through third-party research by MDRC), and had a vision for multiplying the program at a national level. I ultimately saw my role as helping to implement our vision for growth and scaling to increase Reading Partners' impact.
Dedicated board and leadership
Q: What does a board member actually do?
A: Each board role is unique, but the primary role of everyone on the board is to serve as fiduciaries for the entire organization. Boards are tasked with engaging organizational leadership and ensuring the long term health of the organization. This starts with financial health; raising funds, attracting investors, and ultimately inspiring others from our networks into the group as investors. We serve as stewards of the organization's funding, seeking diverse, well balanced sources of revenue and whenever possible building financial reserves. We also attempt to shield the organization from the natural ups and downs of the marketplace.
In setting strategy and supporting the organization's operations, the board works with the management team through a group of committees, including development, finance, and program. But our primary relationship is with the CEO, who is the only employee at Reading Partners who reports to the board. Our most important job is to recruit, sustain, guide, and provide advice to the CEO. The relationship between those two are a very good indicator of any nonprofit. It's truly hard to find an example of an organization that's doing well where the board and CEO relationship is difficult or strained.
Positive opportunities for growth and innovation
Q: What excites you about Reading Partners' future?
A: I'm very excited about the new leadership at Reading Partners, (especially with our new CEO, Karine) and the energy she brings to the organization. We have developed a new strategic plan, which also helps in building depth and a rock solid foundation for Reading Partners!
I'm also incredibly excited about the potential to embrace technology in a more robust way. We'd love to take the core one-on-one model and find ways to leverage the resources around us in Silicon Valley to drive further impact.
Finally, and very importantly, I'm passionate about our commitment to driving diversity, equity, and inclusion (DEI), and building DEI into Reading Partners' new strategic plan.
Q: What is a lesson you have learned in your career that has guided you well?
A: You learn much more from your mistakes that from your successes. When you're successful, people make up many explanations for why things worked out so well. When something doesn't work, the learnings are often painfully obvious but always incredibly valuable.
5 quirky and beautiful words first coined by authors
Charleston Wins Competitive Third Grade Reads Grant
by Cody Howard
National Recruitment Operations Manager


The newest edition of an annual ranking of the nation's most well-read city has found (once again) Houston is not really big on the whole reading thing.
Of the 75 cities ranked, we come in 60th and we're fading: in 2005 we were 53rd.
Central Connecticut State University does the survey each year, tracking such things as "bookstores, educational attainment, internet resources, library resources, newspaper circulation, and periodical publication."
Washington, D.C. is number one, but trends everywhere are ominous.
"The decline in newspaper readership is stark," CCSU president Jack Miller says. "At the beginning of this survey, in 2003, newspapers in America's larger cities had a weekday circulation equivalent to 55 percent of the population of the cities; Sunday circulation was 75 percent. Now, on average, less than one third read a weekday paper and less than half read a Sunday paper."
Despite cutbacks in hours and, sometimes, locations, municipal libraries seem to be serving more and more people, Miller says.
"In terms of accessibility and usability, libraries remain vibrant. Even in these economically embattled times, many cities appear to be providing their citizens with rich resources for developing and maintaining literate behaviors," he says.
Which is all well and good, but where are the TVs in these libraries? People in Houston demand them!!


When we informed Gina that she was Team1Medical's Employee Spotlight for December, we sent her a few interview questions. Here's what she had to say.
I had been doing laser hair removal. It was sometimes shocking the places people wanted hair removed from.
By sending me to various locations, I've developed skills with many different machines and operating systems that I didn't have before.
I've gained confidence in my skills and my patient care has been influenced.
No matter how different someone is from you, always treat them how you would want to be treated.
When I'm able to make someone else happy. I don't need anything in return except a smile!
Being a mom. Completing my degree. Purchasing my home.
That I have a super silly side. When I"m with my kids, you'd think I was one of them.
Achieving all of the goals I've set for myself.
My mom telling me how proud she was when I went back to school and finished like I promised her I would.
Be open and a have a positive and caring attitude at each location. Your first impressions is what sticks. Have a good first impression and do good work, and they will always want you back.
Congratulations Gina! Thank you for all of your hard work!