text:
\section{Introduction}
\label{report:into}

Moire effects appear when two repetitive patterns interfere with each other. In the case of digital photography of screens, moire patterns occur when the screen's subpixel layout interferes with the camera's color filter array (CFA).  The moire pattern is detrimental to image quality, resulting in repetitive banding artifacts obscuring detail and corrupting the appearance of the image. Moire artifacts vary in both frequency and amplitude, but even subtle moire patterns can diminish the fidelity and perceptual quality of an image.

To address this issue, demoire methods \cite{sun2018moire, liu2018demoir, gao2019moire} seek to remove moire patterns to reveal an underlying clean image. Example-based image demoireing relies on prior examples in the form of moire and moire-free image pairs. In this context, demoireing can be cast as an image restoration problem addressable through supervised machine learning, in particular, deep learning. However, to train and evaluate a deep demoire network, it is necessary to have sufficient training data. In this paper, we propose a new synthetic dataset called \emph{LCDMoire} consisting of 10,200 synthetically generated image pairs (moire image, and clean ground truth). This dataset was created as part of the demoire challenge~\cite{AIM19demoireMethods} that was part of the \emph{Advances in Image Manipulation} (AIM\footnote{\url{http://www.vision.ee.ethz.ch/aim19/}}) workshop, held in conjunction with ICCV 2019.

This paper makes two contributions. First, we introduce the LCDMoire dataset, and describe it in terms of its composition and how it was created. This dataset is a new resource to the computer vision / image processing community, and we hope it inspires future work on the demoire problem and is used to benchmark algorithms. Second, we present the demoire results achieved at the workshop, providing the current state-of-the-art performance on this dataset. We report results using a selection of image quality measures.

The remainder of the paper is structured as follows.
Section 2 introduces the LCDMoire dataset.
Section 3 reviews the AIM 2019 demoire competition tracks, competition phases, and the challenge results.
Section 4 introduces the image quality assessment (IQA) measures,
Section 5 discusses related datasets.
Section 6 presents the methods from the workshop, and
Section 7 concludes the paper.

\section{LCDMoire dataset}
\label{study:dataset}

\begin{figure*}
	\scriptsize
	\centering

		\begin{tabular}{cc}
			\includegraphics[width=0.46\textwidth]{valimages.PNG} \hspace{0.5mm} &
			\includegraphics[width=0.46\textwidth]{testimages.PNG
			\hfill
		\end{tabular}

		\caption{Visualization of the proposed \textbf{LCDMoire} validation (left) and test (right) images (moire-free are shown). \textbf{LCDMoire} contains 10000, 100, 100 image pairs for training, validation, test, respectively. Each pair consists of a moire image and a corresponding moire-free image.}
	\label{LCDMoire:valtest}

\end{figure*}

We introduce the LCDMoire dataset, a novel collection of images for benchmarking example-based image demoireing. Figure~\ref{LCDMoire:valtest} gives an overview of the validation and test datasets.
LCDMoire is intended to complement existing image demoireing datasets~\cite{liu2018demoir, sun2018moire}.

LCDMoire is a synthetically generated dataset that models the increasingly common use case where a user takes a picture of an LCD screen, which may be displaying text and/or pictures.
The dataset consists of 10,000 training, 100 validation, and 100 test RGB image pairs. Each image has a resolution of $1024 \times 1024$ pixels. The clean images are extracted from existing computer vision conference papers (e.g., papers from ICCV, ECCV, and CVPR). By design, the clean images consist of images of text, figures or combined text/figures in equal proportion. The images are of high quality in terms of the underlying image content, and have varying moire patterns, noise, and compression artifacts.

\subsection{Data generation pipeline}
\label{sec:datagen}

The moire images are generated through a pipeline, similar to~\cite{liu2018demoir}, modeling the picture taking process when a smartphone is used to take pictures from an LCD screen displaying a clean image.

The pipeline, shown in Figure \ref{LCDMoire:synthetic}, includes the following steps:

\begin{enumerate}
    \item Resample the input RGB image into a mosaic of RGB subpixels (modeled as 9 pixels with [K, K, K; R, G, B; R, G, B], where K stands for black) to simulate the image displayed on the LCD. Note that this step causes the final moire image to be darker.
    \item Apply a random projective transformation on the image to simulate different relative positions and orientations of the display and camera, and apply $3 \times 3$ Gaussian filter.
    %
    To model the random projective transformation, four image corners were randomly sampled (using a uniform distribution) within a radius of 0.2 times of the image size.
    \item Resample the image using Bayer CFA to simulate the RAW data, and add Gaussian noise to simulate sensor noise.
    %
    \item Apply a simple ISP pipeline including demosaicing (bilinear interpolation) and denoising (standard denoising function provided by OpenCV).
    \item Compress the image using JPEG compression to simulate the compression noise, align the clean image with the moire image, and crop out the image pair.

\end{enumerate}

\begin{figure*}[thbp]
	\centering
	\includegraphics[width=2.0\columnwidth]{Pipeline.PNG}
	\caption{Data generation pipeline.}
	\label{LCDMoire:synthetic}
\end{figure*}

\begin{comment}
\begin{figure}[th]
	\centering
	\includegraphics[width=2.0\columnwidth]{synthetic.PNG}
	\caption{Synthetic pipeline}
	\label{LCDMoire:synthetic}
\end{figure}

\end{comment}

\subsection{Post-processing}

To ensure the same distributions for the content and moire patterns in the training, validation and testing image sets, some post-processing was conducted:

1) \textbf{Balanced image content.} We wanted to ensure that the dataset was balanced in the sense of having evenly distributed images of text, figures or mixed text / figures. Figure~\ref{LCDMoire:examples} shows examples, where the top row has only figures, the bottom row has only text, and the middle row has both figures and text. For a given image, classification into these three categories was achieved simply based on counting the number of pure white pixels (pixels from the background) and pure black pixels (text pixels).  When the clean image contains only text, the number of pure white and pure black pixels (across the three color channels) together is close to 3145728 ($3145728 = 1024 \times 1024 \times 3$). When the clean image has only figures, then the count is close to 0. Based on this simple classifier, we identified images in equal proportions across these three classes to form the dataset.
In our implementation, the thresholds of 75\% and 25\% of the total number of pixels (3145728) were used to divide the three classes.

\begin{figure}[htbp]
	\centering
	\includegraphics[width=0.90\columnwidth]{Examples.PNG}
	\caption{LCD screen examples. Left: clean images, middle: moire images, right: corresponding moire patterns.}
	\label{LCDMoire:examples}
\end{figure}

2) \textbf{Balanced moire frequency content.}	We analyzed the distributions of the moire patterns to ensure a balanced power spectral distribution in the dataset, as shown in  Figure~\ref{LCDMoire:moirepatterns}. We have three groups, namely the low frequency group (Figure~\ref{LCDMoire:moirepatterns} left), middle frequency group (Figure~\ref{LCDMoire:moirepatterns} middle), and high frequency group (Figure~\ref{LCDMoire:moirepatterns} right), based on which frequency group is dominant.
In addition to the RGB image going through the moire image generation pipeline, we put a pure white image though the same pipeline (i.e., the same projective transformation, noise, etc), to produce an image with only moire patterns, see Figure~\ref{LCDMoire:examples} (right column). The power spectral density was analyzed on moire pattern-only image.

\begin{figure}[htbp]
	\centering
	\includegraphics[width=1.0\columnwidth]{magnitude.PNG}
	\caption{Moire pattern groups. Left: low frequency, middle: middle frequency, right: high frequency.}
	\label{LCDMoire:moirepatterns}
\end{figure}

\begin{comment}
\begin{figure}[htbp]
	\centering
	\includegraphics[width=1.0\columnwidth]{frequencies.PNG}
	\caption{LCD screen examples. Left: clean images, middle: moire images, right: corresponding moire patterns.}
	\label{LCDMoire:frequencies}
\end{figure}
\end{comment}

\section{The Challenge}
\label{report:challenge}

\begin{table*}[th]
\normalsize
  \centering
  \resizebox{2.\columnwidth}{!}{
  \begin{tabular}{lccccccc}
  \toprule
  \bf Team & \bf User name & \bf PSNR  & \bf SSIM & \bf Time & \bf GPU & \bf Platform & \bf Loss \\
  \midrule

Islab-zju
& \emph{q19911124}
& 44.07
& 0.99
& 0.25
& 2080Ti
& Tensorflow
& L1 + L1 sobel\\

MoePhoto \cite{cheng2019multi}
& \emph{opteroncx}
&41.84
& 0.98
& 0.10
& Titan V
& Pytorch
& L1 charbonnier loss\\

KU-CVIP
& \emph{GibsonGirl}
& 39.54
& 0.97
& 0.07
& Titan X Pascal
& Pytorch
& L1\\

XMU-VIPLab
&\emph{xdhm2017}
& 39.35
& 0.98
& 0.13
& RTX 2080
& Pytorch
& L1 + perceptual loss + angular loss\\

IAIR
& \emph{wangjie}
& 38.54
& 0.98
& 0.43
& 1080Ti
& Pytorch
& L2 + perceptual loss\\

PCALab
&\emph{Hanzy}
& 33.72
& 0.98
& 0.02
& 2080Ti
& Pytorch
& L1 + contextual loss\\

IPCV\_IITM
&\emph{kuldeeppurohit3}
& 32.23
& 0.96
& -
& Titan X
& Pytorch
& -\\

Neuro
&\emph{souryadipta}
& 29.87
& 0.92
& 0.25
& 1080Ti
& Pytorch
& -\\

  \bottomrule
  \end{tabular}}

    \caption{Results and rankings of methods submitted to the \textbf{fidelity track}. The methods are ranked by PSNR values, \textit{Time} is for runtime per image and measured in seconds.}
  \label{tab:fidelity}

\end{table*}

\begin{table*}[ht]
\normalsize
  \centering
  \resizebox{2.\columnwidth}{!}{

  \begin{tabular}{lccccccc}
  \toprule
  \bf Team & \bf User name & \bf PSNR  & \bf SSIM & \bf Time &\bf GPU  & \bf MOS & \bf Loss \\
  \midrule

Islab-zju
& \emph{q19911124}
& 44.07
& 0.99
& 0.25
& 2080Ti
& 241
& L1 + L1 sobel\\

XMU-VIPLab
&\emph{xdhm2017}
& 39.35
& 0.98
& 0.13
& RTX 2080
& 216
& L1 + perceptual loss + angular loss\\

MoePhoto \cite{cheng2019multi}
&\emph{opteroncx}
& 31.07
& 0.96
& 0.11
& Titan V
& 215
& L1 + Perceptual loss\\

KU-CVIP
& \emph{GibsonGirl}
& 39.54
& 0.97
& 0.07
& Titan X Pascal
& 210
& L1\\

Neuro
&\emph{souryadipta}
& 29.87
& 0.92
& 0.25
& 1080Ti
& 187
& -\\

PCALab
&\emph{Hanzy}
& 30.48
& 0.96
& 0.01
& 2080Ti
& 183
& L1 loss\\

IPCV\_IITM
&\emph{kuldeeppurohit3}
& 32.23
& 0.96
& -
& Titan X
& 169
& -\\

  \bottomrule
  \end{tabular}}

    \caption{Results and rankings of methods submitted to the \textbf{perceptual} track. The methods are ranked by MOS scores, \textit{Time} is for runtime per image and measured in seconds.}
  \label{tab:perceptual}

\end{table*}

As stated earlier, the demoireing challenge was hosted jointly with the first \textit{Advances in Image Manipulation (AIM 2019)} workshop held in conjunction with the International Computer Vision Conference (ICCV) 2019, Seoul, Korea.

\subsection{Tracks and Evaluation}

The challenge had two tracks: \textbf{Fidelity} and \textbf{Perceptual}, to assess methods in terms of objective and subjective quality.

\textbf{Fidelity:} In this track, the participants developed demoire methods to achieve a moire-free image with the best fidelity compared to the ground truth moire-free image. We used the standard Peak Signal To Noise Ratio (PSNR) and, additionally, the Structural Similarity (SSIM) index as often employed in the literature. The implementations are found in most image processing toolboxes. For each dataset we report the average results over all the processed images.

\textbf{Perceptual:} In this track, the participants developed demoire methods to achieve a moire-free image with the best perceptual quality (measured by Mean Opinion Score (MOS)) when compared to the ground truth moire-free image. In the Mean Opinion Score, human subjects were invited to express their opinions comparing the demoired image to the clean image. Along with the MOS results, we also report the standard Peak Signal To Noise Ratio (PSNR) and the Structural Similarity (SSIM) as a reference.  However, the MOS was the important metric in this track.

\subsection{Competition}

\textbf{Platform:} The CodaLab platform was used for this competition. To access the data and submit their demoired image results to the CodaLab evaluation server, each participant had to register.

\textbf{Challenge phases:}
(1) Development (training) phase: The participants received both moire and moire-free training images of the LCDMoire dataset;
(2) Validation phase: The participants had the opportunity to test their solutions on the moire validation images and to receive immediate feedback by uploading their results to the server. A validation leaderboard was available;
(3) Final evaluation phase: After the participants received the moire test images and clean validation images, they had to submit both their demoired images and a description of their method before the challenge deadline. One week later the final results were made available to the participants.

\subsection{Challenge results}

From 60 registered participants, eight teams entered in the final phase in the \textbf{fidelity} track, and seven teams in the \textbf{perceptual} track. The teams submitted their results, codes/executables, and factsheets. Table~\ref{tab:fidelity} and Table~\ref{tab:perceptual} report the final test results, rankings of the challenge, self-reported runtimes and major details from the factsheets.

For the \textbf{fidelity} track, the leading entry as shown in Table~\ref{tab:fidelity} was from the Islab-zju team, scoring a PSNR of $44.07$ dB (higher is better). The second and the third place entries were by the teams MoePhoto and KU-CVIP, respectively.

For the \textbf{perceptual} track, the leading entry as shown in Table~\ref{tab:perceptual} was also from the Islab-zju team, scoring a MOS of $241$ (higher is better). The second and the third place entries were by the teams XMU-VIPLab and MoePhoto, respectively.

\section{Image Quality Assessment (IQA)}

\begin{table}[th]
\normalsize
  \centering
  \resizebox{1.0\columnwidth}{!}{
  \begin{tabular}{lcccccc}
  \toprule
  \bf \thead{Team \\ \space } & \bf \thead{PSNR \\ T}  & \bf \thead{SSIM \\ T} & \bf \thead{PSNR \\ F}  & \bf \thead{SSIM \\ F} & \bf \thead{PSNR \\ M}  & \bf \thead{SSIM \\ M}  \\
  \midrule
Islab-zju
&46.57%
&0.99%
&40.86%
&0.97%
&44.24%
&0.99\\

MoePhoto

&45.1
&0.9
&38.0
&0.9
&41.8
&0.99\\

KU-CVIP
&41.9
&0.9
&37.2
& 0.9
&39.2
&0.97\\

XMU-VIPLab
&43.5
&0.9
&35.6
&0.9
&38.5
&0.98\\

IAIR
&43.2
&0.9
&34.2
&0.9
&37.8
&0.98\\

PCALab
&42.0
&0.9
&27.6
&0.9
&31.4
&0.98\\

IPCV\_IITM
&35.4
&0.9
&30.1
&0.9
&31.0
&0.95\\

Neuro
&36.0
&0.9
&24.2
&0.8
&29.1
&0.92\\

  \bottomrule
  \end{tabular}}

    \caption{Results for the three classes for the \textbf{fidelity track}. T, F, and M stand for Text only, Figures only, and Mix of figures and text, respectively.}
  \label{tab:IQAfidelity}

\end{table}

\begin{comment}
\begin{figure*}[th]
 	\centering
 	\includegraphics[width=2.1\columnwidth]{tenimg.PNG}
 	\caption{The ten sampled images used in the MOS study. Top row is the moire image, bottom row is the ground truth.}
 	\label{IQA:MOSimages}
 \end{figure*}
\end{comment}

\begin{figure*}[th]
 	\centering
 	\includegraphics[width=2.\columnwidth]{tenimg1.PNG}
 	\includegraphics[width=2.\columnwidth]{tenimg2.PNG}
 	\caption{The ten sampled images used in the MOS study. First and third rows are the moire images, second and fourth rows are the ground truth.}
 	\label{IQA:MOSimages}
 \end{figure*}

\begin{figure}[th]
 	\centering
 	\includegraphics[width=1.\columnwidth]{MOS.PNG}

 	\caption{Example MOS study images. The top row shows the moire images, the middle row contains the ground truth, and the bottom row shows demoired results. From left to right, the results received scores of 3, 4, 1 respectively.}
 	\label{IQA:MOSimages_example}
 \end{figure}

Image quality assessment has received significant attention in the literature with many approaches being proposed.
In this challenge we adopted the standard Peak Signal To Noise Ratio (PSNR) and the Structural Similarity (SSIM) index as often employed in the literature.
PSNR is defined as the pixel-level fidelity relative to the ground truth.
SSIM
is a more perceptual quality based model that considers the degradation of images as changes in the perceived structural information.

In the \textbf{fidelity track}, we also evaluated the images for three classes, i.e., Figures, Text and Mix of figures and text. Table \ref{tab:IQAfidelity} shows the PSNR and SSIM for each class. The test set has 33, 33, and 34 images for Figures, Text, and Mix, respectively. The results show that the Text class is the easiest to demoire, followed by Mix and Figures classes.

In the \textbf{perceptual track}, in addition to PSNR and SSIM, we use the Mean Opinion Score (MOS). However, since MOS requires opinions from human subjects it was conducted only on the final test images for the final ranking.
For the MOS study, we recruited ten judges, including nine professional low-level image processing experts and one IT professional, to rank the submitted results.
All judges were instructed to use image viewing software FastStone Image Viewer Version 7.4 (FastStone Soft\footnote{https://www.faststone.org}), where they can compare two images (demoired image vs.\ ground truth, or ground truth vs.\ demoired image) side-by-side directly, and can also zoom in to see the paired details very conveniently.
During the evaluation, the judges did not know which method was used to demoire the image. Also, the relative positioning of the images (ground truth on the left and demoired image on the right, or vice versa) was selected randomly and was unknown to the judges.

Ranking of all the 100 test images for the seven submitted methods was not possible within a short period of time.
Instead, a subset of 10 representative test images
(with more focus on the figures-only class to reflect the performance of each method on \textit{hard cases})
were selected for the MOS study. See Figure~\ref{IQA:MOSimages} for the ten test images.
The judges ranked each image for the quality between the reference/ground truth and the demoired image on a scale from 1 to 5 (definitely worse quality (1), probably worse (2), probably similar (3), probably better (4), definitely better (5)). The queries were randomly flipped reference-solution and solution-reference, and the order of the queries was also random. So for each query we had 10 scores in total.

The final MOS score for a method was the accumulated rankings from the ten judges and from the 10 test images. Based on this protocol, a demoire method could receive a score in the range of [100, 500], the higher the better.
There were seven teams that submitted their results for the \textbf{Perceptual} track; see Table~\ref{tab:perceptual} for the rankings. Islab-zju team obtained a score of 241, followed by XMU-VIPLab team (216) and MoePhoto team (215).

In many cases, the judges preferred the ground truth image over the demoired image. However, there are some outliers, where some of the judges preferred the demoired image over the ground truth. Figure~\ref{IQA:MOSimages_example} shows example images used in the MOS study.
The top row, middle row and bottom row are the moire images, ground truth images, and demoired images, respectively (results from IsLab-zju). During the evaluation, the judges were given the pairs of images (the bottom two rows) to which they assigned the scores.
As an example, the image received a score of 3, meaning that the judge assessed the quality of images (the ground truth and the demoired image) as \textit{probably similar}.
The middle image received a score of 4,  meaning that the judge preferred the quality of the demoired image (\textit{probably better}) over the ground truth. The right image received a score of 1, meaning the judge rated it to have a \textit{definitely worse} quality than the ground truth.

\section{Related datasets}

In this section, we describe the other datasets that appear in image demoireing literature.

One relevant dataset is TIP2018 dataset~\cite{sun2018moire}, see Figure~\ref{TIP:examples} for examples.
The dataset has 135,000 real image pairs, each containing a clean image and a moire image. The clean images come from 100,000 validation images and 50,000 testing images of the ImageNet ILSVRC 2012 dataset~\cite{russakovsky2015imagenet}. The corresponding moire images are captured with three smartphones (iPhone 6, SAMSUNG Galaxy S7 Edge, and SONY Xperia Z5 Premium Dual) from three LCD screens (Macbook Pro Retina, DELL U2410 LCD, DELL SE198WFP LCD).

The dataset was created through two steps: capture and alignment.
For capture, the images are manually taken from the screens displaying the clean images, which were enhanced with a special black border.
For alignment, 20 sharp corners on the black border, from the moire image, were detected using a Harris corner detector~\cite{harris1988combined}, and filtered through heuristics to avoid false detections. Then a homography was used for the alignment.
However the dataset has some alignment issues, originating from the corner detection step.

Another dataset was proposed in \cite{liu2018demoir}, see Figure~\ref{bolin:examples} for examples extracted from the paper.
The dataset has 80,000 synthetic image pairs of $512 \times 512$ resolution.
The moire images were synthetically created through a similar pipeline to the one used to create LCDMoire. The clean images come from 1,000 digital images with various content commonly displayed on a computer, e.g., dialog box, text, graphics, etc.
Unfortunately, at the time of hosting the workshop, we could not find any download link, even though the paper was submitted to ArXiv in April 2018.

Therefore, it was necessary to create a new dataset for the purpose of the demoire challenge. Unlike the dataset in~\cite{sun2018moire}, LCDMoire does not suffer from alignment issues. And inspired by the pipeline from~\cite{liu2018demoir}, we created the LCDMoire dataset but made it publicly available to enable comparisons between demoire methods.

\begin{figure}[t]
	\centering
    	\includegraphics[width=1.0\columnwidth]{TIPdata.PNG}
	\caption{Examples from TIP18~\cite{sun2018moire} dataset.}
	\label{TIP:examples}
\end{figure}

\begin{figure}[t]
	\centering
    	\includegraphics[width=1.0\columnwidth]{Bolin_example.PNG}
	\caption{Examples extracted from the arXiv paper~\cite{liu2018demoir}.}
	\label{bolin:examples}
\end{figure}

\section{Challenge methods}

\subsection{Islab-zju team}
\label{report:q19911124}

The Islab-zju team is the winning team for both tracks.
They proposed a \textit{CNN Based Learnable Multiscale Bandpass Filter method}, dubbed \emph{MBCNN}.
They referenced the architecture of CAS-CNN~\cite{CAS-CNN} and proposed a 3-level multiscale bandpass convolutional neural network.
MBCNN first uses pixel shuffle to reduce the input image resolution to half
Subsequent scales are generated using two $2\times2$ stepped convolution layers to start the other two levels. %
For each level, the processing can be divided into three parts: artifact reduction, tone mapping and image reconstruction.

\subsection{MoePhoto team}
\label{report:opteroncx}

The MoePhoto team proposed the method of \textit{Multi Scale Dynamic Feature Encoding Network for Image Demoireing}, dubbed \textit{MDDM} \cite{cheng2019multi}.
This method is inspired by \cite{liu2018demoir, gao2019moire, sun2018moire}.
MDDM constructs an image feature pyramid, encodes image features at different spatial resolutions, and obtains image feature representations of different frequency bands.
MDDM also proposes a dynamic feature encoding (DFE) method. At each downsampling branch, the method adds an extra lightweight branch.

\subsection{XMU-VIPLab team}
\label{report:xdhm2017}

XMU-VIPLab team proposed \textit{Global-local Fusion Network for Single Image Demoireing}.
The method first trains a local and a global demoireing network, respectively. It then uses a fusion branch to fuse the results of the two networks to obtain the final demoireing result.
The local network uses an asymmetric encode-decode architecture, using the Residual in Residual blocks as the basic block.
The global network uses a standard U-Net architecture, and the input is scaled by 4.
The fusion network only contains 4 residual modules.
When fusing, the result of the global network needs to be amplified by 4 times.

\subsection{KU-CVIP team}
\label{report:GibsonGirl}

The KU-CVIP team proposed the \textit{Densely-Connected Residual Dense Network}, inspired by \cite{RDN, kim2019grdn}.
The network is based on Residual Dense Block (RDB)~\cite{RDN}.
The method connects RDBs densely and adds skip connections in each DCRDB unit.
The method downsamples and upsamples the feature map using $4 \times 4$ convolution layers with stride 2 to extract multi-scale features and make the network deeper.
Starting with 1 RDB in a DCRDB unit, the method increases/decreases the number of RDBs in DCRDB by a factor of 2 whenever downsampling/upsampling the feature map.
At the end of the network, the method applies a CBAM \cite{woo2018cbam} module and $3 \times 3$ convolution layer to make the input and output image have same number of channels.

\subsection{IAIR team}
\label{report:wangjie}

The IAIR team proposed \textit{Wavelet-Based Multi-Scale Network}, namely WMSN, for Image Demoireing.
This network is based on the U-Net~\cite{UNet} architecture, in which the clique wavelet block~\cite{nips18} was used in the decoder part to restore the degraded features and upsample the restoration features.
The proposed network contains four strided convolutional layers and four wavelet blocks.
The first four CABlocks in encoder part consists of three residual channel attention blocks~(RCAB) by~\cite{rcan}, and 18 RCABs are used in the last CABlocks.
The clique wavelet blocks are used to remove the moire artifacts from the features in the wavelet domain and upsample the restoration features.

\subsection{PCALab team}
\label{report:hanzy}

The PCALab team proposed \textit{Domain Adaptation for Image Demoireing}. The method is inspired by~\cite{tzeng2017adversarial, mechrez2018contextual}.
The method proposes to remove moire pattern through a domain adaptation method, in which the method assumes that the clean images come from clean domain and the images with moire pattern are from a moire domain and the two domains share the same latent space. The method incorporates an Auto Encoder (AE) framework, where the encoder is designed to extract the common latent features shared by two domains and the decoder restores the images from corresponding latent features.
In the \textbf{fidelity} track, the loss is L1 loss + contextual loss.
In the \textbf{perceptual} track, the contextual loss is removed.

\subsection{Neuro team}
\label{report:souryadipta}

The Neuro team proposed a method titled \textit{Demoireing High Resolution Images Using Conditional GANs}.
This method models the problem as a image translation problem and uses conditional GANs to reconstruct the demoired image, inspired by~\cite{wang2018high}.
Reconstructing certain frequency components from rest of the frequency spectrum of a image is the main goal for this solution.
The method employs a Global Generator instead of local Generator to emphasize global features more to increase fidelity and the perceptual quality of the restored image.

\subsection{IPCV\_IITM team}
\label{report:kuldeeppurohit3}

The IPCV\_IITM team proposed a \textit{Sub-pixel Dense U-net for Image Demoireing}. %
Following \cite{2019arXiv190311394P}, the proposed network consists of a deep dense-residual encoder-decoder structure with subpixel convolution and multi-level pyramid pooling module for efficiently estimating the demoireing image.
The resolution of input image is brought down by a factor of 2 using pixel-shuffling before being fed to the encoder, which increases the receptive field of the network and reduces computational footprint. The encoder is made of densely connected modules.

\section{Conclusion}

In this paper, we introduced LCDMoire, a new dataset for benchmarking image demoireing methods.
We provide high-quality ground truth reference frames as well
as corresponding moire frames.
Each degraded frame
models commonly occurring video degradations such as
motion blur, compression, and downsampling.
We studied the submitted solutions from the AIM 2019 image demoireing challenge.

The LCDMoire dataset proved an effective dataset for the challenge, enabling participants to develop and evaluate deep learning demoire approaches.  The dataset was sufficiently challenging to produce differentiated results between submitted solutions.

The dataset does have some limitations that could be addressed in future work.  First, we assumed a single LCD pattern (consisting of nine subpixels described in Section~\ref{sec:datagen}.  In practice, more LCD subpixel layouts are possible.  Additionally, we assumed the common Bayer pattern CFA, but other CFA designs are well known in the literature.  Despite these limitations, LCDMoire captures a wide variety of moire patterns.  Nonetheless, there likely exists a domain gap between the synthesized moire patterns of LCDMoire and moire patterns that exist in photographs taken with specific cameras.  Future work could study this domain gap.

We hope the LCDMoire dataset will inspire further demoire research and be used to benchmark performance of future single image demoire methods.

{\small
\bibliographystyle{ieee_fullname}

redpajama_set_name: RedPajamaArXiv


text:
Q: (spotify) Maven docker builder for Java I'm trying to build docker image for Java using (spotify) Docker Maven Plugin.
But while running mvn package docker:build on my project, I'm constantly getting the following error:

Failed to execute goal com.spotify:docker-maven-plugin:0.2.6:build (default-cli) on project gs-spring-boot-docker: Exception caught: Get https://index.docker.io/v1/repositories/library/java/images: dial tcp: lookup index.docker.io on 10.1.2.2:53: no answer from server -> [Help 1]

A: Problem related to this topic
Easiest solution possible is
boot2docker restart if it works, otherwise there is temporary workaround.
osx$ boot2docker up
osx$ boot2docker ssh
docker@boot2docker$ sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf
docker@boot2docker$ sudo /etc/init.d/docker restart

It works until reboot.

redpajama_set_name: RedPajamaStackExchange


text:
Indonesia calls for UN reform, new financial order
Indonesian President Joko Widodo on Wednesday (Apr 22) urged leaders at the Asia-Africa summit to help reform the United Nations and work for a new global economic order.
Thirty world leaders and diplomats from 92 countries streamed into the Jakarta Convention Centre early on Wednesday morning. The once-in-a-decade conclave is one of the largest gatherings of nations and represents three quarters of the world's population.
As host, President Widodo opened the sixth such meeting of the Cold War-era Non-Aligned Movement. He noted injustices and imbalances in the global economic order, saying 20 per cent of the world's population consumes 70 per cent of its resources.
Widodo criticised the use of unilateral force without a clear United Nations mandate. "The use of unilateral force without a clear UN mandate, as we have witnessed, has undermined the existence of our common world body," he said. "Therefore, we, the nations of Asia and Africa, demand the UN reform, so that it could function better, as a world body that puts justice for all of us before anything else."
Widodo also called for reforms in the global financial architecture to help bring economic stability and equality across Asia and Africa. He said the belief that the World Bank, International Monetary Fund and Asian Development Bank can solve the world's economic problems is obsolete, and proposed a new international economic order that involved new emerging powers.
The threat of terrorism was a common topic brought up by other leaders. Iranian President Hassan Rouhani called on leaders to identify the reasons why youths are attracted to radicalism.
Japanese Prime Minister Shinzo Abe said the use of force by the mighty over the weak should not go unchecked. "Despicable terrorism is becoming widespread throughout the world. We must give no haven to terrorists anywhere in the world," said Abe.
The summit will continue on Thursday with bilateral gatherings. President Widodo hosts the leaders at the Presidential Palace for dinner on Wednesday.

redpajama_set_name: RedPajamaCommonCrawl


Help Kahu our "Blind Kiwi" get home via our IOS or Android adventure game.
Everyone enjoys playing games, at Signify we have some really talented people so why wouldn't we want to showcase their skills! We decided to create something cool by developing a game for ourselves where we can involve our family. Importantly it needed to have a real Kiwi feel good factor.
To develop an application which showcases our 3D skills, while also including a way for our wider family and friends to be a part of our creation. It had to have a New Zealand flavour and be unique enough to stand out in a saturated games market.
We got together and brainstormed, and developed a prototype based on "Kahu the Kiwi." We soon included our family and friends, commissioning some original music, sound effects and some smart graphics.
The net result is a 30 level adventure game where you can help Kahu (the Blind Kiwi) find his way to his nest through a series of challenging mazes, with each level getting progressively harder as you progress.
We had a lot of fun with this project and gained a considerable appreciation for the effort involved in creating a feature length production.


text:
Q: Minimize $\sum_{i=1}^n|x-a_i|$, $\max \{|x-a_i|, i=1,\cdots,n\}$, $\sum_{i=1}^n|x-a_i|^2$ and maximize $\Pi_{i=1}^n|x-a_i|$
$a_1\le a_2\le \cdots \le a_n$ real numbers.
a) Minimize $\sum_{i=1}^n|x-a_i|$
b) Minimize $\max \{|x-a_i|, i=1,\cdots,n\}$
c) Minimize $\sum_{i=1}^n|x-a_i|^2$
d) Maximize $\Pi_{i=1}^n|x-a_i|$

a), if we take the derivative, we get
$$f(x) = \sum_{i=1}^n|x-a_i|\implies \frac{df}{dx} = \mbox{signal(x)}n$$
So the derivative is never $0$, but I can't say that a minimum for this funciton has to have derivative $0$ because this function is not continuously differentiable. However we can see that for $x>0$ the function is increasing and $x<0$ it is decreasing. I understand that the median is the point, but I need to prove analytically that $f$ indeed is  smaller than $f$ in every other point. I've seen The Median Minimizes the Sum of Absolute Deviations (The $ {L}_{1} $ Norm) but I found no analytical proofs for the median being the minimizer, only explanations about how to find with some intuition that the median is smaller
b) I don't have an idea about this one
c) $$f(x) = |x-a_1|^2 + |x-a_2|^2 + \cdots + |a-x_n|^2$$
$$\frac{df}{dx} = 2|x-a_1| + \cdots + 2|x-a_n|$$
The derivative is always positive or 0, so the function is always increasing. This one is continuous so by making it equal to $0$ I should try to find points that satisfy the equality. I don't think there exists one, so I would say the derivative is always positive. How should I proceed?
d) The exercise gives no information about a bounary for $x$, so if I pick larger and larger $x$ shouldn't the funciton grow infinitely?
UPDATE:
b)
Let $x^* = \frac{a_1+a_n}{2}$. If $a_1<x<x^*$ then $\max\{|x-a_i|, i=1,\cdots,n\} = a_n-x$ which is decreasing. If $x>x^*$ then $\max\{|x-a_i|, i=1,\cdots,n\} = x-a_1$ which is increasing. Therefore the minimum must be at $x^*$. I think I need to argue better why, for example, $\max\{|x-a_i|, i=1,\cdots,n\} = a_n-x$
I need a more rigorous proof.

A: a) The top answer to the linked question does provide the outline of a formal proof, it's just disguised a little. A more formal outline would go something like this: the function $\sum_i|x-a_i|$ is continuous as a function of $x$. It is decreasing on  the domain $(-\infty,a_{n/2})$ and increasing on the domain $(a_{n/2},\infty)$. Hence, the minimum must occur at $a_{n/2}$ (of course I'm being quite sloppy when I say $a_{n/2}$. Read the conversation on the linked post for more precise definition of the "median"). This should lead to a perfectly rigorous proof (no derivatives/subgradients required).
b) The answer is the midpoint between $a_1$ and $a_n$ (i.e. $(a_1+a_n)/2$). See if you can work backwards from this answer.
c) Note that
\begin{equation}
\sum_{i=1}^n|x-a_i|^2=\sum_{i=1}^n(x-a_i)^2.
\end{equation}
Taking the derivative w.r.t $x$ we obtain
\begin{equation}
2\sum_{i=1}^n(x-a_i)=2nx-2\sum_{i=1}^na_i.
\end{equation}
Setting this equal to zero and solving for $x$, we obtain
\begin{equation}
x^*=\frac{1}{n}\sum_{i=1}^na_i,
\end{equation}
i.e. the arithmetic mean of the $a_i$. Since the function $\sum_i(x-a_i)^2$ is convex and continuously differentiable as a function of $x$, this is sufficient to conclude that $x^*$ is a global minimizer.
d) Your intuition is correct--as stated, the function is unbounded. A more interesting problem might be to consider maximizing the product over the domain $[a_1,a_n]$. This could be a good exercise.


text:
var win = Ti.UI.createWindow({
    backgroundColor:'#ffffff',
    navBarHidden:true,
    height: Ti.UI.FILL
});

var hipmob = require("com.hipmobtitanium");

// manage: 2ea7d86854df4ca185af84e68ea72fe1
// ha: 488b7ecc3a764176b50717278c6a9ea0
var chatView = hipmob.createHipmobChatView({
    height: Ti.UI.FILL,
    width: Ti.UI.FILL,
    appId: "2ea7d86854df4ca185af84e68ea72fe1",
    name: "My Name",
    email: "myname@hipmob.com",
    context: "starting up with Appcelerator"
});
win.add(chatView);
var on_connected = function(e){
    chatView.context = "Now connected";
};
var on_operator_online = function(e){
    chatView.context = "Operator online";
};
var on_operator_offline = function(e){
    chatView.context = "Operator online";
};
var on_disconnected = function(e){
    var dialog = Ti.UI.createAlertDialog({
    	message: 'Disconnected!',
    	ok: 'OK',
    	title: 'Hipmob' });
    dialog.show();
    setTimeout(function(){ dialog.hide(); }, 2000);
    chatView.removeEventListener(hipmob.EVENT_DISCONNECTED, on_disconnected);
};
var on_url = function(e){
    var dialog = Ti.UI.createAlertDialog({
    	message: 'URL Received ['+e.url+']!',
    	ok: 'OK',
    	title: 'Hipmob' });
    dialog.show();
    setTimeout(function(){ dialog.hide(); }, 5000);
};
win.addEventListener('open', function(){
    chatView.addEventListener(hipmob.EVENT_CONNECTED, on_connected);
    chatView.addEventListener(hipmob.EVENT_DISCONNECTED, on_disconnected);
    chatView.addEventListener(hipmob.EVENT_OPERATOR_ONLINE, on_operator_online);
    chatView.addEventListener(hipmob.EVENT_OPERATOR_OFFLINE, on_operator_offline);
    chatView.addEventListener(hipmob.EVENT_URL_RECEIVED, on_url);
    chatView.start();
});
win.addEventListener('close', function(){
    chatView.removeEventListener(hipmob.EVENT_CONNECTED, on_connected);
    chatView.stop();
});

win.open();

redpajama_set_name: RedPajamaGithub


""The Vivian gown was not only gorgeous, but comfortable as well! I was able to dance and move in my gown from 8 am to 1 am with no problem. this gown made me feel as elegant and classy as I ever imagined on my wedding day. A big thank you to Michelle Roth for this gorgeous creation and for contributing to my picture-perfect wedding day!"


text:
WTO: Buhari Meets European Council President Over Okonjo-Iweala
President Muhammadu Buhari on Friday, held a virtual meeting with the President of the European Council, Charles Michel, over the candidature of Ngozi Okonjo-Iweala as the next Director-General of the World Trade Organisation.
Mrs Okonjo-Iweala, Nigeria's former finance minister, is the leading candidate for the position. But her candidature is being opposed by the U.S. which is supporting her South Korean opponent.
Mrs Okonjo-Iweala already secured the backing of most countries including blocs like the European Union and the African Union.
The U.S. is the one blocking Mrs Okonjo-Iweala from being adopted as a consensus winner of the election, with an announcement on the winner next month.
According to a Friday evening statement by Femi Adesina, Mr Buhari's spokesman, Mr Michel reiterated Europe's support for Mrs Okonjo-Iweala.
Read the full statement by Mr Adesina below.
STATE HOUSE PRESS RELEASE
OKONJO-IWEALA: PRESIDENT BUHARI IN VIDEO CONFERENCE WITH PRESIDENT OF EUROPEAN COUNCIL
President Muhammadu Buhari Friday held a video conference with Mr Charles Michel, President of the European Council, during which the latter reiterated Europe's support for Nigeria's Dr Ngozi Okonjo-Iweala as the next Director-General of the World Trade Organisation (WTO).
The President is leading Nigeria's charge for Okonjo-Iweala, the country's former Minister of Finance, to emerge as the first Black and female WTO DG.
President Buhari thanked the European Council for its support for Nigeria's candidate.
Also discussed during the conference were issues bordering on debt relief for Africa, EU-African relations and recharge of the Lake Chad, which has currently shrunk to less than one-third of its usual size, and throwing about 130 million people who depend on the Lake into dire straits.
Recharge of the Lake Chad is an issue the Nigerian President had vigorously canvassed at diverse global fora in recent time.
President Buhari expressed appreciation to Mr Michel for expected positive developments on the issues.
Special Adviser to the President
(Media & Publicity)
Posted By cheatmaster On 06:12 Sat, 31 Oct 2020


To make sure your care is as seamless as possible, a dedicated team of clinicians, who are highly specialized experts in your type of blood cancer, will care for you throughout the treatment process, from diagnosis though long-term follow-up.
As a patient in the Center for Hematologic Oncology, you will be treated by a dedicated care team that includes oncologists, surgeons, hematologists, physician assistants, nurses and clinical social workers who are committed to delivering high-quality, safe, patient care.
We provide comprehensive services for treatment, including imaging, pathology, and radiation oncology. We also communicate with your referring physician throughout your treatment, including collaboration for follow-up care closer to your home where available.
In addition to conventional treatment approaches, you may have the opportunity to participate in clinical trials that offer access to new, innovative treatments for your type of cancer.
Bone marrow/stem cell transplantation, including traditional and reduced-intensity transplant, using related, unrelated or umbilical cord blood cells for transplant.
We recognize that you and your family face many decisions and life changes. To assist you and help you make informed choices, we offer support services and education programs, resource centers and libraries, financial counseling, and low-cost, short-and long-term housing.
One distinguishing area of expertise is in our treatment of older adults (over 60 years old). Older adults with cancers of the blood often have different needs from younger adults, for example, a higher risk for heart disease, diabetes, or kidney problems, which may limit treatment options.
Learn about the advances in blood cancer care and research presented by Dana-Farber physicians and scientists at the 58th Annual Meeting of the American Society of Hematology (ASH).


text:
package com.wills.help.db.dao;

import android.database.Cursor;
import android.database.sqlite.SQLiteStatement;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.Property;
import org.greenrobot.greendao.internal.DaoConfig;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.database.DatabaseStatement;

import com.wills.help.db.bean.UserInfo;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
 * DAO for table "USER_INFO".
*/
public class UserInfoDao extends AbstractDao<UserInfo, String> {

    public static final String TABLENAME = "USER_INFO";

    /**
     * Properties of entity UserInfo.<br/>
     * Can be used for QueryBuilder and for referencing column names.
     */
    public static class Properties {
        public final static Property Userid = new Property(0, String.class, "userid", true, "USERID");
        public final static Property Username = new Property(1, String.class, "username", false, "USERNAME");
        public final static Property Phone_num = new Property(2, String.class, "phone_num", false, "PHONE_NUM");
        public final static Property Avatar = new Property(3, String.class, "avatar", false, "AVATAR");
        public final static Property Sex = new Property(4, String.class, "sex", false, "SEX");
        public final static Property Nickname = new Property(5, String.class, "nickname", false, "NICKNAME");
        public final static Property Realname = new Property(6, String.class, "realname", false, "REALNAME");
        public final static Property School_num = new Property(7, String.class, "school_num", false, "SCHOOL_NUM");
        public final static Property Classname = new Property(8, String.class, "classname", false, "CLASSNAME");
        public final static Property Usertype = new Property(9, String.class, "usertype", false, "USERTYPE");
        public final static Property Typename = new Property(10, String.class, "typename", false, "TYPENAME");
        public final static Property Usergroup = new Property(11, String.class, "usergroup", false, "USERGROUP");
        public final static Property Authid = new Property(12, String.class, "authid", false, "AUTHID");
        public final static Property Createtime = new Property(13, String.class, "createtime", false, "CREATETIME");
        public final static Property School = new Property(14, String.class, "school", false, "SCHOOL");
        public final static Property Aliaccount = new Property(15, String.class, "aliaccount", false, "ALIACCOUNT");
        public final static Property Paypwd = new Property(16, String.class, "paypwd", false, "PAYPWD");
    }

    public UserInfoDao(DaoConfig config) {
        super(config);
    }

    public UserInfoDao(DaoConfig config, DaoSession daoSession) {
        super(config, daoSession);
    }

    /** Creates the underlying database table. */
    public static void createTable(Database db, boolean ifNotExists) {
        String constraint = ifNotExists? "IF NOT EXISTS ": "";
        db.execSQL("CREATE TABLE " + constraint + "\"USER_INFO\" (" + //
                "\"USERID\" TEXT PRIMARY KEY NOT NULL ," + // 0: userid
                "\"USERNAME\" TEXT," + // 1: username
                "\"PHONE_NUM\" TEXT," + // 2: phone_num
                "\"AVATAR\" TEXT," + // 3: avatar
                "\"SEX\" TEXT," + // 4: sex
                "\"NICKNAME\" TEXT," + // 5: nickname
                "\"REALNAME\" TEXT," + // 6: realname
                "\"SCHOOL_NUM\" TEXT," + // 7: school_num
                "\"CLASSNAME\" TEXT," + // 8: classname
                "\"USERTYPE\" TEXT," + // 9: usertype
                "\"TYPENAME\" TEXT," + // 10: typename
                "\"USERGROUP\" TEXT," + // 11: usergroup
                "\"AUTHID\" TEXT," + // 12: authid
                "\"CREATETIME\" TEXT," + // 13: createtime
                "\"SCHOOL\" TEXT," + // 14: school
                "\"ALIACCOUNT\" TEXT," + // 15: aliaccount
                "\"PAYPWD\" TEXT);"); // 16: paypwd
    }

    /** Drops the underlying database table. */
    public static void dropTable(Database db, boolean ifExists) {
        String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"USER_INFO\"";
        db.execSQL(sql);
    }

    @Override
    protected final void bindValues(DatabaseStatement stmt, UserInfo entity) {
        stmt.clearBindings();

        String userid = entity.getUserid();
        if (userid != null) {
            stmt.bindString(1, userid);
        }

        String username = entity.getUsername();
        if (username != null) {
            stmt.bindString(2, username);
        }

        String phone_num = entity.getPhone_num();
        if (phone_num != null) {
            stmt.bindString(3, phone_num);
        }

        String avatar = entity.getAvatar();
        if (avatar != null) {
            stmt.bindString(4, avatar);
        }

        String sex = entity.getSex();
        if (sex != null) {
            stmt.bindString(5, sex);
        }

        String nickname = entity.getNickname();
        if (nickname != null) {
            stmt.bindString(6, nickname);
        }

        String realname = entity.getRealname();
        if (realname != null) {
            stmt.bindString(7, realname);
        }

        String school_num = entity.getSchool_num();
        if (school_num != null) {
            stmt.bindString(8, school_num);
        }

        String classname = entity.getClassname();
        if (classname != null) {
            stmt.bindString(9, classname);
        }

        String usertype = entity.getUsertype();
        if (usertype != null) {
            stmt.bindString(10, usertype);
        }

        String typename = entity.getTypename();
        if (typename != null) {
            stmt.bindString(11, typename);
        }

        String usergroup = entity.getUsergroup();
        if (usergroup != null) {
            stmt.bindString(12, usergroup);
        }

        String authid = entity.getAuthid();
        if (authid != null) {
            stmt.bindString(13, authid);
        }

        String createtime = entity.getCreatetime();
        if (createtime != null) {
            stmt.bindString(14, createtime);
        }

        String school = entity.getSchool();
        if (school != null) {
            stmt.bindString(15, school);
        }

        String aliaccount = entity.getAliaccount();
        if (aliaccount != null) {
            stmt.bindString(16, aliaccount);
        }

        String paypwd = entity.getPaypwd();
        if (paypwd != null) {
            stmt.bindString(17, paypwd);
        }
    }

    @Override
    protected final void bindValues(SQLiteStatement stmt, UserInfo entity) {
        stmt.clearBindings();

        String userid = entity.getUserid();
        if (userid != null) {
            stmt.bindString(1, userid);
        }

        String username = entity.getUsername();
        if (username != null) {
            stmt.bindString(2, username);
        }

        String phone_num = entity.getPhone_num();
        if (phone_num != null) {
            stmt.bindString(3, phone_num);
        }

        String avatar = entity.getAvatar();
        if (avatar != null) {
            stmt.bindString(4, avatar);
        }

        String sex = entity.getSex();
        if (sex != null) {
            stmt.bindString(5, sex);
        }

        String nickname = entity.getNickname();
        if (nickname != null) {
            stmt.bindString(6, nickname);
        }

        String realname = entity.getRealname();
        if (realname != null) {
            stmt.bindString(7, realname);
        }

        String school_num = entity.getSchool_num();
        if (school_num != null) {
            stmt.bindString(8, school_num);
        }

        String classname = entity.getClassname();
        if (classname != null) {
            stmt.bindString(9, classname);
        }

        String usertype = entity.getUsertype();
        if (usertype != null) {
            stmt.bindString(10, usertype);
        }

        String typename = entity.getTypename();
        if (typename != null) {
            stmt.bindString(11, typename);
        }

        String usergroup = entity.getUsergroup();
        if (usergroup != null) {
            stmt.bindString(12, usergroup);
        }

        String authid = entity.getAuthid();
        if (authid != null) {
            stmt.bindString(13, authid);
        }

        String createtime = entity.getCreatetime();
        if (createtime != null) {
            stmt.bindString(14, createtime);
        }

        String school = entity.getSchool();
        if (school != null) {
            stmt.bindString(15, school);
        }

        String aliaccount = entity.getAliaccount();
        if (aliaccount != null) {
            stmt.bindString(16, aliaccount);
        }

        String paypwd = entity.getPaypwd();
        if (paypwd != null) {
            stmt.bindString(17, paypwd);
        }
    }

    @Override
    public String readKey(Cursor cursor, int offset) {
        return cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0);
    }

    @Override
    public UserInfo readEntity(Cursor cursor, int offset) {
        UserInfo entity = new UserInfo( //
            cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0), // userid
            cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1), // username
            cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // phone_num
            cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3), // avatar
            cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // sex
            cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // nickname
            cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // realname
            cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7), // school_num
            cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8), // classname
            cursor.isNull(offset + 9) ? null : cursor.getString(offset + 9), // usertype
            cursor.isNull(offset + 10) ? null : cursor.getString(offset + 10), // typename
            cursor.isNull(offset + 11) ? null : cursor.getString(offset + 11), // usergroup
            cursor.isNull(offset + 12) ? null : cursor.getString(offset + 12), // authid
            cursor.isNull(offset + 13) ? null : cursor.getString(offset + 13), // createtime
            cursor.isNull(offset + 14) ? null : cursor.getString(offset + 14), // school
            cursor.isNull(offset + 15) ? null : cursor.getString(offset + 15), // aliaccount
            cursor.isNull(offset + 16) ? null : cursor.getString(offset + 16) // paypwd
        );
        return entity;
    }

    @Override
    public void readEntity(Cursor cursor, UserInfo entity, int offset) {
        entity.setUserid(cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0));
        entity.setUsername(cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1));
        entity.setPhone_num(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2));
        entity.setAvatar(cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3));
        entity.setSex(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4));
        entity.setNickname(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5));
        entity.setRealname(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6));
        entity.setSchool_num(cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7));
        entity.setClassname(cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8));
        entity.setUsertype(cursor.isNull(offset + 9) ? null : cursor.getString(offset + 9));
        entity.setTypename(cursor.isNull(offset + 10) ? null : cursor.getString(offset + 10));
        entity.setUsergroup(cursor.isNull(offset + 11) ? null : cursor.getString(offset + 11));
        entity.setAuthid(cursor.isNull(offset + 12) ? null : cursor.getString(offset + 12));
        entity.setCreatetime(cursor.isNull(offset + 13) ? null : cursor.getString(offset + 13));
        entity.setSchool(cursor.isNull(offset + 14) ? null : cursor.getString(offset + 14));
        entity.setAliaccount(cursor.isNull(offset + 15) ? null : cursor.getString(offset + 15));
        entity.setPaypwd(cursor.isNull(offset + 16) ? null : cursor.getString(offset + 16));
     }

    @Override
    protected final String updateKeyAfterInsert(UserInfo entity, long rowId) {
        return entity.getUserid();
    }

    @Override
    public String getKey(UserInfo entity) {
        if(entity != null) {
            return entity.getUserid();
        } else {
            return null;
        }
    }

    @Override
    public boolean hasKey(UserInfo entity) {
        return entity.getUserid() != null;
    }

    @Override
    protected final boolean isEntityUpdateable() {
        return true;
    }

}


text:
PROSPECTS CHALLENGE PRACTICE NOTEBOOK
September 8, 2019 Nick Hart
Notes and observations from the Penguins' practice on Sunday
MOSKAL MAKING HIS MARK
The 2019 Prospects Challenge provides a bevy of great opportunities for the Pittsburgh Penguins prospects, such as tuning up for training camp, impressing coaches and scouts alike, and, of course, the thrill of playing hockey again after a summer away from game action. For some players though, an event like this provides something more.
A future.
The Penguins organization has shown a history of inviting unsigned players to play for them at the tournament in Buffalo, New York, and a handful of those players have ended up with contracts. This year is no different, and Billy Moskal is among the unsigned invitees to this year's event.
Moskal is the only one of the free agents to have played in both games of the Penguins' schedule thus far, slotting in on the fourth line and often on the penalty kill. AS those contests wore on, the subtleties in Moskal's game began to show through.
"First game, I was still feeling out the speed a little bit, and I was a little nervous," he admitted. "But second game, I thought I played a lot better. I settled in, and I think I did a better job showing my stuff."
And what exactly is Billy Moskal's "stuff"? The 19-year-old centerman considers himself a responsible, two-way player who works tirelessly on the P.K. and can chip in on offense, too. He also considers face-offs to be an "important" facet of his game.
This scouting report checks out with Sam Miletic, fellow Penguins prospect and a teammate of Moskal's in junior with the London Knights. In fact, once upon a time, Miletic came to this tournament as a tryout invitee and left with an NHL contract. Moskal hopes to follow in his old teammate's footsteps by continuing to show the Penguins scouts and coaching staff what he's made of at the Prospects Challenge.
"Hopefully they remember my work ethic," Moskal said. "When they think back, I want them to remember that I was a good teammate, someone they want to invite back in the future and in years to come."
SPECIAL SPECIAL TEAMS
The referees have been calling things tight in Buffalo, and thus, the Penguins prospects have seen a lot of special teams play through their first two games. The Penguins have been particularly stuck on the penalty kill in those two contests, heading to the man disadvantage 13 times.
Though no coach prefers seeing him team a man down, Mike Vellucci praised the work of his penalty kill units after Saturday's win over New Jersey.
"We had some big penalty kills [on Saturday]," Vellucci said. "I think they had seven or eight power plays, and another five-on-three, too. Specialty teams was definitely a difference-maker in us winning that game."
The Penguins' P.K. is clicking at 84.6% (11-for-13) through two games at the Prospects Challenge.
HAWKINS "FIGHTING" FOR A SPOT
Brandon Hawkins showed off his signature shooting ability in his brief time with Wilkes-Barre/Scranton last season, and he's demonstrated that same skill in Buffalo this weekend. However, he introduced the Penguins coaches to a new weapon in his arsenal during Saturday's win: fighting.
"My dad was a fighter, so he kind of taught me what he knew," Hawkins said. "It shows that you have some guts if you don't mind doing that, if you're not afraid. It shows there's something there in terms of your character on the ice."
It's yet to be seen if Hawkins – or any of the Pens prospects – will drop the gloves again in the last game of the Prospects Challenge on Monday, but Saturday's fisticuffs certainly left an impression on the coaching staff. Hawkins won't back down from a challenge.
• Speaking of making an impression, this weekend has served as a lot of young players' first chance to strut their stuff in front of new Wilkes-Barre/Scranton head coach Mike Vellucci. This doesn't seem to be lost on anyone, as even during the team's practice on Sunday, players were giving their all and sprinting through the end of every drill.
• A lot of attention has been given to the Penguins' defense pairings of Calen Addison & Niclas Almari and Pierre-Olivier Joseph & John Marino, and rightfully so. Flying under the radar a bit is the third pairing; two AHL-contracted blueliners, Michael Kim & Jon Lizotte. Kim has done a good job at using his stick to end plays in his own zone, and Lizotte has been a force while defending the Penguins' net-front. Don't sleep on Lizotte potentially making an impact with Wilkes-Barre/Scranton this season as a rugged but fairly fleet-footed defenseman.
• Perhaps the biggest question looming over the Penguins' final game of the 2019 Proscpects Challenge is who will get the call to start in goal against the Sabres. Vellucci called Alex D'Orio "the difference" in Saturday's win over New Jersey, but if I were a betting man, my money would be on Emil Larmi starting on Monday. Larmi was a champion in the Finnish Liiga last year, but is still making the adjustment to the North American rink dimensions for the first time in his career. A start on Monday would continue to aid him in that adjustment. However, Vellucci has given no indication as to who his pick will be for Monday's starter.
Tags: Alex D'Orio, Billy Moskal, Brandon Hawkins, Emil Larmi, Jon Lizotte, Mike Vellucci, Pittsburgh Penguins, Prospects Challenge, Wilkes-Barre/Scranton Penguins
ONE-ON-ONE WITH J.D. FORREST
WILSON RECALLED BY PITTSBURGH


text:
U.S.News & World Report
Your Brain on Om: The Science of Mantra
Gabriel Axel
In response to my first post on yoga and the brain, I received a thoughtful question from a reader: "Why would my brain want to love saying Om?" We have often heard (or heard of) yoga students or ourselves chanting the sound Om or Aum at the beginning or end of a yoga class. When I first took a yoga class, I was curious as to the reason and significance of using this sound, feeling slightly awkward uttering aloud this unfamiliar sound. Indeed, in some of my yoga classes, there may be students who opt out of participating in this part, instead choosing to remain silent. As a scientist by birth, so to speak, and thus a true skeptic in the sense that I enjoy questioning unfamiliarities to a healthy degree - rather than the self-serving doubting of everything that doesn't agree with the limited convictions of the personal mind - I figured that chanting such a sound may have a functional purpose if I experimented with it. I soon discovered that there is a vast science of sound in yoga used for increasing awareness and expanding emotional states of the human personality in ways that align with some recent investigations in neuroscience.
In the course of human evolutionary history, the auditory faculty evolved to process some set of constant features in nature, which make up the core grammar of auditory perception. These are the bite-sized pieces of sound information that the brain has evolved to process and of which to make sense. Through our sense of hearing the brain detects forms in space, much like echolocation in bats, by recognizing the sounds of interactions among solid-object physical events. Imagine that you hear the sound of a car's tires screeching, followed by a crash, and then the reverberation of the impact. What you've just heard is a series of events: a slide (tires screeching), a hit (the impact) and a ring (the reverberation), the three major types of physical interactions. Neuroscientist Mark Changizi has posited that the major phonemes of speech have evolved to resemble these kinds of interactive events, in a sort of onomatopoeia, where the sounds of the words resemble the events themselves, such as in "screech" and "crash." Speech, and even music as an ordered narrative of sounds, make use of our brain's evolved capacity to perceive natural sounds.
[Read: Yoga with Down syndrome: Sarah Schaffer's Story.]
Mantra is a Sanskrit word for "sound tool," and Om is one of myriad such mantras. Sanskrit and some other ancient languages such as Tibetan, prototypical Egyptian and ancient Hebrew evolved as complex systems of onomatopoeia, where the sounds evoke movements of energy. This evocation is qualitative and subjective and is linked with interoception (inner body sensations) and emotional sense of self, both predominantly represented in the right hemisphere of the brain. Conversely, the narrative strand of sounds in which we give them meaning is done predominantly through the left hemisphere. What is fascinating about mantras is that from a physics standpoint, the sounds themselves, before they are assigned meaning, will resonate in different parts of the body and mind, creating actual interactions or events. Mantras are information, in the literal sense of in-forming: the creation of form, or interactions. The Sanskrit language is an information sequencing system that mimics the process of nature's repeating patterns. As the Sanksrit scholar Dr. Douglas Brooks has said, "Sanskrit tells us what Nature shows us. A limited number of rules gives an arbitrarily large number of outcomes. The way Nature goes about its business, Sanskrit goes about its language." Much like the emotive quality of immersing oneself in music, mantra uses sound to evoke movement of physical and emotional energy through stimulation of the nervous system, from which emerges meaning and narrative.
[Read: The Brain in Four Dimensions.]
In order to have insight into and validate a mantra for ourselves, it must be experienced and felt through introspection. Let's take the mantra Om, or Aum, one of the most common in Sanskrit and Tibetan. If Aum is indeed onomatopoeic, then performing it can create an event inside the nervous system, which can then become an object of concentration and meditation, and thereby a focal point for expanding physical and emotional awareness. In terms of phonemes, we notice that it does not have any plosives or fricatives, only sonorants. From the types of solid-object physical events that the brain evolved to perceive, this respectively corresponds to an absence of hits and slides, and the presence of only rings. A, U and M are sonorants or rings, so this particular mantra qualifies an object that inherently has no interactions (hits or slides). In terms of physics, this means our object is formless. Try resonating the mantra aloud, allowing air to flow through the nasal passage, smoothly transitioning between the three sounds. If you do not wish to disturb anyone that may be around you, you can whisper the sounds subvocally. The A (pronounced ä, as in "car") can feel like a wide opening and has a broader vibratory effect on the physical body, approximating the gross consciousness of the waking state. The U (pronounced o?, as in "soup"), has a funneling effect, narrowing the consciousness into subtler sensations such as thoughts and impressions, approximating the dream state. The more nasal M sound is like the drone of a bee; it makes the cranium vibrate in a kind of undifferentiated and ubiquitous earthquake over the convolutions or valleys in the cerebral cortex, approximating the deep dreamless sleep state of consciousness. Traditionally, Aum represents and has the capacity to progressively open up the practitioner to the ever-present formless and timeless reality, the background radiation of the cosmos that echoes the Big Bang. Aum is found in the form of Amen in Christianity, Judaism and ancient Egyptian, where it also codes for the immutable eternal aspect of consciousness.
[Read: Benefits of Yoga: How Different Types Affect Health.]
The feelings and symbolic representations of the sounds will differ from person to person because, like any tool, the effects of the sounds depend on the user operating them and the object of use, namely the condition of the body and mind. The practitioner should first develop a state of relaxation through proper breathing. It is also important to take interest in or to have a healthy curiosity for the practice so that the effect of actually enjoying the learning process may help the mantra get a foothold in the system. Mantras can be done vocally, sub-vocally (whispering) or silently in the mind. It is recommended to start aloud, and then proceed with the more silent variations. Silent repetition does have an effect; when the frequency of any sound is high enough, it extends beyond the human range of hearing and eventually achieves stillness, which is beyond sound itself. It has been demonstrated in a double-blind study that ultrasound probes applied to the skull can improve subjective mood, and it has been evidenced that even imagining performing musical exercises rewires and strengthens nerve connections. Both of these studies speak to the capacity of mental recitation of mantra to activate and affect the physical nervous system. Moreover, group chanting or recitation of mantra can synchronize the brainwaves between the participants, achieving yet another level of collective effect, as has been shown between musicians, which can help to understand the functional basis for group chanting in many of the world's wisdom traditions.
Johann Wolfgang von Goethe once said: "Architecture is frozen music." The Sanskrit language is code for the patterns of nature, sonic representations of the way nature works. Mantras hold within them the latent forms of the universe. From supreme stillness and subtle ultrasonic vibrations, these latent forms cascade into being as audible sound, which then has the capacity to in-form, or shape reality, as has been demonstrated by cymatics. By practicing mantra, we can tap into the source of that power to manifest - we can drive our awareness deeper into the bones, muscles and tissues of the body to gain a greater sensitivity and understanding of our makeup and amplify the emotional energies latent within, much like the potential energy present in mountains that then becomes kinetic in the form of an avalanche when the earth quakes. By aiming with intention the practice of mantra into progressively deeper layers of ourself, we can bring more of ourself online, as it were, and therefore more on board the journey of health and fitness towards union and wholeness. Through mantra, we have the opportunity to practice yoga.
[Read: 5 People Who Are Changing the Face of Yoga.]
Hungry for more? Write to eatandrun@usnews.com with your questions, concerns and feedback.
Gabriel Axel, MSc., RYT 200 is a certified yoga teacher, neuroscience and cognition specialist, and Integral consultant. He infuses the traditional practice of yoga with scientific tools to integrate mind and body through the power of transformational healing. Through practical knowledge and creative methods, his work focuses on serving others to empower and maximize their development by manifesting untapped potential, vitality and inner strength. Gabriel is also an Ambassador for Fitfluential, a network of highly influential fitness enthusiasts sharing their journey. Learn more at GabrielAxel.com and follow him on Twitter, Instagram and Facebook.
Introducing technology to agriculture
Woman scratches North Carolina lottery ticket — and then the tequila starts flowing
First Alert Weather: CBS2's 1/26 Thursday morning update


Available for sale till next 5 days only.
CGS is an institute for the preparation of government services. CGS is an initiative run by a team of IAS interview faced, RAS qualified and other professionals. It is well known institute imparting comprehensive and specialized training program to aspirants having dream for secured and recognized future!!!


text:
MESOP MIDEAST WATCH :Turkish, Israeli leaders speak on Al-Aqsa Mosque tensions
Blaming Israeli radicals and security forces for the attacks against the Palestinians, Erdogan expressed concern over the spreading of unrest to Gaza.
Nazlan Ertan AL MONITOR – April 19, 2022In a phone call with Israeli President Isaac Herzog late Tuesday, Turkish President Recep Tayyip Erdogan
expressed his concern over Israeli actions against Palestinian worshippers at Jerusalem's Al-Aqsa Mosque last week.
The two leaders discussed regional issues and bilateral relations, "particularly the events caused by some Israeli radical groups and security forces in recent days," Erdogan said in a series of tweets.
Erdogan reportedly told Herzog that since the beginning of Ramadan, more than 400 Palestinians have been injured and 18 people, including children, lost their lives in the events that took place in the West Bank and at Al-Aqsa Mosque. Erdogan added that he was concerned that the events will spread to the Gaza Strip.
Blaming "radicals" for the attacks, the Turkish president said that measures must be taken to protect the sanctity and security of the mosque. "The violent events that happen every year cause rightful reactions in the Islamic world," he added.
Herzog was quoted as telling Erdogan that Israel is protecting freedom of worship and the efforts by Israel's security forces are ensuring that freedom. Herzog told Erdogan that incitement and propaganda should be ignored, while violence — especially toward Jews walking to prayer — should be condemned.
Israel carried out its first airstrike on the Gaza Strip in months early Tuesday in response to a rocket fired from the Palestinian enclave after a weekend of violence around a Jerusalem holy site. On Friday, at least 152 Palestinians were wounded in clashes with Israeli riot police inside the Al-Aqsa Mosque compound, the latest outbreak in an upsurge of violence that has raised fears of a slide into wider conflict.
The phone call took place amid an air of rapprochement between Tel Aviv and Ankara. Foreign Minister Mevlut Cavusoglu said that he would visit Israel and Palestine one after the other — a traditional practice in Turkish diplomacy —  in the third week of May.
In a live interview with NTV April 14, Cavusoglu refuted earlier claims that he would visit Israel with Defense Minister Hulusi Akar. "The president, while receiving  Herzog, said that we would go to Israel with Energy Minister Fatih Donmez. So I do not see why there is further speculation," he said.
Possible clashes in Haram al-Sharif, the third holiest site in Islam, came up during Herzog's visit to Ankara last month. Erdogan had also told his Israeli counterpart that Ankara expects Israeli authorities to be sensitive during the Muslim holy month of Ramadan and stressed the importance of allowing Palestinians to enter Israel. April marks the three significant festivals Abrahamic faiths observe: Jewish Passover, Christian Easter and the Muslim fasting month of Ramadan. "Good as it sounds, this always spells trouble," said one Turkish diplomat, explaining that how Ankara and particularly Erdogan react could become a litmus test in the budding Turkish-Israeli relations.
Erdogan's initial remarks on the clashes were more moderate than those in previous years. On Sunday, Erdogan called his Palestinian counterpart Mahmoud Abbas to tell him that he strongly condemned Israeli "intervention on worshippers."
His use of the word "intervention" marked a sharp contrast to the Turkish president's earlier strong condemnation of  Israel's "heinous attacks" in English, Arabic, Turkish and Hebrew.
Erdogan said that he thanked Abbas for his "restraint and prudent leadership" and assured him that Turkey was always on the side of Palestine. "The events remind us of the necessity for all Palestinian groups to work toward unity and reconciliation," Erdogan tweeted.
The Turkish president's telephone diplomacy continued Monday with Jordan's King Abdullah II. Erdogan expressed concern about the incidents unfolding in Palestine over Israel's "interventions and provocations" and urged close cooperation between Turkey and Jordan on steps for regional peace.
The Hashemite monarchy has held the custodianship of Al-Aqsa and the Dome of the Rock in Jerusalem for nearly a century. In 1924, the Supreme Muslim Council recognized Hussein bin Ali Al-Hashimi, great-great-grandfather of Abdullah II, as custodian of Jerusalem's Christian and Moslem holy sites.
As the deal predates Israel and the Palestinian Authority, both signed agreements in the last quarter-century recognizing Jordan's custody. The Hashemite dynasty also pays for the upkeep of the sites. In 2016, Abdullah partly funded the renovation of Christ's tomb in the Church of the Holy Sepulchre. In 2017, he donated $1.4 million to the Jerusalem Islamic Waqf, the Jordanian authority responsible for administering Al-Aqsa.
Both Abdullah and Erdogan spoke to UN Secretary-General Antonio Guterres on Al-Aqsa.
Erdogan reportedly told Gutteres that Turkey condemned Israel's actions, while Abdullah accused Israel of provocative acts in the mosque compound that violated "the legal and historic status quo" of the Muslim holy shrines. The UN head reportedly "reaffirmed his position that the status quo at the holy sites in Jerusalem must be upheld and respected" and "any provocation" "must be avoided at all costs." The UN Security Council has convened an emergency session today to discuss the latest outbreak of violence.
Speaking to Ankara-based ambassadors, Erdogan adopted a stronger tone on Israel, underscoring the importance Turkey attached to Al-Aqsa Mosque and Jerusalem.
Erdogan also tied the unfolding of events in Jerusalem to various attacks against Muslim places of worship in Europe. "Anti-Muslim and xenophobic groups should not be allowed to use their freedom of expression and assembly to insult and attack Muslims' beliefs, sanctities and places of worship," he said.
Erdogan's words come after three days of clashes in Sweden over a far-right and anti-Muslim politician urging his supporters to burn a copy of the Quran. Many countries in the Middle East condemned his plans. Iraq summoned the top Swedish diplomat in Baghdad to protest the issue and the governments of Jordan and Qatar denounced the plans.
The Turkish Foreign Ministry also joined in. "We condemn, in the strongest way possible, attacks and provocations against Muslims, Islam, the Quran and places of worship in different parts of the world during the holy month of Ramadan," read its statement.
Cavusoglu said the Al-Aqsa outburst and the Quran burning in Sweden were two faces of anti-Muslim attacks as part of a series of events that target Muslims in the holy month of Ramadan. Speaking alongside his Hungarian counterpart Peter Szijjarto on April 19,  Cavusoglu claimed that sacred Muslim places or beliefs had been attacked almost every day since Ramadan began.
"A Neo-Nazi politician burned the Quran while being protected by the Swedish police last week. This is unacceptable but hardly unique. On April 15,  a Turkish citizen in New York was the target of an anti-Muslim attack," he said. "On April 16, in the German city of Dortmund, threatening letters, accompanied by the photo of a pig, were sent to a Turkish mosque. The next day, in Canada, shots were fired at a Muslim group leaving a mosque. In Virginia, US, anti-Turkish slogans were scribbled on the wall of a mosque … and you all know what happened in Al-Aqsa Mosque," he said. "I do not think that the escalation of events in Ramadan is a coincidence. This is the work of the ultra-right Nazi groups who are losing at the ballot box. We stand against both anti-Muslim and anti-Semitic attacks, as we consider them both crimes against humanity."
Read more: https://www.al-monitor.com/originals/2022/04/turkish-israeli-leaders-speak-al-aqsa-mosque-tensions#ixzz7R1QldWB3


text:
Home >> October 2017 Edition >> The Coming Satellite Cyber Crisis
The Coming Satellite Cyber Crisis
by Ryan Johnson, Global Cybersecurity Analyst, Access Partnership
A revolution is occurring in the satellite industry that will make 5G connections more robust, power the global Internet of Things (IoT) and bring broadband internet to the world's most remote places.
These diverse new applications are powered by lower launch costs, innovative designs like smallsats, global mesh networks, and terabit speeds. However, as these new applications make satellite connectivity more mainstream, the industry may struggle to adapt to the new cybersecurity issues that come with them, triggering increased regulatory scrutiny.
One key challenge for the satellite industry is a shift in their user base. Traditionally, satellite communications carried highly controlled communications — for example, from an embassy abroad back to the capital, or from a television content distributor to viewers. The users knew their communications were sensitive or proprietary and sought to protect them through a variety of means, chiefly encryption. Services such as Direct to Home (DTH) broadband and connected cars will bring satellite connectivity into the lives of many users who aren't prepared to manage their own cybersecurity.
At the same time, satellites are at the forefront of broadband access for developing countries. This is something the industry is rightly proud of. However, new users in these regions carry additional risks but provide lower revenue per user. More widespread use of off-license software in many developing countries reduces access to basic upgrades and patches that would otherwise reduce the impact of attacks, while growing use of mobile finance and other applications increases the attractiveness of these new users to cybercriminals.
Finally, satellite network operators are in business with the exploding IoT industry, which brings another set of attack vectors onto their networks. In dispersed IoT devices, data is sent via satellite from sensors to data collection centers and vice versa.
Some of this data will inevitably contain some sensitive customer information or authentication data to enable software updates — for internet-connected cars, for example.
When IoT device manufacturers don't provide adequate security, this data can be intercepted, leading to data breaches that leave no fingerprints on the network.
Alternatively, people may use the satellite system to hide their malicious traffic and elude authorities. Research published by Kaspersky Lab suggests that hackers have been doing just that — they use tools that can be easily acquired for a few hundred dollars and they can coop satellites as unwitting links in a global malware network called Turla.
In this way, criminal organizations can use satellite links to bypass a major obstacle in the command and control of their malware networks, evading law enforcement activities as well.
It's entirely reasonable to think that in the next few years as billions of IoT devices proliferate, many with questionable security designs, some cunning hacker will find a way to launch a Distributed Denial of Service (DDoS) attack using something as simple, yet ubiquitous, as oil well pressure monitors or weather sensors.
If the Mirai botnet wreaked havoc on global data flows with only around 100,000 devices, an IoT botnet of 1 or 2 million devices could bring the global digital economy to a standstill, affecting satellite and terrestrial networks alike. Such bad actors may very well be even more motivated to target the satellite networks that handle sensitive military and government communications.
The increased amounts of sensitive data — say financial data from satellite-connected banking platforms like ATMs or personal health information from telehealth apps — will serve to increase the attractiveness of satellite data streams to criminal hackers. Breaches of this kind of data increase the likelihood that governments will favor stringent data localization laws, shutting off the benefits of cross-border data flows that satellites are well-suited to provide.
State sponsored cyber actors will also use these vectors to collect data on targets, infiltrate hardened networks, and disrupt or distort data flows to manipulate their adversaries. The geopolitical "wilderness of mirrors" extends out into space with just as much acrimony as it does on land.
As governments continue to research vulnerabilities in satellite networks, it is possible for their discoveries to get out of their hands and into those of criminals, as happened with the WannaCry attacks, where (likely) U.S. Government cyber tools were harnessed for a disruptive global criminal attack.
Of course, it's entirely possible that some of the satellite terminals themselves face security issues which could endanger the increasing numbers of planes, trains, ships, and automobiles relying on them. IOActive alleged this in 2014, and the industry responded by further hardening its products and ensuring secure design practices.
In short, the satellite industry is headed towards its ILOVEYOU or Mirai moment. Security questions that have been ignored for too long will suddenly come to the fore and the outcome will be a loss of trust in the product. When consumers lose trust in product, regulators tend to come running. As satellites operate on a global scale, the threat from adversarial regulators comes from many different countries.
Satellite operators, for their part, are taking some meaningful actions. For example, the Global VSAT Forum (GVF) and Satellite Industry Association (SIA) jointly released a policy statement articulating the industry's commitment to common-sense cybersecurity. Some operators have added cybersecurity officials at a high level, ensuring the whole organization is participating in its cybersecurity efforts.
However, as operators increasingly deal with industry sectors that are much less cyber-secure, they remain an easy target for regulators seeking to control the security and privacy of their citizens' data. The regulatory position the United States has staked out — voluntary, risk-based mechanisms that allow for tailored solutions — works well when industry meets the sometimes-unwritten standards of regulators. However, there are more than enough examples of reactionary regulation that comes in the wake of a major breach or failure in the market.
The GVF/SIA joint policy statement is a good start. It embraces the elements that have put the United States among the world's most cyber-secure countries, according to the International Telecommunication Union (ITU)'s Global Cyber Index. Beyond this forward-looking policy stance, operators need to work with their customers to secure data, facilitate encryption of traffic across the entire network, and engage with regulators around the world to promote understanding of their role in the security of networks.
Each company in the satellite space should understand the risks their customers bring to their network, and take appropriate steps to respond. Operators should be prepared to cooperate with governments, industry, and consumers to reduce risks and respond to threats and attacks.
In addition to intra-industry work, they should participate in the global discussions on cybersecurity in the variety of venues that matter: the Global Conference on Cyber Space (GCCS), the ITU's study groups on technical and development issues related to cybersecurity, and the capacity building work being done by organizations like the Global Cyber Security Capacity Centre at Oxford University.
The industry should also work to build links with government cyber regulators and responders to have contacts and procedures in place before an incident occurs. Mitigating risk and minimizing impact before an incident compels regulators to enact stringent rules is the best way to ensure that the satellite can keep driving global connectivity solutions.
www.accesspartnership.com/
Ryan Johnson leads Access Partnership's global cybersecurity public policy practice. He advises clients in industry, government, and international organizations on policy developments in the fields of cybersecurity and internet governance.


The UQAM Centre de Design is presenting an exhibition devoted to the clothing creations of Ying Gao, fashion designer and professor at UQAM's School of Design and École Supérieure de Mode. From November 14 to December 15, Montrealers will have the opportunity to discover Gao's fascinating works, which have been shown around the world. Mediating between the body and its physical and social environment, some of the pieces integrate different technologies and respond to their immediate surroundings.
The intangible is a key component in both the creation and fabrication of Gao's works. Elements that can't be grasped, such as the air of a diaphanous fabric, are an integral part of the structure of her pieces. Other impalpable elements include work activated by a voice, a glance or a flash of light.


Last week, Mountain Harvest Organics drew a big crowd to their booth at North Asheville Tailgate Market with live pepper roasting! Customers were treated to perfectly charred red peppers, and the fragrant smoke filled the air. What onlookers and onsmellers may have missed, though, was the plethora of seasonal recipes they had ready for the taking. So, we snagged one for you! If you make it, let us know how it goes + share your favorite fall recipe below! And, find more Mountain Harvest Organics-recommended recipes.
1/2 pound local butternut squash, seeded, peeled (optional), and cut into 3/4 inch pieces. Or, substitute your favorite local winter squash.
Heat 12-inch nonstick skillet over medium-low heat and add rice.
Toast, stirring frequently, until lightly browned; about 3 minutes.
Add curry powder and cook, stirring 1 minute.
Add kale, squash, raisins, coconut milk, water, and salt to skillet. Cover and simmer until liquid is absorbed and rice and squash are tender, about 12 minutes.


Interest only mortgages which have also been called 'endowment mortgages' or 'pension mortgages', are a mortgage where only the interest is repaid. At the end of the term you will still owe the amount you originally borrowed and how you repay this is up to you. Most lenders will require some form of proof such as an investment plan, pension or other method that you will be able to repay the debt normally before your retirement age.


text:
Q: How to use passifox with keepassX ? I found a fork of keepassX with a built-in support for HTTP but I have absolutely no idea how to make it work with passifox. I didn't found any doc neither.
I already have keefox + keepass with mono but this is unconvenient.
What should be done to link passifox and keepassX ?
Thanks

A: Well passifox and keepasshttp both require Keepass v2. Unless you are using the alpha version of KeepassX, it will not be possible because v1 uses Keepass v1 databases.
I would suggest contacting the KeepassX authors and discussing with them.
UPDATE: OK, I can see that the fork does use the alpha v2 version. Again though I suggest contacting the author.

A: Well, nothing was needed.
It appears that Keefox was causing troubles. Once disabled, passifox can communicate with keepassX and everything works.


First came Brexit. Next comes Crexit?
Home/Blog/Trading Ideas/First came Brexit. Next comes Crexit?
Brits sent shockwaves throughout financial markets in June when they approved the referendum to exit the European Union. Since then, concerns have also surfaced that corporate debt is rising everywhere, giving us "Crexit," a mashup of the twin risks of Brexit and credit.
Corporate debt has climbed because borrowing has been cheap and global central banks are likely to keep rates low. Too much borrowing, however, could spell widespread trouble unless credit quality remains high, economic growth continues and inflation and interest rates stay low.
S&P predicts global corporate debt which stood last year at $51.4 trillion could ramp up to $62 trillion by the year 2020 and $75 trillion by 2021, a 21 percent rise. China is predicted to be the largest borrower accounting for about 45 percent of this debt followed by the U.S. at 22 percent and Europe at 15 percent.
If the Federal Reserve raises rates and the U.S. economy slows, many businesses could struggle to manage their growing debt effectively as some are likely to suffer when the economy is doing poorly.
Investors could take a hit too if stock valuations drop and debt becomes more expensive. Actions like rolling over bonds or refinancing loans are harder to do when rates go up and inflation increases.
If borrowers start defaulting on their loans, many lenders could decide to pull out of the market and this sudden tightening could set off another financial panic, i.e. Crexit.
What's the worst that could happen? According to Standard & Poor's, it would be a "series of major negative surprises sparking a crisis of confidence around the globe. These unforeseen events could quickly destabilize the market, pushing investors and lenders to exit riskier positions." In addition, S&P thinks some degree of a credit market correction is inevitable because the growth of corporate borrowing has outpaced that of the global economy and the actions of monetary policy so far have been increasing financial risk.
Not only are a lot of companies borrowing money, many of them are already highly leveraged. For example, about 50 percent of companies within the financial sector carry significantly more debt than equity. When companies increase their leverage, not only do they become riskier investments, they are more likely to go into default. Close to 5 percent of the financial sector has negative cash flows or earnings today and it's possible that this ratio could rise.
There have been 100 corporate bond defaults so far this year. That's 50 percent higher than they were a year ago, largely thanks to volatility in financial markets and slumping prices of oil and other commodities. No doubt energy and natural resources businesses accounted for a majority of defaults this year. This has led some analysts to predict a spillover effect into other sectors in the upcoming quarters.
Note that corporate defaults are up 87 percent from last year with the U.S. behind many of them.
Many investors, however, do not appear to be aware of the rising bond defaults. Fixed-income funds are at their highest levels since February 2015 with trading volumes for corporate bonds up double digits amongst investment-grade and high-yield bonds.
If the credit crisis predictions are correct, things could get a whole lot worse before they get better.
Take some time to review your portfolio. Start paying close attention to how the companies you're invested in or eyeing are managing their balance sheets and cash flow. Are they becoming more leveraged? Are they at risk of default? Did they meet, beat or disappoint their latest earnings results?
Blue chips and other companies with large balance sheets and strong operating cash flow should outperform in a Crexit scenario.
The Cash Flow Kings motif includes companies with some of the lowest Enterprise Value to Free Cash Flow ratios for the past four quarters. As of August 1s its 1-year return is 12.4 percent.
The Dividend Stars motif includes companies with a track record of not cutting dividends for at least 25 consecutive years while growing in the prior year and has a 1-year return of 16 percent as of August 1st.
The Stable Earnings motif is focused on companies that are less impacted by economic downturns and command higher valuations versus their peers. The motif has a 1-year return of 13.4 percent as of August 1st.
If you're new to analyzing corporate financial statements, check out our three-part series to help you get started.
Earnings season 101. Learn what the corporate earnings process involves, what consensus estimates mean and what to watch for.
All about financial statements. Read about the three main parts of a company's financial statements and the most important data points.
Mind the GAAP. Find out what GAAP stands for and how it can impact how a company presents its financials.
 Stone, Amey, "As corporate debt surges, get ready for 'Crexit,' warns S&P," Barrons, July 20, 2016.
 Cox, Jeff, "Corporate debt seen ballooning to $75 trillion: S&P," CNBC, July 20, 2016.
 Cox, Jeff, "Corporate bond defaults cross 100, highest level since crisis," CNBC, July 14, 2016.


text:
The distribution and movement patterns of four woodland caribou herds in Quebec and Labrador
W. K. Brown
J. Huot
P. Lamothe
S. Luttich
M. Paré
G. St. Martin
J. B. Theberge
Keywords: woodland caribou, Quebec, Labrador, distribution, movements
Recent studies of woodland caribou (Rangifer tarandus caribou) in northern Quebec and central Labrador have demonstrated similar patterns of seasonal movements and distribution among four herds. Aerial surveys and radio-telemetry indicated that animals occupied forest-wetland habitat at densities of 0.03 caribou km2, or lower, for most of the year. Although females were widely dispersed at calving individuals demonstrated fidelity toward specific calving locations, in successive years. Caribou did not form large post-calving aggregations. Movement was greatest in the spring, prior to calving, and in the fall, during or immediately after rutting. Caribou were generally sedentary during summer and winter, although some moved relatively long distances to late-winter range. Although the herds occupy continuous range across Quebec and Labrador, our data indicate that the herds are largely discreete and should be managed individually.
BrownW. K., HuotJ., LamotheP., LuttichS., ParéM., MartinG. S., & ThebergeJ. B. (1986). The distribution and movement patterns of four woodland caribou herds in Quebec and Labrador. Rangifer, 6(2), 43-49. https://doi.org/10.7557/2.6.2.581
Copyright (c) 2015 W. K. Brown, J. Huot, P. Lamothe, S. Luttich, M. Paré, G. St. Martin, J. B. Theberge


1984 anti-Sikh riots: Can the Centre deliver justice to victims of mass violence?
Observers warn that this could just be the beginning of a fear psychosis among Muslims working or travelling to and from the US. There are already a far higher number of checks placed on people with Muslim or even Muslim sounding names entering US.
Tribesmen from India are working alongside a team of Labrador retrievers to help Florida remove Burmese pythons from the Everglades.