text:
\section{Introduction}
Spectroscopy is at the heart of all sciences concerned with matter and energy.
An electromagnetic spectrum indicates the electronic states and the kinetics of atoms.
The quantum nature of spectra allows them to be approximately reduced to the sum of unimodal peaks (such as Lorentzian peaks, Gaussian peaks, and their convolutions), whose centers are the energy levels from the semiclassical viewpoint \cite{tkachenko2006optical}.
The peak intensity is proportional to both the population density of the atoms or molecules and their transition probabilities.
The Lorentzian peak width indicates the lifetime of the eigenstate due to the time-energy uncertainty relation.
The Gaussian peak width indicates the Doppler effect caused by the kinetics of atoms and depends on temperature.
These pieces of information about the electronic states or kinetics of atoms are obtained by identifying peaks from spectra.

It is generally a difficult problem to distinguish each peak from noisy spectra with overlapping peaks.
The simplest solution is least-squares fitting by a gradient method \cite{allen1978deconvolution}.
This type of method has a drawback in that fitting parameters are often trapped at a local minimum or a saddle whenever there is another global minimum in the parameter space.
Moreover, the number of peaks is not always known in practice.
Bayesian inference, by using a Markov chain Monte Carlo (MCMC) method, provides a superior solution \cite{fischer2001analysis, razul2003bayesian, masson2010dynamics, nagata2012bayesian, mazet2015unsupervised, kasai2016nmr, hong2016automatic, PhysRevC.93.061601, murata2016extraction}.
Although the Bayesian framework enables us to estimate the number of peaks, MCMC methods generally have the limitation of local minima and saddles.
Nagata et al. reported \cite{nagata2012bayesian} that the exchange Monte Carlo method \cite{hukushima1996exchange} (or parallel tempering \cite{geyer1991markov}) can prevent local minima or saddles efficiently and provide a more accurate estimation than the reversible jump MCMC method \cite{green1995reversible} and its extension \cite{jasra2007population}.

We constructed a Bayesian framework for estimating both the noise variance and the number of peaks from spectra with white Gaussian noise by expanding the previous framework by Nagata et al. \cite{nagata2012bayesian}.
The noise variance and the number of peaks are respectively estimated by hyperparameter optimization and model selection.
These estimations are carried out by maximizing a function called the marginal likelihood \cite{efron1973stein, akaike1980likelihood, mackay1992bayesian}, which is a conditional probability of observed data given the noise variance and the number of peaks in our framework.
We provide a straightforward and efficient scheme that calculates this bivariate function by using the exchange Monte Carlo method and the multiple histogram method\cite{ferrenberg1989optimized, kumar1992weighted}.
We also demonstrated our framework through simulation. We show that estimating both the noise variance and the number of peaks prevents overfitting, overpenalizing, and misunderstanding the precision of parameter estimation.

\section{Framework}

\subsection{Models}
An observed spectrum $y \in \mathbb{R}$ is represented by the sum  $f(x; w)$ of single peaks $\phi_k(x; \mu_k,\rho_k)$ and additive noise $\varepsilon$ as
\begin{linenomath*}
\begin{align}
y &= f(x; w) + \varepsilon, \\
f(x; w) &:= \sum_{k=1}^K a_k \phi_k(x; \mu_k,\rho_k), \\
\phi_k(x; \mu_k,\rho_k) &:= \exp \left[ -\frac{\rho_k}{2} \left(x-\mu_k \right)^2 \right],
\end{align}
\end{linenomath*}
where $x \in \mathbb{R}$ denotes energy, frequency, or wave number depending on the case. The parameter set is $w := \{a_k, \mu_k, \rho_k \}_{k=1}^K$,
where $a_k \geq 0$, $\mu_k \in \mathbb{R}$, and $\rho_k^{-1/2} (\rho_k \geq 0) $ for each $k$ are respectively the intensity, energy level, and peak width. The Gaussian function $\phi_k(x)$ for each $k$ should be replaced with other parametric functions, such as the Lorentzian or Voigt function, depending on the case \cite{tkachenko2006optical, loudon2000quantum}. If the peaks $\phi_k(x)$ are symmetric functions for all $k$ (i.e., their values depend only on the distance from each center), the function $f(x; w)$ is called a radial basis function network
in neural networks and related fields \cite{nagata2012bayesian, broomhead1988radial}. This is the junction of the spectral data analysis and singular learning theory \cite{tokuda2013numerical}.
If the additive noise $\varepsilon$ is assumed to be a zero-mean Gaussian with variance $b^{-1} \geq 0$, the statistical model of the observed spectrum is represented by a conditional probability as
\begin{linenomath*}
\begin{align}
p(y \mid x,w,b) := \sqrt{\frac{b}{2\pi}} \exp \left \{ - \frac{b}{2} [y - f(x; w)]^2 \right \}, \label{eq:stat_model}
\end{align}
\end{linenomath*}
where $y$ is taken as a random variable. This Gaussian distribution $p(y \mid x, w,b)$ is valid if the thermal noise is dominant.
The parameter set $w$ is also regarded as a random variable from the Bayesian viewpoint.
The probability density function of $w$, called the {\it prior} density, is heuristically modeled as
\begin{linenomath*}
\begin{align}
\varphi(w \mid K) &:= \prod_{k=1}^{K} \varphi \left(a_k \right) \varphi \left(\mu_k \right) \varphi \left(\rho_k \right), \\
\varphi \left(a_k \right) &:= \kappa \exp(-\kappa a_k), \label{eq: sparse1} \\
\varphi \left(\mu_k \right) &:= \sqrt{\frac{\alpha}{2 \pi}} \exp \left[ -\frac{\alpha}{2} (\mu_k - \mu_0)^2 \right] \label{eq: flat} \\
\varphi \left(\rho_k \right) &:= \nu \exp \left(- \nu \rho_k \right), \label{eq: sparse2}
\end{align}
\end{linenomath*}
where $\kappa>0$, $\mu_0 \in \mathbb{R}$, $\alpha>0$, and $\nu>0$ are hyperparameters.
This prior density modeling is a special case of that by Nagata et al. \cite{nagata2012bayesian}.
Equation (\ref{eq: sparse1}) promotes the sparsity of $a_k$.
Equation (\ref{eq: flat}) is regarded as an almost flat prior density if $\alpha$ is sufficiently small.
These prior density models can be replaced with any other model without loss of generality in our framework.

\subsection{Bayesian formalization}
The conditional probability density function of $w$ given samples $D:=\{X_i, Y_i\}_{i=1}^n$, set as $X_1 < X_2 < \cdots < X_n$ for the sake of convenience, is represented by Bayes' theorem as
\begin{linenomath*}
\begin{align}
p(w \mid D, K, b) &= \frac{1}{Z_n(K,b)} \prod_{i=1}^n p(Y_i \mid X_i ,w,b) \varphi(w \mid K) \\
&= \frac{1}{\tilde{Z}_n(K, b)} \exp \left[ -nb E_n(w) \right] \varphi(w \mid K), \\
Z_n(K,b) &:= \int dw \prod_{i=1}^n p(Y_i \mid X_i ,w,b) \varphi(w \mid K) \label{eq:marginal} \\
&= \left( \frac{b}{2\pi} \right)^{\frac{n}{2}} \tilde{Z}_n(K,b), \\
\tilde{Z}_n(K,b) &:= \int dw \exp \left[ -nb E_n(w) \right] \varphi(w \mid K), \\
E_n(w) &:= \frac{1}{2n} \sum_{i=1}^n \left[ Y_i -f(X_i; w) \right]^2, \label{eq:error}
\end{align}
\end{linenomath*}
where the functions $p(w \mid D, K, b)$ and $Z_n(K,b)$ are respectively called the {\it posterior} density and marginal likelihood. Note that the function $Z_n(K,b) = p(\{Y_i\}_{i=1}^n \mid \{X_i\}_{i=1}^n K,b)$ is a probability density but $\tilde{Z}_n(K,b)$ is not.
Bayes free energy $F_n(K,b)$ is defined as
\begin{linenomath*}
\begin{align}
F_n(K,b) &:= -\log Z_n(K,b) \\
&= b \tilde{F_n}(K,b) -\frac{n}{2} (\log b - \log 2 \pi), \\
\tilde{F_n}(K,b) &:= -\frac{1}{b} \log \tilde{Z}_n(K,b).
\end{align}
\end{linenomath*}
Note that Nagata et al. regarded $b \tilde{F_n}(K,b)$ as Bayes free energy for the sake of convenience \cite{nagata2012bayesian} since the noise variance is treated as a known constant.
We also assume the case in which there are no peaks as $K=0$ (see Appendix A).
In terms of the empirical Bayes (or type II maximum likelihood) approach \cite{efron1973stein, akaike1980likelihood, mackay1992bayesian}, empirical Bayes estimators of $K$ and $b$ are given by
\begin{linenomath*}
\begin{align}
(\hat{K},\hat{b}) &:= \argmax_{K, b} Z_n(K,b) \\
&=\argmin_{K, b} F_n(K,b).
\end{align}
\end{linenomath*}
The hierarchical Bayes approach \cite{gelman2013bayesian} is also tractable in our framework (see Appendix B).
The partial derivative of $F_n(K,b)$ with respect to the variable $b$ is obtained as
\begin{linenomath*}
\begin{align}
\frac{\partial F_n}{\partial b} &= n \left[ \langle E_n(w) \rangle_b -\frac{1}{2b} \right], \label{eq: derivative}
\end{align}
\end{linenomath*}
where $\langle Q \rangle_{b}$ denotes the posterior mean of an arbitrary quantity $Q \in \mathbb{R}$ over $p(w \mid D, K, b)$.
If $b=\hat{b}$ is a stationary point of $F_n(K,b)$, then the following equation is satisfied:
\begin{linenomath*}
\begin{align}
\langle E_n(w) \rangle_{\hat{b}} = \frac{1}{2\hat{b}}. \label{eq:deri2}
\end{align}
\end{linenomath*}
The Bayes estimator of $w$ is given by $\hat{w} := \left \{ \langle a_k \rangle_{\hat{b}}, \langle \mu_k \rangle_{\hat{b}}, \langle \rho_k \rangle_{\hat{b}} \right \}_{k=1}^{\hat{K}}$ with the standard deviation $\sqrt{\langle {Q'}^2 \rangle_{\hat{b}} - {\langle Q' \rangle_{\hat{b}}}^2}$ for each parameter $Q' \in w$ if $\hat{K}>0$.
However, $(\hat{K}, \hat{b})$ cannot be derived in this case since $F_n(K,b)$ and $\langle E_n(w) \rangle_{b}$ are analytically intractable for our model.

\subsection{Exchange Monte Carlo method}
In practice, we calculate $F_n(K,b)$ and $\langle E_n(w) \rangle_{b}$ by using the exchange Monte Carlo method, which efficiently enables sampling from $p(w \mid D, K, b)$ at $b \in \{b_l\}_{l=1}^L$ without knowing $Z_n(K,b)$ or $F_n(K,b)$. The target density is a joint probability density as
\begin{linenomath*}
\begin{align}
p \left( \{w_l\}_{l=1}^L \mid D, K, \{b_l\}_{l=1}^L \right) &:= \prod_{l=1}^L p(w_l \mid D, K,b_l),
\end{align}
\end{linenomath*}
where $w_l$ is the parameter set at $b_l$. Each density $p(w_l \mid D, K,b_l)$ is called a {\it replica}. Sequence $\{b_l\}_{l=1}^L$ is set as $0 = b_1 < b_2 < \cdots < b_L$ for the sake of convenience. Note that the variable $b$ is replaced with the inverse temperature $\beta$ of Nagata et al.'s formulation\cite{nagata2012bayesian}.
The variable $b$ works as quasi-inverse temperature and varies the substantial support of the posterior density $p(w \mid D, K, b)$. The state exchange between high- and low-temperature replicas enables the escape from local minima or saddles in the parameter space. The sampling procedure includes the two following steps.
\begin{itemize}
\item State update in each replica \\
Simultaneously and independently update state $w_l$ subject to $p(w_l \mid D, K,b_l)$ using the Metropolis algorithm \cite{metropolis1953equation}.
\item State exchange between neighboring replicas \\
Exchange states $w_l$ and $w_{l+1}$ at every step subject to the probability $u(w_{l+1}, w_{l}, b_{l+1}, b_{l})$ as
\begin{linenomath*}
\begin{align}
u(w_{l+1}, w_{l}, b_{l+1}, b_{l}) &:= \min \left[1, v(w_{l+1}, w_{l}, b_{l+1}, b_{l}) \right], \label{eq:balance} \\
v(w_{l+1}, w_{l}, b_{l+1}, b_{l}) &:= \frac{p(w_{l+1} \mid D,K,b_{l}) p(w_{l} \mid D,K,b_{l+1})}{p(w_{l} \mid D,K,b_{l}) p(w_{l+1} \mid D,K,b_{l+1})} \\
&= \exp \left \{ n (b_{l+1} - b_{l}) [E_n(w_{l+1}) - E_n(w_{l})] \right \},
\end{align}
\end{linenomath*}
where Eq. (\ref{eq:balance}) ensures a detailed balance condition.
\end{itemize}
A straightforward way of computing $\tilde{F}_n(K,b_l)$ via the exchange Monte Carlo method is bridge sampling \cite{meng1996simulating, gelman1998simulating}, in which $\tilde{F}_n(K,b_l)$ is expressed as
\begin{linenomath*}
\begin{align}
\tilde{F}_n(K,b_l) &= - \frac{1}{b_l} \log \prod_{l'=1}^{l-1} \frac{\tilde{Z}(K,b_{l'+1})}{\tilde{Z}(K,b_{l'})} \\
&= - \frac{1}{b_l} \sum_{l'=1}^{l-1} \log \langle \exp [-n (b_{l'+1} - b_{l'}) E_n(w_{l'}) ] \rangle_{b_{l'}}, \label{eq:bridge}
\end{align}
\end{linenomath*}
where $\langle Q_l \rangle_{b_l}$ for the arbitrary quantity $Q_l \in \mathbb{R}$ at the $l^{\rm th}$ replica is approximated by the mean of an MCMC sample $\{Q_{l, m}\}_{m=1}^{M_{l}}$ as
\begin{linenomath*}
\begin{align}
\langle Q_l \rangle_{b_l} &= \frac{1}{M_{l}}\sum_{m=1}^{M_{l}} Q_{l, m}. \label{eq:thermal_ave}
\end{align}
\end{linenomath*}
However, $\hat{b}$ is not easy to accurately calculate using only the above scheme since $\{b_l\}_{l=1}^L$ is a discrete set, whereas $b$ is a continuous variable.

\subsection{Multiple histogram method}
We interpolate $\{F_n(K,b_l)\}_{l=1}^L$ or $\{\langle E_n(w) \rangle_{b_l}\}_{l=1}^L$ with respect to $b=b' \in (b_l,b_{l+1})$ for any $l$ via the multiple histogram method. The density of states is defined and estimated by
\begin{linenomath*}
\begin{align}
g(E;K) &:= \int dw \delta [E-E_n(w)] \varphi (w \mid K) \\
&= \frac{\sum_{l=1}^L N_{l}(E)}{\sum_{l'=1}^L M_{l'} \tilde{Z}_n(K,b_{l'})^{-1} \exp(-n b_{l'} E)},
\end{align}
\end{linenomath*}
then we obtain
\begin{linenomath*}
\begin{align}
\tilde{Z}_n(K,b) &= \int dE g(E;K) \exp (-nbE) \\
&= \sum_{l=1}^L \sum_{m=1}^{M_{l}} \frac{1}{\sum_{l'=1}^L M_{l'} \tilde{Z}_n(K,b_{l'})^{-1} \exp \left[ n (b-b_{l'}) E_{l, m} \right]}, \label{eq:MHR}
\end{align}
\end{linenomath*}
where $N_l(E)dE$ and $E_{l,m}$ are respectively the histogram of $E \geq 0$ at the $l^{\rm th}$ replica and the value of $E$ at the $m^{\rm th}$ snapshot of the $l^{\rm th}$ replica in an MCMC simulation, i.e., $\int dE N_l(E) = M_l$. The values of $\{\tilde{Z}_n(K,b_l)\}_{l=1}^L$ are determined self-consistently by iterating Eq. (\ref{eq:MHR}) with $b=b_l$. We take $\exp[-b_l \tilde{F}_n(K,b_l)]$ computed via Eq. (\ref{eq:bridge}) as the initial values for the sake of convenience. Given $\{\tilde{Z}_n(K,b_l)\}_{l=1}^L$, we then calculate $\tilde{Z}_n(K,b)$ as $b=b'$ via Eq. (\ref{eq:MHR}) again. The above procedure can be appropriately generalized to treat multidimensional histograms such as $N_l(E,Q)dEdQ$ \cite{newman1999monte}. Then, the posterior mean of an arbitrary quantity is calculated as
\begin{linenomath*}
\begin{align}
\langle Q \rangle_b &= \frac{1}{\tilde{Z}_n(K,b)} \sum_{l=1}^L \sum_{m=1}^{M_{l}} \frac{Q_{l, m}}{\sum_{l'=1}^L M_{l'} \tilde{Z}_n(K,b_{l'})^{-1} \exp \left[ n (b-b_{l'}) E_{l, m} \right]}, \label{eq:MHR_ave}
\end{align}
\end{linenomath*}
where $Q_{l,m}$ is the value of $Q$ at the $m^{\rm th}$ snapshot of the $l^{\rm th}$ replica in an MCMC simulation.
We calculate $\langle E_n(w) \rangle_b$ via Eq. (\ref{eq:MHR_ave}) and solve Eq. (\ref{eq:deri2}) numerically by the bisection method.
Then, $\hat{w}$ with the standard deviation of each parameter is also calculated via Eq. (\ref{eq:MHR_ave}).
The posterior density of arbitrary quantities can also be interpolated with respect to $b=b'$ in the same way (see Appendix C).

\begin{figure}[t]
\begin{tabular}{c}
\includegraphics[width=7cm]{67769Fig1.eps}
\end{tabular}
\caption{(Color online) Synthetic data. The horizontal and vertical axes respectively
represent the input $x$ and output $y$. The black dots show synthetic data $D=\{X_i, Y_i\}_{i=1}^n$. The red solid line and blue dotted ones respectively show the true curve $y=f(x; w_0)$ and the Gaussian peaks $y=\phi_k(x; {\mu_k}^*, {\rho_k}^*)$.}
\label{fig:data}
\end{figure}

\section{Demonstration}
\label{sec:demo}
We demonstrated how efficient our framework is through simulation in which the same synthetic data as used by Nagata et al. \cite{nagata2012bayesian} were used.
The synthetic data $D=\{X_i, Y_i\}_{i=1}^n$ shown in Fig. \ref{fig:data} were generated from the true probability density as
\begin{linenomath*}
\begin{align}
q(y \mid x, w_0,b_0) := \sqrt{\frac{b_0}{2\pi}} \exp \left \{ - \frac{b_0}{2} [y - f(x; w_0)]^2 \right \}, \label{eq:true}
\end{align}
\end{linenomath*}
where $b_0>0$ and $w_0 := \{{a_k}^*, {\mu_k}^*, {\rho_k}^* \}_{k=1}^{K_0}$ are respectively the true inverse noise variance and true parameter set, as in Tables \ref{tb:hyperparameters} and \ref{tb:parameters}.
The inputs $\{X_i\}_{i=1}^n$ were linearly spaced in the interval $[X_1, X_n]=[0, 3]$ with  spectral resolution $\Delta x = 0.01$, where the number of samples was $n=301$.
The sequence $\{b_l\}_{l=2}^L$ were logarithmically spaced in the interval $[nb_2, nb_L]=[10^{-4}, 10^8]$, where the number of replicas was $L=400$.
The model size $K$ was set as integers from $0$ to $5$.
The hyperparameters were $\kappa=1.7$, $\mu_0=1.5$, $\alpha=0.4$, and $\nu=0.01$ in the  heuristics. The total number of MCMC sweeps was 100,000 including 50,000 burn-in sweeps: an MCMC sample $\{w_{l,m}\}_{m=1}^{M_l}$ of size $M_l=50,000$ for every $b_l$ was obtained.
The estimators are listed in Tables \ref{tb:hyperparameters} and \ref{tb:parameters}, where $\rho_k$ was converted into an inverse square-root scale for comparison. Every true value of the parameter lies within two standard deviations.

\begin{table}[t]
\caption{Number of peaks and inverse noise variance.}
\begin{tabular}{ccc}
\hline
 & $K$ & $b$ \\
\hline
Estimated & $3$ & $1.029406\times10^2$ \\
True & $3$ & $1.00000\times10^2$ \\
\hline
\end{tabular}
\label{tb:hyperparameters}
\end{table}

\begin{table}[t]
\caption{Parameters of each Gaussian peak.}
\begin{tabular}{c|cccc}
\hline
\multicolumn{2}{c}{ } & $a_k$ & $\mu_k$ & ${\rho_k}^{-1/2}$ \\
\hline
Mode 1 & Estimated & $0.5794 \pm 0.0542$ & $1.2571 \pm 0.0395$ & $0.144132 \pm 0.025711$ \\
$(k=1)$ & True & $0.587$ & $1.210$ & $0.10223$ \\
\hline
Mode 2 & Estimated & $1.3514 \pm 0.1518$ & $1.4605 \pm 0.0043$ & $0.07606120 \pm 0.00604382$ \\
$(k=2)$ & True & $1.522$ & $1.455$ & $0.0825244$ \\
\hline
Mode 3 & Estimated & $1.1600 \pm0.0483$ & $1.7032 \pm 0.0044$ & $0.08175039 \pm 0.00407585$ \\
$(k=3)$ & True & $1.183$ & $1.703$ & $0.0779755$ \\
\hline
\end{tabular}
\label{tb:parameters}
\end{table}

First, we discuss how to estimate both the noise variance and the number of peaks.
(A) Bayes free energy and (B) the posterior mean of the mean square error are shown in Fig. \ref{fig:state_function}. The horizontal axes represent $b$ on a log scale. The colored solid lines show $F_n(K,b_l)$ calculated via Eq. (\ref{eq:bridge}) for each $K$ in (A) and $\langle E_n(w) \rangle_{b_l}$ calculated via Eq. (\ref{eq:thermal_ave}) for each $K$ on a log scale in (B). The three lines of $K \geq 3$ almost overlap in (A-1) and (B-1), whose enlarged views around the black circles are respectively shown in (A-2) and (B-2). The colored markers in (A-2) and (B-2) respectively indicate $F_n(K,b_l)$ as in (A-1) and $\langle E_n(w) \rangle_{b_l}$ as in (B-1).
The colored dotted lines in (A-2) and (B-2) respectively indicate the interpolated values calculated via Eqs. (\ref{eq:MHR}) and (\ref{eq:MHR_ave}).
The gray solid lines in (B) show the function $1/2b$. The vertical black dashed lines and vertical black dash-dotted ones respectively show the true value $b=b_0$ and the estimated value $b=\hat{b}$.
There is a minimum point of $F_n(K,b)$ depending on each value of $K$, i.e., the probability density $p(K,b \mid D)$ has a maximum at this point (see Appendix B).
In this case, Eq. (\ref{eq:deri2}) holds at the intersection of the purple dotted line and the gray solid line shown in (B-2).

\begin{figure}[t]
\begin{tabular}{ll}
(A-1) & (A-2) \\
\vspace{-8pt}
\\
\includegraphics[width=7cm]{67769Fig2A-1.eps}
&
\includegraphics[width=7cm]{67769Fig2A-2.eps}
\\
(B-1) & (B-2) \\
\vspace{-8pt}
\\
\includegraphics[width=7cm]{67769Fig2B-1.eps}
&
\includegraphics[width=7cm]{67769Fig2B-2.eps}
\end{tabular}
\caption{(Color online) (A) Bayes free energy and (B) posterior mean of mean square error. The horizontal axes represent $b$ on a log scale. The colored solid lines show $F_n(K,b_l)$ for each $K$ in (A) and $\langle E_n(w) \rangle_{b_l}$ for each $K$ on a log scale in (B). The three lines of $K \geq 3$ almost overlap in (A-1) and (B-1) whose enlarged views around black circles are respectively shown in (A-2) and (B-2). The colored markers in (A-2) and (B-2) respectively indicate $F_n(K,b_l)$ as in (A-1) and $\langle E_n(w) \rangle_{b_l}$ as in (B-1). The colored dotted lines in (A-2) and (B-2) indicate the interpolated values. The gray solid lines in (B) show the function $1/2b$. The vertical black dashed lines and vertical black dash-dotted ones respectively show the true value $b=b_0$ and the estimated value $b=\hat{b}$.}
\label{fig:state_function}
\end{figure}

Second, we discuss the validity of our framework. The dependence on $b$ in the model selection is shown in Fig. \ref{fig:single}. The horizontal axis represents $b$ on a log scale. The colored markers show the estimated model size $\hat{K}_b$ that minimizes $F_n(K, b_l)$ for each $b_l$ as
\begin{linenomath*}
\begin{align}
\hat{K}_b &:= \argmin_{K} F_n(K, b_l) \\
&= \argmin_{K} \tilde{F}_n(K, b_l).
\end{align}
\end{linenomath*}
Note that $\hat{K}_{b_0} = {\rm arg~min}_{K} \tilde{F}_n(K, b_0)$ is regarded as the optimal number of peaks in Nagata et al.'s framework \cite{nagata2012bayesian}.
The vertical black dashed line and the vertical black dash-dotted one respectively show the true value $b=b_0$ and the estimated value $b=\hat{b}$.
Although $\hat{K}_b$ for each value of $b$ depends on the noise realization, as Nagata et al. showed in the case of $b=b_0$ \cite{nagata2012bayesian}, $\hat{K}_b$ also changes depending on the value of $b$.
There is a rough trend, explained by the asymptotic form of $\tilde{F}_n(K, b)$, in which $\hat{K}_b$ becomes larger as $b$ increases.
If the sample size $n$ is sufficiently large, $\tilde{F}_n(K, b)$ is expressed as
\begin{linenomath*}
\begin{align}
\tilde{F}_n(K, b) &= nE_n(w_0) + \frac{\lambda}{b} \log nb + \frac{1}{b} O_p(\log \log nb), \label{eq:Helmholtz}
\end{align}
\end{linenomath*}
where $w_0$ is the parameter set that minimizes the Kullback--Leibler divergence of a statistical model from a true distribution, and $\lambda>0$ is a rational number called the real log canonical threshold (RLCT) \cite{watanabe2001algebraic, watanabe2009algebraic}.
The RLCT is determined by the pair of a statistical model and true distribution, and the ones determined by Eqs. (\ref{eq:stat_model}) and (\ref{eq:true}) are clarified for several cases of $(K, K_0)$ with $b=b_0$ \cite{tokuda2013numerical}.
The values $E_n(w_0)$ and $\lambda$ respectively become larger and smaller as $K$ increases.
The term $nE_n(w_0)$ dominantly works for model selection for large $b$: overfitting occurs.
The term $\lambda \log nb$ dominantly works for small $b$: overpenalizing occurs.
A moderate model is estimated under the moderate value of $b$.
Estimating the optimal value of $b$ is indispensable, and this result shows the validity of our framework.

\begin{figure}[t]
\begin{tabular}{c}
\includegraphics[width=7cm]{67769Fig3.eps}
\end{tabular}
\caption{(Color online) Dependence of model selection on $b$. The horizontal axis represents $b$ on a log scale. The estimated model size $\hat{K}_b$ that minimizes $F_n(K, b)$ for each $b$ is plotted as colored marker. The vertical black dashed line and the vertical black dash-dotted one respectively show the true value $b=b_0$ and the estimated value $b=\hat{b}$.}
\label{fig:single}
\end{figure}

\begin{figure}[t]
\begin{tabular}{llll}
\multicolumn{2}{l}{(A)} & \multicolumn{2}{l}{(B)} \\
\vspace{-8pt}
\\
\multicolumn{2}{l}{\includegraphics[height=5.5cm]{67769Fig4A.eps}}
&
\multicolumn{2}{l}{\includegraphics[height=5.5cm]{67769Fig4B.eps}}
\\
(a) $b=2.925210\times10^{-2}$ & (b) $b=1.758132\times10^0$ & (c) $b=\hat{b}$ & (d) $b=6.350977\times10^3$ \\
\vspace{-10pt}
\\
\includegraphics[height=2.75cm]{67769Fig4_a.eps}
&
\includegraphics[height=2.75cm]{67769Fig4_b.eps}
&
\includegraphics[height=2.75cm]{67769Fig4_c.eps}
&
\includegraphics[height=2.75cm]{67769Fig4_d.eps}
\end{tabular}
\caption{(Color online) (A) Posterior mean of $\mu_k$, (B) posterior standard deviation of $\mu_k$, and (a-d) marginal posterior distribution of $\mu_k$ when $K=K_0=3$. The horizontal axes in (A-B) represent $b$ on a log scale. The colored solid lines show $\langle \mu_k \rangle_{b_l}$ for each $k$ in (A) and $2 \sqrt{\langle {\mu_k}^2 \rangle_{b_l} - {\langle \mu_k \rangle_{b_l}}^2}$ for each $k$ on a log scale in (B). The vertical black dashed lines and the vertical black dash-dotted ones respectively show the true value $b=b_0$ and the estimated value $b=\hat{b}$. The horizontal black dotted lines in (A) show the true value ${\mu_k}^*$ for each $k$ and the horizontal gray dashed line in (B) shows $\Delta x$. The vertical black solid lines in (A-B) correspond to each value of $b$ in (a-d). The histograms (a-d) of $\mu_k$ show the marginal posterior distribution of $\mu_k$ for each $b$, where the coloring for each $\mu_k$ follows that in (A-B). The horizontal axes in (a-d) represent $\mu_k$, and the vertical ones represent relative frequency on a log scale. The vertical black dotted lines also show the true value ${\mu_k}^*$ for each $k$, as in (A).}
\label{fig:posterior}
\end{figure}

Finally, we discuss the validity of our framework from another viewpoint.
(A) The posterior mean of $\mu_k$, (B) the posterior standard deviation of $\mu_k$, and (a-d) the marginal posterior distribution of $\mu_k$ when $K=K_0=3$ are shown in Fig. \ref{fig:posterior}. The horizontal axes in (A-B) represent $b$ on a log scale. The colored solid lines show $\langle \mu_k \rangle_{b_l}$ for each $k$ in (A) and $2 \sqrt{\langle {\mu_k}^2 \rangle_{b_l} - {\langle \mu_k \rangle_{b_l}}^2}$ for each $k$ in log scale in (B). These values were calculated via Eq. (\ref{eq:thermal_ave}). The identification of mode $k$ was reassigned by sorting the MCMC sample $\{\mu_{k,l,m}\}_{k=1}^{3}$ into $\mu_{1,l,m}< \mu_{2,l,m}< \mu_{3,l,m}$ for each $l$ and $m$ in light of the exchange symmetry.
The vertical black dashed lines and the vertical black dash-dotted ones respectively show the true value $b=b_0$ and the estimated value $b=\hat{b}$. The horizontal black dotted lines in (A) show the true value $\mu_k^*$ for each $k$ and the horizontal gray dashed line in (B) shows the spectral resolution $\Delta x$. The vertical black solid lines in (A-B) correspond to each value of $b$ in (a-d). The relative frequency histograms (a-d) show the marginal posterior probability of $\mu_k$ for each bin $[X_i, X_{i+1}]$ and $b$ as follows:
\begin{linenomath*}
\begin{align}
P(X_i \leq \mu_k \leq X_{i+1} \mid D, K, b) &= \int_{X_i}^{X_{i+1}} d\mu_k p(\mu_k \mid D, K, b), \\
p(\mu_k \mid D, K, b) &= \int dw' p(w \mid D, K, b) \\
&= \frac{\tilde{z}_n(K,b,\mu_k) \varphi(\mu_k)}{\tilde{Z}_n(K,b)}, \\
\tilde{z}_n(K,b,\mu_k) &:= \int dw' \exp \left[ -nb E_n(w'; \mu_k) \right] \varphi(w' \mid K),
\end{align}
\end{linenomath*}
where $w' := w \backslash  \{ \mu_k \}$ and $\varphi(w' \mid K) := \varphi(w \mid K) / \varphi(\mu_k)$. $E_n(w'; \mu_k)$ indicates the function $E_n(w)$ given the value $\mu_k$.
The histograms (a), (b), and (d) were respectively constructed using the MCMC sample $\{\mu_{k,l,m}\}_{m=1}^{M_l}$ as $b=2.925210\times10^{-2}, 1.758132\times10^0, 6.350977\times10^3$ for each $k$.
Histogram (c) was calculated via Eq. (\ref{eq:reweighting}) for each $k$ (see Appendix C).
The coloring of the histogram for each $k$ follows that in (A-B).
The horizontal axes in (a-d) represent $\mu_k$, and the vertical ones represent relative frequency on a log scale.
The vertical black dotted lines in (a-d) show the true value $\mu_k^*$ for each $k$, as in (A).
$\langle \mu_k \rangle_{b_l}$ and $2 \sqrt{\langle {\mu_k}^2 \rangle_{b_l} - {\langle \mu_k \rangle_{b_l}}^2}$ respectively change depending on $b$, where the changes in the support of the posterior density correspond.
These changes are considerable around $b=10^1$, where $\langle \mu_k \rangle_{b}$ for each $k$ asymptotically approaches the true value ${\mu_{k}}^*$ from this region and $2 \sqrt{\langle {\mu_k}^2 \rangle_{b} - {\langle \mu_k \rangle_{b}}^2}$ for each $k$ monotonically decreases from the same region. The marginal posterior densities of $\mu_1$, $\mu_2$, and $\mu_3$ overlap and are unidentifiable if $b$ is smaller than around $10^1$. Otherwise, they are separated and identifiable.
$2 \sqrt{\langle {\mu_2}^2 \rangle_{b} - {\langle \mu_2 \rangle_{b}}^2}$ is smaller than $\Delta x$ as (c) $b=\hat{b}$: a kind of super-resolution.
This effect is based on the same principle as super-resolution microscopy techniques \cite{betzig1995proposed, betzig2006imaging}.
$2 \sqrt{\langle {\mu_k}^2 \rangle_{b} - {\langle \mu_k \rangle_{b}}^2}$ for each $k$ is also smaller than $\Delta x$ as (d) $b>\hat{b}$, whereas the support of $\mu_1$ does not cover the true value $\mu_1^*$: outside the confidence interval.
An appropriate setting of $b$ provides an appropriate precision of parameter estimation.
Estimating the optimal value of $b$ is indispensable even if the true model size $K_0$ is known; thus, this result also shows the validity of our framework.

\section{Discussion and Conclusion}
We constructed a framework that enables the dual estimation of the noise variance and the number of peaks and demonstrated the effectiveness of our framework through simulation.
We also warned that there are the risks of overfitting, overpenalizing, and misunderstanding the precision of parameter estimation without the estimation of the noise variance.
Our framework is an extension of Nagata et al.'s framework and is versatile and applicable to not only spectral deconvolution but also any other nonlinear regression with hierarchical statistical models.

Our framework is also considered as a learning scheme in radial basis function networks.
However, the goal of spectral deconvolution is not to predict any future data, which is the goal of most other learning tasks, but to identify the true model since spectral deconvolution is an inverse problem of physics.
This is the reason why we do not adopt the Bayes generalization error but adopt the Bayes free energy for hyperparameter optimization and model selection.
The Akaike information criterion (AIC) \cite{akaike1974new} and Bayesian information criterion (BIC) \cite{schwarz1978estimating}, which are respectively approximations of the generalization error and Bayes free energy, do not hold for hierarchical models such as radial basis function networks: the widely applicable information criterion (WAIC) \cite{watanabe2010equations} and widely applicable Bayesian information criterion (WBIC) \cite{watanabe2013widely} generally hold for any statistical model.
If the noise variance is unknown, these criteria do not lead to computational reduction since the value of the noise variance needs to be estimated, as discussed in Sect. \ref{sec:demo}.
The example we gave is classified as an unrealizable and singular (or regular) case \cite{watanabe2010asymptotic}, which is a difficult problem.
On the other hand, the example Nagata et al. gave \cite{nagata2012bayesian} is classified as a realizable and singular (or regular) case, which is a relatively easy problem.
Statistical hypothesis testing does not hold for a singular case.
Our scheme is also valid and sophisticated from the viewpoint of statistics.

\begin{acknowledgment}
This work was partially supported by a Grant-in-Aid for Scientific Research on Innovative Areas (No. 25120009) from the Japan Society for the Promotion of Science, by ``Materials Research by Information Integration'' Initiative (MI2I) project of the Support Program for Starting Up Innovation Hub from the Japan Science and Technology Agency (JST), and by Council for Science, Technology and Innovation (CSTI), Cross-ministerial Strategic Innovation Promotion Program (SIP), ``Structural Materials for Innovation'' (Funding agency: JST).
\end{acknowledgment}

\section*{Appendix A: Bayes free energy for no-peaks model}
\renewcommand{\theequation}{A.\arabic{equation}}
\setcounter{equation}{0}

We define the function $f(x; w=\phi) = 0$ as $K=0$, where $\phi$ is the empty set.
The statistical model of the no-peaks spectrum and marginal likelihood are expressed as
\begin{linenomath*}
\begin{align}
p(y \mid x, w=\phi, b) &= \sqrt{\frac{b}{2\pi}} \exp \left( - \frac{b}{2} y^2 \right), \\
Z_n(K=0,b) &= \prod_{i=1}^n p(Y_i \mid X_i, w=\phi,b) \\
&= \left( \frac{b}{2\pi} \right)^\frac{n}{2} \tilde{Z}_n(K=0,b), \\
\tilde{Z}_n(K=0,b) &= \exp[-nbE_n(w=\phi)], \\
E_n(w=\phi) &= \frac{1}{2n} \sum_{i=1}^n {Y_i}^2.
\end{align}
\end{linenomath*}
The main term of Bayes free energy and the posterior mean of the mean square error are also respectively expressed as
\begin{linenomath*}
\begin{align}
\tilde{F}_n(K=0,b) &= nE_n(w=\phi), \\
\langle E_n(w=\phi) \rangle_b &= E_n(w=\phi),
\end{align}
\end{linenomath*}
where they can be calculated without any MCMC method.

\section*{Appendix B: Hierarchical Bayes approach}
\renewcommand{\theequation}{B.\arabic{equation}}
\setcounter{equation}{0}
\renewcommand{\thefigure}{B.\arabic{figure}}
\setcounter{figure}{0}

\begin{figure}[t]
\begin{tabular}{lll}
(A) & (B) & (C)\\
\vspace{-8pt}
\\
\includegraphics[width=4.75cm]{67769FigB1A.eps}
&
\includegraphics[width=4.75cm]{67769FigB1B.eps}
&
\includegraphics[width=4.75cm]{67769FigB1C.eps}
\end{tabular}
\caption{(Color online) (A) Joint probability of $(K, b)$ and marginal probability of $b$, (B) marginal probability of $K$, and (C) marginal probability density of $b$. The horizontal axes represent $b$ on a log scale. The colored stairstep graphs and  the black one in (A) respectively show the joint probability $P(K, b_l \leq b \leq b_{l+1} \mid D)$ for each $K$ and the marginal probability $P(b_l \leq b \leq b_{l+1} \mid D)$. The three colored graphs of $K < 3$ almost overlap in contrast to Fig. \ref{fig:state_function}(A-1). The black bars in (B) show the marginal probability $P(K \mid D)$.
The black markers and black dotted line in (C) respectively show the marginal probability density $p(b_l \mid D)$ and the interpolated values. The vertical black dashed lines and the vertical black dash-dotted ones respectively show the true value $b=b_0$ and the estimated value $b=\hat{b}$, as in Fig. \ref{fig:state_function}. }
\label{fig:prob}
\end{figure}

In Sect. \ref{sec:demo}, we adopted the empirical Bayes (or type II maximum likelihood) approach, in which $K$ and $b$ are estimated by the minimization of $F_n(K,b)$ (or the maximization of $Z_n(K,b)$).
The hierarchical Bayes approach, which takes into account the posterior density of $K$ and $b$, is also suitable for our framework.
The prior density of $K$ and $b$ is set as $\varphi(K,b)=\varphi(K)\varphi(b)$, where $\varphi(K)$ is a discrete uniform distribution on the natural numbers $\{0, 1, 2, 3, 4, 5\}$ and $\varphi(b)$ is a continuous uniform distribution on the interval $[b_1, b_L]$.
The joint posterior probability and marginal ones are expressed as
\begin{linenomath*}
\begin{align}
P(K, b_l \leq b \leq b_{l+1} \mid D) &= \int_{b_l}^{b_{l+1}} db p(K,b \mid D), \\
p(K, b_l \mid D) &= \frac{\exp[-F_n(K,b_l)]}{\sum_{K=0}^{5} \int_{b_1}^{b_{L}} db \exp[-F_n(K,b)]}, \\
P(K \mid D) &= \sum_{l=1}^{L-1} P(K, b_l \leq b \leq b_{l+1} \mid D), \\
P(b_l \leq b \leq b_{l+1} \mid D) &= \int_{b_l}^{b_{l+1}} db p(b \mid D), \\
p(b_l \mid D) &= \sum_{K=0}^{5} p(K,b_l \mid D),
\end{align}
\end{linenomath*}
where the integration along the $b$-axis is calculated using the trapezoidal rule.
Note that $\exp[-F_n(K,b_1)]=Z_n(K,b_1)=0$.
The (A) joint probability of $(K,b)$ and the marginal probability of $b$, (B) the marginal probability of $K$, and (C) the marginal probability density of $b$ are shown in Fig. \ref{fig:prob}. The horizontal axes represent $b$ on a log scale. The colored stairstep graphs and the black one in (A) respectively show the joint probability $P(K, b_l \leq b \leq b_{l+1} \mid D)$ for each $K$ and the marginal probability $P(b_l \leq b \leq b_{l+1} \mid D)$.
The three colored graphs of $K < 3$ almost overlap in contrast to Fig. \ref{fig:state_function}(A-1).
The black bar in (B) shows the marginal probability $P(K \mid D)$.
The black markers and black dotted line in (C) respectively show the marginal probability density $p(b_l \mid D)$ and the interpolated values. The vertical black dashed lines and vertical black dash-dotted ones respectively show the true value $b=b_0$ and the estimated value $b=\hat{b}$, as in Fig. \ref{fig:state_function}.
Both $b_0$ and $\hat{b}$ are within the same interval of $b$, which maximize the probabilities $P(K, b_l \leq b \leq b_{l+1} \mid D)$ and $P(b_l \leq b \leq b_{l+1} \mid D)$ in this case.
Although the value of $K$ that maximizes $P(K \mid D)$ is the same as $\hat{K}$ in this case, the value of $b$ that maximizes $p(b \mid D)$ is slightly different from $\hat{b}$ in the strict sense.
These values are not always consistent in practice, and there is a continuous discussion:  which is better, to optimize or to integrate out? \cite{mackay1996hyperparameters}
The users of our framework can choose a better way in light of their perspective.

\section*{Appendix C: Interpolation of posterior distribution}
\renewcommand{\theequation}{C.\arabic{equation}}
\setcounter{equation}{0}

The density of states in the $i^{\rm th}$ bin, which is the function $g(E;K)$ given the value of $\mu_k$ in the interval $[X_i, X_{i+1}]$, is defined and estimated as
\begin{linenomath*}
\begin{align}
g(E; K, X_i \leq \mu_k \leq X_{i+1}) &:= \int dw' \delta [E-E_n(w'; X_i \leq \mu_k \leq X_{i+1})] \varphi (w' \mid K) \\
&= \frac{\sum_{l=1}^L N_{l}(E; X_i \leq \mu_k \leq X_{i+1})}{\sum_{l'=1}^L M_{l'}^{(i)} \tilde{Z}_n(K,b_{l'})^{-1} \exp(-n b_{l'} E)},
\end{align}
\end{linenomath*}
then we obtain
\begin{linenomath*}
\begin{align}
\tilde{z}_n(K,b, X_i \leq \mu_k \leq X_{i+1}) &= \int dE g(E; K, X_i \leq \mu_k \leq X_{i+1}) \exp (-nbE) \\
&= \sum_{l=1}^L \sum_{m=1}^{M_{l}^{(i)}} \frac{1}{\sum_{l'=1}^L M_{l'}^{(i)} \tilde{z}_n(K,b_{l'}, X_i \leq \mu_k \leq X_{i+1})^{-1} \exp \left[ n (b-b_{l'}) E_{l, m}^{(i)} \right]}, \label{eq:small_marginal}
\end{align}
\end{linenomath*}
where $E_n(w'; X_i \leq \mu_k \leq X_{i+1})$, $N_{l}(E; X_i \leq \mu_k \leq X_{i+1})$, and $E_{l, m}^{(i)}$ respectively indicate $E_n(w)$, $N_l(E)$, and $E_{l,m}$ in the $i^{\rm th}$ bin.
$M_{l}^{(i)}$ is defined as $M_{l}^{(i)} :=\int dE N_l(E; X_i \leq \mu_k \leq X_{i+1})$, where $M_{l} = \sum_{i=1}^{n-1} M_{l}^{(i)}$. The values of $\{\tilde{z}_n(K,b_l, X_i \leq \mu_k \leq X_{i+1})\}_{l=1}^L$ for each $i$ are determined self-consistently by iterating Eq. (\ref{eq:small_marginal}) with $b=b_l$.
Given $\{\tilde{z}_n(K,b_l, X_i \leq \mu_k \leq X_{i+1})\}_{l=1}^L$ for each $i$, we calculate $\tilde{z}_n(K,b, X_i \leq \mu_k \leq X_{i+1})$ for each $i$ with $b=b'$ via Eq. (\ref{eq:small_marginal}) again. If $\Delta x$ is sufficiently small (or $\varphi(\mu_k)$ is almost flat), $P(X_i \leq \mu_k \leq X_{i+1} \mid D, K, b)$ is expressed as
\begin{linenomath*}
\begin{align}
P(X_i \leq \mu_k \leq X_{i+1} \mid D, K, b)
&= \frac{\tilde{z}_n(K,b, X_i \leq \mu_k \leq X_{i+1}) \varphi(\mu_k=X_i)}{\sum_{i=1}^{n} \tilde{z}_n(K,b, X_i \leq \mu_k \leq X_{i+1}) \varphi(\mu_k=X_i)}. \label{eq:reweighting}
\end{align}
\end{linenomath*}

\bibliographystyle{jpsj}

redpajama_set_name: RedPajamaArXiv


Paul Abelkis does not have a portfolio.
Paul Abelkis has not posted any announcements.
Paul Abelkis replied to Crash upon Output to QT--MC 3.5 in Avid Media Composer - Mac.
Paul Abelkis posted Crash upon Output to QT--MC 3.5 to Avid Media Composer - Mac.
Paul Abelkis joined Avid Community.


text:
Echo Show 5
Smarten up your home with this Echo Show + Echo Show 5 + Hue bulb bundle for just $180 ($155 off)
One device at a discount, two for free
7:48am PDT Sep 3, 2020
If you're thinking of getting a smart speaker or display, you're in luck, as this deal lets you snatch two smart displays and a bulb at a significant discount, letting you effectively save about $155.
Get an Echo Show for $10 when you buy one of these discounted Blink XT2 cameras
Blink once and you'll miss this sweet deal
Kerry Wan 2020/06/17
10:06am PDT Jun 17, 2020
Amazon introduced its Blink XT2 smart security camera system last summer, and while it didn't quite compare to the likes of Nest and Arlo, it stood out for its affordability. It was already a good value for someone looking to do wireless security, and now it's even better with the bonus of a basically free screen. For a limited time only, you can buy an Echo Show 5 for only $10 when you pick up a set of Blink XT2 cameras.
Amazon announces gargantuan list of Black Friday deals (Update x2: More items)
Zach Laidlaw 2019/11/22
12:54pm PST Nov 22, 2019
With Halloween in the rearview mirror and November speeding like a freight train toward Thanksgiving, the official holiday shopping season will be here before you know it. To help you get a jumpstart on your wishlist, we have a sneak peek at some of the Amazon device deals leading into Black Friday.
Grab a Ring Peephole Cam and Echo Show 5 in this renter-friendly bundle for only $180
Cody English 2019/11/08
2:15pm PST Nov 8, 2019
Internet-connected doorbell cameras are one of the most popular categories of smart home devices but, the wiring work required to install many of these products has made them unavailable to those who rent, rather than own. One of the few renter-friendly doorbell cameras on the market, Ring's Peephole Cam, is currently available on Amazon as part of a bundle that includes a rechargeable battery pack and an Echo Show 5 for $180.
Wine, the Windows compatibility layer for Android, hits v6.0
Here's how Google might simplify Wi-Fi password sharing in Android 12
Google Play Points rolling out in 13 more countries, mostly in Europe
Amazon Echo Show 5 drops to an all-time low of $60 ($30 off)
4:20pm PDT Nov 2, 2019
When Amazon introduced the Echo Show 5, a 5-inch variant of the Echo Show back in May, it was well suited to win over users looking for a smaller or more affordable smart display. Its initial price of $90 was more affordable than other products in this space, and we've seen it drop as low as $65 in the past few months. But now, the Echo Show 5 is available from Amazon for a new low of only $60, which is a savings of 33%.
Grab a Ring Video Doorbell 2 for $200, get a free Echo Show 5 ($90 off)
Wi-Fi video doorbells are much more convenient than traditional ones in the sense that they let you keep an eye on your front door wherever you are. However, it can be painful to look for your phone or tablet when someone rings the bell, which is why they're a lot more practical when used in combination with a smart display. Buying both can quickly break the bank, though, but thanks to this deal, you can get a free Echo Show 5 with the purchase of a Ring Video Doorbell 2, which saves you about $90 on the device's retail price.
The Amazon Echo Show 5 is down to $65 ($25 off)
12:22pm PDT Aug 18, 2019
At the end of May, Amazon introduced a new 5-inch smart display with hopes to satisfy buyers looking for a smaller device than the Show but bigger than the Spot, and also to compete with Lenovo's Smart Clock. The initial $90 price was also reasonably positioned in comparison to other smart devices, but just two months after its release, the Echo Show 5 is currently on sale for $65, which is almost 30% off.
The Echo Dot and smart plug bundle is down to just $27 at Best Buy; Echo, Echo Spot, and Echo Show 5 also available
10:17am PDT Aug 3, 2019
Echo Spot
A smart speaker in itself is convenient, but it becomes so much more useful when used in combination with intelligent plugs or lights. Their price can sometimes be discouraging, but thanks to this deal, you'll be able to set up your smart home infrastructure without breaking the bank. Best Buy is throwing in a TP-link smart plug for just $5 for the purchase of an Echo device, most of which are already discounted. An Echo Dot + TP-link smart plug combo comes down to just $27, while a regular Echo and smart socket bundle will cost you $55.
Pre-order an Amazon Echo Show 5 two-pack for $150 ($30 off)
More and more smart displays are coming onto the market, and Amazon's Echo Show 5 is one of the smaller offerings. As the name suggests (sort of), it has a rather minute 5.5" display, meaning it'll go head to head with Lenovo's similarly tiny Smart Clock. Amazon is currently offering a $30 pre-order discount for those who purchase two, bringing the price down to $149.98 for both.
Amazon launches Lenovo Smart Clock competitor, the Echo Show 5, with a bigger screen and a built-in camera
If eight or ten-inch smart displays are too big for you and the Echo Spot is a little too small, you weren't left with much choice until very recently. Thankfully, Lenovo unveiled its 4" smart clock back in January, but Amazon just launched a new rival that might be more seducing.
OnePlus and Oppo reveal shocking secret partnership that is neither shocking nor secret
58 queries | 0.519s | hive | ap Original page cache stats:
58 queries | 0.519s | hive | ap
58 queries | 0.539s | hive | Android is a trademark of Google Inc. | © Illogical Robot LLC, 2009-2021

redpajama_set_name: RedPajamaCommonCrawl


text:
Rename children of ancestor methods
--SKIPIF--
<?php if(!extension_loaded("runkit")) print "skip"; ?>
--FILE--
<?php
function getClassMethods($class)
{
    $methods = array();
    $class = new ReflectionClass($class);
    foreach ($class->getMethods() as $method) {
        array_push($methods, $method->getName());
    }
    return $methods;
}

class Ancestor
{
    public function __construct(){}
}

class Descendant extends Ancestor
{
    public function someMethod(){}
}

class AnotherDescendant extends Ancestor
{
    public function anotherMethod(){}
}

runkit_method_rename('Ancestor', '__construct', 'abcdefghmnoprst');
print_r(getClassMethods('Descendant'));
print_r(getClassMethods('AnotherDescendant'));
--EXPECT--
Array
(
    [0] => someMethod
    [1] => abcdefghmnoprst
)
Array
(
    [0] => anotherMethod
    [1] => abcdefghmnoprst
)

redpajama_set_name: RedPajamaGithub


text:
Q: GWT Request Factory. Where to put Proxies? I have multimodule maven project. Root Module: parent contain: server, shared, client submodules.
I wonder where in that structure should I put Proxy classes? Now I have them in client module, but I would like to put them into shared module.
Please give me your thought about that. Is this make any sens. I am asking, cause I saw diferent versions.
Here is my proxy class:
package pl.derp.web.proxy;

import java.util.List;

import pl.derp.server.entity.User;

import com.google.web.bindery.requestfactory.shared.ProxyFor;
import com.google.web.bindery.requestfactory.shared.ValueProxy;

@ProxyFor(value = User.class)
public interface UserProxy extends EntityProxy {
  public String getName();
  public void setName( String name );

}

A: The Proxy interfaces need to be available to the client (browser) and server. So they need to be somewhere that both can see the source and classes.
Although your server side source will not reference them directly it is used by the server side part of the build and runtime.
The client source code uses them heavily for your domain code and in the generated plumbing.
We have a web client module that is split in to server/shared/client packages. Having a different module should be OK but I think your shared module will need to export the source.

redpajama_set_name: RedPajamaStackExchange


Celebrate 150 years of Coldhabour Mill's unique beam engine with the August Bank Holiday Steam Up.
Coldharbour Mill Museum will be firing the boilers for a treat when it celebrates one of its oldest steam engines and the only one preserved in the world. Set just five minutes from the M5 on the banks of the River Culm at Uffculme Coldharbour Mill is one of the oldest working woolen mills having been in continuous production since 1787 – and a must for both steam and heritage enthusiasts. Today, the Mill continues to manufacture high quality yarn and cloth using traditional methods and power sources – including steam.
Starting at 10.30am a wide number of engines will be in steam – including the only preserved Kittoe and Brotherhood beam engine in existence – and 150 years old this year. Built in 1867 the four column engine was originally used by the Albion Brewery in Whitechapel Road, Bethnal Green before falling into disrepair.
Rescued by the Science Museum it has now been lovingly restored by Coldharbour Mill's steam team and is now a fully working exhibit – housed in the original beam engine house on site.
Visitors can also enjoy a fully hands-on opportunity to see how wool is made into the Mills own yarn and textiles. It also provides visitors with the unique opportunity to see and experience firsthand how the Victorians revolutionised textile manufacturing by harnessing steam to turn this once cottage industry into a thriving textile mill supplying yarn and cloth throughout the world.
Light refreshments will be available throughout the day at the mills café and the shop will also be open selling a wide range of the Mill's own cloth and knitting yarns – including the new Wild Devon Collection launched earlier this year. For younger visitors there is a children's trail throughout the mill.


I love hearing about your great adventure. Please keep up the wonderful detail and commentary with the photos. Safe travels to you both!
Thanks Aunt Sharon! We appreciate the support. I hope everything is going well on the home front and am sad I wasn't able to see you all. Take care!


Please note you can also meet Fr Prem normally an hour before or after services.
Thursday 9.30 am School mass . 10.30 am- 3.00 pm at the Uni. Chaplaincy with mass and availability for students and staff . News letter is prepared in the evening.


Hard Days Night Hotel, Liverpool, is situated in the heart of the city centre and offers guests an experience like no other. All 110 rooms are individually designed around the contours of the original building, and elegantly furnished with specially commissioned Beatles-inspired artwork. Each one also has all the mod cons you would expect, including Wi-Fi and luxurious toiletries, and is guaranteed to leave a lasting memory.
Central Buildings North John Street Liverpool, United Kingdom L2 6RR L2 6RR United Kingdom.


Volunteers of the "Protocol" will assist the officials. Volunteers will accompony the heads of delegations and will be involved in the important events.
The volunteers will be in the thick of events and will be able to see athletes and honored guests and officials.


Newton Medical Center offers comprehensive orthopaedic and sports medicine services for adults and children.
Replacing a joint can relieve pain and help patients move and feel better. Joint replacement surgery replaces a damaged joint, such as the shoulder, hip or knee, with a new one. Sometimes, the surgeon will not remove the whole joint, but instead replaces or fixes the damaged parts of the joint.
Patients at Newton Medical Center undergoing joint replacement are also scheduled to attend a pre-op class prior to their surgery. During this class, they will learn about the procedure as well as the recovery process.
If you are considering a joint replacement, talk to your primary care provider, who may then refer you to an orthopaedic specialist.
Newton Medical Center (NMC) is the second hospital in the state to offer Stryker's Mako Robotic-Arm Assisted technology for joint replacement procedures. This latest advancement in joint replacement surgery is transforming the way joint replacement procedures are performed.
NMC board-certified orthopaedic surgeon J. Scott Pigg, M.D. is specially trained in robotic-arm assisted surgery.
Free athletic injury evaluations Monday and Wednesday, 8 to 9 a.m. No appointment necessary. Please call ahead to confirm availability.
Evaluation by one of our ATCs, which can expedite scheduling if the injury requires an appointment at our clinic.


text:
Q: WPF mvvm messenger destructor I have MainWindow thath holds <ContentControl ... Content="{Binding CurrentViewModel}" in MainViewModel I am switching between two View FirstView,SecondView. FirstView contains usercontrol ContentFirstView that implementing async data sending to ContentSecondViewModel. Data send's with time delay 1000ms. The main question is why when i am clicking on 1,2,1,2,1,2 buttons the speed of updating label Count in ContentSecondView greatly increasing? I think that ContentSecondViewModel do not disposing and every time when i am clicking on button 2, it creates new object of Messenger.Register ...
MainModel.xaml:
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <ContentControl Grid.Column="1" Content="{Binding CurrentViewModel}" HorizontalAlignment="Stretch"  VerticalAlignment="Stretch"/>
    <Button Content="1" Command="{Binding FirstCommand}" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="75"/>
    <Button Content="2" Command="{Binding SecondCommand}" HorizontalAlignment="Left" Margin="10,78,0,0" VerticalAlignment="Top" Width="75"/>
</Grid>

MainViewModel.cs:
public class MainViewModel : ViewModelBase
{
    ///
    /// Initializes a new instance of the MainViewModel class.
    ///
    ///

    public RelayCommand FirstCommand
    {
        get
        {
            return new RelayCommand(() => SwitchFirst());
        }
    }

    public RelayCommand SecondCommand
    {
        get
        {
            return new RelayCommand(()=>SwitchSecond());
        }
    }

    public static readonly FirstViewModel firstViewModel = new FirstViewModel();
    public static readonly SecondViewModel secondViewModel = new SecondViewModel();

    ViewModelBase currentViewModel;
    public ViewModelBase CurrentViewModel
    {
        get
        {
            return currentViewModel;
        }
        set
        {
            if (currentViewModel == value)
                return;
            currentViewModel = value;
            RaisePropertyChanged("CurrentViewModel");
        }
    }
    public void SwitchFirst()
    {
        CurrentViewModel = MainViewModel.firstViewModel;
    }
    public void SwitchSecond()
    {
        CurrentViewModel = MainViewModel.secondViewModel;
    }
    public MainViewModel()
    {
        CurrentViewModel = MainViewModel.secondViewModel;
        ////if (IsInDesignMode)
        ////{
        ////    // Code runs in Blend --> create design time data.
        ////}
        ////else
        ////{
        ////    // Code runs "for real"
        ////}
    }
}

SecondView.xaml:
  <Grid>
    <views:ContentSecondView></views:ContentSecondView>
</Grid>

FirstView.xaml:
    <Grid>
    <views:ContentFirstView></views:ContentFirstView>
</Grid>

ContentFirstView.xaml:
<Grid>
    View That sending data
</Grid>

ContentSecondView.xaml:
    <Grid>
    View That sending data
</Grid>

ContentFirstViewModel.cs:
public class ContentFirstViewModel
{
    public RelayCommand SendMessage
    {
        get
        {
            return new RelayCommand(() => Send());
        }
    }
    public void Send()
    {
        Messenger.Default.Send<MessageCommuniactor>(new MessageCommuniactor {State=1 });
    }
      public void Increase()
    {
        while(true)
        {
            System.Threading.Thread.Sleep(1000);
            Messenger.Default.Send<MessageCommuniactor>(new MessageCommuniactor { State = 1 });
        }

    }
      public ContentFirstViewModel()
    {
        Action A = new Action(Increase);
        IAsyncResult result = A.BeginInvoke(null, null);
    }
}

ContentSecondViewModel.cs:
public class ContentSecondViewModel:ViewModelBase
{
    private int count;

    public int Count
    {
        get
        {
            return this.count;
        }

        set
        {
            this.count = value;
            this.RaisePropertyChanged("Count");
        }
    }

    public ContentSecondViewModel()
    {
        Messenger.Default.Register<MessageCommuniactor>(this, (key) =>
        {
            Count += key.State;
        });
    }
}

A: Your DataTemplate ensures that a new view is created every time a ContentFirstViewModel is present. Instead, go with a singleton approach where a singleton view is injected when needed. You can use Prism's regionmanager or simple binding for that.


Showing results for "muslimah dress pink"
ALL SOLD OUT! CLEARANCE SALES $10 per top!!!! One for $20, 2 for $30 (U.P. $40!). Add $1 each for size 4XL and above Comes in a range of sizes: XL, 2XL, 3XL, 4XL, 5XL Comes in 5 colours: Pink, Yellow, Navy, Black, Red Instock: 1 XL Yellow 1 XL Black Pretty floral/tropical top for plus sizes!


text:
Sinister Rouge is een nummer van de Amerikaanse band Bad Religion. Het is het tweede nummer van het dertiende album van de band: Bad Religion. Het is net als de meeste liedjes van de band geschreven door vocalist Greg Graffin. De duur van het nummer zit net onder de twee minuten.

Albums
Naast het oorspronkelijke album The Empire Strikes First is het nummer ook te beluisteren op de dvd Live at the Palladium als eerste nummer.

Samenstelling
 Greg Graffin - Zanger
 Brett Gurewitz - Gitaar
 Brian Baker - Gitaar
 Greg Hetson - Gitaar
 Jay Bentley - Basgitaar
 Brooks Wackerman - Drums

Nummer van Bad Religion

redpajama_set_name: RedPajamaWikipedia


Bottle Store founders Jess and David discussing "sourcing" issues.
Grass Valley, CA — Entrepreneurship is alive and well in the former California Gold Rush town of Grass Valley. Earlier this week, two local businessmen announced plans to open what they believe is the county's first bottled water only store. The store will feature waters sucked from various aquifers around the globe and according to partner Jess Battenly, they plan on competing directly with the wine tasting storefronts that have literally taken over the small downtown community.
According to the business plan, that David and Jess shared with Gish Gallop, the two have been working with distributors from all over the world to secure deliveries of rare and something the industry calls "difficult to tap" bottles waters. The pair hopes to stock as many as 140 different varieties with over 100 of them being imported from outside the United States.
According to environmental experts and activists, selling something that should be a human right such as water is not only grossly immoral, it is profoundly stupid on a number of levels.
Here is some water being stolen from the people of Fiji.
As for Mr. Battenly, he's trying to be as eco-groovy as possible.
The store is hoping to open in time for the Christmas shopping season on Mill Street.
Chip Day lives on the grid, makes a reasonable income, pays both his income and property taxes and perhaps most incredibly raising kids that he sends to non-charter public schools! All that and he doesn't have a single visible tattoo, creative piercing, or membership in any of the many cranky political movements popular in Penn Valley.
Mike Murphy Confirmed as the Second Coming of Jesus Christ?


text:
var fs            = require('fs');
var _             = require('lodash');
var config        = require('./config.json');
var mkdirp        = require('mkdirp');
var beautify_html = require('js-beautify').html;

/**
  * expand.js
  *
  * The expand module can be used to expand a statwolf bundle into a proper
  * filesystem representation. In the passed options object, a bundle location
  * is required to exist, along with a base directory where the expansion will
  * take place.
  *
  * @param {object} options is the container for the bundle location and the
  *                 expansion folder
  * @returns {array} an array of strings containing the paths of all expanded
  *                  components
  **/
module.exports = function(options) {

  if (!options.bundle) {
    throw { name: 'ParamsError' }
  }

  if (_.isString(options.bundle)) {
    options.bundle = JSON.parse(fs.readFileSync(options.bundle));
  }

  var pathArray = [];

  options.bundle.Items.forEach(function(element) {
    var componentName = element.Name;
    var path = element.Workspace.replace(/\./g, '/') + '/' + componentName;
    var type = element.ComponentType;

    var baseUri = path + '/' + componentName;

    var extension;
    var core;
    var deps;
    var html;
    var bind;

    var meta = {
      ComponentType: element.ComponentType,
      Version: element.Version,
      Name: componentName
    };

    if (config[type]) {
      var serialized = JSON.parse(element.Serialized);
      var coreFetcher = config[type].coreFetcher;

      if (type === 'DashboardModel') {
        serialized.ServicePointer = serialized.ServicePointer.Workspace + '.' + serialized.ServicePointer.Name;
      }

      if (config[type].extension) {
        extension = config[type].extension;
      } else {
        var ext = serialized.Language;
        meta.ScriptLanguage = ext;
        extension = (config.base.languageExtension[ext]);
      }

      meta = JSON.stringify(meta, null, 2);

      core = coreFetcher
        ? serialized[coreFetcher]
        : JSON.stringify(serialized, null, 2);

      deps = config[type].hasDependencies
        ? serialized.Dependencies
        : null;

      if (config[type].hasBindings) {
        bind = JSON.stringify({
          Model: serialized.Model.Workspace + '.' + serialized.Model.Name,
          View: serialized.View.Workspace + '.' + serialized.View.Name,
          Controller: serialized.Controller.Workspace + '.' + serialized.Controller.Name
        }, null, 2);
      }

      var depsToWrite = {};
      _.forIn(deps, function(value, key) {
        depsToWrite[key] = value.Workspace
          ? value.Workspace + '.' + value.Name
          : value.Name;
      });

      html = config[type].hasTemplate
        ? beautify_html(serialized.Template)
        : null;

      depsToWrite = JSON.stringify(depsToWrite, null, 2);

      mkdirp(options.dir + path, function(error) {
        if (error) {
          console.log('Unable to create directory ' + path);
          throw error;
        }

        fs.writeFileSync(options.dir + baseUri + extension, core);
        fs.writeFileSync(options.dir + baseUri + config.base.metaExtension, meta);

        if (deps) {
          fs.writeFileSync(options.dir + baseUri + config.base.depsExtension, depsToWrite);
        }

        if (html) {
          fs.writeFileSync(options.dir + baseUri + config.base.templateExtension, html);
        }

        if (bind) {
          fs.writeFileSync(options.dir + baseUri + config.base.bindExtension, bind);
        }

      });
    }

    pathArray.push(baseUri + extension);

  });

  return pathArray;
};


text:
G (cont.)
Ginn & Company
In 1867, Edwin Ginn founded the publishing company Ginn Brothers in the City of Boston. After a series of brief partnerships and name changes, the firm was finally established under the name Ginn & Company in 1885. By the 1890s, the publisher – which had become particularly known for its school texts – outgrew its Boston location and sought to expand elsewhere. In 1895, the company built a new publishing factory, the Athenaeum Press, in Cambridge. By the late nineteenth century, the Press had an output of ten thousand books per day and was responsible for publishing over 800 titles.
Lambert, W. H. [ed]. Life and Adventures of Robinson Crusoe. Edited for Use in Schools. Boston, Ginn & Company, 1883
Lambert, W. H. [ed]. Life and Adventures of Robinson Crusoe. Edited for Use in Schools. Boston, Ginn & Company, 1893 [e15bin]
Lambert, W. H. [ed]. Life and Adventures of Robinson Crusoe. Edited for Use in Schools. Boston, Ginn & Company, 1893 [F7]
Lambert, W. H. [ed]. Life and Adventures of Robinson Crusoe. Edited for Use in Schools. Boston, Ginn & Company, nd
Lambert, W. H. [ed]. The Life and Strange SurprisingAdventures of Robinson Crusoe. Edited for Use in Schools. Boston, Ginn & Company, 1916
[]. The Life and Strange Adventures of Robinson Crusoe. Edited with an introduction and notes by W. P. Trent, 1916


Bennington parent company Polaris had its "buy" rating downgraded today by B. Riley due to concerns about tariffs.
U.S. stocks were expected to start lower today — after the worst four opening December days in a decade — as tariff concerns flared on Wall Street.
Since 1950, the S&P 500 in December has risen three-fourths of the time, more often than any other month, according to The Wall Street Journal. The S&P 500 fell 4.6 percent for the week, its worst performance since March, which pushed it into the red for the year.
Trade uncertainty, coupled with worries about slowing global growth and geopolitical tensions, have curbed risk appetite among investors in recent months, according to the WSJ.
Those fears have spilled over to public companies that have stakes in the marine industry.
Financial firm B. Riley downgraded the stock rating of Polaris Industries today following a 30 percent slide in shares in the preceding three months.
B. Riley upgraded the company on Oct. 23, months after Polaris purchased four boat brands: Bennington, Godfrey, Hurricane and Rinker.
Since then, Polaris has seen a 30 percent decline in shares versus 1 percent overall for the S&P 500, and a tariff situation that B. Riley deemed more accurately priced into the shares at the time.
Wold also noted that one of Polaris's competitors recreational vehicles outside the United States and therefore isn't subject to the same commodity and tariff pressures.
Marine Products Corp., builder of Chaparral and Robalo, was downgraded from buy to sell, and its price target reduced from $19 to $16.
"We have entered an environment where investors may be unwilling to apply above-average multiples until there is stronger visibility into both economic trends heading into next year as well as underlying boat buying demand throughout the boat show season, with the key shows not held until late January and mid-February," wrote Wold.
Though still positive on underlying boat-buying demand overall, the decision to buy a boat can change quickly and not all brands will likely be affected the same by market fluctuations, wrote Wold.
"With the combination of stock market volatility in recent months along with the shift in control around the midterm elections and some mixed economic signals, we have to acknowledge that investor uncertainty levels heading into the 2019 selling year have more than likely increased recently," wrote Wold.
Although each stock in the recreational marine group has experienced solid gains in recent years, Marine Products shares have surged almost 500 percent from the recession lows, said Wold. They company's valuation premium is now nearly triple the rest of the marine companies B. Riley covers.
"We do not believe that level of a premium is warranted — especially heading into the heart of a critical boat show season — and are lowering the target multiple applied to our 2019 EBITDA estimate from 13 times to 11 times, or a 10 percent premium to our average target multiple for the rest of the group," said Wold.
Stocks opened to volatile, up-and-down trading on Monday, according to Investor's Business Daily.


text:
Home/news/Europe practically took no effective action to make up for US sanctions, says Iran's Madrid ambassador
Europe practically took no effective action to make up for US sanctions, says Iran's Madrid ambassador
Europe has practically taken no effective action to make up for Washington's inhumane sanctions on Tehran since the former unilaterally withdrew from the Iran nuclear deal, says the Iranian ambassador to Madrid.
Hassan Qashqavi said Iran showed its goodwill by entering the ongoing Vienna talks, despite the non-compliance of the Western parties to the 2015 agreement, officially called the Joint Comprehensive Plan of Action (JCPOA), IRNA reported on Saturday.
Qashqavi pointed out that the previous US administration unilaterally withdrew from the JCPOA in violation of international law, saying the incumbent US president Joe Biden also failed to deliver on his presidential campaign promise of immediately rejoining the deal right after assuming office.
Pointing to the dire impacts of US sanctions against Iranians and their ramifications for Iran's trade ties with countries such as Spain, the Iranian envoy said the European Union "has practically taken no effective action to offset Washington's cruel sanctions."
Iran and the remaining parties to the JCPOA – Russia, China, France, Britain, and Germany – have been holding talks in the Austrian capital since April last year. The focus of the talks has been on the removal of all sanctions that the United States re-imposed on Iran following its withdrawal from the deal.
On Friday evening, the eighth round of the Vienna talks was paused so that the negotiators could return to their respective capitals for consultations. They are expected to return to the negotiating table after two days.
Throughout the talks, Tehran has made clear that the US, as the only country that has left the JCPOA, is responsible for the status quo, and therefore, it needs to take the initial step by removing all of the sanctions that it imposed after withdrawing from the deal in May 2018.
The Islamic Republic has also criticized the United States' European allies for paying lip service to safeguarding Iran's economic dividends, as foreseen in the JCPOA, and for their unconstructive attitude during the Vienna talks.
West's contradictory conduct
On Friday, Iranian Foreign Minister Hossein Amir-Abdollahian noted a "contradiction" in the Western parties' conduct, saying that reaching a "good agreement in the shortest time possible" would only depend on them.
"The conduct of Westerners compared to their statements that they are concerned and are in a hurry shows that there is a contradiction in their behaviors and remarks," Amir-Abdollahian said on Friday, while on a high-profile visit to China.
"I would like to loudly declare that the Islamic Republic of Iran welcomes reaching a good agreement as soon as possible, but this would depend on the Western side," he added.
In the meantime, IRNA on Friday quoted an informed source as saying that the negotiators are increasingly working on the sequence of actions that need to be taken under a possible agreement.
"We are engaged in discussing the details," the source said. "This is one of the most … lengthy and difficult stages of the negotiations, yet absolutely necessary in order to achieve our goal."
US 'working vibrantly' on laser weapons against Iran UAVs
Martyr Soleimani foiled US strategy to sow discord, foment sedition in region
Supreme Council of Quran Competitions Arbiters Planned in Iraq
Saudi coalition claim intercepted 5 drones launched by Yemen
Disgraceful assassination of Gen. Soleimani forces US to flee from Afghanistan, Iraq
One year on, most voters say Brexit has gone badly


We fixed the issue with openpad, but whenever we select ZeroSPU, PSCX2 won't start, Full or Fast boot.
There's no error log or anything. He clicks Boot(Fast)/Boot(Boot) full and nothing happens. I runs fin with the default SPU plugin, but there isn't any sound. Is he missing some required files?
Current time: 04-25-2019, 06:16 AM Powered By MyBB, © 2002-2019 MyBB Group.


Inspired by the creative expression of "ever-moving art," the Nanou Orlato slipper combines the comfort of a sneaker with the elegance of a city shoe. In beige Chinée wool, it is adorned with a jeweled crest on the vamp. Mounted on a rope sole and edged with grosgrain piping detail, it reveals the meticulous savoir-faire of the Louboutin House.


text:
steal('can/util', 'can/view', 'can/util/string', 'can/observe/compute', 'can/view/scanner.js', 'can/view/render.js', function( can ) {
	// ## ejs.js
	// `can.EJS`
	// _Embedded JavaScript Templates._

	// Helper methods.
	var extend = can.extend,
		EJS = function( options ) {
			// Supports calling EJS without the constructor
			// This returns a function that renders the template.
			if ( this.constructor != EJS ) {
				var ejs = new EJS(options);
				return function( data, helpers ) {
					return ejs.render(data, helpers);
				};
			}
			// If we get a `function` directly, it probably is coming from
			// a `steal`-packaged view.
			if ( typeof options == "function" ) {
				this.template = {
					fn: options
				};
				return;
			}
			// Set options on self.
			extend(this, options);
			this.template = this.scanner.scan(this.text, this.name);
		};

	/**
	 * @add can.EJS
	 */
	can.EJS = EJS;

	/**
	 * @Prototype
	 */
	EJS.prototype.
	/**
	 * @function render
	 * Renders an object with view helpers attached to the view.
	 *
	 *     new can.EJS({text: "<%= message %>"}).render({
	 *       message: "foo"
	 *     },{helper: function(){ ... }})
	 *
	 * @param {Object} object data to be rendered
	 * @param {Object} [extraHelpers] an object with view helpers
	 * @return {String} returns the result of the string
	 */
	render = function( object, extraHelpers ) {
		object = object || {};
		return this.template.fn.call(object, object, new EJS.Helpers(object, extraHelpers || {}));
	};

	extend(EJS.prototype, {
		/**
		 * @hide
		 * Singleton scanner instance for parsing templates.
		 */
		scanner: new can.view.Scanner({
			/**
			 * @hide
			 * An ordered token registry for the scanner.
			 * This needs to be ordered by priority to prevent token parsing errors.
			 * Each token is defined as: ["token-name", "string representation", "optional regexp override"]
			 */
			tokens: [
				["templateLeft", "<%%"], // Template
				["templateRight", "%>"], // Right Template
				["returnLeft", "<%=="], // Return Unescaped
				["escapeLeft", "<%="], // Return Escaped
				["commentLeft", "<%#"], // Comment
				["left", "<%"], // Run --- this is hack for now
				["right", "%>"], // Right -> All have same FOR Mustache ...
				["returnRight", "%>"]
			]
		})
	});

	/**
	 * @class can.EJS.Helpers
	 * @parent can.EJS
	 * By adding functions to can.EJS.Helpers.prototype, those functions will be available in the
	 * views.
	 *
	 * The following helper converts a given string to upper case:
	 *
	 * 	can.EJS.Helpers.prototype.toUpper = function(params)
	 * 	{
	 * 		return params.toUpperCase();
	 * 	}
	 *
	 * Use it like this in any EJS template:
	 *
	 * 	<%= toUpper('javascriptmvc') %>
	 *
	 * To access the current DOM element return a function that takes the element as a parameter:
	 *
	 * 	can.EJS.Helpers.prototype.upperHtml = function(params)
	 * 	{
	 * 		return function(el) {
	 * 			$(el).html(params.toUpperCase());
	 * 		}
	 * 	}
	 *
	 * In your EJS view you can then call the helper on an element tag:
	 *
	 * 	<div <%= upperHtml('javascriptmvc') %>>

	 *
	 *
	 * @constructor Creates a view helper.  This function
	 * is called internally.  You should never call it.
	 * @param {Object} data The data passed to the
	 * view.  Helpers have access to it through this._data
	 */
	EJS.Helpers = function( data, extras ) {
		this._data = data;
		this._extras = extras;
		extend(this, extras);
	};

	EJS.Helpers.prototype = {
		/**
		 * `can.EJS.Helpers.list` iterates over an observable list and
		 * sets up live binding. `list` takes a list of observables and a callback
		 * function with the signature `callback( currentItem, index, itemList )`
		 *
		 * Typically, this will look like:
		 *
		 *     <% list(items, function(item){ %>
		 *
<%= item.attr('name') %>

		 *     <% }) %>
		 *
		 * Whenever the list of observables changes, such as when an item is added or removed,
		 * the EJS view will redraw the list in the DOM.
		 */
		// TODO Deprecated!!
		list : function(list, cb){

			can.each(list, function(item, i){
				cb(item, i, list)
			})
		},
		each: function(list, cb){
			// Normal arrays don't get live updated
			if (can.isArray(list)) {
				this.list(list, cb);
			}
			else {
				can.view.lists(list, cb);
			}
		}
	};

	// Options for `steal`'s build.
	can.view.register({
		suffix: "ejs",
		// returns a `function` that renders the view.
		script: function( id, src ) {
			return "can.EJS(function(_CONTEXT,_VIEW) { " + new EJS({
				text: src,
				name: id
			}).template.out + " })";
		},
		renderer: function( id, text ) {
			return EJS({
				text: text,
				name: id
			});
		}
	});

	return can;
});


Google's Chrome Remote Desktop is now out of beta, available for all on Google Play to download. The app and Chrome extension allows users to securely access their computers via an Android device, much like other third party software that has been available for years.
Once a remote client is set up on your computer, and is online, all you will need to do is open the Remote app on your Android device, then you will have full control over the desktop.
The app is completely free, but does require an Android device running Android 4.0 and up.
Go grab both apps and get to it.


text:
Q: Com.github.dockerjava.api.exception.DockerClientException: Certificate path (DOCKER_CERT_PATH) '/root/.docker/certs' doesn't exist General Discussions I try to make simple Docker-Java application on Centos 7. Building image and container invocation are successful. This is my code:
    public class JavaClient {

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        DockerClientConfig config = DockerClientConfig.createDefaultConfigBuilder()
                    .withRegistryUrl("unix:///var/run/docker.sock")
                    .withDockerCertPath("/root/.docker/certs")
                    .withRegistryUsername("user01")
                    .withRegistryPassword("111111")
                    .withRegistryEmail("user01@naver.com")
                    .build();

        DockerClient dockerClient = DockerClientBuilder.getInstance(config).build();

        System.out.println(dockerClient.versionCmd());

    }

 }

However I can't find the Docker security files at all. Docker installation, building images and container invocation have no problem. But I don't know where SSL files in Centos 7 are. This is the exception message
Exception in thread "main" com.github.dockerjava.api.exception.DockerClientException: Certificate path (DOCKER_CERT_PATH) '/root/.docker/certs' doesn't exist.
at com.github.dockerjava.core.DockerClientConfig.checkDockerCertPath(DockerClientConfig.java:112)
at com.github.dockerjava.core.DockerClientConfig.(DockerClientConfig.java:85)
at com.github.dockerjava.core.DockerClientConfig$DockerClientConfigBuilder.build(DockerClientConfig.java:432)
at com.aaa.docker.JavaClient.main(JavaClient.java:18)

A: You can just create empty directory '/root/.docker/certs'.
I found another solution which not requires to create directories.
You can just create properties, like environment variables and set DOCKER_TLS_VERIFY to "0". In this case, docker won't look for any certificates.
final Properties properties = new Properties();
    properties.setProperty("DOCKER_TLS_VERIFY", "0");
    properties.setProperty("DOCKER_HOST", "unix:///var/run/docker.sock");
    final DockerClientConfig.DockerClientConfigBuilder configBuilder = new DockerClientConfig.DockerClientConfigBuilder().withProperties(properties);
    return DockerClientBuilder.getInstance(configBuilder).build();


In this unique post, I would like to inform you just one story of my mate. In some cases in existence buddy focus on an extremely important matter along with you and soon after that you give a quite superior assistance on that exact problem.You should record your investigate in a way that will make essay typing less difficult for you. It should be exact, incorporate all the facts you need, and give you a possibility to file your have concepts and feelings on the materials How to decide on on-line essay writer will help make incredibly laborious function you are looking through as you go alongside. Do not depart this to the conclusion!Depending on your subject, you in all probability want to do some investigate. Getting out as a great deal as you can about your topic not only makes it possible for you to greater support your argument, it also lets you to publish in a voice of authority. Whoever reads your essays will decide on up on your perception of self-self-assurance while writing them, and your essays will become much more convincing as a outcome.However, in advance of you place your purchase for a paper, you will need to be clear on quite a few vital issues. You need to look at out whether or not the essay crafting business is for actual. How do you do it? Verify if it has been furnishing essay typer for a long time? If it is a new business which has only been created yesterday, you need to have to be really careful versus these corporations. As a consumer, you need to be equipped to locate out whether the enterprise has a very good observe report. Try out to google the corporation's title and see what you can obtain.At the other hand, if you like to play with kids, you can grow to be a very good sporting activities teacher. So if you pursue a career of your selection you will keep content. Exact same goes to the faculty essays. If you want to excel the artwork of college or university type my essay you have to take pleasure in performing it.When you are writing a individual essay, do not attempt to give any untrue data. You must be incredibly sincere since the panel can just take it upon by themselves to examine the info you experienced specified. If they follow up and recognize that it is not credible, your application may be disproved. Be quite sincere in the details that you give out and present modesty.You do not have to order a Sample essay, as it is entirely free of charge. In some scenarios, organizations give you with only a portion of a Sample essay. This is maybe due to the fact they would like to lure their customers by only delivering them with a short taste of what standards they adhere to. This is an efficient tactic, as prospects do get captivated.All in all it appeared to be a terrific and helpful evening for both of those of us. Faster or later on I had to facial area the necessity of crafting review and distinction essays, so it was a great exercise for me. As to my minimal sister, she got a person more possibility to carry out researches on the subject matter she liked the most – Asian society. Also, now she was in a position to share her knowledge and feelings with a larger audience. If you will be presented a opportunity to invest an night as joyfully as we did, don't even imagine about rejecting it.


Fulfillment and Logistics News – including EDI, warehouse, transport, order fulfillment and related news issued by the Send2Press Newswire service.
NEWARK, Calif., Oct. 5, 2016 (SEND2PRESS NEWSWIRE) — Engineered Process Solutions, Inc. (EPS) is pleased to announce the launch of a unique risk mitigation tool – the No Lift Pallet Mover. Designed and patented by the CEO of EPS, Mr. Eugene Swinehart, the No Lift Pallet Mover allows any manufacturing or distribution center worker to safely move an empty pallet.


These wooden 3D Puzzles not only develop logic, imagination and motor skills of the child (and parents too), but they can also be a stylish decoration for a child's room.
They can be painted and decorated by your child.
Natural materials and natural colours will encourage positive emotions and provide a tactile experience of nature.
The product may differ from picture because of using natural wood.
The puzzles is unpainted and uncoated.


text:
Vietnam registers 66 athletes for track and field at SEA Games 31
daitranvan 14-03-2022, 17:59
Vietnam's 2020 Tokyo Olympian Quach Thi Lan is among the 66 track and field athletes chosen for SEA Games 31.
NDO – Vietnam will send 66 athletes to compete in the track and field events at the upcoming 31st Southeast Asian Games (SEA Games 31).
The finalisation of the team was based on the performance of the athletes in last year's tournaments as well as in the recent selection event that took place from March 4-6, 2022.
The national track and field team to SEA Games 31 will be coached by long jump trainer Nguyen Manh Hieu, who is also training the 2018 Asian Games gold medallist Bui Thi Thu Thao. SEA Games 31 will mark the return of the 29-year-old jumper following her absence from the 2019 SEA Games in the Philippines due to pregnancy.
Among those registered, there are many popular athletes, including Nguyen Thi Oanh (triple gold medallist at SEA Games 30 in the women's 1500m, 5000m run and 3000m steeplechase), Nguyen Thi Huyen (SEA Games title holder in both the women's 400m and 400m hurdles), and Le Tu Chinh (the defending 100m SEA Games champion).
Several veterans will also feature, including 36-year-old Nguyen Van Lai, who dominated the men's 5000m and 10,000m distance in three successive SEA Games editions (2013, 2015, 2017); and Nguyen Thi Thanh Phuc, the women's 20km race-walking champion in 2011, 2013 and 2015.
Vietnam dominated the athletics competition in the Philippines two years ago with a collection of 16 gold medals, which was four clear of powerhouse Thailand and surpassed their SEA Games target by five golds.
Vietnam's fin-swimming team target to win 8-9 gold medals at SEA Games 31.
Vietnam's fin-swimming team for SEA Games 31 has also been finalised with 25 members, including 22 athletes and three coaches.
SEA Games 31 will be hosted in Hanoi and 11 adjacent provinces from May 12 to 23, 2022, offering 526 sets of medals across 40 sports. The track and field competition is set to take place at the Hanoi-based My Dinh National Stadium between May 14 and 19 with 47 sets of medals up for grabs.
Vietnamese shooters aim for six goals at SEA Games
Vietnamese track and field sector focuses on youth training
Vietnamese athletes with disabilities to compete in three sports at Tokyo Paralympics
Hanoi speeds up preparations for 31st SEA Games
Olympic gold medalist sidelines SEA Games, targets Olympic qualification
Ajinomoto Vietnam becomes next sponsor for 31st SEA Games
Vietnamese swimmers to train in Hungary for SEA Games, ASIAD
Saola becomes official mascot of 2021 SEA Games and ASEAN Para Games


text:
Le château de Sterpenich est un château-ferme situé dans le village belge de Sterpenich (ville d'Arlon) en province de Luxembourg. Faisant partie du domaine privé, il ne se visite pas.

Situation
Le château se situe dans la partie occidentale du village actuel de Sterpenich, en bordure nord du ruisseau d'Autelbas (un affluent de l'Eisch), à l'écart des routes principales. Il ressemble à une grosse ferme, ses différentes parties étant rassemblées autour d'une cour centrale rectangulaire. L'ensemble est aisément accessible par trois entrées par la rue de Berlaymont qui le longe du côté oriental.

Description
Bien que les bâtiments constituant le château soient contigus et arrangés autour d'une cour centrale, la partie historiquement réservée au fermier, au sud, est clairement séparée de la partie « noble », jusqu'à un muret partitionnant la cour en deux.

Cette partie « ferme » est accessible en façade par un porche se trouvant entre deux tours carrées. La tour nord est surmontée de l'ange du jugement dernier sonnant sa trompette, rappelant la légende du nain de Sterpenich. Le toit de cette tour était en bulbe jusqu'en 1972. La ferme est accessible également du côté sud qui donne accès à une seconde cour, de type agricole, aussi par la rue de Berlaymont qui a la particularité d'avoir en son centre un tronçon non carrossable, au niveau de la partie sud de l'ensemble castral où la rivière tourne à angle droit pour le longer un peu du côté oriental. Le côté occidental offre aussi des accès aux écuries par les prairies.

La partie seigneuriale, au nord, est uniquement accessible en façade par un passage entouré de colonnes prolongées par un muret surmonté d'une grille d'apparence banale. Elle comprend aussi des écuries du côté occidental, ainsi que des greniers où les recettes en nature des taxes d'ancien régime pouvaient être stockées. Le côté occidental offre aussi un accès par un pignon avec fronton triangulaire depuis l'ancien jardin seigneurial.

Ces deux parties sont la propriété de deux familles non nobles depuis le  : Limpach pour la partie « ferme » depuis 1933 et Pastoret pour la partie seigneuriale depuis 1925. La partie seigneuriale a été mise en vente en 2022. Plusieurs ménages habitent l'ensemble, vu le nombre de boîtes aux lettres existant en façade.

Histoire

La présence d'un château, appartenant à l'ancienne famille des seigneurs de Sterpenich puis à celle d'Autel, est attestée dès le , mais il finit par tomber en ruine faute d'occupation.

Le château actuel commença à être construit sur les anciennes fondations à partir de 1681 par Jean-Adam Pellot, entrepreneur général aux fortifications de Luxembourg puis d'Arlon, qui eut de gros problèmes financiers qui menèrent à quelques péripéties dans la propriété du château via des engagères conclues avec ses deux beaux-fils (Regemorte et Henron). Son beau-fils Jean-Baptiste Henron finit par acquérir la seigneurie au début du  et acheva la construction du château, le rendant habitable, mais il n'y habita pas non plus. La ferme, qui avait longtemps existé seule sur le site, bien séparée du reste, avait été reconstruite peu de temps avant et avait continué à être exploitée, mais brûla complètement quelques décennies plus tard.

Le château passa ensuite définitivement dans la famille de Tornaco par héritage à la fin du , puis dans la famile de Berlaymont de Bormenville par mariage en 1840. Des agrandissements et aménagements importants supplémentaires furent alors faits. Adrien de Berlaymont vendit le château (sauf la ferme) en 1904 à cinq religieuses de Châlons-sur-Marne voulant échapper à la loi Combes ; elles le revendirent en 1925 à la famille Pastoret. La ferme fut vendue en 1923 par les de Berlaymont à la famille Hainaux, fermiers à Sterpenich et exploitants de la ferme castrale, qui la revendirent à la famille Limpach en 1933.

Le château est classé au patrimoine majeur de la Région wallonne depuis le .

La ferme et la prairie en face ont servi de gîte pour l'organisation Agritourisme.

Notes et références
 Source pour la section histoire :

Voir aussi

Articles connexes
 Liste des châteaux belges par région

Sterpenich
Sterpenich
Sterpenich
Bâtiment à Arlon
Patrimoine classé à Arlon


1. Leave it to the professionals. Children's entertainers do this on a weekly basis. Entertaining frequently allows professionals to gain experience in children's games and especially children's favorite games. As a parent, you might have an elaborate agenda of games such as pin the tail on the donkey, musical chairs and any other games you may find at the party store. A professional, experienced entertainment company will have a wide variety of games for children to play that have been tested, played and approved by children!
2. Jumpers are dangerous. How many parties have you attended where children have bumped heads, fallen out of the jumpers, been a victim of deflated jumpers, worried about "the older kids," host or parents couldn't enjoy a conversation because they are too busy looking out for their own child in the jumper? I rest my case!
3. Mom and Dad should enjoy the party. Hosting a party is a lot of work. You want to make sure there is enough food and that everyone is enjoying themselves, especially the children. Planning and leading activities for children is draining in addition to duties of host. Hire entertainment to allow yourself to enjoy the company of adult guests, which you probably do not see often. You should enjoy the party you have spent time and money to plan.
4. Kids like structure, even at parties! Kids don't say it but they crave structure. By having professional children's entertainers lead games, kids understand the rules, the objectives and are guided through activities. When there are winners, prizes and excitement surrounding the activities, kids love it and participate more! Some kids may not participate but they know what to expect so they have just as much fun watching and cheering for their favorite participant.
5. Beginning and end to your party. As much as you enjoy planning the party and the priceless smile and joyous laughter from your birthday child, no one can blame you for looking forward to the end of the party. Hiring entertainment is a nice way to give a time frame to your guests without being rude. Give your guests an hour to arrive, greet each other, have a drink, eat some food then schedule your entertainment an hour after the party's official start time. Entertainment can be 1-2 hours of playing games, face painting, balloon twisting, dancing etc. When the entertainment is over, do the cake, open presents and your guests will get the hint that all festivities are over.