text:
Statement in support of transgender rights
The SCS, consistent with its Statement on Professional Ethics, which addresses discrimination and harassment on the basis of gender identity, stands fully in support of transgender classicists. It condemms any harassment and bullying of anyone who is transgender or who advocates for transgender rights.
approved by the SCS Board, 4/30/21
View full article. | Posted in Public Statements on Fri, 04/30/2021 - 12:52pm by Helen Cullyer.
Fellowship: Basel Fellowship in Latin Literature
The Department of Latin at the University of Basel, in collaboration with the foundation PLuS, is pleased to invite applications for the new round of the Basel Fellowships in Latin Literature. The fellowship programme offers an opportunity for early career researchers as well as established scholars to pursue their research in the framework of a fully funded visit of up to three months at the Departement Altertumswissenschaften of the University of Basel. During their stay Fellows are entitled to make full use of the excellent resources of the University Library as well as the departmental library, Bibliothek Altertumswissenschaften, one of the world's leading research libraries for the study of the ancient Mediterranean civilisations.
Closing date for applications for spring and autumn 2022 (full term: 21 Feb until 03 June 2022 or 19 Sept until 23 Dec 2022 respectively) is 01 September 2021.
View full article. | Posted in Awards and Fellowships on Tue, 04/27/2021 - 1:09pm by Erik Shell.
American Academy of Arts and Sciences: Newly Elected Members
Congratulations to all the newly elected members of the American Academy of Arts and Sciences. The 252 new members include several who are classicists:
CLASS IV – Humanities and Arts
SECTION 1 – PHILOSOPHY AND RELIGIOUS STUDIES
Fritz Graf, The Ohio State University
Teresa Morgan (IHM), University of Oxford
SECTION 3 – LITERATURE AND LANGUAGE STUDIES
Ruth Scodel, University of Michigan
SECTION 5 – VISUAL ARTS
Paul Zanker (IHM), German Archaeological Institute
CLASS V – Leadership, Policy, and Communications
SECTION 3 – EDUCATIONAL AND ACADEMIC LEADERSHIP
Joy Connolly, American Council of Learned Societies
You can view the whole list of newly elected members here.
View full article. | Posted in Classics in the News on Sun, 04/25/2021 - 8:10am by Helen Cullyer.
AAR Rome Prize Winners in Ancient Studies
SCS congratulates the 2021-22 Rome Prize Winners in Ancient Studies, announced by the American Academy in Rome on April 23, 2021:
Sasha-Mae Eccleston
National Endowment for the Humanities/Andrew W. Mellon Foundation Rome Prize
Kevin Ennis
Samuel H. Kress Foundation/Helen M. Woodruff-Archaeological Institute of America Rome Prize
Grace Funsten
Emeline Hill Richardson/Arthur Ross Rome Prize
John Izzo
Millicent Mercer Johnsen Rome Prize
Adriana Maria Vazquez
Andrew Heiskell/Dorothy and Lewis B. Cullman Rome Prize
You can view the full announcement and list of all Rome prize winners and Italian fellows here.
Image: "Roman Forum" by Benson Kua is licensed under CC BY-SA 2.0
View full article. | Posted in Awards and Fellowships on Sat, 04/24/2021 - 3:21pm by Helen Cullyer.
Blog: Ancient Worlds, Modern Communities: Reimagining Greek Myth for Communities Today
The Ancient Worlds, Modern Communities initiative, launched by the SCS in 2019 as the Classics Everywhere initiative, supports projects that seek to engage broader publics — individuals, groups, and communities — in critical discussion of and creative expression related to the ancient Mediterranean, the global reception of Greek and Roman culture, and the history of teaching and scholarship in the field of classical studies. As part of this initiative, the SCS has funded 98 projects in 25 states and 10 countries, ranging from school programming to reading groups, prison programs, public talks and conferences, digital projects, and collaborations with artists in theater, opera, music, dance, and the visual arts.
NEH Grants for Classically Themed Projects (April, 2021)
Below is a list of the most recent NEH grantees and their Classically-themed projects. The NEH helps fund a number of SCS initiatives, and their support affects the field of Classics at a national and local level.
James Given (Yale Divinity School) - "The Letters of Ignatius of Antioch, between Forgery and Fiction"
Maddalena Rumor (Case Western Reserve University) - "Dreckapotheke' in Ancient Mesopotamia and the Graeco-Roman World"
Hallie Meredith (Washington State University) - "Fragmentary and Unfinished Art: Documenting Undocumented Late Roman Art and Process"
Jennifer Bryan (Oberlin College) - "Chaucer's Ovidian Arts: Poetic Influence and Innovation at the Beginning of English Literature"
Jacqueline Meier (University of North Florida) - "Animals of a Late Bronze Age Household at Mycenae, Greece"
Peter Meineck (Aquila Theatre Company, Inc.) - "Warrior Chorus: American Democracy"
Yelena Baraz (Society for Classical Studies) - "SCS/NEH Fellowship at the Thesaurus Linguae Latinae"
View full article. | Posted in Classics in the News on Wed, 04/21/2021 - 2:23pm by Erik Shell.
Blog: Two Key Myths about Equity and Inclusion in Classics Classrooms
When I came back to the classroom in 2016, after an interlude career as a mental health counselor, I noticed systemic problems in the field of Classics that I had previously normalized. At the pre-collegiate level, Classics is not only elitist, but also exclusive in a way that has made it a racialized space. Mock slave auctions, for example, were held as fundraisers under the Junior Classical League brand as late as 2019 and still have not been formally banned. Instructional materials present slavery with the same rhetoric as Lost Cause white supremacists. At the JCL convention this year, the piece for the boys' dramatic oration was a selection from Ars Amatoria, and the theme for the "couples costume" contest regularly involved rapist-victim dyads.
View full article. | Posted in on Wed, 04/21/2021 - 10:01am by Danielle Bostick.
Conference: Theognis and the Theognidea
The Classics Program of Hunter College (CUNY) announces the rescheduled conference on Theognis and the Theognidea. The conference will now be virtual. It will run from April 28th (Wednesday) through April 30th (Friday) from 12-3:30 PM. (NB, the first day starts at 11:45AM and the last day runs to 4PM.) The conference is open and free. Registration is required.
Classics at Howard University
Howard University is the only HBCU in the United States with a Classics Department, which has been a part of the institution since its inception in 1867. SCS has recently received the following news from the Department:
"Howard University has decided to close the Department of Classics as part of its prioritization efforts and is currently negotiating with the faculty of Classics and with other units in the College as to how they might best reposition and repurpose our programs and personnel. These discussions have been cordial, and the faculty remains hopeful that the department can be kept intact at some level, with its faculty and programs still in place."
View full article. | Posted in Public Statements on Fri, 04/16/2021 - 8:52am by Helen Cullyer.
Blog: Diversifying Classics in Germany: An Interview with Katharina Wesselmann
As a fellow at the American Academy in Berlin this spring, working on a book on Roman diversity, I've been wondering how German classicists are experiencing current debates about diversifying our field. To find out, I spoke with Dr. Katharina Wesselmann, a professor in the Northern German city of Kiel who has also taught high school and university in Basel, Switzerland. The fact that she specializes in "didactics" — the teaching of ancient Greek and Latin — is one mark of the differences between our two national classics traditions. In Germany, Latin and Greek are regularly offered at the advanced secondary schools known as Gymnasiums. So more Germans than Americans are familiar with the classical languages, and those who pursue university degrees in classics can find employment teaching high school.
View full article. | Posted in on Thu, 04/15/2021 - 11:12am by Nandini Pandey.


Restoration Hardware Aviator Chair have 50 picture of decorating ideas, it's including Restoration Hardware Aviator Chair Inspiring Prod60107 Av4 L Pd1 Wid 650 Decorating Ideas 1. Restoration Hardware Aviator Chair Extraordinary Decorating Ideas 2. Restoration Hardware Aviator Chair Astonish Cool Material Decorating Ideas 3. Restoration Hardware Aviator Chair Remarkable CO14LRS N156 N171 P115 L Pd1 Wid 650 Decorating Ideas 4. Restoration Hardware Aviator Chair Fantastic 2079 Decorating Ideas 5.


text:
\section{Onsite disorder }
The onsite disorder is often considered in DTC to introduce many-body localization.
Since the coupling between l-bits decays exponentially with increasing their distance,
this could slow down the thermalization, provided that $\theta_{i}$ is spatially uniform.
However, this mechanism of suppressing the thermalization automatically weakens the
synchronization between different spatial parts of the system. Thus, when $\theta_{i}$
has strong spatial inhomogeneities, the onsite disorder cannot stabilize the DTC.
Consider the Hamiltonian,
\begin{align}
H = 2J\sum_{i<j}\frac{S_i^zS_j^z}{|i-j|^\alpha} +\sum_n  \delta(t-nT)\sum_{i=1}^N \theta_{i}{S}^y_i + 2\sum_{i=1}^N\Delta_iS_{i}^z,
\end{align}
where  $\theta_{i}$ has a uniform distribution in $[\bar{\theta}-w_s, \bar{\theta}+w_s]$,
similar to the main text. The onsite disorder, $\Delta_i$, has a uniform
distribution in $[0,W]$.  As shown in Fig.~\ref{fig:disorder},  for a given $W$,
with increasing $w_s$, $P(2nT)$ and $L_z(2nT)$ are suppressed down to zero.
Meanwhile, the entropy $S(2nT)$ and $Q(2nT)$ grow faster, signifying the
thermalization of the DTC.

\begin{figure}[b]
\includegraphics[width=\textwidth]{fig2_sup.pdf}
\caption{\label{fig:disorder} Effects of inhomogeneous $\theta_i$ on MBL.
$\theta_i$ is chosen from a uniform distribution $[-w_s+\bar{\theta}, \bar{\theta}+w_s]$.
The onsite disorder is chosen from $[0, W]$, where $W=40J,$ $\alpha=3$,
$\bar\theta=\pi$, $N=14$.}
\end{figure}

\section{Scalings with particle numbers }

\subsection{Scalings at $t=2T$ }

We have analytically obtained how the dependence of $P(2T)$ ($M_z(2T)$) on $JT$
scales with the particle number $N$,
\begin{align}
 {P}'(\delta)&\equiv P(2T; JT=\pi+\delta)=(1+\frac{N^2\delta^2\sin^4\theta}{4})^{-1/2}e^{-\frac{1}{4N^2\delta^2\sin^4\theta+16}\sin^2(2\theta)\delta^2N^3}
 ,\label{p2t:theo}\\
 {M'_z}(\delta)&\equiv M_z(2T;JT=\pi+\delta)= \cos^2\theta+\sin^2\theta \cos(\cos\theta N\delta)e^{-\frac{N}{2}\delta^2\sin^2\theta}. \label{pz:theo}
\end{align}
When $\theta=\pi/2$, $\sin(2\theta)=0$. The exponential function in Eq.~(\ref{p2t:theo})
becomes identity, and ${P}'(\delta)=(1+\frac{N^2\delta^2\sin^4\theta}{4})^{-1/2}$.
Thus, the peak width shown in Fig.~\ref{fig3:05} scales with $1/N$ . The same
scaling applies to $\theta$ near $0$ and $\pi$. In contrast, when $\theta$ is away
from 0, $\pi/2$ and $\pi$, the exponential function becomes dominant, and $P(2T)$
decays faster, as shown in Fig.~3(c) of the main text. In particular, the peak
width of $ {P}(2T)$ in Fig.~3(e) scales with $1/N^{3/2}$.

In Eq.~(\ref{pz:theo}), the $N\delta$ term in the cosine function leads to a fast
oscillation, and the $N\delta^2$ term in the exponential function
leads to the $1/N^{1/2}$ scaling of the profile of $M_z(2T)$, regardless of
$\theta$, as shown in the insets of Fig.~\ref{fig3:05}(d) of this supplementary
material and Fig.~3(d) of the main text.

To derive Eq.~(\ref{p2t:theo}) and Eq.~(\ref{pz:theo}), we consider an initial
state, $\ket{\Psi(0^-)}=\prod_i\ket{\uparrow}_i=\ket{\frac{N}{2},\frac{N}{2}}$,
where $L_z\ket{\frac{N}{2},l}=l\ket{\frac{N}{2},l}$ and $\frac{N}{2}=L$ is the
total angular momentum.
\begin{align}
\begin{aligned}
{P}'(\delta)=& |\bra{\Psi(0^-)}e^{-i(\pi+\delta)L_z^2}e^{-i\theta L_y}e^{-i(\pi+\delta) L_z^2}e^{-i\theta L_y}\ket{\Psi(0^-)}|^2\\
=&|e^{-i(\pi+\delta)(\frac{N}{2})^2}\bra{\Psi(0^-)}e^{-i\theta L_y}e^{-i(\pi+\delta) L_z^2}e^{-i\theta L_y}\ket{\Psi(0^-)}|^2.
\end{aligned}
\end{align}

As discussed in the main text,
$e^{-i\pi L_z^2}=e^{-i\pi L_z}$ is satisfied for any even particle number $N$.
When $\delta$ is small, $e^{-i\delta L_z^2}$ can be written as
$ e^{-i\delta L_z^2}\approx\int_{-N\delta}^{N\delta} dke^{ik^2/4\delta}\frac{1}{2\pi}\frac{\sqrt{\pi}}{\sqrt{i\delta}}e^{-ikL_z}$.
We thus obtain
\begin{align}\label{operator:1}
P'(\delta) &\approx|e^{-i(\pi+\delta)(\frac{N}{2})^2}\int_{-N\delta}^{N\delta} dke^{ik^2/4\delta}\frac{1}{2\pi}\frac{\sqrt{\pi}}{\sqrt{i\delta}}I(\theta, k)|^2,\\
I(\theta, k) &=\bra{\Psi(0^-)}e^{-i\theta L_y}e^{-i\pi L_z}e^{-i k L_z}e^{-i\theta L_y}\ket{\Psi(0^-)}.
\end{align}
 Note that
$e^{-i\theta L_y}\ket{\Psi(0^-)}=\ket{\theta, 0}_c$, $ e^{i\pi L_z} e^{i\theta L_y}\ket{\Psi(0^-)} =(-1)^{\frac{N}{2}} \ket{\theta, 0}_c$,
we obtain
\begin{equation}\label{weight:1}
 I(\theta,k) = (-1)^{\frac{N}{2}}\bra{\theta,0}_ce^{-i k L_z}\ket{\theta,0}_c=(-1)^{\frac{N}{2}}e^{i k \frac{N}{2}}(\frac{1}{1+\alpha})^{N}(e^{-i k}\alpha+1)^{N},
\end{equation}
where $\alpha\equiv \tan^2\frac{\theta}{2}$ and
\begin{align}
\ket{\theta, \phi}_c = \sum_{l=-N/2}^{N/2}\sqrt{\frac{N!}{(\frac{N}{2}+l)!(\frac{N}{2}-l)!}} (\cos\theta)^{\frac{N}{2}+l}(\sin\theta)^{\frac{N}{2}-l}e^{i\phi(\frac{N}{2}-l)}\ket{l}
\end{align}
is a coherent state pointing along $\theta, \phi$. In the large $N$ limit,
\begin{equation}\label{weight:result}
    I(\theta,k) \approx (-1)^{\frac{N}{2}}e^{-i k \frac{N}{2}+i\frac{N}{1+\alpha}k}e^{-\frac{N}{2}\frac{\alpha}{(1+\alpha)^2}k^2},
\end{equation}
which represents a narrow Gaussian centered at $k=0$.  Substituting $I(\theta,k)$
in Eq.~(\ref{operator:1}) by Eq.~(\ref{weight:result}), we obtain Eq.~(\ref{p2t:theo}).

As for ${M'_z}(\delta)$,
using the time evolution operator $U(T)=e^{-iL_z^2JT}e^{-iL_y\theta}$, we obtain
the Heisenberg equations, which provide us with the nonlinear
recursion relations as shown in \cite{Haake},
\begin{equation}\label{eom:0}
\begin{split}
    & L_x'=U^{-1}(T)L_xU(T)=\frac{1}{2}(L_x \cos\theta+L_z \sin\theta+iL_y)e^{i2JT(L_z\cos\theta-L_x\sin\theta+\frac{1}{2})}+h.c.\\
    & L_y'=U^{-1}(T)L_yU(T)=\frac{1}{2i}(L_x \cos\theta+L_z \sin\theta+iL_y)e^{i2JT(L_z\cos\theta-L_x\sin\theta+\frac{1}{2})}+h.c. \\
    & L_z'=U^{-1}(T)L_zU(T)=L_z\cos\theta-L_x\sin\theta. \\
\end{split}
\end{equation}
Since $M_z(2T)=\frac{2}{N}\bra{\Psi(0^-)}U^{-1}(T)U^{-1}(T)L_zU(T)U(T)\ket{\Psi(0^-)}$, we obtain,
\begin{equation}\label{Lz2t:0}
    \begin{split}
    &\begin{split}
        M'_z(\delta)=\frac{2}{N}\bra{\Psi(0^-)}&[ (L_z\cos\theta-L_x\sin\theta)\cos\theta\\
        &-(\frac{1}{2}(L_x \cos\theta+L_z \sin\theta+iL_y)e^{i2JT(L_z\cos\theta-L_x\sin\theta+\frac{1}{2})}+h.c.)\sin\theta ]\ket{\Psi(0^-)}
    \end{split}\\
    &=\cos^2\theta-(-1)^{\frac{N}{2}}\sin\theta[\sin\theta \cos^{N}\frac{\Theta}{2}\cos(JT-N\Phi)+(\cos\theta+1)\cos^{N}\frac{\Theta}{2}\tan\frac{\Theta}{2}\cos(\Phi+JT-N\Phi)]\\
    &=\cos^2\theta+(-1)^{\frac{N}{2}}\sin\theta \cos^{N}(\frac{\Theta}{2})[\sin\theta \cos(\delta-N\Phi)+(\cos\theta+1)\tan\frac{\Theta}{2}\cos(\Phi+\delta-N\Phi)]   \\
    & \approx \cos^2\theta+\sin^2\theta \cos(\cos\theta N\delta)e^{-\frac{N}{2}\delta^2\sin^2\theta}
    \end{split}
\end{equation}
where $\Theta=\arccos(\cos^2\theta+\cos(2\delta)\sin^2\theta)$, $\Phi=
\arctan(\frac{-\sin\theta \sin(2\delta)}{\cos\theta \sin\theta(-1+\cos(2\delta))})$.
The expression which contains $\Theta$ and $\Phi$ is exact for any $\theta$ and $\delta$'s. The final approximation comes from $\Theta^2=4\sin^2\theta \delta^2+O(\delta^4)$, $\Phi=\pi/2-\cos\theta\delta+O(\delta^3)$ and $\cos^{N}\frac{\Theta}{2}\approx e^{-N\delta^2\sin^2\theta/2 }$ when $\delta$ is small and $N$ is large. The overall
profile as shown in Fig.~3(d) of the main text is thus given by $e^{-\frac{N}{2}\sin^2\theta \delta^2}\sin^2\theta+\cos^2\theta$.

\begin{figure}
\includegraphics[width=\textwidth]{fig3_05.pdf}
\caption{\label{fig3:05} Sensitivity of the DTC to $JT$ when $\theta=\pi/2$.
Dots are analytical results and curves are the numerical results.
(a,b) $P(2nT)$ and $M_z(2nT)$ as functions of $n$ for various $JT$.
When $|JT-\pi|\gg\pi/N$ (here N=200), both quantities quickly decrease down to zero.
(c,d) $P(2T)$ and $M_z(2T)$
at a fixed time $t=2T$ as functions of $JT$. For a fixed $N$, both quantities
are featured with narrow peaks centered at $JT=\pi$. Insets show the scalings
of the widths $\Delta$ (full width at half maximum) of the peaks with $N$. (e,f)
The power spectra $\tilde{P}(1/2T)$ and $\tilde{M_z}(1/2T)$ are also featured with narrow peaks around $JT=\pi$. Whereas they exhibit non-monotonic behaviors near $JT=\pi$, both quantities vanish when
$|JT-\pi|\gg\pi/N$. Insets show the scalings of the widths of the peaks with $N$.
(g) The quantum Fisher information $I_{\pi}(2nT)$ as a function of $n$.
(h) $I_\pi(2nT)$ is proportional to $N^2$. $\theta_i=\pi/2$ is used in all panels.}
\end{figure}

\subsection{Scalings of $\tilde{P}(\frac{1}{2T})$}
\begin{figure}
\includegraphics[width=\textwidth]{fig_approx.pdf}
\caption{\label{fig:approx} The approximation used to derive $P(2nT)$. When $t=T^-$,
 the nonlinear operator $e^{-iJTL_z^2}$ creates a superposition of coherent states,
 which spans a length scale $\sim \delta$ in the latitude direction, as shown in (c).
 This length scale is transferred to the longitude direction around the north pole
 by the pulse at $t=T^+$, as shown in (d). Then the nonlinear operator creates a
 superposition of coherent states in the region highlighted by the red color at
 $t=2T^-$. The length scales of this region in the longitude and latitude
 directions are $\delta$ and $\delta^2$ respectively, as shown in (e). Replacing
 the second nonlinear operator $e^{-iJTL_z^2}$ by $e^{-i\pi L_z^2}$, as shown in
 (f), we have ignored the expansion of the wavefunction in the latitude direction
 that gives rise to a high order correction to $P(2nT)$ at small times.}
\end{figure}
We have also obtained an analytical form for $\tilde{P}(f)$, the Fourier transform of $P(2nT)$.
As shown in Fig.~\ref{fig:approx}, starting from an initial state at the north pole, the state at $t=2T^-$ covers a finite small region near the north pole, if $\delta=JT-\pi$ is small. The length scales of the longitude and latitude directions are proportional to $\delta$ and $\delta^2$, the latter of which can be ignored in the small $\delta$ limit. Thus, we make use of the following approximation to capture the dynamics in the small $\delta$ limit,
\begin{equation}\label{p2nt:approx}
    U(2T)=e^{-iJTL_z^2}e^{-i\theta L_y}e^{-iJT L_z^2}e^{-i\theta L_y}\approx e^{-i\pi L_z^2}e^{-i\theta L_y}e^{-iJT L_z^2}e^{-i\theta L_y}.
\end{equation}
$P(2nT)$ is written as
\begin{equation}\label{p2nt:0}
    P(2nT)=|\bra{\Psi(0^-)}(e^{-i\pi L_z^2}e^{-i\theta L_y}e^{-i(\pi+\delta) L_z^2}e^{-i\theta L_y})^n\ket{\Psi(0^-)}|^2.
\end{equation}
Using the identities, $e^{-i\pi L_z^2}=e^{-i\pi L_z}$ and $e^{-i\pi L_z}e^{-i\theta L_y}e^{-i\pi L_z}=e^{i\theta L_y}$, the equation above can be written as
\begin{equation}\label{p2nt:1}
    P(2nT)=|\bra{\Psi(0^-)}(e^{i\theta L_y} e^{-i \delta L_z^2}e^{-i\theta L_y})^n\ket{\Psi(0^-)}|^2=|\bra{\Psi(0^-)}e^{i\theta L_y} e^{-i n\delta L_z^2}e^{-i\theta L_y}\ket{\Psi(0^-)}|^2.
\end{equation}
Applying Eq.~(\ref{p2t:theo}), we obtain
\begin{equation}\label{p2nt:theo}
    P(2nT)=e^{-\frac{n^2\sin^2(2\theta)\delta^2N^3}{4N^2n^2\delta^2\sin^4\theta+16}}(1+\frac{n^2N^2\delta^2\sin^4\theta}{4})^{-1/2}.
\end{equation}
Eq.~(\ref{p2nt:theo}) recovers Eq.~(\ref{p2t:theo}) when $n=1$.  As shown in Fig.~\ref{fig3:05}(a), this expression well captures the initial decay of $P(2nT)$. However, it cannot describe the revival of $P(2nT)$ in later times for certain $JT$ due to the made approximation in Eq.~(\ref{p2nt:approx}).

The power spectrum is therefore written as
\begin{equation}\label{p2nt:peakheight}
    \tilde{P}(1/2T)=\frac{1}{M}\sum_{n=0}^{M-1}P(nT)e^{i\frac{2\pi}{2T}nT}=\frac{1}{M}\sum_{n=0}^{M-1}P(nT)(-1)^n\approx \frac{1}{M}\sum_{n=0}^{M/2-1}P(2nT),
\end{equation}
where $M$ is the cutoff required in numerics.
In the last step, we have used the fact that, for small $n$, $\ket{\psi(2nT+T)}$ is located at a place on the Bloch sphere away from the north pole, provided that $\theta$ is not small, and thus,
$P(2nT+T)=|\bra{\Psi(0^-)}\ket{\psi(2nT+T)}|^2\approx 0$.

When $nN\delta\ll 1$ and $\theta\neq 0, \pi/2, \pi$,  Eq.~(\ref{p2nt:theo}) becomes
$P(2nT)=e^{-\frac{n^2\sin^2(2\theta)\delta^2N^3}{16}}$,
and Eq.~(\ref{p2nt:peakheight}) is rewritten as
\begin{equation}\label{p2nt:phtheo_general}
    \tilde{P}(1/2T)\approx \frac{2\sqrt{\pi}\text{Erf}(\frac{1}{8}\delta M N^{3/2}\sin (2\theta))}{\sin(2\theta)\delta M N^{3/2}},
\end{equation}
In the limit $M\rightarrow \infty$, $\tilde{P}(1/2T)\rightarrow \frac{1}{2\sqrt{\pi}}e^{-\frac{1}{64}\delta^2N^3M^2}$. To compare with numerical result, we choose $\theta = \pi/4$ and $M=200$. Eq.~(\ref{p2nt:phtheo_general}) becomes
\begin{equation}\label{p2nt:phtheo}
    \tilde{P}(1/2T)\approx \frac{2\sqrt{\pi}\text{Erf}(25\delta N^{3/2})}{200\delta N^{3/2}},
\end{equation}
which shows the $1/N^{3/2}$ scaling. $\text{Erf}$ is the error function. The comparison between this analytical result and the numerical one is shown in Fig.~3(e) of the main text.

\begin{figure}[h]
\includegraphics[width=\textwidth]{peakheight_p.pdf}
\caption{\label{fig:peakheight} The power spectra $\tilde{P}(1/2T)$ for different
pulses for $N=100$, $M=200$. (a) It is identical to the curve for $N=100$ in
Fig.~\ref{fig3:05}(e). The central sharp peak at $JT=\pi$ for $\pi/2$ pulse is well
approximated by the analytical result (blue dots) shown in Eq.~(\ref{p2nt:phtheo_pi2}).
(b-f) When $\theta$ decreases, the two broader peaks gradually vanish.
When the exponential term in Eq.~(\ref{p2nt:theo}) dominates, the central peak is
described by Eq.~(\ref{p2nt:phtheo_general}) (green dots).
Enlarging (f) around $JT=\pi$ gives rise to Fig.~3(e) of the main text.}
\end{figure}

When $\theta=\pi/2$, the exponential term in Eq.~(\ref{p2nt:theo}) becomes identity.
We obtain
\begin{equation}\label{p2nt:phtheo_pi2}
    \tilde{P}(1/2T)\approx \frac{\text{arcsinh}(\delta M N/4)}{\delta M N/2}.
\end{equation}

As mentioned in Fig.~\ref{fig3:05}, when $\theta=\pi/2$, the dependence of  $\tilde{P}
(1/2T)$ on $JT$ is not monotonic. With increasing $\delta$, $\tilde{P}
(1/2T)$ first quickly decreases and then increases before it eventually vanishes when $\delta>\pi/N$. Eq.~(\ref{p2nt:phtheo_pi2}) captures the narrow peak, whose width is much smaller than $\pi/N$, near $\delta=0$. The broader peak scales with $
1/N$ as shown in Fig.~\ref{fig3:05}(f) of the main text.
When $\theta$ deviates from
$\pi/2$, the broader peak gets suppressed as shown in Fig.~\ref{fig:peakheight}.
When $\theta=\pi/4$, only the central narrow peak is visible, whose width scales with
$1/N^{3/2}$, as discussed before.

$M_z(2nT)$ and $\tilde{M}_z(1/2T)$ do not have simple analytical forms. We have numerically evaluated them and the scaling of $\tilde{M}_z(1/2T)$ with $N$ is shown in Fig.~\ref{fig3:05}(b, e).

\section{quantum Fisher information}
When $JT=\pi$, the quantum Fisher information is written as
\begin{align}
I_{\pi}(2nT)&=\lim_{\epsilon\rightarrow 0}4\frac{1-F_{\epsilon}}{\epsilon^2},\\
F_{\epsilon}&=|\bra{\Psi(0^-)}U_{\pi}(-2nT)U_{\pi+\epsilon}(2nT)\ket{\Psi(0^-)}|^2.
\end{align}
As $U_{\pi}(2nT)\ket{\Psi(0^-)}=\ket{\Psi(0^-)}$ or equivalently, $\bra{\Psi(0^-)}U_{\pi}(-2nT)=\bra{\Psi(0^-)}$, the Loschmidt echo is identical to the quantum memory of the initial state,
$F_{\epsilon} = |\bra{\Psi(0^-)}U_{\pi+\epsilon}(2nT)\ket{\Psi(0^-)}|^2$. Using Eq.~(\ref{p2nt:theo}) and replacing $\epsilon$ by $\delta$, we obtain
\begin{align}
I_{\pi}(2nT) = \lim_{\delta\rightarrow0}4\frac{1-P(2nT)}{\delta^2} = \frac{n^2N^3\sin^2(2\theta)}{4} + \frac{n^2N^2\sin^4\theta}{2}.
\end{align}

redpajama_set_name: RedPajamaArXiv


text:
package mx.skyguardian.controltower.rest;

import java.io.IOException;

import mx.skyguardian.controltower.bean.Encryptor;
import mx.skyguardian.controltower.bean.POI;
import mx.skyguardian.controltower.bean.Unit;
import mx.skyguardian.controltower.bean.Units;
import mx.skyguardian.controltower.bean.VehicleHistory;
import mx.skyguardian.controltower.bean.Vehicles;
import mx.skyguardian.controltower.exception.WialonBadRequestException;
import mx.skyguardian.controltower.exception.WialonInternalServerError;
import mx.skyguardian.controltower.http.remoting.IControlTowerManager;
import mx.skyguardian.controltower.security.JasyptEncryptor;

import org.apache.log4j.Logger;
import org.json.JSONException;
import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class WialonUnitController {
	private static Logger log = Logger.getLogger(WialonUnitController.class);

	private IControlTowerManager controlTowerManager = null;
	private Jaxb2Marshaller jaxb2Mashaller;

	// //////////////////////// @ResponseBody ////////////////////////

	@RequestMapping(method = RequestMethod.GET, value = "/unit/{id}", headers = "Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
	public @ResponseBody Unit getUnitById(
			@PathVariable String id,
			@RequestParam("userName") String userName,
			@RequestParam("password") String password) throws WialonInternalServerError, Exception {

		try {
			return (Unit) controlTowerManager.getUnit(userName, password, id);
		} catch (JSONException je) {
			log.error("JSONException Catch");
			je.printStackTrace();
		}

		return new Unit();
	}

	@RequestMapping(method = RequestMethod.GET, value = "/units", headers = "Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
	public @ResponseBody Units getUnits(
			@RequestParam("userName") String userName,
			@RequestParam("password") String password) {
		try {
			return (Units) controlTowerManager.getUnits(userName, password);
		} catch (JSONException je) {
			log.error("JSONException Catch");
			je.printStackTrace();
		} catch (IOException ioe) {
			log.error("IOException");
			ioe.printStackTrace();
		}

		return new Units();
	}

	@RequestMapping(method = RequestMethod.GET, value = "/vehicles", headers = "Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
	public @ResponseBody Vehicles getVehicles(
			@RequestParam("userName") String userName,
			@RequestParam("password") String password) {
		try {
			return (Vehicles) controlTowerManager.getVehicles(userName, password);
		} catch (IOException e) {
			log.error("IOException Catch");
			e.printStackTrace();
		} catch (JSONException je) {
			log.error("JSONException Catch");
			je.printStackTrace();
		}

		return new Vehicles();
	}

	@RequestMapping(method = RequestMethod.GET, value = "/vehicle/history/{vehiculeId}", headers = "Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
	public @ResponseBody VehicleHistory getVehiculeHistory(
			@PathVariable String vehiculeId,
			@RequestParam("interval") String interval,
			@RequestParam("loadCount") String loadCount,
			@RequestParam("userName") String userName,
			@RequestParam("password") String password) {
		try {
			Integer.valueOf(interval);
			Integer.valueOf(loadCount);
			return (VehicleHistory) controlTowerManager.getVehiculeHistory(vehiculeId, interval, loadCount, userName, password);
		} catch (IOException e) {
			log.error("IOException Catch");
			e.printStackTrace();
		} catch (JSONException je) {
			log.error("JSONException Catch");
			je.printStackTrace();
		} catch(NumberFormatException nfe) {
			throw new WialonBadRequestException();
		}

		return new VehicleHistory();
	}

	@RequestMapping(method = RequestMethod.GET, value = "/encryptor/{password}", headers = "Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
	public @ResponseBody Encryptor getEncryptor(@PathVariable String password) {
		Encryptor encryptor = new Encryptor();
		encryptor.setEncryptedText(JasyptEncryptor.encryptWithPBE(password));

		return encryptor;
	}

	@RequestMapping(method = RequestMethod.GET, value = "/poi/{unitID}", headers = "Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
	public @ResponseBody POI getPOI(
			@PathVariable String unitID,
			@RequestParam("userName") String userName,
			@RequestParam("password") String password) {
		try {
			return (POI) controlTowerManager.getPOI(unitID, userName, password);
		} catch (IOException e) {
			log.error("IOException Catch");
			e.printStackTrace();
		} catch (JSONException je) {
			log.error("JSONException Catch");
			je.printStackTrace();
		}

		return new POI();
	}

	public void setJaxb2Mashaller(Jaxb2Marshaller jaxb2Mashaller) {
		this.jaxb2Mashaller = jaxb2Mashaller;
	}

	public void setControlTowerManager(IControlTowerManager controlTowerManager) {
		this.controlTowerManager = controlTowerManager;
	}

}

redpajama_set_name: RedPajamaGithub


Scott Kenemore writes with a deadpan wit that makes you keep turning pages. - Cleveland Plain DealerThe sequel to the bestselling Zombie, Ohio, this explosive supernatural thriller from Scott Kenemore tells the story of three Chicagoans who have been thrown together by a bizarre, interconnected series of events during the first twenty-four hours of a zombie outbreak in the Midwest's largest city. A partnership is crafted between a pastor from Chicago's rough South Side, an intrepid newspaper reporter, and a young female musician, all of whom are fighting for survival as they struggle to protect themselves and their communities in a city overrun with the walking dead. Between the barricaded neighborhoods and violent zombie hunters, the trio encounters many mysterious occurrences that leave them shaken and disturbed. When the mayor of Chicago is eaten by zombies on live television, and a group of shady aldermen attempt to seize power in the vacuum, these unlikely friends realize that they have stumbled upon a conspiracy to overthrow the city . . . and that they alone may be qualified to combine their talents to stop it. Zombie, Illinois will delight devoted zombie fans and put readers in mind of some of the best recent works of supernatural horror. You will be left shocked, horrified, and craving brains! This novel will grab you from the first page and not let go until the riveting finale.


text:
Home Design Style Michael Drummond merges art and fashion as he prepares for two upcoming exhibitions
Michael Drummond merges art and fashion as he prepares for two upcoming exhibitions
Find Drummond's work this fall at The Sheldon Art Galleries and World Chess Hall of Fame.
by Megan Mertz
Photo by Kevin A. Roberts
Fashion designer Michael Drummond's been busy this year. In March, he was selected as one of eight residents of the Saint Louis Fashion Fund's new Fashion Lab program. A few weeks later, Drummond and fellow Project Runway alum Laura Kathleen Baker co-chaired the inaugural "Threads: History Never Looked So Haute," bringing together other former Project Runway stars and local college students to re-imagine textiles from the Missouri Historical Society's collection.
What are you working on now? I'm curating an exhibit with The Sheldon Art Galleries that will be opening in October. I have my first solo exhibition at the World Chess Hall of Fame that same month, called "Being Played." It ties in chess, and I'm working with the ideas of climate change and fashion and community. So, I'm very busy with all those things—and I just bought a house! I'm restoring it, and I feel like I'm losing my mind.
Are you still creating your own line? Art-based fashion—creating conceptual fashion that hopefully communicates ideas or causes you to think about various subjects—is my direction these days. I still have the line, but it's very low-impact. Fashion is one of the most polluting industries in the world. The people who love to get dressed are my people, but I think it's exciting to also be conscientious. It's great to open your closet and see things you've owned for 15 years and still think, "God, this is my favorite thing!" Those are the pieces I try to create—the little soldiers in your closet.
Why do you love fashion? I've always found fashion to be really exciting. Even for the person who says they don't care, that's just not true. You have to put on clothes. Even the couch potato is expressing their tribe. Whether you like it or not, fashion is one of the first forms of communication we have with each other.
July 2019 Elements

redpajama_set_name: RedPajamaCommonCrawl


During this 4 hour guided walking tour, you will see the many historical sites and monuments, markets, curiosity, traditions and culture of Palermo. You will enjoy a typical Sicilian lunch, served inside a fascinating historical home.
In the company of your guide, you will see the central Piazza Politeama and Roger VII street, "the lounge of Palermo". After a stroll along the historical streets you will arrive at the famous Teatro Massimo, one of the largest in Europe. If you like you can also visit the inside of the theater.
A next stop is the magnificent Church of Saint Ignatius of Olivella with its beautiful Baroque interior and monuments. While continuing the tour, you can still see the Arabic influences in the streets and neighborhoods. Important sights are Piazza San Domenico with its Church of Saint Dominic, Piazza Meli and the Church of St. Cita where you can visit the annexed Oratorio.
Before lunch you will visit the open-air historic market, the Vucciria. Just in time to get hungry and enjoy a typical Sicilian lunch inside a historical building. You can taste several delicacies, wine, sweets and coffee.
The tour ends at Piazza San Domenico.
The Teatro Massimo (Massimo Theatre) and the churches visited along the tour are usually open. If not, we are not responsible.


Last night PBGS descended on the Fox in Pirton for our annual Christmas Dinner. We all had a great time as you can see, especially with the party tooters! Top tooter prize goes to Tim with his imaginative use of two green ones to recreate Shrek. Margaret led everyone in their own version of The Twelve Days of Christmas where the Drummers Drumming got into a priority dispute with the Pipers Piping, and we also wished everyone a 'Merry Christmas' (very loudly) to herald in the Figgy Pudding.
Many thanks to Paul for organising it, and to The Fox for putting up with us and feeding us extremely well. To those PBGS'ers who couldn't make it, we missed you, wish you a very Merry Christmas and we'll see you on Tuesday 3rd for music revision with Margaret (perhaps we should include the 12 Days of Christmas ;-).


text:
"""
@file
@brief Contains helpers for the main function @see fn generate_help_sphinx.

"""
import os
import sys
import datetime
import shutil
import subprocess
import re

from ..loghelper import run_cmd, RunCmdException, fLOG
from ..loghelper.run_cmd import parse_exception_message
from ..loghelper.pyrepo_helper import SourceRepository
from ..pandashelper.tblformat import df2rst
from ..filehelper import explore_folder_iterfile
from .utils_sphinx_doc_helpers import HelpGenException
from .post_process import post_process_latex_output
from .process_notebooks import find_pdflatex

template_examples = """

List of programs
++++++++++++++++

.. toctree::
   :maxdepth: 2

.. autosummary:: __init__.py
   :toctree: %s/
   :template: modules.rst

Another list
++++++++++++

"""

def setup_environment_for_help(fLOG=fLOG):
    """
    Modifies environment variables to be able to use external tools
    such as :epkg:`Inkscape`.
    """
    if sys.platform.startswith("win"):
        prog = os.environ["ProgramFiles"]
        inkscape = os.path.join(prog, "Inkscape")
        if not os.path.exists(inkscape):
            raise FileNotFoundError(
                f"Inkscape is not installed, expected at: {inkscape}")
        path = os.environ["PATH"]
        if inkscape not in path:
            fLOG("SETUP: add path to %path%", inkscape)
            os.environ["PATH"] = path + ";" + inkscape
    else:
        pass

def get_executables_path():
    """
    Returns the paths to :epkg:`Python`,
    :epkg:`Python` Scripts.

    @return     a list of paths
    """
    res = [os.path.split(sys.executable)[0]]
    res.extend([os.path.join(res[-1], "Scripts"),
                os.path.join(res[-1], "bin")])
    return res

def my_date_conversion(sdate):
    """
    Converts a date into a datetime.

    @param      sdate       string
    @return                 date
    """
    first = sdate.split(" ")[0]
    trois = first.replace(".", "-").replace("/", "-").split("-")
    return datetime.datetime(int(trois[0]), int(trois[1]), int(trois[2]))

def produce_code_graph_changes(df):
    """
    Returns the code for a graph which counts the number
    of changes per week over the last year.

    @param      df      dataframe (has a column date with format ``YYYY-MM-DD``)
    @return             graph

    The call to :epkg:`datetime.datetime.strptime`
    introduced exceptions::

        File "<frozen importlib._bootstrap>", line 2212, in _find_and_load_unlocked
        File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
        File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
        File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
        File "<frozen importlib._bootstrap>", line 2224, in _find_and_load_unlocked

    when generating the documentation for another project. The reason
    is still unclear. It was replaced by a custom function.
    """
    def year_week(x):
        dt = datetime.datetime(x.year, x.month, x.day)
        return dt.isocalendar()[:2]

    def to_str(x):
        year, week = year_week(x)
        return "%d-w%02d" % (year, week)

    df = df.copy()
    df["dt"] = df.apply(lambda r: my_date_conversion(r["date"]), axis=1)
    df = df[["dt"]]
    now = datetime.datetime.now()
    last = now - datetime.timedelta(365)
    df = df[df.dt >= last]
    df["week"] = df['dt'].apply(to_str)
    df["commits"] = 1

    val = []
    for alldays in range(0, 365):
        a = now - datetime.timedelta(alldays)
        val.append({"dt": a, "week": to_str(a), "commits": 0})

    # we move pandas here because it imports matplotlib
    # which is not always wise when you need to modify the backend
    import pandas
    df = pandas.concat([df, pandas.DataFrame(val)], sort=True)

    gr = df[["week", "commits"]].groupby("week", as_index=False).sum()
    xl = list(gr["week"])
    x = list(range(len(xl)))
    y = list(gr["commits"])

    typstr = str

    code = """
            import matplotlib.pyplot as plt
            x = __X__
            y = __Y__
            xl = __XL__
            plt.close('all')
            plt.style.use('ggplot')
            fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(10, 4))
            ax.bar(x, y)
            tig = ax.get_xticks()
            labs = []
            for t in tig:
                if t in x:
                    labs.append(xl[x.index(t)])
                else:
                    labs.append("")
            ax.set_xticklabels(labs)
            ax.grid(True)
            ax.set_title("commits")
            plt.show()
            """.replace("            ", "") \
               .replace("__X__", typstr(x)) \
               .replace("__XL__", typstr(xl)) \
               .replace("__Y__", typstr(y))

    return code

def generate_changes_repo(chan, source, exception_if_empty=True,
                          filter_commit=lambda c: c.strip() != "documentation",
                          fLOG=fLOG, modify_commit=None):
    """
    Generates a :epkg:`RST` tables containing the changes stored
    by a :epkg:`SVN` or :epkg:`GIT` repository,
    the outcome is stored in a file.
    The log comment must start with ``*`` to be taken into account.

    @param          chan                filename to write (or None if you don't need to)
    @param          source              source folder to get changes for
    @param          exception_if_empty  raises an exception if empty
    @param          filter_commit       function which accepts a commit to show on the documentation (based on the comment)
    @param          fLOG                logging function
    @param          modify_commit       function which rewrite the commit text (see below)
    @return                             string (rst tables with the changes)

    :epkg:`pandas` is not imported in the function itself but at the beginning of the module. It
    seemed to cause soe weird exceptions when generating the documentation for another module::

        File "<frozen importlib._bootstrap>", line 2212, in _find_and_load_unlocked
        File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
        File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
        File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
        File "<frozen importlib._bootstrap>", line 2224, in _find_and_load_unlocked

    Doing that helps. The cause still remains obscure.
    If not None, function *modify_commit* is called the following way (see below).
    *nbch* is the commit number. *date* can be returned as a datetime or a string.

    ::

        nbch, date, author, comment = modify_commit(nbch, date, author, comment)
    """
    # builds the changes files
    try:
        src = SourceRepository(commandline=True)
        logs = src.log(path=source)
    except Exception as eee:
        if exception_if_empty:
            fLOG("[sphinxerror]-9 unable to retrieve log from " + source)
            raise HelpGenException(
                "unable to retrieve log in " + source + "\n" + str(eee)) from eee
        logs = [("none", 0, datetime.datetime.now(), "-")]
        fLOG("[sphinxerror]-8", eee)

    if len(logs) == 0:
        fLOG("[sphinxerror]-7 unable to retrieve log from " + source)
        if exception_if_empty:
            raise HelpGenException("retrieved logs are empty in " + source)
    else:
        fLOG("info, retrieved ", len(logs), " commits")

    rows = []
    rows.append(
        """\n.. _l-changes:\n\n\nChanges\n=======\n\n__CODEGRAPH__\n\nList of recent changes:\n""")

    typstr = str

    values = []
    for i, row in enumerate(logs):
        n = len(logs) - i
        author, nbch, date, comment = row[:4]
        last = row[-1]
        if last.startswith("http"):
            nbch = f"`{typstr(nbch)} <{last}>`_"

        if filter_commit(comment):
            if modify_commit is not None:
                nbch, date, author, comment = modify_commit(
                    nbch, date, author, comment)
            if isinstance(date, datetime.datetime):
                ds = "%04d-%02d-%02d" % (date.year, date.month, date.day)
            else:
                ds = date
            if isinstance(nbch, int):
                values.append(
                    ["%d" % n, "%04d" % nbch, f"{ds}", author, comment.strip("*")])
            else:
                values.append(
                    ["%d" % n, f"{nbch}", f"{ds}", author, comment.strip("*")])

    if len(values) == 0 and exception_if_empty:
        raise HelpGenException(
            f"Logs were not empty but there was no comment starting with '*' from '{source}'\n" +
            "\n".join([typstr(_) for _ in logs]))

    if len(values) > 0:
        import pandas
        tbl = pandas.DataFrame(
            columns=["#", "change number", "date", "author", "comment"], data=values)
        rows.append(
            "\n\n" + df2rst(tbl, list_table=True) + "\n\n")

    final = "\n".join(rows)

    if len(values) > 0:
        code = produce_code_graph_changes(tbl)
        code = code.split("\n")
        code = ["    " + _ for _ in code]
        code = "\n".join(code)
        code = ".. plot::\n" + code + "\n"
        final = final.replace("__CODEGRAPH__", code)

    if chan is not None:
        with open(chan, "w", encoding="utf8") as f:
            f.write(final)
    return final

def compile_latex_output_final(root, latex_path, doall, afile=None, latex_book=False, fLOG=fLOG,
                               custom_latex_processing=None, remove_unicode=False):
    """
    Compiles the :epkg:`latex` documents.

    @param      root                        root
    @param      latex_path                  path to the compiler
    @param      doall                       do more transformation of the latex file before compiling it
    @param      afile                       process a specific file
    @param      latex_book                  do some customized transformation for a book
    @param      fLOG                        logging function
    @param      custom_latex_processing     function which does some post processing of the full latex file
    @param      remove_unicode              remove unicode characters before compiling it

    .. faqreq:
        :title: The PDF is corrupted, SVG are not there

        :epkg:`SVG` graphs are not well processed by the latex compilation.
        It usually goes through the following instruction:

        ::

            \\sphinxincludegraphics{{seance4_projection_population_correction_51_0}.svg}

        And produces the following error:

        ::

            ! LaTeX Error: Unknown graphics extension: .svg.

        This function does not stop if the latex compilation but if the PDF
        is corrupted, the log should be checked to see the errors.
    """
    latex_exe = find_pdflatex(latex_path)
    processed = 0
    tried = []
    for subfolder in ['latex', 'elatex']:
        build = os.path.join(root, "_doc", "sphinxdoc", "build", subfolder)
        if not os.path.exists(build):
            build = root
        tried.append(build)
        for tex in os.listdir(build):
            if tex.endswith(".tex") and (afile is None or afile in tex):
                processed += 1
                file = os.path.join(build, tex)
                if doall:
                    # -interaction=batchmode
                    c = '"{0}" "{1}" -max-print-line=900 -buf-size=10000000 -output-directory="{2}"'.format(
                        latex_exe, file, build)
                else:
                    c = '"{0}" "{1}" -max-print-line=900 -buf-size=10000000 -interaction=nonstopmode -output-directory="{2}"'.format(
                        latex_exe, file, build)
                fLOG("[compile_latex_output_final] LATEX compilation (c)", c)
                post_process_latex_output(file, doall, latex_book=latex_book, fLOG=fLOG,
                                          custom_latex_processing=custom_latex_processing,
                                          remove_unicode=remove_unicode)
                if sys.platform.startswith("win"):
                    change_path = None
                else:
                    # On Linux the parameter --output-directory is sometimes ignored.
                    # And it only works from the current directory.
                    change_path = os.path.split(file)[0]
                try:
                    out, err = run_cmd(c, wait=True, log_error=False, catch_exit=True, communicate=False,
                                       tell_if_no_output=120, fLOG=fLOG, prefix_log="[latex] ", change_path=change_path)
                except Exception as e:
                    # An exception is raised when the return code is an error. We
                    # check that PDF file was written.
                    out, err = parse_exception_message(e)
                    if err is not None and len(err) == 0 and out is not None and "Output written" in out:
                        # The output was produced. We ignore the return code.
                        fLOG("WARNINGS: Latex compilation had warnings:", c)
                    else:
                        raise OSError(
                            f"Unable to execute\n{c}") from e

                if len(err) > 0 and "Output written on " not in out:
                    raise HelpGenException(
                        f"CMD:\n{c}\n[sphinxerror]-6\n{err}\n---OUT:---\n{out}")

                # second compilation
                fLOG("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
                fLOG("~~~~ LATEX compilation (d)", c)
                fLOG("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
                try:
                    out, err = run_cmd(
                        c, wait=True, log_error=False, communicate=False, fLOG=fLOG,
                        tell_if_no_output=600, prefix_log="[latex] ", change_path=change_path)
                except (subprocess.CalledProcessError, RunCmdException):
                    fLOG("[sphinxerror]-5 LATEX ERROR: check the logs")
                    err = ""
                    out = ""
                fLOG("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
                fLOG("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
                if len(err) > 0 and "Output written on " not in out:
                    raise HelpGenException(err)
    if processed == 0:
        raise FileNotFoundError("Unable to find any latex file in folders\n{0}".format(
                                "\n".join(tried)))

def replace_placeholder_by_recent_blogpost(all_tocs, plist, placeholder, nb_post=5, fLOG=fLOG):
    """
    Replaces a place holder by a list of blog post.

    @param      all_tocs        list of files to look into
    @param      plist           list of blog post
    @param      placeholder     place holder to replace
    @param      nb_post         number of blog post to display
    @param      fLOG            logging function
    """
    def make_link(post):
        name = os.path.splitext(os.path.split(post.FileName)[-1])[0]
        s = """%s - %s""" % (
            post.Year, name, post.Date, post.Title)
        return s

    end = min(nb_post, len(plist))
    for toc in all_tocs:
        with open(toc, "r", encoding="utf8") as f:
            content = f.read()
        if placeholder in content:
            fLOG("  *** update", toc)
            links = [make_link(post) for post in plist[:end]]
            content = content.replace(placeholder, "\n
".join(links))
            with open(toc, "w", encoding="utf8") as f:
                f.write(content)

_pattern_images = ".*(([.]png)|([.]gif])|([.]jpeg])|([.]jpg])|([.]svg]))$"

def enumerate_copy_images_for_slides(src, dest, pattern=_pattern_images):
    """
    Copies images, initial intent was for slides,
    once converted into html, link to images are relative to
    the folder which contains them, we copy the images from
    ``_images`` to ``_downloads``.

    @param      src     sources
    @param      dest    destination
    @param      pattern see @see fn explore_folder_iterfile
    @return             enumerator of copied files
    """
    iter = explore_folder_iterfile(src, pattern=pattern)
    for img in iter:
        d = os.path.join(dest, os.path.split(img)[-1])
        if os.path.exists(d):
            os.remove(d)
        shutil.copy(img, dest)
        yield d

def format_history(src, dest, format="basic"):
    """
    Formats history based on module
    `releases <https://github.com/bitprophet/releases>`_.

    @param      src     source history (file)
    @param      dest    destination (file)

    Parameter *format* was added. :epkg:`Sphinx`
    extension *release* no longer used but the
    formatting is still available.
    """
    with open(src, "r", encoding="utf-8") as f:
        lines = f.readlines()

    new_lines = []
    if format == "release":
        tag = None
        for i in range(0, len(lines)):
            line = lines[i].rstrip("\r\t\n ")
            if line.startswith("===") and i > 0:
                rel = lines[i - 1].rstrip("\r\t\n ")
                if "." in rel:
                    del new_lines[-1]
                    res = f"* :release:`{rel}`"
                    res = res.replace("(", "<").replace(")", ">")
                    if new_lines[-1].startswith("==="):
                        new_lines.append("")
                    new_lines.append(res)
                    tag = None
                else:
                    new_lines.append(line)
            elif len(line) > 0:
                if line.startswith("**"):
                    ll = line.lower().strip("*")
                    if ll in ('bug', 'bugfix', 'bugfixes'):
                        tag = "bug"
                    elif ll in ('features', 'feature'):
                        tag = "feature"
                    elif ll in ('support', 'support'):
                        tag = "support"
                    else:
                        raise ValueError(
                            f"Line {i}, unable to infer tag from '{line}'")
                else:
                    nline = line.lstrip("* ")
                    if nline.startswith("`"):
                        if tag is None:
                            tag = 'issue'
                        res = f"* :{tag}:{nline}"
                        if new_lines[-1].startswith("==="):
                            new_lines.append("")
                        new_lines.append(res)
                    elif nline.startswith("#"):
                        if tag is None:
                            tag = 'issue'
                        spl = nline.split(':')
                        nb, doc = spl[0], ':'.join(spl[1:])
                        res = f"* :{tag}:`{nb.strip('#')}`: {doc.strip(' ')}"
                        if new_lines[-1].startswith("==="):
                            new_lines.append("")
                        new_lines.append(res)
                    else:
                        new_lines.append(line)
                        if line.startswith(".. _"):
                            new_lines.append("")
    elif format == "basic":
        reg = re.compile(
            "(.*?)((`([0-9]+)`:)|([#]([0-9]+):))(.*?)[(]([-0-9]{10})[)]")
        for line in lines:
            match = reg.search(line)
            if match:
                gr = match.groups()
                issue = gr[3]
                if issue is None or len(issue) == 0:
                    issue = gr[5]
                desc = gr[6].strip()
                date = gr[7].strip()
                new_line = f"{gr[0]}:issue:`{issue}`: {desc} ({date})"
                new_lines.append(new_line)
            else:
                new_lines.append(line.strip("\n\r"))
    else:
        raise ValueError(f"Unexpected value for format '{format}'")

    with open(dest, "w", encoding="utf-8") as f:
        f.write("\n".join(new_lines))


text:
ReviewsComics
The Impending Blindness of Billie Scott tells a poignant story of youth, art, and purpose
Image: Zoe Thorogood
Caitlin Rosberg
On the surface, The Impending Blindness of Billie Scott is simply a coming-of-age story, a sweet and delightful portrait of the wild and wonderful people you can encounter in your early twenties, provided you're amenable. As the title implies, the titular Billie Scott is about to go blind. That would likely panic just about anyone, but Billie has the additional complication of needing to complete ten paintings for a prestigious art gallery before a two-week deadline (imposed by her impending loss of vision) is up. So she forges ahead, out of her comfortable but claustrophobic life in a student flat and out into the world, finding people to paint as she goes.
The Impending Blindness of Billie Scott
Zoe Thorogood
Avery Hill
Zoe Thorogood, not so far in age from Billie, has created a book that's rich with detail without feeling fussy or overly refined. There's a panel early on where the reader can see the bottom of Billie's coffee mug, which features an intact UPC sticker, the sort of detail that grounds and humanizes a large and sometimes complicated story. The book's backgrounds are filled with a cacophony of posters and people and mess, lending Billie's adventure a tight and confined feeling, even after she's left the borders of her tiny room. The book is largely in grayscale, with swaths of one or two accent colors that change with the scenes and help set the tone for every interaction. The art is lovely but doesn't shy away from grime or the truly absurd, and the story is stronger for it.
Every character is drawn with a level of detail that tells you a lot about them from the moment they appear, but are still given space to surprise readers with their needs and motivations. Billie's sketchbook fills quickly with drawings and observations about each one, guiding the reader to view them through her perspective as a young person who might not be aware of just how vulnerable she really is. Thorogood continues this delicate tightrope walk by giving Billie a supporting cast that's neither completely threatening nor saintly, but simply human. Her roommates are friendly despite her long-term avoidance of them, and her encounters throughout the book run the gamut from warm to awful: She's embraced by a chaotic group of drunk women at a bachelorette party, but she's also robbed and assaulted. Overall, there are more people willing to come to her aid than want to take advantage of her, which feels honest to the world in which Billie lives.
AdvertisementYou can skip ad after 1 second
You can go to the next slide after 1 second
It's clear that her naïveté and unwillingness to trust people are both hindrances to her safety and progress, and Thorogood navigates this complicated idea very well. Billie is granted space to really screw up and make mistakes, but also given second and third chances—opportunities to not only reevaluate and redefine her goals, but also reach them. It's a touching exploration of what it means to make art and how to find your people, and why both things are important. To quote Billie's friend Rachel, it's about why you should care.
There's a period towards the end where the metaphors and imagery Thorogood has used thus far give way to something more explicit, and it veers towards preachiness. Billie herself even makes a joke about how cringe-inducing some of it is, which helps to defuse the awkwardness—but it's definitely not as graceful as the vast majority of the book. It feels like Thorogood doesn't trust the readers, or herself, enough to come to the book's conclusions on their own, which is a shame; her storytelling up to that point is far more confident and deft than she seems to believe it was. Given this is her first published book, there's no doubt she'll continue to hone her craft and use her skills for future projects that will surpass even this great book.


text:
Whatever Happened to Labourism?
James Naylor
DOI: https://doi.org/10.25071/1913-9632.39412
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Authors retain copyright of their work. Any uses not covered by the license require permission from the rightsholder. We ask that republication and reuse of content cite the original publication in Left History.
Left History and its trademark are held under the copyright of the journal, which is published in the York University Department of History. Left History is committed to Open Access by publishing articles online under a CC BY-NC-ND 4.0 license.


These articles are related to mobile commerce changes and companies within the United States. We post daily articles about US mobile shopping trends and how this is affecting America's industry of all kinds.
Can Kimbal Musk's QR code food tracing restore trust in American food?


text:
Digimag
E-Newsletter Archives
E-newsletter Advertising Sign-up Form
Dedicated to the Specialty Toy Industry
Your Stores
Hot Toys – How Mildred & Dildred Became the Go-To Toy Shop in Tucson
Friends in High Places
Small Business Big Future
Retailers Recommend Fabulous Products
Charting a Course with MAP
Things that Make You Smile
It's Not Too Late for a Holiday Toy trends forecast
Guide to Specialty Toy Suppliers
List your company for FREE
получить кредит онлайн взять кредит микрозайм быстрый займ микрозаймы быстрый кредит наличными микро займы займ заем онлайн займы займы онлайн займ онлайн деньги в долг кредит кредит наличными
November/December 2015, Your Store
The Oasis in Paradise
Sari and Sam Powazek, "toy experts" in Arizona, have been married for 46 years. For most of that time, they've been toy store owners. Over the decades, there have been a lot of changes in the toy retail industry – and more than a few challenges – but the couple rolls with the punches.
They opened The Doll House in 1977, in Paradise Valley, a small and affluent tourist town bordering Phoenix and Scottsdale. Their specialty was miniatures and dollhouses; over the years they've expanded into other specialty-toy categories like arts & crafts, STEAM, games, dolls, puzzles, cars and trucks. Miniatures and dollhouses still account for about 10 percent of their business.
Then an American Girl store opened nearby, and kids began spending less time doing crafts and collecting, and more time on their computer. "The collectible market was strong until 2000 when Beanie Babies crashed it," Sari says. "It never recovered."
But the store bounced back, thanks to the Powazeks' three-year plan. "We decided to reinvent ourselves every three years," Sari explains. "We look to do something new or different, whether it's launching a new website, phasing out a product line, or opening a Middleton Nursery in the store. Not only does it allow us to grow, it also gives our customers a new experience. Thinking about a reinvention gets my creative juices flowing. One year, it was as simple as reframing the windows in a bold color. We painted them bright yellow so passersby couldn't miss us."
Last year, the store relocated and rebranded in its biggest transformation to date. With the addition of an indoor children's play area, The Doll House became Toys & Playtime Oasis.
Sari with The Cat in the Hat and Sam.
Play time promotes shopping time and vice versa
Playtime Oasis, for kids ages 5 and under, was inspired by the couple's twin grandsons; toddlers at the time. "I can handle an entire classroom of kids, but taking my 1-year-old grandsons to the park by myself, no way," explained Sari, a former early-childhood educator. "There was an indoor play area in northern California, and when we went there the boys were safe, entertained, and would play for two hours."
The timing was ripe for a change – their lease was up, and their landlord would not negotiate a reasonable rent. "When you move, it's like starting over," explains Sari. "We decided it was a good time to change our name. Many people thought a store called The Doll House was just for girls or only sold dolls."
She and Sam looked for and found a larger space just two miles away. They signed a new lease in mid-November 2013, opened the store the following February and the play area in March.
They figured the new concept would be particularly appealing to parents of young children … who had years of toy buying ahead of them. She's right – five to 10 new people come in each day. To get to the play area, they have to walk through the store. The challenge is getting them to stop and shop. That's why Sari displays "pick-me-up stuff," like eye-catching coloring books, along the way. Once they make their first purchase, she says, it's easier to get them to buy again.
In addition, the toys in the play area are stocked in the store.
Display units – not walls – divide the retail space from the play space, "so shoppers can see in and hear children having a great time," Sari says.
One big location
Today, 3,500 square feet is devoted to retail – quite a change from the 600-square-foot space they started out in 38 years ago. The store has moved four times, and at one point, the Powezaks experimented with a second location. "If your original store has great traffic and wonderful sales, you may think opening an additional one is easy," Sari cautions, "But sometimes, what sells in one place can't be given away in another. And how you do business in one place doesn't necessarily translate to the other. If a second location is in your plans, make sure you're strong enough to go through a learning curve."
Through all its moves, the store has remained in Paradise Valley. The new location is on North Scottsdale Road, one of the area's busiest streets. "The schools are great, so it's a prime area for families," Sari says. "We also serve a lot of snowbirds and tourists who come to the area for the fabulous golf courses and five-star resort hotels." (Paradise Valley is home to eight full-service resorts.)
There are two specialty toy stores in town, located just three miles apart. "That's okay," Sari says. "We send people back and forth, I can't carry everything and neither can she.
"This community is very loyal," she adds. "Some of my customers have shopped here since they were kids and now bring in their grandchildren. But it's also very transient – everyone is a transplant from someplace else. Very few people were born here."
Sari complains about locals who shop online, but come into her store to ask for a donation. "It's hard to figure out what to do in those situations," she admits. "I never say no to school fundraisers, but if someone pops in who has never walked through our store, that's a different situation."
Spreading their message across the universe
Sari and Sam recently launched a new website that presents Playtime Oasis and the changes to their business model. "Our original website was state-of-the-art 10 years ago," Sari says. To update it, they hired marketing and web-design company hibu. The site remains mostly informational, not e-commerce, and the team is currently working on a mobile app.
Toys & Playtime Oasis is one of the first businesses in the area to experiment with PikFly, a new, Phoneix-based online marketplace with plans to branch out nationwide. "Customers go to pikfly.com and choose something from our store," explains Sari. "PikFly buys the product from us and gets it to the customer within two hours. The shipping/delivery is free." Sari negotiated to pay a discounted introductory price for the service, but customers will pay around $99 per month if the venture is successful.
Sam and Sari also keep a marketing professional on retainer. "She gets us online and promoting our activities rather than our products, to get people to come in the door," Sari explains. "Thanks to Amazon, traditional sales are no longer effective unless we're offering 80 percent off."
The store's email list includes 5,000-plus addresses, and the average open rate is 20 to 25 percent – which is high, notes Sari. Online interactions like Google+ 360 Virtual Tool and videos have helped introduce new customers to the store and play area.
Not everything is high-tech. "We got a POS system in the '90s but don't use it to the fullest extent," she says. "Sam's an old-fashioned accountant, and he won't use QuickBooks. It's basically just for inventory control and a cash register."
Toys & Playtime Oasis has just two employees, plus Sam and Sari. "We bring in a few extra people during the holiday season, but we really like to work our own store," Sari says. "I love seeing kids' eyes light up when they come in, and there's nothing like getting a huge shipment while listening to belly laughs coming from the play area."
Their business is one-and-a-half years away from its next reinvention. We wanted to know what's next. "I haven't gotten there yet," Sari told me, "but we are thinking of expanding, redesigning and improving our new concept. The first try is always a learning experience."
A Have-Fun Haven for Toddlers and Parents
Sari's vision for an indoor toddler play area came to life when they opened Playtime Oasis in February 2014. "There was nothing in the Paradise Valley community for that age group – the big kids were always there, too," Sari explains. "We created a place where little kids can crawl around on the floor and be safe."
The 2000-square-foot fenced-in play area is specially designed for children ages 5 and under, and features a super-fun climbing structure with plenty of soft mats on which little kids can play and roll around. The space is equipped with some of the bestselling toddler toys from the adjoining toy store like train tables, books, puzzles, chalkboards, ride-on toys, Magna-Tiles and more. The walls are hand painted with a Dr. Seuss-inspired mural and "clouds" hang from the ceiling's exposed beams. "We're known for the sky on our ceiling," Sari says, "because for our children, the sky's the limit!"
Parents love the space, too. They bring their energetic 2-year-olds to play while they sit in peace. "Playtime Oasis is very homey and welcoming," Sari says. "Moms are comfortable nursing here, and dads have fallen asleep on our couches."
Parents must remain in the play area to watch their children. "They know the rules. If they want to shop in the store, a friend needs to stay with kids.They can't leave and come back, but they're welcome to pack a lunch and stay for the day. Many do."
She and Sam are all about fun, but the play area is an additional liability, so they made sure to purchase more insurance. They remain very focused on keeping it clean, so shoes are not allowed beyond the fence (ditto food and drink), and socks must be worn at all times. Before opening, they hired local child safety experts Arizona Childproofers to double-check for hazards. The fence, for instance, features a childproof gate. Each day, the playroom is cleaned, vacuumed, and disinfected with an all-natural sanitizer.
Playtime Oasis is open seven days a week: 9 a.m. to 7 p.m. Monday through Friday, 9 to 6 on Saturday and 10 to 5 on Sunday. A day of unlimited open play costs $9 per child. Adults are free and there's no charge for babies who aren't walking yet. A special session on Tuesday mornings ($6 per child) includes 30 minutes of open play, along with two structured music and dance sessions with finger-play songs, puppets and musical instruments. There is a free one-hour story time on weekday afternoons.
In addition to open play, there are parties! Playtime Oasis hosts two-hour princess tea parties or superhero surprise visits with a 30-kid limit, so that each child gets one-on-one time for activities like face painting and pictures. Parents can also book the space for birthday parties. Up to 100 kids can be accommodated in the space for one-hour live music or theater performances ($15 per child).
Over the years, Sari has not only become an expert on children, she's learned a lot about their parents – so much so that Time magazine talked to her for the cover story in its October 26 issue. In "Help! My Parents are Millennials," she notes that the parents she sees in her play space are more hands-on than those of previous generations, and that they look to their children for direction. "They question themselves, they question the child. 'Are you sure? Are you sure? Is this what you want?'" Sari told Time.
"Powazek says that while the parents she sees at her store are constantly questioning, the kids seem more confident and more verbal," says the article. "They're used to talking and wanting to be heard."
Story by Jenn Bergin
Photos by Toys & Playtime Oasis and thingstodoinphoenixwithkids.com
Previous articleAll Shook Up
Next articleSpecialty Toy TECH
by Kevin Fahy
Read His Latest...
Industry news and products for people who sell toys, games and gifts delivered directly to your email inbox.
Company Type Retailer/Wholesaler Manufacturer/Publisher Independent Rep Other
Service Obsession
Shelves full of shiny new products won't matter if you fail to focus on service by Tina Manzer After struggling through years of…
edplay
171 Reed St.
Geneva, NY 14456
PH 315-789-0458 | 800-344-0559 | FX 315-789-4263
Copyright © Fahy-Williams Publishing Inc. All rights reserved


Although celebrated by others, Newroz is especially important for the Kurds as it is also the start of the Kurdish calendar and celebrates the Kurds own long struggle for freedom.
The legend of Kawa the Blacksmith and Newroz has been told in many ways. We publish here the legend as written by Mark Campbell.
A long time ago in between the two great rivers Euphrates and Tigris there was a land called Mesopotamia. Above a small town and tucked into the side of the Zagros Mountains, there was an enormous stone castle with tall turrets and dark high walls. The castle was cut out of the mountain rock. The castle gates were made from the wood of the cedar tree and carved into the shapes of winged warriors. Deep inside the castle lived a cruel Assyrian king called Dehak. His armies terrorized all the people of the land. All had been well before Dehak''s rule in Mesopotamia.
He chose Dehak to take over the throne, who then killed Jemshid and cut him in two. The evil spirit, disguised as a cook, fed Dehak with blood and the flesh of animals and one day as Dehak complimented him on his meat dishes, he thanked him and asked to kiss the king's shoulders. As he did so there was a great flash of light and two giant black snakes appeared on either side of his shoulders. Dehak was terrified and tried everything he could to get rid of them. Ahriman the Evil disguised himself again, this time as a physician and told Dehak that he would never be able to rid himself of the snakes and that when the snakes became hungry Dehak would feel a terrible pain, which would only be alleviated when the snakes were fed with the brains of young boys and girls. So from that dark day onwards two children were chosen from the towns and villages that lay below the castle. They were killed and their brains were taken to the castle gates and placed into a large wooden bucket made from the wood of a walnut tree and held firmly together by three thin bands of gold.


Millions of people in conflict zones around the world are in need of food. Nothing is more important for world peace than ending hunger.
Al Hol, a sprawling, isolated conglomeration of tents on rocky soil surrounded by a chain-link fence and armed guards, held about 9,000 people in December. As the Daesh's final territories fell, its population swelled to more than 72,000.
Conditions are dire for most of the 19 million Syrians living across the ravaged country, including in the roughly one-third of the country that remains outside government control.
Since late January, the extremist group has been kidnapping and, in some cases, executing Iraqi truffle hunters, mostly in the deserts of western Anbar province.
The White House has delivered mixed messages on the matter.
The fighting came a day after an SDF official said they could soon resume the offensive against Daesh, adding that the battle could last three days.
She was 15 when she joined Daesh. Then, four years later, Shamima Begum showed up in a refugee camp in Syria, pregnant and asking to return home. But now British Home Secretary Sajid Javid is under fire, after Begum's son, born around three weeks ago, died in the Syrian camp.
After a 10-day truce to encourage more surrenders, the battle resumed this weekend with a ferocity previously unseen in the small corner of Syria.
Shamima Begum fled Britain four years ago to become a Daesh bride. Now, with the militant group's self-proclaimed "caliphate" crumbling and two of her three children dead, she says she wants to return home.
A Facebook post from the Ummah Masjid and Community Center says the service will begin at 1:30 p.m. at the Cunard Centre on Halifax's waterfront.
About 200 families remain trapped in Daesh's last remaining slice of territory in eastern Syria, the United Nations said Tuesday.
Thomas Walkom: What to do with Canadian Daesh supporters who want to come home?
For the governing Liberals, who campaigned on the slogan that Canadian citizenship is sacrosanct, the fate of returning Daesh supporters was always a political problem.
Utterly fearless, stubbornly rebellious, committed to recording the suffering of civilians in conflict zones. Targeted and murdered amidst the ruins of Homs seven years ago by the Bashar Assad regime.
Terrorism experts say it is hard to overstate the role his effortless English narration played in bringing the terrorist group's propaganda to English speakers and luring some of them to its cause.
The Syrian government and affiliated forces have launched more than 300 attacks using chemical weapons during the country's nearly eight-year conflict, a report said Sunday.
As a measure of its prospects, many countries have signalled that they will not be sending their top diplomats to the meeting — possibly nearly half.
The women, who say they are from Alberta and Toronto, were featured in a CNN report after fleeing a besieged Daesh stronghold.
The Star spent four months talking to dozens of settlement workers and Syrian refugees, who described ongoing language barriers and mental health struggles, as well as child-care, employment and housing woes. With a $1-billion price tag, there is a dearth of comprehensive data to show whether resettlement has been the unprecedented success the government says it is.
Gen. Joseph Votel also told the Senate Armed Services Committee that Daesh militants still controlled around 50 square kilometres of territory in Syria.


Are you in a rut? Overwhelmed? Or just plain stuck in the mud?
I've been there, we all have. I've been stuck for the past three months on this blog. More on that in a bit.
Sometimes when you're in the middle of the forest it's hard to see anything but the trees right in front of you. When you're blinded, it's hard to find the right answer.
I saw this video, and it got me thinking. Sometimes the answer is as easy as "walking off the escalator".
Don't confuse "walking off the escalator" with "go quit the job you hate tomorrow" or "give up on your side hustle" because that's not what I mean.
I've been stuck with this site for the past three of months. My last post was on February 11th.
It doesn't mean that I haven't been writing. In fact, I've been quoted and featured at time.com, AOL Real Estate, oyster.com, trulia.com, cio.com, wisebread.com just to name a few..
I've been stuck for reasons I'll share in the next post but for now, I'm using this post to "walk off the escalator" and get myself unstuck from blogging.
Is it my best post? Absolutely not. (By the way, general consensus is that this post is my best yet).
Is it my best post since February 12th? Yes. It's also the first step to getting me unstuck and posting here at VOSA on a regular basis again.
Forward momentum can be contagious. Take that first step. Pick up the phone and make that call you've been putting off. Apply for the job you want. Ask that person out. Walk off the escalator!
If you're feeling stuck, start to think about how you can "walk off the escalator".
What is the first small step you can take to re-start your forward trajectory?
Could it be signing up for a hosting account and finally start that blog you've been talking about for 4 years?
Could it going for a walk/run before you go to bed tonight to start losing the weight that's been weighing you down for the past decade?
Great video! Don't be afraid of the word "no" is not that scary. Go ahead walk off the escalator. Good luck Brent!
Thanks Brian! The power of NO is huge. Thanks for the reminder.
This video is awesome. I was laughing so hard at the end when they were struggling to get comfortable while sleeping on the stairs. Haha. Kindof makes me feel like I've been blowing my problems out of proportion lately.
Glad you enjoyed the video. A good tactic I've used is to imagine the worst case scenario for whatever you're going through. It almost always isn't as bad as you think it might be.
I've been starting at a pile of crap in my basement for coming on two years now. My plan is to sell the stuff on craigs list but I haven't been able to get started. I listed a pair of speakers this morning after watching this video. Just the push I needed. Thnx!
Way to go Harold! Sell sell sell!


Catherine Zeta-Jones will always remember the first time she met Michael Douglas.
The 48-year-old Feud actress reminisced about meeting her husband by sharing a sweet throwback pic of herself with the actor on her Instagram on Friday. In the snap, Zeta-Jones looks stunning in a black strapless dress with her brunette hair curled in an updo, wearing red dangling earrings. She looks at Douglas, who is seated next to her and in mid-conversation.
"Meeting my husband for the first time at the Deauville Film Festival. Can't remember what he was talking about," the Chicago star captioned the Instagram photo.
The couple tied the knot Nov. 19, 2000, and has been married for almost 18 years. The pair share two children together; 15-year-old daughter Carys and 17-year-old son Dylan. Last year, Zeta-Jones celebrated their 17-year anniversary by sharing a photo from their wedding day and writing a sweet message to Douglas, 73.
"17 years ago today, I said 'I do' to my best friend and father of our two and a half month old son," Zeta-Jones wrote. "Thought it could never get better than that day, but it did. Happy anniversary darling, Michael. With you, in my life, and Dylan and Carys, every day could be a twelve hour fantastic party at the Plaza in New York. Love you. #love #lovestrong."
At the end of last year, ET caught up with Zeta-Jones in New York, where she shared her secret to a happy and lasting marriage.


If there was link bait for me, this would be it. Jorge Luis Borges on Samuel Johnson (two of my favorite writers of all time) and Boswell.
Perhaps Boswell simply felt it as an aesthetic necessity that to better showcase Johnson, there should be a very different character alongside him. Something like in the novels of Conan Doyle: the mediocre Dr. Watson makes the brilliant Sherlock Holmes stand out even more.
Thus, we have, in that book, the pompous sort of character Boswell makes himself out to be.


what action, if any, should be taken.
Evaluation involves searching and making connections with other records. This may require staff to search the different business areas and apply relevant evaluation criteria.
Evaluation should be proportionate to the nature of the information. For example, incident records should be evaluated quickly to determine the urgency of response required. A crime-in-action normally requires a faster response than an abandoned vehicle report. A series of reports relating to similar events or situations might, however, require a more in-depth analysis to see if they represent a pattern. For example, a series of reports of fires being started at particular locations might warrant details being entered onto an information/intelligence report.
a decision is made on whether to sanitise the police information where the source or content is sensitive. Sanitisation of information occurs when material is removed which explicitly or implicitly identifies a source, or identifying details of a data subject are removed.
The details of people held in police custody, incident records, crime records and other investigation records are an important source of information that may have an intelligence value. It is essential that the personal details of all detainees are verified to ensure the accuracy of the record.
Evaluation may occur automatically but, in some circumstances, the information needs to be recorded onto the intelligence report for input into the intelligence system. Reports need to be evaluated for their accuracy before being assessed for the level of policing response necessary. Incident reports are managed through a priority assessment process which identifies the urgency of the response required.
Many forces have adopted an immediate incident research capability or bureau (IRB). The IRB is responsible for conducting immediate research on the details of incident reports relating to high-risk issues. It does this by examining all other business area records relevant to the report. The IRB ensures that all officers attending incidents are informed of any risks they are likely to face on attending the location or dealing with the subject of the report.
This process identifies whether an immediate response is needed, for example, is there a threat to life or significant risk to the public?
deciding to take no action.
ensure that the staff responsible for evaluating police information are trained in accordance with the national training and delivery strategy.
ensure the proper completion of the intelligence report in line with guidance.


text: export * from './settings-ui.component';


Updated: Jan. 19, 2019, 10:47 p.m.
Ashley Woodroffe had 25 points for the Flowery Branch girls in a 64-48 win against Marist on Saturday. Ashlee Locke had 12 points and 10 rebounds for the Lady Falcons (19-3), while Caroline Wysocki and Ashley Scott each put in 11 points.
On Tuesday, Flowery Branch faces Denmark at 6 p.m.
JOHNSON BOYS 51, WEST HALL 50: Danny Garcia hit the go-ahead layup for the Knights with five seconds left to play on Saturday.
Wade Pearce scored 17 points for Johnson, while Jesse Harbin had 16 points.


New Nautical Coatings, Inc. develops and manufactures unique products to provide professional applicators and end-users with the highest quality, specialty paint and coating solutions for protecting and enhancing specific surfaces. Established in 1978, New Nautical Coatings is family owned and operated with a commitment to excellence in everything we do. Our progressive chemistry and manufacturing processes ensure every coating we produce surpasses market expectations while our customer-driven focus provides clients with the ultimate in customer satisfaction. The New Nautical Coatings, Inc. business campus is an 8-acre facility that houses our corporate office, laboratory, production facility and training center in Clearwater, Florida. Our extensive sales and technical support staff is strategically located across the United States. New Nautical Coatings products are available internationally with products currently sold on every continent through a network of brand-specific distributors, dealers and private labels. For more information, contact Michael O'Keene at (727) 523-8053 or visit www.NewNauticalCoatings.com.
Questions or comments? Drop us a line, we'd love to hear from you! And let us know if you'd like to be on our monthly email newsletter list.
Copyright © 2018 New Nautical Coatings, Inc - All Rights Reserved.


My research focuses on programming new cellular behaviors by designing and embedding synthetic gene networks that perform desired functions in single cells and multi-cellular environments. We genetically engineer a variety of cell types including bacteria, yeast, and mammalian stem cells. This nascent field of Synthetic Biology holds promise for a wide range of applications such as programmed tissue engineering, environmental biosensing and effecting, biomaterial fabrication, and an improved understanding of naturally occuring biological processes.
The construction of de-novo genetic circuits begins with the assembly and characterization of genetic parts, or building blocks. We have assembled a library of genetic components that regulate transcription, translation, phosphorylation, and synthesis of and response to signaling molecules such as acyl-homoserine lactones in bacteria and cytokinins in Eukaryotes. We then combine these parts into various network topologies that elicit new behaviors in a programmable fashion. In single cells, we have constructed transcriptional cascades and other network topologies with feedback and feed-forward motifs. We have shown theoretically and experimentally that these networks can perform digital computation, attenuate gene expression noise, or exhibit analog programmed functions such as pulse generation. Through the construction and analysis of such fundamental network motifs, we aim to demonstrate sophisticated programmed control over gene expression as well as improve our quantitative understanding of naturally occurring complex gene networks.
Another major emphasis is engineering synthetic multicellular systems through the integration of intracellular circuits with cell-cell communication mechanisms (e.g. lux and rhl quorum sensing systems). Beginning with simple sender-receiver systems, we have built a variety of more sophisticated multicellular interactions for coordinated cell behaviors. One such system is the pulse generator where sender cells communicate to nearby receiver cells, which then respond with a transient burst of gene expression whose amplitude and duration depends on the distance from the senders. In another system, receiver cells have been engineered to respond to cell-cell communication signals from senders, but only if the signal concentrations fall within prespecified ranges. We demonstrated experimentally how a multicellular system that consists of several different detection thresholds can generate a variety of interesting spatial patterns (shown in the figures below). In a third system, cells have been engineered to "play" Conway's Game of Life, where cells live or die based on the density of their neighbors. This system exhibits complex global emergent behavior that arises from the interaction of cells based on simple local rules. We are currently building a variety of other multicellular systems in bacteria that have interesting spatiotemporal dynamics. Finally, we are also implementing synthetic gene networks and artificial cell-cell communication in mammalian stem cells in order to control the spatiotemporal expression patterns of cell fate regulators, with novel applications in programmed tissue engineering.
Click here for a my lab's webpage.
Click here for a list of my recent contributions in synthetic biology.
Click here for an older list of my publications.
My official Biological Engineering web page is here and my Electrical Engineering and Computer Science web page is here.


text:
using System;
using System.Collections.Generic;
using System.Text;
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Math;
using Org.BouncyCastle.Security;
using Org.BouncyCastle.Asn1.X9;
using Org.BouncyCastle.Asn1.Sec;
using Org.BouncyCastle.Asn1.Nist;
using Org.BouncyCastle.Asn1.TeleTrust;
using Org.BouncyCastle.Asn1.CryptoPro;
using LicenseOn.License.Core;

namespace LicenseOn.License.Generator
{
    public class KKey
    {
        public static AsymmetricCipherKeyPair GenerateKeyPair(KeyPairAlgo algo)
        {
            switch (algo)
            {
                case KeyPairAlgo.RSA:
                    return __GenerateRsaKey();
                case KeyPairAlgo.ECC:
                    return GenerateEccKey();
                default:
                    throw new ArgumentException("Algo not found!");
            }
        }

        public static AsymmetricCipherKeyPair __GenerateRsaKey()
        {
            IAsymmetricCipherKeyPairGenerator fact = GeneratorUtilities.GetKeyPairGenerator("RSA");
            fact.Init(new RsaKeyGenerationParameters(BigInteger.ValueOf(0x10001), new SecureRandom(), 768, 25));

            AsymmetricCipherKeyPair keyPair = fact.GenerateKeyPair();

            return keyPair;
        }

        public static AsymmetricCipherKeyPair GenerateEccKey()
        {
            IAsymmetricCipherKeyPairGenerator fact = GeneratorUtilities.GetKeyPairGenerator("EC");
            fact.Init(new ECKeyGenerationParameters(kUtil.EcDomain(), new SecureRandom()));

            AsymmetricCipherKeyPair keyPair = fact.GenerateKeyPair();

            return keyPair;
        }
    }
}


Buy Instagram Video Views is the greatest way to become popular and it produces quick results. A good way to boost the number of your Instagram Video Views without waiting for a long time is to buy Instagram Video Views. By buying Instagram Video Views you can have immediate credibility and your profile looks more trustworthy. The benefit of buying Instagram Video Views is that we always provide genuine Instagram Video Views to purchase. Buy Instagram Video Views through us and experience instant delivery.
SKU: INSTAV. Category: Buy Instagram Services. Tags: Add Instagram Views, Best Website Buy Instagram Video Views, Buy Cheap Instagram Video Views, Buy Instagram Video Views Cheap, Buy Real Instagram Video Views, Buying Instagram Video Views, Get Instagram Video Views, Get More Instagram Video Views, How to Buy Cheap Instagram Video Views, How to Get More Video Views On Instagram, How to increase Instagram Video Views, Increase Instagram Video Views, Instagram Video Views For Sale, Pay For Real Instagram Video Views, Purchase Instagram Video Views, Where Can I Buy Real Instagram Video Views.
Buy Instagram Video Views is a new way to get more Video Views on your Instagram cheap with high Quality. by buying Instagram Video Views you can increase the number of your viewers and boost the popularity of your profile. boost your Instagram with our Cheap Instagram Video Views and become a superstar on Instagram. TheSocialTraffic.com as a one of the best Instagram Video Views provider, Helps you to your dream come true. Get thousands Real Instagram Video Views and experience being more reliable on internet through having engaged Video Views. We Offer you our cheap and guaranteed Instagram Video Views with fast delivery and high quality on the market.