text:
\section{Introduction}

\noindent
The classification of nuclear $C^{*}$-algebras has seen rapid progress in recent years, especially since the systematic exploitation of algebraic, topological and homological regularity properties, such as $\mathcal{Z}$-stability (where $\mathcal{Z}$ denotes the Jiang--Su algebra), finite topological dimension (most notably finite decomposition rank and finite nuclear dimension) and unperforation of the Cuntz semigroup. We refer to \cite{EllToms:regularity}, \cite{Winter:localizingEC}, \cite{Winter:dr-Z-stable} and \cite{TomsWinter:minhom} for an overview and a number of sample results.  It has been conjectured that the above mentioned properties are all equivalent, at least for separable, simple, unital and nuclear $C^{*}$-algebras.

In this paper we are particularly interested in nuclear dimension; this is a notion of topological dimension for nuclear $C^{*}$-algebras which was introduced in \cite{WinterZac:dimnuc} and which generalizes the earlier concept of  decomposition rank, cf.\ \cite{KirWinter:dr}.  Finite decomposition rank has proven to be extremely useful for the classification of stably finite, simple, unital $C^{*}$-algebras. Nuclear dimension accesses substantially larger classes of $C^{*}$-algebras; for example, Kirchberg--Phillips classification has turned out to cover precisely those simple and traceless $C^{*}$-algebras which satisfy the universal coefficient theorem and have finite nuclear dimension, cf.\ \cite{WinterZac:dimnuc}. The present article contributes to the study of nuclear dimension and its relations to other notions of regularity for (nuclear) $C^{*}$-algebras.

The corona factorization property is a regularity property of stable $C^{*}$-algebras; while it can not in general be expected to be equivalent to any of the aforementioned, it is closely related to and was motivated by
extension theory problems related to classification theory --- specifically, the theory of absorbing extensions.

The latter was originally developed to
provide nice characterizations of $KK$-theory, and to prove
the stable uniqueness theorems of classification theory.
(See \cite{EllKuc:BDFabsorption}, \cite{Arv:ext}, \cite{Kas:ellK}, \cite{Kas:KK}, \cite{Voi:Weyl-vn}, \cite{DadEil:class}, \cite{Lin:stableau}.)

A major starting point was Elliott's and Kucerovsky's algebraic
characterization of nuclearly absorbing extensions (see \cite{EllKuc:BDFabsorption}).
Basically, a separable stable $C^*$-algebra has the corona factorization
property if and only if it has abundantly many absorbing extensions
\cite{KucNg:au}.  Among other things, this includes  many of the
extensions that have been important in classification theory, and
leads to simple and nice characterizations of $KK$-theory \cite{KucNg:au}.
More recently, the corona factorization property has been used to classify
many nonsimple nuclear $C^*$-algebras (including interesting
examples coming from dynamical systems and graph theory; see,
for example, \cite{EilResRui:extensions}).

 It turns out that the corona factorization property is also intimately
connected with the structure theory of $C^*$-algebras \cite{KucNg:S},
\cite{Ng:cfpsurvey}.
Fundamental questions, like whether the extension of a separable stable
$C^*$-algebra by a separable stable $C^*$-algebra has a stable extension
algebra, are closely related to the corona factorization property
and the techniques used to study it.

In the present article we study stabilizations of separable unital $C^{*}$-algebras with finite nuclear dimension; our main result (cf.\ Theorem~\ref{main-result-thm}) says that such algebras always have the corona factorization property, at least if they are sufficiently noncommutative:

\noindent \begin{nummer} \rm
\label{main-intro}
\begin{thms}
Let $A$ be a separable and unital $C^{*}$-algebra no hereditary subalgebra of which has a nontrivial elementary quotient. Suppose   $\mathrm{dim_{nuc}}\, A \le n <\infty$. Then, $A \otimes \mathcal{K}$ has the corona factorization property.
\end{thms}
\end{nummer}

We remark that Ortega and R{\o}rdam have, independently from us and with different methods, arrived at a result similar to ours in \cite{OrtRor:cfp}: they show that stabilizations of separable, unital $C^{*}$-algebras with finite decomposition rank have the corona factorization property. Our Theorem~\ref{main-intro} partially generalizes this statement, since decomposition rank dominates nuclear dimension, cf.\ \cite{WinterZac:dimnuc}. The proof in \cite{OrtRor:cfp} heavily relies on systematic use of the Cuntz semigroup, and on $n$-comparison for $C^{*}$-algebras with decomposition rank at most $n$ as derived in \cite[Lemma~6.1]{TomsWinter:VI}. The respective statement is not known for $C^{*}$-algebras with finite nuclear dimension, which is the reason why we employ Kirchberg's covering number, cf.\ Section~{\ref{dimnuc}}.

One of our motivations is to make progress on the question whether finite nuclear dimension implies $\mathcal{Z}$-stability for simple $C^{*}$-algebras. The respective statement for decomposition rank has been shown in \cite{Winter:dr-Z-stable}; that proof  also relied on \cite[Lemma~6.1]{TomsWinter:VI}. We are optimistic that our use of Kirchberg's covering number in place of $n$-comparison will contribute to the solution of the above mentioned question.

It is interesting to look at Theorem~\ref{main-intro} in the special case of simple $C^{*}$-algebras.
In this case, the result implies that stabilizations of all separable, simple, unital, nuclear $C^{*}$-algebras that have been classified so far do have the corona factorization property. This fact is not new, since all such $C^{*}$-algebras are known to be $\mathcal{Z}$-stable; however, our argument does not distinguish between the stably finite and the purely infinite case, hence points towards the possibility of a  unified approach to the classification problem for purely finite and purely infinite nuclear $C^{*}$-algebras.

The paper is organized as follows. We fix some notation in Section~{\ref{preliminaries}}. In Section~{\ref{cfp}} we recall the corona factorization property and some related facts on stable $C^{*}$-algebras. Section~{\ref{dimnuc}} states the definitions of nuclear dimension and of Kirchberg's covering number, and relates  the two concepts. Our main result is stated and proven in Section~{\ref{main-result}}.

\section{Preliminaries}
\label{preliminaries}

\noindent \begin{nummer} \rm
\label{def-subequivalence}
\begin{nots}
Let $A$ be a $C^{*}$-algebra and let $a,b \in A_{+}$ be positive elements. We write
\[
a \preceq b,
\]
if there is $x \in A$ such that
\[
a= x^{*}x \mbox{ and } xx^{*} \le b.
\]
We write $a \sim b$ if there is $x \in A$ such that
\[
a= x^{*}x \mbox{ and } b = xx^{*}.
\]
\end{nots}
\end{nummer}

\noindent \begin{nummer} \rm
\label{rem-subequivalence}
\begin{remss}
(i) Note that, if in the situation of \ref{def-subequivalence} $a$ and $b$ are projections, then $a \preceq b$ means that $a$ is Murray--von Neumann subequivalent to $b$.

(ii) If $a$ is a projection and $b$ is a positive element of norm at most one, then $a \preceq b$ implies that for any $x \in A$ with $a=x^{*}x$ and $xx^{*} \le b$ we also have $bxx^{*} = xx^{*}$, hence $a = x^{*}bx$.
\end{remss}
\end{nummer}

\noindent \begin{nummer} \rm
\begin{nots}
As usual, we denote by $M_{k}$ the $C^{*}$-algebra of complex $k$ by $k$ matrices, and by $\mathcal{K}$ the $C^{*}$-algebra of compact operators on a countably infinite dimensional Hilbert space. We will denote sets of matrix units for these algebras by $\{e_{ij} \mid i,j=1, \ldots,k\}$ and $\{f_{ij} \mid i,j=1,2,\ldots\}$, respectively.
\end{nots}
\end{nummer}

\section{The corona factorization property}
\label{cfp}

\noindent
Below we recall the definition of the corona factorization property (cf.\ \cite{Ng:cfpsurvey}) and some related facts about stable $C^{*}$-algebras. We also derive a useful criterion for when a unital $C^{*}$-algebra has the corona factorization property.

\noindent \begin{nummer} \rm
\label{def-cfp}
\begin{dfs}
Let $B$ be a separable and stable $C^{*}$-algebra. $B$ is said to have the corona factorization property, if every full projection in $\mathcal{M}(B)$ is Murray--von Neumann equivalent to $\mathbf{1}_{\mathcal{M}(B)}$.
\end{dfs}
\end{nummer}

\noindent \begin{nummer} \rm
\label{lem:full}
\begin{lms}
 Let $A$ be a unital separable $C^*$-algebra.
Let $c \in {\mathcal M}(A \otimes {\mathcal K})$ be a full element.
Then for every $b \in A \otimes {\mathcal K}$, $c + b$ is a full element of
${\mathcal M}(A \otimes {\mathcal K})$.
\end{lms}

\begin{nproof}
Since $c \in {\mathcal M}(A \otimes {\mathcal K})$ is full, we may choose $x_1, x_2, .., x_n,
y_1, y_2, ...,y_n \in {\mathcal M}(A \otimes {\mathcal K})$ such that
\begin{equation}
\label{ng1} \sum_{j=1}^{n} x_j c y_j = \mathbf{1}_{{\mathcal M}(A \otimes {\mathcal K})}.
\end{equation}
Note that we have
\begin{equation}
\label{ng2}
\sum_{i=1}^{\infty} \mathbf{1}_{A} \otimes f_{ii} = \mathbf{1}_{{\mathcal M}(A \otimes {\mathcal K})},
\end{equation}
where the
sum converges in the strict topology on ${\mathcal M}(A \otimes {\mathcal K})$.

   Now since $A \otimes {\mathcal K}$ is an ideal of ${\mathcal M}(A \otimes {\mathcal K})$, and
since $b \in A \otimes {\mathcal K}$, we have
$$b' := \sum_{i=1}^{n} x_i b y_i \in A \otimes {\mathcal K}.$$
Hence, by \eqref{ng2}, we can choose
$N \geq 1$ such that for all $m \geq N$,
\begin{equation}
\label{ng3}
\textstyle \left\| b' \left(\sum_{i \geq m} \mathbf{1}_{A} \otimes f_{ii}\right) \right\|, \; \left\| \left(\sum_{i \geq m} \mathbf{1}_{A} \otimes f_{ii} \right) b' \right\| < \varepsilon.
\end{equation}
Now let $s \in {\mathcal M}(A \otimes {\mathcal K})$ be an isometry with range projection
$\sum_{i \geq N} \mathbf{1}_{A} \otimes f_{ii}$.
Hence, by \eqref{ng3},
$$\| s^* b' s \| < \varepsilon.$$
Therefore, by \eqref{ng1},
\begin{eqnarray*}
\lefteqn{ \textstyle \left\| \sum_{j=1}^{n} s^* x_j (c + b) y_j s - \mathbf{1}_{{\mathcal M}(A \otimes {\mathcal K})} \right\| }\\
& \leq & \textstyle \left\| \sum_{j=1}^{n} s^* x_j c y_j s - \mathbf{1}_{{\mathcal M}(A \otimes {\mathcal K})} \right\|
+ \| s^* b' s \| \\
& < & 0 + \varepsilon.
\end{eqnarray*}
Hence, if $\varepsilon > 0$ was chosen small enough, we see that
$ \sum_{j=1}^{n} s^* x_j (c + b) y_j s$ must be invertible; and hence,
$c + b$ is full in ${\mathcal M}(A \otimes {\mathcal K})$.
\end{nproof}
\end{nummer}

\noindent \begin{nummer} \rm
\label{lem:HjelmRor}
For a $C^*$-algebra $B$, let $F(B)$ denote the set of positive elements
which have a multiplicative identity, i.e.,
$$F(B) := \{ a \in B_+ \mid \exists b \in B_+ : ab = a \}.$$
We shall need the following result due to Hjelmborg and Rordam
\cite{HjeRor:stable}:

\begin{lms}
Let $B$ be a $\sigma$-unital $C^*$-algebra.
Then the following are equivalent:
\begin{enumerate}
\item $B$ is stable.
\item  For every $a \in F(B)$, there exists $b \in B_+$ such that
$a \sim b$ and $a \perp b$.
\end{enumerate}
\end{lms}
\end{nummer}

\noindent \begin{nummer} \rm
\label{CFP_Aue}
The next result is \cite[Proposition~3.3]{KucNg:au}.

\begin{props} Let $B$ be a separable, stable $C^*$-algebra.
Let $l$ be a nonzero positive element of $\mathcal{M}(B)$.  Then
the hereditary subalgebra $\overline{l B l} \subset B$ is isomorphic to
a hereditary subalgebra of the form $p B p$, where $p$ is a multiplier
projection.

   Moreover, if $l$ is a norm-full element of $\mathcal{M}(B)$, then $p$ can
also be chosen to be a norm-full element of $\mathcal{M}(B)$.
\end{props}
\end{nummer}

\noindent \begin{nummer} \rm
\label{B}
The following will be useful for the proof of our main result in Section~{\ref{main-result}}.

\begin{props}
Let $A$ be a separable and unital $C^{*}$-algebra. Suppose that, for any full projection $p \in \mathcal{M}(A \otimes \mathcal{K})$, we have $\mathbf{1}_{A} \otimes f_{11} \preceq p$.

Then, $A \otimes \mathcal{K}$ has the corona factorization property.
\end{props}

\begin{nproof}
Say that $p \in {\mathcal M}(A \otimes {\mathcal K})$ is a full projection.
We will first show that $p(A \otimes {\mathcal K})p$ is a stable $C^*$-algebra.

   Let $a \in F(p(A \otimes {\mathcal K})p)$ be given.  Hence, let $b \in
p(A \otimes {\mathcal K})p$ be a positive element such that $ab = a$.
For simplicity, let us assume that $\| a \| = \| b \| = 1$.

    By Lemma \ref{lem:full}, $p - b$ is a full positive element
of $\mathcal{M}(A \otimes {\mathcal K})$.  Hence, by Proposition \ref{CFP_Aue},
let $q \in \mathcal{M}(A \otimes {\mathcal K})$ be a full projection such that
there exists a $*$-isomorphism
$$\phi : q(A \otimes {\mathcal K})q \rightarrow \overline{(p - b) (A \otimes {\mathcal K})
(p- b)}.$$

    By hypothesis, let $f \in q(A \otimes {\mathcal K})q$ be a projection such that
$f \sim \mathbf{1}_A \otimes f_{1,1}$.
Note that since $\mathbf{1}_A \otimes f_{1,1}$ is full in $A \otimes {\mathcal K}$,
$f$ is full in $q(A \otimes {\mathcal K})q$.
Hence, $\phi(f)$ is full in $\phi(q(A \otimes {\mathcal K})q) =
\overline{(p - b) (A \otimes {\mathcal K}) (p- b)}$.
But since $p -b$ is full in $\mathcal{M}(A \otimes {\mathcal K})$,
$\overline{(p - b) (A \otimes {\mathcal K}) (p- b)}$ is a full hereditary
subalgebra of $A \otimes {\mathcal K}$.
Hence, $\phi(f)$ is a full element of
$p (A \otimes {\mathcal K})p$.
Hence, there exists $N \geq 1$ such that
$$b \preceq \bigoplus^N \phi(f).$$

   By repeated applications of Lemma \ref{lem:full}, by the hypothesis,
and using a short induction
argument, we can show that
there exists a projection $g \in q(A \otimes {\mathcal K})q$ such that
$$g \sim \bigoplus^N (\mathbf{1}_A \otimes f_{1,1}).$$

   Hence,  we have that
$$a \preceq b \preceq \phi(g).$$
Moreover, since
$\phi(g) \in \overline{(p - b) (A \otimes {\mathcal K}) (p- b)}$,
we also have that
$$\phi(g) \perp a.$$

Since $a$ was arbitrary, it follows, by Lemma \ref{lem:HjelmRor}, that
$p (A \otimes {\mathcal K})p$ is a stable $C^*$-algebra.

From Brown's theorem \cite[Corollary~2.8]{Bro:stabher} we now see that $p(A \otimes {\mathcal K})p \cong A \otimes {\mathcal K}$.
Hence, $$p {\mathcal M}(A \otimes {\mathcal K}) p \cong {\mathcal M}(p(A \otimes {\mathcal K})p) \cong
{\mathcal M}(A \otimes {\mathcal K}).$$
(For the first isomorphism, see for example \cite[Lemma~11]{Kuc:ext}.) It follows that the unit of
$p {\mathcal M}(A \otimes {\mathcal K}) p$,
which is $p$, must be properly infinite. But it is straightforward to check that a properly infinite full projection is equivalent to the unit, so, $p \sim \mathbf{1}_{{\mathcal M}(A \otimes {\mathcal K})}$ in ${\mathcal M}(A \otimes {\mathcal K})$, as desired.
\end{nproof}
\end{nummer}

\section{Nuclear dimension and Kirchberg's covering number}
\label{dimnuc}

\noindent
In this section we recall some concepts and results related to noncommutative topological dimension.

\noindent \begin{nummer} \rm
\label{def-dimnuc}
Recall the following definition from \cite{WinterZac:dimnuc}.

\begin{dfs}
A  $C^*$-algebra $A$ has nuclear dimension at most $n$, $\mathrm{dim_{nuc}}\, A \le n$, if there exists a net
$(F_{\lambda},\psi_{\lambda},\varphi_{\lambda})_{\lambda \in \Lambda}$ such that the $F_{\lambda}$ are finite-dimensional $C^{*}$-algebras, and such that $\psi_{\lambda}: A \to F_{\lambda}$ and
$\varphi_{\lambda}: F_{\lambda} \to A$ are completely positive maps satisfying
\begin{enumerate}
\item $\varphi_{\lambda} \circ \psi_{\lambda} (a) \to a$ for any $a \in A$;
\item $\| \psi_{\lambda} \| \leq 1$;
\item for each $\lambda$,  $F_{\lambda}$ decomposes into $n+1$ ideals $F_{\lambda}= F_{\lambda}^{(0)} \oplus \ldots \oplus F_{\lambda}^{(n)}$
such that $\varphi_{\lambda}|_{F_{\lambda}^{(i)}} $ is a c.p.c.\ order zero map for $i=0,1, \ldots ,n$.
\end{enumerate}
\end{dfs}
\end{nummer}

\noindent \begin{nummer} \rm
\label{def-cov}
In \cite{Kir:CentralSequences}, Kirchberg introduced his notion of a covering number for a unital $C^{*}$-algebra.

\begin{dfs}
Let $A$ be a unital $C^{*}$-algebra and $n \in \mathbb{N}$. $A$ has covering number at most $n$, $\mathrm{cov} A \le n$, if the following holds:

For any $k \in \mathbb{N}$, there are a finite-dimensional $C^{*}$-algebra $F$, $d^{(1)}, \ldots,d^{(n)} \in A$  and a c.p.\ map $\varphi:F \to A$ such that
\begin{enumerate}
\item $F$ has no irreducible representation of rank less than $k$
\item $\varphi$ is $(n-1)$-decomposable with respect to $F = F^{(1)} \oplus \ldots \oplus F^{(n)}$
\item $\mathbf{1}_{A} = \sum_{j=1}^{n} (d^{(j)})^{*}\varphi^{(j)}(\mathbf{1}_{F^{(j)}})d^{(j)}$.
\end{enumerate}
\end{dfs}
\end{nummer}

\noindent \begin{nummer} \rm
\label{dimnuc-cov}
The following was shown in \cite[Proposition~4.3]{WinterZac:dimnuc}, the last statement  following from the proof of that result.

\begin{props}
Let $A$ be a separable $C^{*}$-algebra no  hereditary $C^{*}$-subalgebra of which has a nonzero elementary quotient, and let $\omega \in \beta \mathbb{N} \setminus \mathbb{N}$ be a free ultrafilter. Suppose $\mathrm{dim_{nuc}}\, A \le n < \infty$. Then,
\[
\mathrm{cov}(A_{\omega} \cap A'/\mathrm{Ann}(A)) \le (n+1)^{2},
\]
where
\[
\mathrm{Ann}(A):= \{b \in A_{\omega} \mid b A = A b = 0\}
\]
denotes the annihilator of $A$ in $A_{\omega}$.

In fact, for any $k \in \mathbb{N}$ and $l=1, \dots,(n+1)^{2}$, there are c.p.c.\ order zero maps
\[
\varrho^{(l)}:M_{k} \oplus M_{k+1} \to A _{\omega} \cap A '/\mathrm{Ann} (A)
\]
such that
\[
\sum_{l=1}^{(n+1)^{2}} \varrho^{(l)}((\mathbf{1}_{k},\mathbf{1}_{k+1})) \ge \mathbf{1}_{A_{\omega} \cap A'/\mathrm{Ann}(A)}.
\]
\end{props}
\end{nummer}

\noindent \begin{nummer} \rm
\label{C}
\begin{props}
Let $A$ be a $C^{*}$-algebra, $q \in A$ and $p \in \mathcal{M}(A)$ projections, and $\omega \in \beta \mathbb{N} \setminus \mathbb{N}$ a free ultrafilter.

If $q \preceq \iota(p)$ in $\mathcal{M}(A)_{\omega}/ \mathrm{Ann}(A)$ (where $\iota:\mathcal{M}(A) \to  \mathcal{M}(A)_{\omega}/ \mathrm{Ann}(A)$ is the canonical embedding), then $q \preceq p$ in $\mathcal{M}(A)$.
\end{props}

\begin{nproof}
We may lift the Murray--von Neumann relation $q \preceq \iota(p)$ to find a sequence of contractions
\[
v = (v_{n})_{\mathbb{N}} \in \prod_{\mathbb{N}} \mathcal{M}(A)
\]
satisfying
\[
q v_{n} p= v_{n} \mbox{ for all } n \in \mathbb{N} \mbox{ and } \lim_{\omega} (v_{n}v_{n}^{*} - q) \in \mathrm{Ann}(A).
\]
Since $q \in A$, these relations in fact imply that
\[
\lim_{\omega} v_{n}v_{n}^{*} = q.
\]
Since $\omega$ is  free, there is a subsequence $(v_{n_{k}})_{k \in \mathbb{N}}$ such that
\[
\lim_{k \to \infty} v_{n_{k}}v_{n_{k}}^{*} = q;
\]
note that we also have
\[
v_{n_{k}}^{*}v_{n_{k}} \le p \mbox{ for all } k \in \mathbb{N}.
\]
Now the assertion follows from the fact that Murray--von Neumann subequivalence is a semiprojective relation (cf.\ \cite{Lor:lifting}).
\end{nproof}
\end{nummer}

\section{The main result}
\label{main-result}

\noindent
In this section, we derive our main result, Theorem~\ref{main-result-thm}.

\noindent \begin{nummer} \rm
\label{E}
\begin{props}
Let $A$ be a separable and unital $C^{*}$-algebra and $p \in \mathcal{M}(A \otimes \mathcal{K})$ a full positive contraction. Let $k \in \mathbb{N}$ and $q \in M_{k+1} \otimes A \otimes \mathcal{K}$ be a projection such that
\[
q \preceq \mathbf{1}_{k} \otimes p,
\]
where we have identified $M_{k} \otimes \mathcal{M} (A \otimes \mathcal{K})$ with its upper left corner embedding into $M_{k+1} \otimes \mathcal{M}(A \otimes \mathcal{K})$.

Then, there are positive contractions
\[
d \in \overline{p (A \otimes \mathcal{K}) p} \mbox{ and } p' \in \overline{p \mathcal{M}(A \otimes \mathcal{K})p}
\]
such that $p'$ is full in $\mathcal{M}(A \otimes \mathcal{K})$, and such that
\[
d \perp p' \mbox{ and } q \preceq \mathbf{1}_{k} \otimes d.
\]
\end{props}

\begin{nproof}
Since $q$ is a projection in $M_{k+1} \otimes A \otimes \mathcal{K}$, it is straightforward to check that we may in fact assume that
\[
q \in \mathbf{1}_{k} \otimes \overline{p (A \otimes \mathcal{K}) p} \subset M_{k} \otimes A \otimes \mathcal{K}.
\]
Let $(u_{n})_{\mathbb{N}}$ be an idempotent approximate unit for $\overline{p (A \otimes \mathcal{K})p}$, then
\[
(\mathbf{1}_{k} \otimes u_{n}^{\frac{1}{2}}) q (\mathbf{1}_{k} \otimes u_{n}^{\frac{1}{2}}) \to q.
\]
Again since $q$ is a projection, one checks that, if $n_{0}$ is large enough, then
\[
q \preceq \mathbf{1}_{k} \otimes u_{n_{0}}.
\]
Since $(u_{n})_{\mathbb{N}}$ was idempotent, we have
\[
u_{n_{0}} \perp (\mathbf{1}_{\mathcal{M}(A \otimes \mathcal{K}} - u_{n_{0}+1}) p (\mathbf{1}_{\mathcal{M}(A \otimes \mathcal{K})} - u_{n_{0}+1}).
\]
By Lemma~\ref{lem:full}, $(\mathbf{1}_{\mathcal{M}(A \otimes \mathcal{K})} - u_{n_{0}+1}) p (\mathbf{1}_{\mathcal{M}(A \otimes \mathcal{K})} - u_{n_{0}+1})$ is full in $\mathcal{M}(A \otimes \mathcal{K})$, so that
\[
d:= u_{n_{0}}
\]
and
\[
p' := (\mathbf{1}_{\mathcal{M}(A \otimes \mathcal{K})} - u_{n_{0}+1}) p (\mathbf{1}_{\mathcal{M}(A \otimes \mathcal{K})} - u_{n_{0}+1}) = p  (\mathbf{1}_{\mathcal{M}(A \otimes \mathcal{K})} - u_{n_{0}+1})^{2} p
\]
have the required properties.
\end{nproof}
\end{nummer}

\noindent \begin{nummer} \rm
\label{A}
\begin{lms}
Let $A$ be a separable and unital $C^{*}$-algebra, $m \in \mathbb{N}$ and $p \in \mathcal{M}(A \otimes \mathcal{K})$ a full projection.

Then, there are $ k \in \mathbb{N}$ and $d^{(1)}, \ldots, d^{(m)} \in (A \otimes \mathcal{K})_{+}$ with the following properties:
\begin{enumerate}
\item[(i)] the $d^{(l)}$ are pairwise orthogonal, have norm at most one and satisfy
\[
\sum_{l=1}^{m} d^{(l)} \le p
\]
\item[(ii)] $\mathbf{1}_{k+1} \otimes \mathbf{1}_{A} \otimes f_{11} \preceq \mathbf{1}_{k} \otimes d^{(l)}$ for $l=1, \ldots,m$.
\end{enumerate}
\end{lms}

\begin{nproof}
Set
\begin{equation}
\label{ww1}
p^{(0)}:= p.
\end{equation}
Suppose that for some $0 \le l < m$, a full positive contraction $p^{(l)} \in \mathcal{M}(A \otimes \mathcal{K})$ has been constructed. Then, there is $k^{(l+1)} \in \mathbb{N}$ such that
\[
e_{11} \otimes \mathbf{1}_{\mathcal{M}(A \otimes \mathcal{K})} \preceq \mathbf{1}_{k^{(l+1)}} \otimes p^{(l)}
\]
in $M_{k^{(l+1)}} \otimes \mathcal{M}(A \otimes \mathcal{K})$. But then also
\[
\mathbf{1}_{k^{(l+1)}+1} \otimes \mathbf{1}_{A} \otimes f_{11} \preceq \mathbf{1}_{k^{(l+1)}} \otimes p^{(l)}.
\]
Use Proposition~\ref{E} to find positive contractions
\[
d^{(l+1)} \in \overline{p^{(l)} (A \otimes \mathcal{K}) p^{(l)}} \mbox{ and } p^{(l+1)} \in \overline{p^{(l)} \mathcal{M}(A \otimes \mathcal{M}) p^{(l)}}
\]
such that $p^{(l+1)}$ is full in $\mathcal{M}(A \otimes \mathcal{K})$, and such that
\[
d^{(l+1)} \perp p^{(l+1)}
\]
and
\[
\mathbf{1}_{k^{(l+1)}+1} \otimes \mathbf{1}_{A} \otimes f_{11} \preceq \mathbf{1}_{k^{(l+1)}} \otimes d^{(l+1)}.
\]
Procced inductively to obtain $k^{(l)} \in \mathbb{N}$ and positive contractions $d^{(l)} \in A \otimes \mathcal{K}$ and $p^{(l)} \in \mathcal{M}(A \otimes \mathcal{K})$ satisfying
\begin{itemize}
\item[(a)] $d^{(l)} \in \overline{p^{(l-1)} (A \otimes \mathcal{K}) p^{(l-1)}}$
\item[(b)] $p^{(l)} \in \overline{p^{(l-1)} \mathcal{M}(A \otimes \mathcal{K}) p^{(l-1)}}$
\item[(c)] $p^{(l)}$ is full in $\mathcal{M}(A \otimes \mathcal{K})$
\item[(d)] $d^{(l)} \perp p^{(l)}$
\item[(e)] $\mathbf{1}_{k^{(l)}+1} \otimes \mathbf{1}_{A} \otimes f_{11} \preceq \mathbf{1}_{k^{(l)}} \otimes d^{(l)}$
\end{itemize}
for $l=1, \ldots,m$.

Note that (a), (b), (d) and \eqref{ww1} imply that the $d^{(l)}$ are positive contractions which are pairwise orthogonal and which satisfy
\[
\sum_{l=1}^{m} d^{(l)} \le p,
\]
so that \ref{A}(i) holds.

Set
\[
k:= \prod_{i=1}^{m} k^{(i)} \mbox{ and } \check{k}^{(l)} := \frac{k}{k^{(l)}}
\]
for $l =1, \ldots,m$. We have (with the obvious identifications)
\begin{eqnarray*}
\mathbf{1}_{k+1} \otimes \mathbf{1}_{A} \otimes f_{11}& \le & \mathbf{1}_{k + \check{k}^{(l)}} \otimes \mathbf{1}_{A} \otimes f_{11} \\
& = & \mathbf{1}_{(k^{(l)}+1) \cdot \check{k}^{(l)}} \otimes \mathbf{1}_{A} \otimes f_{11} \\
& \stackrel{\mathrm{(e)}}{\le} & \mathbf{1}_{k^{(l)} \cdot \check{k}^{(l)}} \otimes d^{(l)}\\
& = & \mathbf{1}_{k} \otimes d^{(l)}
\end{eqnarray*}
for each $l \in 1, \ldots,m$, so \ref{A}(ii) holds.
\end{nproof}
\end{nummer}

\noindent \begin{nummer} \rm
\label{main-result-thm}
We are now prepared to prove our main  result.

\begin{thms}
Let $A$ be a separable and unital $C^{*}$-algebra no hereditary $C^{*}$-subalgebra  of which has an elementary quotient. Suppose $\mathrm{dim_{nuc}}\, A \le n <\infty$.

Then, $A \otimes \mathcal{K}$ has the corona factorization property.
\end{thms}

\begin{nproof}
Let $p \in \mathcal{M}(A \otimes \mathcal{K})$ be a full projection. In view of Proposition~\ref{B}, it will suffice to show that
\begin{equation}
\label{w7}
\mathbf{1}_{A} \otimes f_{11} \preceq p \mbox{ in } \mathcal{M}(A \otimes \mathcal{K}).
\end{equation}
Set
\[
m:= (n+1)^{2}
\]
and employ Lemma~\ref{A} to obtain $k \in \mathbb{N}$ and pairwise orthogonal elements
\[
d^{(1)}, \ldots,d^{(m)} \in (A \otimes \mathcal{K})_{+}
\]
such that
\begin{equation}
\label{w20}
\sum_{l=1}^{m} d^{(l)} \le p
\end{equation}
and
\begin{equation}
\label{w8}
\mathbf{1}_{k+1} \otimes \mathbf{1}_{A} \otimes f_{11} \preceq \mathbf{1}_{k} \otimes d^{(l)} \mbox{ for } l=1, \ldots,m.
\end{equation}
Using \eqref{w8} and Remark~\ref{rem-subequivalence}(ii), we find
\[
v_{k}^{(l)} \in M_{k} \otimes A \otimes \mathcal{K} \mbox{ and } v_{k+1}^{(l)} \in M_{k+1} \otimes A \otimes \mathcal{K}
\]
such that
\begin{equation}
\label{w13}
(v_{k}^{(l)})^{*}(\mathbf{1}_{k} \otimes d^{(l)}) v_{k+1}^{(l)} = \mathbf{1}_{k+1} \otimes \mathbf{1}_{A} \otimes f_{11}
\end{equation}
and
\[
(v_{k+1}^{(l)})^{*}(\mathbf{1}_{k} \otimes d^{(l)}) v_{k}^{(l)} = \mathbf{1}_{k} \otimes \mathbf{1}_{A} \otimes f_{11}
\]
Employ Proposition~\ref{dimnuc-cov} to find c.p.c.\ order zero maps
\begin{equation}
\label{w14}
\varrho^{(l)}: M_{k} \oplus M_{k+1} \to (A \otimes \mathcal{K})_{\omega} \cap (A \otimes \mathcal{K})'/\mathrm{Ann}(A \otimes \mathcal{K}) =: B
\end{equation}
for $l=1, \ldots,m$, such that
\begin{equation}
\label{ww2}
\sum_{l=1}^{m} \varrho^{(l)}((\mathbf{1}_{k},\mathbf{1}_{k+1})) \ge \mathbf{1}_{B}.
\end{equation}
For $l=1, \ldots,m$, define linear maps
\[
\zeta_{k}^{(l)} : M_{k} \otimes M_{k} \to M_{k} \otimes B
\]
by
\begin{equation}
\label{w12}
e_{ij} \otimes e_{i'j'} \mapsto e_{ij} \otimes d^{(l)} \varrho^{(l)}((e_{i'j'},0)) \mbox{ for } i,j,i',j'=1, \ldots,k,
\end{equation}
and
\[
\zeta_{k+1}^{(l)} : M_{k+1} \otimes M_{k+1} \to M_{k+1} \otimes B
\]
by
\begin{equation}
\label{w16}
e_{ij} \otimes e_{i'j'} \mapsto e_{ij} \otimes d^{(l)} \varrho^{(l)}((0,e_{i'j'})) \mbox{ for } i,j,i',j'=1, \ldots,k+1.
\end{equation}
Using that
\begin{equation}
\label{w10}
[d^{(l)}, \varrho^{(l)}(M_{k} \oplus M_{k+1})] = 0,
\end{equation}
one checks that $\zeta_{k}^{(l)}$ and $\zeta_{k+1}^{(l)}$ are c.p.c.\ order zero maps and that
\begin{equation}
\label{w9}
\zeta_{\bar{k}}^{(l)}(M_{\bar{k}} \otimes M_{\bar{k}}) \perp \zeta^{(l')}_{\tilde{k}}(M_{\tilde{k}} \otimes M_{\tilde{k}}) \mbox{ if } l \neq l' \in \{1, \ldots,m\} \mbox{ and } \bar{k},\tilde{k} \in \{k,k+1\}.
\end{equation}
Similarly, we may define c.p.c.\ order zero maps
\[
\xi_{k}^{(l)}: M_{k} \otimes M_{k} \to M_{k} \otimes B
\]
by
\begin{equation}
\label{w15}
e_{ij} \otimes e_{i'j'} \mapsto e_{ij} \otimes ((\mathbf{1}_{A} \otimes f_{11}) \varrho^{(l)}((e_{i'j'},0)))
\end{equation}
and
\[
\xi_{k+1}^{(l)}: M_{k+1} \otimes M_{k+1} \to M_{k+1} \otimes B
\]
by
\begin{equation}
\label{w15a}
e_{ij} \otimes e_{i'j'} \mapsto e_{ij} \otimes ((\mathbf{1}_{A} \otimes f_{11}) \varrho^{(l)}((0,e_{i'j'}))).
\end{equation}
Let
\[
\bar{\zeta}^{(l)}_{k}, \bar{\xi}^{(l)}_{k} :M_{k} \otimes M_{k} \to M_{k} \otimes B^{**}
\]
and
\[
\bar{\zeta}^{(l)}_{k+1}, \bar{\xi}^{(l)}_{k+1} :M_{k+1} \otimes M_{k+1} \to M_{k+1} \otimes B^{**}
\]
be the respective canonical supporting $*$-homomorphisms, cf.\ \cite{Winter:cpr2} and \cite{WinterZac:orderzero}.

Next, choose partial isometries
\[
s_{k} \in M_{k} \otimes M_{k} \mbox{ and } s_{k+1} \in M_{k+1} \otimes M_{k+1}
\]
satisfying
\begin{equation}
\label{w11}
s_{k} s_{k}^{*} = e_{11} \otimes \mathbf{1}_{k}, \, s_{k}^{*} s_{k} = \mathbf{1}_{k} \otimes e_{11}
\end{equation}
and
\begin{equation}
s_{k+1} s_{k+1}^{*} = e_{11} \otimes \mathbf{1}_{k+1}, \, s_{k+1}^{*} s_{k+1} = \mathbf{1}_{k+1} \otimes e_{11}.
\end{equation}
For $l=1, \ldots,m$, set
\begin{equation}
\label{w17}
u_{k}^{(l)} := \zeta^{(l)}_{k} (e_{11} \otimes \mathbf{1}_{k})^{\frac{1}{2}} \bar{\zeta}^{(l)}_{k}(s_{k}) v^{(l)}_{k} \bar{\xi}_{k}^{(l)}(s_{k}^{*}) \in M_{k} \otimes B^{**}
\end{equation}
and
\begin{equation}
\label{w18}
u_{k+1}^{(l)} := \zeta^{(l)}_{k+1} (e_{11} \otimes \mathbf{1}_{k+1})^{\frac{1}{2}} \bar{\zeta}^{(l)}_{k+1}(s_{k+1}) v^{(l)}_{k+1} \bar{\xi}_{k+1}^{(l)}(s_{k+1}^{*}) \in M_{k+1} \otimes B^{**}.
\end{equation}
We claim that in fact
\[
u_{k}^{(l)} \in M_{k} \otimes B \mbox{ and } u_{k+1}^{(l)} \in M_{k+1} \otimes B.
\]
To this end, note that
\begin{eqnarray*}
u_{k}^{(l)} & = & \zeta_{k}^{(l)}(\mathbf{1}_{k} \otimes \mathbf{1}_{k})^{\frac{1}{2}} \bar{\zeta}^{(l)}_{k}((e_{11} \otimes \mathbf{1}_{k}) s_{k}) v_{k}^{(l)} \bar{\xi}^{(l)}_{k}(s_{k}^{*})  \\
& = & (\mathbf{1}_{k} \otimes d^{(l)})^{\frac{1}{4}} (\mathbf{1}_{k} \otimes d^{(l)} \varrho^{(l)}((\mathbf{1}_{k},0)))^{\frac{1}{4}}  (\mathbf{1}_{k} \otimes  \varrho^{(l)}((\mathbf{1}_{k},0)))^{\frac{1}{4}}  \\
&& \bar{\zeta}^{(l)}_{k} ((e_{11} \otimes \mathbf{1}_{k})s_{k}) v_{k}^{(l)} \bar{\xi}_{k}^{(l)}(s_{k}^{*})  \\
& = & (\mathbf{1}_{k} \otimes d^{(l)})^{\frac{1}{4}} (\zeta^{(l)}_{k})^{\frac{1}{4}} ((e_{11} \otimes \mathbf{1}_{k})s_{k}) v_{k}^{(l)} (\xi_{k}^{(l)})^{\frac{1}{4}}(s_{k}^{*}) \in M_{k} \otimes B,
\end{eqnarray*}
where we have used functional calculus for order zero maps (cf.\ \cite{Winter:localizingEC} and \cite[3.2]{WinterZac:orderzero}) as well as the fact that the image of $\varrho^{(l)}$ commutes with $A \otimes \mathcal{K}$ in $B$. That $u_{k+1}^{(l)} \in M_{k+1} \otimes B$ is checked similarly.

Next, we compute for $l,l' \in \{1, \ldots, m\}$
\begin{eqnarray}
(u_{k}^{(l')})^{*}u_{k}^{(l)} & \stackrel{\eqref{w17}}{=} & \bar{\xi}^{(l')}_{k}(s_{k}) (v_{k}^{(l')})^{*} \bar{\zeta}^{(l')}_{k}(s_{k}^{*}) \zeta^{(l')}_{k}(e_{11} \otimes \mathbf{1}_{k})^{\frac{1}{2}} \nonumber \\
&& \zeta^{(l)}_{k}(e_{11} \otimes \mathbf{1}_{k})^{\frac{1}{2}}  \bar{\zeta}^{(l)}_{k}(s_{k}) v_{k}^{(l)} \bar{\xi}^{(l)}_{k}(s_{k}^{*})  \nonumber \\
& \stackrel{\eqref{w9}}{=} & \delta_{ll'} \cdot \bar{\xi}_{k}^{(l)}(s_{k})(v_{k}^{(l)})^{*} \bar{\zeta}^{(l)}_{k}(s_{k}^{*}) \zeta^{(l)}_{k}(e_{11} \otimes \mathbf{1}_{k}) \bar{\zeta}_{k}^{(l)} (s_{k}) v_{k}^{(l)} \bar{\xi}_{k}^{(l)}(s_{k}^{*}) \nonumber \\
& = & \delta_{ll'} \cdot \bar{\xi}_{k}^{(l)}(s_{k})(v_{k}^{(l)})^{*}  \zeta^{(l)}_{k}(s_{k}^{*}(e_{11} \otimes \mathbf{1}_{k}) s_{k})  v_{k}^{(l)} \bar{\xi}_{k}^{(l)}(s_{k}^{*}) \nonumber \\
& \stackrel{\eqref{w11}}{=} &  \delta_{ll'} \cdot \bar{\xi}_{k}^{(l)}(s_{k})(v_{k}^{(l)})^{*}  \zeta^{(l)}_{k}(\mathbf{1}_{k} \otimes e_{11})  v_{k}^{(l)} \bar{\xi}_{k}^{(l)}(s_{k}^{*})  \nonumber \\
& \stackrel{\eqref{w12}}{=} &  \delta_{ll'} \cdot \bar{\xi}_{k}^{(l)}(s_{k})(v_{k}^{(l)})^{*}  (\mathbf{1}_{k} \otimes d^{(l)} \varrho^{(l)}((e_{11},0)))  v_{k}^{(l)} \bar{\xi}_{k}^{(l)}(s_{k}^{*})  \nonumber \\
& \stackrel{\eqref{w13},\eqref{w14}}{=} &  \delta_{ll'} \cdot \bar{\xi}_{k}^{(l)}(s_{k})  (\mathbf{1}_{k} \otimes ((\mathbf{1}_{A} \otimes f_{11})  \varrho^{(l)}((e_{11},0))))   \bar{\xi}_{k}^{(l)}(s_{k}^{*})  \nonumber \\
& \stackrel{\eqref{w15}}{=} &  \delta_{ll'} \cdot \bar{\xi}_{k}^{(l)}(s_{k})  \xi_{k}^{(l)}(\mathbf{1}_{k} \otimes e_{11})   \bar{\xi}_{k}^{(l)}(s_{k}^{*})  \nonumber \\
& = & \delta_{ll'} \cdot \xi_{k}^{(l)}(s_{k}(\mathbf{1}_{k} \otimes e_{11})s_{k}^{*}) \nonumber \\
& \stackrel{\eqref{w11}}{=} & \delta_{ll'} \cdot \xi_{k}^{(l)}(e_{11} \otimes \mathbf{1}_{k}) \nonumber \\
& \stackrel{\eqref{w15}}{=} & \delta_{ll'} \cdot e_{11} \otimes ((\mathbf{1}_{A} \otimes f_{11}) \varrho^{(l)}((\mathbf{1}_{k},0))). \label{w5}
\end{eqnarray}
Similarly, one checks
\begin{equation}
\label{w4}
(u_{k+1}^{(l)})^{*} u_{k+1}^{(l)} = \delta_{ll'} \cdot e_{11} \otimes ((\mathbf{1}_{A} \otimes f_{11}) \varrho^{(l)}((0,\mathbf{1}_{k+1}))).
\end{equation}
Let us identify $M_{k}$ with its upper left corner embedding into $M_{k+1}$, so that $u^{(l)}_{k}$ and $u_{k+1}^{(l)}$ all live in $M_{k+1} \otimes B$. Using \eqref{w12}, \eqref{w16}, \eqref{w10}, \eqref{w17}, \eqref{w18} and the fact that $\varrho^{(l)}$ has order zero, one checks that
\begin{equation}
\label{w19}
(u_{k+1}^{(l')})^{*} u_{k}^{(l)} = 0  \mbox{ for all } l,l' \in \{1, \ldots,m\}.
\end{equation}
We are now ready to define
\begin{equation}
\label{w3}
v:= \sum_{l=1}^{m} (u^{(l)}_{k} + u^{(l)}_{k+1}) (e_{11} \otimes \sum_{l=1}^{m} \varrho^{(l)}((\mathbf{1}_{k},\mathbf{1}_{k+1})))^{-\frac{1}{2}} \in M_{k+1} \otimes B,
\end{equation}
where the inverse is taken in $e_{11} \otimes B$ (this is possible by \eqref{ww2}).
We compute
\begin{eqnarray}
v^{*}v & \stackrel{\eqref{w3}, \eqref{w5}, \eqref{w4},\eqref{w19}}{=} & (e_{11} \otimes \sum_{l=1}^{m} \varrho^{(l)}((\mathbf{1}_{k},\mathbf{1}_{k+1})))^{-\frac{1}{2}} \nonumber \\
&& (e_{11} \otimes ((\mathbf{1}_{A} \otimes f_{11}) \sum_{l=1}^{m} \varrho^{(l)}((\mathbf{1}_{k},\mathbf{1}_{k+1}))))  \nonumber \\
&& (e_{11} \otimes \sum_{l=1}^{m} \varrho^{(l)}((\mathbf{1}_{k},\mathbf{1}_{k+1})))^{-\frac{1}{2}} \nonumber \\
& \stackrel{\eqref{w14}}{=} & e_{11} \otimes \mathbf{1}_{A} \otimes f_{11}. \label{w1}
\end{eqnarray}
Furthermore, we note that
\[
u_{k}^{(l)} (u_{k}^{(l)})^{*} \stackrel{\eqref{w17}}{\le} \zeta_{k}^{(l)}(e_{11} \otimes \mathbf{1}_{k}) \stackrel{\eqref{w12}}{\le} e_{11} \otimes d^{(l)} \stackrel{\eqref{w20}}{\le} e_{11} \otimes p,
\]
so
\[
(e_{11} \otimes p) u_{k}^{(l)} = u_{k}^{(l)},
\]
and, similarly,
\[
(e_{11} \otimes p) u_{k+1}^{(l)} = u_{k+1}^{(l)}.
\]
This implies
\[
(e_{11} \otimes p) vv^{*} = vv^{*}
\]
and, since $vv^{*}$ is a contraction,
\begin{equation}
\label{w2}
vv^{*} \le e_{11} \otimes p.
\end{equation}
Note that \eqref{w1} and \eqref{w2} in particular imply that $v \in e_{11} \otimes B$. Identifying $e_{11} \otimes B$ with $B$, we see from \eqref{w1} and \eqref{w2} that
\[
\mathbf{1}_{A} \otimes f_{11} \preceq \iota(p)
\]
in $\mathcal{M}(A \otimes \mathcal{K})_{\omega}/\mathrm{Ann}(A \otimes \mathcal{K})$, where $\iota: \mathcal{M}(A \otimes \mathcal{K}) \to \mathcal{M}(A \otimes \mathcal{K})_{\omega}/\mathrm{Ann}(A \otimes \mathcal{K})$ denotes the canonical embedding via central sequences. By Proposition~\ref{C}, this implies \eqref{w7}.
\end{nproof}
\end{nummer}

\noindent \begin{nummer} \rm
\label{typeI}
It follows directly from \cite[Theorem~2.9]{KucNg:typeI} that separable type I $C^{*}$-algebras with finite decomposition rank have the corona factorization property, cf.\ \cite[Theorem~3.1]{Ng:cfpsurvey}. We remark in closing that essentially the same proof yields the respective result for nuclear dimension in place of decomposition rank.

\begin{thms}
Let $A$ be a separable type I $C^{*}$-algebra. Suppose $\mathrm{dim_{nuc}}\, A \le n <\infty$.

Then, $A \otimes \mathcal{K}$ has the corona factorization property.
\end{thms}

\begin{nproof}
The proof is essentially the same as that of \cite[Theorem~2.9]{KucNg:typeI}.  Starting with a composition series $(J_{\alpha})$ for $A$ such that each $J_{\alpha+1}/J_{\alpha}$ has continuous trace, there the permanence properties of the decomposition rank implied that the continuous trace algebras $J_{\alpha+1}/J_{\alpha}$ have decomposition rank at most $\mathrm{dr}\, A$. The same reasoning works for the nuclear dimension by \cite[Proposition~2.9]{WinterZac:dimnuc}. But since nuclear dimension and decomposition rank agree (with covering dimension of the spectrum) for continuous trace algebras (see \cite[Corollary~2.10]{WinterZac:dimnuc}), one can proceed just as in the proof of \cite[Theorem~2.9]{KucNg:typeI} from here. We omit the details.
\end{nproof}
\end{nummer}

\providecommand{\bysame}{\leavevmode\hbox to3em{\hrulefill}\thinspace}
\providecommand{\MR}{\relax\ifhmode\unskip\space\fi MR }
\providecommand{\MRhref}[2]{%
  \href{http://www.ams.org/mathscinet-getitem?mr=#1}{#2}
}
\providecommand{\href}[2]{#2}

redpajama_set_name: RedPajamaArXiv


Emerging local talent, Shanna Allyn, has composed photographic portraits of women that are like butterfly specimens displaying and showing-off beauty and presence. Two series of Allyn's work are on exhibit, one of which is new and seen for the first time.
The exhibit runs from June 18 through Sept 21, 2018 at the Architecture & Landscape Architecture Library.
Join us Friday, July 13 for the opening reception of the exhibit, "Les Papillons, Les Femmes: Photographs by Shanna Allyn" in the Architecture & Landscape Architecture Library from 5:00 to 7:00 p.m. The event is open to the public.


text:
Jaan Kruusvall (* 7. Dezember 1940 in der Gemeinde Palmse, heute Gemeinde Vihula, Kreis Lääne-Viru/Estland; † 3. April 2012) war ein estnischer Schriftsteller.

Leben und Literatur
Jaan Kruusvall schloss 1971 das Maxim-Gorki-Literaturinstitut in Moskau ab. Er arbeitete danach bei der sowjetestnischen Filmgesellschaft Tallinnfilm. Daneben war er Journalist und Redakteur bei der Zeitung Sirp ja Vasar ("Hammer und Sichel"). Von 1981 bis 1987 war er darüber hinaus bei der renommierten estnischen Literaturzeitschrift Looming tätig.

Neben einiger eher lakonischer Kurzprosa hat Jaan Kruusvall vor allem zwei Theaterstücke veröffentlicht. In Pilvide värvid ("Die Farbe der Wolken", 1983) geht es um die Flucht der ländlichen Bevölkerung Estlands am Ende des Zweiten Weltkriegs – eigentlich ein absolutes Tabuthema in der Sowjetunion.

In Vaikuse vallamaja ("Das Gemeindehaus des Schweigens", 1987) setzt sich Kruusvall mit einem ähnlichen Sujet auseinander: der Phase des Neuaufbaus nach dem Zweiten Weltkrieg im sowjetischen Estland und der Sehnsucht, zwischen Massendeportationen der Sowjets und den Partisanenaktionen der Waldbrüder wieder zu einem normalen Leben zurückzufinden.

Auszeichnungen
Jaan Kruusvall erhielt zweimal den nach Friedebert Tuglas benannte estnischen Literaturpreis.

Werke (Auswahl)
 Armastuse esimene pool (Novellensammlung, 1973)
 Ma tean mitut inimest (Novellensammlung, 1976)
 Pilvede värvid (Theaterstück, 1983, gedruckt erst 1986)
 Katkendeid elust (Novellensammlung, 1983)
 Vaikuse vallamaja (Theaterstück, 1987)
 Maailmad akna taga (Novellensammlung, 1988)

Übersetzungen ins Deutsche
 Ruf gen Himmel. Übersetzt von Viktor Sepp (?), in: Estland '78. Tallinn: Perioodika 1978, S. 77–78.
 Ein Blick gen Himmel – Gemischtes Doppel – Der Alte – Der Mann der Berta T. Übersetzt von Helga Viira, in: Das Schauspiel. Neuere estnische Kurzprosa. Ausgewählt von Endel Mallene. Tallinn: Perioodika 1983, S. 93–102
 Allein am Fenster. Übersetzt von Irja Grönholm, in: Ostragehege 2/1997, Nr. 9, S. 10–15.
 Der verrückte Professor (Drama-Auszug). Übersetzt von Irja Grönholm, in: Estonia 1/2002, S. 55–61.
 Hans' Kindheit III. Übersetzt von Irja Grönholm, in: Lichtungen 2003, S. 59–62.
 Der dumme Leonhard – Der erste Tag des Theatermonats – Hausarrest – Das Erbe – Nebel. Übersetzt von Irja Grönholm, in: Estonia 2007, S. 123–141.

Siehe ferner: Tiborc Fazekas: Berufung und Qual. Gedanken zum literarischen Übersetzen anhand der Übertragungen von Jaan Kruusvalls "Lõhn", in: Estonia 3/1985, S. 30–35.

Weblinks
 Werke von und über Jaan Kruusvall im Bestand der Estnischen Nationalbibliothek

Einzelnachweise

Autor
Literatur (20. Jahrhundert)
Literatur (Estnisch)
Journalist (Estland)
Träger des Ordens des weißen Sterns (IV. Klasse)
Sowjetbürger
Este
Geboren 1940
Gestorben 2012
Mann

redpajama_set_name: RedPajamaWikipedia


MBI photo albums, scrapbooks, recipe cards and other media types can get more pages so you can add more to your book. Whether you have a photo album that takes 4-inch by 6-inch pictures, a scrapbook, Slimline photo book or recipe cards, if you can expand your book, you can add pages found in this section. All photo album and scrapbook album pages are archival quality, acid free and PVC free. Photos and other media will not fade or deteriorate from materials in the pages. Get Smart Products offers discount pricing on certain items ordered in quantity. This is the best way to get discounts on already low prices from Get Smart Products. If you are ordering an MBI book, consider adding pages right away before you even get started filling your book.
Refills are for the MBI 8x8 Sports Scrapbooks. Contains 6 sheets/12 sides. New Lower Sale Price!
These MBI Recipe Refill Pages are made for the B-RSC-57 Index Cards, but will fit any standard 3 ring binder.
These MBI 5x7 Recipe Cards are for the B-RS-85 Family Recipe & vegetables-Bread Scrapbook Kits.


text:
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2010 Research Studios Austria Forschungsgesellschaft mBH
  ~
  ~ This file is part of easyrec.
  ~
  ~ easyrec is free software: you can redistribute it and/or modify
  ~ it under the terms of the GNU General Public License as published by
  ~ the Free Software Foundation, either version 3 of the License, or
  ~ (at your option) any later version.
  ~
  ~ easyrec is distributed in the hope that it will be useful,
  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  ~ GNU General Public License for more details.
  ~
  ~ You should have received a copy of the GNU General Public License
  ~ along with easyrec.  If not, see <http://www.gnu.org/licenses/>.
  -->

<!-- $Author$ -->
<!-- $Revision$ -->
<!-- $Date$ -->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:u="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">

    <u:constant static-field="org.easyrec.plugin.itemitem.model.SimilarityCalculationType.PEARSON"
                id="similarityCalculationTypePearson"/>
    <u:constant static-field="org.easyrec.plugin.itemitem.model.SimilarityCalculationType.COSINE"
                id="similarityCalculationTypeCosine"/>
    <u:constant static-field="org.easyrec.plugin.itemitem.model.SimilarityCalculationType.ADJUSTED_COSINE"
                id="similarityCalculationTypeAdjustedCosine"/>

    <bean id="similarityCalculationPearson"
          class="org.easyrec.plugin.itemitem.impl.PearsonSimilarityCalculationStrategy"/>
    <bean id="similarityCalculationCosine"
          class="org.easyrec.plugin.itemitem.impl.CosineSimilarityCalculationStrategy"/>
    <bean id="similarityCalculationAdjustedCosine"
          class="org.easyrec.plugin.itemitem.impl.AdjustedCosineSimilarityCalculationStrategy"/>

    <u:map id="similarityCalculationTypes" key-type="org.easyrec.plugin.itemitem.model.SimilarityCalculationType"
           value-type="org.easyrec.plugin.itemitem.SimilarityCalculationStrategy">
        <entry key-ref="similarityCalculationTypePearson" value-ref="similarityCalculationPearson"/>
        <entry key-ref="similarityCalculationTypeCosine" value-ref="similarityCalculationCosine"/>
        <entry key-ref="similarityCalculationTypeAdjustedCosine" value-ref="similarityCalculationAdjustedCosine"/>
    </u:map>

</beans>

redpajama_set_name: RedPajamaGithub


(1940-2008) Author. Thomas M. Disch was born in Des Moines, Iowa, and died in Manhattan, New York. He is best known as a science fiction author and poet.
Thomas Michael Disch was born in Des Moines, Iowa in 1940.
Thomas M. Disch died in Manhattan, New York, in 2008.
Novel written with John Sladek.
Mr. Disch lived in Manhattan, New York, and attended Cooper Union and New York University.
Mr. Disch had a home in Barryville, New York.


text:
package sqlbase

import (
	"bytes"
	"fmt"

	"github.com/pkg/errors"
	"golang.org/x/net/context"

	"github.com/cockroachdb/cockroach/pkg/internal/client"
	"github.com/cockroachdb/cockroach/pkg/keys"
	"github.com/cockroachdb/cockroach/pkg/roachpb"
	"github.com/cockroachdb/cockroach/pkg/sql/parser"
	"github.com/cockroachdb/cockroach/pkg/util/encoding"
	"github.com/cockroachdb/cockroach/pkg/util/log"
)

// RowFetcher handles fetching kvs and forming table rows.
// Usage:
//   var rf RowFetcher
//   err := rf.Init(..)
//   // Handle err
//   err := rf.StartScan(..)
//   // Handle err
//   for {
//      row, err := rf.NextRow()
//      // Handle err
//      if row == nil {
//         // Done
//         break
//      }
//      // Process row
//   }
type RowFetcher struct {
	// -- Fields initialized once --

	desc             *TableDescriptor
	index            *IndexDescriptor
	reverse          bool
	isSecondaryIndex bool
	indexColumnDirs  []encoding.Direction

	// The table columns to use for fetching, possibly including ones currently in
	// schema changes.
	cols []ColumnDescriptor

	// For each column in cols, indicates if the value is needed (used as an
	// optimization when the upper layer doesn't need all values).
	valNeededForCol []bool

	// Map used to get the index for columns in cols.
	colIdxMap map[ColumnID]int

	// One value per column that is part of the key; each value is a column
	// index (into cols).
	indexColIdx []int

	// returnRangeInfo, if set, causes the underlying kvFetcher to return
	// information about the ranges descriptors/leases uses in servicing the
	// requests. This has some cost, so it's only enabled by DistSQL when this
	// info is actually useful for correcting the plan (e.g. not for the PK-side
	// of an index-join).
	// If set, GetRangeInfo() can be used to retrieve the accumulated info.
	returnRangeInfo bool

	// -- Fields updated during a scan --

	kvFetcher      kvFetcher
	keyVals        []EncDatum  // the index key values for the current row
	extraVals      EncDatumRow // the extra column values for unique indexes
	indexKey       []byte      // the index key of the current row
	row            EncDatumRow
	decodedRow     parser.Datums
	prettyValueBuf bytes.Buffer

	// The current key/value, unless kvEnd is true.
	kv                client.KeyValue
	keyRemainingBytes []byte
	kvEnd             bool

	// Buffered allocation of decoded datums.
	alloc DatumAlloc
}

// Init sets up a RowFetcher for a given table and index. If we are using a
// non-primary index, valNeededForCol can only be true for the columns in the
// index.
func (rf *RowFetcher) Init(
	desc *TableDescriptor,
	colIdxMap map[ColumnID]int,
	index *IndexDescriptor,
	reverse, isSecondaryIndex bool,
	cols []ColumnDescriptor,
	valNeededForCol []bool,
	returnRangeInfo bool,
) error {
	rf.desc = desc
	rf.colIdxMap = colIdxMap
	rf.index = index
	rf.reverse = reverse
	rf.isSecondaryIndex = isSecondaryIndex
	rf.cols = cols
	// rf.valNeededForCol is modified below.
	rf.valNeededForCol = append([]bool(nil), valNeededForCol...)
	rf.returnRangeInfo = returnRangeInfo
	rf.row = make([]EncDatum, len(rf.cols))
	rf.decodedRow = make([]parser.Datum, len(rf.cols))

	var indexColumnIDs []ColumnID
	indexColumnIDs, rf.indexColumnDirs = index.FullColumnIDs()

	rf.indexColIdx = make([]int, len(indexColumnIDs))
	for i, id := range indexColumnIDs {
		rf.indexColIdx[i] = rf.colIdxMap[id]
	}
	// Add composite key columns to valNeededForCol so that, like other key
	// columns, their values are decoded.
	for _, id := range index.CompositeColumnIDs {
		if idx, ok := colIdxMap[id]; ok {
			rf.valNeededForCol[idx] = true
		}
	}

	if isSecondaryIndex {
		for i, needed := range valNeededForCol {
			if needed && !index.ContainsColumnID(rf.cols[i].ID) {
				return errors.Errorf("requested column %s not in index", rf.cols[i].Name)
			}
		}
	}

	var err error
	// Prepare our index key vals slice.
	rf.keyVals, err = MakeEncodedKeyVals(rf.desc, indexColumnIDs)
	if err != nil {
		return err
	}

	if isSecondaryIndex && index.Unique {
		// Unique secondary indexes have a value that is the primary index
		// key. Prepare extraVals for use in decoding this value.
		// Primary indexes only contain ascendingly-encoded values. If this
		// ever changes, we'll probably have to figure out the directions here too.
		rf.extraVals, err = MakeEncodedKeyVals(desc, index.ExtraColumnIDs)
		if err != nil {
			return err
		}
	}

	return nil
}

// StartScan initializes and starts the key-value scan. Can be used multiple
// times.
func (rf *RowFetcher) StartScan(
	ctx context.Context, txn *client.Txn, spans roachpb.Spans, limitBatches bool, limitHint int64,
) error {
	if len(spans) == 0 {
		panic("no spans")
	}

	rf.indexKey = nil

	// If we have a limit hint, we limit the first batch size. Subsequent
	// batches get larger to avoid making things too slow (e.g. in case we have
	// a very restrictive filter and actually have to retrieve a lot of rows).
	firstBatchLimit := limitHint
	if firstBatchLimit != 0 {
		// The limitHint is a row limit, but each row could be made up of more
		// than one key.
		firstBatchLimit = limitHint * int64(rf.desc.KeysPerRow(rf.index.ID))
		// We need an extra key to make sure we form the last row.
		firstBatchLimit++
	}

	var err error
	rf.kvFetcher, err = makeKVFetcher(txn, spans, rf.reverse, limitBatches, firstBatchLimit, rf.returnRangeInfo)
	if err != nil {
		return err
	}

	// Retrieve the first key.
	_, err = rf.NextKey(ctx)
	return err
}

// NextKey retrieves the next key/value and sets kv/kvEnd. Returns whether a row
// has been completed.
// TODO(andrei): change to return error
func (rf *RowFetcher) NextKey(ctx context.Context) (rowDone bool, err error) {
	var ok bool

	for {
		ok, rf.kv, err = rf.kvFetcher.nextKV(ctx)
		if err != nil {
			return false, err
		}
		rf.kvEnd = !ok
		if rf.kvEnd {
			return true, nil
		}

		rf.keyRemainingBytes, ok, err = rf.ReadIndexKey(rf.kv.Key)
		if err != nil {
			return false, err
		}
		if !ok {
			// The key did not match the descriptor, which means it's
			// interleaved data from some other table or index.
			continue
		}

		// For unique secondary indexes, the index-key does not distinguish one row
		// from the next if both rows contain identical values along with a NULL.
		// Consider the keys:
		//
		//   /test/unique_idx/NULL/0
		//   /test/unique_idx/NULL/1
		//
		// The index-key extracted from the above keys is /test/unique_idx/NULL. The
		// trailing /0 and /1 are the primary key used to unique-ify the keys when a
		// NULL is present. Currently we don't detect NULLs on decoding. If we did
		// we could detect this case and enlarge the index-key. A simpler fix for
		// this problem is to simply always output a row for each key scanned from a
		// secondary index as secondary indexes have only one key per row.
		if rf.indexKey != nil && (rf.isSecondaryIndex || !bytes.HasPrefix(rf.kv.Key, rf.indexKey)) {
			// The current key belongs to a new row. Output the current row.
			rf.indexKey = nil
			return true, nil
		}
		return false, nil
	}
}

func prettyEncDatums(vals []EncDatum) string {
	var buf bytes.Buffer
	for _, v := range vals {
		if err := v.EnsureDecoded(&DatumAlloc{}); err != nil {
			fmt.Fprintf(&buf, "error decoding: %v", err)
		}
		fmt.Fprintf(&buf, "/%v", v.Datum)
	}
	return buf.String()
}

// ReadIndexKey decodes an index key for the fetcher's table.
func (rf *RowFetcher) ReadIndexKey(k roachpb.Key) (remaining []byte, ok bool, err error) {
	return DecodeIndexKey(&rf.alloc, rf.desc, rf.index.ID, rf.keyVals,
		rf.indexColumnDirs, k)
}

// ProcessKV processes the given key/value, setting values in the row
// accordingly. If debugStrings is true, returns pretty printed key and value
// information in prettyKey/prettyValue (otherwise they are empty strings).
func (rf *RowFetcher) ProcessKV(
	kv client.KeyValue, debugStrings bool,
) (prettyKey string, prettyValue string, err error) {
	if debugStrings {
		prettyKey = fmt.Sprintf("/%s/%s%s", rf.desc.Name, rf.index.Name, prettyEncDatums(rf.keyVals))
	}

	if rf.indexKey == nil {
		// This is the first key for the row.
		rf.indexKey = []byte(kv.Key[:len(kv.Key)-len(rf.keyRemainingBytes)])

		// Reset the row to nil; it will get filled in with the column
		// values as we decode the key-value pairs for the row.
		for i := range rf.row {
			rf.row[i].UnsetDatum()
		}

		// Fill in the column values that are part of the index key.
		for i, v := range rf.keyVals {
			rf.row[rf.indexColIdx[i]] = v
		}
	}

	// Composite columns that are not present use the key in the index. Record
	// those values here for use later on if the datums are not present in
	// the value.
	unsetCols := map[int]EncDatum{}

	if !rf.isSecondaryIndex && len(rf.keyRemainingBytes) > 0 {
		_, familyID, err := encoding.DecodeUvarintAscending(rf.keyRemainingBytes)
		if err != nil {
			return "", "", err
		}

		family, err := rf.desc.FindFamilyByID(FamilyID(familyID))
		if err != nil {
			return "", "", err
		}

		if familyID == 0 {
			// This value contains values for the composite columns. Clear the
			// undecodable bytes that came from the key so that there is no panic for
			// a duplicate value.
			for _, colID := range rf.index.CompositeColumnIDs {
				if idx, ok := rf.colIdxMap[colID]; ok {
					unsetCols[idx] = rf.row[idx]
					rf.row[idx].UnsetDatum()
				}
			}
		}

		switch kv.Value.GetTag() {
		case roachpb.ValueType_TUPLE:
			prettyKey, prettyValue, err = rf.processValueTuple(kv, debugStrings, prettyKey)
		default:
			prettyKey, prettyValue, err = rf.processValueSingle(family, kv, debugStrings, prettyKey)
		}
		if err != nil {
			return "", "", err
		}
	} else {
		for _, colID := range rf.index.CompositeColumnIDs {
			if idx, ok := rf.colIdxMap[colID]; ok {
				unsetCols[idx] = rf.row[idx]
				rf.row[idx].UnsetDatum()
			}
		}

		valueBytes := kv.ValueBytes()
		if rf.extraVals != nil {
			// This is a unique index; decode the extra column values from
			// the value.
			var err error
			valueBytes, err = DecodeKeyVals(&rf.alloc, rf.extraVals, nil, valueBytes)
			if err != nil {
				return "", "", err
			}
			for i, id := range rf.index.ExtraColumnIDs {
				if idx, ok := rf.colIdxMap[id]; ok && rf.valNeededForCol[idx] {
					rf.row[idx] = rf.extraVals[i]
				}
			}
			if debugStrings {
				prettyValue = prettyEncDatums(rf.extraVals)
			}
		}

		if log.V(2) {
			if rf.extraVals != nil {
				log.Infof(context.TODO(), "Scan %s -> %s", kv.Key, prettyEncDatums(rf.extraVals))
			} else {
				log.Infof(context.TODO(), "Scan %s", kv.Key)
			}
		}

		if len(valueBytes) > 0 {
			prettyKey, prettyValue, err = rf.processValueBytes(kv, valueBytes, debugStrings, prettyKey)
			if err != nil {
				return "", "", err
			}
		}
	}

	for idx, ed := range unsetCols {
		if rf.row[idx].IsUnset() {
			rf.row[idx] = ed
		}
	}

	if debugStrings && prettyValue == "" {
		prettyValue = parser.DNull.String()
	}

	return prettyKey, prettyValue, nil
}

// processValueSingle processes the given value (of column
// family.DefaultColumnID), setting values in the rf.row accordingly. The key is
// only used for logging.
func (rf *RowFetcher) processValueSingle(
	family *ColumnFamilyDescriptor, kv client.KeyValue, debugStrings bool, prettyKeyPrefix string,
) (prettyKey string, prettyValue string, err error) {
	prettyKey = prettyKeyPrefix

	// If this is the sentinel family, a value is not expected, so we're done.
	if family.ID == keys.SentinelFamilyID {
		return "", "", nil
	}

	colID := family.DefaultColumnID
	if colID == 0 {
		return "", "", errors.Errorf("single entry value with no default column id")
	}

	idx, ok := rf.colIdxMap[colID]
	if ok && (debugStrings || rf.valNeededForCol[idx]) {
		if debugStrings {
			prettyKey = fmt.Sprintf("%s/%s", prettyKey, rf.desc.Columns[idx].Name)
		}
		typ := rf.cols[idx].Type
		// TODO(arjun): The value is a directly marshaled single value, so we
		// unmarshal it eagerly here. This can potentially be optimized out,
		// although that would require changing UnmarshalColumnValue to operate
		// on bytes, and for Encode/DecodeTableValue to operate on marshaled
		// single values.
		value, err := UnmarshalColumnValue(&rf.alloc, typ, kv.Value)
		if err != nil {
			return "", "", err
		}
		if debugStrings {
			prettyValue = value.String()
		}
		if !rf.row[idx].IsUnset() {
			panic(fmt.Sprintf("duplicate value for column %d", idx))
		}
		rf.row[idx] = DatumToEncDatum(typ, value)
		if log.V(3) {
			log.Infof(context.TODO(), "Scan %s -> %v", kv.Key, value)
		}
	} else {
		// No need to unmarshal the column value. Either the column was part of
		// the index key or it isn't needed.
		if log.V(3) {
			log.Infof(context.TODO(), "Scan %s -> [%d] (skipped)", kv.Key, colID)
		}
	}

	return prettyKey, prettyValue, nil
}

func (rf *RowFetcher) processValueBytes(
	kv client.KeyValue, bytes []byte, debugStrings bool, prettyKeyPrefix string,
) (prettyKey string, prettyValue string, err error) {
	prettyKey = prettyKeyPrefix
	if debugStrings {
		rf.prettyValueBuf.Reset()
	}

	var colIDDiff uint32
	var lastColID ColumnID
	for len(bytes) > 0 {
		_, _, colIDDiff, _, err = encoding.DecodeValueTag(bytes)
		if err != nil {
			return "", "", err
		}
		colID := lastColID + ColumnID(colIDDiff)
		lastColID = colID
		idx, ok := rf.colIdxMap[colID]
		if !ok || !rf.valNeededForCol[idx] {
			// This column wasn't requested, so read its length and skip it.
			_, len, err := encoding.PeekValueLength(bytes)
			if err != nil {
				return "", "", err
			}
			bytes = bytes[len:]
			if log.V(3) {
				log.Infof(context.TODO(), "Scan %s -> [%d] (skipped)", kv.Key, colID)
			}
			continue
		}

		if debugStrings {
			prettyKey = fmt.Sprintf("%s/%s", prettyKey, rf.desc.Columns[idx].Name)
		}

		var encValue EncDatum
		encValue, bytes, err =
			EncDatumFromBuffer(rf.cols[idx].Type, DatumEncoding_VALUE, bytes)
		if err != nil {
			return "", "", err
		}
		if debugStrings {
			err := encValue.EnsureDecoded(&rf.alloc)
			if err != nil {
				return "", "", err
			}
			fmt.Fprintf(&rf.prettyValueBuf, "/%v", encValue.Datum)
		}
		if !rf.row[idx].IsUnset() {
			panic(fmt.Sprintf("duplicate value for column %d", idx))
		}
		rf.row[idx] = encValue
		if log.V(3) {
			log.Infof(context.TODO(), "Scan %d -> %v", idx, encValue)
		}
	}
	if debugStrings {
		prettyValue = rf.prettyValueBuf.String()
	}
	return prettyKey, prettyValue, nil
}

// processValueTuple processes the given values (of columns family.ColumnIDs),
// setting values in the rf.row accordingly. The key is only used for logging.
func (rf *RowFetcher) processValueTuple(
	kv client.KeyValue, debugStrings bool, prettyKeyPrefix string,
) (prettyKey string, prettyValue string, err error) {
	tupleBytes, err := kv.Value.GetTuple()
	if err != nil {
		return "", "", err
	}
	return rf.processValueBytes(kv, tupleBytes, debugStrings, prettyKeyPrefix)
}

// NextRow processes keys until we complete one row, which is returned as an
// EncDatumRow. The row contains one value per table column, regardless of the
// index used; values that are not needed (as per valNeededForCol) are nil. The
// EncDatumRow should not be modified and is only valid until the next call.
// When there are no more rows, the EncDatumRow is nil.
func (rf *RowFetcher) NextRow(ctx context.Context) (EncDatumRow, error) {
	if rf.kvEnd {
		return nil, nil
	}

	// All of the columns for a particular row will be grouped together. We loop
	// over the key/value pairs and decode the key to extract the columns encoded
	// within the key and the column ID. We use the column ID to lookup the
	// column and decode the value. All of these values go into a map keyed by
	// column name. When the index key changes we output a row containing the
	// current values.
	for {
		_, _, err := rf.ProcessKV(rf.kv, false)
		if err != nil {
			return nil, err
		}
		rowDone, err := rf.NextKey(ctx)
		if err != nil {
			return nil, err
		}
		if rowDone {
			rf.finalizeRow()
			return rf.row, nil
		}
	}
}

// NextRowDecoded calls NextRow and decodes the EncDatumRow into a Datums.
// The Datums should not be modified and is only valid until the next call.
// When there are no more rows, the Datums is nil.
func (rf *RowFetcher) NextRowDecoded(ctx context.Context) (parser.Datums, error) {
	encRow, err := rf.NextRow(ctx)
	if err != nil {
		return nil, err
	}
	if encRow == nil {
		return nil, nil
	}
	err = EncDatumRowToDatums(rf.decodedRow, encRow, &rf.alloc)
	if err != nil {
		return nil, err
	}
	return rf.decodedRow, nil
}

// NextKeyDebug processes one key at a time and returns a pretty printed key and
// value. If we completed a row, the row is returned as well (see nextRow). If
// there are no more keys, prettyKey is "".
func (rf *RowFetcher) NextKeyDebug(
	ctx context.Context,
) (prettyKey string, prettyValue string, row EncDatumRow, err error) {
	if rf.kvEnd {
		return "", "", nil, nil
	}
	prettyKey, prettyValue, err = rf.ProcessKV(rf.kv, true)
	if err != nil {
		return "", "", nil, err
	}
	rowDone, err := rf.NextKey(ctx)
	if err != nil {
		return "", "", nil, err
	}
	if rowDone {
		rf.finalizeRow()
		row = rf.row
	}
	return prettyKey, prettyValue, row, nil
}

func (rf *RowFetcher) finalizeRow() {
	// Fill in any missing values with NULLs
	for i, col := range rf.cols {
		if rf.valNeededForCol[i] && rf.row[i].IsUnset() {
			if !col.Nullable {
				panic("Non-nullable column with no value!")
			}
			rf.row[i] = EncDatum{
				Type:  col.Type,
				Datum: parser.DNull,
			}
		}
	}
}

// Key returns the next key (the key that follows the last returned row).
// Key returns nil when there are no more rows.
func (rf *RowFetcher) Key() roachpb.Key {
	return rf.kv.Key
}

// GetRangeInfo returns information about the ranges where the rows came from.
// The RangeInfo's are deduped and not ordered.
func (rf *RowFetcher) GetRangeInfo() []roachpb.RangeInfo {
	return rf.kvFetcher.getRangesInfo()
}


This box arrived a few days ago. I love getting new books in the mail, mine or others. Something magical about new things. 🙂 This is the B format of Heart of Gold. Its a cheaper smaller version which is going on sale at the end of February. What do you think of the bright sunset? Or did you prefer the blue skies better?
But don't get used to that name, as it will probably change. I don't have much luck with titles.
The Road Home was called The Last Link….but only briefly…I just needed a name to save the file in lol.


text:
Search for: "Dennis Haysbert"
Results: Showing 1-10 of 22
Julianne Moore (Hannibal, Boogie Nights) and Dennis Quaid (The Rookie, Frequency) star in this seductive story of a seemingly perfect family, and the forbidden desires that threaten to tear them apart. Cathy Whitaker (Moore) has it all - a lovely home, two wonderful children and a handsome husband (Quaid), who is successfully climbing the corporate ladder. But Cathy's idyllic existence is just an illusion, and she is eventually forced to choose between living a lie or following her heart...
Mr. Baseball
Tom Selleck stars in this hilarious comedy about a veteran major leaguer who attempts to revive his fading career by signing to play in Japan. Aging superstar Jack Elliot (Selleck) just isn't hitting them like he used to. In fact, the only pro ball club willing to sign him is the Chunichi Dragons… in Nagoya, Japan. Cultures clash immediately when Jack hits town and proceeds to alienate everyone with his arrogance. But through the friendship of teammate Max "Hammer" Dubois (Dennis Haysbert, Far...
Jarhead 3: The Siege
Assigned to protect a seemingly safe U.S. Embassy in the Middle East, elite Marine Corporal Evan Albright (Charlie Weber) thought he wasn't going to see much action. But when a hostile, extreme militant group launches a surprise attack aimed at killing an Embassy informant, Albright's team is caught off guard. Out-gunned and outnumbered, Albright's routine assignment escalates into an all-out war. With national security at stake, an international crisis ensues in this riveting film directed by...
Inspired by the incredible true story of the greatest security breach in U.S. intelligence history, Breach is a spellbinding thriller starring Academy Award® winner Chris Cooper, Ryan Phillippe, Academy Award® nominee Laura Linney and Dennis Haysbert. Eric O'Neill (Phillippe) is assigned to work with renowned operative Robert Hanssen (Cooper), the sole subject of a long-term, top-secret investigation. Determined to draw this suspected double-agent out of deep cover, O'Neill finds himself in a...
Sinbad: Legend of the Seven Seas
Brad Pitt leads an all-star voice cast that includes Michelle Pfeiffer, Joseph Fiennes, Catherine Zeta-Jones and Dennis Haysbert in this epic animated twist on a classic. Its high-seas adventure and plenty of laughs when legendary swashbuckler Sinbad (Pitt), his loyal pooch Spike and the daring Princess Marina face off against the trickster Goddess of Chaos and her mischievous monsters.
A group of unsuspecting office workers find themselves stranded on a desert island when a corporate retreat led by unhinged former Marine Storm Rothchild (Jean-Claude Van Damme) goes horribly wrong. Now Chris (Adam Brody) and his co-workers must battle nature – and each other – to survive! Welcome to the Jungle is a hilarious journey into the heart of madness also featuring Rob Huebel, Kristen Schaal, Dennis Haysbert, and Megan Boone.
Academy Award winner Jamie Foxx and Jake Gyllenhaal star in this critically acclaimed, brilliantly unconventional war story from Oscar-winning director Sam Mendes. Jarhead (the self-imposed moniker of the Marines) follows Swoff (Gyllenhaal) from a sobering stint in boot camp to active duty, where he sports a sniper rifle through Middle East deserts that provide no cover from the heat or Iraqi soldiers. Swoff and his fellow Marines sustain themselves with sardonic humanity and wicked comedy on...
Unleash the fun with this hilarious comedy for all ages from the creators of The Croods and How to Train Your Dragon! Mr. Peabody (Ty Burrell) is an inventor, scientist and genius who just happens to be a dog. With his son Sherman, he will embark on the most extraordinary adventure imaginable as they race against time to repair history and save the future.
Kung Fu Panda: Ultimate Secrets Collection
The secrets of Po's world are revealed in three awesome Kung Fu Panda adventures. Find out how Tigress, Viper, Monkey, Crane and Mantis become the legendary Furious Five warriors in Secrets of the Scroll . Join Po and the Furious Five as they discover the legend of kung fu's greatest heroes – Thundering Rhino, Storming Ox and Croc – in Secrets of the Masters . Then, uncover the Secrets of the Furious Five and see what it takes to become a true kung fu master.
Jack Black is back as Po in this fiercely funny sequel. In his biggest challenge since becoming the Dragon Warrior, Po must lead his fellow kung fu masters, The Furious Five, on a mission of epic proportions to defeat his most threatening rival yet. Kung Fu Panda 2 packs a powerful punch that combines non-stop action, beautiful storytelling and stunning animation in an all-new, awesome adventure!

redpajama_set_name: RedPajamaCommonCrawl


解析力的定義為可分辨兩點之間的最小距離,理論上光學解析力最小可達200nm. 如下表所示,若使用 NIS Element C-ER,XY軸解析力可提升1.5倍,Z軸解析力則可提升1.7倍.
Division of Molecular and Cellular Biology, Department of Biochemistry and Molecular Biology, Kobe University Graduate School of Medicine.


To enrich staff's cultural life, KTC decided to organize the 2012 table tennis match. As a platform, workers can relax their minds, build up their bodies, and keep their vigorous energy. Prepared by the Human Resource Department and actively participated and supported by all departments, the match ended successfully on July 11, lasting for one month.
The match was divided into team and individual competitions and there were 10 teams, including over 80 people, taking part in this match. In the competition, participants scrambled for champion, not giving up any chance, which fully showed collective cohesion and sense of honor. After exciting competition, Marketing Section won the champion of team competition, constituent team, consists of Financial, R&D, and Administration Department, gained second place, following by Board Product Department.
There were men's singles, women's singles, and mixed doubles events in individual competition. Among these, nothing was fiercer than men's singles events. Finally, Li Zhenqiang from Export sales department became the winner; Zeng Rongshu from QC Department gained the second place and Chen Yilong from QC Department got the third place. In women's singles, Huang Wenxiu from Financial Department gained laurels, Purchase Department manager Zhouchuntao finished second place in the race and Chen Enzhi from Marketing Department became second runner-up.
In the race of mixed doubles, Zhou Chuntao and Chen Yilong won tha championship in virtue of tacit cooperation and stable performance, following by Li Zhenqiang, Huang Wenxiu and Zhangzhiqing (Electrical Department), Yao Shuang (Administrating Office).
In this competition, players presented an excellent table tennis competition. In the spirit of "friendship first, competition second", they competed with each other, enhanced communication, which reflects the spirit of KTC's employees.


If you are like me, you love a bit of freshly ground pepper on your evening meal. And if you are really like me you dislike refilling the mill with fresh pepper. You will be picking up peppercorns on the kitchen floor for days. Typical mills have always been bored out with a 25mm hole. If you think about it that is not much storage space. With a very simple hollowing technique we can give any mill lots more storage. While we are at it let's make an object that will facilitate ease of use, have something beautiful to display in the kitchen and hopefully last generations. There is no particular cut out of the log that I choose for mills, the only criteria being that it is at least 100mm in diameter and beautifully figured.


text:
Q: ReportViewer how to display a boolean value differently My data is stored in BIT field in SQL server (0 or 1)
When I display it in reportviewer it shows TRUE or FALSE
I would like to change it to YES or NO
Please advice.

A: You can change it in the report using iif.
=iif(Fields!YourBool.Value, "Yes", "No")

If your data is null then it will evaluate to "No".  If you want it do be blank instead use this one
=iif(isnothing(Fields!YourBool.Value), "", iif(Fields!YourBool.Value, "Yes", "No"))

A: and also you can display checkbox :
(change the textbox's font to Wingdings2)
=IIf( Fields!MyBooleanField.Value, Chr(82), Chr(163))

redpajama_set_name: RedPajamaStackExchange


text:
« Special Effects (Blu-ray Review)
Prince Movie Collection (Blu-ray Review) »
The Night Of (Blu-ray Review)
October 16th, 2016 by Brian White
Vanity Fair called HBO's limited series, The Night Of, "The best TV you'll see this summer." Who am I to argue with that claim? I learned about the show from all the buzz it was experiencing online before the series even premiered. Because of its early release online I made my girlfriend watch it with me on Apple TV. The rest is history. Like a meth addict, we were instantly hooked and waited with anticipation for the new episode each Sunday night. This is ironic too considering we were basically wishing our weekend away because the inevitable would ultimately see us back to the grind at work the very next morning. The drama in this show is just so damn gripping that much like my first experience with the film The Warrior (starring Tom Hardy) I never wanted it to end. Sad, but true things did come to a grueling end on the show here. However, it was a very realistic ending and I applaud it for that even though there's no more of this to go around (even a second season would be executed much like HBO's other anthology series True Detective).
So here we are. It's the fall season now. That can only mean one thing besides the obvious that Santa Claus is making plans to come to town. The Night Of, the acclaimed HBO limited series that captivated TV audiences this summer as you already know, is coming to DVD and Blu-ray on October 18th. That's all fine and dandy. I did my job marketing the show with all the status quo buzz words, captions and whatnot the studio wants you to hear. However, I have so far neglected to tell you yet what it's all about and who all the major players are. What do you say I rectify that right now?
The Night Of is created and executive produced by Steven Zaillian (Oscar winner, Best Adapted Screenplay, Schindler's List) and Richard Price (The Wire). The show is based on the BBC series Criminal Justice, created by Peter Moffat. Now here's where it gets even better…the brilliant casting of the series. The ensemble cast includes Michael Kenneth Williams, Bill Camp, Jeannie Berlin, Poorna Jagannathan, Payman Maadi, Glenne Headly, Amara Karan, Sofia Black-D'Elia, Paul Sparks, Ben Shenkman, Afton Williamson, Paulo Costanzo, Ned Eisenberg, Mohammad Bakri, Nabil Elouahabi, Ashley Thomas, Glenn Fleshler and Chip Zien. With the exception of Nightcrawler, I wasn't too familiar with actor Riz Ahmed before this show. He's now everywhere I look with an appearance in the latest Jason Bourne film to kicking it big time as a cast member in this December's Rogue One. You can't get much bigger than that last title in my opinion.
In The Night Of, Pakistani-American college student Nasir Khan (or simply Naz) lives with his hard working, loving parents in Queens, NY. One fateful night, after being stood up by his friend, he takes his father's taxi to go to a party in Manhattan. Needless to say he never makes it there. Instead his life takes a big, albeit first pleasurable, but ultimately tragic turn. What becomes a perfect night for most guys his age Naz wakes up to a nightmare when he's arrested for murder. The series goes on to examine the police investigation, the legal proceedings, the criminal justice system and Rikers Island, the horrible, beyond imaginable place where the accused await trial. I don't think I would even last a day there, but our protagonist endures and each subsequent, tragic episode we die and succumb to evil a little more along with him. It's so powerful and mesmerizing, it just needs to be seen how he realistically deconstructs.
So remember back in the 1990's when NBC had that magical Thursday night lineup of Friends, Seinfeld and even ER? They billed it as must-see TV. Well I'm here to tell you in 2016 that this ladies and gentlemen is must-see TV. Wait! Can I call it that? It's not TV, it's HBO. Okay, let me rephrase that then. The Night Of is must-see HBO. How's that? Better? So to say The Night Of is any kind of typical legal proceedings, cop showing would be like saying Olive Garden is real Italian food. It's simply not. The show dives head first into the very deep waters of a complex murder case with both cultural and political overtones, and never shies away once from the ugliness of it all. I felt so bad for Naz and that suspension of disbelief stayed with me until the series' final frame. It's raw, visceral and real. I never saw anything like it in regards to a cop drama. So yeah ladies and gentlemen, this is must-see HBO! I rest my case.
Now don't get me wrong, The Night Of is not all about seeing Naz suffer. Oh no! It's about watching him make one bad choice after another, but the beautiful part about it all is he does so to stay alive. You may not understand, but have you ever been incarcerated like this? I don't think so. However, the show is more than just Naz. It's also a starring vehicle for the very underrated John Tuturro. He takes your heart and smashes it the brilliant way he makes you care about him through his mind-blowing performances. The way he cares one minute (like about a cat for example) and is able to shut his emotions off the very next moment is a survival instinct parallel to what we see Naz going through. He does what he does to stay alive. It's not pretty. It's not lavish. It's plain and simple survival of the fittest. Step up and do something or be found laid to waste like roadkill. It's that simple. So I guess what I am trying to say here is it's not just the mesmerizing and interesting story here, but it's the characters and performances of them all that really sell this show.
So yeah, like HBO's True Detective both the characters and story sell the show here. Every character just feels three-dimensional and has this vast depth to them all. Even the minor characters such as the police officers who bring Naz in make you feel something for them. Whether they are big or small characters, they're all essential and important to me here because after all, Naz's life depends upon it. One slip up in the legal proceedings or mistake with the red tape is all it takes to set a killer free. Wait a minute! I never did really say whether Naz is completely innocent or guilty? Ha ha. I'm not going to tell you. For everyone that has not seen this limited series, you need to! All others, please proceed down below to learn about how this series looks and sounds on the Blu-ray format because I can talk for hours and I haven't even got to the good stuff like drug smuggling in vaginas, prison acts of sex and violence or my favorite character, Detective Box (Bill Camp) and his personal plight.
Encoding: AVC MPEG-4
Resolution: 1080p
Region(s): A, B, C
Clarity/Detail: This one is a hard one to judge so I'm going to be very critical about this presentation. There are moments where it really shines (pun ver much intended) such at the shiny floors of the college gymnasium and their respective bleachers, but in the dark things do get soft occasionally. There are other moments of intentional softness such as looking through a car window and whatnot, but what I am trying to say is this one is far from perfect. However, thats not to say there's not moments of utmost clarity such as detail in textures like clothing, brick, wood and prison cells to John Turturro's ugly looking eczema all over his Saran-wrapped body (it's very painful to view), stubble on characters' chins and shaved heads, moles on skin, etc. Other than that, I think this looks like an unmistakable HBO show on Blu-ray. I don't know how to back up what I'm saying, but anyone familiar with HBO series Blu-ray titles probably gets it.
Depth: Because of the three-dimensional pop the onscreen characters exhibit the depth of field is insanely good here throughout with backgrounds blurred out, etc. One of my favorite shots here is in the first episode where Naz sits on the bank of the river with the bridge in the background and lights illuminating the night skyline.
Black Levels: Black levels are all pretty much deep and inky throughout. I know I complained about some soft, darker shots up above, but there are many good moments of fine details in the shadows. This show is a very dark one so you just have to embrace that.
Color Reproduction: As I stated up above the overall theme of the series is dark, with a lot of smoky grey and black. The only time you see colors are city shots before "night" and of course anything outside of the prison. I do love the way Naz's yellow cab he drives in the first episode is rendered. One of my favorite shots in this series that just pops color-wise is when Naz goes into the gas station to view their beverage selection. Once he gets arrested though the colors are void and very few and far between. It's a dark, gritty show rooted in its visceral, brutal subject matter.
Flesh Tones: For the most part, the skin tones looked natural and authentic throughout the series.
Noise/Artifacts: There's a very thin layer of grain throughout. It's never obtrusive or too much. The real problem for me though are moments of banding with solid background colors.
Audio Format(s): English DTS-HD Master Audio 5.1, Spanish DTS Digital 2.0
Subtitles: English SDH, Latin Spanish, Danish, Finnish, Norwegian, Swedish
Dynamics: The Night Of is a television drama series. Therefore, things do get very front heavy in this audio presentation. That's kind of sad as it's not the level of immersion I'm used to from HBO, but I got to keep reminding myself this is not a Game of Thrones Blu-ray presentation, but rather that of a standard drama. So essentially it is what it is. However, with that being said the score is smoothly worked in, but the overall essence of immersion just isn't there for me.
Low Frequency Extension: The LFE makes itself known in the score and soundtrack department and other than that were limited to moments of onscreen action like prison fights (and associated events there such as the buzzing and closing of controlled security doors theres) and vehicles such as the infamous taxi, the train in the background and even a motorcycle. My favorite bass moment has to be the opening score. It's hypnotic and trippy. In other words it's addicting.
Surround Sound Presentation: Rest assured there are moments of surround sound, but they are very few and far between. Most of the times all I heard was white noise and quaint hiss in the rears. However, the rear channels are utilized for onscreen effects, ambiance, score and even for police radios, etc. You get the point. It's not an immersive surround track, but rather a front heavy, character driven drama and there's nothing wrong with that. This one shouldn't sound like San Andreas. You wouldn't want it to either.
Dialogue Reproduction: I'm ecstatic to report that spoken words are loud, clear and intelligible.
Sadly, and I use that word with much emphasis here, The Night Of is an easy one to report on in the Extras category. With the exception of the Digital HD redemption code good for both iTunes HD and UltraViolet retailers there's nothing to write about here. I thought it was weird that there was nothing on the back of the box art. I went through all 3 Blu-ray discs in this set and found zilch. There's not even an audio commentary. This is so unlike a typical HBO Blu-ray release. If anything begs for supplemental features, I would think this outstanding limited series warranted it. However, what do I know? Therefore, I'm giving it a half doggie in the score department for at least providing us Digital Copies in HD.
I hope there are some readers out there as surprised as I am to see this only get a total score of 4. As amazing as this show is this 3-disc Blu-ray set of The Night Of isn't. Audio and video gradings are fair, but the release comes bare bones void of any extras (with exception of Digital Copies). It feels like it was rushed to the market and smells of a double dip opportunity for the studio. Don't you think? So my advice is to proceed with caution. If you must have it, then there's your pre-order link down below. If you want to wait for the eventual double dip, that's up to you. If it were my personal decision, I'd probably go for the cheapest price possible that I could pick this up for later this year. Regardless, enjoy and thanks for reading!
Re-Live All The Red Tape
& Complex Legal Proceedings
in HBO's The Night Of
on Blu-ray October 18th
Written by: Brian White on October 16, 2016.
Owner/Writer/Reviewer/Editor, Dreamer, Producer, Agent of Love, Film Lover, Writer of Screenplays and a Devoted Apostle to all things Ford Mustangs (the real ones with V8's!). Some of my favorite films include FIGHT CLUB, MOULIN ROUGE, THE DARK KNIGHT, STAR WARS alongside television shows such as SEINFELD, 24, SANFORD & SON and even the often loathed in the geek community BIG BANG THEORY. Outside of my three lives I live I also enjoy spending time with my girlfriend and our three girls (of the furry kind).
Tags: Afton Williamson, Amara Karan, Ashley Thomas, Ben Shenkman, Bill Camp, Chip Zien, Glenn Fleshler, Glenne Headly, Jeannie Berlin, John Turturro, Michael Kenneth Williams, Mohammad Bakri, Nabil Elouahabi, Ned Eisenberg, Paul Sparks, Paulo Costanzo, Payman Maadi, Poorna Jagannathan, Sofia Black D'Elia.
1 Response to "The Night Of (Blu-ray Review)"
probably a rush out blu-ray and a special edition will be 6 months down the road
Comment on Oct 16th, 2016	at 5:14 pm
This entry is filed under Amazon Pre-Orders, Blu-ray Reviews . You can follow any responses to this entry through RSS 2.0 . You can skip to the end and leave a response. Pinging is currently not allowed.


text:
Q: What is the exportstrategy in Experiment? I try to build my custom experiment in Tensorflow, but I don't understand what is the use of the export_strategy argument ? And also, how do you build the serving_input_fn ?
Thank you!

A: Answers inspired by the CloudML example
Question 1: What is the use of the export_strategy (source)?
See also the response of question two, but the export strategy is (as the name suggest) the possibility to make some changes to the graph when it is exported. In the example below the proper input functions which will be used when serving the model are added.
  learn_runner.run(
      generate_experiment_fn(
          min_eval_frequency=args.min_eval_frequency,
          eval_delay_secs=args.eval_delay_secs,
          train_steps=args.train_steps,
          eval_steps=args.eval_steps,
          export_strategies=[saved_model_export_utils.make_export_strategy(
              model.SERVING_FUNCTIONS[args.export_format],
              exports_to_keep=1
          )]
      ),
      run_config=tf.contrib.learn.RunConfig(model_dir=args.job_dir),
      hparams=hparam.HParams(**args.__dict__)
  )

Question 2: How do you build the serving_input_fn (source) ?
What this actually does is when you save the model and prepare it for serving you will require some inputs to the graphs to be present, based upon the desired input (in this case json, csv, ...) it adds some inputs to the graphs, should these be missing it wouldn't be possible to feed the graph when going to serve it.
def csv_serving_input_fn():
  """Build the serving inputs."""
  csv_row = tf.placeholder(
      shape=[None],
      dtype=tf.string
  )
  features = parse_csv(csv_row)
  # Ignore label column
  features.pop(LABEL_COLUMN)
  return tf.estimator.export.ServingInputReceiver(
      features, {'csv_row': csv_row})
def example_serving_input_fn():
  """Build the serving inputs."""
  example_bytestring = tf.placeholder(
      shape=[None],
      dtype=tf.string,
  )
  features = tf.parse_example(
      example_bytestring,
      tf.feature_column.make_parse_example_spec(INPUT_COLUMNS)
  )
  return tf.estimator.export.ServingInputReceiver(
      features, {'example_proto': example_bytestring})

def json_serving_input_fn():
  """Build the serving inputs."""
  inputs = {}
  for feat in INPUT_COLUMNS:
    inputs[feat.name] = tf.placeholder(shape=[None], dtype=feat.dtype)
  return tf.estimator.export.ServingInputReceiver(inputs, inputs)

SERVING_FUNCTIONS = {
    'JSON': json_serving_input_fn,
    'EXAMPLE': example_serving_input_fn,
    'CSV': csv_serving_input_fn
}

This question is also related to Example of tensorflow.contrib.learn.ExportStrategy


text:
Q: Get percentage based on count in elasticsearch I have an index of objects that contains:

*

*username (nullable)

*status (can be "none", "talking" or "customer")

I need to get the conversion rate of users (per user) based on how many objects that has status "talking" against objects that has status "customer".
And then represent this in a some chart.
Is this possible?

A: Below are the steps to achieve this:

*

*Go to kibana Management -> Index Patterns -> Create index pattern and then type the name of your index for e.g myindex

*Go to Visualize tab. Click on + and select Pie. Check this LINK

*Select the index name for e.g. myindex

*Click on Split Slices. And then select Terms. Select status in the field section.

*Click on the bluish green play button which would display Apply changes when you hover your mouse
You would now be able to see the pie chart with all the values.

*Now for only customer and talking, click on Add a filter

*Select status in the field.

*Select is one of operator and then select both customer and talking values.
You should now be able to see pie chart with only these two values. If you hover the mouse on the pie chart, you would be able to see the percentages respectively.
Below is how it appears on my kibana machine where I had three documents whose status as talking and two documents with status as customer
Note In my mapping I've used the status.keyword as field of type keyword in order to run Terms Aggregation

Let me know if this helps!


text:
← Post-Game Report: 3/28 vs. Detroit
Game Preview: 3/31/19 vs. Columbus →
Game Preview: 3/30/19 at NY Islanders
Posted on March 29, 2019 by Ian Ott | Leave a comment
Detroit 5 at Buffalo 4 (OT)
Goals: Okposo, Scandella, Mittelstadt, Eichel
PP: 1/3; PK: 2/3; Shots: Buffalo 39 – Detroit 34
CURRENT INJURIES – (Man Games Lost: 228)
Jake McCabe (upper body, March 4) – 12 games
Matt Hunwick (upper body, March 23) – 4 games
Zach Bogosian (lower body, March 25) – 3 games
Rasmus Ristolainen (illness, March 26) – 2 games
Evan Rodrigues (upper body, March 28) – 1 game
3/24: Recalled D Lawrence Pilut from Rochester (AHL)
3/26: Signed D Casey Fitzgerald to a two-year, entry-level contract with an AAV of $925,000; Recalled D William Borgen from Rochester (AHL)
3/27: Recalled F Victor Olofsson from Rochester (AHL)
3/28: Recalled D Matt Tennyson from Rochester (AHL); Assigned F Tage Thompson to Rochester (AHL)
REMAINING GAMES
Sunday, March 31: Columbus at Buffalo, 6 p.m.
Tuesday, April 2: Nashville at Buffalo, 7 p.m.
Thursday, April 4: Ottawa at Buffalo, 7 p.m.
Saturday, April 6: Buffalo at Detroit, 7 p.m.
TONIGHT'S GAME
SABRES at ISLANDERS
This is the third and final meeting between the Sabres and Islanders this season.
Last meeting: Buffalo defeated New York 3-1 in Buffalo on Feb. 12
The Sabres are 4-5-1 in their last 10 games vs. the Islanders; 5-4-1 on the road.
This is the 171st game all-time between Buffalo and New York; Buffalo has an 82-64-24 series record.
The Sabres are 36-36-12 on the road against the Islanders all-time.
The Sabres are 9-11-5 all-time on March 30.
March 30, 2007: Chris Drury records three points (2+1), including his career-best 37th goal of the season, as the Sabres top the New York Islanders 6-4 in Buffalo.
March 30, 2011: Jhonas Enroth makes 23 saves to record his first career shutout in a 1-0 victory over the New York Rangers at home.
With a win tonight, the Sabres will have won the season series against the Islanders for the first time since the 2015-16 season (2-1-0).
Kyle Okposo has tallied a point in each of his last four games against his former club (2+2).
Jack Eichel has totaled seven points (2+5) in his five meetings with the Islanders since the beginning of last season, including three points (1+2) in two games in New York.
Casey Mittelstadt recorded an assist in his only previous matchup with the Islanders.
Linus Ullmark is 3-1-0 in four career games against the Islanders with a .938 save percentage and a 1.75 goals-against average.
Buffalo's penalty kill is 10-for-11 (90.9 percent) in the team's last six games against the Islanders.
Tonight's game opens Buffalo's final of 16 sets of back-to-back games this season, which continues tomorrow night vs. Columbus. The Sabres are 7-7-1 in the first game of back-to-back sets and 6-7-2 in the second game so far this season. Buffalo's point breakdown in their previous back-to-back sets is: four points (3), three points (1), two points (6), one point (2) and zero points (3).
Through his first 15 games with the Sabres, Brandon Montour has recorded eight points (2+6), tying Jack Eichel (6+2) for most points during that stretch. Six of his eight points as a Sabre (2+4) have come at even strength.
According to NaturalStatTrick.com, Montour's CF%, FF% and SCF% during 5-on-5 play through 15 games with the Sabres top his full-season rates in each of those categories from both of his first two NHL seasons, as well as his rates through 62 games with Anaheim this season.
In these 15 games, Montour has also seen a drastic uptick in scoring rates in goals (.44), assists (.65) and points (1.09) per 60 minutes played at 5-on-5 compared to his rates from the last two seasons.
DAH-LEAN ON ME
Entering play Friday, Rasmus Dahlin led rookie defensemen and ranked third among all NHL rookies in points (41). His 33 assists ranked second among all rookies.
With 41 points (8+33) through 77 games, Dahlin is already guaranteed to finish the season with more points per game than he had in the Swedish Hockey League last season, when he totaled 20 points (7+13) in 41 games for Frölunda.
With his assist on March 20 vs. Toronto, Dahlin passed Bobby Orr (38 points in 1966-67) for the second-most points ever recorded by an NHL defenseman before his 19th birthday, trailing only Phil Housley (57 points in 1982-83).
With seven multi-point games so far this season, Dahlin has recorded more multi-point games as an 18-year-old than all but two defensemen in NHL history: Housley (13) and Orr (8).
Dahlin's three game-winning goals this season are the most ever recorded by a Sabres rookie defenseman. His total also ties for ninth-most by any Sabres rookie and eighth-most in a season by any defenseman in franchise history.
Jack Eichel has set new career-high marks in goals (27), assists (49) and points (76) this season. He is the first Sabres player to record at least 75 points in a season since Derek Roy (81) and Jason Pominville (80) both did so in 2007-08.
Eichel is the first Sabres player to record at least 45 assists in a season since Tim Connolly recorded 48 in 2009-10. The last Sabre to record at least 50 assists was Pominville (53) in 2007-08.
He has also joined Rick Martin and Thomas Vanek as the third player in franchise history to record at least 20 goals in each of his first four NHL seasons.
SKINNER, SKINNER, CHICKEN DINNER
Jeff Skinner has scored 37 goals this season, becoming the fifth player ever to score at least 35 in his first season with the Sabres and tying his previous single-season high set in 2016-17.
With his next goal, he will tie Gilbert Perreault (1970-71) and Ray Sheppard (1987-88) for third-most ever scored by a first-year Sabre.
Skinner's 29 even-strength goals are already the most ever recorded by player in his first year with the Sabres, breaking a record previously held by Danny Gare (26) since 1974-75.
Skinner has a chance to become the first Sabres player to score at least 40 goals since Thomas Vanek (40) in 2008-09. He would become just the 11th different player in Sabres history to score at least 40 in a season.
Each of the Sabres' top three scorers is currently on pace to top his previous personal best in points this season:
Player/Season GP G A PTS ES G ES A ES P
Eichel Career High (2017-18) 67 25 39 64 22 20 42
Eichel 2018-19 72 27 49 76 19 34 53
Eichel 2018-19 (Pace) 77 29 52 81 20 36 57
Reinhart Career High (2017-18) 82 25 25 50 13 16 29
Reinhart 2018-19 77 20 42 62 18 30 48
Reinhart 2018-19 (Pace) 82 21 45 66 19 32 51
Skinner Career High (2016-17) 79 37 26 63 30 18 48
Skinner 2018-19 77 37 23 60 29 15 44
Skinner 2018-19 (Pace) 82 39 24 64 31 16 47
SABRES AMONG LEAGUE-LEADERS (Sabres' league rankings before 3/29 games)
Eichel: 284 S (7th)
Ristolainen: 24:42 TOI/GP (9th)
Skinner: 3 OTG (T-3rd), 29 EVG (T-6th), 7 GWG (T-7th)
BUF-NYI CONNECTIONS
Former Sabres:
Islanders director of goaltending Mitch Korn served as the Sabres goaltending coach for eight seasons (1990 to 1998).
Islanders G Robin Lehner played for the Sabres for three seasons (2015 to 2018), finishing his tenure with the team with a 42-61-22 record, 2.77 goals-against average and a .916 save percentage.
Former Islanders:
Islanders F Kyle Okposo was selected by the Islanders in the first round (7th overall) of the 2006 NHL Draft. He spent the first nine seasons of his career with the Islanders (2007 to 2016), recording 369 points (139+230) in 529 games.
Zach Bogosian:
Played with Islanders F Andrew Ladd in Atlanta and Winnipeg.
Jason Botterill:
Was the assistant general manager for the Penguins when Islanders G Thomas Greiss and F Tom Kuhnhackl were playing in Pittsburgh.
Chris Hajt:
Played with Islanders assistant coach John Gruden in Washington.
Phil Housley:
Played in New Jersey when Islanders General Manager Lou Lamoriello was the general manager of the Devils and Islanders assistant general manager Chris Lamoriello was a scout for the team.
Was an assistant coach in Nashville alongside Islanders associate coach Lane Lambert and director of goaltending Mitch Korn when Islanders Head Coach Barry Trotz was the head coach of the Predators.
Matt Hunwick:
Played with Islanders D Johnny Boychuk in Boston.
Played with Islanders F Tom Kuhnhackl in Pittsburgh.
Played with Islanders F Leo Komarov and F Matt Martin in Toronto. Islanders General Manager Lou Lamoriello was the general manager of the Maple Leafs during Hunwick's tenure with the team.
Johan Larsson:
Played with Islanders F Cal Clutterbuck in Minnesota.
Played for Team Sweden with Islanders G Robin Lehner at the 2011 IIHF World Junior Championship.
Jake McCabe:
Played for Team USA with Islanders F Brock Nelson at the 2014 and 2016 IIHF World Championships.
Davis Payne:
Played with Islanders assistant coach John Gruden in Boston.
Jason Pominville:
Rasmus Ristolainen:
Played for Team Finland with Islanders F Valtteri Filppula at the 2016 World Cup of Hockey.
Marco Scandella:
Conor Sheary:
Jeff Skinner:
Played for Team Canada with Islanders F Cal Clutterbuck at the 2011 IIHF World Championship.
Represented Canada with Islanders F Jordan Eberle and F Andrew Ladd at the 2011, 2012 and 2013 IIHF World Championships.
Steve Smith:
Was a scout for the Blackhawks when Islanders F Andrew Ladd was playing in Chicago.
Was an assistant coach for the Oilers when Islanders F Jordan Eberle was playing in Edmonton.
Vladimir Sobotka:
Scott Wilson:
Played with Islanders G Thomas Greiss and F Tom Kuhnhackl in Pittsburgh.
Hits: Ristolainen (219), Girgensons (136), Larsson (106)
Blocked Shots: Ristolainen (119), Bogosian (116), McCabe (95)
Shots: Eichel (284), Skinner (256), Ristolainen (177)
1-10: 6-4-0 (12), 26/28, 8/38, 22/30
11-20: 6-2-2 (14), 35/27, 4/28, 26/29
41-50: 4-6-0 (8), 30/34, 1/25, 14/20
71-80: 1-5-1 (3), 17/30. 3/18, 13/18
Oct. 27 at CBJ: L, 5-4 (GWG-Panarin, 0:31)
Oct. 30 vs. CGY: L, 2-1 (GWG-Gaudreau, 2:40)
Nov. 8 at MTL: W, 6-5 (GWG-Ristolainen, 1:38)
Nov. 19 at PIT: W, 5-4 (GWG-Eichel, 0:45)
Nov. 23 vs. MTL: W, 3-2 (GWG-Skinner, 3:06)
Nov. 27 vs. SJS: W, 3-2 (GWG-Skinner, 1:41)
Nov. 30 at FLA: L, 3-2 (GWG-Barkov, 2:26)
Dec. 4 vs. TOR: L, 4-3 (GWG-Matthews, 4:57)
Dec. 11 vs. LAK: W, 4-3 (GWG-Skinner, 1:49)
Dec. 29 vs. BOS: L, 3-2 (GWG-Kuraly, 3:44)
Jan. 16 at CGY: W, 4-3 (GWG-Eichel, 1:10)
Feb. 8 vs. CAR: L, 6-5 (GWG-Teravainen, 3:25)
March 1 vs. PIT: W, 4-3 (GWG-Sheary, 4:11)
March 28 vs. DET: L, 5-4 (GWG-Bertuzzi, 2:18)
Nov. 10 vs. VAN: W, 4-3 (GDG-Mittelstadt)
Nov. 16 at WPG: W, 2-1 (GDG-Sheary)
Nov. 24 at DET: W, 3-2 (GDG-Reinhart)
Dec. 15 at WSH: L, 4-3 (GDG-Ovechkin)
Feb. 5 vs. MIN: W, 5-4 (GDG-Reinhart)
Feb. 21 at TBL: L, 2-1 (GDG-Stamkos)
March 7 at CHI: L, 5-4 (GDG-Kane)
March 17 vs. STL: W, 4-3 (GDG-Reinhart)
Jason Pominville … 1 goal … 217 goals with Sabres (sole possession, 10th in franchise history)
Kyle Okposo … 1 assist … 300 career assists
Jeff Skinner … 2 assists … 200 career assists
William Borgen … 1st NHL game … March 26 at OTT
Victor Olofsson … 1st NHL game … March 28 vs. DET
Victor Olofsson … 1st NHL point (assist) … March 28 vs. DET
Jack Eichel … 100th NHL goal … March 28 vs. DET
This entry was posted in Game Preview and tagged New York Islanders. Bookmark the permalink.