text:
\section{Introduction}
\unskip\smallskip
The conventional treatment of color, i.e., the color singlet model, has run
into serious problems describing the data on the production of charmonium and
upsilon states\cite{review}. Specific proposals to solve the charmonium problem
agree on the basic solution: its production is a two-step process where a heavy
quark pair is produced first. At this stage perturbative diagrams are included
whether the $c \bar c$ pair is color singlet or not. This is a departure of the
textbook approach where only diagrams where the charm pair is in a color
singlet are selected. In the Bodwin-Braaten-Lepage (BBL) formalism\cite{bbl}
the subsequent evolution of the pair into a colorless bound state is described
by an expansion in powers of the relative velocity of the heavy quarks in the
onium system. An alternative approach, color evaporation or the soft color
method, represents an even more radical departure from the way color singlet
states are conventionally treated in perturbation theory.  Color is, in fact,
``ignored''.  Rather than explicitly imposing that the system is in a color
singlet state in the short-distance perturbative diagrams, the appearance of
color singlet asymptotic states depends solely on the outcome of large-distance
fluctuations of quarks and gluons. In other words, color is a nonperturbative
phenomenon.

In Fig.~\ref{fig:csm} we show typical diagrams for the production of
$\psi$-particles representing the competing treatments of the color quantum
number. In the diagram of Fig.~\ref{fig:csm}a, the color singlet approach, the
$\psi$ is produced in gluon-gluon interactions in association with a final
state gluon which is required by color conservation. This diagram is related by
crossing to the hadronic decay $\psi \rightarrow 3$ gluons. In the color
evaporation approach, the color singlet property of the $\psi$ is ignored at
the perturbative stage of the calculation. The $\psi$ can, for instance, be
produced to leading order by $q\bar q$-annihilation into $c\bar c$, which is
the color-equivalent of the Drell-Yan process.  This diagram is calculated
perturbatively; its dynamics are dictated by short-distance interactions of
range $\Delta x \simeq m_{\psi}^{-1}$. It does indeed not
seem logical to enforce the color singlet property of the $\psi$ at short
distances, given that there is an infinite time for soft gluons to readjust the
color of the $c \bar c$ pair before it appears as an asymptotic $\psi$ or,
alternatively, $D \bar D$ state. Alternatively, it is indeed
hard to imagine that a color singlet state formed at a range $m_{\psi}^{-1}$,
automatically survives to form a $\psi$. This formalism represents the original
and, as we will show, correct method by which perturbative QCD calculations
were performed\cite{cem,fh:1a,fh:1b,gor}.

\begin{figure}[h]
\begin{center}
        \begin{tabular}{ccc}
                \epsfxsize=0.22\hsize
                \mbox{\epsffile{fig1a.eps}}
                &~&
                \epsfxsize=0.33\hsize
                \mbox{\epsffile{fig1b.eps}}
                \\
                (a)
                &~&
                (b)
                \\
        \end{tabular}
\end{center}

\vskip-.2in
\caption{Typical diagrams for (a) color singlet $\psi$ production and (b)
color evaporation $\psi$ production.
\label{fig:csm}
\label{fig:cem}}
\end{figure}

We will first discuss the resolution of the charmonium problem, emphasizing the
color evaporation approach. The solution suggests a radical departure from the
way color is treated in perturbative QCD calculations. We will subsequently
speculate on the implications for the dynamics underlying the production of
rapidity gaps which refer to regions in phase space where no hadrons appears as
a result of the production of a color neutral quark-antiquark pair. The
connection to charmonium physics is obvious: the $\psi$ is a color-neutral $c
\bar c$~pair!

\section{Onium Calculations with Soft Color}

The ``color evaporation" or ``soft color" treatment of the color quantum number
lead to a similar description of bound and open charm production:
\begin{equation}
\sigma_{\rm onium} = \frac{1}{9} \int_{2 m_c}^{2 m_D} dm~
\frac{d \sigma_{c \bar{c}}}{dm} \; ,
\label{sig:on}
\end{equation}
and
\begin{eqnarray}
\sigma_{\rm open} &=& \frac{8}{9}  \int_{2 m_c}^{2 m_D} dm~
\frac{d \sigma_{c \bar{c}}}{dm}
+ \int_{2 m_D} dm~\frac{d \sigma_{c \bar{c}}}{dm}
\label{sig:op}
\\
& \simeq &\frac{8}{9}  \int_{2 m_c} dm~
\frac{d \sigma_{c \bar{c}}}{dm}
\label{sig:ap}
\end{eqnarray}
where the cross section for producing heavy quarks, $\sigma_{c \bar c}$, is
computed perturbatively.  Diagrams are included order-by-order, irrespective of
the color of the $c \bar c$ pair. The coefficients $\frac{1}{9}$ and
$\frac{8}{9}$ represent the statistical probabilities that the $3\times\bar3$
charm pair is asymptotically in a singlet or octet state. In order to achieve
the phenomenological success described here it is essential to systematically
include next-to-leading order terms. Neglecting O($\alpha_s^3$) terms is
equivalent to describing photon interactions with matter neglecting the
Bethe-Heitler process versus Compton scattering because it is a higher order
process. The former actually dominates at high energy for reasons that are
similar to those requiring the inclusion of higher order heavy quark processes.

In principal the calculation only predicts the sum of the cross sections of all
onium states given by Eq.~(\ref{sig:on}). This sum rule is, unfortunately,
difficult to test experimentally, since it requires measuring cross sections
for {\em all} of the bound states at a given energy. This does not mean that
the calculation has no predictive power. The above equations make the bold
prediction that all onium states $\psi$, $\psi$', $\chi$ and $\eta_c$ states
share the same production dynamics which they also share with open charm in the
limit $m_c \simeq m_D$; see Eq.~(3). The CDF collaboration has accumulated
large samples of data on the production of prompt $\psi$, $\chi_{cJ}$, and
$\psi^\prime$\cite{exp:pt}. Since all charmonium states share the same
production dynamics in the color evaporation scheme, their $p_T$ distributions
should be the same, up to a multiplicative constant.  This prediction is borne
out by the CDF data, as we can see in Fig.~\ref{fig:cdf-pt}. We will return to
a detailed calculation of the distribution shown further on. The formalism
predicts furthermore that, up to color and normalization factors, the energy,
$x_F$ and $p_T$ dependence of production cross sections for onium states and
open charm pairs is the same. Support for the prediction of Eqs.~(\ref{sig:on})
and (\ref{sig:ap}) that the production of hidden and open charm have similar
dynamics is shown in Fig.~\ref{fig:justdata}, which displays charm
photoproduction data for both open charm and bound state production with common
normalization in order to show their identical energy behavior.  A similar
figure for hadroproduction can be found in Ref.~11. By the same argument the
formalism also predicts that the normalized $x_F$ distribution for $J/\psi$ and
$D\bar{D}$ pairs should be the same at a given center-of-mass energy. This is
indeed the case \cite{exp:xfddbar,exp:xfpsi}; see Fig.~\ref{fig:xf}.

\begin{figure}[t]
\begin{center}
\mbox{\epsfig{file=fig2.eps,width=.57\linewidth,angle=-90}}
\end{center}

\caption{Data from the CDF Collaboration \protect\cite{exp:pt}, shown
with arbitrary normalization.  The curves are the predictions of the
color evaporation model at tree level, also shown with arbitrary
normalization. The normalization is correctly predicted within a
K-factor of 2.2.\label{fig:cdf-pt}}
\end{figure}

\begin{figure}[t]
\begin{center}
\mbox{\epsfig{file=fig3.eps,angle=-90,width=.57\linewidth}}
\end{center}

\caption{Photoproduction data\protect\cite{data1,data2} as a function
  of the photon energy in the hadron rest frame, $W_\gamma$.  The
  normalization has been adjusted to show the similar shapes of the
  data.
\label{fig:justdata}}
\end{figure}

\break
One of the most striking features of color evaporation is that the production
of charmonium is dominated by the conversion of a colored gluon into a $\psi$,
as in Fig.~\ref{fig:cem}b.  In the
conventional treatment, where color singlet states are formed at the
perturbative level, 3 gluons (or 2 gluons and a photon) are required to produce
a $\psi$. Contrary to the usual folklore, $\psi$'s are, except at the higher
energies, not produced by gluons. As a consequence color evaporation predicts
an enhanced $\psi$ cross section for antiproton beams, while the color singlet
model predicts roughly equal cross sections for proton and antiproton beams.
The prediction of an enhanced $\bar p$ yield is obviously correct: antiproton
production of  $\psi$'s exceeds that by protons by a factor 5 close to
threshold; see Fig.~\ref{fig:part-anti}. This fact has been known for some
time\cite{fh:1a,fh:1b,gor}. We should note that for sufficiently high energies,
gluon initial states will eventually dominate because they represent the bulk
of soft partons.

\begin{figure}[t]
\begin{center}
\mbox{\epsfxsize=1.5in\epsfbox{fig4a.eps}
\epsfxsize=1.5in\epsfbox{fig4b.eps}}
\end{center}
\vskip-.6in
\caption{ Normalized $x_F$
distribution for the production of of $D\bar{D}$ (histogram) at
$\protect\sqrt{s} = 27.4$ GeV and $J/\psi$ (squares) in proton-nucleon
collisions at $\protect\sqrt{s} = 23.7$ GeV. The curves are the
prediction of our model.\label{fig:xf}}
\end{figure}

\begin{figure}[t]
\begin{center}
\vspace{.5in}
\mbox{\epsfig{file=fig5.eps,width=.6\linewidth,angle=-90}}
\end{center}

\caption{Ratio of the cross sections for the production of $J/\psi$
by proton and antiproton beams in the color evaporation model (solid
line) and the color singlet model (dashed line) as a function of the
center-of-mass energy.  Data taken from
Ref.~14.
\label{fig:part-anti}}
\end{figure}

\section{Quantitative Tests of Soft Color}

The color evaporation scheme assumes a factorization of the production of the
$c\bar{c}$ pair, which is perturbative and process dependent, and the
materialization of this pair into a charmonium state by a mechanism that is
nonperturbative and process independent. This
assumption is reasonable since the characteristic time scales of the two
processes are very different: the time scale for the production of the pair is
the inverse of the heavy quark mass, while the formation of the bound state is
longer than the time scale $1/\Lambda_{\rm QCD}$.  Therefore, explicit
comparison with the $\psi$ data requires knowledge of the fraction $\rho_\psi$
of produced onium states that materialize as $\psi$'s, {\em i.e.,}
\begin{equation}
\sigma_\psi = \rho_\psi \sigma_{\rm onium} \; ,
\label{frac}
\end{equation}
where $\rho_\psi$ is assumed to be a constant, independent of the process. This
assumption is in agreement with the low energy data \cite{gksssv,schuler}. The
constant not only accounts for the direct production of $\psi$ to the onium
cross section, but also includes its production via $\psi'$ and $\chi$
production and decay.

Quantitative tests of color evaporation are made possible by the fact that all
$\psi$-production data, i.e.\ photo-, hadroproduction, $Z$-decay, etc., are
described in terms of a single parameter. Once $\rho_\psi$ has been empirically
determined for one initial state, the cross section is predicted without free
parameters for the other.  We will illustrate the power of the color
evaporation scheme by showing how it quantitatively accommodates all
measurements, including the high energy Tevatron and HERA data, which have
represented a considerable challenge for the color singlet model. Its
parameter-free prediction for the  $Z$-boson decay rate into $\psi$'s is an
order of magnitude larger than the color singlet model and consistent with
data.

In Fig.~\ref{fig:photopro} we compare the photoproduction data with theory,
using the NLO perturbative QCD calculation of charm pair production from
Ref.~17. From the relative magnitude of the $\psi$ and open charm cross
sections we determine the fragmentation factor $\rho_\psi$ to be 0.50 using GRV
HO, or 0.43 using MRS~A structure functions. Note that the factor $\rho_\psi$
possesses a theoretical uncertainty due to the choice of scales and parton
distribution functions.  We conclude the photoproduction of $J/\psi$ and
$D\bar{D}$ is well described by the color evaporation model.  This reaction has
now been used to fix the only free parameter, $\rho_\psi\approx 0.5$.

\begin{figure}[h]
\begin{center}
\mbox{\epsfig{file=fig6.eps,width=.6\linewidth,angle=-90}}
\end{center}

\caption{
  Photoproduction data \protect\cite{data1,data2} and the predictions
  of the color evaporation model at next-to-leading order as a
  function of the photon energy in the hadron rest frame, $W_\gamma$.
  The normalizations in this figure are absolute.
\label{fig:photopro}}
\end{figure}

At this point the predictions of the color evaporation model for
hadroproduction of $\psi$ are completely determined, up to O($\alpha_s^4$) QCD
corrections. In Fig.~\ref{fig:hadro-fit} we compare the color evaporation model
predictions with the data. and conclude that the this color scheme describes
the hadroproduction very accurately. In order to also obtain a theoretical
prediction for the $p_T$-distribution already shown in Fig.~\ref{fig:cdf-pt},
we have computed the processes $g + g \to [c\bar{c}] + g$, $q + \bar{q} \to
[c\bar{c}] + g$, and $g + q \to [c\bar{c}] + q$ at tree level using MADGRAPH
\cite{tim}.  We imposed that the $c\bar{c}$ pair satisfy the invariant mass
constraint of Eq.~(\ref{sig:on}).  Our results are shown in
Fig.~\ref{fig:cdf-pt}. Higher order corrections such as soft-gluon resummation
are expected to tilt our lowest order prediction, bringing it to a closer
agreement with the data\cite{fleming}.

\begin{figure}
\begin{center}
\mbox{\epsfig{file=fig7.eps,width=.6\linewidth,angle=-90}}
\end{center}

\caption{
  Hadroproduction data \protect\cite{exp:psi,exp:charm} and the
  predictions of the color evaporation model at next-to-leading order
  as a function of the center-of-mass energy, $E_{cm}$.  The curve
  for bound state production is an absolutely normalized,
  parameter-free prediction of the color evaporation
model.\label{fig:hadro-fit}}
\end{figure}

In the color-evaporation scheme the width for inclusive $Z$ decay into prompt
charmonium is:
\begin{equation}
\Gamma( Z \rightarrow \mbox{prompt charmonium}) =
\frac{1}{9} \int_{2 m_c}^{2 m_D} dm~
\frac{d \hat{\Gamma}_{c \bar{c}}}{dm} \; ,
\end{equation}
where $\hat{\Gamma}$ is the partonic width for producing a $c \bar{c}$ pair.
The procedure should by now be familiar: in order to obtain the partial width
into a specific charmonium state we multiply the above expression by the
appropriate fragmentation fraction $\rho$ into $\psi$, which was determined
from charmonium photoproduction data.  Notice that the predictions
for the $Z$ decay into charmonium are parameter-free.

We have again evaluated all the tree-level partonic amplitudes using the
package MADGRAPH \cite{tim}. Although formally of higher order in $\alpha_s$,
the dominant process for the inclusive decay of the $Z$ into charmonium is $Z
\rightarrow c \bar{c} q
\bar{q}$, where $q=u$, $d$, $s$, $c$, and $b$. (The leading-order process in
$\alpha_s$ is $Z \rightarrow c\bar{c} g$, which leads to the production of a
charmonium state and a hard
jet is suppressed by a virtual quark propagator of order $m_c/m_Z$). The
branching fraction of $Z$ into prompt $\psi$ is
$(1.7\mbox{--}1.8)\times10^{-4}$. This is to be contrasted
with the color-singlet model which predicts a branching fraction for direct
$\psi$ in $Z$ decay of the order $3\times10^{-5}$ \cite{bcy}. The
color-evaporation model leads to a branching fraction larger by almost an order
of magnitude consistent with the result reported by the OPAL collaboration of
\[
{\rm B}( Z \rightarrow {\rm prompt}~ \psi + X) =
(1.9 \pm 0.7 \pm 0.5 \pm 0.5) \times 10^{-4} \; .
\]

We hope that we have illustrated by now that the soft color approach gives a
complete picture of charmonium production in hadron-hadron, $\gamma$-hadron,
and $Z$ decays. The phenomenological success of the soft color scheme is
impressive and extends to applications to other charmonium and upsilon
states\cite{amundson,schuler}.

\section{Intermezzo: Soft Color and BBL}

Other approaches, very similar in spirit, can be found in Refs.~3, 15 and 23.
The color evaporation approach differs from Ref.~3, the formalism of Bodwin,
Braaten and Lepage, in the way that the $c \bar c$ pair exchanges color with
the
underlying event.  In the BBL formalism, multiple gluon interactions with the
$c\bar c$ pair are suppressed by powers of $v$, the relative velocity of the
heavy quarks within the $\psi$. The color evaporation model assumes that these
low-energy interactions can take place through multiple, soft-gluon
interactions. While the formalism allows straightforward application to heavy
quark decays, it is not always clear how to compute production cross sections
in the BBL formalism (e.g.\ photoproduction of $\psi$ near
$z=1$)\cite{fleming}. The color evaporation scheme, though partly
nonperturbative, is phenomenologically well-defined, has less parameters (1
versus 3 for describing $\psi$-production). Also, next-to-leading order
corrections are included in a straightforward way, a necessary condition for
obtaining quantitative predictions.

The $\psi$'s produced through the color-evaporation mechanism are expected to
be unpolarized since the polarization information is lost because of the
multiple soft gluon exchanges \cite{mirkes}. On the other hand, the
(non)polarization of $\psi$ is hard to explain in the framework of the
color-octet model\cite{pol:com,braatenchen}. Therefore, the measurement of the
polarization of the produced charmonium may very well be a tool to discriminate
between these competing descriptions.

\section{Implications for the Physics of Rapidity Gaps}

The important lesson about color resides however in the similarity, not the
differences of these approaches: perturbative color octet states fully
contribute to the asymptotic production of color singlet states such as
$\psi$'s. We suspect that this is also true for the production of a rapidity
gap which is, e.g.\ when produced in electroproduction, nothing but the
creation of a color singlet quark-antiquark pair; see Fig.~\ref{gap:dis}. The
diagram shown represents the production of  final state hadrons which are
ordered in rapidity.  From top to bottom we find the fragments of the
intermediate partonic quark-antiquark state and those of the target.
Buchm\"uller and Hebecker proposed that the origin of a rapidity gap
corresponds to the absence of color between photon and proton, {\em i.e.}  the
$\mbox{\bf 3} \times \bar{\mbox{\bf 3}}$ ($= \mbox{\bf 1} + \mbox{\bf 8}$)
intermediate quark-antiquark state is in a color singlet state.  Because color
is the source of hadrons, only the color octet states yield hadronic asymptotic
states.  This leads to the approximate expectation that
\begin{equation}
F_2^{(gap)} = \frac{1}{1+8} F_2
\end{equation}
Although this result is subject to corrections, it embodies the essential
physics: events with and without gaps are described by the same short-distance
dynamics. Essentially non-perturbative final-state interactions dictate the
appearance of gaps whose frequency is determined by simple counting. The
treatment of color is the same as in the case of heavy quark production: the
same perturbative mechanisms, i.e.\ gluon exchange, dictates the dynamics of
color-singlet gap ($\psi$) and regular deep inelastic (open charm) events.

\begin{figure}
\begin{center}
\leavevmode\epsfxsize=1.75in\epsfbox{fig8.eps}
\end{center}
\caption{
Mechanism for the production of rapidity gaps in
deep inelastic scattering.}
\label{gap:dis}
\end{figure}

Our understanding of the (soft) nature of color challanges the orthodox
description of rapidity gaps in terms of the so-called hard Pomeron description
sketched in Fig.~\ref{gap:pom}. The $t$-channel exchange of a pair of gluons in
a color singlet state is the origin of the gap. The color string which connects
photon and proton in diagrams such as the one in Fig.~\ref{gap:dis}, is absent
and no hadrons are produced in the rapidity region separating them.  The same
mechanism predicts rapidity gaps between a pair of jets produced in hadronic
collisions; see Fig.~\ref{2j:pom}. These have been observed and occur with a
frequency of
order of one percent~\cite{d0}. The arguments developed in this work invalidate
this approach: it is as meaningless to enforce the color singlet nature of the
gluon pair as it is to require that the $c \bar c$ pair producing $\psi$ is
colorless at the perturbative level. Following our color scheme the gaps are
accommodated as a mere final state color bleaching phenomenon {\em\`{a} la}
Buchm\"uller and Hebecker. This can be visualized using the diagram shown in
Fig.~\ref{2j:ble}. At short distances it represents a conventional perturbative
diagram for the production of a pair of jets. Also shown is the string picture
for the formation of the final state hadrons. Color in the final state is
bleached by strings connecting the ${\mbox{\bf 3}}$ jet at the top with the
$\bar{\mbox{\bf 3}}$ spectator di-quark at the bottom and vice-versa. The
probability to form a gap can be counted {\em \`{a} la} Buchm\"uller and
Hebecker to be $1/(1+8)^2$ because it requires the formation of singlets in 2
strings. This is consistent with observation and predicts that, as was the case
for electroproduction, the same short distance dynamics governs events with and
without rapidity gaps.  The data \cite{d0} is consistent with the prediction of
this simple picture which basically predicts that the gap fraction between $pp$
jets is the square of that between virtual photon and proton in deep inelastic
scattering.

\begin{figure}
\begin{center}
\leavevmode\epsfxsize=1.75in\epsfbox{fig9.eps}
\end{center}
\caption{
Pomeron mechanism for
the formation of rapidity gaps.}
\label{gap:pom}
\end{figure}

\begin{figure}[h]
\begin{center}
\leavevmode\epsfxsize=1.75in\epsfbox{fig10.eps}
\end{center}
\caption{
Pomeron mechanism for
the formation of rapidity gaps in hadron collisions.}
\label{2j:pom}
\end{figure}

\begin{figure}[t]
\begin{center}
\leavevmode\epsfxsize=1.75in\epsfbox{fig11.eps}
\end{center}
\caption{
Color bleaching  picture for
the formation of rapidity gaps in hadron collisions.}
\label{2j:ble}
\end{figure}

One should realize that this string picture is not necessarily the correct one.
It is more likely that the color is bleached between the top and bottom
${\mbox{\bf 3}}$ and $\bar{\mbox{\bf 3}}$ which are widely separated in
rapidity space.

This discussion ignores that gluon-gluon as well as quark-quark subprocesses
contribute to jet production in hadron collisions. In the color flow diagram
corresponding to Fig.~\ref{2j:ble} top and bottom protons each split into a
color octet gluon and color octet 3-quark remnant. There are now $(8 \times
8)^2$ color final states. We anticipate a reduced probability to form a color
singlet. The reduction may not be very significant because the $10 +
\overline{10}$ and 27 color final states may be suppressed. One argument for
this is that these representations consist of exotic multi-quark states which
do not materialize into final state mesons. High color charges may also be
suppressed for dynamical reasons. Despite the fact that we can at best guess
the non-perturbative dynamics, it is clear that the soft color formalism
predicts a gap rate which is similar of smaller in gluon-gluon interactions.
This is in contrast with the diagram of Fig.~\ref{gap:pom} which predicts a
gap-rate enhanced by a factor $\left(9 \over 4\right)^2$ in gluon-gluon
subprocesses\cite{zeppo}. The contrasting predictions can be easily tested by
enhancing the relative importance of quark-quark subprocesses. i.e. by
increasing the $p_T$ of the jets at fixed energy of by decreasing the collision
energy of the hadrons at fixed $p_T$. In either case we anticipate in the soft
color scheme an increased rate for the production of gaps, a prediction
opposite from that expected in the 2-gluon exchange model\cite{hiz}.

Do Figs.~\ref{gap:dis}--\ref{2j:ble} suggest that we have formulated
alternative $s$- and $t$-channel pictures to view the same physics? Although
they seem at first radically different, this may not be the case. Computation
of the exchange of a pair of colorless gluons in the $t$-channel is not
straightforward and embodies all the unsolved mysteries of constructing the
``Pomeron'' in QCD. In a class of models where the Pomeron is constructed out
of gluons with a dynamically generated mass \cite{natale,chehime}, the diagram
of Fig.~\ref{2j:pom} is, not surprisingly, dominated by the configuration where
one gluon is hard and the other soft. The diagram is identical to the standard
perturbative diagram except for the presence of a soft, long-wavelength gluon
whose only role is to bleach color. Its dynamical role is minimal, events with
gaps are not really different from events without them. Soft gluons readjust
the color at large distances and long times. Their description is outside the
realm of perturbative QCD. In this class of models the hard Pomeron is expected
to be no more than an order $\alpha_s^2$ correction, a view which can be
defended on more solid theoretical ground \cite{cudell}.

Some have challenged the theoretical soundness of this line of
thinking\cite{bj,white}. Also note that our discussion is at best indirectly
relevant to completely non-perturbative phenomena like elastic scattering.
There is no short distance limit defined by a large scale.  The Pomeron exists.

\section*{Acknowledgments}

We would like to thank J.~Amundson for collaborations and J.~Bjorken,
G.~ingelman, A.~White, D~Zeppenfeld and S.~Fleming for his insight.  This
research was supported in part by the University of Wisconsin Research
Committee with funds granted by the Wisconsin Alumni Research Foundation, by
the U.S.\ Department of Energy under grant DE-FG02-95ER40896, and by Conselho
Nacional de Desenvolvimento
Cient\'{\i}fico e Tecnol\'ogico (CNPq).

redpajama_set_name: RedPajamaArXiv


text:
Drug Discovery Today (abrégé en Drug Discov. Today) est une revue scientifique à comité de lecture spécialisée dans le domaine de la découverte des médicaments.

D'après le , le facteur d'impact de ce journal était de 6,691 en 2014. Actuellement, la direction de publication est assurée par Steve Carney.

Histoire
Au cours de son histoire, le journal a incorporé différents titres :

 Pharmaceutical Science & Technology Today, 1998-2000
 TARGETS, renommé Drug Discovery Today: TARGETS, 2002-2004
 BIOSILICO, renommé Drug Discovery Today: BIOSILICO, 2003-2004

Notes et références

Liens externes

Revue de pharmacologie
Revue de chimie publiée par Elsevier Science
Revue de biologie publiée par Elsevier Science
Titre de presse créé en 1996

redpajama_set_name: RedPajamaWikipedia


text:
shepherdfuneral@aol.com
Kingston, MA | Carver, MA
CurrentObituary.com
Memorial Store
James Flanagan
Recommend James 's obituary to your friends
Send Flowers for James
Plant a tree in memory of James
Obituary of James Flanagan
Please share a memory of James to include in a keepsake book for family and friends.
James Flanagan, 69, of Pembroke, passed away on August 24, 2022. He is survived by his loving wife Patrice (Steeves) Flanagan, daughter Michelle (Andrews) Feudo of Tewksbury and son in law John Feudo. He is also survived by his grandchildren Ryan & Jackson Feudo as well as sons Greg & James Flanagan of FL. Jim is also survived by his siblings Ed Flanagan, Carol Flaherty and was preceded in death by siblings William Flanagan Jr., John Flanagan and Susan Gill.
Jim worked as a machinist for Bird Roofing in Norwood from 1972-1999. He returned to school in 2000 and earned his degree from Wentworth and Massasoit in Architectural Design. The following years were spent completing countless home improvement projects in his garage and workshop.
He loved to travel and find new adventures, whether exploring Iceland, Europe or Costa Rica he enjoyed all facets of each destination. Jim was an active sports enthusiast, he participated in many activities throughout his lifetime including football, hockey, tennis, skiing, biking and golf. He was also a member of the Country Club of Halifax since 2003. He will be dearly missed by all who knew and loved him.
Visiting hours will be held at the Shepherd Funeral Home, 216 Main St, Kingston on Sunday, August 28th from 11:00 to 1:00pm. A service will be held at the funeral home at 1:00pm.
In lieu of flowers please consider donations to The National Scleroderma Foundation
for awareness or research to the New England Chapter
or to The American Lung Association
A Memorial Tree was planted for James
We are deeply sorry for your loss ~ the staff at Shepherd Funeral & Cremation Service - Kingston
Kingston, MA 02364
Carver, MA 02330
For all mailings please use:
Looking for something you can't find? We make it easy to get the answers you need. Please feel free to contact us at anytime

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Fortify Tool Buffer overflow char tmp[] = "hello world";
char *line;
size_t sz;

sz = strlen(tmp) +1;
line = (char*)malloc(sz);

if (line)
    memset(line, 0x00, sz);

Using a tool called Fortify, it flags the memset as a Buffer Overflow. Any one know why?

redpajama_set_name: RedPajamaStackExchange


text:
Facts about Acceleration
An object is said to undergo acceleration if it is changing its speed or direction or both.
image: slideplayer.com
An object traveling in a uniform circular motion at a constant speed is also said to undergo acceleration because its direction is changing.
A device used for measuring acceleration is called an accelerometer.
image: www.pasco.com
When velocity is plotted against time on a velocity vs. time graph, the acceleration is given by the slope, or the derivative of the graph.
image: kwcalculus.wikispaces.com
Velocity can be thought of as the integral of acceleration with respect to the time.
image: image.slidesharecdn.com
Transverse acceleration (perpendicular to velocity), as with any acceleration which is not parallel to the direction of motion, causes change in direction.
An object traveling in a straight line undergoes acceleration when its speed changes.
The term "acceleration" generally refers to the change in instantaneous velocity.
Given that velocity is a vector quantity, acceleration is also a vector quantity.
A negative value for acceleration is commonly called deceleration.
Jerk is the rate of change of an object's acceleration over time.
Are constant acceleration and zero acceleration the same?
Are constant acceleration and uniform acceleration the same?
What is the acceleration due to gravity on earth?
What is the acceleration of gravity of earth?
What is the acceleration due to gravity on mars?
How does acceleration depend on the force?
Why does the projectile have no acceleration in the horizontal direction?
How is the acceleration of a falling object affected by gravity?
Why does mass have no effect on acceleration?
What is the acceleration of a free fall?
Related Types
Related Question Categories
Acceleration (95)
Velocity (127)


text:
Premier League betting odds
Matches1
Thursday - 1/21/21
Nacional Madeira
1/21/21 8:15 PMBUILD A BET
Primeira Liga betting odds
Although some of the bigger European leagues might be drawing more attention from international football fans, the Portuguese Primeira Liga is about as hardcore and entertaining as football leagues come in terms of passion, skill, history and top clashes. Plus, for half a century, the league has been the birthplace of football legends such as Eusebio, Rui Costa, Nani, Cristiano Ronaldo, Deco, and Luis Figo, as well as top managers like Nuno Espirito Santo, Leonardo Jardim, Andre Villas-Boas and, of course, the Special One, Jose Mourinho, who famously led Porto to win the UEFA Cup (Europa League's predecessor) in 2003 and then, even more astonishingly, Champions League glory in 2004.
This year's season looks set to become another absolute firecracker with a few surprises bound to appear here and there. You can follow every unfolding drama in the Primeira Liga, and get great odds on every match throughout the league's 34 rounds when you place a bet with bwin.
The latest betting odds on the Primeira Liga
At bwin, you can enjoy the thrill of live betting on the Portuguese top division. Can Sporting make it all the way to the finishing line, or will Porto hit the right run and seal their second title in a row or what about Benfica? Can they reclaim the throne and make it 38 titles in total? It all comes down to who wins the classic rivalries such as O Clasico and the Lisbon derby between Benfica and Sporting. A defeat in either of those could prove a fatal blow to aspirations of winning the 20/21 trophy. When you follow the Portuguese league via bwin, you get live and updated odds that reflect the latest developments in the league. Will Sporting, Porto or Benfica lose ground mid-season to their bitter rivals? Can teams like Santa Clara, Nacional, and Braga upset the order?
Get great winner odds on the Portuguese league
Although the Portuguese Primeira Liga has been effectively a two-horse race between Porto and Benfica for the last twenty years, the 20/21 season appears to be a season where change is about to happen. Sporting Lisbon have edged out most of the competition so far and could take home their first Portuguese league title since 2002. While the usual suspects, Porto and Benfica are in hot pursuit, other teams like Braga, Pacos de Ferreira, and Vitoria Guimaraes could definitely also cause an upset or two before the season is over.
Who do you think will win Portugal's top division this season? At bwin, you can find good winner odds on the top three teams and even better odds on any of the underdogs to take home a shock win. It's a long way to go, but in football everything can happen.
to beatAston Villa
to beatSociedad
to beatSevilla
to beatYoung Boys
to beatAsteras
1,548.08 USD


On the day 03/11/2018 a warm bundle fell in the cradle.. 2.600 Kg / 5 lbs 48 cm / 19.2 in Miranda Asleep by Realborn. Hand painted with Genesis heat set paints - Sealed with Matte Varnish - Full vinyl arts - Jointed cloth body - Micro-rooted eyelashes, color light brown - Painted hair, color light brown - Filled with special glass beads and polyfill (NO SAND). I realized Aurora taking care of the smallest details, from the 3D effect of the skin, veins and small capillaries under the skin until the redness and scratches characteristic of infants.
She has even some birthmarks in the shape of a heart and fine capillaries also in the ears! The nails of the hands and feet are painted just like that of a real baby.
She has even the milk spots on the nose! I painted the thin Aurora's hair one by one, layer upon layer, in order to reproduce the movement of the hair of a real baby.
I remove the magnet on request - Certificate of Authenticity - Birth Certificate. And I won the Best Reborn Painting. NB: she isn't a game!
The reborn doll was made by me with the heart, was born after many hours of work, attention to details, to look like as much as possible to a real baby. I hope that will lead to her new'mother' so much joy as she gave it to me in realizing. For more information contact me and I will be glad to answer you as soon as possible! Sorry if my English isn't perfect. The item "Martina's Babies reborn Miranda Asleep by Realborn, so real baby doll" is in sale since Saturday, November 3, 2018.


CsvGatling is a fast, scalable CSV parser with a simple C# interface. The source code is hosted on GitHub, and I licensed it public domain.
…is simple. As shown in the example above, its very simple interface makes it extremely easy to use.
…is streaming. It will not try to read the entire file into memory; it will only read rows into memory as they are being read.
…is scalable. There are no size limits, and the library can easily read CSV files of any number of rows and any number of columns.
…is fast. It uses System.Reflection to map column names to properties with the same name, and usesSystem.Reflection.Emit to dynamically generate code to avoid the need to use Reflection for each row.


text:
Empowerment Fund participates in Tourism Indaba
Pretoria - The National Empowerment Fund (NEF) is participating in the Tourism Indaba 2017 currently underway in Durban.
"The NEF aims to expose its funded investees to the continents top travellers. The Indaba is Africa's top tourism trade show that brings together more than 7 000 delegates that represent the top tourism products in Africa, including the world's leading travel buyers and travel and tourism media," it said of its participation in the Indaba.
The development finance institution, which has invested in excess of R100 million in the tourism industry, said it regards tourism as a modern day engine of growth and as one of the largest industries globally.
"The NEF regards tourism as a modern day engine of growth and as one of the largest industries globally. In 2012, G20 heads of state recognised tourism as a driver of growth and development, as well as a sector that has the potential to spur global economic recovery," said NEF Chief Executive Officer Philisiwe Mthethwa said on Tuesday.
Mthethwa said South Africa's scenic beauty, magnificent outdoors, sunny climate, cultural diversity and reputation for delivering value for money have made it one of the world's fastest growing leisure and business travel destinations.
The recently released World Economic Forum (WEF) Tourism Competitive Index ranks South Africa as number one on the continent ahead of traditional powerhouses like Kenya, Tanzania and Cape Verde.
Since inception, the Empowerment Fund, which is an agency of the Department of Trade and Industry has invested millions within the booming tourism industry accommodation facilities.
Among the NEF funded portfolio investment is Tala Private Game Reserve which is located in Camperdown in KwaZulu-Natal.
This game reserve is home to more than 380 bird species, as well as big game like rhino, kudu, hippo, and the rare Sable Antelope, among others.
"The National Empowerment Fund has invested R14.1 million on behalf of the Nkumbuleni Community Trust. The Trust has a 100% shareholding in Gradoscope (Pty) Ltd, the operating entity," said the NEF.
The NEF has also invested in the Rhino Ridge Safari Lodge which was established to protect the previously endangered white rhino.
Rhino Ridge, which is a newly constructed lodge of contemporary design, is part owned by the local Mpembeni Community. It offers 22 rooms nestled in natural bush high up on the ridge with commanding views of the landscape.
The National Empowerment Fund has invested R20.5 million towards the project on behalf of the Mpembeni Community Trust. The NEF, the private promoter and the Mpembeni Community Trust each have an equal shareholding of 33.3% in Rhino Ridge Safari Lodge.
In addition, the fund has also invested in the Jozini Tiger Lodge which is situated in the heart of the Zulu Kingdom with its rich heritage and untamed natural beauty.
The National Empowerment Fund has invested R28 million towards funding the Jozini community, who are 16.67% shareholders in the business. The communities' interests are held in the holding company Ntsinde Royal Jozini Holdings.
Meanwhile, the new Park Inn hotel in Polokwane has received a R45 million business loan from the NEF. The hotel is set to open during the last quarter of this year.
The hotel's overall funding requirement is more than R150 million.
The Indaba, which was officially opened by President Jacob Zuma at the Inkosi Albert Luthuli International Convention Centre on Tuesday, will conclude on Thursday. – SAnews.gov.za
Cape Town city hall to be handed over to parliament presiding officers for SONA


text:
In an inflected language, words change form according to grammatical function - this is called inflection.
Contrast isolating languages, which present the same information with word order and helper words more often than highly inflected languages do. Often the unmodified word root is a valid word by itself. However, distinguishing helper words from prefixes or suffixes in some languages (such as Japanese) can bring difficulty.
Several Native American languages are perhaps the most highly inflected languages known. The Navajo language is famous for its use by the United States during World War II as a spoken code. Other highly inflected languages include Mohawk, Inuktitut and Nahuatl. These languages inflect words to such a degree that a single word is often translated as an entire sentence in most other languages. A Mohawk word often given as an example is Washakotya'tawitsherahetkvhta'se, which means "He made the thing that one puts on one's body ugly for her", i.e., "He ruined her dress." Such highly inflected languages are also called polysynthetic languages.
Other examples of highly inflected languages include Latin, Greek, Arabic, Czech and Russian. For instance, in Russian, which distinguishes between grammatical genders, the adjective stem odin, "one" can be inflected in the following ways:
odna tarelka - one plate (feminine)
odno derevo - one tree (neuter)
odin stol - one table (masculine)
Russian also distinguishes cases:
odin stol - one table (nominative)
odnogo stola (pr. "odnovo") - of one table (genitive)
odnomu stolu - to one table (dative)
odnim stolom - with one table (instrumental)
v/na odnom stole - at/in/on one table (locative)
The endings for feminine nouns are different, and those for plural nouns different still.
On a continuum from highly inflected to highly isolating, most modern Indo-European languages languages lie toward the inflected end. For example, Spanish, French, German, and the Scandinavian languages all inflect nouns and adjectives according to grammatical gender. These modern tongues make considerably less use of inflection than the archaic languages (such as Latin) from which they evolved.
In contrast, the Chinese language lies near the isolating end of the continuum. Even grammatical functions like plurals and possessives are expressed using individual words.
Modern English is often cited as a language that does not use much inflection. This is true for common nouns: English nouns have no grammatical gender and case is represented by word order, although most nouns are inflected for number. But there are many exceptions among the pronouns: for example, who, whose, and whom are inflected nominative, genitive, and accusative forms of the same word. English has a great many irregular verbs (161), whose multiple forms must be memorized; these are generally more inflected than regular verbs. Consider, for example, the irregular verb write and the regular verb push: "she wrote" (past tense) and "she had written" (past perfect tense), versus "she pushed" (past tense) and "she had pushed" (past perfect tense). Modern English also has inflection of person for some verbs, e.g. "I am", "you are", "he/she/it is". These irregular constructs reflect a past in which older forms of English were much more highly inflected than modern English.
Western European languages generally tend to become less inflected over time. One source of pressure to drop inflection is the development of pidgins and creoless. Closely related languages tend to have many roots in common, but to use different inflection systems. When two cultures meet, it is discovered that communication is possible simply by speaking in word roots, and dropping the inflection. The result of this process is an artificial language for interchange, called a pidgin. Sometimes the two cultures continue to mix over a long period of time, and children begin to speak the pidgin natively. This forces the language to grow, in order to provide service as a complete native language. When this happens, linguists would say that the pidgin has become a creole.
The English language has in fact been creolized more than once in its history, for example. Old English was a Germanic language, related to the language of Norse invaders who conquered part of England around 1000 A.D.. A pidgin evolved to facilitate communication between the English and the Norse, which resulted in the loss of many forms of inflection used in Old English. The complete history of the English language presents some problems, but the consensus of linguists is that English has undergone this process more than once in history. Similar pressures and other factors lead some languages to shed inflection over time.
See Typological classification


Are you able to take good pictures? Are you interested in learning new methods and techniques to improve your photography skills? You have arrived at the right place if you're ready to do this. The advice included here can help you improve your skills in photography.
Get close to your subject for a better shot. This allows you to eliminate backgrounds that are distracting, and it also makes it easier to properly frame what you are photographing. If you are taking a portrait, getting closer allows you to notice facial expressions and other details. The intricacy of portraiture can be lost entirely if you keep your distance from the subject.
Often, photographers only take into account the background in a landscape photo and forget about the foreground. The foreground will be the most viewed area once the photo comes out. To create a frame that is striking and increase the depth of your photo, plan the foreground of the shot.
TIP! Be mindful of which and how many objects appear in your photos. Imagine your camera is a tiny window focused in on just one component of your subject.
You want the background to be slightly blurred when taking photographs of people. When you don't blur the background, it becomes harder for a viewer to focus on the subject. If you put some distance between your background and your subject, it helps viewers focus on the subject of your photograph.
If you want to be ready when the perfect shot presents itself, make sure you keep your batteries charged. Digital cameras are power hungry, and the batteries do not last long. They especially use power with the LED screen in use. Make sure they are charged fully before you start shooting. You will want to carry extra camera batteries with to be prepared for any shot.
Photography should be something that you enjoy doing. Pictures provide memories of people, places or things that you hope to remember and share with others. Stay excited and enthusiastic about taking pictures and it will show up in the results.
Keep a notepad to record your shots. When you look at your hundreds of shot, it could be difficult to remember where they were taken or your feelings at that time. Carry a small notebook with you so you can take brief notes as you take each photograph.
Try pre-focusing your camera and then moving so that your subject is not right in the middle of the lens. When a subject is in the center, it is very mundane and not fun to look at. Off-centering your shots in a variety of ways will make your shots more thought-provoking.
Shoot quickly when you take a photo. You do not know how long the magic moment will last, so stand fast to capture the moment in a literal flash. Wildlife may hide, people blink or tire of smiling, or any number of other things have the potential to spoil a shot. If you spend too much time worrying about your camera settings, you may find that your shot opportunity is long gone.
TIP! Avoid capturing an overcast sky in your photos. If your photos contain too much gray sky they will appear washed-out and muted.
Resist the temptation to maximize the number of available shots you can get on one digital card; instead choose settings that will allow a far greater quality for output printing. Reserve the lower settings for images that are going to be shown only on a computer monitor.
The above advice has provided you with an exciting array of techniques for your next photography session. At least some of these tips should correspond to your situation. But if they don't, keep trying different ideas until you find what works best for you.


A cross and the Blessed Sacrament adorn this First Communion Greeting Card. The inside sentiment reads, "Wishing you every happiness on your First Communion day". The card is made in Italy and measures approximately four inches by six inches.


text:
package org.openforis.calc.metadata;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Stack;

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate;
import org.apache.commons.collections.functors.InstanceofPredicate;
import org.apache.commons.lang3.StringUtils;
import org.openforis.calc.chain.CalculationStep;
import org.openforis.calc.chain.ProcessingChain;
import org.openforis.calc.engine.Workspace;
import org.openforis.calc.persistence.jooq.tables.pojos.EntityBase;
import org.openforis.calc.r.RScript;

import com.fasterxml.jackson.annotation.JsonIgnore;

/**
 * Provides metadata about a particular unit of observation, calculation or
 * analysis. Entities are anything which may have attributes for variables
 * associated with it.
 *
 * @author G. Miceli
 * @author M. Togna
 */
public class Entity extends EntityBase {

	private static final long serialVersionUID = 1L;

	@JsonIgnore
	private Workspace workspace;
	@JsonIgnore
	private Entity parent;
	@JsonIgnore
	private List<Entity> children = new ArrayList<Entity>();

	private List<Variable<?>> variables = new ArrayList<Variable<?>>();

	public Workspace getWorkspace() {
		return this.workspace;
	}

	public void setWorkspace(Workspace workspace) {
		this.workspace = workspace;
		if( workspace != null ) {
			setWorkspaceId( workspace.getId() );
		}
	}

	@JsonIgnore
	public String getDataView() {
		return String.format( "%s_view", getName() );
	}

	public void addVariable(Variable<?> variable) {
		variable.setEntity( this );
//		variable.setSortOrder( getNextVariableSortOrder() );
		variables.add( variable );
	}

	public List<Variable<?>> getVariables() {
		return org.openforis.commons.collection.CollectionUtils.unmodifiableList( variables );
	}

	public Variable<?> getVariableByOriginalId( int id ) {
		if ( variables != null && ! variables.isEmpty() ) {
			for (Variable<?> var : variables) {
				if ( var.getOriginalId() != null && var.getOriginalId().equals(id) ) {
					return var;
				}
			}
		}
		return null;
	}

	public Variable<?> getVariableById( int id ) {
		for ( Variable<?> var : getVariables() ) {
			if ( var.getId().equals(id) ) {
				return var;
			}
		}
		return null;
	}

	public Variable<?> getVariableByName(String name) {
		if ( variables == null || variables.isEmpty() ) {
			return null;
		} else {
			for (Variable<?> v : variables) {
				if ( v.getName().equals(name) ) {
					return v;
				}
			}
			return null;
		}
	}

	/**
	 * Find the variable with the given name in the hierarchy up to root entity
	 * @param name
	 * @return
	 */
	public Variable<?> findVariableByName(String name) {
		Entity entity = this;

		while( entity != null ){
			Variable<?> variable = entity.getVariableByName(name);

			if( variable != null ){
				return variable;
			}

			entity = entity.getParent();
		}

		return null;
	}

	/**
	 * Find the variable with the given id in the hierarchy up to root entity
	 * @param name
	 * @return
	 */
	public Variable<?> findVariableById( int id ) {
		Entity entity = this;

		while( entity != null ) {
			Variable<?> variable = entity.getVariableById( id );
			if( variable != null ){
				return variable;
			}
			entity = entity.getParent();
		}

		return null;
	}

	@JsonIgnore
	public List<VariableAggregate> getVariableAggregates() {
		List<VariableAggregate> aggs = new ArrayList<VariableAggregate>();
		for (Variable<?> var : variables) {
			if ( var instanceof QuantitativeVariable ) {
				aggs.addAll(((QuantitativeVariable) var).getAggregates());
			}
		}
		return Collections.unmodifiableList(aggs);
	}

	@JsonIgnore
	public boolean hasOverriddenVariables() {
		return ! getOverriddenVariables().isEmpty();
	}

	@JsonIgnore
	public boolean hasOverriddenDescendants() {
		Stack<Entity> stack = new Stack<Entity>();
		stack.addAll(getChildren());
		while ( ! stack.isEmpty() ) {
			Entity descendant = stack.pop();
			if ( descendant.getOverride() || hasOverriddenVariables() ) {
				return true;
			}
			stack.addAll(descendant.getChildren());
		}
		return false;
	}

	public Entity getParent() {
		return parent;
	}

	public void setParent(Entity parent) {
		this.parent = parent;
		setParentEntityId(parent == null ? null: parent.getId());
	}

	@JsonIgnore
	public boolean isGeoreferenced() {
		// right now only if this is sampling unit or an ancestor entity is sampling unit
		return this.isInSamplingUnitHierarchy() ;
		//return ( this.isSamplingUnit() ) || ( this.parent!=null && this.parent.isSamplingUnit() );
//		return ((xColumn != null && yColumn != null) || locationColumn != null);
	}

	@JsonIgnore
	public boolean  isInSamplingUnitHierarchy() {
		Entity entity = this;
		while( entity != null ){
			if( entity.isSamplingUnit() ){
				return true;
			}
			entity = entity.getParent();
		}
		return false;
	}

	public boolean isSamplingUnit() {
		if( this.getId() == null ){
			return false;
		}
		return getWorkspace().isSamplingUnit(getId());
	}

	public List<Entity> getChildren() {
		return Collections.unmodifiableList(children);
	}

	public void addChild( Entity entity ) {
		if ( children == null ) {
			children = new ArrayList<Entity>();
		}
		entity.setParent(this);
		children.add(entity);
	}

	public void removeChild(Entity entity) {
		if ( CollectionUtils.isNotEmpty(children) ) {
			entity.setParent(null);
			children.remove(entity);
		}
	}

	@JsonIgnore
	public RScript getPlotAreaRScript() {
		String plotAreaScript = getPlotAreaScript();
		if( StringUtils.isBlank(plotAreaScript) ) {
			return null;
		} else {
			RScript plotArea = new RScript().rScript( plotAreaScript , getHierarchyVariables() );
			return plotArea;
		}
	}

	@JsonIgnore
	public List<Variable<?>> getHierarchyVariables() {
		List<Variable<?>> variables = new ArrayList<Variable<?>>();

		Entity entity = this;
		while(entity != null){
			variables.addAll(entity.getVariables());
			entity = entity.getParent();
		}

		return variables;
	}

	@JsonIgnore
	public String getResultsTable() {
		return String.format( "_%s_results" , getName() );
	}

	@JsonIgnore
	public String getTemporaryResultsTable() {
		return String.format( "_%s_temp_results" , getName() );
	}

	@JsonIgnore
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public List<CategoricalVariable<?>> getCategoricalVariables() {
		return Collections.unmodifiableList( selectInstancesOf((List)variables, CategoricalVariable.class) );
	}

	/**
	 * Returns a list of categorical variables that can be represented as dimensions.
	 * If the entity is in the sampling unit hierarchy, also the categorical variables up to the sampling unit entity will be added
	 * @return
	 */
	@JsonIgnore
	public List<CategoricalVariable<?>> getDimensions(){
		List<CategoricalVariable<?>> vars = new ArrayList<CategoricalVariable<?>>();
		createDimensionsRecursively( this , vars );
		return  org.openforis.commons.collection.CollectionUtils.unmodifiableList( vars );
	}

	private void createDimensionsRecursively( Entity entity, List<CategoricalVariable<?>> vars ){
//		if( entity.isInSamplingUnitHierarchy() ){
			Entity parent = entity.getParent();
			// it stops if the entity is the sampling unit. cannot aggregate at higher level
			if ( parent != null && !entity.isSamplingUnit() ) {
				createDimensionsRecursively( parent , vars );
			}
//		}

		List<CategoricalVariable<?>> variables = entity.getCategoricalVariables();
		for ( CategoricalVariable<?> var : variables ) {
			if ( !var.getDegenerateDimension() && var.getDisaggregate() ) {
				if( var instanceof MultiwayVariable){
					if( !var.isUserDefined() || var.getEntity().getDefaultProcessingChainCategoricalOutputVariables().contains(var) ) {
						vars.add(var);
					}
				}
			}
		}
	}

	@JsonIgnore
	public List<QuantitativeVariable> getQuantitativeVariables() {
		return Collections.unmodifiableList(selectInstancesOf(variables, QuantitativeVariable.class));
	}

	@JsonIgnore
	public List<TextVariable> getTextVariables() {
		return Collections.unmodifiableList(selectInstancesOf(variables, TextVariable.class));
	}

	@JsonIgnore
	public List<DateVariable> getDateVariables() {
		return Collections.unmodifiableList(selectInstancesOf(variables, DateVariable.class));
	}

	@JsonIgnore
	public Collection<Variable<?>> getUserDefinedVariables() {
		Collection<Variable<?>> list = new HashSet<Variable<?>>();
		if ( CollectionUtils.isNotEmpty(variables) ) {
			for (Variable<?> v: variables) {
				if ( v.getOriginalId() == null ) {
					list.add(v);
				}
			}
		}
		return list;
	}

	@JsonIgnore
	public Collection<Variable<?>> getOverriddenVariables() {
		return getVariables(new Predicate() {
			@Override
			public boolean evaluate(Object object) {
				return ((Variable<?>) object).getOverride();
			}
		});
	}

	@JsonIgnore
	public Collection<Variable<?>> getNotOverriddenVariables() {
		return getVariables(new Predicate() {
			@Override
			public boolean evaluate(Object object) {
				return ! ((Variable<?>) object).getOverride();
			}
		});
	}

	// TODO for now simulated this way.

	@SuppressWarnings("unchecked")
	@JsonIgnore
	public Collection<QuantitativeVariable> getOriginalQuantitativeVariables() {
		return CollectionUtils.select(getQuantitativeVariables(), new Predicate() {
			@Override
			public boolean evaluate(Object object) {
				return ((QuantitativeVariable)object).getOriginalId() != null;
			}
		});
	}

	@SuppressWarnings("unchecked")
	@JsonIgnore
	public Collection<CategoricalVariable<?>> getOriginalCategoricalVariables() {
		return CollectionUtils.select(getCategoricalVariables(), new Predicate() {
			@Override
			public boolean evaluate(Object object) {
				return ((CategoricalVariable<?>)object).getOriginalId() != null;
			}
		});
	}

	@SuppressWarnings("unchecked")
	@JsonIgnore
	public Collection<MultiwayVariable> getSpeciesCategoricalVariables() {
		return CollectionUtils.select(getCategoricalVariables(), new Predicate() {
			@Override
			public boolean evaluate(Object object) {
				if( object instanceof MultiwayVariable && ((MultiwayVariable) object).isSpecieCategory() ){
					return true;
				} else {
					return false;
				}
			}
		});
	}

	@SuppressWarnings("unchecked")
	@JsonIgnore
	public Collection<Variable<?>> getOriginalVariables() {
		return CollectionUtils.select(getVariables(), new Predicate() {
			@Override
			public boolean evaluate(Object object) {
				return ((Variable<?>)object).getOriginalId() != null;
			}
		});
	}

	@SuppressWarnings("unchecked")
	@JsonIgnore
	public Collection<QuantitativeVariable> getOutputVariables() {
		return CollectionUtils.select(getQuantitativeVariables(), new Predicate() {
			@Override
			public boolean evaluate(Object object) {
				return ((QuantitativeVariable)object).getOriginalId() == null;
			}
		});
	}

	/**
	 * Returns the output variables linked to the entity associated to the default processing chain
	 * @param entity
	 * @return
	 */
	@JsonIgnore
	public Collection<QuantitativeVariable> getDefaultProcessingChainQuantitativeOutputVariables() {
		Map<QuantitativeVariable, CalculationStep> map = getDefaultProcessingChainCalculationStepQuantitativeVariablesMap();
		Set<QuantitativeVariable> vars = org.openforis.commons.collection.CollectionUtils.unmodifiableSet( map.keySet() );
		return vars;
	}

	@JsonIgnore
	public Map<QuantitativeVariable, CalculationStep> getDefaultProcessingChainCalculationStepQuantitativeVariablesMap(){
		Map<QuantitativeVariable, CalculationStep> map = new LinkedHashMap<QuantitativeVariable, CalculationStep>();

		ProcessingChain processingChain = getWorkspace().getDefaultProcessingChain();
		for (CalculationStep step : processingChain.getCalculationSteps()) {
			if( step.getActive() ){

				Variable<?> var = step.getOutputVariable();
				if( var instanceof QuantitativeVariable){
					QuantitativeVariable qtyVar = (QuantitativeVariable) var;
					Entity outputEntity = qtyVar.getEntity();
					if( outputEntity.getId().equals( this.getId() ) ){
						map.put( qtyVar, step );
					}
				}
			}

		}

		return map;
	}

	@JsonIgnore
	public Collection<MultiwayVariable> getDefaultProcessingChainCategoricalOutputVariables() {
		Set<MultiwayVariable> variables = new HashSet<MultiwayVariable>();

		ProcessingChain processingChain = getWorkspace().getDefaultProcessingChain();
		List<CalculationStep> steps = processingChain.getCalculationSteps();
		for (CalculationStep step : steps) {
			if( step.getActive() ){
				Variable<?> var = step.getOutputVariable();
				if( var instanceof MultiwayVariable){
					MultiwayVariable variable = (MultiwayVariable) var;
					Entity outputEntity = variable.getEntity();
					if( outputEntity.getId().equals( this.getId() ) ){
						variables.add( variable );
					}
				}
			}
		}
//		if( this.isSamplingUnit() ){
//			QuantitativeVariable weightVar = getOutputVariable("weight");
//			if( weightVar != null ) {
//				variables.add( weightVar);
//			}
//		}

		return variables;
	}

	private Collection<Variable<?>> getVariables(Predicate predicate) {
		@SuppressWarnings("unchecked")
		Collection<Variable<?>> result = CollectionUtils.select(variables, predicate);
		return result;
	}

	public void removeVariable(Variable<?> variable) {
		this.variables.remove(variable);
	}

	public void removeVariables(Collection<Variable<?>> vars) {
		if ( CollectionUtils.isNotEmpty(vars) && CollectionUtils.isNotEmpty(this.variables) ) {
			this.variables.removeAll(vars);
		}
	}

	@JsonIgnore
	protected int getNextVariableSortOrder() {
		int result = 0;
		for ( Variable<?> v: variables ) {
			result = Math.max(v.getSortOrder(), result);
		}
		return result + 1;
	}

	// TODO move to Open Foris commons
	static <I,O extends I> List<O> selectInstancesOf(List<I> items, Class<O> type) {
		List<O> out = new ArrayList<O>();
		CollectionUtils.select(items, new InstanceofPredicate(type), out);
		return out;
	}

//
//	public Variable<?> getClusterVariable() {
//		return clusterVariable;
//	}
//
//	public void setClusterVariable(Variable<?> clusterVariable) {
//		this.clusterVariable = clusterVariable;
//	}

	/**
	 * Returns a quantity variable with the id passed as argument.
	 * @param variableId
	 * @return
	 */
	@JsonIgnore
	public QuantitativeVariable getQtyVariableById(int variableId) {
		for (QuantitativeVariable variable : getQuantitativeVariables()) {
			if(variable.getId().equals(variableId)){
				return variable;
			}
		}
		return null;
	}

	@JsonIgnore
	public QuantitativeVariable getQtyVariablePerHaById(int variableId) {
		for (QuantitativeVariable variable : getQuantitativeVariables()) {
			QuantitativeVariable variablePerHa = variable.getVariablePerHa();
			if(variablePerHa != null && variablePerHa.getId().equals(variableId)) {
				return variablePerHa;
			}
		}
		return null;
	}

	// returns true if at least one quantitative variable or output variable has an aggregate function associated
	// or if this is the sampling unit
	@JsonIgnore
	public boolean isAggregable() {
		// for now only if output variables have been defined in the default processing chain
		return
				isSamplingUnit()
				||
				getDefaultProcessingChainQuantitativeOutputVariables().size() > 0
				||
				getDefaultProcessingChainCategoricalOutputVariables().size() > 0;
	}

	public QuantitativeVariable getOutputVariable(String variable) {
		for (QuantitativeVariable var : this.getQuantitativeVariables()) {
			if( var.getName().equals(variable) ){
				return var;
			}
		}
		return null;
	}

	// Pre-order depth-first traversal from here down
	public void traverse(Visitor visitor) {

		// Initialize stack with this entity
		Stack<Entity> stack = new Stack<Entity>();
		stack.push(this);

		// While there are still entities to visit
		while ( ! stack.isEmpty() ) {
			Entity entity = stack.pop();

			// visit entity
			visitor.visit(entity);

			// add existing child entities to the stack
			List<Entity> children = entity.getChildren();
			for (Entity child : children) {
				stack.push(child);
			}
		}
	}

	public static interface Visitor {

		void visit(Entity entity);

	}

	void deleteInputVariables() {
		Iterator<Variable<?>> iterator = variables.iterator();
		while( iterator.hasNext() ){

			Variable<?> variable = iterator.next();
			if( !variable.isUserDefined() ){
				iterator.remove();
			}
		}
	}

	void deleteOutputVariables() {
		Iterator<Variable<?>> iterator = variables.iterator();
		while( iterator.hasNext() ){

			Variable<?> variable = iterator.next();
			if( variable.isUserDefined() ){
				iterator.remove();
			}
		}
	}

	@Override
	public int hashCode() {
		Integer id = getId();
		String name = getName();

		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		Integer id = getId();
		String name = getName();

		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Entity other = (Entity) obj;
		if (id == null) {
			if (other.getId() != null)
				return false;
		} else if (!id.equals(other.getId()))
			return false;
		if (name == null) {
			if (other.getName() != null)
				return false;
		} else if (!name.equals(other.getName()))
			return false;
		return true;
	}

}

redpajama_set_name: RedPajamaGithub


Christmas is a time to give to others, especially those who've had a particularly tough year. Now, a few members of Whistler's artistic community are mobilizing to do just that with the help of a local business.
Four local photographers are taking part in a global photography project dubbed Help-Portrait. Celebrity photographer Jeremy Cowart started the event in hopes of mobilizing photographers around the world to use their talents to give back to their communities. Photographers find people in need and take their picture, and give them a copy (or copies). On Saturday, Dec. 12, photographers around the world will give families a chance to have something that is normally a luxury - a portrait.
This season, the event is making its way to Whistler thanks to local photographer Rich Glass, who discovered the Help-Portrait project through a blog and decided he wanted to host an event here in Whistler, joining with thousands of other photographers in cities around the world to put a smile on faces of the less fortunate.
"I have the power to do this," he explained, simply.
Glass, who also does charity work through The Troutsmen International Club of Leisure, has recruited three other Whistler photographers - Matt Walker, Mark Gribbon, and Nick Vail - to shoot families and individuals who are down on their luck and need a pick-me-up. The photographs will be done at the Fairmont Chateau Whistler Dec. 12, starting at 2 p.m. Rick Clare, the owner of One Hour Photo/Foto Source, has also stepped up to help out with the event, offering free prints to participants.
Anyone is welcome to come out and take part in the event - low income or not - but Glass and the rest of the photographers who are donating their time and talents ask that everyone who can afford it make a cash or food donation to the Whistler Food Bank. For more information contact richglass@mac.com.
'Tis also the season for song and dance, courtesy of Whistler's talented dance troupe, Soul Funktion Dance Studio.
For one night only, on Friday, Dec. 11, the studio's performance-based dance troupe will be showcasing The Magic Within, an original production created and directed by award-winning choreographer Heather Stremlaw. Thirty-one dancers between the ages of eight and 18 will take the stage to share their passion for dance with the community, bringing Stremlaw's magical world to the audience.
The performance takes place at MY Millennium Place, with a pre-show gala reception and silent auction at 6 p.m. and the show starting at 7:30 p.m. Tickets are $__ for adults and $__ for children.


Consideration has been given to the process of electric‐discharge sintering (EDS) of a powder fill in passing an electric current through it. The dependences for calculation of the heat release, the efficiency of an EDS unit, the resistance of a powder fill, and the temperature in the contact zone have been obtained. An algorithm for calculation of the technological parameters of the process of EDS has been given.


text:
Results Sort By Title Ascending Sort By Title Descending Sort By Period Ascending Sort By Period Descending 1 2994
2168 Previous Next
Explore Object
Sketch for the Tiffany Iris Corsage Ornament
Description Exhibitions Provenance Inscription Credit
Description Farnham served as the chief designer and director of the jewelry division of Tiffany & Co. from 1893 until 1907 when he was replaced by Louis Comfort Tiffany. He frequently drew his designs from flowers and plants. This sketch is a working drawing for one of Tiffany's most famous creations, the Iris Corsage Ornament that won the firm a gold medal at the Paris Exposition Universelle in 1900 (WAM 57.939). Farnham collaborated with Tiffany's gemologist George Frederick Kunz (1856-1912) in using American stones, in this instance mostly Montana sapphires, for his exhibition pieces.
Bedazzled: 5,000 Years of Jewelry from the Walters Art Museum. Frist Center for the Visual Arts, Nashville; The John and Mable Ringling Museum of Art, Sarasota; The Walters Art Museum, Baltimore. 2006-2009.
Provenance Tiffany & Co., New York; given to Walters Art Museum, 1988.
Inscriptions [Inscription] Top center: 40 G.X.
Credit Gift of Tiffany & Co., 1988
George Paulding Farnham (American, 1859-1927) (Designer)
Tiffany and Company (American, 1837-present) (Manufacturer)
watercolor on tracing paper
(Painting & Drawing)
H: 11 1/8 × W: 8 1/2 in. (28.3 × 21.6 cm)
USA, New York, New York (Place of Origin)
iris tiffany drawing
Iris Corsage Ornament Title
bedazzled, brooch, floral, flowers, iris, jewelry, saphires, tiffany, kunz, gold, bain, flower	 Tags
Sketch for an Iris Brooch Title
flower, iris	 Tags


text:
Rida, rida ranka är en folklig barnramsa som är känd i hela Norden.

Zacharias Topelius publicerade en variant av Rida, rida ranka-ramsan i sin samling Läsning för barn 1871. I anslutning till ramsan skrev han en liten berättelse om drottning Blanka av Namur, Magnus Erikssons drottning, som sjunger visan för sin son Håkan, sedermera kung av Norge. I berättelsen figurerar Margareta, Valdemar Atterdags dotter, som giftes bort vid 10 års ålder med Håkan.

Innehållet i Topelius tolkning inspirerade konstnären Albert Edelfelt till sin målning "Rida ranka" som i sin tur inspirerade docenten i estetik i Lund Hans Henric Hallbäck till visan Rida ranka med musik av August Ekenberg.

Ett hundratals uppteckningar och inspelningar av olika varianter av ramsan finns hos Svenskt visarkiv.

Variation av den "folkliga texten" ur Visbok, 1923.
Rida rida Ranka
hästen heter Blanka
Vart ska vi rida?
Till en liten piga
Vad kan hon heta?
Jungfru Margareta
den tjocka och den feta
...
Hans Henric Hallbäcks text
Rida, rida ranka,
hästen heter Blanka.
Liten riddare så rar
ännu inga sporrar har.
När han dem har vunnit,
barndomsro försvunnit.
...

Referenser
Noter

Tryckta källor

Externa länkar

Barnvisor
Zacharias Topelius


text:
A Landsat Survey of Mangroves in Tsunami Prone Regions
Asian mangrove. Credit: UNESCO
Agricultural expansion rather than shrimp farming is the major factor responsible for the destruction of tropical mangrove forests in the tsunami-impacted regions of Indonesia, Malaysia, Thailand, Myanmar, Bangladesh, India, and Sri Lanka, according to a new study published in the Journal of Biogeography.
Giri and other researchers used more than 750 Landsat satellite images to identify the remaining mangrove forests of the region, to quantify the rates and causes of change from 1975 to 2005, and to identify deforestation 'hot spots,'. Landsat is the world's longest continuously acquired collection of space-based land remote sensing data. The study found that the major factors responsible for mangrove deforestation in the study area include agriculture encroachment (81%), aquaculture (12%), and urban development (2%). However, shrimp farming is on the rise in Indonesia and Thailand.
Time-series analysis of historical data from the Landsat archive also suggests that the tsunami-impacted region lost 12% of the mangrove forests from 1975 to 2005, much lower than estimated mangrove loss in Asia, which ranges from 25 to 50%. According to Giri and the other researchers, mangrove loss varies according to country and time period. Their study found that the annual rate of deforestation was highest in Burma (~1%) and lowest in Sri Lanka (0.1%) from 1975 to 2005. In contrast, mangrove forests in India and Bangladesh remained unchanged or gained a small percentage during the period. Similarly, net deforestation peaked at 137,000 ha during 1990-2000, increasing from 97,000 ha during 1975-1990 and declining to 14,000 ha during 2000-2005.
Data and information generated from this study can be used to identify potential rehabilitation sites, set conservation priorities, and quantify the role of mangrove forests in saving lives and property from natural disasters such as the Asian tsunami.
Contributor: Davina Quarterman, Blackwell Publishing Ltd.
+ C. Giri, Z. Zhu, L. L. Tieszen, A. Singh, S. Gillette, J. A. Kelmelis (2007). Mangrove forest distributions and dynamics (1975-2005) of the tsunami-affected region of Asia. Journal of Biogeography (OnlineEarly Articles). doi:10.1111/j.1365-2699.2007.01806.x
Categories: Forest Management, News, Science
PrevPreviousThe Landsat Data Continuity Mission: Extending the Longest Legacy of Global Land Observation
NextNew 'Hi-Def' View of Antarctica to be Presented at Media BriefingNext


text:
Chicago Zoological Society
Unparalleled Research
Health & Physiology
Population Structure
Tools & Techniques
GoMDIS
HELPING DOLPHINS
Rescues, Interventions & Monitoring
Piney Point Dolphins
Dolphin-Safe Boating
Dolphin-Safe Fishing
Don't Feed Wild Dolphins
Discover Dolphins
Meet the Dolphins
For Teachers/Students
Graduate Student Education
Health & Physiologyjoker_developer2021-02-26T22:28:39+00:00
Dolphin Health and Physiology
SDRP conducts the world's longest-running study of a wild dolphin population, initiated in 1970. Information available from five decades of research on the multi-decadal, multi-generational, year-round resident community of individually identifiable bottlenose dolphins of Sarasota Bay established this as a unique natural laboratory for learning about the biology, behavior, ecology, social structure, health, and communication of dolphins, as well as the effects of human activities on them.
Long-term study is crucial for understanding the lives of members of long-lived species such as bottlenose dolphins, and for being able to detect trends in populations relative to changes in their environment. Knowing the long-term geographic range of a population unit allows the measurement of exposure to threats, which in turn facilitates mitigation, including direct interventions.
The ability to observe identifiable individual dolphins of known sex, age, and familial relationships through all of their life history milestones and associated transitions in behavioral and social patterns, to collect data on health and condition, and to then document their reproductive success and cause of death is rare in cetacean research.
The SDRP was a pioneer in the development of catch-and-release dolphin health assessment approaches and techniques, starting in 1988. Small groups of dolphins are selected and encircled with a net in shallow water, where teams of veterinarians and biologists examine them and obtain samples and measurements before releasing them on-site.
This approach has been applied elsewhere to at-risk populations of bottlenose dolphins, including those impacted by the Deepwater Horizon oil spill. Significant differences found in comparisons to the Sarasota Bay reference population have identified human impacts on health and reproduction.
We also use some of these techniques to rescue dolphins suffering from life-threatening entanglements in fishing line and other gear.
Opportunities to study physiology have occurred in association with periodic health assessments in Sarasota Bay, and have included studies of metabolic rates, temperature regulation, and lung function, among other topics. Health and physiology research is conducted under a series of Scientific Research Permits issued by NOAA's National Marine Fisheries Service, and annual renewals of Institutional Animal Care and Use Committee approvals by Mote Marine Laboratory.
Nadine Slimak2021-11-09T18:35:46+00:00
When Dolphins and Freshwater Mix
Nadine Slimak2021-11-09T18:35:46+00:00November 9th, 2021|0 Comments
What Happens When Dolphins and Freshwater Mix? Prolonged exposure to freshwater is linked to adverse health conditions, immune deficiencies, and even dolphin deaths, but there's still a lot we don't
Exploring Microbiomes
Nadine Slimak2021-10-13T13:13:42+00:00October 13th, 2021|0 Comments
Exploring Microbiomes The science of understanding microbiomes has received increasing attention over the past few decades, especially in the context of understanding animal health. Microbomes are a collection of microorganisms
Apply Now: Summer Internship
Puzzles by Leaps and Bounds
Puzzle It Out!
2021 Baby Boom
When the Prey is Gone
Sarasota Dolphin Research Program
Meet the Dolphins of Sarasota Bay
The mission of the Chicago Zoological Society is "to inspire conservation leadership by engaging people and communities with wildlife and nature."
Images on this site are are owned and © by the Sarasota Dolphin Research Program (Dolphin Biology Research Institute) and were taken under National Marine Fisheries Service Permit. All Rights Reserved. No images may be taken from this site and used for any purpose without explicit authorization.
Dolphin Biology Research Institute — DBA as the Sarasota Dolphin Research Program — is dedicated to research and conservation of dolphins and their habitat. View our profile at the Community Foundation of Sarasota County Giving Partner portal.
DBRI IS A 501(C)3 ORGANIZATION — FEDERAL TAX ID #59-2288387. A COPY OF THE OFFICIAL REGISTRATION (#CH1172) AND FINANCIAL INFORMATION MAY BE OBTAINED FROM THE FLORIDA DIVISION OF CONSUMER SERVICES BY CALLING TOLL-FREE 1-800-435-7352 WITHIN THE STATE OR AT WWW.FDACS.GOV/CONSUMER-RESOURCES/CHARITIES. REGISTRATION DOES NOT IMPLY ENDORSEMENT, APPROVAL, OR RECOMMENDATION BY THE STATE.
© 2020 Sarasota Dolphin Research Program, All Rights Reserved. • Site design: Joker Media • Webmaster & Content Developer: Vetted Communications


text:
The Book Palace | Artists E-F | Ron Embleton | Charles Dickens (Ron Embleton) | The Mystery of Edwin Drood - Rev Septimus Crisparkle (Original)
The Mystery of Edwin Drood - Rev Septimus Crisparkle (Original)
A striking sketch used to illustrate an edition of The Mystery of Edwin Drood, the final novel by Charles Dickens. The novel was unfinished at the time of Dickens's death on 9 June 1870.
Though the novel is named after the character Edwin Drood, it focuses more on Drood's uncle, John Jasper, a precentor, choirmaster and opium addict, who is in love with his pupil, Rosa Bud. Miss Bud, Edwin Drood's fiancée, has also caught the eye of the high-spirited and hot-tempered Neville Landless. Landless and Edwin Drood take an instant dislike to one another. Later Drood disappears under mysterious circumstances.
The story is set in Cloisterham, a lightly disguised Rochester.
This original painting is from the Ron Embleton family collection.
David Copperfield Leaves Home (Original)
Charles Dickens and the Dover Road (Original)


text:
// Copyright 2016 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

namespace Google.Cloud.Diagnostics.Common
{
    /// <summary>
    /// A simple interface for a timer.
    /// </summary>
    internal interface ITimer
    {
        /// <summary>
        /// Starts the timer.
        /// </summary>
        void Start();

        /// <summary>
        /// Gets the elapsed milliseconds since the timer has started.
        /// </summary>
        long GetElapsedMilliseconds();
    }
}


South African Paralympic sprint star Oscar Pistorius said on Friday he was consumed with "sorrow" as he marked one year since he shot dead his model girlfriend on Valentine's Day in what he maintains was an accident.
The world-famous double amputee, 27, shot Reeva Steenkamp through his toilet door, claiming he mistook her for an intruder at his upmarket Pretoria home.
However the track legend known as "Blade Runner" goes on trial for premeditated murder on March 3.
"No words can adequately capture my feelings about the devastating accident that has caused such heartache for everyone who truly loved - and continues to love Reeva," Pistorius wrote on his personal website.
"The pain and sadness - especially for Reeva's parents, family and friends consumes me with sorrow.
"The loss of Reeva and the complete trauma of that day, I will carry with me for the rest of my life," he said in the message signed simply "Oscar".
He also posted a link to the message on Twitter, describing it as "A few words from my heart". It was the first time he has used his official account on the social networking site since February 12, 2013, two days before the shooting.
The Valentine's Day horror sent shockwaves around the world, polarising crime-weary South Africa around whether one of its national heroes was guilty of murder, or a heartbreaking accident.
Steenkamp, a blonde cover girl and law graduate, was shot in the head, elbow and hip through the locked bathroom door of Pistorius's home.
The athlete, who earned his nickname for the fibreglass prostheses he uses in competition, was born without calf bones and had both legs amputated below the knee when he was 11 months old.
He catapulted to fame at the 2012 London Olympics as the first double-amputee to compete against able-bodied athletes.
But details of his reckless past and love of fast cars, beautiful women and guns emerged in the media after he shot Steenkamp.
One newspaper dubbed him the "Blade Gunner."
Pistorius will also answer charges for discharging a firearm on two separate occasions before Steenkamp's death.
The case has halted his participation in athletic events and ended lucrative endorsement deals with US sportswear giant Nike and French cosmetic firm Clarins.


text:
San Pietro al Tanagro is a village and comune in the province of Salerno in the Campania region of south-west Italy.

Geography
San Pietro al Tanagro is 90 kilometers far from Salerno. It has a population of 1,640 inhabitants and a surface of 15,3 square kilometers thus showing a population density of 107,19 inhabitants per square kilometer. It rises 450 metres above the sea level.

The Town Hall is located in Via De Cusatis, phone (+39) 0975 399326, fax (+39) 0975 399326.

The municipality is bordered by Atena Lucana, Corleto Monforte, San Rufo, Sant'Arsenio and Teggiano.

Notes and references

See also
Vallo di Diano
Alburni

External links

Cities and towns in Campania
Localities of Cilento


text:
CELEBRATE GOOD TIMES – BCI'S 2000TH OZ-DELIVERED BUS
Pacific Highway upgrade powers ahead
Work on $359 million Pacific Highway upgrade at Banora Point, NSW has entered a new phase
Februery 10, 2011
Work on the $359 million Pacific Highway upgrade at Banora Point, NSW
has entered a new phase with the demolition of two existing highway bridges over Minjungbal Drive.
The upgrade features a six-lane divided carriageway with an improved alignment and a speed limit of 100km/h.
As part of the project, a viaduct of about 330 metres will be constructed across the central valley south of Sexton Hill.
Laura Street will be realigned to meet Short Street and the existing Pacific Highway at a four-way intersection.
"This upgrade will bring major benefits including improved safety on the road, uninterrupted highway traffic flow, reduced travel times and easy access on and off the highway for local traffic," NSW Minister for Roads David Borger says.
The demolition of the bridges started on Monday and was completed yesterday.


This is really a useful thread. Many of them don't know how to treat dogs with care. They are really man's best friend! They should also get the freedom and care. Buying a dog and keeping it in a kennel doesn't really make a sense.
If you really love dogs, give them the opportunity to socialize with other pets. Get them relaxed and exercised. Neither you get tired nor does he!
I use to treat my 'Rambo' in a best way I can. If ever I don't get a time, I will not be planning to keep him in the kennel instead I will look for some dog walking services.
Hope you all will do the same.. Love your pets.. Let them live!!
I have heard about " love your pet" services @ Airdrie. They have a professional team to take care for your pets.
This link is awesome. I've been wanting a puppy since our German Shepard passed away about 2 years ago but my boyfriend does not want the responsibility again. This makes be rethink about getting a puppy because I question myself if I could provide the necessary attention they need? Then I think well when faced with change don't you adjust accordingly (this might not be the best way to think about being a puppy mommy).
I visit the article you shared here and I learned a lot. Thank you very much.
I give my pooch as much fuss as possible and he has turned into a very soppy and affectionate dog. Keeping a dog is hard work depending on the breed I guess, but they become part of your family full stop.
Thank you for sharing us this awesome link.
I visited the link and there's a lot of helpful information that are very important especially to someone who is planning on getting a new dog. Having a dog means a lifetime commitment. You cannot return the dog if you don't like it anymore. You should be ready once you have a dog.
Right now I know someone who is trying to choose between his girlfriend and his dog just because the girlfriend doesnt want dogs around the house. Having pets in general can make things hard sometimes.
Are you ready for the commitment of a dog? It is a lot of time and effort and the responsibilities can sometimes be overwhelming. Check these pages for help getting started and make sure you are doing the right thing. For help before you get a dog, and the lifetime commitment involved.
Yeah you really have to ask yourself if you have not only the TIME but the MONEY to properly take care of a dog! Just because they're cute doesn't mean they're not hard work to take care of!
Would love to read the article, but the page is not available anymore. Many people doesn't understand the value of getting a dog. It is very important to enlighten them.


text:
LINE BØGH: "I enjoy the most when I have the feeling that I'm making sense"
Line Bøgh amazed us with a calm, but intense and very intimate concert in Munich in October. We learned more about Denmark, about her music and herself.
This was a reason enough to dig deeper and have a little chat with Line about her tour, her songs and everything that inspires and influences her when composing music.
Read the interview below and don't forget to enjoy listening to her latest songs, as well as a special playlist she prepared for Good because Danish of the Danish songs she recommends.
Good because Danish: You've been touring around Germany during the last month – what was your impression of the tour? Does the German audience differ from the Danish one?
Line: Yes, I think the Germans are very open to new music and they really take advantage of the cultural opportunities they have. I've met a lot of really committed music fans – they keep track of everything that is going on, and they show up at the concerts to get a new experience. It is a bit different from the Danish audience – we have a bad habit of staying at home at the winter time and I think many Danish people prefer the music they already know.
What made you choose Germany as destination for your little intimate series of gigs?
I've heard a lot of good stuff about the German audience from Danish colleagues. It's my second tour in Germany, and I love all of these small, funny concert venues you find in the cities. It has been a great experience and hopefully I'll be able to tour in Germany a couple of times every year.
During your performance you mentioned a lot of personal background behind your songs – is it sometimes difficult to perform them in front of a very intimate audience?
Haha, yes. The truth is, that I don't think about it until after the concert is over, and sometimes I really can't believe that I said that…But at the same time, I feel the stories are relevant if you want to understand the lyrics, and it is very important to me, that the audience understands what I'm singing about.
What would you say, do you like most about playing live and what is the most difficult for you?
What I enjoy the most, is when I have the feeling, that I am making sense. That people gain something from my perspective. I think it's difficult if I "can't find" the audience – if they don't respond. I think that is why I prefer small venues, cause it is so much easier to create a connection to the audience – something that can be really difficult at an outdoor concert for example. Then you have to trust your guts, cause you won't be able to see the crowds' reactions, and that can be a bit tough when you are sharing a lot of personal stuff, haha.
You're originally from Jylland – how much, would you say, does your origin influence your songs?
In Jylland everything is slower, and to keep a slow pace, I think, is very important when I write. I think slowness is a quality in a lot of Scandinavian music – you can hear the long winters, the darkness, and somehow there is a lot of space in the music, I think. In the bigger cities you are less affected by the weather and the darkness, there is more focus on the details and maybe less focus on "the root" of a given song. I live in Copenhagen, so it can be hard to practise slowness, but I've managed to find little spots outside the city where I find closer to myself, and where it's easier to write.
And, what else is it that inspires or influences you most when writing your songs?
Sometimes I steal words or phrases from books that I like, and mix it with my own material. In periods I write a little piece of music every night; a chorus or a new verse, and then I try to make it fit as lyrics. I never write a whole new song in one go – my songs are often made of pieces from several songs – and even when I think they're done I'll revise them two or three months later and mix it with a new piece. It's my way of not getting stuck.
Is there a difference – when you write songs in Danish or in English?
Yes. You can sort of hide behind the words when you write in English. That is not possible in Danish, and sometimes I get a strange feeling of embarrassement when I sing in Danish, as if I am suddenly very exposed.
Do you also get inspired by listening to other musicians? Who are you mainly listening to?
I am listening to a lot of Sufjan Stevens right now. I'm very inspired by his productions and he's a big inspiration on the album I'm recording right now (to be released in April 2017). Nick Drake is also one of my favourites, as well as Tom Waits and Bob Dylan.
Looking at your next steps – what are your plans for the next months?
I'm recording my second album right now, and it's gonna come out in spring. I'm looking very much forward to go to Germany in February and May 2017 to play concerts and promote the new album.
Linebug release new song "Amusement Park" with a sobering advice
INTERVIEW: LINEBUG


Fun fact about me: Back Forest ist just half an hour drive from where I live. It's a huge forest located in the south of Germany, so deep that it got that name. And this is also where this cherry cake comes from. I've only veganzied this version as it's a true classic around here and I cannot wait to present it at the next party!
For this one I've baked a chocolate layer, topped with cherries and covered everything with a vegan cream cheese frosting. You won't believe how easy that one is. I've never been a fan of complicated recipes. So here's my version. No alcohol (as it's usually in this one) and less sugar. The only thing that might be new is "agar agar" – it's a vegan version of galantine and works amazingly well by holding up that cherry layer.
This cake is a German classic! Only vegan and a much more healthier version.
Start by preheating the oven to 180℃/350℉.
Grease a springform (⌀20cm / 8 inch) with some oil like coconut oil. Set aside.
In a bowl mix the flour, baking powder, cacao powder, salt, tonka bean and coconut blossom sugar.
Add coconut oil, apple cider vinegar and filtered water. Combine by using a big spoon. Be careful not to overmix.
Fill into the springform and bake for about 20 minutes. Let cool down.
Take a saucepan and add 6 tbsp of liquid of the canned cherries. Heat slowly and add agar agar. Mix well and set aside.
Now, heat up the cherries with half of the remaining liquid. Once they are cooking, add the agar agar-mixture.
Fill into the springform and let fully cool down.
Take a bowl, add the vegan cream cheese and powdered sugar. Mix well with an electric mixer.
Spread over your cake and decorate with the chocolate. You can easily grate it like you would grate vegetables. I've used my regular grater.
Serve right away or store in the fridge. Holds up to 5 days in your fridge in an airtight container.
Thank you so much for stopping by! If you make this cake make sure to tag me in the picture @therawberry over on instagram and use #therawberryeats so I can re-share it. I always love to see your recreations!


text:
No criminal charges in Michigan hotel pool CO…
NewsHealth
No criminal charges in Michigan hotel pool CO poisoning
PUBLISHED: June 8, 2017 at 4:37 p.m. | UPDATED: July 27, 2018 at 5:55 a.m.
NILES, Mich. (AP) — A prosecutor has decided no criminal charges will be sought in the carbon monoxide poisoning death of a 13-year-old boy in the pool area of a southwestern Michigan hotel.
Berrien County Prosecutor Michael Sepic said Thursday that negligence may have played a role in the April 1 death of Bryan Watts at the Niles Quality Inn & Suites, but it did not meet the definition of gross negligence necessary for a criminal charge.
Sepic says the poisoning likely resulted from a pool heater ventilation pipe disconnecting from the heater, causing carbon monoxide to leak into a maintenance room and be vented into the pool area.
About 10 other people, mostly children, required hospital treatment after being sickened by the carbon monoxide.