text:
\section{Introduction}
For {\it N}-body problems in gravitational and electrostatic phenomena,
significant computing resources are required due to the long range
interactions. Despite advances in computing speed, it is still difficult to
obtain sustainable results of realistically large configurations for many
physical applications.

An ultracold plasma (UCP) is extensively studied in plasma physics,
and is a typical example of long-range interactions for an open
boundary. Experimentally, it is generated by photoionization of laser-cooled
heavy atoms, and the system has a low temperature ($\rm T =\mu K ~to ~ mK$)
compared to a conventional hot plasma ($\rm T = 10^3  ~to ~ 10^7 K$)
\cite{99killian}. By the initial disorder of particles, ions are heated, and
active momentum transfer occurs between electrons and ions. We shall
study the behavior of charged particles and the physical properties of
ultracold neutral plasmas.

Studying electron-ion coupling relaxation, it was found that
several millions of time steps are required for ultracold
plasma evolution. This is a huge computing load, and the required time frame
restricts the size of problems that can be considered. We first implemented
a molecular dynamics (MD) method with all pair-wise calculations of
long-range interactions. However, such an approach, while accurate, scales
with the square of the number ($N$) of charged particles. Thus, it allowed
only simulations of $\rm 10^3 ~to~ 10^4$ particles over sufficiently long time
\cite{mazevet02,02kuzmin_prl,02kuzmin_plph}. In experiments,
common sizes of ultracold plasmas are reported as more than $10^6$ particles
\cite{99killian,simien04,chen04}, and larger computing capacity is
therefore imperative for realistic simulations.

Consequently, an approximate method for evaluating the electrostatic forces is
necessary  in order to accelerate computing speed and increase the simulation
capacity. One of the candidates is the TREE method \cite{barnes86},
which has been widely used in astrophysical problems due to its $N\log N$
scaling of the computing cost. The basic idea is that particle interactions
are calculated explicitly at close range while effective, averaged properties
are considered for far-field interactions. Gravitational problems have a
potential of  $1 / r$, where $r$ is the distance between two points, and are
similar to a Coulomb system. Therefore we will be able to apply all the
methods, which have been developed for astrophysics, to electron and ion
interactions.

In addition to the serial TREE method, a parallel version has been constructed
in order to distribute the computing load and thereby accelerate computation.
A specific shape of particle ensembles is considered from experimental data
\cite{simien04,chen04}: charged particles are distributed non-uniformly, but
the overall shape is roughly symmetric. Particles are located inside of
a certain spherical volume, and this confirms simple and balanced domain
decompositions for parallel computing of ultracold neutral plasmas.
With the help of dynamic memory management and
effective TREE communication, a highly efficient parallel code has been built.
Finally, we demonstrate that the program works well for
ultracold plasma analysis. The following  describes  how the TREE method is
implemented  for a two-component plasma (TCP) simulation, and how it is
parallelized. Basic applications are also presented.

\section{TCP analysis}
For a fully ionized plasma, we describe the interactions as Coulomb forces
between well-defined charged particles. However, because the electron mass
is small compared to the ion, electrons will move faster than ions. This
results in much smaller numerical time steps and longer relaxation times
when simulating electrons compared to that of an ionic one-component plasma
(OCP).

Since the dominating potential is Coulombic, each charged particle will
interact with all the other charged particles and the interaction between
particles cannot be truncated at a characteristic distance. Using a TREE
method, this extensive calculation can be achieved efficiently, and the
computing load can be balanced. The force on each charged particle is
calculated from the interaction with the TREE. Velocity and position of
particles are updated using velocity Verlet \cite{allen} time integration
once the force field has been evaluated.

\subsection{Modified Coulomb potential}
The Coulomb pair potential between two point-charges, separated by the distance
$r$, is given by
\begin{equation}
V_{ij} = {C \over r}.
\end{equation}
\begin{equation}
C = {q_i q_j e^2 \over 4\pi \epsilon_0},
\end{equation}
where $q_i$ and $q_j$ are the fractional charges of particles $i$ and $j$.
$e$ is the  unit charge, and $\epsilon_0$ is the vacuum permittivity.
For the same kind of
particles (electron-electron and ion-ion), the forces are repulsive
whereas attractive forces are present for electron-ion interactions.
Consequently, the bare Coulomb potential will result in an attractive
singularity for the electron-ion pair at close distance ($r\approx 0$).
However, quantum diffraction between electrons and ions in physical systems
prevents such point wise collisions, thus requiring a modification to
the bare  Coulomb potential. Several modified Coulomb interactions have
been proposed \cite{kelbg,deutsch77,pschiwul01};
we implemented the Kelbg potential:
\begin{equation}
V_{ei} =  {C \over r} \Big[ 1 -
\exp \Big( - {r \over \lambda_{ei}} \Big) \Big],
\label{eqn:kelbg}
\end{equation}
where $\lambda_{ei}$ is the thermal de Broglie wavelength
\begin{equation}
\lambda_{ei} =  \sqrt{2\pi \hbar^2 \over \mu_{ei} k_B T}.
\end{equation}
At close distances ($r<\lambda_{ei}$), the exponential term is dominant,
 and equation (\ref{eqn:kelbg}) asymptotes as $ {C \over \lambda_{ei} }
\Big[ 1 -  {r \over 2 \lambda_{ei}} \Big]$.
The exponential term is negligible in the far field ($r\gg \lambda_{ei}$)
where the equation converges to   $ {C\over r} $.
The thermal de Broglie wavelength plays a key role for close encounters;
however, the temperature is not a well-defined quantity for these types of
systems. A better criterion results by setting $\lambda_{ei}$ to
a fixed value $r_s$ based on an averaged closest-approach or the lowest
Rydberg state allowed in recombination. Considering Rydberg states,
$\rm 20-180\AA$ will be the range of the parameter, and
we use $\lambda_{ei} = \rm 100 \AA$ \cite{mazevet02} for our
simulations. The basic properties of the TCP remain independent of this
cut-off parameter; its effect is merely to prevent very close encounters
that require very short time steps to resolve the dynamics accurately. For the
electron-electron and ion-ion interactions, the bare Coulomb potential is
applied.

\section{TREE construction}
Before explaining the parallel TREE method, we describe how to build
a TREE data structure for given particle sets. First, we assume a large cube
that encloses all  particles. Then we evenly divide  the cube into
eight small boxes, and each particle is associated with a box.
Further subdividing each of the small boxes into eight even smaller
pieces, all of the particles are associated with the smaller boxes again.
This refining is repeated until every box contains no more than one particle.
This hierarchical procedure leads to the tree shaped data structure.

The finest state of a TREE is called a {\bf leaf}. Above leaves,
there exist large intermediate branches, referred to as {\bf twig}s
\cite{tree}. A pseudo-particle is an effectively-charged particle of a twig,
and the charge corresponds to the sum of the charges of subordinate twigs
and leaves. The position of the pseudo-particle is interpolated from the lower
twig or leaf positions depending on the charge ratio.
When calculating the interactions between a particle and the TREE structure,
the distance between the particle and the twig, and the size of the box
enclosing the corresponding twig will be inspected. If the relation satisfies
certain criteria, the effective charge of the twig will be employed for
the Coulomb potential. If not, the twig is opened until the criterion is
met. The opening criterion, due to Barnes as described in \cite{dubinski96},
reads
\begin{equation}
{s \over \theta } + \delta < d,
\end{equation}
where $s$ is the size of box, $d$ is the distance between a particle and
a pseudo-particle, and $\delta$ is the distance between a pseudo-particle and
the center of the box.

An opening criterion of $\theta < 1.0$ is commonly practiced.
A high opening criterion approximates force fields with upper branches of
the TREE - thus it accelerates simulations at the expense of accuracy.
In contrast, a low opening criterion demands fine calculations and
results in higher accuracy with more computing resources. Depending on the
given problems and the required accuracy, an appropriate  $\theta $ will be
determined. As mentioned above, neighboring particles will interact with
each other but the interactions of remote particles will be replaced by
approximate pseudo-particles. Finally, the algorithm results in $N\log N$
scaling of computing cost, instead of $N^2$ scaling  of all pair-wise
calculations. More detailed explanations about TREE construction can be found
elsewhere \cite{barnes86,tree}.

\section{Parallelization}
Even though the TREE method is computationally more efficient than direct
evaluations of all pair-wise interactions for large configurations,
a single processor calculation still
remains inadequate for the task at hand. Therefore, we parallelized the
TREE method onto multiple processors in order to distribute the computational
load and accelerate computing speed. There have been several parallel schemes
for TREE methods like hashed oct-tree \cite{warren93}, FLY \cite{becciani01},
and dynamic and adaptive domain decomposition \cite{miocchi02}.
We have developed a simple domain decomposing parallel method using
a ghost TREE communication. The problem domain is decomposed into coarse
grains, rather than fine segments, that still allows for large scale parallel
processing. Details are given below. The parallel routine was developed with
the conventional message passing interface (MPI) library \cite{mpi},
allowing applications across most contemporary parallel computing platforms.

\subsection{Domain decomposition}
The basic configuration of the particles of ultracold plasmas maintains
over time a generally spherical and roughly symmetrical distribution having
though a highly non-uniform radial component
as shown in Figure \ref{fig:sph_shape}. The center of the
sphere can be placed at the origin, and we can assume that particles
are distributed randomly within the sphere. Using Cartesian
coordinates, an eight processor parallelization and domain decomposition can be
defined as shown in Figure \ref{fig:8cpu}. Each segment of geometrical space
will be designated to each processor, and they will communicate with
each other. For more than eight processors, a finer domain decomposition
might be performed, but we still keep the eight segment domain decompositions.
We discuss the large-scale parallel computing below.

\subsection{Particle management}
Due to the temporal evolution of particle positions during a simulation,
some particles will move between the spatial regions of the processors, and
each processor will have to manage the migrations.  For effective memory
management, a dynamic memory allocation scheme has been implemented.
After a Verlet time integration step, new positions of all the particles
are determined. Investigating the new positions, the particles which
exceed the spatial range of their processor will be identified. Their
information will be stored in a buffer, and each processor will remove
these particles from memory. Then each processor sends and receives
migrating particle data. For newly imported particles, their information is
attached at the end of the memory block.

\subsection{TREE communication}
At the core of the parallel TREE algorithm is the communication between
processors, namely what and how to communicate. If we share the whole TREE
structure of all processors, communication will be operationally easy.
This scheme, though, requires huge data communication and management resources.
Hence, we need to be selective with communicating only necessary information
among processors.

Considering the basics of the TREE method, we need leaf information at close
range but only twig (pseudo-particle) information for larger distances.
This rule is also applied for parallel computing, and we employ
pre-pruning before communication \cite{salmon_thesis,dubinski96}.
If two processors are
neighbors, a large fraction of the TREE will be necessary  whereas a
small fraction will be enough if the processors are remote.

After copying the local TREE into a buffer, each processor begins to
communicate with the other processors. Asynchronously, each
processor sends its buffer and receives the TREE  information of other
processors, called the ghost TREE \cite{wang06}. Using ghost TREEs, the
interactions  with other particles of other processors will be evaluated.

With a given opening criterion, a certain amount of the local TREE will be
sent to other processors, but we still need another step to convert the
data. The TREE data are managed by FORTRAN pointers, but they are not
supported by a common MPI library to send/receive. Therefore, we need to
convert them into combinations of MPI\_INTEGER and MPI\_REAL variables.
Not only the data component of each leaf and twig,
but also the order and branch of the TREE should be communicated, and we have
developed a simple data array to keep the order of the TREE structure.

As shown in Figure \ref{fig:arch}, the TREE structure and order can be
represented by an architecture series. Each natural number indicates the node
array  of a pseudo-particle, which contains position and effective charge.
A negative number (= -1) means a back step, and all of the branches and orders
of the TREE structure can be represented by the architecture series.
Conversely, received ghost TREE data can be decoded into pointer forms
using the received architecture series. Corresponding pseudo code is shown
below:
\begin{mylisting}
\begin{verbatim}
RECURSIVE SUBROUTINE REBUILD(POINTER, N)
    N = N + 1
    ALLOCATE POINTER
    POINTER = NODE(ARCH(N))
    IF  ARCH(N+1)>0 THEN
       CALL  REBUILD(POINTER_Child_1, N)
       N = N + 1
       IF  ARCH(N+1)>0 THEN
           CALL  REBUILD(POINTER_Child_2, N)
           N = N + 1
       END IF
       ......

       IF  ARCH(N+1)>0 THEN
           CALL  REBUILD(POINTER_Child_8, N)
           N = N + 1
       END IF
    END IF
END SUBROUTINE
\end{verbatim}
\end{mylisting}

\subsection{Large scale parallel processing}
As mentioned earlier, the simulations of ultracold plasma evolution demand
a large number of time steps, typically of the order of $10^5-10^6$.
This time frame and the available computing power mediate the largest
configuration which we can handle as around a million particles. The fine
granularity of {\it N} domain decompositions of {\it N} processors will
reduce the size of the local TREE to a system of less than $10^4$ particles
for which the TREE efficiency becomes poor \cite{tree}, for large scale
parallel computing. But the intermediate granular
parallelism, which employs an intermediate granularity by  administrating
local TREEs as a unit of a single segment of Figure \ref{fig:8cpu},
still keeps the local TREE as $10^5$ particles or more than that, providing
higher efficiency. Also we can expect easy book-keeping and simple data
handling.

We maintain eight piece domain decompositions, as shown above, and apply
processors of  multiples of eight. Then each segment of Figure \ref{fig:8cpu}
will have the same number of local processors.
All particles
of each segment are distributed evenly for each local processor  for load
balance. When the local TREE of each segment is built, all local processors
of each segment swap and share the position of particles of the segment.
Then the local TREE is built at every local processor, without parallelism.
However, particle interactions with the local TREE, which consume most of the
computing resources,  are calculated in parallel.

For the communication between segments, one of the local processors will
be assigned as the {\bf head processor}. After calculating particle
interactions with the local TREE, the head processor of each segment will
copy and send the local TREE  to other segments while  receiving ghost
TREEs from the corresponding segments. This communication is performed
only by the  head processor, and the communication burden can thereby be
reduced. After communication between head processors, the received ghost
TREEs are distributed again on the local processors inside the segment.
Ghost TREEs are handled as the same way of local TREEs. The decoding is
done in serial but particle interactions are done in parallel.

The schematic flow of each segment is shown in Figure \ref{fig:segment}.
Using this method, multiples of eight processors can participate in the
parallel computing. Even though this method does not fully distribute
the computing load with fine granularity, it allows for easy  book-keeping
and reduces the communication load. Although the experimental charge
distributions of ultracold plasmas are non-uniform, they retain an overall
spherical and roughly symmetrical appearance.
Therefore eight-segment domain decomposition
will divide the problem domain quite evenly, and we can expect good load
balance from the beginning. Also divided particles are distributed uniformly
for the local processors of each segment. During simulations, some of
particles will move between segments as discussed above, and new particles
are sent to a local processor, which has the least particles in the segment.
These procedures maintain good load balance for each processor.

In addition to the message passing interface, OpenMP \cite{openmp} has been
implemented in order to utilize shared memory processing. Basic operation
of the code is executed in a single thread, but particle interactions with
the TREE  are forked along multiple threads and computation is thereby
accelerated.

\section{Computational experiments}
As an example to illustrate the developed method, we investigate the dynamics
of electrons and ions with initial conditions of previous work
\cite{mazevet02}. The configuration has same electron/ion density
($\rho_i= 4.32\times 10^9 \rm /cc$), and particles  are distributed inside
a sphere. The initial temperature is 3 K for electrons and
$1\times 10^{-6}$ K for ions. A reduced ion mass
simulation \cite{mazevet02}, which artificially reduces the ion mass
from 131 to 0.01 amu, is employed in order to expedite momentum transfer
between electrons and ions. A time step of 20 fs and $5\times 10^5$ time steps
are employed for the plasma evolutions.

With these configurations, a UCP system of $5 \times 10^3$ electrons ($q=-1$)
and  $5 \times 10^3$ ions ($q=+1$) has been tested
with all pair-wise and TREE methods in order to evaluate the developed
parallel TREE code. The test machine is grendel, a linux cluster at Los
Alamos National Laboratory, which is composed of 126 nodes of dual 2.4GHz
Xeon processors with Myrinet interconnections. 2Gb of memory is equipped for
each node. Los Alamos MPI (LAMPI) library
and OpenMP API of intel fortran compiler 9.1.036 were employed to compile
the code.  As shown in Figure \ref{fig:compare}, the average kinetic energy
($=3k_B T/2$) of the electrons ($\rm T_e$) and ions ($\rm T_i$)
approach the same asymptote. Therefore, we conclude that the developed
TREE code reproduces the energy transfer well. As for computing
cost, the all pair-wise method took 62 hours with 16 processors while
the TREE code ($\theta=0.4$) used 26 hours with 64 processors.
Even though the TREE code  efficiency is less than the all pair-wise
calculations  for this small set of particles,
the TREE code scales as  $N\log N$, while the all pair-wise  method scales
as  $N^2$ as discussed  above. Consequently, the TREE code is imperative
for larger systems involving  millions of particles. For a one-million
particle set, the all pair-wise method requires $10^4$ times more
computing resources than above, and this is not practical.

To determine parallel performance, larger sets of particles were tested.
Also several opening criteria have been tested, and the corresponding errors
were found. Finally, simple applications of large ultracold plasmas are given
below.

\subsection{Parallel performance}
Parallel performance  was tested with $10^5$ particles
($5\times 10^4$ electrons and $5\times 10^4$ ions).
Two kinds of opening criteria were tested,
$\theta = 0.4$ and $ 0.6$.  The results below were achieved on flash,
a linux cluster at Los Alamos National Laboratory, which is composed of
300 nodes per segment, with dual Opteron processors of 2.0-2.4GHz and
Myrinet interconnections. 8-16Gb of memory is equipped for each node.
Los Alamos MPI (LAMPI) library and OpenMP API of intel fortran compiler
9.1.037 were employed to compile the code.

The results are summarized in
Figure \ref{fig:parallel}. Scalability is the ratio between wall-clock time
of a parallel execution and the time of the corresponding serial code.
With a dual processor machine, 16, 32, and 64
nodes were used while the number of processors are
32, 64, and 128 respectively. For 128 processors, better than 80\%
parallel efficiency was achieved for both opening criteria.

Also a $10^6$ particle set ($5\times 10^5$ electrons and $5\times 10^5$ ions)
was tested to study parallel efficiency. Because the size is 10 times
larger than above, we simulated with up to 256 processors; the  results
are summarized in Figure \ref{fig:parallel2}. Compared to a small system, the
effect of the opening criteria is clear. A low opening criterion imposes larger
computing loads, showing efficient parallel computing, and more wall clock
time is consumed. A high opening criterion shows less parallel efficiency,
but completes a calculation faster. With current computing resources and
$\theta = 0.6$, one million particle system with one million time steps
takes approximately 700 hours with 256 processors.

The effect of configuration size was tested. Systems with 0.1, 1.0, and
10 millions of particles (half electrons and half ions)
have been tested with different number of nodes. 100 time
steps were tested and wall-clock times were examined per each section
as shown in Table \ref{table:size}.
First, using 8 nodes of 16 processors, basic domain decomposition was tested.
Even though 2 processors of a single node share the same segment, parallel
computing is done by OpenMP only. Consequently, a single segment is taken
care of by a single node only, and the result will serve as a reference for
the bare eight segment domain decomposition, without the intermediate
parallelism. Most of the computing resource is devoted to particle
interactions and updates. By pre-pruning, the load of communication and
ghost TREE management is affected by the opening criterion.  The relative
cost of each section is quite consistent for the size variations of systems.
64 nodes of 128 processors were also applied,
employing intermediate parallelism. Because 8 nodes share
a single segment, the cost of communication and TREE management is relatively
high compared to 8 node calculations. But it decreases as the number of
employed particles increases, providing better efficiency.
For the 64 node results, wall-clock times and speed ratios, calculated
relative to the 1 million particle results, are shown in Figure \ref{fig:size}.
For the change of problem sizes, speed ratios show $N\log N$ scaling.

\subsection{Opening criterion study}
TREE code performance and accuracy depend on the opening criterion.
$5\times 10^4$ electrons and  $5\times 10^4$ ions were tested with
several opening criteria in order to determine accuracy and efficiency
differences under same computing conditions. 1,000 time steps were employed
with 64 nodes of 128 processors on flash cluster.
Figure \ref{fig:sdratio} provides the results where the error of total
energy was measured against the all pair-wise results, and scaling ratio is
relative wall-clock time for $\theta = 0.1$. For $\theta \le 0.6$,
energy errors are quite small ($< 0.01 \%$) and converge to the result of
all pair-wise calculations for smaller $\theta$, accompanying fluctuations.
However, computing cost increases quite quickly
as $\theta$ decreases; $\theta = 0.1$ demands three times the computing time
of $\theta = 0.2$, and $\theta = 0.2$ costs three times that of $\theta = 0.4$.
Therefore a balance between accuracy and efficiency needs to be determined.
Also the energy error increases during the long temporal relaxation of charged
particles, and $\theta \le 0.7$ will be required for plasma relaxation
simulations of our study.

\subsection{Evolution of two-component ultracold plasmas}
Using the above mentioned initial conditions and reduced ion masses,
electron and ion temperatures were investigated up to 10 ns with
$2.5\times 10^5$ electrons and $2.5\times 10^5$ ions, along  $5\times 10^5$
time steps.
Figure \ref{fig:temp} provides the results, which are consistent
with previous work \cite{mazevet02}. We can see that the average ion
temperature increases rapidly for early times and saturates after 2 ns.
Compared to the previous work (500 electrons and 500 ions), we employed much
more particles, resulting in higher initial potential energy and more
heating of the ions. We found periodic oscillations in the electron
temperature evolution, which might be the effect of an electron plasma wave.
This will be studied extensively in future work \cite{jeon}.

\section{Concluding remarks}
To analyze the relaxation behavior of ultracold plasmas, a TREE code
has been developed. Also, a parallel implementation has been conducted
in order to allow for simulations of sufficiently large systems over
sufficiently long time. Dynamic data management was implemented for
efficient memory allocation of data communication, and eight-segment domain
decomposition was applied with a ghost TREE method. A parallelism of an
intermediate granularity was developed for large scale parallel processing,
and optimized for systems with millions of charged particles.
Finally, the developed code has been found to
work well with the given ultracold plasma systems and efficient
parallel performance has been demonstrated for various configurations.

As discussed above, a simulation of two-component ultracold plasmas requires
significant computing resources. Previously, only $\rm 10^3~to~10^4$ particles
could be employed because of the long temporal trajectories of ultracold
plasma relaxation. Here, with the developed  parallel TREE code, we have
increased the computing capacity  up to  $\rm 10^6$ interacting particles.
This is a crucial achievement in the study  of ultracold plasma dynamics.
Much larger and realistic configurations of ultracold plasmas can now
be investigated.

\section*{Acknowledgments}
We thank J. E. Barnes (University of Hawaii), M. Challacombe (LANL),
and Z. Wang (LANL) for valuable discussions about the TREE method.
Requests to the source code should be addressed to authors.
This work was supported by the Advanced Simulation Computing program of
Los Alamos National Laboratory, and was carried out under the auspices
of the National Nuclear Security
Administration of the U.S. Department of Energy at Los Alamos National
Laboratory under Contract No. DE-AC52-06NA25396.

redpajama_set_name: RedPajamaArXiv


text:
Transfer deadline: Will Grigg moves to Stadium of Light
League One Sunderland have finally completed the signing of striker Will Grigg on a three-and-a-half year deal from Wigan Athletic.
The Black Cats had made the 27-year-old their prime target over the past few weeks and after a sixth attempt their bid for the proven striker was accepted moments before the transfer window closed last night.
During Grigg's spell at the DW Stadium he scored a total of 65 goals in 150 appearances for the Latics including a famous winner which knocked Manchester City out of the FA Cup last season.
Wigan Athletic boss Paul Cook lamented on the loss of the iconic striker on the Latics official website, saying: "The club desperately wanted to keep Will but this is an offer we simply couldn't refuse.
"This comes with so much emotional attachment because Will is so popular with our supporters and is somebody who has given everyone associated with the club so many great moments during, not just my time as the club's manager, but throughout his three-and-a-half years at Wigan Athletic.
"We all wish Will the very best for the future."
Grigg, who joins Sunderland for a fee believed to be in the region of £4 million, has won promotion from League One on three occasions during his career, will have to wait for his Sunderland debut as he is currently sidelined with an ankle injury.

redpajama_set_name: RedPajamaCommonCrawl


text:
Did You Catch Microsoft Corporation (MSFT)'s Epic Surface TV Spot?
Published on October 22, 2012 at 7:48 pm by Jake Mann in News
Microsoft Corporation (NASDAQ:MSFT) is expected to release its much-anticipated Surface tablet this Friday, October 26th, and the tech world is clamoring. Could the tablet, which is already backordered in the U.S. and sold out in the U.K., look Apple's iPad line square in the face? If sales were generated solely by advertising effectiveness, we'd have to give the "W" to Bill Gates and Co., as the company recently shook the advertising world with a TV spot that can only be described as "epic."
The video, complete with a fair amount of dubstep and mid-air flips, has been deemed "most effective" tablet ad of the year by many pundits. Ace Metrix, the creator of the Ace Score, rated Microsoft's Surface ad as the best of the year, higher than even Samsung's Apple-bashing ads.
But enough of us talking. Enjoy the video, we sure did.
Google Inc (GOOG), Facebook (FB): Is The New Millennium Over? Is Google Inc (GOOG) Spreading Itself Too Thin? Facebook Inc (FB): How Are The Tiger Cubs Trading The Social Network? Is Verizon a Good Investment? Apple Inc (AAPL), Microsoft Corporation (MSFT): Tablet Wars Apple Inc. (AAPL) Can't Keep All Its Secrets, Judge Says
Apple Inc (AAPL) Microsoft (MSFT) Surface tablet


text:
package com.javaeye.lonlysky.lforum.service;

import java.util.List;

import org.hibernate.SessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springside.modules.orm.hibernate.Page;
import org.springside.modules.orm.hibernate.SimpleHibernateTemplate;

import com.javaeye.lonlysky.lforum.comm.utils.Utils;
import com.javaeye.lonlysky.lforum.entity.forum.Creditslog;
import com.javaeye.lonlysky.lforum.entity.forum.Users;

/**
 * 积分转帐历史记录操作类
 *
 * @author 黄磊
 *
 */
@Service
@Transactional
public class CreditsLogManager {

	private final static Logger logger = LoggerFactory.getLogger(CreditsLogManager.class);
	private SimpleHibernateTemplate<Creditslog, Integer> creditslogDAO;

	@Autowired
	public void setSessionFactory(SessionFactory sessionFactory) {
		creditslogDAO = new SimpleHibernateTemplate<Creditslog, Integer>(sessionFactory, Creditslog.class);
	}

	/**
	 * 添加积分转帐兑换记录
	 * @param uid 用户id
	 * @param fromto 来自/到
	 * @param sendcredits 付出积分类型
	 * @param receivecredits 得到积分类型
	 * @param send 付出积分数额
	 * @param receive 得到积分数额
	 * @param paydate 时间
	 * @param operation 积分操作(1=兑换, 2=转帐)
	 */
	public void addCreditsLog(int uid, int fromto, int sendcredits, int receivecredits, float send, float receive,
			String paydate, int operation) {
		Creditslog creditslog = new Creditslog();
		creditslog.setOperation(operation);
		creditslog.setPaydate(paydate);
		creditslog.setReceive(receive);
		creditslog.setReceivecredits(receivecredits);
		creditslog.setSend(send);
		creditslog.setSendcredits(sendcredits);
		Users usersByFromto = new Users();
		usersByFromto.setUid(fromto);
		creditslog.setUsersByFromto(usersByFromto);
		Users usersByUid = new Users();
		usersByUid.setUid(uid);
		creditslog.setUsersByUid(usersByUid);
		creditslogDAO.save(creditslog);
		if (logger.isDebugEnabled()) {
			logger.debug("添加积分转帐兑换记录 {}", creditslog.getId());
		}
	}

	/**
	 * 返回指定范围的积分日志
	 * @param pagesize 页大小
	 * @param currentpage 当前页数
	 * @param uid 用户id
	 * @return 积分日志
	 */
	public List<Creditslog> getCreditsLogList(int pagesize, int currentpage, int uid) {
		Page<Creditslog> page = new Page<Creditslog>(pagesize);
		page.setPageNo(currentpage);
		page = creditslogDAO.find(page,
				"from Creditslog where usersByUid.uid=? or usersByFromto.uid=? order by id desc", uid, uid);
		return page.getResult();
	}

	/**
	 * 获得指定用户的积分交易历史记录总条数
	 * @param userid 用户id
	 * @return 历史记录总条数
	 */
	public int getCreditsLogRecordCount(int userid) {
		return Utils.null2Int(creditslogDAO.findUnique(
				"select count(id) from Creditslog where usersByUid.uid=? or usersByFromto.uid=?", userid, userid), 0);
	}

}

redpajama_set_name: RedPajamaGithub


text:
Posted by Kurt Kalata on September 9, 2017
Golden Axe III (ゴールデンアックスIII) - Genesis, PlayStation 2, PlayStation 3, PSP, Xbox 360, Wii, Windows, iOS (1993)
Unused American COver
The third console Golden Axe is largely considered to be a disappointment. The biggest reason is that gamers wanted a home port of The Revenge of Death Adder, and they got this instead. It's not a terrible game, but it's not quite up to par either.
Whereas Golden Axe II was too similar to the original game, Golden Axe III is too different. Technically, Gilius Thunderhead is the only returning hero yet again, although you don't play as him. Instead, he sends a handful of new characters into battle against the forces of evil. Kain Grinder is this game's Ax Battler clone, while Sarah Barn is a dancer out for revenge. Braoude Cragger is an impossibly strong man descended from giants, while Chronos "Evil" Lait is a cursed panther man. The antagonist is the improbably named Damned Hellstrike, who is also referred to as the Prince of Darkness.
The biggest change is that Sega changed the controls to make it play like every other console beat-em-up, instead of like Golden Axe. The weapon ranges are shorter, and it's a bit faster and smoother, but it's also lacking in distinction.
The graphics are much more washed out than any of the previous Golden Axe games. There's better use of color, but the artwork is less defined, giving it a grainy feel. There's some very nice backgrounds, in concept, but the brightness kills the atmosphere.
It has inherited some of the better aspects from The Revenge of Death Adder though, such as the branching paths through the game. Additionally, you can now double jump, and each character has two special moves. The magic attacks are back to the original Golden Axe method wherein you get potions, and use them to cast spells of a certain level depending on how many potions you have. You can now dismount beasts at any time instead of having to be hit off them or completing a level. You can also gain an extra life by rescuing slaves scattered about the levels.
The music is pretty amazing. Songs like "Ancient Mound" and "Ride the Whirlwind" sound like they are for a different system. The music was once again supplied by Naofumi Hataya, along with Tatsuyuki Maeda (Dragon Force). The screams are similar to the arcade version, but thanks to the scratchy sound of the Genesis, they're not quite as good.
Golden Axe III only saw a retail release in Japan. It was translated and published briefly on the Sega Channel in America, although it later showed up on assorted compilations. Famed fantasy artist Boris Vallejo, who illustrated the American covers for several other Golden Axe titles, drafted a cover, which is similar to the Japanese one. However, of course, since the game was not released, it was not used.
Series Navigation << Golden Axe IIGolden Axe: Revenge of Death Adder >>
Twinkle Tale
Lord Monarch
Warrior Blade: Rastan Saga Episode III
Gleylancer
Monster World IV
Mega Man: The Wily Wars
Power Blade 2
Top 47,858 Games of All Time Episode 281: Blood (feat. Derek Yu)


Oh man another awesome night of JAMMIN' Gridiron Challenge at Blake Street.. This place is where to go to watch the Thursday Night games! Heck, one table almost one two gift cards but were just barely beaten out by another couple! Be sure to get here next week as the Chargers and Chiefs face off!


After having received a comment where ghostbuster said that it's not possible to live without water for so long, I decided to ask people who might have more knowledge to answer that question. Obviously, living for six months without food and water seems impossible.
One of people I've asked was Profiler, author of Psychic Blogger Chic. I asked her opinion and also asked her to use her Remote Viewing abilities to 'look' into the case.
So, the message is what important and not the way it is presented. The same opinion holds Joe, the other commenter to the post.
It's also interesting to note that I have just today, without any connection whatsoever, stumbled upon an article about living on light and air where a man describes how can one (he) live without food. So, just maybe it is possible.
I know people who can meditate for months without food or water, there are a fair few who can do this in India, it's more common over there.
the air contains everything a human being needs.
Science says we cannot live without water. When I was going to schoole, science said protons, neutrons and electrons are the smallest particles.
Science is not always wrong, but usually only partially correct.
REALLY DIS IS UNBELIEVABLE…..I also dnt afree wid profiler… I dnt fink d boy's fakin it all. Am nt contestin Profiler's comments.. Jst 2 say dat it is a miracle n surely God has sent dis miracle 2 remind us of d importance of prayer… It shows dat iin dis Kali Yuga devotion stil exists..
If we study the great teachers of past and of preasent then we would understand that everything is energy, we and everything are all of one. What this boy is doing has been done before by others that understood the truth of what we are. One such great teacher said "Man is not bread alone".
I HAVE CAME TO KNOW THAT THERE IS A BOY IN NEPAL WHO IS MEDITATING FOR APPROXIMATELY PAST 6 MONTHS. I WANT TO ASK YOU A QUESTION THAT HOW IT IS POSSIBLE. HAVE ANYONE SEEN HIM BY DOING THAT.
how much do you guys know about the chakras in human bodies. When these chakras are opened, one can do many things previously impossible. As for the boy in Nepal, all he is trying to do is realize God, through meditaion. Instead of theoretical method he is simply using pratical ones. As for meditation without water and food it is very possible. And in the process of meditation that the boy is going through he will have opened all seven of his chakras.
Greetings, the article on Breatharianism was fascinating. I have always known what he says in that article to be true. I do exactly what he does – I fast, I eat the same kinds of foods for days at a time and I am at my best when I eat little or nothing. Other emotions I experience are joy, love, contentment. Although I have never researched this or even talked to anyone about what I know, this articles confirms everything. Not only that, after reading the article, I have been given the answer to a pending question and I now know what to do to finally solve a problem I have been working on. Thank you for your guidance.
This story about the boy in Nepal is interesting, in my opinion. Probably not many people know the truth about this. However, in regards to Profiler's comment, I think she needs to read more before making such comments about the boy's intention. Just because someone can't do something, it doesn't mean it can't be done. There have been stories about amazing power of meditation (read "Journey to the East" by Oxford University scientists for stories about this).


We're a full-service production company which means we take care of everything from idea, planning, shooting, post production, motion graphics, 3D, technical data and interactivity.
We partner with our clients to understand their individual needs and turn ideas into mindblowing tools, immersive films and effective experiences. We are at the forefront of cutting edge technology and know-how, implementing tailored solutions with intentional outcomes.
Our studio also works closely with Inkonova at KTH Royal Institute of Technology for tech drone solutions and we have a close partnership with Parteon Studios in Los Angeles for all US related productions.
We love solving individual challenges through creative collaboration. To start the conversation about your brand, please contact us.
We partner with our clients to elevate the value of their brands through thoughtfully designed immersive experiences.


text:
FDA Approves Weight-Management Pill Contrave (Naltrexone/Bupropion)
Drug may face reimbursement hurdles
The FDA has approved Contrave (naltrexone hydrochloride and bupropion hydrochloride, Takeda Pharmaceuticals America/Orexigen Therapeutics) as a treatment option for chronic weight management in addition to a reduced-calorie diet and physical activity.
The drug is approved for use in adults with a body mass index (BMI) of 30 or greater (obesity) or in adults with a BMI of 27 or greater (overweight) who have at least one weight-related condition, such as hypertension, type-2 diabetes, or high cholesterol (dyslipidemia).
Contrave is a combination of two FDA-approved drugs, naltrexone and bupropion, in an extended-release formulation. Naltrexone is approved to treat alcohol and opioid dependence. Bupropion is approved to treat depression and seasonal affective disorder and as an aid to smoking-cessation treatment.
The effectiveness of Contrave was evaluated in clinical trials that included approximately 4,500 obese and overweight patients with and without significant weight-related conditions treated for 1 year. All of the patients received lifestyle modification consisting of a reduced- calorie diet and regular physical activity.
Results from a clinical trial that enrolled patients without diabetes showed that the patients had an average weight loss of 4.1% compared with placebo at 1 year. In this study, 42% of the patients treated with Contrave lost at least 5% of their body weight compared with 17% of the patients given placebo.
Results from another clinical trial that enrolled patients with type-2 diabetes showed that the patients had an average weight loss of 2% compared with placebo at 1 year. In this study, 36% of the patients treated with Contrave lost at least 5% of their body weight compared with 18% of the placebo-treated group.
In June, the FDA delayed its decision on the drug by 3 months because of concerns about adequate warnings on the packaging.
Because Contrave contains bupropion, the product labeling now includes a boxed warning to alert health care professionals and patients to the increased risk of suicidal thoughts and behaviors associated with antidepressant drugs. This warning also notes that serious neuropsychiatric events have been reported in patients taking bupropion for smoking cessation.
In addition, Contrave can cause seizures and must not be used in patients who have seizure disorders. The risk of seizure is dose-related. The drug can also raise blood pressure and heart rate and must not be used in patients with uncontrolled hypertension.
The most common adverse events reported with Contrave include nausea, constipation, headache, vomiting, dizziness, insomnia, dry mouth, and diarrhea.
According to Reuters, weight-loss drugs face reimbursement challenges. Government and private health insurers are reluctant to cover Belviq (lorcaserin, Eisai) and Qsymia (phentermine/topiramate, Vivus, Inc.), unconvinced of their long-term efficacy since patients often withdraw from treatment.
"For all the obesity drugs that are out there, only 30 to 40 percent of the health maintenance organizations pay for obesity coverage," a market analyst said.
The FDA is requiring several post-marketing evaluations of Contrave:
A cardiovascular outcomes trial to assess the cardiovascular risk associated with use of the drug
Two efficacy, safety, and clinical pharmacology studies in pediatric patients (one in patients 7 to 11 years of age, and the other in patients 12 to 17 years of age)
A nonclinical (animal) juvenile toxicity study with a focus on growth and development as well as on behavior, learning, and memory
A study to evaluate the effect of Contrave on cardiac conduction
Clinical trials to evaluate dosing in patients with hepatic or renal impairment
A clinical trial to evaluate the potential for interactions between Contrave and other drugs
Sources: Reuters; September 11, 2014; and FDA; September 10, 2014.
Takeda Dumps Obesity Drug Contrave (Naltrexone/Bupropion)
Naltrexone/Bupropion ER (Contrave)
Naltrexone SR/Bupropion SR (Contrave)
Obesity Treatment Contrave Succeeds in "Real World" Study
FDA Approves Weight-Management Drug Saxenda (Liraglutide Injection)
Why Women's Risk of Alzheimer's Differs From Men's
Two-Thirds of U.S. Alzheimer's Cases Are Women, And It's Not Just Because They Live Longer
New Antibacterial for Complicated Urinary Tract, Intra-Abdominal Infections
Recarbrio Should be Reserved For Limited/No Alternative Antibacterial Treatment Cases
Breast Cancer, Gastrointestinal Tumors Most Common Types
Transcription Factor Keeps Breast Cells Healthy by Advancing DNA-Damage Repair
"Slug" Regulates Stem Cell Activity and More
First-Ever State Regulation on Sepsis Tied to Lower Death Rates
NY Hospitals Required to Implement Protocols in Suspected Cases
Unlocking Cancer's Chemo-Resistance
Presence of BOK Protein Key for Positive Treatment Response
First Contrast Agent for Cardiac MRI in Cases of Known/Suspected Heart Disease
Gadavist® Injection Use Enables Fast Assessment
Digital Inhaler Approved for Asthma Treatment
Patient Access to Inhaler Use Data Could Improve Asthma Management
Common Cold Virus Completely Eliminates Bladder Cancer in Patient
Attacks Cancerous Cells, Leaves Healthy Tissues Alone


text:
П'єр Гійом Фредерік Ле Пле (; 11 квітня 1806 — 5 квітня 1882) — французький геолог (професор Гірничої школи в м. Париж), економіст, соціолог (його дослідження робітничих сімей та їхніх бюджетів вважаються класичними і є нині важливим джерелом інформації про тогочасний стан робітничого класу).

Життєпис
Народився в комуні Ла-Рив'єр-Сен-Совер (департамент Кальвадос, Франція). 1837–39 був учасником експедиції на Південь Росії та України, організованої А.Демидовим (членом Петербурзької, Мюнхенської, Стокгольмської та Паризької академій наук, власником італійського князівства Сан-Донато, нащадком гірничозаводчика Акінфія Демидова). Окрім Л.-П., до експедиції входили ще 20 іноземних фахівців (топографи, хіміки, палеонтологи, медики, рисувальник). Л.-П. очолював геолорозвідувальні роботи, безпосередньо на Донбасі він продовжив розвідки, розпочаті свого часу Ф.Зуєвим, К.Габлицем, П.-С.Палласом, Є.Ковалевським.

Науковим результатом експедиції стало видання коштом А.Демидова 4-томної праці з таблицями, геологічними картами та ілюстраціями (видрукувана 1841–42 в Парижі). Л.-П. був автором останнього тому. Цей том містить, окрім природознавчого матеріалу (у тому числі результатів аналізу, виконаного в Парижі в спеціально для цього створеній лабораторії, взятих під час експедиції зразків вугільних та залізних руд з 225 родовищ), багато даних про економічне життя Південної України, зокрема, про особливості праці тамтешніх робітників (Луганського казенного ливарного заводу та Лисичанських копалень), умови їхнього життя, деякі звичаї і характерні риси поведінки. Констатуючи досить повільний розвиток вугледобування в Донецькому краї, Л.-П. пояснював це недостатньою заселеністю краю та обмаллю в ньому промислових підприємств, а отже, й нерозвиненістю ринку збуту вугілля, тим більше, що казенний Луганський ливарний завод забезпечувався урядовими замовленнями без врахування зміни ціни вугілля. Л.-П. заперечував обґрунтованість тези, що в Донбасі неможливо виплавляти чавун та виготовляти залізо з місцевих руд на місцевому кам'яному вугіллі, й обстоював ідею «об'єднання вугілля та руди». Для створення сприятливих умов для такого «об'єднання», на його думку, необхідно було захистити донецьку кам'яновугільну промисловість державною митною протекцією (англійське вугілля продавалося на Донбасі дешевше за місцеве лише тому, що воно перевозилося на морських суднах не як вугілля, а як баласт цих суден). У цій книзі Л.-П. дав поетичний опис українського степу (степ нагадував йому безкрайнє море, величезний трав'яний килим), а також детальний опис традиційного українського транспорту — чумацьких мажар із впряженими волами (див. Чумацтво) . За його повідомленням, кожна мажара перевозила за добу до 1 т вантажу на відстань 24–35 км.

Працю було високо оцінено сучасниками, й це спонукало видавців здійснити її переклад російською мовою. Переклад виконав професор геології Г. Щуровський, а Ле Пле підготував для російського видання доповнення (для цього він ще кілька разів приїздив на Донбас) про зміни в споживанні донецького вугілля з кінця 1830-х рр. до 1850.

У себе на Батьківщині Ле Пле 1848 став членом Державної економічної комісії, був організатором Всесвітньої виставки 1855, членом Державної Ради й одним з радників імператора Наполеона III. Написав низку наукових праць, зокрема: «Європейські робітники», «Соціальна реформа у Франції», «Організація праці», «Організація родини», «Соціальний мир». Відстоював ідею, що відносини між роботодавцями і робітниками мають будуватися на принципах патронатства, й у зв'язку з цим критикував тих, хто пропагував принцип рівних прав, оскільки, на його думку, наслідком утілення в життя цього принципу буде суспільний хаос.

Помер у м. Париж.

Окремі праці
 (1842), Париж, "Дослідження кам'яновугільного Донецького басейну, виконане в 1873–1839 рр. за розпорядженням А. Демидова"
 (1843) "Sur la Fabrication de l' Acier en Yorkshire" Annale des Mines, 4e série, Tome III, pp. 195ff. (bound with the following:)
 (1846) Mémoire sur la fabrication, le commerce et l'emploi des fers à acier du Nord de l'Europe.
 (1864). La Réforme Sociale.
 (1871). L'Organisation de la Famille.
 (1875). La Constitution de l'Angleterre. (in collaboration with M. Delaire)

Примітки

Джерела та література
 Голобуцький П. В. Ле-Пле Фредерик //

Література
 Фомин П. И. Горная и горнозаводская промышленность юга России. Х., 1915
 Бакулев Г. Д. Развитие угольной промышленности Донецкого бассейна. М., 1955
 Пузанов И. И. Александр Давидович Нордман. М., 1969
 Дружинина Е. И. Южная Украина в период кризиса феодализма: 1825—1860 гг. М., 1981.

Посилання
Ле-Пле (Le Play) Фредерик  // Україна в міжнародних відносинах. Енциклопедичний  словник-довідник. Випуск 5.  Біографічна  частина:  А-М /  Відп.  ред. М.М.  Варварцев. —  К.:  Ін-т історії України НАН України, 2014. — с.253-254

Французькі інженери
Французькі соціологи
Уродженці департаменту Кальвадос
Сенатори Франції

redpajama_set_name: RedPajamaWikipedia


Vanderbilt Country Club is located off Vanderbilt Beach Road, just east of Collier Boulevard (CR 951). Our main entrance is on the north side (to your left) of Vanderbilt Beach Road, less than a mile past Collier Boulevard. If you are visiting Vanderbilt Country Club, you must use our main entrance located off Vanderbilt Beach Road. Our second entrance is located off Collier Boulevard, is unmanned and for member-use only. All vehicles entering the community via the Collier Boulevard gate require a barcode decal to gain entry. For GPS purposes, the Gatehouse address on Vanderbilt Beach Road is 8210 Danbury Boulevard, Naples, FL 34120.
For further questions contact us at 239-348-2662.
Download a Community Site Plan here.


text:
Q: Validation in @RepositoryRestController I'd like to validate my DTO in my @RepositoryRestController with the javax annotation @Valid.
However @RepositoryRestController doesn't currently support @Valid as you can see in this ticket: https://jira.spring.io/browse/DATAREST-593
If I use a @RestController my @Valid would work fine, however then my @RepositoryRestResource wouldn't work anymore. I would need to manually write a method in my @RestController for each functionality (findOne(), findAll() etc.). Currently I can just use the @RepositoryRestResource with a Projection for the methods findAll() etc.
How do I validate the DTOs in a @RepositoryRestController?
Repository:
@RepositoryRestResource(excerptProjection = ChipProjection.class)
public interface ChipRepository extends JpaRepository<Chip, Long> {

}

Projection:
@Projection(name = "summary", types = Chip.class)
public interface ChipProjection {
    Long getId();
    ChipIdentifier getChipIdentifier();
}

Controller:
@RepositoryRestController
public class ChipRestController {
    @Autowired
    ChipService chipService;

    @RequestMapping(value = "/chips", method = RequestMethod.POST)
    public @ResponseBody ChipHelper saveChip(@Valid @RequestBody ChipHelper chip, BindingResult result){
        List<FieldError> errors = result.getFieldErrors();
        //errors is always empty, @Valid not working
        chipService.save(chip);
        return chip;
    }
}

ChipHelper:
@Data
public class ChipHelper {
    @NotNull
    private Long id;

    @NotNull
    @Size(min = 10)
    private String identifier;
}

A: This answer: https://stackoverflow.com/a/44304198/5435182 works for me:
Just add this to your @RepositoryRestController :
@Inject
private LocalValidatorFactoryBean validator;

@InitBinder
protected void initBinder(WebDataBinder binder) {
    binder.addValidators(validator);
}

A: Seems that there are no good solution in this case and @Valid annotation is not supported by default in any way as stated in DATAREST-593. That why, to support @Valid annotation on @RepositoryRestController methods, I've created the following @ControllerAdvice class:
package com.tivoli.api.application.advice;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.MethodParameter;
import org.springframework.http.HttpInputMessage;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.validation.BeanPropertyBindingResult;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.validation.Validator;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdviceAdapter;

import javax.validation.Valid;
import javax.validation.ValidationException;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;

/**
 * Workaround class for making JSR-303 annotation validation work for controller method parameters.
 * Check the issue DATAREST-593
 */
@ControllerAdvice
public class RequestBodyValidationProcessor extends RequestBodyAdviceAdapter {

    private final Validator validator;

    public RequestBodyValidationProcessor(@Autowired final Validator validator) {
        this.validator = validator;
    }

    @Override
    public boolean supports(final MethodParameter methodParameter, final Type targetType, final Class<? extends
            HttpMessageConverter<?>> converterType) {
        final Annotation[] parameterAnnotations = methodParameter.getParameterAnnotations();
        for (final Annotation annotation : parameterAnnotations) {
            if (annotation.annotationType().equals(Valid.class)) {
                return true;
            }
        }

        return false;
    }

    @Override
    public Object afterBodyRead(final Object body, final HttpInputMessage inputMessage, final MethodParameter
            parameter, final Type targetType, final Class<? extends HttpMessageConverter<?>> converterType) {
        final Object obj = super.afterBodyRead(body, inputMessage, parameter, targetType, converterType);
        final BindingResult bindingResult = new BeanPropertyBindingResult(obj, obj.getClass().getCanonicalName());
        validator.validate(obj, bindingResult);
        if (bindingResult.hasErrors()) {
            throw new ValidationException(createErrorMessage(bindingResult));
        }

        return obj;
    }

    private String createErrorMessage(final BindingResult bindingResult) {
        final StringBuilder stringBuilder = new StringBuilder("Invalid parameters specified.");
        if (bindingResult.getFieldErrors() != null && !bindingResult.getFieldErrors().isEmpty()) {
            stringBuilder.append(" Fields:");
            bindingResult.getFieldErrors().forEach(fieldError -> stringBuilder
                    .append(" [ ")
                    .append(fieldError.getField())
                    .append(" : ")
                    .append(fieldError.getRejectedValue())
                    .append(" ] "));
        } else if (bindingResult.getAllErrors() != null && !bindingResult.getAllErrors().isEmpty()) {
            final ObjectError objectError = bindingResult.getAllErrors().get(0); // get the first error
            stringBuilder.append(" Message: ")
                    .append(objectError.getDefaultMessage());
        }

        return stringBuilder.toString();
    }
}

A: Maybe you could add annotation @Validated to Controller as follows:
@Validated
@RepositoryRestController
public class ChipRestController {
    ...
}

I refer this answer: https://coderanch.com/t/724074/frameworks/Valid-annotation-working-service-method And this do help me:)

redpajama_set_name: RedPajamaStackExchange


text:
LZ-2 is one of the main roads on the island of Lanzarote in the Canary Islands. It leads south from the island's capital, Arrecife, ending at the island's southernmost town of Playa Blanca. From here, ferries are available to cross the strait of La Bocayna, effectively connecting the LZ-2 to the FV-1 on the island of Fuerteventura. Lanzarote Airport is also accessed by the LZ-2.

Although most of the island's roads are owned by the island council (cabildo insular), roads of major importance such as the LZ-2 are owned by the Government of the Canary Islands.

The road is a dual carriageway, with two lanes in each direction, between Arrecife and Tías (approximately ); the rest of the route, between Tías and Playa Blanca (approximately ) is a single carriageway. As of July 2019, there are two fixed speed cameras on LZ-2, on kilometre 1.2 in both directions; the speed limit at this point is .

References

Lanzarote
Roads in Spain


Most Americans take freedom for granted. Too often, the word is much like a cliché. Most of us have never had to fight for it, or for that matter, even lost a single night's sleep to enjoy its benefits.
Azerbaijanis, however, are just now beginning to discover the fine nuances of what "freedom" actually means. It's not something they take for granted, after having to dig themselves out from under 70 years of Soviet oppression since the collapse of the Soviet Union in 1991.
History shows that when a nation gains its freedom, there is often confusion, disorientation and even a yearning to return to the "good old days" when life was more secure and daily patterns, more predictable. One of Azerbaijan's most profound writers, Rustam Ibrahimbeyov, once wrote a play about a lion who didn't want to move out of his cage even though he was free to do so.
Right: Lenin's statue used to be the prominent feature of the Ministry Building in Baku. Since independence in 1991, it has been dismantled.
Since I came to Azerbaijan in 1992, I've seen a wide range of attitudes towards freedom-"istiglal." The first time I ever witnessed any commemoration of this newly-gained independence was October 9, 1992. It was the celebration of the establishment of the Azerbaijan army. At the time, I was living in the suburbs of Baku. I remember taking the Metro to the center of the city that morning, having no idea that anything was going on. But when I came up from the underground tunnels into daylight, I saw streets filled with tanks and military personnel carriers. My heart skipped a beat or two, you can be sure! What was going on? Had the military taken over?
Left: Official flags of the 15 Soviet Republics of the USSR.
Right: First Day Cover commemorating Azerbaijan's independence.
In those days, I used to always carry my camera, so I joined the crowds making their way toward May 28 Street. Although the street was under construction, streams of people were climbing over barricades to get nearer Azadlig Square. The area itself had been blocked off, surrounded by military personnel. I found myself pushed along in the crowd until we reached the barriers. Everybody wanted to get a view--of what, we weren't sure.
Suddenly, the barriers were pulled back and thousands of people, including this American, leaped over whatever happened to be in our way and moved, en masse, to the center of the square. There, I positioned myself against a huge tank and started taking photos. Being blonde haired, it wasn't long before some of the soldiers noticed me. But instead of issuing threats, they escorted me to the front of the crowd where I had an even better view of the proceedings.
"How ironic," I thought. "Twenty years earlier, my uncle had been arrested in Russia for doing exactly the same thing. But this time, I'm 'shooting' freely and the soldiers are even helping me."
Overhead, fighter jets swooped down in formation over the Boulevard. Parachutists dropped into the center of the square. Ten-story banners, marking the date-October 9-were draped from the facades of the nearby Azerbaijan and Absheron Hotels. Tanks rolled, and military personnel from all branches of the armed services marched in procession. Leaders waved from their limousines, heroes were applauded, and tens of thousands of people looked on, in pride. This date has now become a national holiday, known as National Army and Navy Day. Unfortunately, independence comes with a price, and soon these military forces were off defending the loss of Nagorno Karabakh, a mountainous enclave inside Azerbaijan populated mostly by Armenians.
The following month marked another celebration--the first anniversary of the establishment of the Republic of Azerbaijan of November 19, 1991. It wasn't the first time that Azerbaijanis had experienced independence. Back in 1918, they had established the first Democratic Republic of Azerbaijan. Unfortunately, their experiment was shortlived, crushed 23 months later when Soviet Bolshevik troops moved in and conquered Baku in 1920. The Soviets would retain their chokehold on Azerbaijan's independence for the next 70 years.
So many places have new names--streets, squares, parks, metro stations and buildings. With independence, the name "May 28" began to appear, marking the date of the first Democratic Republic of Azerbaijan in 1918. It often replaced the name "April 26," when the Bolsheviks brought an end to Azerbaijan's independence and imposed Soviet rule in 1920.
I remember when the monument to Bolshevik heroes in the "Park of the 26 Baku Commissars" was being dismantled and the rubble carted away. The eternal flame has long been extinguished. Not a single flower marks the spot to honor their memory. Names associated with Soviet leaders, or those associated with Russians or Armenians, were among the first to be changed. The statue commemorating Kirov, the Bolshevik commander who captured Baku in 1920, and which had once held the most prominent view overlooking the city, had already been dismantled before I arrived in 1992.
Lenin's statue, once standing so prominently in front of the Ministry building, is gone. His name, so omnipresent for streets, museums, squares and assembly halls, has since been replaced with names embracing concepts like "Freedom" (Azadlig) and "Republican" (Respublica). "Communist" Street in Baku was renamed "Independence" (Istiglaliyat) Street. Streets named after Soviet heroes have been replaced with Azerbaijani cultural heroes--especially poets and musicians, even oil barons!
But what about the inner thoughts of people? What was going on in their hearts and minds? How had these enormous changes affected their identities and their lives on a practical, day-to-day basis? Of course, many members of the older generations who had grown up under the cradle-to-grave Soviet welfare system, complained that life had been much better prior to independence. The state had taken care of them all of their lives. As there had not been many incentives for the masses to elevate their status, it was often much better to live life anonymously and unnoticed. Drawing attention to yourself often created complications.
But suddenly, in 1991, a whole new world was emerging and people began questioning their identity. Overnight, they lost their identity as part of a world superpower that stretched across a vast territory of 11 time zones. Azerbaijanis had to redefine themselves as a tiny, fledgling nation. They felt abandoned, lonely and vulnerable.
They had to find new means for earning a living. There were no more state jobs at state-run institutions, factories and stores. Many times, I remember seeing street vendors setting up little wooden crates to sell a few boxes of matches, some toothbrushes and socks, only to have the police come and chase them away. Pensioners were reduced to standing on the streets for hours, holding the last six silver spoons of their grandmother's keepsakes, trying to exchange them for a few rubles, just to stay alive. Family heirlooms could be purchased "for a song." Antiques and carpets were exchanged for food. There were long queues for bread-long, tiresome, quarrelsome queues. And people began to grumble, "Independence-for what? From what?"
Independence has brought economic pressure on people to support their immediate, as well as their extended families, some of whom were refugees who had no independent source of income or earning potential. Independence has introduced new laws, not always understood and new cultural influences not always welcomed. Independence has also provided limitless commercial imports never seen before, and for most people, still unaffordable. Independence has imposed career changes, not always for the better. Consider the nuclear physicist who spent his entire life accumulating knowledge and who's now reduced to driving a taxi as he no longer has a job.
Independence has offered the chance to earn more money to bring the world a little closer, through satellite TV or foreign radio stations. It used to be nearly impossible to exchange dollars legally into the local currency, which at the time was rubles. Now, dollars are flaunted everywhere.
I'll never forget the first time I saw a Volvo being driven on Baku streets. That was only six years ago. Now, streets are jammed with foreign cars, driven by adventurous, often inexperienced, drivers.
And what of the Azeri soul? Do people feel more free today than they did seven years ago, 20 years ago? What does freedom mean to the average person? I asked a number of people for their opinions.
Natalia: I think real freedom isn't something on the outside, something external. It's something on the inside--freedom of the soul.
Svetlana: Freedom means balancing rights with responsibilities.
Ulvia: Freedom is the opportunity to choose despite the pressure of other peoples' opinions. Freedom means being responsible for making decisions myself. Freedom is security. If I can't protect myself, am I really free? Fear and insecurity create many complexes which rob you of choice.
Aygun: For me, freedom means being able to move outside my culture or the opinions of my family or of others, including self-analysis and self-criticism.
Nina: Freedom is space without borders, but which provides a foundation under my feet.
Irada: I'm sure that without inner personal freedom, there is no way to build a free society.
Indeed, everyone agreed that freedom and independence started from within each individual, and only then could it extend to the larger arena of society.


The weeks that followed the last post have been a bit of an emotional roller coaster here at the homestead.
The kitties were enjoying the cattio, the weather was beautiful and there was all sorts of reasons to smile. We got a beautiful hardwood floor installed in the livingroom to accommodate the installation of our wood stove a week later. Oh how lovely the living room looks now! No more ugly plywood sub floor. And the wood stove makes such a lovely fire to watch while we warm ourselves. It came in handy just a few days later when the power went out. Btw, yes I know the kindling basket and wood holder are too close. They are normally a safe distance away...just snuck them in there for the sake of the picture.
We were feeling pretty pleased and then the roller coaster took us down. Taz lost the use of her back legs. It became clear that her kidneys finally gave out. She hobbled and shuffled for a week between a dark corner, her litter box and her food until it became clear that she was in pain. I had hoped that nature would cross her over but it was not to be. Todd and I had a lovely moment with her in the morning before he went to work. A three way cuddle, the memory of which will warm my heart forever. Later the vet came to the house, and in a very loving and respectful way, he ended her pain. And that's when mine began. She was such a character and the 14 years she spent with me will always be cherished. But oh, how I miss her. After the vet left, I buried her in the backyard. Our sweet Maddy who passed away a few short months before we made the move to PEI was cremated because we wanted to make sure she still came with us. I had planned on spreading her ashes or something but now I saw the opportunity to bury her with Taz. So they now rest together. This was the last picture I took of her after I carried her downstairs to sleep in the sun for awhile.
That same week we finally closed the sale on our house in Ontario. This was a sale that took a year and a half to complete. Closing that deal was lifted a huge weight from our shoulders. We should have been celebrating and dancing, but our hearts were so heavy with grief, all we could do was feel relief. Finally! the responsibility of a second house was gone. Now we can focus better on this one. With the living room finished we have a sense of having made some progress with the renovations to be done here. The weather forecasts predict a very stormy January through March which means a lot of power outages here. So, knowing that we can throw a log in the fire and be toasty warm is such a relief. Power outages are common and we recently found out that electricity has only been in this area since the 50's and some parts the 70's!
Poncho has handled Taz's absence well although he does seem a little bored. He stopped using the cattio much, only short outings. I guess it's not much fun being on his own out there. I planned on waiting a while to let the dust settle before considering another cat. But as often happens, the universe seems to have it's own ideas about my life's timetable. It seems this little lady needed a home. She is only a year older than Poncho. Not only does she look a little like him, but she seems to have some similar quirks. She came with the name Dora but we are still trying to come up with a new name. She is still quarantined for the time being as we slowly let her and Poncho check each other out under the door and getting used to each other's scent. She is full of love and play, so hopefully when they are fully introduced he will have a playmate to horse around with.
And so the ups and downs of life lately have left us feeling a little dizzy. We are still finishing up the gardening and all the tasks to button things up before the snow starts to fly. Thankfully aside from some rainy days here and there, we have mostly had pretty good weather to get some of these things done. The vegetable garden still needs some work! Fingers crossed the good weather continues so I can finish that up and finally prune back all the grape vines.
Those we love, be they man or beast.
Will make them live on and on.
this mortal coil and more.
or the status we held before.
The only thing that comes with us.
is all the love in our heart.
as we cross over and finally depart.


SodexoMAGIC – We are the communities we serve.
When it was time for my successful NBA career to come to an end, it was important for me to be prepared for the next phase of my life. I was fortunate enough to learn from some of the great businessmen of their time, and utilize that knowledge to invest in my own opportunities across various industries. I am especially proud of SodexoMAGIC – a joint venture with Sodexo, one of the nation's largest food service and facilities management companies – and thrilled to be celebrating our 10-year anniversary.
Our knowledge base and proved expertise positions us to provide comprehensive facilities management and food services.
SodexoMAGIC has been recognized and certified by numerous organizations including the National Minority Supplier Development Council (NMSDC). In 2011, SodexoMAGIC was a winner of the Southern California Minority Business Development Council award for Supplier of the Year. In 2016, SodexoMAGIC was named "Minority-Owned Business of the Year" at the Supplier Diversity Star Awards.