text:
\section{Introduction}
Recent research efforts are unlocking the huge potential of unmanned aerial vehicles~(UAVs) in different disciplines and industries including telecommunications, transportation, and security, among others. The value of UAV-based solutions to the telecommunications industry alone is estimated to be around 6.3~billion~USD~\cite{PwC}. UAV-mounted base stations serve as an attractive alternative to provide temporary wireless access to mobile users or sensor devices located in hard-to-reach areas, disaster regions with destroyed network infrastructure, or dense networks with intermittent surge in traffic demand. Recent United Nations and Red Cross reports consider UAVs among the most promising technologies during emergency response and disaster management~\cite{disMngmnt},~\cite{RedCross}, due to advances in their capabilities that include real-time imaging, wireless connectivity, rapid and flexible deployment, high-end computing, and remote sensing. The use of UAVs complements traditional operations in disaster relief by providing fast response especially to areas that impose high risk to victims and first responders~\cite{XZYL2016, Mur2016, SGBW2016, WCLY2017}, and complements other solution approaches for dealing with node failures in wireless cellular and sensor networks~\cite{KK10, YS14, SJ17}.

In this work, we consider the utilization of UAVs to augment the infrastructure of an existing wireless cellular system upon the occurrence of any event that leads to notable increase in connection outage, for example, concerts or exhibitions that attract a large number of participants in a given geographical location for a limited time period or natural disasters where one or more base stations become out of operation in a given affected area.

This, however, comes with major technical challenges that include, among others, determining the number of needed UAV-mounted base stations and their locations in a 3D search space while taking into account practical performance aspects such as energy consumption, cost and complexity.
To this end, we formulate the problem of 3D deployment of multiple UAVs as a mixed integer linear program assuming a grid composed of a finite set of possible locations over several vertical layers. We solve the optimization problem for special case scenarios due to its high complexity and present a corresponding greedy approach that is shown to achieve close-to-optimal performance. We then propose and evaluate a novel low complexity algorithm that allows a fleet of UAVs to be efficiently deployed in a given 3D space to provide connectivity to users who are not covered via the existing wireless network infrastructure.

The novelty of this work is two-fold: i.~the efficient deployment of a fleet of UAVs in a continuous 3D space whereas the related literature has focused mostly either on single UAV deployment in 3D space or multiple UAV deployment in 2D space (see Section~\ref{sec:related} for details); ii.~the solution approach of the proposed low complexity algorithm that is based on an analogy with electrostatic systems and field forces (see Section~\ref{sec:force} for details). This approach is inspired by research advances on devising supervised and unsupervised learning frameworks based on concepts from dynamic physical fields. The innovation lies in exploring analogies between data points and charged particles, subject to constraints and rules, with applications ranging from classification to clustering problems~\cite{RG09, BG11, SH13}; for example, the authors in~\cite{khandani2009novel} have utilized electrostatic field concepts in order to determine the centroids of data clusters with results demonstrating less sensitivity to noise compared to the standard k-means algorithm, and the authors in~\cite{HC09} have applied electromagnetic field theory concepts to the standard problem of clustering with user constraints. More recently, the authors in~\cite{UN18} have used electrical field dynamics to design optimal generative adversarial networks, which aim at generating synthetic data that cannot be discriminated from an existing training data set. In our work, we model users as fixed charged data points distributed over a given geographical area, and we model UAVs as oppositely charged data points that move dynamically until reaching a steady state in a continuous 3D space based on an electrostatic field composed of attraction forces between UAVs and users in addition to repulsion forces among UAVs.

In Section~\ref{sec:related}, we cover the related literature and highlight the main contributions of this work. Section~\ref{sec:model} provides the key components of the system model. Section~\ref{sec:formulation} presents an optimization formulation of the problem in addition to a close-to-optimal greedy solution approach with supporting performance results. Section~\ref{sec:force} describes the proposed low complexity  algorithm for traffic offloading using on-demand 3D deployment of multiple UAVs. Section~\ref{sec:results} presents performance results for various scenarios and highlights the effectiveness of the proposed algorithm. Finally, conclusions are drawn in Section~\ref{sec:conc}.

\section{Related Literature}
\label{sec:related}

Research interest in deploying UAVs as aerial base stations has been growing at a fast pace recently. In~\cite{7412759}, the authors consider two scenarios for using one UAV to cover a given area with uniform distribution of users in the presence of device-to-device communications. The first scenario assumes a static UAV placed at the center of the area of interest and the second assumes a mobile UAV that stops at designated points, called stop points, to provide coverage for the whole area. The authors model the problem as a disc covering problem to determine the number of discs that can fit within the target area, where stop points are selected as the centers of the resulting discs. In both scenarios, they calculate coverage probabilities and achievable system sum bit rates. The authors in~\cite{6564778} investigate the problem of assigning given UAVs as relay nodes to a set of users in wireless ad hoc networks and reformulate the problem as a quadratic unconstrained binary optimization problem. The solution associates each user to one UAV by minimizing the sum of distances between users and their assigned UAVs.

The authors in~\cite{7762053} propose a polynomial time algorithm to sequentially place UAV-mounted base stations in a spiral manner starting from the outer perimeter of the given area towards the center until all users are covered. Similarly, the authors in~\cite{7461487} demonstrate that UAV-mounted base stations outperform their static picocell counterparts as they can be positioned in a way to maintain direct line of sight with the served users; in order to position the UAVs in locations that complement an existing macrocell infrastructure, the authors propose an algorithm based on k-means clustering.  In~\cite{zhang2017optimal}, the authors address problems related to providing wireless coverage in emergency situations with focus on minimizing metrics related to UAV deployment delays. The authors first propose a low complexity algorithm in the case when all UAVs are dispatched from the same location; then, they extend their work to the more general case of having varying locations by reformulating the min-sum problem as a dynamic program and by proposing a polynomial time approximation scheme to solve it. The authors in~\cite{8046766} consider the problem of deploying a large mesh of UAVs to provide coverage to mobile users distributed in non-uniform densities; they propose a mechanism that starts with an initial deployment of UAVs forming equilateral triangles and then enables UAVs to relocate based on changes in user demand while minimizing the energy consumed in traveling to new positions. In~\cite{7972194}, the authors address the problem of deploying one UAV as a communications infrastructure between two static nodes; they determine the optimal position of the UAV based on the geographical location of the two nodes and their received signal strengths. Some of the papers surveyed in this paragraph address the problem of multiple UAV deployment, however, they assume a 2D search space with common height level for all.

The authors in~\cite{7510820} study the 3D placement of a single UAV to offload the maximum possible number of users from an existing base station. Further extensions on that work included deploying a single UAV to maximize the coverage of a set of users with different quality of service~(QoS) requirements~\cite{alzenad20173d}. In~\cite{ghanavi2018efficient}, the authors utilized a Q-learning technique to find a 3D position of one aerial base station in order to maximize the aggregate throughput of a terrestrial network while accounting for user mobility. In addition, the authors in~\cite{7417609} derive the optimal altitude of a single UAV to achieve maximum downlink ground coverage and minimum transmit power consumption; this latter work then investigates the optimal deployment of two UAVs to maximize coverage and determine the altitude of the UAVs as well as the distance separating them.

In light of the surveyed literature, the vast majority of the existing work considers UAV-mounted base stations to be positioned in a 2D plane, with more recent work considering positioning of one or two UAVs in a 3D space. In terms of problem definition, the key novelty of our work is the focus on {\it multiple} UAV deployment over a 3D continuous space taking into account performance and complexity aspects. In terms of solution approach, the key novelty is the proposed efficient low complexity algorithm based on the notion of electrostatic systems and field forces. In terms of application scenarios, the obtained results and insights apply to a wide range of scenarios where unplanned surge in traffic demand takes place due to either increase in user density (e.g., major gathering event) or failure of existing wireless network infrastructure (e.g., disaster event).

\section{System Model}\label{sec:model}

We consider a fleet of UAV-mounted base stations, denoted as aerial base stations (ABSs), that are dispatched by a network operator as soon as user demand cannot be handled by an existing cellular network infrastructure. We aim at identifying the minimum number of ABSs needed and their optimized 3D locations to provide efficient connectivity to a set of uncovered users. Fig.~\ref{fig:model} presents a sample system model that includes the existence of one terrestrial base station~(TBS) in addition to a number of ABSs to cover a dense area of users.

\par
\begin{figure}[t!]
\centering
\includegraphics[width=0.5\textwidth]{UAV_Diagram.png}
\caption{Example dense wireless network including one active TBS in addition to a set of ABSs dispatched to fill the coverage gaps resulting from the failure of two TBSs. }
\label{fig:model}
\end{figure}

We denote by $K_T$ the total number of users in the area and by $N$ the number of needed ABSs. Without loss of generality, we consider the existence of one TBS located in the center of the area, in order to demonstrate how UAVs can dynamically complement an existing cellular infrastructure in dense network scenarios. Due to limited resources, we introduce a capacity constraint $K_B$ on the maximum number of users that can be served by a TBS and a capacity constraint $K_D$ on the maximum number of users that can be served by a single ABS. Based on proper resource allocation, we assume the ABSs and the TBS operate at different frequency bands.

We consider the following path loss model for the TBS:
\begin{equation}
\mathrm{PL}_{B} =\frac{P_T}{P_R} = \kappa \left(\frac{d}{d_0}\right)^a,
\label{pathloss}
\end{equation}
where $P_R$ is the received power, $P_T$ is the transmitted power, $\kappa$ is the path loss constant, $a$ is the path loss exponent, $d_0$ is a reference distance, and $d$ is the distance in meters between a user and the TBS. As for the ABSs, we adopt the path loss model suggested in \cite{6863654} which depends on the height and angle formed with respect to the served user, resulting in the following line of sight~(LoS) probability:
\begin{equation}
p_{\mathrm{LoS}}= \frac{1}{1+\mu \cdot \exp\left(-\gamma\left(\arctan\left(\frac{h}{r}\right)-\mu\right)\right)}
\label{LoS}
\end{equation}
\noindent where $h$ and $r$ are the height and the horizontal distance between the ABS and the user, respectively. In addition, $\mu$  and $\gamma$ are constants that depend on the environment. The path loss between an ABS and a user can then be modeled as follows:
\begin{equation}
\begin{aligned}
\mathrm{PL}_{D}  ={} & \frac{P_T}{P_R} = 20\log\left(\frac{4\pi f_c}{c}\right) + 20\log\left(\sqrt{h^2+r^2}\right)\\
      & + p_{\mathrm{LoS}}\eta_{\mathrm{LoS}} + \left(1 - p_{\mathrm{LoS}}\right)\eta_{\mathrm{nLoS}},
\end{aligned}
\label{p2}
\end{equation}
\noindent where $f_c$ is the carrier frequency in Hz, $c$ is the speed of light in m/s, $\eta_{LoS}$ and $\eta_{nLoS}$ are, respectively, the losses corresponding to LoS and non-LoS connections depending on the environment.

\section{UAV Deployment Problem Formulation with Discrete Search Space}
\label{sec:formulation}

In this section, we formulate the problem of UAV deployment for traffic offloading and network recovery assuming a discrete search space with finite set  of $N_D$ possible locations.
The problem aims at two objectives: 1)~minimize the required number of ABSs in order to reduce cost to the network operator and 2)~deploy the ABSs in positions that maximize the received power for the served users in order to increase the download bit rate and enhance the overall network performance. Table~\ref{params-variables-table} summarizes the system model parameters and decision variables that are used in the problem formulation.

\begin{table}[]
\centering
\caption{System model parameters and variables}
\label{params-variables-table}
\begin{tabular}{|p{1.4cm} |p{6.6cm}|}
\hline
\rowcolor{Gray}
Parameters              & Description                            \\ \hline
$K_T$                   & Total number of users \\ \hline
$K_B$                   & Maximum number of users served by one TBS \\ \hline
$K_D$                   & Maximum number of users served by one ABS \\ \hline
$D$                     & Set of possible sites (ABS and TBS) \\ \hline
$N_D$                   & Maximum number of possible ABSs \\ \hline
$P_{k,i}$               & Power received at user $k$ from site $i$ \\ \hline
$\Gamma$                & Required SNR target \\ \hline
$\sigma^2$              & Thermal noise power \\ \hline
\rowcolor{Gray}
Variables               & Description \\ \hline
$N$                     & Number of needed ABSs  \\\hline
$\mathcal{A}$           & $K_T\times (N_D+1)$ association matrix between users and sites (ABS or TBS), $a_{k,i}$ is 1 when user $k$ is associated to site $i$ and is 0 otherwise. TBS is denoted as site 0. \\\hline
$b_i$                   & Binary variable that is set to 1 when an ABS is deployed at site $i$ and 0 otherwise \\ \hline
\end{tabular}
\end{table}

\par
\begin{figure}[t!]
\centering
\includegraphics[width=0.45\textwidth]{UAV_layers.png}
\caption{Possible locations of ABSs are represented as an array of 2D grids at multiple heights. As an example, selected positions to deploy UAVs are highlighted in bolder colors and the users are colored depending on the color of their serving UAV. Users colored in gray represent those out of coverage.}
\label{fig:UAV_grids}
\end{figure}

To formulate the problem over a 3D search space, the possible positions of ABSs are represented by multiple 2D grids placed at different heights and span the whole area of interest as depicted in Fig.~\ref{fig:UAV_grids}.
We introduce a binary decision variable $b_i$, for all $1\le i \le N_D$ to indicate whether an ABS is positioned at site $i$ on the grid, as follows:
\begin{equation}
    b_i=
    \begin{cases}
      1, & \text{if ABS is deployed at site i}\  \\
      0, & \text{otherwise}
    \end{cases}
\end{equation}

 Without loss of generality, we assume the presence of one TBS located in the center at site $0$ and, thus, $b_0 = 1$.  We also define $K_T\times(N_D+1)$ association matrix $\mathbf{A}$ where $a_{ki}$ is a binary variable indicating whether user $k$ is associated with the ABS at position $i$ if $1\le i \le N_D$  or with the TBS if $i=0$.

A user is considered in the coverage region of TBS and/or ABS if the received power at the user satisfies a minimum signal to noise ratio~(SNR) constraint. For a given transmission power of TBS/ABS, let $ \Gamma  $ represent the required SNR target to enable user $k$ to associate with site $i$. Thus,
\begin{equation}
    {P_{k,i}}\geq {\sigma ^2} \Gamma,
\end{equation}
\noindent determines the received power constraint at user $k$ so it can associate with site $i$, where $P_{k,i}$ is the received power level at user $k$ from site $i$ and $\sigma^2 $ is the thermal noise power.

Given the above, the problem can be formulated as a mixed integer linear program as follows:

\begin{IEEEeqnarray}{l}
	\label{obj_function}
	\displaystyle{\min_{\mathbf{A}}}   \displaystyle\sum\limits_{i=1}^{N_D} { \displaystyle\sum\limits_{k=1}^{K_T}{(\lambda b_i - P_{k,i} a_{k,i})}} \\
	\textrm{Subject to: } \nonumber \\
	\label{constraint_1}
	a_{k,i}\leq b_i ~~\substack{\forall i \in [1,N_D], \\
	\forall k \in [1, K_T]} \\
	\label{constraint_2}
	\displaystyle\sum\limits_{i=1}^{N_D} {a_{k,i}+a_{k,0}} \leq 1 ~~\forall k \in [1, K_T]\\
	\label{constraint_3}
	\displaystyle\sum\limits_{k=1}^{K_T} {a_{k,i}} \leq K_D ~~  \forall i \in [1,N_D]\\
	\label{constraint_4}
	\displaystyle\sum\limits_{k=1}^{K_T} {a_{k,0}} \leq K_B  \\
	\label{constraint_5}
	\displaystyle\sum\limits_{k=1}^{K_T} {\displaystyle\sum\limits_{i=1}^{N_D} {a_{k,i}}}+\displaystyle\sum\limits_{k=1}^{K_T} {a_{k,0}} \geq {(1-\beta)K_T} \\
	\label{constraint_6}
	P_{k,i}\geq a_{k,i}\sigma^2 \Gamma ~~\substack{\forall i \in [0, N_D], \\
	\forall k \in [1, K_T]}
\end{IEEEeqnarray}

The objective function in (\ref{obj_function}) minimizes the number of deployed ABSs and positions them in selected locations to enhance performance through maximizing the received power levels at the users, which maps directly to increasing the total network bit rate.
A configurable parameter $\lambda$ is introduced to control the balance between maximizing the network performance quality and minimizing the number of deployed ABSs. For example, when the value of $\lambda$ is small, the number of required ABSs would be high to achieve better network quality. Therefore, in our performance results, we have tested different values of $\lambda$ and selected a relatively large value to obtain desirable results with balance between cost (reflected by number of UAVs) and performance (reflected by network bit rate).

The first constraint represented in (\ref{constraint_1}) ensures that a user will only be linked to an available ABS. The second constraint in (\ref{constraint_2}) enforces each user to associate with only one site, either TBS or ABS. The third and fourth constraints in (\ref{constraint_3}) and (\ref{constraint_4}), respectively, guarantee that the number of users linked to each site (TBS or ABS) do not exceed the maximum capacity limits. The constraint in (\ref{constraint_5}) requires the total number of covered users to be at least ($1-\beta$) of the total number of users, where $\beta$ is the desired outage probability. Finally, the constraint in (\ref{constraint_6}) ensures a minimum SNR threshold for a user to associate with its serving site.

This problem resembles the capacitated facility location~(CPL) problem that  is known to be NP-hard~\cite{mihelic2004,farahani2010multiple,silva2007capacitated}. The CPL problem aims to pick $F$ facilities with capacity $X$ while minimizing the sum of distances between the demand points and corresponding facilities. We can map the CPL problem to our problem by setting $K_B$ and $K_D$ to $0$ and $X$, respectively, in addition to setting $\beta$ and $\Gamma$ to $0$ so we consider all demand points and minimize the sum of distances. Therefore, it would be highly complex to solve the formulated optimization problem except for small scale scenarios. To deal with this, we present next a greedy approach and demonstrate its ability to generate close-to-optimal results with much lower computational complexity.

\subsection{Greedy Approach}

In this section, we present a greedy approach for UAV deployment composed of two phases that can achieve results close to the solution of the optimization problem in~(\ref{obj_function}). The aim of this approach is to develop a close-to-optimal benchmark to evaluate the performance of the low complexity algorithm proposed in Section~\ref{sec:force} in relatively large scale network scenarios.

The first phase, referred to as \textit{selection phase}, determines the minimum number of needed ABSs. The second phase, referred to as \textit{association phase}, finds the best locations to position the ABSs in a way to maximize the received power level at the users. The solution also accounts for the capacity constraints of the TBS and ABSs.
The selection phase starts by assigning all uncovered users to the nearest available site whether TBS or ABS and then computes a score for each site $i$ based on the following function:
\begin{equation}\label{eq:score}
 \frac{\displaystyle\sum\limits_{k\in {V_i}} { P_{k,i}}}{|V_i|}-\frac{P_0}{|V_i|},
\end{equation}

\noindent where $ {V_i}$ is the set of users within the coverage range of site $i$, $|V_i|$ denotes the cardinality of ${V_i}$, and $P_0$ is the power received over a given reference distance. This score function attempts to order sites according to the average received power of users within their respective coverage area. Starting with the site having the highest score, its corresponding $|V_i|$ users are eliminated from the list of uncovered users as long as the site capacity constraint is maintained. The process repeats for the next sites in decreasing order of scores  until the outage probability constraint is met or the list of uncovered users becomes empty. Algorithm ~\ref{algorithm} describes the various steps of this phase.

\begin{algorithm}
\caption{Greedy Approach: Selection Phase}
\label{algorithm}
\begin{algorithmic}[1]
\State $\bf{Input:}$
\State $D\gets Set \hspace{1 mm} of \hspace{1 mm} all \hspace{1 mm} possible  \hspace{1 mm} sites \hspace{1mm} (ABSs \hspace{1 mm} and \hspace{1 mm} TBS) $
\State $U\gets Set \hspace{1 mm} of \hspace{1 mm} all \hspace{1 mm} users \hspace{1 mm}  $
\State $\bf{Output:}$
\State $M\gets Set \hspace{1 mm} of \hspace{1 mm} selected \hspace{1 mm} sites$
\Procedure{Selection\textendash Phase}{}
 \State $min\_coverage\gets (1-\beta)K_T$
 \State $users\_covered\gets 0$
\State $V_i\gets Set \hspace{1 mm} of \hspace{1 mm} users\hspace{1 mm} within\hspace{1 mm} coverage\hspace{1 mm} of\hspace{1 mm} site\hspace{1 mm} i \gets \Phi$
\State $M\gets \Phi$
\While{ ( $users\_covered$ \textless $min\_coverage$ )}
  \For{each $i \in D$}
		\If{  ($i \hspace{1mm} not\hspace{1 mm} used )$ }
		\State $calculate\hspace{1mm} score \hspace{1mm} S_i\hspace{1mm} of\hspace{1mm} i \hspace{1mm} according\hspace{1mm} to \hspace{1mm} \eqref{eq:score}$
        \EndIf
  \EndFor
\State $P\gets site \hspace{1 mm} with \hspace{1 mm} highest \hspace{1 mm} score$
\State $M\gets M \cup P  $
\State $V_P\gets \Phi  $

\For{each $u \in U$}
		\If{  ($|V_P| \geq \hspace{1 mm} capacity \hspace{1 mm} of \hspace{1 mm} P $ ) }
	    \State break
        \EndIf

	    \If{  ($u$ is within coverage range of $P$ ) }
	      \State $U\gets U-u  $
	      \State $V_P\gets V_P \cup u   $
        \EndIf
\EndFor

\State $users\_covered\gets users\_covered + |V_P| $

\EndWhile
\break
\Return $M$
\EndProcedure
\end{algorithmic}
\end{algorithm}

\begin{algorithm}
\caption{Greedy Approach: Association Phase}
\label{algorithm2}
\begin{algorithmic}[1]
\State \bf{Input:}
\State $U\gets Set \hspace{1 mm} of \hspace{1 mm} all \hspace{1 mm} users \hspace{1 mm}  $
\State $M\gets Set \hspace{1 mm} of \hspace{1 mm} selected \hspace{1 mm} sites$
\State \bf{Output:}
\State $All\hspace{1 mm} sets \hspace{1 mm}V_m$ \State $V_m\gets Set \hspace{1 mm} of \hspace{1 mm} users\hspace{1 mm} associated\hspace{1 mm} to\hspace{1 mm} site\hspace{1 mm} m, \hspace{1 mm} where \hspace{1 mm} m \in M$
\Procedure{Association\textendash Phase}{}
\For{each $m \in M$}
		\State $V_m\gets \Phi  $
\EndFor
\For{each $u \in U$}
	\State $m\gets closest \hspace{1 mm} ABS, \hspace{1 mm} to\hspace{1 mm} user\hspace{1mm}u \hspace{1mm}(if\hspace{1mm} capacity\hspace{1mm}is \break\indent\hspace{3 mm} not\hspace{1mm} exceeded)$
		 \State $V_m\gets V_m \cup u   $
		 \State $U\gets U-u  $
\EndFor
\EndProcedure
\end{algorithmic}
\end{algorithm}

Upon completing the selection phase, the minimum number of ABSs is determined. The second phase works on associating users to the selected ABSs based on received power level in order to maximize the network bit rate. This continues until the capacity constraint of each site is reached. The association phase is summarized in Algorithm~\ref{algorithm2}.

In order to demonstrate the effectiveness of the presented greedy approach, we solve the formulated optimization problem in~(\ref{obj_function}) using Matlab's branch and bound optimization toolbox and compare the optimal results to the greedy solution for several scenarios. We use the same system parameters presented in Section~\ref{sec:results} assuming $K_T=200$~users in $100m\times100m$ area.
Fig.~\ref{fig:RateVsABS} reflects the improvement in user performance as a function of the number of possible ABS locations $N_D$. This figure demonstrates similar behavior between the optimal solution and the greedy approach. Increasing the number of possible ABS locations, however, leads to larger search space that eventually impacts the execution time to generate the optimal solution as demonstrated in Fig.~\ref{fig:TimeVsABS}.

\begin{figure}[t!]
	\centering
	\includegraphics[width=0.53\textwidth]{RateVsDc}
	\caption{Average bit rate in Mbps for the greedy approach compared to the optimal solution, as a function of the number of possible ABS locations.}
	\label{fig:RateVsABS}
\end{figure}

\begin{figure}[t!]
	\centering
	\includegraphics[width=0.53\textwidth]{TimeVsDC}
	\caption {Execution time of the optimal solution versus the  greedy approach as a function of the number of possible ABS locations.}
	\label{fig:TimeVsABS}
\end{figure}

The two-phase greedy approach is shown to be an efficient alternative to generate near-optimal results with low complexity for relatively large network scenarios. In Fig.~\ref{fig:RateVsUsers}, the number of possible ABS locations is fixed to six and the number of users is increased within the given geographical area. As the number of users grows, the average user bit rate drops as expected and both solutions, optimal and greedy, exhibit relatively close performance.

\begin{figure}[t!]
	\centering
	\includegraphics[width=0.53\textwidth]{RateVsUsers}
	\caption{Average bit rate in Mbps for greedy approach compared to the optimal solution, as a function of the number of users assuming six possible ABS locations in $100m\times100m$ area. }
	\label{fig:RateVsUsers}
\end{figure}

\section{UAV Deployment Algorithm Based on Electro- Static Forces With Continuous Search Space}
\label{sec:force}

The problem formulation in Section~\ref{sec:formulation} assumes a finite set of possible locations on a grid for deploying ABSs. In practice, however, UAVs can hover in continuous 3D space and can stop at any position that provides enhanced network performance. In this section, we propose a novel and effective algorithm for UAV deployment in 3D continuous space based on the notion of electrostatic systems with repulsion and attraction forces.

Based on the adopted system model, we aim at deploying the least number of ABSs to offload traffic from an existing TBS whenever a sudden increase in traffic demand occurs. We  utilize an unsupervised learning approach based on electrostatic forces to make ABSs park at optimized spots.

To apply the law of electrostatics, we assign positive dynamic charges to ABSs and fixed negative charges to users.
Hence, forces among ABSs are repulsive so they tend to get away from each other while they get attracted to users, being carriers of opposite charges. Repulsive and attractive forces are calculated according to Coulomb's Law that quantifies the force between two electrically charged points.
Based on the assigned charges, a repulsive force forms between two ABSs, $i$ and $j$, as follows:
\begin{equation}
    \vec{F}_{d_i,d_j}=\frac{Q_{d_i}Q_{d_j}}{T^2}\dfrac{\vec{c}_{d_i}-\vec{c}_{d_j}}{||\vec{c}_{d_i}-\vec{c}_{d_j}||},
    \label{drone_force}
\end{equation}

\noindent where $Q_{d_i}$ and $Q_{d_j}$ denote charges of ABS $i$ and ABS $j$, respectively, $\vec{c}_{d_i}$ and $\vec{c}_{d_j}$ denote their coordinate vectors in 3D space, and $T$ denotes the distance between them. As for the attractive force $\vec{F}_{d_i,u}$ that exists between an ABS $i$ and a user $u$, it is similarly calculated using charge $Q_u$ assigned to each user $u$ and its coordinate vector $\vec{c}_u$.

The total force exerted on each ABS is then evaluated as the summation of forces generated by each of the other ABSs in addition to forces generated by the users. Hence, the force applied on each ABS $d_i$ is calculated as follows:
\begin{equation}
    \vec{F}_{d_i}=\sum\limits_{d_j \in D, j \neq i}\vec{F}_{d_i,d_j} + \sum\limits_{u \in U}\vec{F}_{d_i, u}.
    \label{drone_all}
\end{equation}

As stated earlier, users are assigned static negative charges while ABSs are assigned dynamic positive charges. We set each user charge $Q_u$ to 1 and each ABS charge to $Q_{d_i}$ which is regularly updated inversely proportional to the associated number of users. To this end, ABSs with larger number of users generate weaker attractive force to new users enabling load balancing among ABSs. Thus, the charge assigned to ABS $i$ is evaluated in terms of the number of users associated with it as follows:
\begin{equation}
    Q_{d_i}=\frac{\alpha}{k_i+1},
    \label{charge}
\end{equation}
\noindent where $\alpha$ is a value between $0$ and $1$ and $k_i$ is the number of users associated with ABS $i$.

Assigning virtual electric charges causes an electric field to form between ABSs and users, and among ABSs. The ABSs would approach users due to opposite charges and repel from each other due to similar charges. They keep on moving in the space until electrostatic equilibrium is achieved leading to fixed locations in 3D space; equilibrium is achieved when minimal change is observed over multiple iterations. The ABSs are assumed to move in certain step sizes where the direction in which they move is calculated according to the sum of forces exerted on each of them. Using a pre-configured fixed step size, the new coordinate vector of an ABS at time $\tau+1$ is calculated as follows:
\begin{equation}
    \vec{c}_{d_i}^{\,\tau+1}=\vec{c}_{d_i}^{\,\tau}+\eta\frac{\vec{F}_{d_i}}{||\vec{F}_{d_i}||},
    \label{position}
\end{equation}
\noindent where $\eta$ is the step size and $\tau$ is the time iteration index.

\begin{figure}[t!]
	\centering
	\includegraphics[width=0.53\textwidth]{AltitudeVsRate}
	\caption{Average bit rate for different ABS heights.}
	\label{fig:Bh}
\end{figure}

The altitude of a given ABS impacts network performance due to existing trade offs. For example, Fig.~\ref{fig:Bh} demonstrates how the height at which the ABS is deployed affects the achieved user bit rate. Higher altitude leads to better bit rates due to the increase in coverage area. However, as the altitude exceeds a certain level, the achieved bit rate starts to drop as the received power level weakens notably due to channel path loss. In order to limit the 3D continuous search space, we bound the possible height between minimum and maximum levels within which individual ABSs can be placed. The minimum height is determined by assuming all available ABSs are in operation to cover the given area. As the height at which an ABS is deployed increases, the coverage area increases due to improved line of sight but then starts to drop due to weakened received signal strength. The maximum height is calculated in a way for a single ABS to cover the largest area based on the selected path loss model. In Fig.~\ref{fig:hh}, we vary the number of available ABSs and plot the minimum and maximum heights at which they can operate assuming an urban environment.

\begin{figure}[t!]
\centering
\includegraphics[width=0.53\textwidth]{DCVsAltitude}
\caption{ Minimum and maximum ABS heights in an urban environment assuming $100m\times100m$ area. }
\label{fig:hh}
\end{figure}

Fig.~\ref{fig:flowchart} and Algorithm~\ref{algorithm2d} describe the complete operation of our proposed 3D positioning algorithm based on electrostatic forces, referred to as Force3D hereinafter. Fig.~\ref{fig:flowchart} depicts the sequence of steps taken by Force3D to find the best position that each ABS parks at. Initially, the minimum number of ABSs is launched randomly on one plane positioned at the minimum height. ABSs and users are assigned their charges and ABSs relocate as per Algorithm~\ref{algorithm2d}, and then the resulting user outage is evaluated. Additional ABSs are launched until the outage probability drops below the set target level. Afterwards, the algorithm moves the plane of ABSs between the minimum and maximum heights until it achieves the best average user rate. In our implementation, we used binary search to search for the best height but other implementations are also possible. Next, we lock the users associated with every ABS and move the ABS vertically to search for the position that provides the best average rate to the associated users. This latter process is repeated for all ABSs independently. At that point, each ABS is positioned at a different height in the 3D space. Finally, Algorithm~\ref{algorithm2d} is executed as a final step to refine the 3D positions based on repulsion and attraction forces depending on the allocated charges. It is worth noting that Algorithm~\ref{algorithm2d} keeps all ABSs on the same plane if they so started.

\begin{figure}[t!]
\centering
\includegraphics[width=0.51\textwidth]{FlowChart2.png}
\caption{Proposed Force3D algorithm flowchart. }
\label{fig:flowchart} \vspace{0.4cm}
\end{figure}

\begin{algorithm}[t!]
\caption{Placement Algorithm for Multiple UAVs Based on Electrostatic Forces}
\label{algorithm2d}
\begin{algorithmic}[1]
\State $\bf{Input:}$
 \State $D\gets Set \hspace{1 mm} of \hspace{1 mm} N \hspace{1 mm} ABSs$
 \State $U\gets Set \hspace{1 mm} of \hspace{1 mm} users $
\State $\bf{Output:}$
 \State $C\gets Set \hspace{1 mm} of \hspace{1 mm} coordinate\hspace{1 mm} vectors\hspace{1 mm} of\hspace{1 mm} all\hspace{1 mm} ABSs$
\Procedure{Placement Algorithm}{}

\While{ ( Equilibrium not achieved )}

  \For{each $i \in D$}
  		\State $k_i\gets 0  $ {\hspace{1mm}//initial number of users associated to \break\indent\indent\indent\indent ABS $i$}
  		\State $Q_{d_i}\gets 0  ${\hspace{1mm}//initial charge of ABS $i$}
        \State $\vec{F}_{d_i}\gets \vec{0}  $ {\hspace{1mm}initial force applied on ABS $i$}
		\While{($k_i$ \textless $K_D $ )}
		    \State {associate nearest user $u$ to ABS $i$}
		    \State $U\gets U-u  $
	        \State $k_i\gets k_i + 1   $
		\EndWhile
	    \State $Q_{d_i}\gets \frac{\alpha}{k_i+1}   $

  \EndFor
\For{each $i \in D$}
\For{each $v \in D \cup U$}
  		\State $\vec{F}_{d_i}\gets \vec{F}_{d_i} + \vec{F}_{d_i,v} $
	  \EndFor
  \EndFor

  \For{each $i \in D $}
	\State $\vec{c}_i\gets \vec{c}_i + \eta \frac{\vec{F}_{d_i}}{||\vec{F}_{d_i}||}  $
  \EndFor

\EndWhile
\break
\Return $C$
\EndProcedure
\end{algorithmic}
\end{algorithm}

\section{Simulation Results and Performance Analysis}
\label{sec:results}

In this section, we generate and analyze simulation results to study the behavior of the proposed Force3D algorithm as compared to the greedy approach presented in Section~IV.A and to recent related work from the literature. A wide range of simulations are conducted with averaging over large-enough number of iteration assuming the system parameters presented in Table~\ref{tab:constants_used}.

\begin{table}[t!]
	\caption{System parameters for simulation results}
	\centering
	\begin{tabular}{ |l|l| }

		\hline
		Parameter      & Value \\
		\hline
		TBS transmit power $P_B$      & 20 Watts\\
		ABS transmit power $P_D$      & 5 Watts\\
		TBS maximum capacity $K_B$      & 50\\
		ABS maximum capacity $K_D$      & 20\\
		path loss constant $\kappa$   & -30 dB\\
		path loss exponent $a $   & 4 \\
		reference distance $d_0$      & 1 m \\
		thermal noise power $\sigma^2$ & $10^{-6}$ Watts \\
		SNR threshold $\Gamma$ &  2 dB \\
		carrier frequency $f_c$ &  2.5 GHz \\
		$\mu$ & 9.61 \\
	    $\gamma$ & 0.16 \\
	    $\eta_{LoS}$ & 1 \\
	    $\eta_{NLoS}$ & 20\\
	    $\eta$ & 0.4 \\

		\hline
	\end{tabular}
	\label{tab:constants_used}
\end{table}

In Fig.~\ref{fig:3d}, the proposed Force3D algorithm with varying UAV heights is compared to the optimized solution generated by the greedy approach with fixed UAV heights (represented by the parameter $h_0$ in meters). It is shown that the ABS height plays a major role in the overall network performance. We also compare with the the greedy approach assuming ABSs are placed at varying heights (denoted as \textit{multiheights}); as expected, this achieves better rates than when all ABSs are positioned at the same height for the same number of possible locations.

Our proposed Force3D algorithm resulted in higher bit rates than the greedy approach  with fixed heights for all cases, even when the number of possible UAV locations grew to as high as 100 over the given limited geographical area. The \textit{multiheight} case led to slightly better results than Force3D starting from 50 possible UAV locations; this demonstrates that the proposed low complexity Force3D algorithm can achieve results that are close to optimized solutions.

\begin{figure}[t!]
	\centering
	\includegraphics[width=0.53\textwidth]{DcLocationsVsRate2}
	\caption{Average user bit rate achieved by the proposed Force3D algorithm compared to the close-to-optimal greedy approach.}
	\label{fig:3d}
\end{figure}

Fig.~\ref{fig:nmDrone} presents the needed number of ABSs with respect to the available number of users. Again, Force3D achieves close results compared to the greedy approach with multiple heights, and better results than the greedy approach when all ABSs are placed at the same height.

\begin{figure}[t!]
	\centering
	\includegraphics[width=0.53\textwidth]{DCsVsUsers}
	\caption{Average number of ABSs required to cover the users in the given geographical area.}
	\label{fig:nmDrone}
\end{figure}

\subsection{Performance Comparison with Existing Work from the Literature}

In this subsection, we compare the performance of our proposed Force3D algorithm with recent work published in~\cite{7762053}  that also aims to minimize the number of UAV-mounted base stations to cover a given area. The approach in~\cite{7762053} uses a polynomial-time algorithm that places UAVs sequentially in a spiral manner starting from the area perimeter towards the center until all ground users are covered. We note here that the approach only works on two dimensional placement of the ABSs and, thus, it will be referred to \textit{Spiral2D}.

\begin{figure}[t!]
	\centering
	\includegraphics[width=0.52\textwidth]{UsersVsRateUniform}
	\caption{Average user bit rate for Force3D versus Spiral2D and Spiral3D assuming uniform distribution of users over the given area.}
	\label{fig:compareUniform}
\end{figure}

\begin{figure}[t!]
	\centering
	\includegraphics[width=0.53\textwidth]{UsersVsRateDense}
	\caption{Average user bit rate for Force3D versus Spiral2D and Spiral3D assuming non-uniform distribution of users with dense hot spots over the given area.}
	\label{fig:compareDense}
\end{figure}

\begin{figure}[t!]
	\centering
	\includegraphics[width=0.53\textwidth]{complexity}
	\caption{Average execution time comparison for Force3D versus Spiral3D as a function of the number of users.}
	\label{fig:compareComplexity}
\end{figure}

Fig.~\ref{fig:compareUniform} compares the performance of our proposed Force3D approach with Spiral2D for varying number of users uniformly distributed in an area of $100m\times100m$. Force3D consistently achieves around 67\% increase in average bit rate as compared to Spiral2D. To make a fair comparison, we have modified the implementation of Spiral2D to operate in a 3D search space similar to Force3D; yet, Force3D is shown to achieve better bit rates. The performance gap is further amplified in areas with dense hot spots (non-uniform user distribution) as shown in Fig.~\ref{fig:compareDense}, where the percentage bit rate increase is almost 72\% compared to Spiral2D and 33\% compared to Spiral3D.

We have also compared the complexity of Force3D versus Spiral3D by monitoring the execution time in seconds on the same desktop with a given set of input parameters. Results are shown in Fig.~\ref{fig:compareComplexity} as a function of the number of users; they demonstrate that the Force3D algorithm is notably more efficient than Spiral3D in terms of execution time. In summary, the proposed Force3D algorithm achieves favorable performance in terms of both performance and complexity.

\section{Conclusions}\label{sec:conc}
We addressed the problem of deploying a fleet of UAV-mounted base stations to cover users in a dense network for the purposes of traffic offloading and/or network recovery. We formulated the problem with 3D discrete search space as a mixed integer program and proposed a greedy approach that achieves close-to-optimal results. Then, we developed and evaluated a novel, effective and low complexity algorithm based on the notion of electrostatic forces to position aerial base stations in 3D continuous search space. Extensive simulation results are presented to demonstrate the effectiveness of the proposed algorithm compared to the greedy approach and to recent related work from the literature. The performance results included evaluation of both network bit rates and execution time complexity, for several scenarios with uniform and non-uniform distribution of users.

redpajama_set_name: RedPajamaArXiv


It's already familiar to us that real progress happens when we are prone to leaving our comfort zone. And challenging yourself to do that has become something of a set rule.
Wanting to believe this, we are getting in terms that it must be done.
And it soon becomes clear that only by challenging yourself, and making that stretch far and wide, can you achieve real success no matter what aspect of life involved.
Successful people always go for the next challenge, setting the bar higher than the one before. Many of them realized that it's the only way to step out and make progress.
And the thing that I just recently realized is that this behavior didn't happen overnight. It's rather an act of persistence and habit.
They've trained their mind to constantly set challenges, and they've become good not only at picking the next challenge, but also completing it and growing alongside with it.
The truth is that we all challenge ourselves from time to time. But that alone isn't enough, you see.
Even from an early age we are being taught to set a realistic goals, challenge ourselves only to the extent of staying in our comfort zone.
And when realism and challenging yourself come together, we are very limited in what we can achieve.
Challenging yourself only within the frame of what is achievable at this moment, will never make you change; for better or for worse.
What is real to you now in terms of goal setting, is only equivalent to your present capabilities. And setting your goals depending on present capabilities, means that you don't intend to change, to improve.
Therefore, your challenges must by way out there, seemingly unrealistic at the time being. Only then you will step out of your comfort zone in a resolute manner, reaching further than you were used too.
So how should we challenge ourselves?
This one is simple really. You just need to set the bar higher than what you usually prefer. Then we are talking about real progress.
I for example like to set goals for myself that seem pretty much unrealistic, as others would say. But then, knowing that "being realistic" is what gives birth to mediocrity, this shouldn't bother you. It doesn't bother me, at least.
And challenging myself only led to improvement.
Like for example, when I challenged myself to complete two months of the workout program Insanity; run the 5k under 20 minutes; write 5 guest posts in 5 days; get accepted to post on Problogger; get up early for a month; have abs like Ryan Reynolds; read two books a weak, and so on.
Did I achieve everything? – Of course not. At least Reynolds still has better looking abs than me, at the time of writing this post.
My point is, that challenging yourself to do more, you are only setting the bar higher – and the higher the bar, the wider the stretch. Therefore, bigger the improvement you get.
Setting higher standards means that you will push yourself more. Usain Bolt didn't set the world record because he was going for a realistic time – but because he was aiming for the unachievable. It's like that in many aspects of life.
Challenging yourself more will only reveal to you qualities you didn't know you had.
Let the others be realistic, and you aim for what you think is the best for you, and see how things will turn out.
The good thing is that you will never be satisfied with mediocrity any more. And that alone is a huge success. It's a shift of mindset, if you will, that changes everything, the whole game in fact.
Aiming to reach for more, will usually get you there.
Another thing that will radically change is your perception. Challenging yourself for more, will change the picture you have about yourself, and you will start to see yourself already there, already changed, for way better.
This will also give your self-esteem an injection similar to nothing before. Convincing yourself that you will conquer the challenge, will indeed make you believe it. And then your self-esteem and self-confidence will go through the roof.
Other people will also notice this and give you more respect since you have higher standards now. That's something everyone admires. That's why I say it proud that I'm a self-improvement junkie. You and I both know what that means.
We constantly challenge ourselves in everyday situations. But, it's knowing where to set the bar that will improve our capacities.
Challenging yourself in what other people would consider unrealistic, will make you stretch more, making your way to better results.
Having Reynolds's abs may never happen, but having that as a standard, you will work harder, be more persistent, and with it achieve better results and improvement.
The comment section is right below, so tell me what are the things for which you are challenging yourself?
i challenge myself but then i give up that challenge very easily the next second and become lazy again. how can i always stay on track to complete the challenge ?
It is normal to go back to your comfort zone, and that should never discourage you. However, after each set-back just try starting again, and starting small. Running each morning at five o'clock is hard to adopt as a habit altogether. But when you start small and condition yourself to get up early first, then condition yourself to run every day just a bit, you can start putting the habit together. It is like that with everything else.
Many times I challenged myself for some thing to achieve what in my normal sense and even for others, as they used to express, was beyond my control. Best example is when I was diagnosed Leukemia in 2003. From docs to every one having given up the hope, I stood differently and said I will not die. I challenged myself. I had a very rigorous but successful and comfortable treatment and came out of it. Of course my wife also fully participated and we had together decided.
What I realized, because I challenged myself I was fighting hard during my very difficult times of the treatment and took it positively. When some one is in a difficult situation not because he took it as a challenge, he or she finds it not acceptable. It makes him worried and a sense of rejection comes. A negative sense of approach creeps in. I saw it during my treatment for many other patients and it was also the reason that some of the very healthy physically strong patients could not survive even the very first kemo.
Thanks for amazing advices. I know what it feels like to challenge yourself and feel great achieving your goals, but there's also might be a problem – you can, how to say, 'work yourself to death'. Therefore one must find a balance between working and resting.


Oyster wants to be the Netflix of books, with an iPhone app that offers unlimited access to a library of 100,000 titles for $9.95 a month.
The comparison is inevitable, so let's just get it out of the way: Oyster, the new iPhone app, wants to do for books what Netflix did for movies and Spotify did for music.
Very simply, you pay $9.99 a month, for which not-inconsiderable sum, you get to download books from publishers like HarperCollins, Melville House, Houghton Mifflin Harcourt and Workman. Forbes says an iPad app is coming soon.
The subscription is not cheap, but the app is very attractive. And while it already has 100,000 titles, not every publisher has yet signed on. Continually adding titles will surely figure into Oyster's sustained success.
The app does make finding books easy....The home screen functions like a digital bookstore browsing table, highlighting the bold covers of editor-curated titles and enticing readers with accolades and reviews...Reading a book on Oyster is a distinctly digital experience, and yet, it doesn't feel soulless or straining in the way reading on a screen often can be.
Oyster's social sharing capacities are also garnering some early praise. GigaOm, in yet another highly laudatory review, says that "the social features don't overwhelm the app, and you can ignore them if you want to."
I have my doubts as to whether it will succeed. The doubts aren't related to the app. The whole experience might be wonderful. It's just that nobody in publishing seems to like the Netflix/Spotify model, because the authors wouldn't make enough from it.
The app is currently only available by invitation, in the way of all cool things digital.


Lyme disease or Lyme borreliosis is the most prevalent arthropod-borne disease of animals and humans in the temperate regions of the northern hemisphere1. Risk of infection in humans is primarily associated with occupation (e.g. forestry work) or outdoor recreational activities.
Recent surveys show that the overall prevalence of Lyme disease may be stabilizing, but its geographical distribution is increasing. There are foci of Lyme borreliosis in forested areas of Asia, north-western, central and eastern Europe, and the USA. According to the CDC, Lyme disease is the most commonly reported vector borne disease in the United States. It is most commonly diagnosed in the northeast and upper Midwest, especially Wisconsin and Minnesota. However, Lyme disease is spreading geographically, especially into Virginia and the southeastern United States. The CDC estimates that about 300,000 Americans are diagnosed with Lyme disease each year, afflicting sufferers with flu-like symptoms. If not treated with antibiotics, the infection can cause inflammation of the joints and it can affect the heart and nervous system.
AS I write this I have a sense of déjà vu.
Public health professionals as far back as the 6th ECTMIH conference , which I attended, recognised that very little was being done in Europe to address mass migration (at that time from Sub-Saharan Africa). Travel medicine specialists were refocusing their research onto migration and asking why this was not being reflected in travel medicine text books and journals.
"Does anyone ever ask if migrants suffer from diarrhoea?" asked Manuel Corachan [CRESIB, Spain], one of the plenary lecturers at the conference.
At that time, Italy (conference host) was bearing the brunt of illegal migration. The conference debated the needs of illegal migrants to Italy, the importance to public health in the host country of giving them access to health services and of having an awareness of disease prevalence & cultural attitudes in the migrant's home country. In 2011, the organisers of ECTMIH , the Federation of European Societies for Tropical Medicine and International Health (FESTMIH) devoted the entire conference to "global change, migration & health".
But this foresight was not just ethically driven, it was in expectation of mass migration into Europe due to climate change.
What we are now seeing, less than 6 years later, headlining our daily news and social media is a trial run for what is to come. What was previously perceived as a problem arising out of climate change has hit the EU earlier than might have been anticipated because of people fleeing conflict and dictatorship.
Compelling evidence of cheese-making has been uncovered in prehistoric pottery sieves found in the Kuyavia region in Poland by researchers from Great Britain, Poland and the United States. The study has just been published online in Nature journal on 12 December 2012.
An abundance of milk fats was detected in these specialized pottery vessels, comparable in form to modern cheese strainers, suggesting that humans have been making cheese in Europe for at least 7,500 years. There is a possibility that cheese was made even at earlier times using other materials such as cloth or wooden cheese strainers, but these materials are more perishable and difficult to detect as archeological material.


text:
22-Oct-2014 22-Oct-2014 ConcordiaStCatharines News
Culture Clash: A One Day Conference on "Militant Secularism"
More than 50 guests attended the conference
What is a believer to do when surrounded by a host of –ism's seeking to silence and to undermine historic Christian faith and teachings? What should churches do when they find themselves on a collision course with sweeping cultural changes affecting mindset, morals and the meaning of life? Should believers and their churches try to coexist peacefully? Withdraw from the world? Change the world?
These were some of the issues considered at a one-day conference at Concordia on
LCC President Robert Bugbee welcomes guests
Thursday, 16 October. Representatives of Lutheran Church–Canada (LCC), the Lutheran Church–Missouri Synod (LCMS), and the Anglican Church of North America (ACNA) reflected on "Militant Secularism: Its Cause, Cost and Cure." Special thanks to Terry Bodnar of FI Capital for sponsoring the event.
The presenters were Dr John Stephenson from Concordia, retired Anglican Bishop Donald Harvey from Newfoundland, Dr Joel Lehenbauer from the LCMS Commission on Theology and Church Relations, and Dr Jonathan Riches from the Reformed Episcopal Seminary in Blue Bell, Pennsylvania.
Panel Discussion (l to r): Jonathan Riches, Joel Lehenbauer, +Donald Harvey, John Stephenson
During the presentations and panel discussion it became clear that the 1960s were the pivotal years. This was a time when secularists seemed to be making progress, perhaps, as Bishop Harvey noted, because they encountered too little resistance from Christians. Dr Stephenson noted that those growing up during this era might rightly be considered victims as well as products since they were often deprived of insights and experiences common in former generations. Nevertheless, Dr Lehenbauer pointed out, there is still hope. Perhaps at no other time has North American culture so closely approximated the days of the early church. Then, and we pray now, the indifference and increasing hostility directed at the Christians provides a stimulus for Christian witness and renewal. Dr Riches further underscored the importance of churches and Christians not becoming too complacent or too quietistic, but daring to continue confessing Jesus Christ as Lord.
The full programme can be see here. Video recordings are available on our YouTube channel. The lectures are also available to download in audio format:
Greying Canadians & Americans Today: Products & Victims of the 1960s (John Stephenson)
She's Gone, Boy … She's Gone (Donald Harvey)
Jesus as Culture Warrior? A Cross-shaped Strategy for Being Church in a Hostile Culture (Joel Lehenbauer)
Culture of Want, Culture of Ruin? (Jonathan Riches)
More photos can be seen here.
Fasting and Feasting – New Wineskins for New Wine
Harvest Day 2014: Oh Sing to the Lord an Old Song?

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Three.js Error loading 2 mesh with and without morphTargets Loaded the model without morphTargets initially and cloned the geometry.
Using webworker read the file containing morphTargets alone and converted as THREE object using this code
i = timeStep;
dstVertices = [];
srcVertices = morphTargets.vertices;
for (v = 0, vl = srcVertices.length; v < vl; v += 3) {
    var vertex = new THREE.Vector3();
    vertex.x = srcVertices[ v ];
    vertex.y = srcVertices[ v + 1 ];
    vertex.z = srcVertices[ v + 2 ];
    dstVertices.push(vertex);
}
geo.morphTargets.push(dstVertices);
timeStep += 1;

On later stage created the new geometry included vertices and faces from the cloned geometry and dstVertices as morphTargets.
Removed the previously created mesh from the scene and added the newly created mesh containing morphTargets.
console is throwing this error:
Uncaught TypeError: Cannot read property '52' of undefined
    at setMeshBuffers (three_70.js:18797)
    at updateObject (three_70.js:21142)
    at THREE.WebGLRenderer.renderBuffer (three_70.js:19970)
    at renderObjects (three_70.js:20681)
    at THREE.WebGLRenderer.render (three_70.js:20544)
    at animate (index1.php:70)

Can anyone guide me where I am going wrong?

A: I assume you parsed a graphic file and you were trying to create webgl objects in web worker. I faced the same kind of problem while I was parsing 3d file and initiating WebGL's objects with using web worker. First, I got errors like yours then I realized each web worker has own scope. So, I passed(postMessage) the values into my main.js who triggered the web worker and then I was ready to define the objects on main.js's onmessage method.
You can post your v, v+1 and v+2 values by using postmessage method and you can create your three verctor object in where you defined and called your web worker.
What I am trying to say is that you shouldn't init the three.vectors object in web worker because it is hard to handle. Don't forget web worker supports simple object transfers on postmessage. Therefore, you should try to make it simple. Don't try to post three.vector object while using postmessage.

redpajama_set_name: RedPajamaStackExchange


While Pulau Tekong is an island familiar to many in Singapore as home to the Basic Military Training Centre (BMTC), what is less known is the island's importance for wildlife.
Realising this, researchers from the Lee Kong Chian Natural History Museum and the National Institute of Education compiled a checklist with notes on the freshwater fishes, amphibians, reptiles, and mammals of Singapore's largest natural offshore island.
Freshwater fish and herpetofauna of Pulau Tekong. Photos by contributors (see paper).
In all, 18 species of freshwater fishes, 15 amphibians species, 45 species of terrestrial reptiles, and 31 species of terrestrial mammals were recorded. Some species such as the Kuhl's gliding gecko (Ptychozoon kuhli), and brown tube-nosed bat (Murina suilla) are known from Singapore only from Pulau Tekong.
Additionally, several nationally rare and threatened species such as the Jasper's cat snake (Boiga jaspidea), leopard cat (Prionailurus bengalensis) and Sunda slow loris (Nycticebus coucang) are also present, or are thriving on the island.
Snakes and mammals of Pulau Tekong. Photos by contributors (see paper).
Pulau Tekong's use as a restricted military area appears to have also served to conserve wildlife on the island well. It is hoped that substantial areas of natural vegetation is maintained, and that its rich biodiversity is taken into consideration for any development planning. This will help insure the survival of the island's interesting and nationally threatened fauna.
Lim, K. K. P., M. A. H. Chua & N. T-L. Lim, 2016. Freshwater fishes, terrestrial herpetofauna and mammals of Pulau Tekong, Singapore. Nature in Singapore, 9: 165–198.


text:
John Frederick James Hydon[1]
1916 - Yes, date unknown Submit Photo / Document
Name John Frederick James Hydon [2, 3]
Hosiery Trimmer
102 Wellinger Way
Father John E. Hydon
b. 9 Aug 1891
Mother Leah Isaacs
b. 27 Sep 1892
Registration Between 1 Oct 1913 and 31 Dec 1913 Leicester, Leicestershire, England [4]
Family Hazel Lee
Married 1941 St. Andrew's Church, Aylstone, Leicestershire, England [2]
Registration Between 1 Apr 1941 and 30 Jun 1941 Blaby, Leicestershire, England [5]
3. Robert John Hydon
b. 12 Jun 1946, Leicester, Leicestershire, England
d. 6 Apr 2002, Leicester, Leicestershire, England (Age 55 years)
Occupation - Hosiery Trimmer - 29 Sep 1939 - Leicester, Leicestershire, England
Residence - 102 Wellinger Way - 29 Sep 1939 - Leicester, Leicestershire, England
Registration - Marriage Registration - Between 1 Apr 1941 and 30 Jun 1941 - Blaby, Leicestershire, England
1939 Register: Household for John E. HYDON (96374)
Reference The Williams Family Tree. "John Frederick James Hydon". The Williams Family Tree. https://williamsfamilytree.co.uk/tree/getperson.php?personID=I91343&tree=wft (accessed January 15, 2021).
[S9846] Haydon, Sue. Phone conversation by Phil Williams, 5 Apr 2016. ..
[S10553] FindMyPast. "1939 Register." Database and images.. FindMyPast. http://search.findmypast.co.uk/search-world-records/1939-register., (http://search.findmypast.co.uk/search-world-records/1939-register : accessed 6 Apr 2016); Household for John E. HYDON (96374)..
[S8519] FreeBMD. "England & Wales, FreeBMD Marriage Index, 1837-1915," database, FreeBMD . (http://freebmd.org.uk/cgi/search.pl), accessed 6 Apr 2016), Marriage Registration for John E. HYDON (96374) and Leah ISAACS (96375); Dec 1913; Leicester, Leicestershire; Volume 7a, Page 525..
[S8559] "England & Wales, Marriage Index, 1916-2005," database, Ancestry . (http://search.ancestry.co.uk/search/db.aspx?htx=List&dbid=8753&offerid=0%3a7858%3a0), accessed 25 May 2015), Marriage Registration for John F. J. HYDON (91343) and Hazel LEE (91344); Apr-May-Jun 1941, Blaby, Leicestershire, Volume 7a, Page 130..


text:
California Robbery Laws
Created by FindLaw's team of legal writers and editors | Last updated May 16, 2018
The crime of robbery describes the use of force or intimidation to take personal property from another person's immediate presence. To prove the offense of robbery in California, a prosecutor must establish:
That the defendant intentionally used force or intimidation to cause fear. California robbery law requires the use of at least some force in order to distinguish robbery from larceny. While use of a weapon may seem most straightforward, other means of intimidation may also qualify.
At the time of the robbery, the victim feared an unlawful injury to himself or herself or others or to the property involved. If the victim was unaware of the crime, the prosecutor may not be able to establish the elements of robbery, although the offense of theft or larceny could still apply. As an example, if Don takes Veronica's cell phone from her purse while riding the subway and she did not see him do it, Don probably committed larceny rather than burglary.
The property was taken in the victim's immediate presence. The property does not have to be on the victim's person or body. California courts have issued several decisions regarding the circumstances that qualify as property taken from the victim's immediate presence. In general, it is sufficient that the personal property had been within the victim's physical presence or within the victim's sight or hearing.
That the defendant attempt to escape with the taken property.
California state laws create two types of robbery -- first degree and second degree. First degree robbery occurs if:
The offense takes place in a home, an inhabited dwelling, or the inhabited part of a building or vessel;
The victim was on the job as a transit operator or taxi driver; or
The victim was a patron using an automated teller machine or in the immediate vicinity of the ATM.
The state charges second degree robbery for all robberies that do not meet the definition of first degree robbery.
California Penal Code Section 211 (defining robbery)
California Penal Code Section 213 (punishments for robbery)
Possible Penalties
First degree robbery is punishable by 3, 4, or 6 years imprisonment. If a robbery includes conspiracy and takes place in a home or other inhabited dwelling, it can be punishable by 3, 6, or 9 years imprisonment.
Second degree robbery is punishable by 2, 3, or 5 years imprisonment.
Defenses can include:
No intent/mistake of fact
Claim of right (the defendant has a bona fide claim of ownership to the property or title)
See Robbery Defenses for more details.
Robbery Overview
California Theft/Larceny Law
Charged With Robbery? Contact an Attorney Today
To be convicted of robbery, the prosecution must show the presence of certain conditions. Some of these can depend on such things as the defendant's intent or whether the victim felt intimidated, aspects that can be hard to establish in some cases. Get in touch with an experienced California criminal defense attorney in your area today to learn more.


Bill Crawford, pictured above, was a quiet and low-profile janitor who worked in Colorado Springs as a janitor at the Air Force Academy. Most people never noticed him as he would typically clean up after the messy cadets while they were in class or sleeping. He was faithful to his job and left the place spotless. While he may have been soft spoken and went around unnoticed he was harboring a secret for years that no one knew of.


From the rich natural beauty of Acadia National Park, to the French infusion of Quebec City, to the fascinating American history of Provincetown and Boston, your cruise exploration of New England and its northern neighbor is about to get a lot better with Windstar Cruises. With our fantastic cruise deals for Windstar Cruises to Canada and New England you can enjoy the rolling hills, historic architecture, and fresh seafood without breaking the bank.
Our amazing Windstar cruise specials to Canada and New England are more than just cruise savings; they create memories for you and your family. Featured below are some of our spectacular Canada and New England cruise deals for Windstar Cruises. Don't hesitate, call us today!


Continental Fan's AXC-ES in-line centrifugal duct fans.NOT ENERGY STAR qualified. Provide improved efficiency, while quiet operation.
Continental Fan's AXC-ES in-line centrifugal duct fans. NOT ENERGY STAR qualified. Provide improved efficiency, while quiet operation.


text:
#include <aws/mgn/model/DataReplicationError.h>
#include <aws/core/utils/json/JsonSerializer.h>

#include <utility>

using namespace Aws::Utils::Json;
using namespace Aws::Utils;

namespace Aws
{
namespace mgn
{
namespace Model
{

DataReplicationError::DataReplicationError() :
    m_error(DataReplicationErrorString::NOT_SET),
    m_errorHasBeenSet(false),
    m_rawErrorHasBeenSet(false)
{
}

DataReplicationError::DataReplicationError(JsonView jsonValue) :
    m_error(DataReplicationErrorString::NOT_SET),
    m_errorHasBeenSet(false),
    m_rawErrorHasBeenSet(false)
{
  *this = jsonValue;
}

DataReplicationError& DataReplicationError::operator =(JsonView jsonValue)
{
  if(jsonValue.ValueExists("error"))
  {
    m_error = DataReplicationErrorStringMapper::GetDataReplicationErrorStringForName(jsonValue.GetString("error"));

    m_errorHasBeenSet = true;
  }

  if(jsonValue.ValueExists("rawError"))
  {
    m_rawError = jsonValue.GetString("rawError");

    m_rawErrorHasBeenSet = true;
  }

  return *this;
}

JsonValue DataReplicationError::Jsonize() const
{
  JsonValue payload;

  if(m_errorHasBeenSet)
  {
   payload.WithString("error", DataReplicationErrorStringMapper::GetNameForDataReplicationErrorString(m_error));
  }

  if(m_rawErrorHasBeenSet)
  {
   payload.WithString("rawError", m_rawError);

  }

  return payload;
}

} // namespace Model
} // namespace mgn
} // namespace Aws

redpajama_set_name: RedPajamaGithub


The CNC milling machine cutting the sample part with the ball end-mill and toggleclamping Windmill logo - vector Mill, windmill, ear wheat, bread symbol.
WE NEED YOU! If you enjoy working with kids and want to give back to your community -please consider joining the Mill Creek Little League Board of Directors.
The P&ID symbol library in AutoCAD electrical includes equipment, tanks, nozzles, Select to place the ball mill in the upper left corner of your drawing.
Ball Mill at Amazon - Buy Ball Mill at Amazon!
Pro Tips - August 2010 Surface Roughness A face mill will leave a different type offinish than a ball mill surfacing a complex shape.
Ball Mill Raymond Mill Coarse Grinding Mill. XSM supply individual (Flow Diagram SymbolsFor Grinder) crushers and mills as well as spare parts of them.
Advice for using ext. reach ball endmills in AL I'm surface milling all these areaswith a 4fl 3mm reduced shank ball end mill, The symbol for aluminum is Al.
See a rich collection of stock images, vectors, or photos for ball mill you can buy onShutterstock. Explore quality images, photos, art & more.


I went through a period, starting about six years ago, when I constantly knew someone who was pregnant. As soon as one friend had a baby, I would hear from another friend that she was expecting. For the most part, these were also good friends, whom I wanted to do something special for. So during that same period, I was constantly working on a baby blanket.
I love making baby blankets. They are such great projects for sitting on the couch, catching up on TV or watching a movie, crocheting away as a soft blanket takes shape. I've done a different pattern for every blanket I've made, not just so that each gift is unique but also because I really enjoy trying out a new pattern.
This striped star is one of my favorites. I really don't like stripes in general, because they involve weaving in so many ends, but I think this one was worth it. I unfortunately only have the pattern copied out of one of my mom's pattern books, so I'm not sure where it's from. Many of my friends with babies live far away, so I usually ship them the blanket, but I got to deliver this one in person while visiting my friend. That was the best, seeing her enjoy the gift and cozying right up with it herself.
Pattern unknown; I think the yarn is Caron Simply Soft Eco, which I can't find online, so it may be discontinued. I'm going to try to keep track of my projects better!
This entry was posted in Crochet and tagged afghan, baby, Caron. Bookmark the permalink.
Beautiful blanket! Looks like a really big granny star.


text:
Our program is run by generous volunteers from the University of Maryland and beyond. Contact us if you would be interested in future event organization, speaking, or volunteering.
Sarah Burnett is a 4th year PhD candidate in the AMSC program. She learned about Girls Talk Math from one of the founders and mentor, Dr. Francesca Bernardi, and volunteered full-time at their program at the University of North Carolina at Chapel Hill (UNC) in 2017. In 2018, she started a sister chapter at the University of Maryland at College Park (UMD) with the help of Cara Peters. For the past two years, Sarah has been directing the program. In 2019, she lead curriculum development at UMD to tailor the material to the interests of undergraduate and graduate students who make up the most involved volunteers. She has created material on dynamical systems and intends to make more accessible inquiry-based packets. Along with directing this program she has mentored numerous students interested in STEM, lead physics demonstrations for diversity events, and volunteers at Maryland Day.
Konstantina Trivisa
Prof. Trivisa is a joint professor of the Department of Mathematics and the Institute for Physical Science and Technology (IPST). She was also selected as ADVANCE Professor and Leadership Fellow at the University of Maryland for her work on issues of diversity and inclusion.
Rodrigo Treviño
Prof. Treviño is a professor of the Department of Mathematics. He has advised in the curriculum development for the program at Maryland. He is currently working on establishing a Diversity and Inclusion Committee for the Department of Mathematics.
Dan Lathrop
Prof. Lathrop is a joint professor of Physics and Geology, affiliate of Electrical and Computer Eng and Mechanical Engineering and member of IREAP and IPST. Along with leading lab tours for the program and volunteering at Maryland Day, he has mentored local students interested in STEM.
2019: Sarah Burnett and Cara Peters
University Library Resources
We graciously thank the support and participation we get from the library and media resource staff. Particularly, we like to thank Lealin Queen for the instructions on how to brainstorm and technically record a podcast. Also, for preparing the facilities and advising on podcasting. We also thank our STEM librarians Jodi Coalter and Sarah Over for their instructions on how to edit Wikipedia pages and how to properly conduct research of our famous mathematicians.
Founders of Girls Talk Math
Cara Peters (UMD), Francesca Bernardi (UNC), Sarah Burnett (UMD), and Katrina Morgan (UNC).
Girls Talk Math
girlstalkmath@umd.edu


text:
The 2010 Euroleague Final Four was the concluding EuroLeague Final Four tournament that determined the winner of the 2009–10 Euroleague season. It was held at the Palais Omnisports de Paris-Bercy, Paris, France on May 7 and 9, 2010. The contestants were four former EuroLeague champions, and three of the previous year's EuroLeague Final Four teams CSKA Moscow, Olympiacos, Regal FC Barcelona, plus new entry Partizan Belgrade. Barcelona won their second EuroLeague crown, beating Olympiacos 86–68, in the final.

Venue
The Palais Omnisports de Paris-Bercy, often abbreviated as POPB or Bercy, is an indoor sports arena in the 12th arrondissement of Paris, France. Opened in 1984, and with a seating capacity of 15,603, it had hosted three EuroLeague Final Fours before 2010, in 1991, 1996, and 2000.

Bracket

Semifinals
All times are in Central European Summer Time.

Semifinal 1

Semifinal 2

Third place game

Final

External links
 Official Site

Final Four
2009–10
2009–10 in Greek basketball
2009–10 in Russian basketball
2009–10 in Spanish basketball
2009–10 in Serbian basketball
2009–10 in French basketball
International basketball competitions hosted by France
Basketball in Paris

redpajama_set_name: RedPajamaWikipedia


Colop Expert 3400. Max size: 58x27mm. One day delivery.
Colop eXpert Line 3400. This long lasting stamp is made of a metal frame (minimum 80% steel) for frequent and long-lasting use. Personalised text/logo imprint. The ink pad is easily replaceable and the text plate can also be changed if needed/desired.


After years of lobbying by banks and credit card firms, MPs and regulators have caved in. They've decided to protect banks rather than consumers from the enormous cost of decades of fraudulent conduct, specifically the mis-selling of PPI. Nobody will raise an eyebrow because they are 'spinning' the legislation, convincing everyone that this is all aimed at protecting CONSUMERS. Make no mistake, this is all about protecting BANKS.
The Financial Guidance and Claims Bill has just completed it's progress through the House of Lords and will soon become an Act of Parliament and when it does, it will be banks, not consumers, who will cheer the loudest. This comes fast on the heels of the 'time bar' recently introduced by the FCA, prohibiting any new PPI claims from being filed after August 2019. This has been on the cards since George Osborne ousted the top man at the FCA, Martin Wheatley.
Capping Fees – surely that's a good for consumers?
The Financial Guidance and Claims Bill seeks to do two significant things. It is capping the fees that Claims Management Companies and Law Firms can charge for the work they do on PPI claims. It is also banning those firms from charging any 'upfront fees'.
Now most consumers might be tempted to think, 'Surely that is a good thing'? That is exactly how MPs, regulators and banks are presenting this, the consumer being 'protected' from the 'excessive fees' charged by greedy PPI claims management companies.
As the Managing Director of a Claims Management Company, let me explain just how this industry works and why it's days are now numbered.
The typical fee we charge is 25% plus VAT of whatever money we recover for you. All the PPI cases we work are processed on a 'NO WIN NO FEE' basis. That means, we might do months of work and pay out significant sums or our own money to the banks to gather data on your behalf but in the end, we might not be able to get you ANY money back, and therefore all that work will have been done for FREE!
Currently around two out of every five people who become clients of JMP Partnership either weren't sold any PPI, or it was sold so long ago that we can't locate any data about it or recover the premiums paid. At the end of the process those 'NO PPI' clients get a letter to say that we have been unable to locate any mis-sold PPI and therefore, because we work on a 'NO WIN NO FEE' basis, there is no charge for our service. Our typical 'NO PPI' client costs us about £300 but it can be as high as £500.
Then there is a category of client for whom we do locate and recover mis-sold PPI, but only a small amount, say under £500. We make no money at all from this category of client, they typically cost us about £200 each. They account for a further 30% of JMP Partnership clients.
Then there are the clients for whom we recover 'significant sums', anything from £1000 to £100,000. This category accounts for only about 30% of the people we do work for. The fees charged to this category cross subsidises the work we do at a loss for thousands of other clients.
Now you may think, why don't we just charge a fixed fee for every financial institution a client has been with, say £150 per claim? As the picture below, taken straight off our Management Database shows, out of over 20,000 accounts worked on in the last few years, only 2103 resulted in the client receiving a refund that was 'billable'. If we charged a small fixed fee per claim, 70% of clients, those who received no refund or only a very small refund, would have paid us substantial sums and been worse off. Yes, those who got the biggest refunds would have saved thousands, but many of them would have been put off making a claim in the first place, fearful of a bill from us if we recovered no money for them.
Even if that model was practical, and people were prepared to pay a 'fixed fee' irrespective of the outcome of their claim, it is now going to be unlawful to charge upfront fees or fees in excess of 20% of the sum recovered due to this legislation.
WHAT DOES THE FUTURE HOLD FOR the CMC INDUSTRY?
In early 2018 many Claims Management Companies will close their doors for the last time, unable to swallow the cost of all the 'NO PPI' cases once 'success fees' are capped at 20%. In the last 3 years almost 900 CMCs have surrendered their authorisation and closed their doors. The number of new applicants to the market has fallen from 304 just 3 years ago to 107 in 2016/17. Of the 107 new applications for authorisation in 2016/17, 25 were withdrawn during the application process. There are now LESS CMCs working on PPI claims than there has ever been, 674 as of 2017 down from 847 just 3 years ago. Overall, the turnover of CMCs is down by more than £200 MILLION per year since it's peak in 2013*. This was NOT a healthy industry before these changes were brought in. These changes are designed to deal the industry a fatal blow. The question has to be asked, why is Parliament so keen to kill an industry that employs tens of thousands of people and pays BILLIONS in tax to HM Treasury?
Could the answer to that question be simple or am I just cynical? Have donations to the Conservative Party from bankers and hedge fund managers influenced policy? According to this story in the Independent, since the 2015 general election 18.6 per cent of all donations to the party – totalling £8.4m – have come from hedge funds or people associated, while 6.5 per cent or £2.9m have come from investment bankers and the finance sector in general. He who pays the piper apparently does call the tune?
Disaster for Consumers – Massive Boost for Bankers?
Many people will tell you that CMCs are just parasites, that consumers can and should bring their own PPI complaints and not involve these 'PPI claims companies'. If this industry has no value, then why should we cry if it is driven to the wall? After all, the advice of the respected consumer organisation WHICH? is 'do it yourself, don't use a CMC?.
The industry regulator prevents me from saying that consumers get better outcomes if they use the services of a CMC as against doing it themselves, so I have to be very careful about how I communicate WHY I think the service our firm provides is worth every single penny. Because we are effectively gagged from telling you what we really think, I will show you an ACTUAL real life example of the work we did for a couple recently and let YOU decide for yourself if you could have done this? If you could, then by all means, you don't need the services of a CMC?
Back in 2014 Mr & Mrs C contacted Lloyds Bank to raise a complaint. They were concerned that their small business might have been caught up in the PPI mis-selling scandal. In response to their concerns' Lloyds wrote back in May 2014 saying they had not been sold any PPI on their accounts.
You were NOT sold PPI by us!
Here is a letter to us from Lloyds confirming that they told Mr & Mrs C in 2014 they had NOT been sold PPI?
In 2017 Mr & Mrs C heard about the success JMP Partnership was having, getting refunds for Lloyds customers .
Following our involvement this is the FIRST offer Mr & Mrs C got from Lloyds in June 2017. A refund of of over £10,200 of PPI (Commercial Overdraft Repayment Insurance or 'CORI') sold to our clients in 1992 and apparently cancelled in 1993.
One month later, following further investigations and receipt of further data, they decided we were right and BLRI had been mis-sold to Mr & Mrs C.
Another offer, over £5,100 of Business Loan Repayment Insurance.
That wasn't the end of it. As part of our processes, we paid to get statements on ALL our clients' accounts with Lloyds, business & personal. We spotted payments that we suspected related to another product that was often mis-sold by Lloyds – Accident Protection Insurance.
In October 2017 Mr & Mrs C got their third refund, over £8,000.
But this STILL isn't the end of their story. When Lloyds provided Mr & Mrs C's personal current account statements we realised immediately that these clients had been paying PBA fees for over 17 years. We didn't believe that this sort of account was at all useful to Mr & Mrs C so we complained that it too had been mis-sold'.
Despite already being paid over £26,000 in refunds from Lloyds, we continued to investigate. I personally sat and went through every transaction on 16 years of current accounts statements, statements that we'd paid Lloyds to get. That's when we discovered something almost unbelievable. On their personal current account statements we found that the premiums for the CORI (see the £10,000 refund above) that the bank claimed had stopped being paid in 1993, were still being paid, from the client's personal account, right up to 2006. This case is now with the Financial Ombudsman Service and Mr & Mrs C are expecting another refund, of many thousands of pounds, very soon. If 13 months of CORI resulted in a refund of over £10,000 but the clients had actually been paying for this policy for 14 YEARS, the next refund is going to be a HUGE refund.
UPDATE: 9.12.17 I said in the above paragraph that these clients were waiting for an update following our challenge to the calculations on their CORI case. We disagreed with the calculations and we sent the case to the Financial Ombudsman Service. Today Lloyds made an ADDITIONAL OFFER and here it is, a FURTHER £23,493.71. It was actually in the clients account a few days before we received this letter!
But guess what, we still don't agree with this offer and the case remains 'live' at the FOS. Why might you ask, what is wrong with it? Well for starters it makes no mention of the fact that these clients were paying overdraft arrangement fees every year, to arrange an overdraft they wouldn't have had or needed if they hadn't been sold over £50,000 of policies and products that were completely unsuitable for these clients.
So now we will be arguing for a refund of those arrangement fees as they were a consequence of Lloyds mis-selling all these policies and products. We expect that refund to be thousands of pounds more in due course.
In the words of Basil Fawlty – 'THIS IS TYPICAL'.
If this was a one off, it wouldn't justify consumers always using CMCs. The reality is, we see cases like this all the time. Almost every week we see cases where banks say 'NO PPI' or 'UNABLE TO LOCATE' and after further detailed investigation, the client gets thousands of pounds refunded to them. This is why banks like Lloyds want the CMC industry closed down. They know that most consumers are just like Mr & Mrs C. When consumers write a letter of complaint and their bank tells them that they have no record of PPI being mis-sold to them, most consumers accept that response, just as Mr & Mrs C did for 3 years. CMCs like JMP Partnership know that responses like this are often wrong.
What does the future hold for JMP Partnership?
We're just a small family business. We employ 15 people and we currently recover millions of pounds for our clients every year. We only get paid if we are successful recovering money for our clients. But that will all have to change in early 2018. Currently we will pursue ANY PPI CLAIM against any financial institution on a NO WIN NO FEE basis. As of 1st February 2018 we will not be able to do that. We will be moving to a completely new business model and many of the banks that we previously pursued claims against will no longer be pursued.
Take Blackhorse (part of the Lloyds Banking Group) for example. The uphold rate, i.e. the number of complaints that result in a refund as a proportion of the number of claims we investigate, is very low compared to some firms. This is simply because many Blackhorse PPI policies were sold many years ago and are not at all easy to 'track down'. That doesn't mean that they DIDN'T mis-sell millions of pounds of PPI, they certainly did. A recent refund paid to one of our clients by Blackhorse was over £3100. But for every complaint we investigate and raise that results in a refund like this, we work thirty Blackhorse cases that result in either no refund at all or a relatively small refund. So very soon, we will tell our clients that all the 'difficult cases' like Blackhorse PPI complaints, can no longer be worked on by our firm. Most CMCs will make the same decision, of that I have little doubt. Firms like Blackhorse will avoid refunding MILLIONS of pounds to consumers due to this change in the law and it seems nobody realises that will be the end result of this ill-thought out legislation.
We will continue to work on cases that have a better than 20% chance of resulting in a refund to the consumer, and we will start the process now of moving away from PPI claims altogether. In the boardrooms of big banks like Lloyds, champagne corks will be popping as they see the imminent end of an industry that has prised many billions of pounds out of their vaults and deposited it in the hands of consumers.
Parliament very rarely intervenes in the market these days. The rent you pay isn't regulated, nor the cost of the food you buy or the petrol you put in your car. Why then is Parliament seeking to intervene in this market?
If you think this legislation is a disaster for consumers, you can contact your MP and ask him to read this analysis before he or she votes to make this legislation law.


We do not encourage violence of any form, all characters are fictitious and mainly made of fruit. No animals were hurt in the making of this game, we only test on humans.
Definitely recommend this game!!! Just make sure not to play it at work or school because it is highly addictive!!


text:
Q: Faye Websocket Ruby not working as expected I am trying to use haproxy to load balance my websocket rack application.
I publish message in channel rates using redis-cli and this succeeds puts "sent" if ws.send(msg)
The client does receive the 'Welcome! from server' message so I know the initial handshake is done.
But, the client never receives the published message in channel 'rates'.
web_socket.rb
require 'faye/websocket'

module WebSocket
 class App
   KEEPALIVE_TIME = 15 # in seconds

def initialize(app)
  @app     = app
  @mutex = Mutex.new
  @clients = []
  # @redis   = Redis.new(host: 'rds', port: 6739)
  Thread.new do
    @redis_sub = Redis.new(host: 'rds', port: 6379)
    @redis_sub.subscribe('rates') do |on|
      on.message do |channel, msg|
        p [msg,@clients.length]
        @mutex.synchronize do
          @clients.each do |ws|
            # ws.ping 'Mic check, one, two' do
            p ws
            puts "sent" if ws.send(msg)
            # end
          end
        end
      end
    end
  end
end

def call(env)
  if Faye::WebSocket.websocket?(env)
    # WebSockets logic goes here
    ws = Faye::WebSocket.new(env, nil) # {ping: KEEPALIVE_TIME }
    ws.on :open do |event|
      p [:open,  ENV['APPID'], ws.object_id]
      ws.ping 'Mic check, one, two' do
        # fires when pong is received
        puts "Welcome sent" if ws.send('Welcome! from server')
        @mutex.synchronize do
          @clients << ws
        end
        p [@clients.length, ' Client Connected']
      end

    end
    ws.on :close do |event|
      p [:close, ENV['APPID'], ws.object_id, event.code, event.reason]
      @mutex.synchronize do
        @clients.delete(ws)
      end
      p @clients.length
      ws = nil
    end
    ws.on :message do |event|
      p [:message, event.data]
      # @clients.each {|client| client.send(event.data) }
    end
    # Return async Rack response
    ws.rack_response
  else
    @app.call(env)
  end
  end
  end
  end

My haproxy.cfg
frontend http
  bind *:8080
  mode http
  timeout client 1000s
  use_backend all
backend all
  mode http
  timeout server 1000s
  timeout tunnel 1000s
  timeout connect 1000s
  server s1 app1:8080
  server s2 app2:8080
  server s3 app3:8080
  server s4 app4:8080

Chrome dev tools

Please help me!!!
EDIT:
I have tried Thread running in Middleware is using old version of parent's instance variable but this does not work.
As mentioned earlier.  The below code succeeds
puts "sent" if ws.send(msg)

A: Okay, After a lot of searching and testing.. I found that the issue was with not setting a ping. during websocket initialization in the server.
Change this
ws = Faye::WebSocket.new(env, nil) # {ping: KEEPALIVE_TIME }
to
ws = Faye::WebSocket.new(env, nil, {ping: KEEPALIVE_TIME })
My KEEPALIVE_TIME is 0.5 because I am making a stock application where rates change very quickly. You can keep it per your needs.


This is a family of 10-12 species of aquatic and marsh herbs in one widely distributed genus (Mabberley 1987).
Calcium oxalate needle crystals (raphides) are known to occur in at least two species -T. angustifolia; T. latifolia (Prychid & Rudall 1999); according to Aplin (1981), this represents a dermatological hazard. Also, the abundantly-produced pollen, which may become airborne (Wodehouse 1971), is used in Chinese traditional medicine as a haemostat.
According to Nadkarni (1976), the woolly soft inflorescence of T. angustifolia is used like cotton wool (see Gossypium L.) as a local dressing to wounds and ulcers. By his reference to the common name "elephant grass", Nadkarni (1976) may actually have been referring to Typha elephantina Roxb., an Indian species.
Quisumbing (1951) records that the woolly inflorescence is used in the Philippines for healing wounds, probably acting as a mechanical haemostatic. The root and lower stem is used in the Eastern Cape, South Africa to prepare an infusion for use as an external wash for wounds (Grierson & Afolayan 1999).
Anon (1975) reported that the dried and cooked pollen of this species acts as a blood coagulant - see also Typha orientalis below.
A widespread papular eruption occurred in workers who contacted the plant. The bites of Chilacis typhae were incriminated on circumstantial evidence (Balogh 1965).
Pu Huang, the dried pollen from this species and also from T. angustifolia L., is recognised in Chinese traditional medicine as a haemostat (Huang 1993).


text:
Dinner With Don: Legacy Comedy Series Stars Don Rickles
Watch Dinner with Don episodes below and subscribe to AARP's YouTube channel for all our videos.
AARP Presents 'Dinner with Don'
A unique legacy video series honoring beloved comedian Don Rickles
by Robert Love, Editor in Chief, AARP The Magazine, September 25, 2017 | Comments: 0
THE FIRST TIME I ever heard the words "hockey puck" deployed as an insult, they were delivered by comedian Don Rickles. His voice dripping with mock derision, as in, "What are you looking at, you hockey puck?" It was such a durable comic taunt that it traveled with him from 1950s nightclubs to his turn as Mr. Potato Head's voice in the Toy Story movies.
The original insult comic, Rickles was usually introduced with a wink as "Mr. Warmth," his entrance music a bullfighter's trumpet fanfare. He was fearless. He publicly taunted the biggest bulls in America—Frank Sinatra, Dean Martin and Ronald Reagan among them—and left them all howling. He called Martin Scorsese a midget and told Robert De Niro he mumbled—to their faces! How Rickles managed to walk this line and stay funny and relevant until age 90 is one of the great mysteries of show business.
Rickles passed away in April, but as a parting gift, the comedian left us a YouTube series called Dinner with Don, 13 episodes that feature chats over dinner with talented younger artists and celebs—Snoop Dogg, Jimmy Kimmel, Sarah Silverman, Amy Poehler, Paul Rudd, Marisa Tomei and others. AARP Studios coproduced the series, and you can watch each episode below or on AARP's YouTube channel.
Watch 'Dinner with Don'
Episode: Jimmy Kimmel
Episode: Snoop Dogg
Episode: Amy Poehler
Episode: Zach Galifianakis
Episode: Paul Rudd
Episode: Sarah Silverman
Episode: Billy Crystal
Episode: Rich Eisen
Episode: Vince Vaughn
Episode: Marisa Tomei
Episode: Jonathan Silverman
Episode: Judd Apatow
Episode: Martin Scorsese and Robert De Niro
PHYSICALLY WEAK yet as sharp as ever, Rickles gave and got with wit, humor and humility. "As soon as 'Action' was called, you could see his body expand with energy," recalls Bobby Bauer, the director and executive producer of the Dinner with Don series.
Rickles developed the idea for the show with his longtime manager, Tony Oppedisano, who says the format wasn't all that different from the comedian's day-to-day life: "Everyone in Hollywood wanted to pick Don's brain. He was like the unofficial psychologist to celebrities."
For AARP Studios VP Jeffrey Eagle, the decision to make the series was easy. As soon as he heard about the concept, he says, "We knew we had to make this show! Turns out those dinner guests were the last on-camera costars of Don's indelible career."
The truth is, the meals often turned into love fests—a bit of a twist, considering the outrageous roasting Rickles had given so many of his celebrity friends over the years. "Everyone appreciated the chance to sit down and honor Don," Bauer notes. "He had colored all their careers. Everyone got to tell Don how much he meant to their lives. We were all very moved by it."
For More 'Dinner with Don'
Learn more about the making of the 'Dinner with Don' series
Our unique legacy video series honoring beloved comedian Don Rickles
What press and people are saying about 'Dinner with Don'
Community Forum: What do you miss most about Don Rickles and his humor?
The series was produced by AARP Studios, Winbrook Entertainment and Stamper Lumber Company.