text:
\section{Introduction}

In modern statistical mechanics, it has become customary to capture irreversibility by a suitable comparison between a forward and a backward (or reverse) process. Such a comparison is formulated in terms of \textit{fluctuation relations}. Initially limited to linear response, such relations have progressively been extended to encompass a much larger class of processes~\cite{bochkov-kuzovlev-1977}. After the widely noticed works of Jarzynski~\cite{jarzynski} and Crooks~\cite{crooks-theorem}, the literature has grown at such a fast pace that we can only point the reader to some reviews on the matter~\cite{jarzynski-review-2011,campisi-haenggi-review-2011,gawedzki2013fluctuation,Funo2018}.

Forward and backward processes include a prior (initial state), which can be chosen arbitrarily, and a transition rule, viz. a channel. The forward process is the ``physical process,'' i.e., the propagation of the prior through the physical channel: as such, its definition is unproblematic. The main focus of this paper is the construction of the reverse process. For some processes, the identification is clear: for instance, in the case of classical Hamiltonian dynamics, the reverse transition can be easily identified with the dynamics that generates the time-reversed trajectory. For some other processes, however, physical intuition may not be sufficient. Notably, when the transition rule is governed by an underlying quantum channel, there is currently a widespread belief (see e.g.~\cite{Albash2013,rastegin-zycz-2014,Funo2018}) that Crooks' fluctuation theorem and Jarzynski's equality hold without modifications or other corrections only when the evolution is unitary (i.e., closed) or at least unital (i.e., preserving the uniform distribution). However, non-unital channels such as partial swaps~\cite{ziman02,Lorenzo,strasberg17} or thermal processes~\cite{horo-oppen-thermal} are much more obvious paradigms of thermodynamic irreversibility than unital channels. Besides, classical fluctuation theorems are known to hold also for processes that are surely not unital: now, quantum theory should be a generalisation of classical probability theory, not a restriction over it.

In this paper, we propose that the reverse transition can be systematically constructed as a form of \textit{Bayesian retrodiction}~\cite{watanabe55,jeffrey,pearls,jaynes_2003,CHAN200567,jacobs-changing-mind}. This retrodictive structure can be recognized in some of the most famous classical fluctuations relations~\cite{bochkov-kuzovlev-1977,jarzynski,crooks-theorem,jarz2000,hatano-sasa-2001}, even if their original derivation was based on different arguments. Then we prove that, when the forward process is realised as a quantum process (preparation, evolution, and measurement), the Bayesian-reversed process is always realised as a valid quantum process as well. This process coincides with the ``quantum retrodiction'' independently defined in several works~\cite{barnett-pegg-jeffers,fuchs2002quantum,Leifer-Spekkens,bergou-symm-retro}, and justifies on general grounds the use of Petz's reverse map~\cite{petz} in the context of fluctuation relations. Our construction applies to any choice of preparation states, quantum channels, and final measurements, leading to exact fluctuation relations that do not require any  modification.

The paper is structured as follows. In Section \ref{sec:FT}, as a preparation, we show how fluctuation relations constitute information-theoretic divergence measures between the forward and the reverse process, and we derive a whole new family of fluctuation relations that originates from Csisz\'ar's $f$-divergences~\cite{Csiszar-1967-f-div}. In Section~\ref{sec:Bayes} we introduce the theory of Bayesian retrodiction and derive the general expression for the classical Bayesian-reversed process. In Section~\ref{sec:qinside}, we consider processes with a quantum realization and show that the Bayesian-reversed process precisely coincides with the quantum retrodiction of the quantum forward process. In Section~\ref{sec:examples}, we recast several known classical fluctuation relations in terms of Bayesian retrodiction. Finally, in Section \ref{sec:exquantum}, we consider the most general case of processes arising from arbitrary quantum channels. In this case we show how our approach very naturally accounts for, and thus justifies as an implicit Bayesian inversion, all the corrections that were before introduced to deal with situations such as nonequilibrium steady states and nonunital quantum channels.

\section{Generalized fluctuation relations from information divergences}
\label{sec:FT}

\subsection{Irreversibility as divergence between the forward and the reverse processes}

As mentioned, studies of irreversibility involve a comparison between a forward ($F$) and a reverse ($R$) process~\cite{Seifert-2005}. Consider the evolution of a system from an initial time $t=0$ to a final time $t=\tau>0$. Let us assume, for simplicity, that the system possesses a finite state space $\set{A}$. Suppose now that both forward and reverse processes, respectively, are given to us in terms of two suitable joint probability distributions, $P_F(x,y)$ and $P_R(x,y)$, respectively, where $x\in\set{A}$ labels the state of the system at time $t=0$, while $y\in\set{A}$ labels the state of the system at time $t=\tau$. Concretely, $P_F(x,y)$ denotes the probability that the system starts in state $x$ at time $t=0$ and ends in state $y$ at time $t=\tau$ under the forward process, while $P_R(x,y)$ denotes the probability that the system starts in state $y$ at time $t=\tau$ and ends in state $x$ at time $t=0$ under the reverse process. Notice that at this point we are not yet preoccupied with the problem of determining what makes the two processes one the ``reverse'' of the other. This will be the main issue in the rest of the paper, but for the time being we are just considering $P_F(x,y)$ and $P_R(x,y)$ as given.

If really $P_F(x,y)$ and $P_R(x,y)$ are one the \textit{reverse} of the other, then \textit{irreversibility} may be quantified in terms of how much the two distributions differ, in agreement with the idea that a reversible situation should correspond to the case in which $P_F(x,y)=P_R(x,y)$ for all $x,y\in\set{A}$. In mathematical statistics, the degree of ``disagreement'' of two distributions is captured in terms of information divergences. Here we focus on the family of $f$-divergences, defined as\footnote{In fact, $f$-divergences are usually defined in terms of $1/r$, see e.g.~\cite{liese-miescke}. However, for the sake of the present discussion, formulas are more easily recognizable with the alternative definition.}~\cite{Csiszar-1967-f-div}
\begin{align}
D_f(P_F\| P_R)&:=\sum_{x,y}P_F(x,y)\ f\!\left(\frac{P_F(x,y)}{P_R(x,y)}\right)\label{eq:f-div}\\
\nonumber&=\aver{f\!\left(\frac{P_F(x,y)}{P_R(x,y)}\right)}_F\;,
\end{align}
where $f:\mathbb{R}^+\to\mathbb{R}$ is a function to be specialized further in what follows. For the time being, it suffices to notice that for $f(r)=\ln r$ one recovers the Kullback-Leibler divergence~\cite{kullback1951}, i.e., the usual relative entropy, whereas for $f(r)=r^{\alpha}$ one recovers the family of Hellinger-R\'enyi divergences~\cite{liese-miescke}. We will come back to these particular choices at the end of this section.

The forward-reverse ratio will be henceforth denoted
\begin{eqnarray}\label{eq:frratio}
r(x,y)&=&\frac{P_F(x,y)}{P_R(x,y)}\,.
\end{eqnarray}
A priori, one should pay attention to the pairs $(x,y)$ such that this ratio is not well-defined. If necessary, this problem can be dealt with on a case-by-case basis, but there is no need to burden the notation already at this point. Besides, common sense demands (and our later definition will vindicate it) that if a pair $(x,y)$ is assigned a null probability under the forward process, it should be so also under the reverse process, and vice versa. Thus, ultimately, $r(x,y)$ will be ill-defined only for pairs $(x,y)$ that don't contribute to any average because $P_F(x,y)=P_R(x,y)=0$.

\subsection{$f$-fluctuation relations}

Eq.~\eqref{eq:f-div} suggests to interpret $f(r(x,y))$ itself as a \textit{random variable}, whose realization is denoted $\omega_F(x,y)$ for the forward process. The same random variable, when evaluated for the reverse process, is denoted $\omega_R(x,y)$. For consistency, these two must be the \textit{same function}, though evaluated on different arguments: more explicitly,
\begin{align}\label{eq:omegaFR}
\omega_F(x,y)&:=f(r(x,y))\nonumber\\
&\Downarrow\\
\omega_R(x,y)&:=f\!\left(\frac{1}{r(x,y)}\right)\;,\nonumber
\end{align}
simply due to the fact that when considering the reverse variable $\omega_R$, the roles of forward and reverse processes are exchanged and the ratio is thus inverted.

A Crooks-type fluctuation relation is a relation between the probability density functions $\mu$ of $\omega$ for the forward and the backward processes:
\begin{eqnarray}
\mu_F(\omega)&=&\sum_{x,y}\delta(\omega_F(x,y)-\omega)P_F(x,y)\label{eq:muF}\\
\mu_R(\omega)&=&\sum_{x,y}\delta(\omega_R(x,y)-\omega)P_R(x,y)\nonumber\\
&=&\sum_{x,y}\delta(\omega_R(x,y)-\omega)\frac{1}{r(x,y)}P_F(x,y)\,.\label{eq:trivial}
\end{eqnarray}
If $f:\mathbb{R}^+\to \mathbb{R}$ is invertible, everything is well defined, and moreover there exists another function $g$ such that $f(1/r)=g(f(r))$, i.e., $\omega_R(x,y)=g(\omega_F(x,y))$. More explicitly, $g(u)=f(\frac{1}{f^{-1}(u)})$. Plugging these definitions into \eqref{eq:trivial}, we obtain
\begin{align*}
&\mu_R(u)\\
&=\sum_{x,y}\delta(\omega_R(x,y)-u)f^{-1}(\omega_R(x,y))P_F(x,y)\\
&=f^{-1}(u)\sum_{x,y}\delta(g(\omega_F(x,y))-u)P_F(x,y)\\
&=\frac{f^{-1}(u)}{|g'(g^{-1}(u))|}\sum_{x,y}\delta(\omega_F(x,y)-g^{-1}(u))P_F(x,y)
\end{align*}
and thus, with $u=g(\omega)$, we have a Crooks-type relation of the form
\begin{eqnarray}\label{eq:Crooks0}
\mu_R(g(\omega))&=&\frac{f^{-1}(g(\omega))}{|g'(\omega)|}\,\mu_F(\omega)\,.
\end{eqnarray} Moreover, since $\int_{\mathbb{R}^+}\mu_R(g(\omega))|g'(\omega)|d\omega=\int_{\mathbb{R}^+}\mu_R(u)du=1$, there follows the corresponding Jarzynski-like relation \begin{eqnarray}\label{eq:Jarlike0}
\aver{f^{-1}(g(\omega))}_F&=&1\,.
\end{eqnarray}

The above relation can be verified by unraveling our notations: since $\omega$ here is $\omega_F$, we have $g(\omega)=\omega_R$, and $f^{-1}(\omega_R)=1/r$. Thus $\aver{f^{-1}(g(\omega))}_F=\aver{1/r}_F=\sum_{x,y}\frac{1}{r(x,y)}P_F(x,y)=\sum_{x,y} P_{R}(x,y)=1$. Both this direct proof and the derivation from \eqref{eq:Crooks0} show that, from our perspective, the Jarzynski-like relation \eqref{eq:Jarlike0} expresses the normalization of the reverse process.

\subsection{Examples}

The usual choice made in the literature is \[\omega=f(r)=\frac{1}{z}\ln r\;,\] with $z\neq 0$. In this case, we have $f^{-1}(\omega)=e^{z\omega}$, $f(1/r)=-\frac{1}{z}\ln r$, and thus $g(\omega)=-\omega$. The relations \eqref{eq:Crooks0} and \eqref{eq:Jarlike0} become the familiar ones, namely,
\begin{align}\label{eq:FRgen}
\mu_R(-\omega)=e^{-z\omega}\mu_F(\omega)\;,
\end{align}
and
\begin{align*}
\aver{e^{-z\omega}}_F=1\,.
\end{align*}
Notice that one could have imposed the condition $\omega_R(x,y)=-\omega_F(x,y)$ from the start, in a way somehow reminiscent of an ``arrow-of-time'' variable. In our notation, this condition is equivalent to impose that the function $f$ satisfies $f(1/r)=-f(r)$, which leads to $f(r)=\frac{1}{z}\ln r$ for an arbitrary $z$.

As a second example, consider \[\omega=f(r)=r^{\alpha}\;,\] with $\alpha\neq 0$. Then $f^{-1}(\omega)=\omega^{1/\alpha}$, $f(1/r)=r^{-\alpha}$, and therefore $g(\omega)=1/\omega$. The fluctuation relations \eqref{eq:Crooks0} and \eqref{eq:Jarlike0} for random variables that satisfy $\omega_R=1/\omega_F$ are therefore
\begin{eqnarray}\nonumber
\mu_R(1/\omega)=\omega^{2-1/\alpha}\mu_F(\omega)&\;\implies\;& \aver{\omega^{-1/\alpha}}_F=1\,.
\end{eqnarray}

Other examples may look exotic, but nonetheless possible: for instance, by choosing $\omega=f(r)=e^{\kappa r}$, with $\kappa\neq 0$, one obtains $\omega_R=e^{\kappa^2/\ln\omega_F}$, that is, $\ln\omega_R\ln\omega_F=\kappa^2$.

\section{Reverse process from Bayesian retrodiction}
\label{sec:Bayes}

In the previous section we assumed that forward and reverse processes were both given. However, when only the forward process is given, the reverse process should be \textit{derived} from it. In this section we explain how the reverse process can be derived from the forward process by applying the formalism of Bayesian retrodiction.

\subsection{Basics of Bayesian update}

We begin this section by reviewing the theory of Bayesian retrodiction. For simplicity, let us consider two random variables $X$ and $Y$ with states labeled by the indices $x$ and $y$, both taken from a finite set $\set{A}$. Let $P_{XY}(x,y)$ denote their joint distribution. If one's knowledge on $Y$ is updated to a definite value $y=y^*$, the Bayes--Laplace rule tells that the agents should update their belief on $X$ according to $P'_X(x)=P_{X|Y}(x|y^*)$. In other words, the joint probability is updated as
\begin{eqnarray}
P'_{XY}(x,y)&=&P_{X|Y}(x|y)\,\delta_{y,y^*}\,.
\end{eqnarray}

The above formula, which constitutes the standard formulation of the Bayes--Laplace rule, is silent however about those situations, most common in real scenarios, in which the update does not result in a definite value $y^*$, but is itself described in terms of another probability distribution $P_Y'(y)$. In the face of such ``soft evidence'', the update should follow \textit{Jeffrey's conditioning}~\cite{jeffrey}
\begin{eqnarray}\label{eq:jeffrey}
P'_{XY}(x,y)&=&P_{X|Y}(x|y)\,P'_Y(y)\,.
\end{eqnarray}
Jeffrey based this update on his ``rule of probability kinematics''. The coefficients $P_{X|Y}(x|y)$ are seen as defining a \textit{channel} that propagates the soft belief acquired about $y$ back onto $x$. It was later noticed that Jeffrey's update can also be obtained from Bayes--Laplace rule using Pearl's ``method of virtual evidence'' ~\cite{pearls,jaynes_2003,CHAN200567,jacobs-changing-mind}. From this viewpoint, the soft evidence on $Y$ is consequence of another \textit{definite} evidence on a ``virtual'' variable $Z$, that has no direct influence on $X$ (i.e.~$X\to Y\to Z$ forms a Markov chain). When $Z$ is updated to a definite value $z^*$, one updates the belief on $Y$ to $P'_{Y}(y)\equiv P_{Y|Z}(y|z)\,\delta_{z,z^*}$ and Eq.~\eqref{eq:jeffrey} is recovered.

\subsection{From update to retrodiction}

The Bayesian \textit{update} we just described becomes \textit{retrodiction} when the variables $X$ and $Y$ are given a diachronic meaning: $X$ represents the system's state at the initial time $t=0$, while $Y$ represents the system's state at the final time $\tau>0$.

As already noticed, if we know the \textit{forward} transition probability $P_{Y|X}(y|x)$, henceforth denoted as $\varphi(y|x)$, any prior knowledge $p(x)$ on $X$ can be forward-propagated using it. Hence, the \textit{forward process} will be
\begin{eqnarray}
P_F(x,y)&=&p(x)\varphi(y|x)\label{eq:forward}
\end{eqnarray}
where $p(x)$ can be chosen arbitrarily. Now we want to define the \textit{reverse} transition probability $\hat{\varphi}(x|y)$, with the same functionality: it should be possible to use it to back-propagate onto $X$ any prior knowledge $q(y)$ that one obtains about $Y$. In other words, the \textit{reverse process} will be
\begin{eqnarray}
P_R(x,y)&=&q(y)\hat\varphi(x|y)\label{eq:reverse}
\end{eqnarray} where $q(y)$ can be chosen arbitrarily.

The reverse transition is obtained from Jeffrey's conditioning \eqref{eq:jeffrey}, but the knowledge of the forward transition alone is not enough \cite{watanabe65}. One needs to define a \textit{reference prior} $P_X(x)$. In the context of irreversibility, a natural choice is to set the reference prior equal to a steady (viz. invariant) state $\gamma(x)$, that is, a distribution such that
\[
\gamma(y)=\sum_x\gamma(x)\varphi(y|x)\;,
\]
for all $y\in\set{A}$. This choice coincides with what is customarily done in the theory of Markov chains when defining the reverse chain~\cite{norris_1997}.  Notice that, while every transition matrix possesses at least one steady state, the steady state may not be unique: in such a case, to any choice of a steady state there will correspond a different reverse transition, hence a different fluctuation relation.

Starting from a steady state, the \textit{reverse transition} $\hat\varphi(x|y)$ is defined by the relation $\gamma(y)\hat\varphi(x|y)=\gamma(x)\varphi(y|x)$. We see that $\gamma$ is an invariant distribution for the reverse process too (in other words: by choosing the steady state as prior, we define a reference process that does not distinguish between forward and reverse evolution). Implicitly restricting the analysis to the pairs $(x,y)$ with strictly positive weight (i.e., $\gamma(x)\varphi(y|x)>0$), we obtain
\begin{align}\label{eq:inversion}
\frac{\hat\varphi(x|y)}{\varphi(y|x)}=\frac{\gamma(x)}{\gamma(y)}\;.
\end{align} Plugging this together with Eqs.~\eqref{eq:forward} and~\eqref{eq:reverse} into \eqref{eq:frratio}, we find \begin{eqnarray}
r(x,y)=\frac{p(x)\gamma(y)}{q(y)\gamma(x)}\;,\label{eq:ratioeq}
\end{eqnarray} that is, the forward-reverse ratio $r(x,y)$, which is the crucial quantity in the study of irreversibility as noticed in Section~\ref{sec:FT}, depends on the stochastic transition $\varphi(y|x)$ only through its steady state $\gamma$.

\section{Quantum inside: recovering quantum retrodiction}
\label{sec:qinside}

When the channel is realised by a quantum process, we proceed to show that the formalism of Jeffrey's conditioning is automatically compatible with the formalism of quantum retrodiction~\cite{barnett-pegg-jeffers,fuchs2002quantum,Leifer-Spekkens,bergou-symm-retro}.

Here quantum mechanics enters the picture assuming that the stochastic transition $\varphi(y|x)$ involves an inner quantum ``mechanism'': to each input $x\in\mathcal{A}$ is associated an input state (density matrix) $\rho_0^x$, that is later propagated to $\rho_\tau^x=\mathcal{E}(\rho_0^x)$ via a completely positive trace-preserving (CPTP) linear map $\mathcal{E}$, and finally measured using a positive operator-valued measure (POVM) with outcomes $y\in\mathcal{A}$ and elements $\Pi_\tau^y$. The subscripts $0$ and $\tau$ are used to denote, respectively, an initial time $t=0$ and a final time $t=\tau>0$. With these notations,
\begin{eqnarray}
\varphi(y|x)&=&\textrm{Tr}[\Pi_\tau^y\ \mathcal{E}(\rho_0^x)]\,.\label{eq:channel}
\end{eqnarray}
In the above equation, the density matrix $\rho_0^x$ is meant to encode all the relevant degrees of freedom needed to represent the $x$-th experimental setup. Hence, it can account for processes in which, for example, there is no clear distinction between system and environment due to the presence of initial correlations~\cite{pechukas,alicki-comment,stelmachovic-buzek,sudarshan,buscemi-NCPTP,lidar-dominy}. In all such cases, $\rho_0^x$ will include not only the degrees of freedom typically associated with the system, but also those associated with the environment.

The expression of $\hat{\varphi}$ in the quantum formalism is immediately obtained from \eqref{eq:channel}. By introducing the state $\gamma_0=\sum_x\gamma(x)\rho^x_0$, that we assume invertible (otherwise we can restrict the analysis to the subspace where $\gamma_0>0$), one gets the much more evocative expression
\begin{align}
\hat\varphi(x|y)&=\Tr[\Theta^x_0\ \hat\mathcal{E}(\sigma^y_\tau)]\label{eq:q-retro}
\end{align}
which is the Born rule for the POVM elements
\begin{align}\label{eq:retro-POVM}
\Theta^x_0:=\gamma(x)\frac{1}{\sqrt{\gamma_0}}\rho^x_0\frac{1}{\sqrt{\gamma_0}}\;,
\end{align}
the normalized states
\begin{align}\label{eq:retro-states}
\sigma^y_\tau:=\frac{1}{\gamma(y)}\sqrt{\mathcal{E}(\gamma_0)}\ \Pi^y_\tau \ \sqrt{\mathcal{E}(\gamma_0)}\;,
\end{align}
and the reverse quantum channel~\cite{petz,barnum-knill,crooks-reversal}
\begin{align}\label{eq:retro-channel}
\hat\mathcal{E}(\cdot):=\sqrt{\gamma_0}\ \mathcal{E}^\dagger\left[\frac{1}{\sqrt{\mathcal{E}(\gamma_0)}}(\cdot)\frac{1}{\sqrt{\mathcal{E}(\gamma_0)}}\right]\ \sqrt{\gamma_0}\;,
\end{align}
$\mathcal{E}^\dag$ being the trace-dual of $\mathcal{E}$, defined by the relation $\Tr[\mathcal{E}^\dag(X)\ Y]=\Tr[X\ \mathcal{E}(Y)]$ for all operators $X$ and $Y$. We assume $\mathcal{E}(\gamma_0)>0$, so that $\hat\mathcal{E}$ is a CPTP linear map defined everywhere, and thus physically realizable\footnote{Even if $\mathcal{E}(\gamma_0)$ is not invertible, $\hat\mathcal{E}$ can always be extended to a CPTP map defined everywhere and, thus, physically realizable~\cite{wilde_2013}.}.

Just as Eq.~\eqref{eq:inversion} is the \textit{classical retrodiction} for $\varphi(y|x)$, its quantum description given in Eq.~(\ref{eq:q-retro}) constitutes the \textit{quantum retrodiction} of Eq.~\eqref{eq:channel}, in perfect agreement with previous literature on quantum retrodiction~\cite{barnett-pegg-jeffers,fuchs2002quantum,Leifer-Spekkens,bergou-symm-retro}.

\section{Classical Thermodynamics of Retrodiction}
\label{sec:examples}

In this Section, we show how several important classical fluctuation relations can be recovered using the retrodictive approach.

\subsection{Doubly-stochastic transitions, and classical Hamiltonian dynamics}\label{subsec:doubly-stoch}

We start by noticing that the condition
\begin{align}\label{eq:retro-ds}
\hat\varphi(x|y)=\varphi(y|x)
\end{align}
holds if and only if the transition is doubly-stochastic, viz.~if in addition to the compulsory normalisation $\sum_y\varphi(y|x)=1$, it also holds $\sum_x\varphi(y|x)=1$. Indeed, comparing with~\eqref{eq:inversion}, we see that \eqref{eq:retro-ds} holds if and only if the steady state can be chosen as the uniform distribution $\gamma(x)\propto 1$. It is then trivial to check that doubly stochastic channels always admit such a steady state, while channels that are not doubly stochastic do not have a uniform steady state.

A particularly important case of doubly stochastic transition is \textit{classical Hamiltonian dynamics}, which is deterministic, viz.~there is a one-to-one correspondence between the initial state $x$ and the final state $y\equiv x'$. The evolution $x\to x'$ is then represented by the transition $\varphi(x'|x)$, with $\varphi(x'|x)=1$ if $x'$ is the final state corresponding to the initial state $x$, and $\varphi(x'|x)=0$ otherwise. Thus, for any classical Hamiltonian process one can choose $\gamma$ as uniform.

For instance, the scenario considered by Bochkov and Kuzovlev \cite{bochkov-kuzovlev-1977} is of this type. They specify a class of driven Hamiltonians such that, on any given forward trajectory $x\rightarrow x'$, the non-driven term $H_0$ satisfies $H_0(x')=H_0(x)+E(x,x')$, with $E$ determined by the driving protocol. By choosing thermal priors $p(x)\propto e^{-\beta H_0(x)}$ and $q(x')\propto e^{-\beta H_0(x')}$, with $\beta=1/k_BT$, they obtain
\begin{eqnarray}
r(x,x')&=&\frac{\varphi(x'|x)p(x)}{\hat\varphi(x|x')q(x')}=\frac{p(x)}{q(x')}\,=\,e^{-\beta E(x,x')}\,.
\end{eqnarray} Since the process is deterministic, the statistics (and in particular the fluctuation relations) carry over from the initial conditions to the whole trajectory. From this observation, rich physical consequences follow: one can derive many-point relations, relations for the currents (e.g.~Onsager), linear response results (in the limit when the driving forces go to zero), etc.~\cite{bochkov-kuzovlev-1977}. As we presented it, all this can be seen as starting with retrodiction.

Another example that fits in this subsection is that of a generic time-dependent Hamiltonian, but with \textit{microcanonical} priors instead of the most frequently used thermal ones~\cite{morillo-2008-microcanonical}. Staying with a discrete alphabet again (the generalisation follows immediately), such priors read: $p(x)=N(E)^{-1}$ if $E_x= E$ (and zero otherwise) and $q(x')=N(E')^{-1}$ if $E_{x'}= E'$ (and zero otherwise), where $N(E)$ and $N(E')$ are the degeneracies of the two levels. Thus, for the processes with non-zero probability, the forward-reverse ratio reads
\begin{align}
r(x,x')&=\frac{p(x)}{q(x')}=\frac{N(E')}{N(E)}\nonumber\\
&=e^{(S(E')-S(E))/k_B}\;,\label{eq:micro}
\end{align}
where $S(E):=k_B\ln N(E)$ coincides with Boltzmann's entropy formula.

\subsection{Classical Hamiltonian system-reservoir interactions}

We consider now a system composed of two subsystems. For notational purposes, let us denote the microstates of the first system at initial and final time by the labels $x$ and $x'$, respectively; and those of the second system analogously by the labels $w$ and $w'$. For the purpose of the present example, all labels belong to discrete sets. If the joint evolution is Hamiltonian, we can borrow from the previous discussion and conclude that \begin{align}\label{eq:retro-jarz2000}
\hat\varphi(x,w|x',w')=\varphi(x',w'|x,w)\;.
\end{align}
To construct the forward and reverse processes \eqref{eq:forward} and~\eqref{eq:reverse}, one should specify the prior distributions $p(x,w)$ and $q(x',w')$.

This notation opens the possibility of \textit{coarse-graining} over one of the subsystems. For definiteness, we describe the particular case studied in~\cite{jarz2000}. In this narrative, the second system consists of one or several \textit{heat reservoirs}. It is rather natural therefore to stipulate that:
\begin{enumerate}
	\item Both priors are in product form, i.e., $p(x,w)=p(x)P(w)$ and $q(x',w')=q(x')Q(w')$;
	\item The reservoirs' priors $P(w)$ and $Q(w')$ are thermal distributions at inverse temperature $\beta^{-1}=k_BT$, i.e., $P(w)\propto e^{-\beta E_w}$ and $Q(w')\propto e^{-\beta E_{w'}}$, where $E_w$ and $E_{w'}$ are the energies of the reservoir's microstates $w$ and $w'$. This condition implies
\begin{align}\label{eq:jarz2000-balance}
\frac{P(w)}{Q(w')}=e^{\beta(E_{w'}-E_w)}=:e^{\Delta S/k_B}
\end{align} where $\Delta S$ is the entropy generated.
\end{enumerate}

With these two assumptions on the prior distributions, one can compute the following marginal conditional probability:
\begin{align}\label{eq:jarz2000-forward}
\varphi(x',\Delta S|x)=\sum_{w,w':E_{w'}-E_w=T\Delta S}\varphi(x',w'|x,w)P(w)\;.
\end{align}
The above represents the forward transition probability that the system, if starting in microstate $x$, will end up in microstate $x'$ generating in the process an amount of entropy equal to $\Delta S$. Notice that
the coarse-grained transition $\varphi(x',\Delta S|x)$ computed in~\eqref{eq:jarz2000-forward} only depends on the reservoir's prior $P(x)$. In other words, while the reservoir's prior distribution $P(x)$ is fixed, the system's prior remains arbitrary.

Analogously, but starting from the retrodicted transition~\eqref{eq:retro-jarz2000}, we obtain
\begin{align}
&\hat\varphi(x,-\Delta S|x')\nonumber\\
&=\sum_{w,w':E_{w}-E_{w'}=-T\Delta S}\hat\varphi(x,w|x',w')Q(w')\nonumber\\
&=\sum_{w,w':E_{w}-E_{w'}=-T\Delta S}\varphi(x',w'|x,w)Q(w')\label{eq:passaggio0}\\
&=\sum_{w,w':E_{w'}-E_w=T\Delta S}\varphi(x',w'|x,w)P(w)\frac{Q(w')}{P(w)}\nonumber\\
&=\sum_{w,w':E_{w'}-E_w=T\Delta S}\varphi(x',w'|x,w)P(w)e^{-\Delta S/k_B}\label{eq:passaggio}\\
&=e^{-\Delta S/k_B}\varphi(x',\Delta S|x)\nonumber\;,
\end{align}
where in~\eqref{eq:passaggio0} we used relation~\eqref{eq:retro-jarz2000}, while in~\eqref{eq:passaggio} we used relation~\eqref{eq:jarz2000-balance}. The above represents the reverse transition probability that the system, if starting in microstate $x'$, will end up in microstate $x$ generating in the process an amount of entropy equal to $-\Delta S$. Summarizing, we have recovered
\begin{eqnarray}
\frac{\varphi(x',\Delta S|x)}{\hat\varphi(x,-\Delta S|x')}=e^{\Delta S/k_B}\;,\label{eq:jarz2000}
\end{eqnarray} which is the main result of~\cite{jarz2000}. It is worth stressing that, as written, $\Delta S$ plays the role of an additional random variable coarse-graining the reservoir's microstates: that is, $\varphi(x',\Delta S|x)$ describes a transition from input $x$ to output $(x',\Delta S)$. Thus, the object at the denominator in~\eqref{eq:jarz2000} is not the complete Bayesian reverse of the numerator, but rather a \textit{partial} (viz. ``hybrid''~\cite{jarz2000}) reversal.

\subsection{Retrodiction in stochastic thermodynamics}

However desirable it would be to derive everything from the Hamiltonian dynamics of a closed (possibly composite) system, information about the latter is often lacking. This is when the approach based on Bayesian retrodiction really shows its power: it allows one to make inferences based on whatever partial information is available.

As a first example of this type, we consider the stochastic thermodynamics setting that led to Crooks' theorem~\cite{crooks-theorem}. A general process in discrete-time stochastic thermodynamics is modeled as a sequence of external driving protocols (the \textit{work steps}) alternating with periods during which the system is allowed to equilibrate with an ideal heat bath (the \textit{relaxation steps})~\cite{crooks-theorem,thermo-prediction}. The changes in the system's internal energy during each work step are counted as work done on the system, while the changes happening during each relaxation steps are counted as heat absorbed by the system. For simplicity, we consider here just a two-step process: one work step followed by one relaxation step.

Let us denote the system's initial state by $x$, and let $E_x$ be the system's initial energy. The system is (deterministically) driven to another energy $E'_x$. This constitutes the work step. The relaxation step, which is not deterministic, is modeled using a transition conditional probability $\varphi(y|x)$, where $y$ labels the system's state after the relaxation step. Assuming that during the relaxation step the system's Hamiltonian does not change, the system's final energy, after the relaxation step is over, is $E'_y$.

By definition, an invariant distribution for $\varphi(y|x)$ is the thermal distribution $\gamma(x)\propto e^{-\beta E'_x}$. This, via~\eqref{eq:inversion}, leads to the retrodicted transition
\begin{align}
\hat\varphi(x|y)&=\frac{\gamma(x)}{\gamma(y)}\varphi(y|x)\nonumber\\
&=e^{\beta(E'_y-E'_x)}\varphi(y|x)\nonumber\;.
\end{align}
Choosing as priors the thermal distributions, that is, $p(x)= e^{\beta(F- E_x)}$ and $q(y)= e^{\beta(F'- E'_y)}$, with $F,F'$ the corresponding Helmholtz free energies, the ratio~\eqref{eq:ratioeq} becomes
\begin{align*}
r(x,y)&=\frac{\varphi(y|x)p(x)}{\hat\varphi(x|y)q(y)}\\
&=e^{-\beta (E'_y-E'_x)}e^{\beta(E'_y-E_x-\Delta F)}\\
&=e^{\beta(E'_x-E_x-\Delta F)}=e^{\beta (W-\Delta F)}\;,
\end{align*}
where in the last passage we used the assumption that the system's internal energy change during the work step is work $W$ done on the system. The fluctuation relation~\eqref{eq:FRgen} then immediately gives
\[
\frac{\mu_F(W)}{\mu_R(-W)}=e^{\beta (W-\Delta F)}\;,
\]
in accordance with~\cite{crooks-theorem}. Notice that in our retrodictive derivation we did not require any particular condition (such as the condition of detailed balance) for the relaxation step $\varphi(y|x)$, apart from it preserving the thermal distribution, which is implicit in the definition of ``relaxation''.

\section{Quantum Thermodynamics of Retrodiction}
\label{sec:exquantum}

Our definition of the reverse quantum channel based on Bayesian inversion, presented in Section~\ref{sec:qinside}, accommodates any state preparation $\{\rho_0^x:x\in\mathcal{A}\}$, any quantum channel $\mathcal{E}$, and any final measurement $\{\Pi^y_\tau:y\in\mathcal{A}\}$. It hence contains, as a very special case, the conventional setup of Tasaki's two-measurement thermodynamics of closed driven quantum systems~\cite{tasaki2000jarzynski}. But it also contains, and resolves, some quantum setups that have been considered problematic in the past due to the supposed lack of a well-defined reverse process (see e.g.~\cite{Albash2013,rastegin-zycz-2014,Funo2018}). Where physical intuition fails to envisage a ``natural'' inversion of the physical process, consistent logical inference (viz. Bayesian inversion) comes to the rescue.

\subsection{Two-measurement setup for closed driven quantum systems}

The paradigm for quantum fluctuation relations is provided by Tasaki's \textit{two-measurement setup}~\cite{tasaki2000jarzynski}. Here, a $d$-level quantum system is prepared in the state $\rho_0$ but immediately subjected to a von Neumann projective measurement of the initial Hamiltonian $H_0=\sum_x\epsilon_x|\epsilon_x\>\<\epsilon_x|$. The system, now collapsed onto $|\epsilon_x\>$ after observation of $\epsilon_x$, next undergoes a perfectly adiabatic work protocol: its Hamiltonian is driven from $H_0$ to $H_\tau=\sum_y\eta_y|\eta_y\>\<\eta_y|$, but the system is otherwise perfectly isolated from the surrounding environment. At the end of the driving protocol, during which only mechanical work has been exchanged with the system, the system is subjected to a second energy measurement, this time of the final Hamiltonian $H_\tau$.

Let us analyse Tasaki's setup with our tools. Denoting the unitary evolution resulting from the driving protocol by $U_{0\to \tau}$, the forward (predictive) transition probability is given by
\begin{align}\label{eq:unitary-forward}
\varphi(y|x)=\Tr[U_{0\to \tau} |\epsilon_x\>\<\epsilon_x| U_{0\to \tau}^\dagger\ |\eta_y\>\<\eta_y|]\;.
\end{align}
It is easy to verify that $\varphi(y|x)$ is doubly stochastic (see Subsection~\ref{subsec:doubly-stoch}). This is a consequence of the following three facts: (i) that the underlying quantum process is unitary; (ii), that $\Tr[|\epsilon_x\>\<\epsilon_x|]=\Tr[|\eta_y\>\<\eta_y|]=1$; and (iii), that $\sum_x|\epsilon_x\>\<\epsilon_x|=\sum_y|\eta_y\>\<\eta_y|=\mathds{1}$. As noted in Subsection~\ref{subsec:doubly-stoch}, the reverse (retrodictive) transition is given by
\begin{align}\label{eq:bistochastic-reverse}
\varphi(y|x)=\hat\varphi(x|y)\;.
\end{align}
At the same time, the corresponding quantum retrodiction, given in Eqs.~\eqref{eq:retro-POVM}-\eqref{eq:retro-channel}, is in perfect agreement with a narrative involving time-reversals, as in e.g.~\cite{sagawa2012second}: one first prepares the eigenstates of $H_{\tau}$, then evolves them ``backwards in time'' using $U_{0\to \tau}^\dag$, and finally measures $H_0$. While such a narrative seems simple and appealing to intuition, it is not directly \textit{operational}, as the actual implementation of time-reversals is far from straightforward~\cite{quintino-murao-reversing-unitaries,gilyn2020quantum}. Moreover, as we will see in what follows, when the evolution between the two energy measurements is not Hamiltonian, a naive argument using time-reversal can lead to inconsistencies.

In any case, with Eq.~\eqref{eq:bistochastic-reverse} at hand, fluctuation relations can be easily derived. One only needs to specify the two priors $p(x)$ and $q(y)$, which in the two-measurement setup is tantamount to specifying two quantum states $\rho_0$ and $\sigma_\tau$, since from them we have $p(x)=\<\epsilon_x|\rho_0|\epsilon_x\>$ and $q(y)=\<\eta_y|\sigma_\tau|\eta_y\>$. Simply by choosing $\rho_0$ as the thermal state for $H_0$ and $\sigma_\tau$ as the thermal state for $H_\tau$ (by assuming that the temperature is the same), we find that
\begin{align*}
r(x,y)&=\frac{\varphi(y|x)p(x)}{\hat\varphi(x|y)q(y)}\\
&=\frac{p(x)}{q(y)}\\
&=e^{\beta (F_0-\epsilon_x)}e^{-\beta(F_\tau-\eta_y)}\\
&=e^{\beta(\eta_y-\epsilon_x-\Delta F)}\\
&=e^{\beta (W-\Delta F)}\;,
\end{align*}
where in the final passage we identified the system's energy difference as work $W$ done on the system, due to the assumption of adiabaticity during the driving protocol. From here, fluctuation relations analogous to Crooks' theorem and Jarzynski's equality quickly follow.

\subsection{Two-measurement setup for general quantum channels, and nonequilibrium potentials}

Tasaki's setup invites various generalizations. Several references~\cite{Albash2013,Rastegin_2013,rastegin-zycz-2014,GooldModiPater2015} have considered the situation in which the initial and final measurements are as in Tasaki's arrangement but the unitary evolution is replaced by a general CPTP linear map $\mathcal{E}$, leading to the forward transition
\begin{align}
    \varphi(y|x)=\Tr[\mathcal{E}(|\epsilon_x\>\<\epsilon_x|)\ |\eta_y\>\<\eta_y|]\,.\label{eq:epseta}
\end{align}
If the linear map $\mathcal{E}$ is not unital, that is, if it does not preserve the unit matrix (viz. $\mathcal{E}(\mathds{1})\neq\mathds{1}$), then the above transition probability is not doubly stochastic in general. For the retrodictive transition, this means that $\hat\varphi(x|y)\neq\varphi(y|x)$, and indeed Eq.~\eqref{eq:inversion} contains the extra factor $\gamma(x)/\gamma(y)$ coming from Bayes--Laplace rule.

Nonetheless, a common approach prescribes to stay put with Eq.~\eqref{eq:bistochastic-reverse} and work with the \textit{non-normalized} conditional distribution $\tilde\varphi(x|y):=\varphi(y|x)$ instead. Obviously, $\tilde\varphi(x|y)$ does not admit a realization as in \eqref{eq:q-retro}, simply because it is not a well-formed conditional distribution. Nonetheless, it is still possible to construct a ``ratio''
\[
\tilde r(x,y)=\frac{\varphi(y|x)p(x)}{\tilde\varphi(x|y)q(y)}\equiv\frac{p(x)}{q(y)}
\]
and formally go through all the calculations as in the normalized case. However, as a result of considering a reverse ``process'' that is not properly normalized, the resulting Jarzynski--like relation does not average to 1 as one would like (and as it happens in~\eqref{eq:Jarlike0}), but to $\sum_{x,y}\tilde\varphi(x|y)q(y)$. This quantity is known as the \textit{efficacy}~\cite{Albash2013}, but we recognize it here as a mathematical artifact arising from an ill-defined reverse transition.

The formalism presented in this work allows a simple treatment of the two-measurement process also for arbitrary quantum channels. The forward transition~\eqref{eq:epseta} coincides with Eq.~\eqref{eq:channel} for $\rho_0^x:=|\epsilon_x\>\<\epsilon_x|$ and $\Pi^y_\tau:=|\eta_y\>\<\eta_y|$. Let $\gamma(x)$ be an invariant distribution for $\varphi(y|x)$. Further, let predictive and retrodictive prior distributions be thermal distributions for some energy levels $\epsilon_x$ and $\eta_y$, so that $p(x)\propto e^{-\beta\epsilon_x}$ and $q(y)\propto e^{-\beta\eta_y}$. The corresponding initial and final Hamiltonians are defined as $\sum_x\epsilon_x|\epsilon_x\>\<\epsilon_x|$ and $\sum_y\eta_y|\eta_y\>\<\eta_y|$, respectively.

The ratio is defined as usual, that is,
\begin{align*}
&r(x,y)=\frac{\varphi(y|x)p(x)}{\hat\varphi(x|y)q(y)}=\frac{p(x)}{q(y)}\frac{\gamma(y)}{\gamma(x)}\\
&=e^{\beta (F_0-\epsilon_x-\ln\gamma(x))}e^{-\beta(F_\tau-\eta_y-\ln\gamma(y))}\\
&=e^{\beta(\Delta E-\Delta\Phi-\Delta F)}\;,
\end{align*}
where now we find an extra term $\Delta\Phi:=\Phi_y-\Phi_x:=\frac{1}{\beta}\ln\gamma(x)-\frac{1}{\beta}\ln\gamma(y)$. This term is understood as the difference of a \textit{nonequilibrium potential} that adds to the difference of equilibrium free energy $\Delta F:=F_\tau-F_0$. Finally, introducing a total stochastic entropy production $\Sigma:=
\beta(\Delta E-\Delta\Phi-\Delta F)$, one easily obtains the detailed relation
\begin{align*
\frac{\mu_F(\Sigma)}{\mu_R(-\Sigma)}=e^{\Sigma}\;,
\end{align*}
and the corresponding integral relation $\aver{e^{-\Sigma}}_F=1$. In this way, we can see how a correct application of the Bayes--Laplace inversion formula automatically takes into account nonequilibrium potentials. These, usually introduced as corrections~\cite{hatano-sasa-2001, manzano-fluctuations-unit-efficacy}, are now recognizable as the remnants of Bayesian inversion.

\section{Conclusion}

Studies of irreversibility rely on the comparison between a forward physical process and its reverse. We have proposed to define the latter as a form of Bayesian retrodiction~\eqref{eq:inversion}. We showed that, on the one hand, this definition matches the one used in the derivation of canonical results like Jarzynski's equality, Crooks' theorem, and Tasaki's two-measurement fluctuation theorem for closed driven quantum systems. On the other hand, it also applies to situations in which a reverse process was supposed to be lacking. As a by-product, various modifications, like non-unit efficacies or nonequilibrium potentials, are given a simple explanation as shadows of Bayes--Laplace inversion.

Logical inference thus emerges as a powerful tool to supplement or replace physical intuition, whenever this seems hard to obtain. Clearly, the present approach opens up the possibility for various developments in statistical mechanics and beyond. In particular, an important development is to prove quantum retrodiction as the logical foundation of a fully quantum fluctuation theorem, such as those posited in~\cite{alhambra-fluct-work,aberg-quantum-fluct,manzano-PRX,kwon-kim}, but we leave this for future research.

\section*{Acknowledgments}

 The authors thank Paul Riechers for insightful comments. F.B. acknowledges support from the Japan Society for the Promotion of Science (JSPS) KAKENHI, Grants Nos.19H04066 and 20K03746, and from MEXT Quantum Leap Flagship Program (MEXT Q-LEAP), Grant Number JPMXS0120319794. V.S. acknowledges support from the National Research Foundation and the Ministry of Education, Singapore, under the Research Centres of Excellence programme.

\bibliographystyle{alphaurl}

redpajama_set_name: RedPajamaArXiv


"... It was under their successors at the Oxford School that Roger Bacon learned Arabic and Arabic Science. Neither Roger Bacon nor his later namesake has any title to be credited with having introduced the experimental method. Roger Bacon was no more than one of the apostles of Muslim science and method to Christian Europe; and he never wearied of declaring that a knowledge of Arabic and Arabic Science was for his contemporaries the only way to true knowledge... The experimental method of the Arabs was by Bacon's time widespread and eagerly cultivated throughout Europe"
The unity of human origin... As a social movement the aim of Islam was to make the idea a living factor in the Muslim's daily life, and thus silently and imperceptibly to carry it towards fuller fruition.


For nearly 140 years Keimfarben has been successfully working at advancing the silicate technology.
Today Keimfarben is the leading specialist for mineral building protection systems. Our product range covers exterior and interior paints, mineral renders and fillers, wood systems, concrete repair and protection systems, natural stone systems. Our products are produced exclusively in Germany and are sold worldwide through our 11 subsidiaries and more than 30 distributors.
Due to convincing benefits of our products such as best mineral quality and longevity we have gained the excellent reputation among painters and decorators, architects, housing industry and developers worldwide. Our mineral solutions are suitable for new construction and for renovation of historic buildings.
Sol-silicate one-component paint for translucent or opaque thin layer coatings. Especially economical, preventive concrete protection. Dilutions are possible in any ratio with Concretal-Base or Concretal-Fixativ to perform a translucent finish or to equalise visual shortcomings.
Damage and effective protection, on the one hand, and achieving architectural aims on the other, often seem to be mutually exclusive.
On the contrary, with KEIM Concretal we can effectively protect the concrete while retaining its mineral character, achieving specifications with regard to design, appearance, conservation and protection.
Using mineral protection products, the unique design makes the KEIM Concretal System appear like natural concrete.
As leading specialists for mineral building protection systems, we develop and produce solutions for building exteriors and interiors. Our mission: to produce the most natural, brilliant, healthy and durable paints, in other words, the best paints in the world.
KEIM Concretal-Lasur is a semi-transparent up to highly translucent concrete glaze coating. Strictly speaking, glazing of concrete building elements is a colour modulation to cover the "natural shade" with a new tone. Visual shortcomings can be equalised or a colourful design performed. A special feature is that the concrete keeps its visual character and even enhances the expression.
KEIM Soldalit-Coolit is the first mineral paint with IR-reflective effect, developed specially for hot, extreme climate conditions and aggressive sunlight. This unique attribute results from the use of selected natural raw materials. The ideal combination of liquid potassium silicate as binder, mineral fillers from natural deposits and solely inorganic colour pigments guarantees maximum weather resistance and unsurpassed durability.
Colours change when exposed to UV light and other external influences: wood goes dark or grey, and facades fade. The latter can be avoided: silicate paints by KEIM contain only lightfast, inorganic pigments and mineral binding agents such as potassium silicate or sol-silicate.
Potassium silicate is not just a natural binding agent: it is also extremely weather-resistant. In contrast to emulsion paints, the inorganic pigments are not enclosed in a film but are exposed directly to the rays of light.
The colour shades shine directly out of the velvety matt surface, revealing an amazing, durable depth and brilliance.
And so KEIM facades remain unchanged for decades.


text:
Warriors pray for harmony for land, people, horses
Local | May 12, 2018
Sasha Nelson
Craig Press
CRAIG — In the hush of a crisp dawn, two types of warriors — members of the Northern Ute Tribe and Wild Horse Warriors for Sand Wash Basin — gathered for a blessing of the land.
"This land is hurting," said Aletha Dove, a founder of Wild Horse Warriors for Sand Wash Basin. "Would you please ask for harmony between the people, livestock, wild horses and all living things?"
Hearing her request was Northern Ute elder Rafael Knip and some of the men of his family — Serenus Knip, Bart and Red Heart Powaukee, Leroy Cesspooch, Eagle Manning, Kyrie Duncan and Isaac Sarawop — who circled to play a traditional drum and sing. Some of the women of the family, who didn't wish to be named, joined their voices in song.
As the sun rose higher and the drummers sang, Rafael Knip stepped to the edge of a bluff overlooking the Little Snake River to pray, while scattering an offering of pure tobacco leaf on the sage-covered earth.
Earlier that morning Bart Powaukee explained what the public would be witnessing.
"This is part of our Sundance Ceremonies. Many of us pray every day. It ties into the land, that we are thankful for the elements and all living things," he said.
The ceremony often starts before the sun crests the horizon, but last Sunday, the ceremony started just as the fiery disk had fully emerged.
"We run on Indian time," quipped Rafael Knip. "And this is Sunday, and we don't get up that early."
Northern Ute is a term that comprises several cultural bands, including the White River, Uintah and Uncompahgre peoples, and Moffat County is part of their traditional homeland. The family's uncle, Clifford Duncan, served as a cultural resource liaison for many years before his death. He encouraged the family to continue their service.
"He told me to tell the truth," Rafael Knip said. "The sun will never turn its back on you."
As faithful as the sun, Wild Horse Warriors for Sand Wash Basin is a newly formed nonprofit that seeks to work with other individuals and organizations to ensure the freedom and safety of the wild horses of Sand Wash Basin.
Individuals belonging to the group invest a great deal of time and money to assist the Bureau of Land Management. They are raising funds for fencing, improvements to water systems and other resources that will benefit all living things in the basin.
"It's time for the land to have harmony. If we work together, it would make it more peaceful," Dove said.
She expressed her gratitude to the Northern Utes and said she hopes the prayer ceremony will become an annual tradition.
Rafael Knip did not share the words of his prayer, as he did not wish to dilute its power. He also asked that no video be taken of the ceremony.
The photographers among the witnesses gathered at a primitive campsite just off Moffat County Road 75 were encouraged to capture the moment in pictures. Some have been shared on facebook.com/wildhorsewarriorsforsandwashbasin.
Before returning to his car to travel to the nearest Denny's for breakfast, Rafael Knip had one request for anyone visiting the ancestral lands of his people.
"Respect one another. That's all we ask."
Contact Sasha Nelson at 970-875-1794 or snelson@CraigDailyPress.com.

redpajama_set_name: RedPajamaCommonCrawl


One of the biggest drawbacks of trying to follow Twitter conversations is that Twitter tends to come at you in one stream. And if you're following enough people, it's a fire hose. That said, one of the biggest benefits of using Twitter is that, with the availability of the API, someone is going to figure out how to fix pretty much any Twitter "drawback" you can highlight.
Developed by Matt Beck, TwitterThreads provides a more conversational view of your tweets, allowing you to see multiple tweets from the same person grouped together or to more easily follow conversations as the @s start percolating.
To see it in action, visit TwitterThreads where you can view the public timeline. Or, login and see how your conversation threads come together.
If you're running Mac OSX and have a penchant for shopping, today is your lucky day. CouldBe Studios just released a Shopify Marketplace dashboard widget.
Now, all the merchandise in the Shopify Marketplace is only an F12 away. Unless, of course, F12 isn't your widget key. Then, it would actually be some other keystroke away.
For more information on the Shopify Marketplace widget or to give it a test drive, hit the What Could Be blog.
Recent changes in the Shopify pricing structure have had unfortunate effects on a number Portland-area developers. And some of them, like Matt Beck of CouldBe Studios, are letting the Shopify team hear about it.
Beck voiced his displeasure on the What Could Be blog, highlighting the problems with the way that Ottawa-based JadedPixel, makers of Shopify, handled the pricing change.
The problem we had with the situation was not the new rates which are actually quite reasonable, but that the change was carried out in secrecy, which left us in a potentially sticky spot as we had bids out to potential clients which were based on their old pricing model, and even worse projects currently being developed that had their pricing model changed! How were we supposed to handle that? We'd quoted people based on their old pricing model, started working on the site and then had it change mid-way through.
No good deed goes unpunished. So, with his thoughtful comments, Beck has been rewarded with a position on the newly formed Shopify Advisory Council.
The Council is made up of a handful of Shopify users who are particularly passionate and active in the forums, and we will be bouncing ideas off of them concerning both how we communicate changes to our users and specific strategies for improving Shopify in general. This means that the Shopify team will be able to get user feedback on things before they are quite ready to be announced publicly, and we'll then be able to balance our priorities and adjust our efforts accordingly.


Within their book write your business plan, the personnel of business owner medium provides an in-depth knowledge of what is important to any kind of business strategy what is suitable for your own business enterprise and what must be done to create sure achievement. With this shortened excerpt the writers present five explanation why someone may wish to write a company plan as well as what they will use this. Anybody starting or increasing a venture which will eat considerable resources linked with money energy or even time and that is expected to come back income should take time to draft a number of type of business plan.
The customary business strategy writer is completely a capitalist looking for funds to assist start a brand new venture. Many outstanding companies experienced their starts as a plan, which was used in order to induce investors to place up the administrative centre necessary to obtain them below way. Many company plans are compiled by and with regard to companies, which are long after dark establish stage but as well well lacking large-corporation standing.
These middle-stage businesses may write business plan to assist them discover funding with look winning to growth. They may want for the written intend to help grip a currently rapidly developing business and to convey the real mission as well as prospects from the business in order to customers, providers or additional interested events. A company plan may address the after that stage within the life process for a company.
There are many options about starting a company, including the actual size, area, and, obviously, the reason behind existence. You can determine many of these and so much more aspects associated with business by using your business plan. It forces you to definitely think through all the areas which form the primary concept towards the smallest particulars. This method, you don't end up remembering in the last minute that the website nevertheless isn't created or that you've still got most of the inventory inside a warehouse with no way in order to ship this.
You will use your quest, sales predictions market developments and violent analysis to produce well thought-out forecasts of the way you see your company developing if you will be able to follow the specified program. To some degree, you can make your future instead of simply attempting to predict it through the decisions a person make. For instance, you might not have the multimillion-dollar company in 10 years if you are attempting to start as well as run a little family company. Your choice on development would consequently factor in to your predictions and the outcome.


text:
package cockroach

import (
	"context"
	"fmt"
	"strings"
	"time"

	dssmodels "github.com/interuss/dss/pkg/models"
	scdmodels "github.com/interuss/dss/pkg/scd/models"
	dsssql "github.com/interuss/dss/pkg/sql"
	"github.com/jackc/pgtype"

	"github.com/golang/geo/s2"
	"github.com/interuss/stacktrace"
)

var (
	subscriptionFieldsWithIndices   [12]string
	subscriptionFieldsWithPrefix    string
	subscriptionFieldsWithoutPrefix string
)

// TODO Update database schema and fields below.
func init() {
	subscriptionFieldsWithIndices[0] = "id"
	subscriptionFieldsWithIndices[1] = "owner"
	subscriptionFieldsWithIndices[2] = "version"
	subscriptionFieldsWithIndices[3] = "url"
	subscriptionFieldsWithIndices[4] = "notification_index"
	subscriptionFieldsWithIndices[5] = "notify_for_operations"
	subscriptionFieldsWithIndices[6] = "notify_for_constraints"
	subscriptionFieldsWithIndices[7] = "implicit"
	subscriptionFieldsWithIndices[8] = "starts_at"
	subscriptionFieldsWithIndices[9] = "ends_at"
	subscriptionFieldsWithIndices[10] = "cells"
	subscriptionFieldsWithIndices[11] = "updated_at"

	subscriptionFieldsWithoutPrefix = strings.Join(
		subscriptionFieldsWithIndices[:], ",",
	)

	withPrefix := make([]string, 12)
	for idx, field := range subscriptionFieldsWithIndices {
		withPrefix[idx] = "scd_subscriptions." + field
	}

	subscriptionFieldsWithPrefix = strings.Join(
		withPrefix[:], ",",
	)
}

func (c *repo) fetchCellsForSubscription(ctx context.Context, q dsssql.Queryable, id dssmodels.ID) (s2.CellUnion, error) {
	var (
		cellsQuery = `
			SELECT
				unnest(cells) as cell_id
			FROM
				scd_subscriptions
			WHERE
				id = $1
		`
	)

	uid, err := id.PgUUID()
	if err != nil {
		return nil, stacktrace.Propagate(err, "Failed to convert id to PgUUID")
	}
	rows, err := q.Query(ctx, cellsQuery, uid)
	if err != nil {
		return nil, stacktrace.Propagate(err, "Error in query: %s", cellsQuery)
	}
	defer rows.Close()

	var (
		cu   s2.CellUnion
		cidi int64
	)
	for rows.Next() {
		err := rows.Scan(&cidi)
		if err != nil {
			return nil, stacktrace.Propagate(err, "Error scanning Subscription cell row")
		}
		cu = append(cu, s2.CellID(cidi))
	}
	if err := rows.Err(); err != nil {
		return nil, stacktrace.Propagate(err, "Error in rows query result")
	}
	return cu, nil
}

func (c *repo) fetchSubscriptions(ctx context.Context, q dsssql.Queryable, query string, args ...interface{}) ([]*scdmodels.Subscription, error) {
	rows, err := q.Query(ctx, query, args...)
	if err != nil {
		return nil, stacktrace.Propagate(err, "Error in query: %s", query)
	}
	defer rows.Close()

	var payload []*scdmodels.Subscription
	pgCids := pgtype.Int8Array{}
	for rows.Next() {
		var (
			s         = new(scdmodels.Subscription)
			updatedAt time.Time
			version   int
		)
		err = rows.Scan(
			&s.ID,
			&s.Manager,
			&version,
			&s.USSBaseURL,
			&s.NotificationIndex,
			&s.NotifyForOperationalIntents,
			&s.NotifyForConstraints,
			&s.ImplicitSubscription,
			&s.StartTime,
			&s.EndTime,
			&pgCids,
			&updatedAt,
		)
		if err != nil {
			return nil, stacktrace.Propagate(err, "Error scanning Subscription row")
		}
		s.Version = scdmodels.NewOVNFromTime(updatedAt, s.ID.String())
		if err != nil {
			return nil, stacktrace.Propagate(err, "Error generating Subscription version")
		}
		var cids []int64
		if err := pgCids.AssignTo(&cids); err != nil {
			return nil, stacktrace.Propagate(err, "Error Converting jackc/pgtype to array")
		}
		s.SetCells(cids)
		payload = append(payload, s)
	}
	if err = rows.Err(); err != nil {
		return nil, stacktrace.Propagate(err, "Error in rows query result")
	}

	return payload, nil
}

func (c *repo) fetchSubscription(ctx context.Context, q dsssql.Queryable, query string, args ...interface{}) (*scdmodels.Subscription, error) {
	subs, err := c.fetchSubscriptions(ctx, q, query, args...)
	if err != nil {
		return nil, err
	}
	if len(subs) > 1 {
		return nil, stacktrace.NewError("Query returned %d subscriptions when only 0 or 1 was expected", len(subs))
	}
	if len(subs) == 0 {
		return nil, nil
	}
	return subs[0], nil
}

func (c *repo) fetchSubscriptionByID(ctx context.Context, q dsssql.Queryable, id dssmodels.ID) (*scdmodels.Subscription, error) {
	var (
		query = fmt.Sprintf(`
			SELECT
				%s
			FROM
				scd_subscriptions
			WHERE
				id = $1`, subscriptionFieldsWithPrefix)
	)
	uid, err := id.PgUUID()
	if err != nil {
		return nil, stacktrace.Propagate(err, "Failed to convert id to PgUUID")
	}
	result, err := c.fetchSubscription(ctx, q, query, uid)
	if err != nil {
		return nil, stacktrace.Propagate(err, "Error fetching Subscription")
	}
	if result == nil {
		return nil, nil
	}
	result.Cells, err = c.fetchCellsForSubscription(ctx, q, id)
	if err != nil {
		return nil, stacktrace.Propagate(err, "Error fetching cells for Subscription")
	}
	return result, nil
}

func (c *repo) pushSubscription(ctx context.Context, q dsssql.Queryable, s *scdmodels.Subscription) (*scdmodels.Subscription, error) {
	var (
		upsertQuery = fmt.Sprintf(`
		WITH v AS (
			SELECT
				version
			FROM
				scd_subscriptions
			WHERE
				id = $1
		)
		UPSERT INTO
		  scd_subscriptions
		  (%s)
		VALUES
			($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, transaction_timestamp())
		RETURNING
			%s`, subscriptionFieldsWithoutPrefix, subscriptionFieldsWithPrefix)
	)

	cids := make([]int64, len(s.Cells))
	clevels := make([]int, len(s.Cells))

	for i, cell := range s.Cells {
		cids[i] = int64(cell)
		clevels[i] = cell.Level()
	}

	var pgCids pgtype.Int8Array
	if err := pgCids.Set(cids); err != nil {
		return nil, stacktrace.Propagate(err, "Failed to convert array to jackc/pgtype")
	}

	id, err := s.ID.PgUUID()
	if err != nil {
		return nil, stacktrace.Propagate(err, "Failed to convert id to PgUUID")
	}
	s, err = c.fetchSubscription(ctx, q, upsertQuery,
		id,
		s.Manager,
		0,
		s.USSBaseURL,
		s.NotificationIndex,
		s.NotifyForOperationalIntents,
		s.NotifyForConstraints,
		s.ImplicitSubscription,
		s.StartTime,
		s.EndTime,
		pgCids)
	if err != nil {
		return nil, stacktrace.Propagate(err, "Error fetching Subscription from upsert query")
	}
	if s == nil {
		return nil, stacktrace.NewError("Upsert query did not return a Subscription")
	}

	return s, nil
}

// GetSubscription returns the subscription identified by "id".
func (c *repo) GetSubscription(ctx context.Context, id dssmodels.ID) (*scdmodels.Subscription, error) {
	sub, err := c.fetchSubscriptionByID(ctx, c.q, id)
	if err != nil {
		return nil, err // No need to Propagate this error as this stack layer does not add useful information
	} else if sub == nil {
		return nil, nil
	}
	return sub, nil
}

// Implements repos.Subscription.UpsertSubscription
func (c *repo) UpsertSubscription(ctx context.Context, s *scdmodels.Subscription) (*scdmodels.Subscription, error) {
	newSubscription, err := c.pushSubscription(ctx, c.q, s)
	if err != nil {
		return nil, err // No need to Propagate this error as this stack layer does not add useful information
	}
	newSubscription.Cells = s.Cells

	return newSubscription, nil
}

// DeleteSubscription deletes the subscription identified by "id" and
// returns the deleted subscription.
func (c *repo) DeleteSubscription(ctx context.Context, id dssmodels.ID) error {
	const (
		query = `
		DELETE FROM
			scd_subscriptions
		WHERE
			id = $1`
	)

	uid, err := id.PgUUID()
	if err != nil {
		return stacktrace.Propagate(err, "Failed to convert id to PgUUID")
	}
	res, err := c.q.Exec(ctx, query, uid)
	if err != nil {
		return stacktrace.Propagate(err, "Error in query: %s", query)
	}

	if res.RowsAffected() == 0 {
		return stacktrace.NewError("Attempted to delete non-existent Subscription")
	}

	return nil
}

// Implements SubscriptionStore.SearchSubscriptions
func (c *repo) SearchSubscriptions(ctx context.Context, v4d *dssmodels.Volume4D) ([]*scdmodels.Subscription, error) {
	var (
		query = fmt.Sprintf(`
			SELECT
				%s
			FROM
				scd_subscriptions
				WHERE
					cells && $1
				AND
					COALESCE(starts_at <= $3, true)
				AND
					COALESCE(ends_at >= $2, true)
				LIMIT $4`, subscriptionFieldsWithPrefix)
	)

	// TODO: Lazily calculate & cache spatial covering so that it is only ever
	// computed once on a particular Volume4D
	cells, err := v4d.CalculateSpatialCovering()
	if err != nil {
		return nil, stacktrace.Propagate(err, "Could not calculate spatial covering")
	}

	if len(cells) == 0 {
		return nil, nil
	}

	cids := make([]int64, len(cells))
	for i, cell := range cells {
		cids[i] = int64(cell)
	}

	var pgCids pgtype.Int8Array

	if err := pgCids.Set(cids); err != nil {
		return nil, stacktrace.Propagate(err, "Failed to convert array to jackc/pgtype")
	}

	subscriptions, err := c.fetchSubscriptions(
		ctx, c.q, query, pgCids, v4d.StartTime, v4d.EndTime, dssmodels.MaxResultLimit)
	if err != nil {
		return nil, stacktrace.Propagate(err, "Unable to fetch Subscriptions")
	}

	return subscriptions, nil
}

// Implements scd.repos.Subscription.IncrementNotificationIndices
func (c *repo) IncrementNotificationIndices(ctx context.Context, subscriptionIds []dssmodels.ID) ([]int, error) {
	var updateQuery = `
			UPDATE scd_subscriptions
			SET notification_index = notification_index + 1
			WHERE id = ANY($1)
			RETURNING notification_index`

	ids := make([]string, len(subscriptionIds))
	for i, id := range subscriptionIds {
		ids[i] = id.String()
	}

	var pgIds pgtype.UUIDArray
	err := pgIds.Set(ids)
	if err != nil {
		return nil, stacktrace.Propagate(err, "Failed to convert array to jackc/pgtype")
	}
	rows, err := c.q.Query(ctx, updateQuery, pgIds)
	if err != nil {
		return nil, stacktrace.Propagate(err, "Error in query: %s", updateQuery)
	}
	defer rows.Close()

	var indices []int
	for rows.Next() {
		var notificationIndex int
		err := rows.Scan(&notificationIndex)
		if err != nil {
			return nil, stacktrace.Propagate(err, "Error scanning notification index row")
		}
		indices = append(indices, notificationIndex)
	}
	if err := rows.Err(); err != nil {
		return nil, stacktrace.Propagate(err, "Error in rows query result")
	}

	if len(indices) != len(subscriptionIds) {
		return nil, stacktrace.NewError(
			"Expected %d notification_index results when incrementing but got %d instead",
			len(subscriptionIds), len(indices))
	}

	return indices, nil
}

redpajama_set_name: RedPajamaGithub


text:
@implementation LoginAlertBox

-(id) initWithTitle:(NSString *)title Window:(UIWindow *)window
{
    self = [super init];
    if(self != nil)
    {
            //Init
            self.Dialog = [CODialog dialogWithWindow:window];
            [self.Dialog resetLayout];
            self.Dialog.dialogStyle = CODialogStyleDefault;
            self.Dialog.title = title;
            [self.Dialog addTextFieldWithPlaceholder:NSLocalizedString(@"USER",nil) secure:NO];
            [self.Dialog addTextFieldWithPlaceholder:NSLocalizedString(@"PASSWORD",nil) secure:YES];
            [self.Dialog addTextFieldWithPlaceholder:NSLocalizedString(@"EMAIL",nil) secure:NO];
            [self.Dialog addButtonWithTitle:NSLocalizedString(@"OK_BUTTON", nil) target:self selector:@selector(userDataEntered)];
            [self.Dialog showOrUpdateAnimated:YES];
    }
    return self;
}

-(void)userDataEntered
{
    NSString *user = [self.Dialog textForTextFieldAtIndex:0];
    NSString *pass = [self.Dialog textForTextFieldAtIndex:1];
    NSString *email = [self.Dialog textForTextFieldAtIndex:2];

    //Check if data is correct
    if(([user length] > 0)&&([pass length] > 0)&&([email length] > 0)&&([self isStringBlank:user] == NO)&&([self isStringBlank:pass] == NO)&&([self isStringBlank:email] == NO))
    {
        if([self isEmailStringCorrect:email] == YES)
        {
            //Send user data to server
            [self sendUserData:user Password:pass Email:email];
        }
        else
        {
            //Error message
            self.Dialog.title = NSLocalizedString(@"INPUT_ERROR_WRONG_EMAIL", nil);
            [self.Dialog showOrUpdateAnimated:YES];
        }
    }
    else
    {
        //Error message
        self.Dialog.title = NSLocalizedString(@"INPUT_ERROR_BLANK_STRING", nil);
        [self.Dialog showOrUpdateAnimated:YES];
    }
}

-(void)showWithTitle:(NSString *)title
{
    self.Dialog.title = title;
    [self.Dialog showOrUpdateAnimated:YES];
}

-(void)sendUserData:(NSString *)username Password:(NSString *)password Email:(NSString *)email
{
    NetCommunication *connector = [[NetCommunication alloc] init];
    connector.delegate = self;
    [connector postMessageToServerAsync:YES FileName:@"test_save_user.php" Parameters:[NSString stringWithFormat:@"user_name=%@&password=%@&email=%@",username,password,email]];
    self.username = [[NSString alloc] initWithString:username];
    self.password = [[NSString alloc] initWithString:password];
    self.email = [[NSString alloc] initWithString:email];
}

-(BOOL)isStringBlank:(NSString *)stringToCheck
{
    int numberOfBlanks = 0;

    for(int counter=0; counter < [stringToCheck length]; counter++)
    {
        if([stringToCheck characterAtIndex:counter] == ' ')
        {
            numberOfBlanks++;
        }
    }
    if(numberOfBlanks == [stringToCheck length])
    {
        return YES;
    }
    else
    {
        return NO;
    }
}

-(BOOL)isEmailStringCorrect:(NSString *)stringToCheck
{
    for(int counter=0; counter < [stringToCheck length]; counter++)
    {
        if([stringToCheck characterAtIndex:counter] == '@')
        {
            return YES;
        }
    }
    return NO;
}

-(void)answerFromServer:(NetCommunication *)controller callToServer:(NSString *)call numberOfTimes:(int)number serverAnswer:(NSString *)answer
{
    if([answer isEqualToString:@"New user created"]||[answer isEqualToString:@"Right password"])
    {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:self.username forKey:@"username"];
        [defaults setObject:self.password forKey:@"password"];
        [defaults setObject:self.email forKey:@"email"];
        [defaults synchronize];
        [self.Dialog hideAnimated:YES];
        //User data updated
        if ([self.delegate respondsToSelector:@selector(UserDataUpdated:username:password:email:)])
        {
            [self.delegate UserDataUpdated:self username:self.username password:self.password email:self.email];
        }
    }
    if([answer isEqualToString:@"Wrong password"])
    {
        //Error message
        self.Dialog.title = NSLocalizedString(@"INPUT_ERROR_WRONG_PASSWORD", nil);
        [self.Dialog showOrUpdateAnimated:YES];
    }
}

@end


text:
1880: Andrew Scott and Thomas Rogan, bushrangers
1 comment January 20th, 2012 Headsman
On this date in 1880, Andrew George Scott and Thomas George "condemned to death for the part they took in the outrage at Wantabadgery, resulting in the death of constable Bowen, were executed at Darlinghurst Gaol."
Andrew George Scott, aka Captain Moonlite (top); Thomas Rogan (bottom)
Scott is our main man here, an Anglican lay reader turned grifter turned flat-out outlaw with the nom de plunder "Captain Moonlite": one of the strangest characters in Australia's criminal annals.
How did a fellow with such a family-friendly alias end up involved in an "outrage"?
This colorful, charismatic immigrant (from Ireland, via New Zealand — and, legend has it, with a side trip to Italy to fight with Garibaldi) became a notorious public figure when, in outlandish masked getup, he robbed the bank of the South Victoria gold rush town of Mount Egerton.
His distinctive voice — remember, he was a parish reader — was recognized by his erstwhile friend at the other end of the gun, but Scott brazenly reversed the accusation and actually had his victim in the dock for a time. This Mount Egerton crime is the source of the man's luminescent nickname, after the signature placed on a stickup note.
When he got out of prison in 1879 — having defended himself with panache, and escaped once along the way — he had a public profile, and actually got out on the lecture circuit for a brief spell.
But he soon returned to the annals of preposterous criminality.
Gathering five young followers, Moonlite went full-time into the bush. Allegedly spurned in a bid to join Ned Kelly's gang, Moonlite et al sought work at Wantabadgery Station.
When this refuge, too, turned them away, the outlaws found themselves in a rather pathetic state of hunger and desperately seized the place by main force. The resulting "outrage" was not a wholesale plunder of the station or wanton abuse of the prisoners (no rapes, no murders … although Moonlite did conduct a kangaroo "trial" of one of his hostages for attempting to escape: the verdict was not guilty): it was the inevitable ensuing shootout with police in which the bushrangers James Nesbitt and Augustus Wernicke died, along with the constable Bowen.
Two of the other three who survived this shootout also survived their brush with the law by blaming Captain Moonlite. The "Captain" may have been plenty eager to accept this fatal inculpation for reasons beyond those of mere honor.
In his prolific prison correspondence awaiting execution, Scott avowed his broken-hearted love for James Nesbitt, one of the two companions who had been killed in the shootout. The terms are astonishingly explicit for the time.
"My boy with a golden heart who died trying to save me … He was my constant companion; we had the deepest, truest bond of friendship. We were one heart and soul, he died in my arms and I long to join him, where there shall be no more parting. He died in my arms; his death has broken my hear. When I think of my dearest Jim, I am nearly driven mad. My dying wish is to be buried beside my beloved James Nesbitt"
Scott hanged wearing a ring of the late Nesbitt's hair,* but his wish to share a burial plot was not honored — until Captain Moonlite was exhumed and reburied in 1995.
(cc) image from AYArktos.
* Asserted in Who's Who In Gay and Lesbian History from Antiquity to World War II.
Part of the Daily Triple: 1880 and Death.
1877: Dato Maharaja Lela, Perak War rebel - 2020
1823: Giles East - 2019
1875: A day in the death penalty on opposite sides of Pennsylvania - 2018
1905: John Johnson - 2017
1922: Eleuterio Corral and Rumaldo Losano, escapees - 2016
1979: Julio Vargas Garayar, the last executed in Peru - 2015
2013: Alireza Mafiha and Mohammad Ali Sorouri, viral video stars - 2014
1964: Preap In, Khmer Serei operative - 2013
250: Pope St. Fabian - 2011
1677: William Drummond, for Bacon's Rebellion - 2010
1758: Francois Macandal, forgotten black messiah - 2009
Feast Day of St. Sebastian - 2008
1880: Ned Kelly
1846: William Westwood, aka Jackey Jackey
1834: The bushrangers John Jenkins and Thomas Tattersdale
1838: Seven perpetrators of the Myall Creek Massacre
1824: Alexander Pearce, cannibal convict
1826: Matthew Brady, gentleman bushranger
1888: Hugh Mottram Brooks, for the Trunk Murder
Entry Filed under: 19th Century,Australia,Capital Punishment,Common Criminals,Crime,Death Penalty,Disfavored Minorities,Execution,Hanged,History,Homosexuals,Murder,Occupation and Colonialism,Outlaws
Tags: 1880, 1880s, andrew scott, bushrangers, convict transportation, january 20, sydney, thomas rogan


First, Caesar's Civil War, is available as a paperback and e-book . This is Caesar's account of the war against Pompey and the Optimates. In addition Caesar's text, there are six appendices full of more information on the people, places and things mentioned in the text. There are twelve illustrations and maps to help the reader. Priced at $18, it is the perfect accompaniment for The Gallic Wars and Stratagems.
Next is a short work on Lee's Maryland Campaign. Analyzing the Maryland Campaign of 1862 gives an overview of the decisions and actions that resulted in Lee's invasion of Maryland and its aftermath. Affordable priced at $0.99 it is a quick source for those wanting information on this period.


text:
Sassa to face Scopa over grants crisis
February 28, 2017 • Local, News	• No Comments
The SA Social Security Agency will appear before Parliament's standing committee on public accounts (Scopa) on Tuesday to discuss the looming social grants crisis.
The meeting is set down for 09:00, and the agency has agreed to appear, committee secretary Ben Kali confirmed to News24 on Monday.
Scopa will focus on Sassa and the Department of Social Development's proposed contract extension with current illegal service provider Cash Paymaster Services (CPS), which currently handles the grants of 17 million people.
Minister Bathabile Dlamini told the portfolio committee on social development last week that they will not meet the April 1 deadline to find a new distributor. The only option is an extension of the unconstitutional contract with CPS and its parent company Net1.
She has not filed any papers with the Constitutional Court, nor started renegotiations with CPS, she admitted.
The court's two-year deadline to end the contract and find an alternative distribution channel is four weeks away. In 2014, the court declared the contract invalid, but suspended its order to give the department time to find a new service provider.
The DA has claimed that Dlamini forced the crisis to try and extend the contract at an inflated price of R1.3bn.
"The DA will not stand for this and in Scopa we will be relentless in extracting the truth to once and for all clear the Sassa confusion and find a solution to this crisis," DA MP Tim Brauteseth said on Monday.
[Source: News24]
wind: 11m/s NNW


text:
Der 16. Adolf-Grimme-Preis wurde 1980 verliehen. Die Preisverleihung fand am 20. März 1980 im Theater Marl statt.

Im Rahmen der Veranstaltung wurden neben dem Adolf-Grimme-Preis noch weitere Preise, unter anderem auch der "Publikumspreis der Marler Gruppe", vergeben.

Preisträger

Adolf-Grimme-Preis mit Gold
 Thomas Draeger (für die Regie bei Metin, ZDF)

Adolf-Grimme-Preis mit Silber
 Peter Lustig (Buch und Regie) und Anne Voss (Buch) (für die Sendung Pusteblume, ZDF)
 Ludwig Metzger (Redaktion), Christoph Hübner (Buch und Regie), Gabriele Voss (Buch und Regie) und Alphons Stiller (Buch) (für die Sendung Lebensgeschichte des Bergarbeiters Alphons S., WDR)
 Paul Karalus (für Buch und Regie bei Endlösung, WDR)
 Leonie Ossowski (Buch) und Marianne Lüdcke (Regie) (für die Sendung Die große Flatter, WDR)

Adolf-Grimme-Preis mit Bronze
 Joachim Roering (für Buch und Regie zu Drei Bürger zum Geburtstag, ZDF)

Besondere Ehrung
 Karl Holzamer (für seine Verdienste bei der Entwicklung des öffentlich-rechtlichen Fernsehens in der Bundesrepublik Deutschland)
 Horst Hano (für seine Berichterstattung über die Entwicklungen auf der Iberischen Halbinsel)
 Ingo Hermann (stellvertretend für die Programmleistungen der Redaktion Bildung und Erziehung auf allen Gebieten des Bildungsfernsehens beim ZDF)

Ehrende Anerkennung
 Michael Braun (für die Regie bei Disco is Disco, WDR)
 Hans-Jürgen Usko (für die Produktion der Sport-Spiegel-Folge Preisboxer, ZDF)
 Rainer Nohn (für die Produktion von Kontaktschuppen, WDR)
 Helga Reidemeister (für die Regie bei Von wegen Schicksal, ZDF)

Sonderpreis des Kultusministers von Nordrhein-Westfalen
 Adrian Maben (für die Regie bei Monsieur Rene Magritte, WDR)

Publikumspreis der Marler Gruppe
 Christian Herrendoerfer (für die Sendung Kahlschlag – die zweite Energiekrise)
 Metin, ZDF
 Kennzeichen D, ZDF
 Drei Bürger zum Geburtstag, ZDF
 Dieter Hildebrandt (für die Sendung Notizen aus der Provinz, ZDF)
 Fritz Kremser (für die Sendung Das ist, wie wenn ein toter Vogel schreit	)
 Adrian Maben (für die Sendung Monsieur Rene Magritte, WDR)

Weblinks
 Preisträger 1980

Einzelnachweise

1980
Grimme Preis
Preisverleihung in Marl

redpajama_set_name: RedPajamaWikipedia


PureVPN and VPN Unlimited are VPN services that offer a vast range of security features, great speed and performance, and numerous perks. If you cannot decide which one to go with, this PureVPN vs. VPN Unlimited comparison can help you make up your mind in minutes.
The comparison below is based on 7 crucial aspects of VPN protection, identified by our knowledgeable team of VPN experts. If you wish to examine the offers of these two VPN service providers in full detail, check out our complete PureVPN vs. VPN Unlimited comparison breakdown below.
Here is a detailed overview of the offers of these two excellent VPN providers. Take a look at their features side by side and quickly decide which one brings you everything you need and offers better value for your money.
PureVPN supports all major platforms and operating systems, including Windows, Linux, Mac, iOS, and Android. It is also compatible with Xbox and routers. The software can be used on up to 5 devices with a single account.
Just like PureVPN, VPN Unlimited is compatible with a wide range of platforms and operating systems, including Windows, Mac OS, iOS, Android, Linux, Windows Phone, and Apple TV. Unfortunately, it does not work on Xbox and routers. You can use it on up to 5 devices or purchase an inexpensive extension that allows you to use it on as many as 15 devices.
PureVPN has an extensive knowledge base and FAQ section. You can contact its helpful staff via email or live chat.
VPN Unlimited has an excellent FAQ section with a search field and convenient categorization for easier browsing. The knowledgeable staff can be contacted via email, a contact form or live chat.
PureVPN offers around 80 000 dynamic/shared IP addresses. You can also opt for a static IP address.
VPN Unlimited offers dynamic/shared IP addresses. It also allows you to purchase a personal static IP address or even a personal server.
PureVPN allows you to choose between 4 subscription plans. The monthly plan costs $9.95, the semi-annual plan costs $7.49 per month, and the price of the annual plan is $4.99 per month. With the 2-year plan, you can get PureVPN for only $2.08 per month.
VPN Unlimited offers 3 basic subscription plans. The Economy plan is a monthly plan and it costs $6.99 per month. The Professional plan is billed annually. It protects you for a year and costs $3.33 per month. The Infinity plan brings you 100 years of protection and costs $499.99, but with the company's discounts, you can get it for only $149.99. Once you download the software, you get more subscription options, with the length of the subscription period ranging from 7 days to 100 years.
PureVPN uses 4 encryption protocols: OpenVPN, L2TP, PPTP, and SSTP.
VPN Unlimited offers 2 protocols. It uses OpenVPN protocol on Android and Windows and IPSec IKEv1 on Mac and iOS.
PureVPN has more than 500 servers in 141 countries all over the world. It offers smooth performance and impressive speeds. With your subscription, you get to enjoy unlimited bandwidth, speed, and server switching. P2P sharing is allowed.
VPN Unlimited operates over 1000 servers in more than 70 locations worldwide. It brings you great speeds, although not as impressive as the ones offered by PureVPN, as well as smooth performance. You also get unlimited bandwidth and speed. There are no IP or DNS leaks. P2P is allowed, with specialized servers for this purpose, but only for legal activities.
PureVPN brings you great security with strong encryption, NAT firewall, a VPN kill switch, split tunneling, and Wi-Fi protection. It accepts BitCoin, so you can avoid sharing any sensitive information while paying for your subscription. Although it does not monitor your activity, it does keep some connection logs.
VPN Unlimited brings you an impressive suite of security features. It offers strong encryption, malware protection, ad blocking, and tracking prevention, with an additional layer of encryption. It also allows you to purchase add-ons for increased security. It accepts payments via BitCoin and does not keep logs of your activity. However, just like PureVPN, it does keep connection logs.


text:
About Reet Jurvetson
Efforts Made
Cooperation with Media – September 6, 2016
Los Angeles Police Department News Release September 8, 2016
La Presse Article September 9, 2016
CBC News Article by Ronna Syed – Sept. 2, 2016
La Presse Article: Murder of Reet Jurvetson: "Somebody knows", Sept. 1, 2016
Family Response to Interview Requests – June 10, 2016
Family Response to Recent Stories About Reet Jurvetson in The News – May 3, 2016
Los Angeles Police Department News Release April 27, 2016
Reet Jurvetson Gallery
Reet Jurvetson's Family Memorial
Jane Doe #59 (1969, Los Angeles, California) identified as Reet Silvia Jurvetson
Murder of Reet Jurvetson – The police are looking for two "persons of interest"
Written by Gabrielle Duchaine for La Presse
Originally published on September 9, 2016
The Los Angeles police continue to progress in their investigation of the murder of Reet Jurvetson, originally from Montreal, stabbed to death with 150 knife wounds in 1969 and identified only last year as a result of DNA testing.
Forty-seven years later, the challenge seemed almost beyond human capacity. But step-by-step, piece-by-piece, the Los Angeles police continue to progress in their investigation into the murder of Reet Jurvetson, originally from Montreal and stabbed to death with 150 knife wounds in 1969 and identified only last year as a result of DNA testing.
Yesterday, the Los Angeles Police Department detectives unveiled the composite sketches of two men who are considered to be "persons of interest." This man was a friend of Reet Jurvetson and could have been in Los Angeles at the time of the murder.
PICTURE PROVIDED BY THE LOS ANGELES POLICE DEPARTMENT
The detectives who are responsible for the case now have an address and portrait drawings of two men that Reet supposedly travelled to Los Angeles to meet up with, and who are actively sought today. Once again, the police are asking for the public's help to help solve some more of the mystery surrounding the death of the young woman who was known for decades as Jane Doe #59.
"It would be wonderful if there was a breakthrough that would allow the police to discover what happened in the last weeks of Reet's life", pleads her older sister, Anne Jurvetson.
The 19-year old girl's bloody body was found in November 1969 by a passer-by in the bushes along Mulholland Drive. The young woman had just moved to the United States.
The victim had no ID. She was wearing Levi jeans made in Boston, Italian boots and a blue corduroy jacket made in Montreal. At the time, the news of the murder never made it to Quebec. The case was categorized as unsolved. During this time, in Quebec, the Jurvetson family was looking in vain for the youngest member of the family.
Then, last summer, almost 50 years after the crime, a friend of the Jurvetson family stumbled across a picture of the corpse of a green-eyed brunette who looked just like the missing woman, on an American site of missing and unidentified people. A few months later, a DNA test confirmed the worst.
DO YOU KNOW THESE MEN?
Since then, the Los Angeles Police Department (LAPD) detectives are making very slow progress. But it is progress. Yesterday, they unveiled the composite sketches of two men who are considered to be "persons of interest."
One of the sketches shows a young man who looks like Jim Morrison, with long, dark hair, a boyish face and full lips. It's a sketch of a man named Jean, or John, a Montrealer who allegedly was Reet's boyfriend at the time of her death. He is the person she went to visit in L.A. The police have no other clues than his first name and a physical description. What became of him over the last 50 years remains a mystery.
The sketch was made by Montreal artist who knew the victim and her lover before they left for the United States. La Presse had found him in May, after the LAPD launched a wanted notice.
At the end of the '60s, the couple patronized the Image café on du Parc Avenue, a Mecca for hippies, where Mr. Robert worked as a waiter. "[Jean] was always clean. He wore a nice jean jacket and a white shirt with his long hair that fell on his shoulders", the witness had confided to La Presse in May.
The other sketch shows a young man with a "Beatles" haircut. According to the police, he was shorter than Jean. He was also a friend of Reet and could have been in Los Angeles at the time of the murder. "The other man has not yet been officially identified, but his name could be Jean too", states the LAPD in a release. "Witnesses may remember seeing them together", hope the Californian police.
What did Reet do before dying? Before the murder, the last news the family received arrived by postcard at the family home in Westmount, in the fall of 1969. A card that Anne Jurvetson, the only surviving member of the family, vaguely remembered and that she searched and searched for in the boxes of things that had belonged to her deceased mother and that are piled in her basement.
She finally found it in August. It has a picture of Malibu beach and a tender message written in Estonian, her parents' mother tongue. On it, there is also an address.
"I couldn't believe my eyes", the woman told La Presse. "I cried and sobbed for more than an hour. I was overwhelmed by emotion. Finally, we have an address where Reet lived in Los Angeles."
The young woman lived in Hollywood, at the Paramount Hotel, 5311, Melrose Avenue, steps away from the Paramount Pictures movie production company's facilities. Reet lived in apartment 306 in the large, four-story brick building, where several people involved in the movie industry lived during the '30s and '40s, including the western movie actor, Bud Osborne. The building was torn down in 1989.
"I really hope that this address, or the name of the building, or the fact that it backed onto Paramount Studios, will jog someone's memory", said Anne Jurvetson. I pray that someone will remember having lived there and having met my sister. Or even that someone from Montreal who knew the two friends she went to see, will remember them because they lived there."
Do you have any information regarding this case? Please contact us.
To reach detectives Luis Rivera and Veronica Conrado at the LAPD's Unsolved Crimes Unit: 213 486-6818.
MORE THAN 50 YEARS OF MYSTERY
Reet Jurvetson sent a postcard to her parents in Montreal. "The weather is beautiful and the people are nice. I have a cute little apartment. I go to the beach often", she wrote. The family never heard from her again.
A passer-by found the bloody body of a young woman in the bushes bordering Mulholland Drive. The victim, who had been stabbed at least 150 times, had no ID. The case was categorized as unsolved. For the police, she became Jane Doe #59.
An LAPD detective put pictures online, made by forensic artists, of Jane Doe #59's corpse. The Los Angeles police's Unsolved Crimes Unit, which has had approximately 9,000 unsolved murder cases in its territory since the '60s, uses this technique from time to time to reactivate investigations.
One of Reet's friends stumbled across a picture of the corpse of a green-eyed brunette who looked just like the missing woman on an American site of missing and unidentified people. The friend contacted the family. A DNA test confirmed that it was Reet's body that was found in 1969.
LAPD detectives Luis Rivera and Veronica Conrado spend five days in Montreal to meet with witnesses. They tried to establish a link between Reet and a man that she had met in Montreal, "Jean" or "John". "We know that she came to Los Angeles to meet this man. If anyone knows this person, or remembers him, this is the kind of information that we need to help the investigation", said Detective Rivera.
The LAPD detectives were searching for someone named Paul Robert, a street artist who is between the ages of 60 and 80. The police believed that his testimony could help unblock the investigation. He was not considered to be a suspect in this case.
La Presse found Paul Robert, who agreed to share his memories. He remembers young Reet who patronized the Image café very well, where he worked as a waiter on du Parc Avenue. He also remembers her boyfriend, a Jim Morrison look-alike. His description corresponds to that of the man that Reet went to see in California, and who is considered to be a "person of interest" by the police.
The LAPD distributed two composite sketches of "persons of interest" in the Jurvetson case. The detectives are asking for help from the public to identify them. The LAPD is also giving out Reet Jurvetson's last known address. Before her death, she lived at the Paramount Hotel in Hollywood, steps away from the Paramount movie studios.
Efforts Made to Find Reet Jurvetson
© 2019 Reet Jurvetson's Family Memorial. Toronto Website development by WSI Milton


Abstract: A normal person eats as controlled by needs of nutrition. A person with an eating disorder may wrongly interpret discomfort as hunger.
Written by: Gunborg Palme certified psychologist, certified psychotherapist.
First version: 31 Aug 2013.
Latest revision: 01 Sep 2013.
What is the difference between normal and disturbed eating?
Normal Eating: You are connected to physical hunger and satiety and use this to decide when you should and how much to eat. The only reason for eating is that you're hungry and need food. Eating makes you satisfied. Hunger and eating take care of itself just as as breathing and sleeping.
Disturbed Eating: Either you do not recognize your body's signals of hunger and satiety, or you ignore and disregard them. You eat for reasons other than physical hunger, such as fatigue, stress or boredom. Your relationship with food makes you miserable and you are not able to get it into order.
What controls eating Eating is separated from normal control of hunger, appetite and satiety. It can be controlled by the will, such as a planned diet, calorie counting, emotions, and to see and smell the food. Eating is controlled by hunger, appetite and satiety. You eat when in need of food, stop when satisfied; you are usually hungry only at mealtimes.
Why you eat Often for purposes other than the nutritional needs such as to change the body shape, to reduce pain, to relieve stress, anxiety, anger, loneliness or boredom. You feel uncomfortable after eating, have feelings of remorse, guilt and shame. For nutrition, health and energy. Also for fun and as part of socializing. Eating gives a feeling of satisfaction.
When eating Eating is irregular and chaotic - you often eat too much or too little, skip meals, fast, binge diet. Common patterns are overeating or undereating, eating much more or less than the body needs. Eating is regular and orderly. Typically, three meals plus snacks to satisfy hunger.