text:
\section{Introduction}

IceCube's recent discovery of cosmic high-energy neutrinos \cite{2013Sci...342E...1I,2014PhRvL.113j1101A,2015PhRvL.115h1102A,2015ApJ...809...98A} represents an important step in studying high-energy astrophysical processes with neutrinos. Nevertheless, the origin of the observed neutrinos is currently unknown. Multimessenger searches have not recovered electromagnetic \cite{2015ApJ...805L...5A,2015ApJ...811...52A} or gravitational wave \cite{2014PhRvD..90j2002A} counterparts, and the neutrinos' directional distribution so far is consistent with diffuse emission \cite{2015APh....66...39A}. The observed neutrino energy distribution is also so far consistent with multiple possible source types \cite{2008ApJ...689L.105M,2009ApJ...707..370K,2015ApJ...805...95C,2015ApJ...806...24S,2015arXiv150900983B}.

Some high-energy neutrino observatories are planned to be substantially expanded in the near future. IceCube's planned upgrade, IceCube-Gen2 \cite{2014arXiv1412.5106I}, aims to instrument 10\,km$^3$ volume, essentially increasing sensitivity by a factor of 10. The KM3NeT detector is planned to be constructed in the Mediterranean with comparable volume \cite{2010NIMPA.623..445D}. There are also plans to expand the Baikal neutrino detector at lake Baikal to km$^3$ volume \cite{2011NIMPA.628..115A}.

The specifics of how a neutrino observatory is built or expanded given a fixed cost depend on the relative importance of several factors. For example, a part of the detector can be dedicated to help reject the atmospheric background. This part then, however, is not used in direct detection, therefore reducing the overall sensitivity. Such tradeoffs can be made by aiming to optimize the science reach of the detector.

The goal of this paper is to assess how detector characteristics affect the science reach of a high-energy neutrino detector. Given the limited resources for construction, the optimization of the detector's ability to probe the high-energy universe is essential. We will focus on the discovery of the astrophysical sources of origin of cosmic neutrinos. For numerical values, we will consider IceCube's Gen2 extension, but the results are generally valid for other detectors as well.

While there are numerous critical aspects of detector construction, here we approach this question from the perspective of some of the fundamental detector characteristics, such as (i) sensitivity, (ii) directional uncertainty, and (iii) background rejection ability. While these quantities can vary with source direction, time, etc, here we consider them as characteristic overall values and describe the detector's capability with them. While local variations of these parameters may affect search sensitivity, they are unlikely to change the general relations that we derive below. There are also other important parameters, such as the reconstructed energy uncertainty, which can play an important role in, e.g., spectral analysis. The search method we consider in the following takes advantage of directional and temporal correlation, and therefore energy reconstruction will not be of primary importance.
Our aim is to derive scaling relations between the above three characteristic parameters that determine the detector's sensitivity for different source types. Such a relation can then help establish a detector design that maximizes the chance of discovery within the available resources. In other words, it is likely that the design process requires compromises between achieving greater sensitivity, directional uncertainty or background rejection capability. This work tries to help make the best compromise.

There are different source types for which detector design optimization may be different. We will consider
\begin{enumerate}
\item continuous point sources
\item transient sources
\item an extended galactic source
\end{enumerate}
Further, we will examine searches for TeV neutrinos for which a large number of events are detected with IceCube, as well as ultra-high energy neutrinos with a significantly lower number of detections and better signal-to-noise ratio.

We are interested in the connection between the probability of discovering a given source type, and the following parameters:
\begin{enumerate}[$\circ$]
\item \boldmath{$N_{\rm ast}$}: number of astrophysical neutrinos detected during the considered observation period.
\item \boldmath{$\psi$}: angular uncertainty of the reconstructed neutrino direction.
\item \boldmath{$N_{\rm atm}$}: number of atmospherical background events detected during the considered observation period.
\end{enumerate}
We will derive a scaling relation between these three quantities for each of the considered source type.

The paper is structured as follows. Section \ref{section:searchstrategy} introduces a search strategy that will be assumed in deriving detection probabilities. Sections \ref{section:contpoint}, \ref{section:transients} and \ref{section:galactic} describe results for continuous point sources, transients and extended galactic sources, respectively. Section \ref{section:summary} summarizes and discusses the results.

\section{Search strategy}
\label{section:searchstrategy}

There are a large number of possible search strategies for high-energy neutrinos for a variety of source types. Here we adopt a simple strategy that captures the important features of efficient multimessenger searches, while allowing for the analytical evaluation of the sensitivity.

Since we are interested in discovering the sources of origin, we consider a known astrophysical population of potential sources. Accordingly, the search relies on a catalog of potential neutrino sources observed with electromagnetic telescopes/detectors, with precisely known directions and distances, and if applicable, times and durations. For simplicity, we assume that the sources are uniformly distributed in the universe.

The strategy is the following. We count directional coincidences between the detected events and the source catalog. The significance of the search is determined based on the number of observed coincidences compared to the number expected assuming no correlation between neutrino and catalog directions.
Since a too large number of source in the catalog render the search not sufficiently sensitive, we exclude the farthest sources in the catalog such that the expected p-value from background-only neutrino events equals the p-value $p_{\rm disc}$ determined by the required false alarm rate. This ensures that, having a neutrino that originates from one of the sources within the (reduced) catalog will be a discovery. Note that the downside of the reduced catalog is that the detected astrophysical neutrinos that originate from the sources that are excluded from the reduced catalog are now part of the background.

We quantify the sensitivity of the above search strategy by the probability $P(p_{\rm disc})$ that neutrinos from a source population are discovered with p-value $\leq p_{\rm disc}$. This probability will also depend on the detector parameters.

We note that, while this search is relatively simple and does not take into account all information available in the source catalog, we find that its scaling is similar to that of a more complete search strategy, with comparable sensitivity. The reason is that at larger distances, sources are more uniformly distributed, therefore directional correlation gradually loses significance.

The derivation of the scaling is different for different scenarios. In the following, we organize the discussion along source types and neutrino energy ranges of interest, pointing out where the derivations overlap.

\section{Continuous point sources}
\label{section:contpoint}

Continuous point sources are expected to continuously emit neutrinos, from within an angular size much smaller than the angular uncertainty of reconstructed neutrino directions. This class includes some of the most promising neutrino source candidates, such as starburst galaxies, active galactic nuclei (AGN), and quasars. We will discuss extended galactic sources in a separate section.

In the following we will separately consider the cases of ultra-high-energy ($\gtrsim100$\,TeV) neutrino and TeV neutrino searches. These two cases have different signal and background detection rates that require separate treatment. Since we are interested in directional coincidence, for both cases we will focus on track events that have much better reconstructed directions than cascade events.

\subsection{Ultra-high-energy search for continuous point sources}
\label{section:UHEcontinuous}

\subsubsection{Number of detected signal and background neutrinos}

It is useful to introduce $N_{\rm s}$ and $N_{\rm b}$, the numbers of detected signal and background neutrinos, respectively. Signal neutrinos will be defined as those that originate from one of the sources in the reduced catalog. All other detected events, including atmospheric events as well as astrophysical neutrinos originating from sources not in the catalog, will be considered background, and their number will be denoted with $N_{\rm b}$. Since the search is limited to sources within $d_{\rm th}$, only a fraction
\begin{equation}
f_{\rm d} \propto d_{\rm th}
\label{eq:fd}
\end{equation}
of astrophysical neutrinos will be included in $N_{\rm s}$. This scaling comes from the fact that the neutrino contribution of a volume shell within $[d_{\rm th},d_{\rm th}+\epsilon]$ is independent of $d_{\rm th}$, where $\epsilon$ is a small distance. We therefore have
\begin{eqnarray}
N_{\rm s} &=& f_{\rm d} N_{\rm ast}  \label{eq:Ns} \\
N_{\rm b} &=& N_{\rm atm} + (1 - f_{\rm d}) N_{\rm ast} \\
N_{\rm total} &=& N_{\rm s} + N_{\rm b}
\end{eqnarray}

\subsubsection{Discovery probability}

We take advantage of the fact that ultra-high-energy searches have relatively few detections by optimizing for the detection of one signal neutrino. Since we focus on only the nearby sources (say within a few hundred Mpc) within which directional correlation can be significant, the fraction of astrophysical neutrinos originating from these nearby sources is small. Even with a $\sim10$ times increased detection rate, the number of astrophysical neutrinos originating from a source within $\sim 100$\,Mpc from a uniform source population over $\sim1$\,yr observation is $N_{\rm s} \ll 1$.

In the limit of $N_{\rm s} \ll 1$ the probability of discovery is
\begin{equation}
P(p_{\rm disc}) \approx 1 - \mbox{Pois}(0,N_{\rm s}) \approx N_{\rm s},
\label{eq:Pp}
\end{equation}
where $\mbox{Pois}(k,\lambda)$ is the Poisson distribution for $k$ with parameter $\lambda$.

\subsubsection{Threshold distance}

With $\psi$ directional uncertainty for the neutrino events and precise (i.e. $\ll\psi$) directional uncertainty for the source catalog, the chance of random directional coincidence between a neutrino and a source is $\propto \psi^2$. Let $\rho_{\rm source}$ be the number density of the astrophysical sources in the catalog, and $d_{\rm th}$ a threshold distance such that we only include sources in the catalog if they are within $d_{\rm th}$ to the observer. Let $N_{\rm total}$ be the total number of detected events, including astrophysical neutrinos and atmospheric background events. With these parameters, the probability of false discovery, i.e. the probability of a chance overlap between any of the background neutrinos and sources is
\begin{equation}
p \approx k \psi^2 \rho_{\rm source} d_{\rm th}^3 N_{\rm total}
\label{eq:p}
\end{equation}
where $k$ is an appropriate numerical constant. Note that this approximation is accurate for $p\ll 1$.

If we want a single neutrino from the source population will be discovery, we can choose $d_{\rm th}$ such that $p$ in Eq. \ref{eq:p} is equal to the discovery threshold $p_{\rm disc}$. The required distance threshold that will render a single signal neutrino a discovery is therefore
\begin{equation}
d_{\rm th} = p_{\rm disc}^{1/3} k^{-1/3} \psi^{-2/3} \rho_{\rm source}^{-1/3} N_{\rm total}^{-1/3}
\label{eq:dth}
\end{equation}

\subsubsection{Scaling relation}

We now combine Eqs. \ref{eq:fd}, \ref{eq:Ns}, \ref{eq:Pp} and \ref{eq:dth} to determine the scaling relation between $P(p_{\rm disc})$ and the detector parameters. We find
\begin{equation}
P(p_{\rm disc})|_{\rm continuous,UHE} \propto N_{\rm ast} \psi^{-2/3} N_{\rm total}^{-1/3}.
\end{equation}
This is the scaling relation we can use to compare detector designs with respect to the probability of discovery of continuous sources with searches for ultra-high-energy neutrinos. For example, if design A has twice the effective area but the angular uncertainty is 3 times greater than for design B, then we see that $N_{\rm ast,A} \psi_{A}^{-2/3} N_{\rm total,A}^{-1/3} = (2 N_{\rm ast,B}) (3 \psi_{B})^{-2/3} (2 N_{\rm total,A})^{-1/3}$, i.e. the probability of discovery for design A is only $76\%$ of the probability for design B, making design B favorable.

\subsection{TeV search for continuous point sources}
\label{section:tevcontinuous}

For TeV muon-neutrino searches, we have high detection rate of background neutrinos, making detection feasible only if $N_{\rm s} \gg 1$. This requires a different treatment than what we saw above for the ultra-high-energy search.

\subsubsection{Discovery probability}

The expected number of directional coincidences between detected neutrino events and the sources in the catalog, assuming no signal component and therefore only chance coincidence, is
\begin{equation}
\langle N_{\rm c} \rangle = k \psi^2 \rho_{\rm source} d_{\rm th}^3 N_{\rm total}
\label{eq:Nc}
\end{equation}
where $k$ is an appropriate numerical constant. For TeV searches, $N_{\rm total} \gg 1$ for typical observation periods; therefore the probability distribution of the measured number $N_{\rm c}$ of coincidences, still assuming no signal component, can be approximated with a normal distribution with $\langle N_{\rm c} \rangle$ mean and $(\langle N_{\rm c} \rangle)^{1/2}$ standard deviation. For normal distributions, $p_{\rm disc}$ can be expressed as a minimum offset $\sigma_{\rm disc}(\langle N_{\rm c} \rangle)^{1/2}$ from the mean. For instance, for $5\sigma$ discovery we need $\sigma_{\rm disc} = 5$. The probability of discovery is therefore equivalent to the probability that the number of coincidences will be $\geq \langle N_{\rm c} \rangle + \sigma_{\rm disc}(\langle N_{\rm c} \rangle)^{1/2}$.

We are interested in calculating the probability $P(p_{\rm disc})$ of reaching a p value $\leq p_{\rm disc}$ in the presence of $N_{\rm s}$ signal neutrinos. For simplicity, we can approximate $N_{\rm b} \approx N_{\rm total}$ since we will only use sources within the local universe, representing a small fraction of the astrophysical neutrino flux. This means that the expected number of coincidences will be shifted by $\approx N_{\rm s}$ in the presence of signal neutrinos. We therefore have an approximately normal distribution of coincidences with $\langle N_{\rm c} \rangle + N_{\rm s}$ mean and $(\langle N_{\rm c} \rangle)^{1/2}$ standard deviation. The probability of this distribution exceeding the discovery threshold, that is the probability of discovery, is
\begin{equation}
P(p_{\rm disc}) = 1 - \Phi\left(\frac{\sigma_{\rm disc}\sqrt{\langle N_{\rm c} \rangle} - N_{\rm s}}{\sqrt{\langle N_{\rm c} \rangle}}\right)
\label{eq:pdisc2}
\end{equation}
where $\Phi$ is the cumulative standard normal distribution function.

\subsubsection{Scaling relation}

While $P(p_{\rm disc})$ in Eq. \ref{eq:pdisc2} is a nontrivial function of the argument of $\Phi$, it is clear that it is a monotonically increasing function of $N_{\rm s} / (\langle N_{\rm c} \rangle)^{1/2}$ and only through this combination does it depend on the detector parameters. This combination gives us the scaling relation
\begin{equation}
P(p_{\rm disc})|_{\rm continuous,TeV} \longrightarrow N_{\rm ast} \psi^{-1} N_{\rm total}^{-1/2}.
\label{eq:ppdisccontinuoustev}
\end{equation}
Note that this is not proportionality, but a monotonically increasing dependence, hence the $\longrightarrow$ notation instead of $\propto$. Nevertheless, detector design optimization with respect to continuous TeV searches requires the maximization of the right hand side of Eq. \ref{eq:ppdisccontinuoustev}.

\section{Transient sources}
\label{section:transients}

Transient high-energy processes represent some of the most interesting cases for the production of high-energy neutrinos. Primary examples for transients that may be important neutrino sources are gamma-ray bursts (GRB), certain types of supernovae, magnetar flares and AGN flares. The transient nature of these sources greatly facilitates neutrino searches enabling the use of temporal coincidence, reducing the background rate.

Detector optimization for transients, as we discuss below, is very similar to the case of continuous sources. This is good news as it allows for optimization synchronously for the two source categories. Below we discuss the cases of TeV and ultra-high energy observations, as well as a third category, the case of rare events that requires a different optimization.

\subsection{Rare transient events}
\label{section:raretransient}

For continuous sources, we assumed that there is a sufficiently large number of known sources in the catalog such that, in order to reach the required false alarm probability $p_{\rm disc}$, we need to reduce the source catalog by excluding some of the sources. This may not always be necessary for rare transient sources.

We can quantify the requirement towards a source type for a single coincidence being a discovery. Assuming that the probability of temporal and directional coincidence is small, it is given by
\begin{equation}
p \approx k \psi^2 R_{\rm source} \tau_{\rm source} N_{\rm total}
\label{eq:ptransient}
\end{equation}
where $R_{\rm source}$ and $\tau_{\rm source}$ are the overall rate and the typical duration of the source, respectively, and $k$ is an appropriate numerical constant.

In Eq. \ref{eq:ptransient} all the observed transients are included in $R_{\rm source}$. This means that, if $p$ is less than the required false alarm probability $p_{\rm disc}$ for discovery, then we can keep all sources in the analysis. Consequently, the only factor that will affect our chance of discovery is the sensitivity of the detector, i.e. the number of signal neutrinos detected. This gives us the scaling relation
\begin{equation}
P(p_{\rm disc})|_{\rm transient,rare} \propto N_{\rm ast}.
\end{equation}

For which scenarios can we consider the transient sources sufficiently rare to assume the above scaling? Let us consider the different cases.

For GRBs, we have a rate of $R_{\rm grb} = O(100)$,/yr$^{-1}$ and duration $\tau_{\rm grb} \sim 100$\,s. For the case of ultra-high energy neutrinos, including cascade events we can expect $N_{\rm total} \sim 200$ detections, assuming a $10$-fold increase compared to the current IceCube rate, within a one-year period. For $\psi \sim 15^\circ$, using Eq. \ref{eq:ptransient} we get $p \approx 0.004 \ll 1$, therefore GRBs can be safely considered rare for ultra-high-energy searches. For the case of TeV searches, assuming $\psi \sim 1^\circ$ and $N_{\rm total} \sim 10^6$ representing a 10-fold increase compared to current IceCube rates, we get $p = 0.1 \ll 1$. GRBs are therefore rare events from the perspective of TeV searches as well.

Examining other transient sources in a similar fashion, we find that magnetar flares can be considered rate events. While they are more numerous than GRBs, we can only detect nearby events, making their overall rate lower, while their duration is comparable to those of GRBs. Supernovae and AGN flares, however, are more numerous and last for significantly longer, making them sufficiently common to require a more detailed analyses. The only exception is UHE searches with only track events. For this scenario, practically all transients can be considered rare.

\subsection{Ultra-high-energy and TeV searches for transient sources}
\label{section:transients}

For transient sources that are not sufficiently rare to merit the above simple treatment, we find scaling relations building on the derivations for continuous sources.

For this, we point out that Eq. \ref{eq:ptransient} is equivalent to Eq. \ref{eq:p} for continuous sources with $R_{\rm source} \tau_{\rm source}$ in the transient case corresponding to the number of sources $N_{\rm source} = 4/3 \pi \rho_{\rm source} d_{\rm th}^3$ in the continuous case. Similarly, Eq. \ref{eq:Nc} can be also expressed for transients with the same substitution. Besides this difference, the derivations of the scaling relations for the ultra-high-energy and the TeV cases can be carried out identically for the transient and continuous cases. Consequently, the scaling relations for the two cases will also be identical:
\begin{eqnarray}
P(p_{\rm disc})|_{\rm transient,UHE} \propto N_{\rm ast} \psi^{-2/3} N_{\rm total}^{-1/3} \\
P(p_{\rm disc})|_{\rm transient,TeV} \longrightarrow N_{\rm ast} \psi^{-1} N_{\rm total}^{-1/2}.
\end{eqnarray}

\section{Extended galactic source}
\label{section:galactic}

Another interesting scenario to consider is the contribution of galactic sources to the astrophysical neutrino flux. While galactic sources cannot explain the total extraterrestrial neutrino flux detected by IceCube, they an still contribute to it. Since galactic sources would be much easier to identify and study then many extragalactic sources, even a partial contribution to the overall flux would be very interesting.

Here we consider an extended (unresolved) galactic region as the potential origin of some astrophysical neutrino flux to derive scaling relations for the detector parameters that optimize the detectability of such neutrino flux. Such extended source can be, for instance, the vicinity of the galactic center.

For simplicity, we assume that the extended region is circular (e.g., galactic center) with angular radius $\psi_0$. Treating this radius as an angular uncertainty from the center of the extended region, we have an effective angular uncertainty of $\psi_0 + \psi$ for the neutrinos. Beyond this, the scaling of $P(p_{\rm disc})$ for this case can be derived similarly to the case of continuous point sources. Given that we expect the galaxy to represent only a small fraction of the detected astrophysical flux, we are likely in the regime in which multiple detected neutrinos are required to claim discovery from the extended region. This means that the scaling will be similar to that of the continuous TeV case, independently of the considered neutrino energy range:
\begin{equation}
P(p_{\rm disc})|_{\rm galactic} \longrightarrow N_{\rm ast} (\psi_0 + \psi)^{-1} N_{\rm total}^{-1/2}.
\label{eq:ppdisccontinuoustev}
\end{equation}

\section{Conclusion}
\label{section:summary}

We derived source model independent scaling relations of detection probability for high-energy neutrino detectors with respect to detector parameters. The considered parameters we considered are (i) the number $N_{\rm ast}$ of detected astrophysical neutrinos from a given source population, (ii) the angular uncertainty $\Psi$ of reconstructed neutrino directions, and (iii) the total number $N_{\rm total}$ of detected neutrinos, including those of atmospheric as well as astrophysical origin. Table \ref{table1} summarizes the obtained scaling relations for easier comparison.

\begin{table}
\begin{center}
\bigskip
\bigskip
\begin{tabular}{| c ? c | c | c | c | c |}
\hline
Source type & Search & $N_{\rm ast}^{(\cdot)}$ & $\Psi^{(\cdot)}$ & $N_{\rm total}^{(\cdot)}$ & Section\\ \hlinewd{1pt}
Continuous  & UHE    &       1             &     -2/3     &    -1/3      &   \ref{section:UHEcontinuous}      \\
\cline{2-6} & TeV    &       1             &     -1       &    -1/2      &   \ref{section:tevcontinuous}      \\ \hline
Transient   & rare   &       1             &      0       &     0        &   \ref{section:raretransient}      \\
\cline{2-6} & UHE    &       1             &     -2/3     &    -1/3      &   \ref{section:transients}         \\
\cline{2-6} & TeV    &       1             &     -1       &    -1/2      &   \ref{section:transients}         \\ \hline
Galactic    & all    &       1             &     $*$      &    -1/2      &   \ref{section:galactic}           \\ \hline
\end{tabular}
\caption{Scaling relations between detector characteristics $N_{\rm ast}$, $\Psi$ and $N_{\rm total}$ for different source types and neutrino searches. $^*(\Psi_0 + \Psi)^{-1}$.}
\label{table1}
\end{center}
\end{table}

Our conclusions are as follows. (i) The above scaling relations allow for a source \emph{model-independent} comparison of different detector design. (ii) Most scenarios result in relatively similar scaling relations, enabling optimization that only weakly depends on the target signal type. (iii) For the TeV cases, we recover the familiar signal-to-noise-ratio scaling $N_{\rm ast} / (\Psi^{2} N_{\rm total})^{1/2}$. For the UHE and rare searches, however, $N_{\rm ast}$ is more important. We can therefore conclude that, overall, detector sensitivity is particularly important in optimizing detector design.

\vspace{4 mm}
The author is thankful for Marek Kowalski and the IceCube Gen2 HEA/Surface working group for the useful feedback. We are thankful for the generous support of Columbia University in the City of New York.

\bibliographystyle{elsarticle-num-names}

redpajama_set_name: RedPajamaArXiv


An old African leader says about leadership	he says that leadership should never be shared it should always remain in the hands of the dispossessed people. We will lead the revolution.
If you tell the truth	you don't have to remember anything.


Have you started accessorizing with scarves yet? Now that's it's Winter, I love how a simple outfit can go from drab to fab with something as simple as a scarf.
But I also know scarves can be difficult to organize because they can be bulky. And if you're a collector and lover of scarves, then it can be difficult to find a place to put them where you can see all of your options!
Since scarves usually aren't the first things to find a home when organizing your closet and dresser, it can sometimes be difficult to fit them in to your space. Thankfully, there are so many different ways to organize them that you can easily incorporate them into your organization, no matter how much or how little space you have. Here are 3 simple ways to keep your scarves organized.
1. Hang scarves on a hanger.
You can probably fit every scarf that you own on one or two hangers if you want to save space, or you could spread them out on several hangers so that you can see all of them and easily access each one.
Organizing hangers by colors, styles, and seasons will make it easy to find a scarf – and put it back when you're finished with it!
By the way- this is a great way to organize belts, too, while you're at it!
2. Roll scarves up and put them in a drawer.
This obviously requires that you have an available drawer, but it offers the great advantage of being able to see every single scarf. If you don't necessarily need to see every single one (for example, if you have certain scarves that you only wear during the winter,) then you can just fold them up and stack them on top of each other.
3. Organize scarves in a hanging shoe organizer.
If your closet door isn't already being used, get a hanging shoe organizer (one of the ones with an individual slot for each shoe), roll up your scarves and tuck them away!
These organizers are pretty cheap and you can fit them to any available door you have. Since most of them are clear, it is easy to see what you have and organize them in a way that works for you. Put the ones that you use the most at eye level, and that other scarf that you've never worn at the bottom, and you're good to go!
If worst comes to worst, you can just tuck one or two scarves on your closet door, fold them into your sock drawer, or loop them through a rack in your closet.
No matter how many or how few scarves you have, though, you can always find a system that works for you!
How do YOU organize scarves?
Great tips, especially #3 for putting scarves in a hanging shoe organizer! I don't know why I've never thought of that.
But before to have so much scarves I hanged them in hooks and they look so nice too!
You are an accessory queen!
Place shower curtain rings onto a sturdy clothes hanger and place each scarf through a separate ring.
Oh, I love that! Very creative!


text:
Find UN Data, Resources, News and more...
About the UN
The UN in Bahrain
UN Entities in Bahrain
The Resident Coordinator Office
Our Team in Bahrain
Sustainable Development Group
As the designated representative of the UN Secretary-General in the Kingdom of Bahrain, the UN Resident Coordinator guides the UN's engagement in development activities in the country.
The UN Resident Coordinator's responsibilities include ensuring the coordination of the UN's development activities, creating a platform of coordinated delivery, promoting the enhancement of national capacities and ensuring effective advocacy of UN values, standards, principles and activities on behalf of the UN with the highest level of Government.
The Resident Coordinator's Office supports the UN country team in:
Strengthening the coordination of development activities within the UN and between the UN and development partners;
Furthering coherence within the UN through joint strategic planning and programming of development activities;
Supporting the harmonisation and simplification of business practices and administrative procedures;
Strengthening joint communications, advocacy and reporting on the collective development work of the UN in the Kingdom of Bahrain;
Engaging in the identification of innovative and sustainable resources of funding.
The Resident Coordinator in the Kingdom of Bahrain a.i.
Mohamed El Zarkani is the United Nations Resident Coordinator a.i and Chief of Mission of IOM in the Kingdom of Bahrain. Mohamed acquired his BA in International Relations from Webster University in the Netherlands in 2004.
From 2004-2010 he has worked with various prominent Egyptian NGOs pioneering the first incubator of social enterprises in the Middle East and North Africa. Through his work with Egyptian NGOs, Mohamed has managed multiple national and regional projects in the employment and skills enhancement sectors.
Mohamed joined the United Nations Development Programme (UNDP) in 2010 to lead a Joint Project between the United Nations Capital Development Fund (UNCDF), UNDP, and the Egyptian Ministry of Local Development aiming to establish a Local Economic Development framework for the Government of Egypt.
Since joining IOM in 2013, he has served as programme manager for a community stabilization initiative covering Egypt, Tunisia and Libya, and as Head of Programmes in IOM Kuwait, managing projects in areas of human development and labour mobility, as well as migrant protection and assistance.
Since joining IOM Bahrain in 2018, Mohamed has been responsible for developing and promoting the full range of IOM services according to the priorities of the Government of Bahrain. Leveraging Bahrain's role as a Regional Centre for Excellence in combatting Trafficking in Persons, Mohamed has also established IOM technical support programmes with the Human Rights Commission in Saudi Arabia and the Ministry of Human Resources and Emiratization in UAE.
As of November 2020, Mohamed has been serving as the the UN Resident Coordinator a.i in the Kingdom of Bahrain.
Mohamed is married and has two daughters.
Mohamed El Zarkani
Chief of Mission and Resident Coordinator a.i.
melzarkani@iom.int
United Nations Bahrain
Welcome to the United Nations country team website of Bahrain
Resident Coordinator Office
United Nations House 69
Road 1901, Block 319
Al Hoora, Kingdom of Bahrain
Find out what the UN in Bahrain is doing towards the achievement of the Sustainable Development Goals.
SDGs SDGs
Our work on the Sustainable Development Goals.
Take Action Take Action
Let's Take Action Towards the Sustainable Development Goals
Find out more about our work towards the Sustainable Development Goals.
Jobs Jobs
Learn about employment opportunities across the UN in Bahrain.
© Copyright 2022 United Nations in Bahrain

redpajama_set_name: RedPajamaCommonCrawl


Applications are now open for the UNLEASH Innovation Lab 2018, a global non-profit initiative bringing together 1,000 young talents to create new, innovative solutions to help achieve the U.N. Sustainable Development Goals (SDGs). UNLEASH 2018 will take place in Singapore, where selected SDG talents will participate in a four-day innovation challenge together with experts from the public and private sectors to accelerate a common path for sustainable development.
"We each have a valuable contribution to make to sustainable development. This gathering of young, creative, and innovative minds will harness the power of human ingenuity, to create imaginative solutions that achieve the SDGs," says Singapore's Prime Minister Lee Hsien Loong.
and high proficiency in English with the ability to engage in complex discussions.
Additionally, potential attendees must match one of four profiles: entrepreneurs who have recently launched a start-up or campaign, intrapreneurs who have improved or changed entities through research and development or organizational changes, academics who have acquired in-depth subject knowledge through a PhD or research project, or technical experts who possess skills enabling development of physical or software-based solutions.
Each year until 2030, the UNLEASH Innovation Lab will be held in a new country to explore the SDGs through a different cultural lens, using local ways of living, thinking and working to ignite collaboration and unlock new perspectives.
Interested young talents can find more information and apply at www.unleash.org.


text:
Home > Midlands > Gaika Mine Manager's house
Gaika Mine Manager's house
Gaika House, the mine manager's residence, was built in 1895 on the top of a small kopje next to the Chicago-Gaika Development Company claims. A contemporary of the Phoenix House, it has a similar structure, although it is built on a much smaller scale, mostly of wood and corrugated iron, which allowed for its transport later to Dr Richard and Dawn Edwards' farm.
In 1905 the Chicago-Gaika Development Company sold the mine to the Gaika Gold Mine Company who in turn much later sold it to Major Aubrey J. Hilton, who pegged the Trojan Nickel mine in 1965 for Anglo-American. About 1974 Major Hilton sold Gaika Mine to Union Carbide, but in all this time Gaika House remained the home of successive mine managers.
When underground mining operations ceased in 1976, Gaika House was leased to the Que Que Round Table organisation as a meeting place. In 1989 its owners wished to extend their open-cast operations to include the kopje on which the house stood. National Museums and Monuments of Zimbabwe (NMMZ) were approached and with their approval the house was sold to Dr Richard and Dawn Edwards for $1 on condition that the house was re-erected as a family home on their Kwekwe farm.
The collaboration with the architectural firm of Jackson, Kurebgaseka and Wilson was a remarkable success and Gaika House ranks along with other buildings, such as those at Charter Estates, as one of the best-preserved heritage buildings in Zimbabwe.
The likely source of the word Gaika is from the Shona word "gaya" which means to be ground or be milled. Wikipedia claims the name also has South African roots in the Gaika people who are also called the Ngqikathe royal clan of Ciskei in South Africa, but this seems less likely.
Contact bryanelsworth@gmail.com
Que Que (now Kwekwe) was originally called Sebakwe after the nearby river, but as the name was often confused at the Post Office with Selukwe (now Shurugwi) it was changed to Que Que on 1 October 1905. The name is onomatopoeic, having originated from the sound of the frogs in the Kwekwe River.
Most of the early historical records of the town were destroyed in a fire in 1910; it has been suggested the fire was deliberately caused by an official who wanted to destroy the financial records and any evidence that he may have stolen funds from the Post Office.
One of the most notable events in the history of Que Que was the laying of the railway track from Salisbury as far as the Gaika Mine on 5 November 1901 which was celebrated with a grand dinner, speeches and fireworks. The rail siding was then called Globe and Phoenix but renamed Que Que on 1 January 1924. Previously it would take three days to get from Que Que to Gwelo (now Gweru) by donkey cart; with the railway the journey now took only four hours as long as there were no undue delays for the locomotive crew to collect firewood for the locomotive, or to shoot guinea-fowl by the trackside!
The Gaika House was erected in 1895, initially as miner's quarters, hence the evenly spaced doors along the front of the house which would have each led to separate rooms. The building was sent from South Africa as a pre-fabricated kit of corrugated iron panels on a timber frame; on construction locally fired farm bricks were used to build internal walls which separated and insulated the house. In the early 1900's, when the building began to be used as the mine manager's house a kitchen wing was added, which is now on the west face of the house, the verandah was extended with decorated timber gables, and the roof ventilators were added to provide a through draft in the summer heat.
When permission was granted by NMMZ for Gaika House to be moved to its present position in 1989, the building was surveyed, and reconstruction drawings prepared by the Harare architectural firm of Jackson, Kurebgaseka and Wilson before the structure was dismantled in 1991. The old building was in an L-shape, with the living rooms down the long axis, now the north side, and the kitchen forming the short axis, now the western side. The new building has been extremely sympathetically reconstructed as a rectangle with a central courtyard and bedrooms along the long southern axis and a garage on the eastern side with completion in 1995.
The house faces north on the summit of a beautiful wooded kopje surrounded by mountain acacias. (Brachystegia tamarindoides Benth) The interior contains furniture appropriate to the circa 1912 appearance of the house and is currently well maintained. The success of the project is a great tribute to the dedication and perseverance and deep pockets of its owners, Richard and Dawn Edwards and the continued maintenance of its current tenant.
The Gaika Mine is situated just to the south of Kwekwe, between the A5 national road to Gweru and the secondary road which goes from the roundabout to Mvuma, on flat open ground, parts of which tend to become waterlogged in the rains. The original claims are situated within Zimbabwe's basement schist's, in the oldest series of three systems comprising the Sebakwian, Bulawayan and Shamvaian and more specifically in the "greenstones" and were pegged on the site of extensive pre-European gold workings.
According to Roger Summers, the Gaika Mine, like the Globe and Phoenix Mine (G&P) is on the granite-schist contact, but unlike its neighbour, the gold has become mineralized into the walls of the reef and A.M. Macgregor in The Geology of the Country around Que Que, Gwelo District Bulletin No. 20 states: "this makes it difficult in stoping to avoid diluting the ore with barren rock or leaving valuable ore in the walls." This difficulty was first encountered by the pre-European miners who dug out far more than they managed to mill and Walter Currie in 1902 estimated there was 50,000 tons of "ancient chips" or rubble lying around on the Gaika claims averaging 7gms per ton. In fact, this was an under-estimate and it was said at the time that these "ancient chips" paid for the development of the Gaika Mine.
Summers states that the "ancient workings" comprised two principal lines of stopes averaging 20 metres in depth. H.E. Jones measured over 160 stopes over an area of 25 acres, some remaining reef samples assayed at 31gms per ton and he described them as: "I believe the most extensive series of ancient workings in Rhodesia." In their lengths, 143 stopes were less than 15 metres; 13 were 16 – 30 metres, and 4 were 31 – 61 metres long. Pre-European gold output was estimated at 300,000 to 1,000,000 oz. (9.3 to 31.1 tonnes)
These pre-European miners discovered that at 15 metres the reef split; so, they followed each ore body down leaving a thin section, or "horse" between the two stopes. Eventually it collapsed and killed two female miners whose bodies were only found in the 1940's during development work; one at a depth of 1.4 metres and the other at 15 metres. The University of Cape Town Medical School reported the one body that they examined was that of a young woman, aged about nineteen years and approximately 5 feet 3 inches (160cms) tall.
Iron gads (hoes) chisels, stone hammers and mortars were recovered in the 1930's and sent to the Bulawayo Museum of Natural History together with wood used in fire setting to crack the quartz veins. Radio carbon dating of the wood gave a date between 90 – 180 years old, suggesting the Mfecane invasions of the 1830's may have brought a stop to the deeper level mining.
In modern times the claims were pegged in 1894 by the Chicago-Gaika Development Company, who did a considerable amount of development work before the company was re-organised and floated as the Gaika Gold Mine Company with the first recorded output of 80kgs (2, 568 oz.) in 1905.
Diana Polisensky reports in article entitled "Down in the dumps" on her website www.oncecalledhome.com that production was hampered by drinking water having to be brought from the Sebakwe River by ox wagon. After a legal argument in 1898, the G&P Mine obtained permission to pump water from the Sebakwe River through an 8.5 km pipeline. However, during the 1894 drought Gaika employees were forced to walk to the G&P with four-gallon (15 litres) paraffin tins to get their water, but as the drought continued the G&P banned their employees from giving water to the Gaika Mine.
The Gaika Mine received little support from the Government Mining Engineer who reported: "The Chicago-Gaika as a whole must be regarded as a disappointing proposition…none of the ore bodies thus far discovered give any indication of permanency or size… It has been proposed to erect a battery and fifteen stamp mill. If the future of the mine were assured and there was a probability of the mine lasting for five or ten years then [this investment] would be advisable, but for a property, the future of which is so uncertain, I do not think it would be wise."
Diana's article continues: "As predicted, the mine was plagued with irregular reefs. Instead of one continuous channel, there were sub-parallel or even transgressive ore bodies with variable pay-shoot and sudden cut-offs on their North Reef, Parallel Lode, and Rubble Reefs to the north and Lucy and Lucy West, Magazine, Number's 6, 8, and 10, South Kopje, Robin Hood, and its Extension. The saving grace was high grade was maintained. But expenses were high, the North Reef having very high antimony content.
The mine always gave cause for anxiety, as a result of which large scale operations were avoided. There was difficulty in estimating ore reserves accurately and linking the sampling plans to mill throughput…blocks of ore which should, on paper, have done well were poor and others, considered marginal, often yielded surprisingly good results."
Diana recounts a story that at the foot of Gaika Kopje some very rich ore was encountered in the earliest development shafts: amber-coloured steatite flecked through with the gold carrying about 100 ounces (3,110gms) to the ton! A drive was put out on this for about 45 metres north and south. The rich product was stored in a pole and dhaka hut at the bottom of the garden with a caretaker to watch over the hoard. "By the time the mining engineer arrived to take over more active operations the caretaker firmly believed the hoard to be his own and was difficult to dislodge. The engineer was of the opinion that much of the gold had been hidden under adjacent development rock dumps.
Diana Polisensky has a further article on her website entitled "The Depression, Que Que's Lucky Break" which gives the information that the Gaika Mine operated from 1894 and closed in 1929, a period of thirty-five years, when it was thought that the reef, thought to be an extension of the Phoenix reef became exhausted, before mining restarted under new ownership of Que Que Mines as the Chicago-Gaika Mine.
The new company restarted the mine with a capital thirty times lesser than the former company's capital. (£5,000 rather than £140,000) However from 1931 to 1935 the Mine repaid a 400% return on investment per annum for the local shareholders; £100,000 being issued in dividends in four years.
Gaika Mine was the second largest gold producer in the Kwekwe District after the Globe & Phoenix Mine which was the largest producer in Zimbabwe and over its lifetime, the Gaika Mine produced about 23 tonnes of gold from about 2,626,671 tonnes of ore, an average of 8.7 grams of gold per tonne.
The fact that the Gaika Mine Manager's house managed to outlive the Gaika mine and continues to give pleasure to visitors is a wonderful testimony to the generosity and far-sightedness of Dr Richard and Dawn Edwards and resulted in one of the best-preserved heritage buildings in Zimbabwe being preserved for future generations.
A corrugated-iron hut now lacking the metal chimney vent of the Kaytor huts which were widely used by the administration in the early days of the country in the grounds of Gaika House
Amongst the historical treasures at the Gaika House is a financial ledger dating from June 1910 to June 1912 written up two columns to the page in £. s.d. in ink copperplate writing the carried forward and brought forward balances neatly underlined in red. I examined the stable account amongst others, which included copious bags of mealies to feed the mules, as well as mule harness sets at £11 5s. 6d. each, whip sticks at 9s. each, tins of Dubbin for polishing the leather at 2s. each and mule medicine at 9d. a bottle.
Thanks to Dr Richard and Dawn Edwards and Bryan Elsworth for permission to visit Gaika House
Thanks to Charles and Lesley Castelin for making the arrangements and acting as guides
D. Polisensky. http://www.oncecalledhome.com/2012/09/the-depression-que-ques-lucky-break/
D. Polisensky. http://www.oncecalledhome.com/2012/08/down-in-the-dumps
National Museums and Monuments of Zimbabwe. Some historic buildings of the Central Region.
R. Cherer Smith. Avondale to Zimbabwe. R. Cherer Smith, Salisbury, 1978.
R. Summers. Ancient Mining in Rhodesia. Trustees of the National Museums of Rhodesia 1969.
A.M. Macgregor. The Geology of the Country around Que Que, Gwelo District. Bulletin No. 20
seek permission first


text:
Q:  Filename [java application] C:\Program Files\Java\jre8\bin\javaw.exe On running one of the codes without any compilation or runtime errors, the Eclipse for Java Developers' version in Windows 7 gives the message:
<terminated> Filename [java application] C:\Program Files\Java\jre8\bin\javaw.exe

I tried searching for it and found the Program Files folder could be a possible problem as it has space in its name.
I tried to fix it but am unable to change the path of the file when it runs i.e.: the runtime path of the application still remains as its mentioned in the title. Besides, I tried searching for why the message  should pop and am unable to get a relevant answer for my query.
I apologize if the question is trivial or repeated but since the available solutions didn't work for me, I'm posting the question.
Can anybody suggest a method to overcome the issue? Thanks a lot in advance.

A: Some times  class with main() function is not saved so you will get this error,hence save all the classes.Still if it is not working just close Eclipse IDE and restart it.

A: This seems to be a problem related to the JDK that you are using, try using the newer version of the JDK.
This happened with me while I was running a Spring Boot Application:
I was getting the same  message and there was no logs in the console, even the Spring Boot Startup logs were not present: (Attaching the image for reference)

Then, I opened the run configuration (Sprint Boot App- Run Configurations) and unchecked the Enable Life Cycle Management - Termination Timeout (ms) option as shown in the attached image:

Now I started getting another error: logs are given below:
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=16392, tid=30144
#
# JRE version: OpenJDK Runtime Environment (11.0.2+9) (build 11.0.2+9)
# Java VM: OpenJDK 64-Bit Server VM (11.0.2+9, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  0x0000000000000000

I again searched for the solution of this problem and have got the solution given at A fatal error has been detected by the Java Runtime Environment. EXCEPTION_ACCESS_VIOLATION
I just installed the latest version of JDK and have used that in my eclipse project and it worked fine.

A: I had a similar issue. I changed the work space and started from the beginning.
This seemed to fix the problem; everything is fine now.

redpajama_set_name: RedPajamaStackExchange


Forget trips to the laundromat as you can get all your laundry done in the comfort of your home with discounts of up to $550 on state-of-the-a... Forget trips to the laundromat as you can get all your laundry done in the comfort of your home with discounts of up to $550 on state-of-the-art Samsung dryers, plus free shipping. Saving on the Galaxy S10, Galaxy Tab, Chromebooks, and smart home appliances just got much easier with WIRED's wide range of verified Samsung promo codes and Samsung promotions.
Say goodbye to laundromats forever with savings of up to $550 on leading washers from Samsung, plus free shipping. Whether you're shopping for... Say goodbye to laundromats forever with savings of up to $550 on leading washers from Samsung, plus free shipping. Whether you're shopping for home appliances, smartphones, tablets, laptops, or TVs, WIRED has you covered with a verified Samsung promo code and Samsung promotion for all of the above.
Wash your dishes without all the hassle with premier dishwashers from Samsung and save up to $300 on select models, plus free shipping. With W... Wash your dishes without all the hassle with premier dishwashers from Samsung and save up to $300 on select models, plus free shipping. With WIRED's daily Samsung promo codes and Samsung promotions, saving on home appliances, mobile devices, and home entertainment systems has never been easier.
Change the way you wash and dry your clothes forever with FlexWash and FlexDry and receive a free $200 Visa Reward Card when you purchase any ... Change the way you wash and dry your clothes forever with FlexWash and FlexDry and receive a free $200 Visa Reward Card when you purchase any pair at Samsung. Saving on QLED TVs, Galaxy smartphones, Galaxy watches, POWERbot robot vacuums, and Family Hub refrigerators just got much easier with WIRED's wide range of verified Samsung promo codes and Samsung promotions.
Samsung sale - receive $1300 discount on the 75" Class Q8FN QLED Smart 4K UHD TV online, no promo code needed just head to the link. No Samsun... Samsung sale - receive $1300 discount on the 75" Class Q8FN QLED Smart 4K UHD TV online, no promo code needed just head to the link. No Samsung promotion code needed.
Need to redo your new kitchen with some new appliances? Check out this Samsung promotion and save up to $300! Purchase three or more eligible ... Need to redo your new kitchen with some new appliances? Check out this Samsung promotion and save up to $300! Purchase three or more eligible Samsung appliances and you can get $300 off. If you select two, you can save $200. Make sure you don't miss out.
The brand new Samsung 65" Class Q900 QLED Smart 8K UHD TV is here, capable of delivering visual clarity never seen before in the world of audi... The brand new Samsung 65" Class Q900 QLED Smart 8K UHD TV is here, capable of delivering visual clarity never seen before in the world of audiovisual technology. You can save $200 off the listing price if you buy a qualifying Soundbar with your purchase. Explore Samsung promotions and others available when you visit WIRED today.
The Galaxy Fold is a brand new revolutionary smartphone and tablet available from Samsung. Sign up now to register your interest in this devic... The Galaxy Fold is a brand new revolutionary smartphone and tablet available from Samsung. Sign up now to register your interest in this device and be one of the first to own a piece of technology history. No Samsung promo code required.
Upgrade your memory and storage today with this great deal from Samsung. Select memory components are qualifying for completely free expedited... Upgrade your memory and storage today with this great deal from Samsung. Select memory components are qualifying for completely free expedited shipping. No Samsung promo code is required. Simply click the link, shop and save. Make sure you don't miss out.
See colors in your favorite shows and movies pop, just as it was initially planned by directors, with high-quality Samsung Q6FN QLED Smart 4K ... See colors in your favorite shows and movies pop, just as it was initially planned by directors, with high-quality Samsung Q6FN QLED Smart 4K TV on sale with $1200 off, plus free shipping included. For more Samsung deals on exclusive TVs, make sure you visit WIRED daily. Take advantage of a Samsung student discount to unlock extra savings.
Make your favorite movies and shows come to life with Samsung Q7FN QLED Smart 4K TV available for sale with $1200 off, plus free shipping incl... Make your favorite movies and shows come to life with Samsung Q7FN QLED Smart 4K TV available for sale with $1200 off, plus free shipping included. Discount applies automatically at checkout without an additional Samsung promo code needed. Take a look at WIRED's collection of coupons to stay in touch with the recent Samsung deals.
Experience the amazing 4K performance which produces vibrant colors giving you the best TV experience. With Samsung 75" Q9FN QLED Smart 4K TV,... Experience the amazing 4K performance which produces vibrant colors giving you the best TV experience. With Samsung 75" Q9FN QLED Smart 4K TV, you will be able to watch the real content that producers wanted you to see. Don't miss this Samsung promotion to save $1000 off select Q9FN QLED TV! Keep an eye of WIRED to get the latest Samsung deals on electronics.
See the world in a billion colors with brand-new Samsung Q8FN QLED Smart 4K TV available with up to $500 off, plus free shipping included. Don... See the world in a billion colors with brand-new Samsung Q8FN QLED Smart 4K TV available with up to $500 off, plus free shipping included. Don't miss out a single Samsung promo code as well as a ton of Samsung deals by checking back on WIRED daily.
The new Galaxy Tab S5e 10.5" is available for pre-order, and you can save $250 with an eligible trade-in at Samsung, plus receive a free Smart... The new Galaxy Tab S5e 10.5" is available for pre-order, and you can save $250 with an eligible trade-in at Samsung, plus receive a free SmartThings Hub. Whether you're shopping for electronics, mobile devices, or smart home appliances, WIRED carries a verified Samsung coupon and Samsung promotion for everything you need.
Transform your home into a cinematic experience with discounts of up to $200 on Samsung soundbars, plus free shipping. Innovative electronics,... Transform your home into a cinematic experience with discounts of up to $200 on Samsung soundbars, plus free shipping. Innovative electronics, tech and appliances don't have to be expensive, especially when you apply an updated Samsung coupon code and Samsung promotion while you shop.
Change the way you work and play forever with $150 off the Galaxy Tab S3 9.7" (S Pen included) at Samsung, plus free shipping. Discover more S... Change the way you work and play forever with $150 off the Galaxy Tab S3 9.7" (S Pen included) at Samsung, plus free shipping. Discover more Samsung promo codes and Samsung promotions for laptops, tablets, smartphones, TVs, and appliances at WIRED.
Get the power of a PC and the versatility of a laptop at the palm of your hands with up to $180 off the latest Samsung tablets, plus free ship... Get the power of a PC and the versatility of a laptop at the palm of your hands with up to $180 off the latest Samsung tablets, plus free shipping. Shop smarter and apply an updated Samsung promo code and Samsung promotion from WIRED while you shop.
Bring a world of brilliant colors and details to your screen with up to $100 off Samsung 4K UHD monitors, plus free shipping. Electronics and ... Bring a world of brilliant colors and details to your screen with up to $100 off Samsung 4K UHD monitors, plus free shipping. Electronics and tech don't have to be expensive, especially when you apply an exclusive Samsung promotion code and Samsung coupon from WIRED as you shop.
Make your Galaxy device go even further with discounts of up to $25 on mobile accessories, including phone cases, memory cards, wireless charg... Make your Galaxy device go even further with discounts of up to $25 on mobile accessories, including phone cases, memory cards, wireless chargers, and more at Samsung. Explore an array of Samsung coupons and Samsung promotions for TVs, laptops, smartphones, tablets, and appliances at WIRED.
Transform your home entertainment to a cinematic experience with up to $300 off The Frame Premium 4K UHD TVs at Samsung, plus free shipping. S... Transform your home entertainment to a cinematic experience with up to $300 off The Frame Premium 4K UHD TVs at Samsung, plus free shipping. Shop QLED TVs, smartphones, major appliances, and tablets without the high prices using a verified Samsung promo code and Samsung coupon from WIRED.
Discover next-generation colors and details with a discount of $100 on the 50" Class NU6900 Smart 4K UHD TV at Samsung, plus free shipping. Sa... Discover next-generation colors and details with a discount of $100 on the 50" Class NU6900 Smart 4K UHD TV at Samsung, plus free shipping. Saving on electronics and smart home appliances just got way easier with WIRED's vast selection of updated Samsung promotions and Samsung promo codes.
Get your home cleaning done no matter where you are using state-of-the-art POWERbot robot vacuums and save up to $300 on select models at Sams... Get your home cleaning done no matter where you are using state-of-the-art POWERbot robot vacuums and save up to $300 on select models at Samsung, plus free shipping. Shop top-of-the-line refrigerators, microwaves, dishwashers, and other home appliances for less with PCWorld's daily Samsung promotions and Samsung coupons.
Get a movie theater experience without ever leaving home with a savings of $200 on the HW-N950 Samsung | Harman/Kardon Soundbar Dolby Atmos, p... Get a movie theater experience without ever leaving home with a savings of $200 on the HW-N950 Samsung | Harman/Kardon Soundbar Dolby Atmos, plus free shipping. Cutting-edge home audio and QLED TVs can be expensive, but not when you apply one of WIRED's many Samsung coupons and Samsung promotions.
Pay on the go, receive texts, track fitness levels, you can do it all with up to $100 off Galaxy Smartwatches at Samsung, plus free shipping. ... Pay on the go, receive texts, track fitness levels, you can do it all with up to $100 off Galaxy Smartwatches at Samsung, plus free shipping. Live better by spending less on TVs, mobile devices, and computers using a exclusive Samsung promo code and Samsung coupon code from WIRED.
Get better organization for your fresh groceries with discounts of up to $1,700 on Samsung Family Hub and FlexZone refrigerators, plus free sh... Get better organization for your fresh groceries with discounts of up to $1,700 on Samsung Family Hub and FlexZone refrigerators, plus free shipping. Don't forget to use a verified Samsung promo code and Samsung promotion from WIRED to get the best deals possible on home appliances.
Make cooking easy, fast, and more efficient with savings of up to $900 on Samsung Flex Duo ranges, plus free shipping. Whether you're shopping... Make cooking easy, fast, and more efficient with savings of up to $900 on Samsung Flex Duo ranges, plus free shipping. Whether you're shopping for POWERbot vacuums, the Galaxy S10, Galaxy S4, or QLED TVs, you can find a verified Samsung promo code and Samsung promotion for all of the above at WIRED.
Get precise heating, grilling, as well as sensor cooking at Samsung where you can get up to $100 off innovative microwaves, plus free shipping... Get precise heating, grilling, as well as sensor cooking at Samsung where you can get up to $100 off innovative microwaves, plus free shipping. Spend less on refrigerators, robot vacuums, dishwashers, washers & dryers, cooktops, and more using WIRED's wide variety of Samsung promo codes and Samsung promotions.
Receive up to $300 discount on Samsung Galaxy phones with this limited time Samsung promotion. Chose from the latest Samsung Galaxy Note9 or S... Receive up to $300 discount on Samsung Galaxy phones with this limited time Samsung promotion. Chose from the latest Samsung Galaxy Note9 or Samsung Galaxy S9, offer valid with eligible trade in.
Purchase a Samsung Chromebook Plus and receive a free pair of AKG N200 wireless headphones. These headphones can be used for gaming, music or movies. Purchase a Samsung Chromebook Plus and receive a free pair of AKG N200 wireless headphones. These headphones can be used for gaming, music or movies.
This current Samsung promotion is offering savings of $700 when you purchase the Samsung 65" Class Q6FN QLED Smart 4K UHD TV. As an added bonu... This current Samsung promotion is offering savings of $700 when you purchase the Samsung 65" Class Q6FN QLED Smart 4K UHD TV. As an added bonus, you will receive free shipping.
Tired of vaccuming and loosing time out of your day? The new POWERbot™ R7040 Robot Vacuum is currenly $150 off of the normal price at Samsung,... Tired of vaccuming and loosing time out of your day? The new POWERbot™ R7040 Robot Vacuum is currenly $150 off of the normal price at Samsung, take back your time. No Samsung promotion needed.
Ready to upgrade your TV and enjoy your favourite movie in perfect quality? Samsung has a range of QLED TVs with up to 30% off. No Samsung pro... Ready to upgrade your TV and enjoy your favourite movie in perfect quality? Samsung has a range of QLED TVs with up to 30% off. No Samsung promo codes and Samsung promotion code needed.
Are you redesigning your kitchen? When you purchase a kitchen suite of 4 or more appliances at Samsung online you will receive a further 10% o... Are you redesigning your kitchen? When you purchase a kitchen suite of 4 or more appliances at Samsung online you will receive a further 10% off of the total price. No Samsung promotion needed.
Enhance your home entertainment with a discount of $700 on the 65" Class Q6FN QLED Smart 4K UHD TV, plus free shipping. Samsung carries state-... Enhance your home entertainment with a discount of $700 on the 65" Class Q6FN QLED Smart 4K UHD TV, plus free shipping. Samsung carries state-of-the-art home appliances and theater systems, such as TVs, soundbars, refrigerators, dishwashers, and more. No Samsung promomotion needed.
Save $500 on the 55" Class Q6FN QLED Smart 4K UHD TV, plus free shipping and watch as pictures come to life with stunning colors and contrast.... Save $500 on the 55" Class Q6FN QLED Smart 4K UHD TV, plus free shipping and watch as pictures come to life with stunning colors and contrast. Samsung is your destination for discounts on cutting-edge electronics and smart home appliances. No Samsung promotion code needed.
Watch your favorite movies and TV shows in crystal-clear pictures with the 55" Class Q8FN QLED Smart 4K UHD TV and get $600 off, plus free shi... Watch your favorite movies and TV shows in crystal-clear pictures with the 55" Class Q8FN QLED Smart 4K UHD TV and get $600 off, plus free shipping. For the latest in cell phones, laptops, headphones, and audio equipment, shop at Samsung today. No Samsung promotion needed.
Create, work, play and learn like never before using the versatile Galaxy Tab S4 10.5" 64GB with S Pen included, now $100 off, plus free shipp... Create, work, play and learn like never before using the versatile Galaxy Tab S4 10.5" 64GB with S Pen included, now $100 off, plus free shipping. From home appliances to mobile devices and smart home technology, Samsung has it all at unbeatable prices. No Samsung promotion code needed.
Get peak performance, speed and power using the Galaxy Tab A 10.1" 16GB and save $50, plus free shipping. Live better and easier with Samsung ... Get peak performance, speed and power using the Galaxy Tab A 10.1" 16GB and save $50, plus free shipping. Live better and easier with Samsung promotions on revolutionary smart home appliances, including Family Hub refrigerators and Flex washers & dryers.
Free shipping: You can get free shipping on orders that are worth $50 or more.
Save on Samsung's refurbished items: You can shop refurbished smartphones and tablets. Enjoy huge discounts compared to the brand-new versions. Many of these products come with a warranty.
Discount for students: Get a 15% Samsung student discount on tablets and PCs.
When are the best times to save with Samsung coupons?
Samsung offers saving opportunities on its products throughout the year. You can also enjoy special promotional periods during Black Friday, Cyber Monday, and holiday sales. You can find low prices on your favorite gadgets and tech items during these sales period. Save even more by using a Samsung promo code from WIRED. You can typically get great deals on Samsung products such as the Galaxy S9+ Unlocked (for $640), Samsung 55" Curved Smart 4k UHD TV ($580), and other top-selling products. Check in regularly on WIRED to stay up-to-date on the latest Samsung promotions.
Which Samsung Phone is the Best?
Samsung phones have long been one of the most superior devices you can buy in a crowded market, even way back when the Samsung flip phone existed! These days, phones are more sophisticated and expensive. Samsung has just released the Galaxy S10, which is as of 2019, one of the most popular devices on the market.
What are the Best Samsung Deals?
The official website often runs time limited Samsung mobile promotions, and there are also evergreen offers that run all year round like the Samsung student discount. WIRED pick out the best offers and great deals for you on a daily basis. Historically, offers have ranged from 100 up to 550 on various items from the Samsung store, including Samsung Galaxy J7, Galaxy A7Samsung Q8FN QLED Smart 4K and QLED Smart 4K UHD TVs, Galaxy tablet range and various Samsung phones. Make sure you do not miss out.


Successful breeding of disease resistant cultivars is dependent upon the identification of resistant germplasm, the detection of genes conferring that resistance and the development of molecular markers to allow the inheritance of these genes to be monitored during accelerated marker assisted selection. The main aim of the proposed research is to develop molecular markers that tag the available resistance genes for SBWMV.
Collaborating Organizations: National Institute of Agricultural Botany, Central Science Laboratory, Home Grown Cereals Authority, Advanta UK Ltd, Lochow-Petkus GmbH, Nickerson UK Ltd.


This is the first post in a series that many have asked me to start, how to obtain financial freedom and make money with work at home; the answer to this question is equivalent to the Holy Grail of the majority of people seeking to earn extra money or have an income from home, the issue is that those who make it are seeking financial freedom but being on the wrong side, i.e. are people who have a fixed income or do not vary much, have stable jobs for some time, including savings, you know money management in general, but their expenses have increased for many reasons, and in such a scenario we can do magic well or discharges, affecting the level of family life are reduced or is looking for other income. I recommend always generate additional revenue because, Contracting expenses only will lead to frustrations; avoid unnecessary expenditure is looking only for a time, during the period that lasts stabilize accounts, nothing more, it can be up to thirty-six months in extreme cases, what is acceptable is up to half of that period. Many people would be tasty adjust the belt a few months, but how many will be willing to wait two or three years to generate additional revenue?, how many will be able to raise more early or later bedtime?, or to change their habits or customs?; financial freedom is not in function only control costs but generate more revenue, in fact, only trying to get more income sources may decide to stay in those stable and profitable, preferably at the time, although this increasingly variable is reduced more, so, what we can do to earn extra money my experience as an entrepreneur and consultant allows me to suggest some alternativesI am not going to support any particular but that stopped in freedom you choose that most catches your attention depending on your tastes, preferences, vocations, etc., pressing for any business option is as pressuring someone to love us without feel it.
January 21st, 2017 | tristari | Tags: cycling, Italy, vacation.


text:
// Copyright (c) 2016 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include "support/lockedpool.h"
#include "support/cleanse.h"

#if defined(HAVE_CONFIG_H)
#include "config/trollcoin-config.h"
#endif

#ifdef WIN32
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT 0x0501
#define WIN32_LEAN_AND_MEAN 1
#ifndef NOMINMAX
#define NOMINMAX
#endif
#include <windows.h>
#else
#include <sys/mman.h> // for mmap
#include <sys/resource.h> // for getrlimit
#include <limits.h> // for PAGESIZE
#include <unistd.h> // for sysconf
#endif

#include <algorithm>

LockedPoolManager* LockedPoolManager::_instance = NULL;
std::once_flag LockedPoolManager::init_flag;

/*******************************************************************************/
// Utilities
//
/** Align up to power of 2 */
static inline size_t align_up(size_t x, size_t align)
{
    return (x + align - 1) & ~(align - 1);
}

/*******************************************************************************/
// Implementation: Arena

Arena::Arena(void *base_in, size_t size_in, size_t alignment_in):
    base(static_cast<char*>(base_in)), end(static_cast<char*>(base_in) + size_in), alignment(alignment_in)
{
    // Start with one free chunk that covers the entire arena
    chunks_free.emplace(base, size_in);
}

Arena::~Arena()
{
}

void* Arena::alloc(size_t size)
{
    // Round to next multiple of alignment
    size = align_up(size, alignment);

    // Don't handle zero-sized chunks
    if (size == 0)
        return nullptr;

    // Pick a large enough free-chunk
    auto it = std::find_if(chunks_free.begin(), chunks_free.end(),
        [=](const std::map<char*, size_t>::value_type& chunk){ return chunk.second >= size; });
    if (it == chunks_free.end())
        return nullptr;

    // Create the used-chunk, taking its space from the end of the free-chunk
    auto alloced = chunks_used.emplace(it->first + it->second - size, size).first;
    if (!(it->second -= size))
        chunks_free.erase(it);
    return reinterpret_cast<void*>(alloced->first);
}

/* extend the Iterator if other begins at its end */
template <class Iterator, class Pair> bool extend(Iterator it, const Pair& other) {
    if (it->first + it->second == other.first) {
        it->second += other.second;
        return true;
    }
    return false;
}

void Arena::free(void *ptr)
{
    // Freeing the NULL pointer is OK.
    if (ptr == nullptr) {
        return;
    }

    // Remove chunk from used map
    auto i = chunks_used.find(static_cast<char*>(ptr));
    if (i == chunks_used.end()) {
        throw std::runtime_error("Arena: invalid or double free");
    }
    auto freed = *i;
    chunks_used.erase(i);

    // Add space to free map, coalescing contiguous chunks
    auto next = chunks_free.upper_bound(freed.first);
    auto prev = (next == chunks_free.begin()) ? chunks_free.end() : std::prev(next);
    if (prev == chunks_free.end() || !extend(prev, freed))
        prev = chunks_free.emplace_hint(next, freed);
    if (next != chunks_free.end() && extend(prev, *next))
        chunks_free.erase(next);
}

Arena::Stats Arena::stats() const
{
    Arena::Stats r{ 0, 0, 0, chunks_used.size(), chunks_free.size() };
    for (const auto& chunk: chunks_used)
        r.used += chunk.second;
    for (const auto& chunk: chunks_free)
        r.free += chunk.second;
    r.total = r.used + r.free;
    return r;
}

#ifdef ARENA_DEBUG
void printchunk(char* base, size_t sz, bool used) {
    std::cout <<
        "0x" << std::hex << std::setw(16) << std::setfill('0') << base <<
        " 0x" << std::hex << std::setw(16) << std::setfill('0') << sz <<
        " 0x" << used << std::endl;
}
void Arena::walk() const
{
    for (const auto& chunk: chunks_used)
        printchunk(chunk.first, chunk.second, true);
    std::cout << std::endl;
    for (const auto& chunk: chunks_free)
        printchunk(chunk.first, chunk.second, false);
    std::cout << std::endl;
}
#endif

/*******************************************************************************/
// Implementation: Win32LockedPageAllocator

#ifdef WIN32
/** LockedPageAllocator specialized for Windows.
 */
class Win32LockedPageAllocator: public LockedPageAllocator
{
public:
    Win32LockedPageAllocator();
    void* AllocateLocked(size_t len, bool *lockingSuccess);
    void FreeLocked(void* addr, size_t len);
    size_t GetLimit();
private:
    size_t page_size;
};

Win32LockedPageAllocator::Win32LockedPageAllocator()
{
    // Determine system page size in bytes
    SYSTEM_INFO sSysInfo;
    GetSystemInfo(&sSysInfo);
    page_size = sSysInfo.dwPageSize;
}
void *Win32LockedPageAllocator::AllocateLocked(size_t len, bool *lockingSuccess)
{
    len = align_up(len, page_size);
    void *addr = VirtualAlloc(nullptr, len, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
    if (addr) {
        // VirtualLock is used to attempt to keep keying material out of swap. Note
        // that it does not provide this as a guarantee, but, in practice, memory
        // that has been VirtualLock'd almost never gets written to the pagefile
        // except in rare circumstances where memory is extremely low.
        *lockingSuccess = VirtualLock(const_cast<void*>(addr), len) != 0;
    }
    return addr;
}
void Win32LockedPageAllocator::FreeLocked(void* addr, size_t len)
{
    len = align_up(len, page_size);
    memory_cleanse(addr, len);
    VirtualUnlock(const_cast<void*>(addr), len);
}

size_t Win32LockedPageAllocator::GetLimit()
{
    // TODO is there a limit on windows, how to get it?
    return std::numeric_limits<size_t>::max();
}
#endif

/*******************************************************************************/
// Implementation: PosixLockedPageAllocator

#ifndef WIN32
/** LockedPageAllocator specialized for OSes that don't try to be
 * special snowflakes.
 */
class PosixLockedPageAllocator: public LockedPageAllocator
{
public:
    PosixLockedPageAllocator();
    void* AllocateLocked(size_t len, bool *lockingSuccess);
    void FreeLocked(void* addr, size_t len);
    size_t GetLimit();
private:
    size_t page_size;
};

PosixLockedPageAllocator::PosixLockedPageAllocator()
{
    // Determine system page size in bytes
#if defined(PAGESIZE) // defined in limits.h
    page_size = PAGESIZE;
#else                   // assume some POSIX OS
    page_size = sysconf(_SC_PAGESIZE);
#endif
}

// Some systems (at least OS X) do not define MAP_ANONYMOUS yet and define
// MAP_ANON which is deprecated
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
#endif

void *PosixLockedPageAllocator::AllocateLocked(size_t len, bool *lockingSuccess)
{
    void *addr;
    len = align_up(len, page_size);
    addr = mmap(nullptr, len, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
    if (addr) {
        *lockingSuccess = mlock(addr, len) == 0;
    }
    return addr;
}
void PosixLockedPageAllocator::FreeLocked(void* addr, size_t len)
{
    len = align_up(len, page_size);
    memory_cleanse(addr, len);
    munlock(addr, len);
    munmap(addr, len);
}
size_t PosixLockedPageAllocator::GetLimit()
{
#ifdef RLIMIT_MEMLOCK
    struct rlimit rlim;
    if (getrlimit(RLIMIT_MEMLOCK, &rlim) == 0) {
        if (rlim.rlim_cur != RLIM_INFINITY) {
            return rlim.rlim_cur;
        }
    }
#endif
    return std::numeric_limits<size_t>::max();
}
#endif

/*******************************************************************************/
// Implementation: LockedPool

LockedPool::LockedPool(std::unique_ptr<LockedPageAllocator> allocator_in, LockingFailed_Callback lf_cb_in):
    allocator(std::move(allocator_in)), lf_cb(lf_cb_in), cumulative_bytes_locked(0)
{
}

LockedPool::~LockedPool()
{
}
void* LockedPool::alloc(size_t size)
{
    std::lock_guard<std::mutex> lock(mutex);

    // Don't handle impossible sizes
    if (size == 0 || size > ARENA_SIZE)
        return nullptr;

    // Try allocating from each current arena
    for (auto &arena: arenas) {
        void *addr = arena.alloc(size);
        if (addr) {
            return addr;
        }
    }
    // If that fails, create a new one
    if (new_arena(ARENA_SIZE, ARENA_ALIGN)) {
        return arenas.back().alloc(size);
    }
    return nullptr;
}

void LockedPool::free(void *ptr)
{
    std::lock_guard<std::mutex> lock(mutex);
    // TODO we can do better than this linear search by keeping a map of arena
    // extents to arena, and looking up the address.
    for (auto &arena: arenas) {
        if (arena.addressInArena(ptr)) {
            arena.free(ptr);
            return;
        }
    }
    throw std::runtime_error("LockedPool: invalid address not pointing to any arena");
}

LockedPool::Stats LockedPool::stats() const
{
    std::lock_guard<std::mutex> lock(mutex);
    LockedPool::Stats r{0, 0, 0, cumulative_bytes_locked, 0, 0};
    for (const auto &arena: arenas) {
        Arena::Stats i = arena.stats();
        r.used += i.used;
        r.free += i.free;
        r.total += i.total;
        r.chunks_used += i.chunks_used;
        r.chunks_free += i.chunks_free;
    }
    return r;
}

bool LockedPool::new_arena(size_t size, size_t align)
{
    bool locked;
    // If this is the first arena, handle this specially: Cap the upper size
    // by the process limit. This makes sure that the first arena will at least
    // be locked. An exception to this is if the process limit is 0:
    // in this case no memory can be locked at all so we'll skip past this logic.
    if (arenas.empty()) {
        size_t limit = allocator->GetLimit();
        if (limit > 0) {
            size = std::min(size, limit);
        }
    }
    void *addr = allocator->AllocateLocked(size, &locked);
    if (!addr) {
        return false;
    }
    if (locked) {
        cumulative_bytes_locked += size;
    } else if (lf_cb) { // Call the locking-failed callback if locking failed
        if (!lf_cb()) { // If the callback returns false, free the memory and fail, otherwise consider the user warned and proceed.
            allocator->FreeLocked(addr, size);
            return false;
        }
    }
    arenas.emplace_back(allocator.get(), addr, size, align);
    return true;
}

LockedPool::LockedPageArena::LockedPageArena(LockedPageAllocator *allocator_in, void *base_in, size_t size_in, size_t align_in):
    Arena(base_in, size_in, align_in), base(base_in), size(size_in), allocator(allocator_in)
{
}
LockedPool::LockedPageArena::~LockedPageArena()
{
    allocator->FreeLocked(base, size);
}

/*******************************************************************************/
// Implementation: LockedPoolManager
//
LockedPoolManager::LockedPoolManager(std::unique_ptr<LockedPageAllocator> allocator_in):
    LockedPool(std::move(allocator_in), &LockedPoolManager::LockingFailed)
{
}

bool LockedPoolManager::LockingFailed()
{
    // TODO: log something but how? without including util.h
    return true;
}

void LockedPoolManager::CreateInstance()
{
    // Using a local static instance guarantees that the object is initialized
    // when it's first needed and also deinitialized after all objects that use
    // it are done with it.  I can think of one unlikely scenario where we may
    // have a static deinitialization order/problem, but the check in
    // LockedPoolManagerBase's destructor helps us detect if that ever happens.
#ifdef WIN32
    std::unique_ptr<LockedPageAllocator> allocator(new Win32LockedPageAllocator());
#else
    std::unique_ptr<LockedPageAllocator> allocator(new PosixLockedPageAllocator());
#endif
    static LockedPoolManager instance(std::move(allocator));
    LockedPoolManager::_instance = &instance;
}

redpajama_set_name: RedPajamaGithub


The Chrysler 200 is one of the newest and most stunning offerings in the popular mid-size sedan market. These sporty yet refined mid-size sedans are available at Woody Folsom Chrysler, serving Pine Grove, Graham, Dublin, Savannah, Jacksonville, and Brunswick, GA.
Chrysler's 200 sedan has been getting rave reviews and a number of awards, both for it's powerful and fuel-efficient 3.6 liter Pentastar V6 engine, and it's refined and stylish interior. The substantial list of standard and available equipment makes it simple to find a 200 that's just right for you. Some of the 200's standard features include: a nine-speed transmission, steering-wheel mounted controls, air conditioning, power windows and door locks, remote keyless entry, and an AM/FM/CD audio system. For additional comfort and refinement you can have your 200 equipped with heated leather seats, leather-wrapped steering wheel, larger diameter alloy wheels, and a large touchscreen display.
Every used Chrysler 200 is a reliable and late-model car, but for additional peace of mind you should consider buying a Certified Pre-Owned (CPO) 200 at Woody Folsom Chrysler. To meet Chrysler's Certified Pre-Owned requirements, a used 200 will have fewer than 75,000 actual miles on the odometer, and will be no more than five model-years old. Every Chrysler CPO vehicle passes a 125-point inspection and a CARFAX Vehicle History Report, reviewed by Chrysler certified technicians. Purchasing a CPO Chrysler 200 should provide you with a great deal of peace of mind!
Every Chrysler CPO vehicle comes with a 7-year/100,000 mile warranty, which includes coverage of the powertrain. Chrysler CPO owners have the option to add on or upgrade their warranty at any time during the 7-year/100,000 mile period with a choice of 3 genuine Mopar® Vehicle Protection Plans. These options include the Added Care (powertrain warranty and 650+ covered components), Added Care Plus (powertrain warranty and 800+ components), or Maximum Care (vehicle-lifetime powertrain warranty and 5000+ covered components).
Visit the Woody Folsom Chrysler website to fill out an online finance application to begin the process of finding your next vehicle – no matter what your credit history may be. Our finance team not only works with Chrysler Capital, but a number of banks and local credit unions to get you into your next vehicle.
If live near Pine Grove, Graham, Dublin, Savannah, Jacksonville, and Brunswick, GA and are in the market for a used 200, stop by Woody Folsom Chrysler. Our friendly and helpful sales and finance teams are here to assist you with your entire car purchase -- from finding your 200 to getting you a great price and financing!


Osborne Books is a leading publisher of educational accounting resources in the UK. They provide training centers, instructors, and students all over the world with high-value study texts for a range of accounting qualifications. In addition to making top-notch materials, Osborne Books serves their customers by using the latest innovations to make the educational process easy and comfortable.
When Maz Loton, Digital Products Manager at Osborne Books, began receiving multiple ebook requests from current and potential customers, ebooks were a huge trend. People kept pointing out the features they could use if their textbooks were on their tablets or smartphones.
For instructors, access to ebooks could provide an excellent opportunity for in-class use. Students wanted to always have important materials on hand without having to carry around heavy physical copies all the time.
Distance learners and distance learning centers reached out to Osborne Books with ebook requests as well. Those potential customers needed the ebook format, because ordering and receiving physical books was time-consuming. With digital versions, they could start using the materials right away.
Osborne Books considered creating their books in the PDF format with the help of Adobe. However, this way of sharing their publications would not have been secure. They also looked into digital publishing with Amazon, but that solution was costly, so they weren't making a profit. In the end, Osborne Books decided they needed a mobile-friendly tool.
We wanted our customers to be able to take the books with them, so delivering them to mobile devices seemed reasonable.
Osborne Books chose FlippingBook to help them provide their customers with ebooks through a custom mobile app, Salespal, available in the App Store and on the Google Play Market for smartphones and tablets.
sync important information (e.g., highlights and notes) between different devices to let readers use the same ebook on their tablets and smartphones.
The FlippingBook team addressed the requirements of Osborne Books to provide them with a technically superb product that was easy to use and manage.
The company's customers now use ebooks to check and review materials on the go. They used to have access to the materials only at their schools or learning centers, so they appreciate the ability to view the materials offline on their devices. They can also access the materials on up to three devices, and the content sync feature allows them to start reading a document on a smartphone or tablet and continue with the online version on a PC.
The ebooks in the app include all the must-have features that make the reading experience pleasant. Text searching and bookmarking make it easy to navigate around the textbook. With the options to highlight text and take notes, users can mark the most important information and quickly find it later, if needed.
Because Osborne Books provides educational materials, including a check-mark option was a good idea. Educational materials often include self-revision sections, and if students don't have a physical copy on hand, they can check the answers right in their ebooks, which is quite convenient.
The overall user feedback has been very positive. The app has a 4.5-star rating in the App Store and a 4.4-star rating on the Play Market. And the positive reviews keep coming in.
On the back end, Osborne Books has a very smooth system for managing their ebooks. Thanks to the API integration, any user who buys a title from the Osborne Books website gets a unified login and password for their personal space on the website and in Salespal. When the user logs in to Salespal, all of their purchased ebooks are available there.
If the access to any of the books needs to be revoked, the Osborne Books team can do so easily. They also don't have to worry about uncontrolled sharing of their ebooks, because the materials are protected from unwanted sharing and can only be viewed on up to three devices. Thus, Osborne Books can provide ebooks to their customers without any risk of an information breach.
FlippingBook Salespal gives Osborne Books a competitive edge. Their existing and potential customers appreciate the new ebook format.
We've beaten our competitors by providing this service; it's one of the things that pushed us ahead.
Salespal has proven to be a great solution for the customers of Osborne Books: they can now use a physical book in combination with its ebook version, which makes the educational materials much more convenient and accessible. In addition, FlippingBook Salespal helped Osborne Books provide new clients with more opportunities and possibilities.
Salespal totally met the demand. People are loving it, so the feedback that we're getting has been brilliant. Salespal has helped us provide materials to distance learning centers, which we couldn't do before. We have a bit more work now as we have more customers on board, so I would say our opportunities have definitely expanded, and our relationships with certain customers have improved.


text:
Q: Window resize function runs twice Please find below my code:
<script type="text/jscript">

  $(document).ready(function() {
    $(window).resize(function(){
      alert("Window resized");
    });
  });

</script>

Whenever the window is resized i get this alert() run twice. Why?

A: It doesn't just fire twice, it will fire any number of times when the window is resized. Firefox used to just trigger a resize event when the resize was "done" but now it triggers multiple resize events during the resize, just like Chrome has always done.
So you need to make the resize event callback as small as possible since it will fire often. You could throttle it by doing something like this:
var resizeTimer = undefined;

$(document).ready(function() {
  $(window).resize(function() {
    clearTimeout(resizeTimer);
    resizeTimer = setTimeout(function () {
      alert("Window resized");
    }, 200);
  });
});

This will only call alert if no subsequent resize event comes in in less than 200 ms.


text:
package gw.lang.parser;

import gw.lang.reflect.gs.IGosuClass;
import gw.util.GosuExceptionUtil;
import gw.lang.reflect.IType;
import gw.lang.reflect.TypeSystem;

public class ScriptPartId extends IScriptPartId
{
  private final IType _type;
  private final String _strPartId;
  private final String _typeName;
  private IGosuClass _runtimeType;

  public ScriptPartId( IType type, String strPartId )
  {
    _type = type;
    _typeName = type == null ? null : type.getName();
    _strPartId = strPartId;
  }

  public ScriptPartId( String strFqType, String strPartId )
  {
    IType type = null;
    try
    {
      type = TypeSystem.getByFullName( strFqType );
    }
    catch( RuntimeException e )
    {
      //noinspection ThrowableResultOfMethodCallIgnored
      if( GosuExceptionUtil.findExceptionCause( e ) instanceof ClassNotFoundException )
      {
        type = null;
      }
    }
    _type = type;
    _typeName = type == null ? strFqType : type.getName();
    _strPartId = strPartId;
  }

  public void setRuntimeType( IGosuClass runtimeType )
  {
    _runtimeType = runtimeType;
  }
  public IGosuClass getRuntimeType()
  {
    return _runtimeType;
  }

  public String getContainingTypeName()
  {
    return _typeName;
  }

  public IType getContainingType()
  {
    return _type;
  }

  public String getId()
  {
    return _strPartId;
  }

  public String toString()
  {
    if (_type == null) {
      return _typeName;
    } else {
      return _type.getName();
    }
  }

  public boolean equals( Object o )
  {
    if( this == o )
    {
      return true;
    }
    if( o == null || getClass() != o.getClass() )
    {
      return false;
    }

    ScriptPartId that = (ScriptPartId)o;

    if( _strPartId != null ? !_strPartId.equals( that._strPartId ) : that._strPartId != null )
    {
      return false;
    }
    //noinspection RedundantIfStatement
    if( _type != that._type )
    {
      return false;
    }

    return true;
  }

  public int hashCode()
  {
    int result;
    result = _type != null ? _type.hashCode() : 7;
    result = 31 * result + (_strPartId != null ? _strPartId.hashCode() : 0);
    return result;
  }
}


text:
Clasa 4E Sudafricană este o serie de locomotive electrice din Africa de Sud, fabricată de către Fabrica de Locomotive Nord-Britanică din Glasgow, cu echipamentele electrice fiind livrate de către General Electric Company plc din Regatul Unit între anii 1952 și 1954. A fost una dintre cele mai puternice locomotive a Căilor Ferate Sudafricane, fiind construită special pentru Defileul râului Hex.

Locomotive electrice

redpajama_set_name: RedPajamaWikipedia


text:
package com.twu.biblioteca;

import org.hamcrest.CoreMatchers;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;

public class LibraryTest {

    Library testLibrary = new Library();
    Book testBook1 = new Book("Fifty Shades of Grey","Stephen Hawking", "2012" );
    Book testBook2 = new Book("5 Regrets of the Dying","Bronnie Ware", "2016" );

    @Test
    public void whenLibraryIsLaunchedDisplaysWelcomeMessage() throws Exception {
        Assert.assertEquals("Welcome to your library!", testLibrary.welcome());
    }

    @Test
    public void login() throws Exception {
        String libraryNumber = "LIB-5577";
        String password = "456ef";
        Assert.assertTrue(testLibrary.login(libraryNumber, password));
    }

    @Test
    public void LibraryListsBooks() throws Exception {
        String expectedBookTitle = testBook1.getTitle();
        Assert.assertEquals(expectedBookTitle, testLibrary.availableBooks.get(0).getTitle());
    }
    @Test
    public void whenBookIsCheckedOutItIsNoLongerListed() throws Exception {
        testLibrary.checkOut(0);
        Assert.assertEquals("5 Regrets of the Dying", testLibrary.availableBooks.get(0).getTitle());
    }
    @Test
    public void whenBookIsCheckedOutItIsDisplayedAsRented() throws Exception {
        testLibrary.checkOut(0);
        Assert.assertEquals("Fifty Shades of Grey", testLibrary.listRentedBooks().get(0).getTitle());
    }
    @Test
    public void whenBookIsReturnedItIsDisplayedAsAvailable() throws Exception {
        testLibrary.checkOut(0);
        testLibrary.checkIn(0);
        String expectedBookTitle = testBook1.getTitle();
        ArrayList<String> bookTitles = new ArrayList<String>();
        for(int i = 0; testLibrary.availableBooks.size() > i; i++) {
            bookTitles.add(testLibrary.availableBooks.get(i).getTitle());
        }
        Assert.assertTrue(bookTitles.contains(expectedBookTitle));
    }

    @Test
    public void LibraryListsMovies() throws Exception {
        String expectedMovieDetail = "Batman, 1967, Marvel";
        ArrayList<String> movieDetails = new ArrayList<String>();
        for(int i = 0; testLibrary.listMovies().size() > i; i++) {
            movieDetails.add(testLibrary.listMovies().get(i).getDetails());
        }
        Assert.assertTrue(movieDetails.contains(expectedMovieDetail));
    }

    /* @Test
    public void whenMovieIsCheckedOutIsIsNoLongerAvailable() throws Exception {
        testLibrary.checkOutMovie(0);
        Assert.assertTrue(testLibrary.listMovies().size() == 0);
    }*/

}


The decision to reclassify the two roads means that at some time in the future, speed limits will be brought down from 120 km/h to 50 km/h. In addition, the roads will be reduced from three lanes for each carriageway to 2×2, creating space for other means of transport, such as buses and bicycles. At the level of the Reyers tunnel complex leading into and out of town, the current six carriageways will be reduced to four each way.
Motoring organisation Touring, meanwhile, called for a test phase for the region's plan, to measure the impact of the changes before any permanent changes to infrastructure are carried out.


This is the Protuner low pressure fuel pump (LPFP) upgrade that replaces your standard Low pressure fuel pump in the fuel tank. The pot is fitted with a new Walbro 450 pump which provides approximately 100% more flow than standard.
This fuel pump upgrade is e85 compatible and will support well over 550 BHP.
The Protuner low pressure fuel pump upgrade was designed specifically to avoid fuel surge. This makes it perfect for track use and drifting.


School is just like a film set: there's The Crew, who make things happen, The Extras who fill the empty desks, and The Movie Stars, whom everyone wants tagged in their Facebook photos. But Jude doesn't fit in. He's not part of The Crew because he isn't about to do anything unless it's court-appointed; he's not an Extra because nothing about him is anonymous; and he's not a Movie Star because even though everyone knows his name like an A-lister, he isn't invited to the cool parties. As the director calls action, Jude is the flamer that lights the set on fire.
I'm struggling to find the right words to put alongside this book for a review, because I'm not entirely sure I can fathom the words required to really do this book justice. It's incomparable, and it's completely unlike anything you've ever read before. It will shock, but in the best way possible.