text:
\section{Introduction}
One of the main goals of reservoir evaluation is the determination of petrophysical parameters like porosity, permeability or water saturation. In order to get an accurate estimation of these parameters, a complete characterization of the lithology or the nature of the rocks is necessary. The petrophysicist proceeds to the analysis of wellbore logs which often requires the input from an expert. Indeed, petrophysical inversion of wellbore logs yields a selection of minerals or fluids belonging to the formation usually with more unknowns (the mineralogy) than measurements (the logs). In a bulk density-neutron porosity cross-plot, an expert may identify the presence of gas, limestone or an exotic mineral. But these choices may not always be obvious from
a direct lecture of the logs.

We can summarize roughly the characterization of the lithology based on conventional logs using a classical inversion approach like Elan or Multi-min  (described in \cite{mayer1980global}, \cite{quirein1986coherent}, \cite{cannon1990applying} or \cite{peeters1991comparison}) by the following steps:
\begin{itemize}
\item Definition of the zones of the well.
\item Selection of the mineralogical components and fluids for each zone, and computation of the lithology using an inversion approach.
\item Tuning the physical parameters (endpoints) of the components (when needed).
\end{itemize}

The petrophysicist will iterate the last two points until they reach a model fitting the data or having a good match with core data. Tuning the endpoints is often necessary for the shaly component. For instance, the variability of the endpoints of the kerogen is very high through the geographical areas: the gamma ray ranges between 500 API to 4000 API.

We propose a Bayesian approach to select minerals in a stratum. Forward modeling liberates us from the underdetermination of the classical inversion problem using conventional logs. Bayesian inversion methods have been mainly used to solve inverse problems in the domain of rock-physics or geophysics (\cite{tarantola2005inverse}). Many methods use a Bayesian framework to solve the amplitude versus offset (AVO) inversion and to obtain petrophysical attributes like porosity, water saturation or volume of clay (\cite{grana2016bayesian}, \cite{xu2016bayesian}, \cite{rimstad2012hierarchical}).

Other petrophysical approaches to retrieve interesting features have been tested in \cite{qin2017bayesian}, \cite{da2008automatic}, \cite{sanchez2010synthetic}. These methods mainly focus on the uncertainties of the logs and the analysis of the posterior distribution of the petrophysical outputs. Except in \cite{yang2013joint}, the minerals considered in the Bayesian inversion are very limited  (Shale, Sand, Water, Hydrocarbron and sometimes Carbonate) and the model linking the minerals to the logs are quite simple. Moreover, these methods often have a number of unknowns equal to the number of logs available.

In this paper, we assume that the geological layers are known (we may refer to historical references \cite{Wolf1982}, \cite{moline1991identification} and \cite{NewFacies} or to the more recent \cite{Facies3} for a description of some segmentation algorithms for layer detection). Hence we assume that these geological layers have a constant mineral composition, and we describe the model in Section \ref{model.context}. Unlike previous works, our model is flexible enough to allow complex relationships between the logs and the volumes, and we do not restrict ourselves to a low number of minerals. We introduce a three-step method to get the different lithological hypotheses per layers in order to solve the underdetermined mineralogical inversion problem. First, we use an Approximate Bayesian Computation (ABC) technique to get the posterior probability of the lithology (see Section \ref{method}). Then we use a density-based clustering algorithm on this posterior probability to distinguish the different lithological hypotheses, as described in Section \ref{clustering}. Finally, for each of these hypotheses, we propose a method to tune the endpoints based on the resolution of a global optimization problem.
Our method is therefore entirely automated, and proposes different plausible lithological hypotheses as well as some confidence estimate for each of them. We illustrate its performance on both synthetic (see Section \ref{synth.data}) and real datasets (see Section \ref{case.study}.)

\section{Methodology }
\subsection{Model and Context} \label{model.context}

In mineralogical inversion, a crucial step is the choice of the components of the lithology. Indeed,  starting from $d$ logs and using a classical inversion imply a maximum of $d+1$ minerals or fluids in the inversion model. But usually, $M$ the number of mineral components is such that $M \gg d$, so a model selection is needed. Here, we denote the elements of the lithology by $V \in  \mathbb{R}^{M}$ or volume (volumetric fraction) and the logs by $L \in  \mathbb{R}^{d} $.  $V$ represents the volumetric fraction of the minerals and the fluids. We assume that for each depth $n$, we have:
\begin{equation}
L_{n}=G\left( V_{n}\right)+X_{n},
\label{eq:log_equation}
\end{equation}
where $X_{n}\sim N\left(  0,\Sigma\right) $ ($\mathcal{N}$ is a multivariate normal distribution and $\Sigma \in \mathcal{M}\left( \mathbb{R}^{d} \right) $ is the covariance matrix)  and $G$ an operator from $\mathbb{R}^{M}$ to $\mathbb{R}^{d}$. Besides, the volumes $V_{i,n}$ are constrained by:
\begin{align*}
\sum_{i=1}^{M} V_{i,n} &=1 , \\
V_{i,n}  \geq 0 & \text{ for all i}.
\end{align*}
Our aim is to select the minerals that may appear within the geological stratum. Computing the exact amount of the volumetric fraction of the minerals is performed in the final step. Notice that whenever the number of selected components is $M$ with $M<d+1$, a classical inversion program can be run to obtain the exact volumetric fraction. The physical parameters/endpoints of the different minerals or fluids are fixed.

We consider that $d$ is around 4-5, we often have a triple combo (gamma ray: GR, neutron porosity: $\phi_{N}$, bulk density: $\rho_{b}$) plus the resistivity $R_{t}$ and the photoelectric factor $pef$ or the sonic $\Delta_{t}$. Petrophysical models involve usually between 10 and 15 components. We order them in different classes of minerals: Shale, Sand, Carbonate. The porosity $\phi$, containing the different fluids (water, oil or gas), is added to the model.  This classification is important for the prior of the lithological model. Table \ref{table:litho_model} illustrates an example of a lithological model with the main families of minerals.
\begin{table}[H]
 \fontsize{8}{12}\selectfont

\begin{tabu}{|X|X|}
\hline Family & Components\\
	 \hline\hline

		Sand-Mica &  Quartz, Plagioclase, Mica, Feldspar \\
		\hline
		Carbonate & Calcite, Dolomite, Ankerite\\
		\hline
		Clay/Shale  & Illite, Chlorite, Smectite, Kaolinite...\\
		\hline
		Porosity & Water, Oil or Gas  \\
		\hline
		Others & Halite, Anhydrite, Pyrite.. \\

	 \hline\hline
\end{tabu}
\caption{Example of lithological model}
\label{table:litho_model}
\end{table}

\FloatBarrier
\subsection{Method}
We propose in this section a two-step method based on Approximate Bayesian Computation or ABC (see \cite{abc} for a review of this Bayesian method) and density-based clustering to get the lithological hypothesis on a given stratum. Figure \ref{fig:global_method} summarizes the proposed methodology.
\begin{figure}[!h]
	\centering
		\includegraphics[width=\textwidth]{workfow_method_abc}
	\caption[Global methodology for mineral inversion]{Global methodology: from the logs of a layer to the petrophysical hypothesis. The inputs, the methods used and the outputs are respectively in green, yellow and red. }
	\label{fig:global_method}
\end{figure}
\FloatBarrier

\subsubsection{Bayesian inference with ABC} \label{method}
\paragraph{About the Dirichlet distribution}
The Dirichlet distribution of order $k$, $\operatorname{Dir}(\alpha)$ where $\alpha \in \mathbb{R}^{k}$, allows us to generate a vector $\textbf{x}=\left(x_1,\ldots,x_k\right) \in \mathbb{R}^{k} $ in the $k-1$ simplex, or in other words: $\sum_{i=1}^{k}x_i=1$ and  $ 0 \leq x_i$. Its probability density function is given by:
\begin{equation*}
 f\left(x_1,\cdots,x_k; \alpha_1, \cdots, \alpha_k\right)\frac{1}{B(\alpha)}\prod_{i=1}^{M}x_i^{\alpha_i-1},
\end{equation*}
where B is the beta function.  The expectation of each element of \textbf{x} is $\operatorname{E}[x_i] = \frac{\alpha_i}{\sum_{i=j}^{k}\alpha_j}$. The variance and the covariances are proportional to $ \frac{1}{\left(\sum_{j=1}^{k}\alpha_j\right)^{2}}$.

When $\alpha_1 = \ldots=\alpha_k = 1$, $\operatorname{Dir}(\alpha)$ is the uniform distribution on the  $k-1$ simplex. When $\alpha_1 = \ldots = \alpha_k = 0.1$, sparsity appears over the simplex, the corners and the edges of the simplex have more density mass. If the $\alpha_i > 1$ ($\alpha_1 =\ldots = \alpha_k = 5$), a mode will appear clearly on the location of the average. Figures \ref{fig:dirichlet_ditribution_1} and \ref{fig:dirichlet_ditribution_5} illustrate these cases in $\mathbb{R}^{3}$.
\begin{figure}[!h]
   \begin{minipage}[c]{.45\linewidth}
		\includegraphics[width=\textwidth]{dirichlet_ditribution_1}
	\caption[Ternary Density plot of a Dirichlet distribution]{Ternary Density plot of a $\operatorname{Dir}(1,1,1)$. It is a uniform distribution
over the simplex of $\mathbb{R}^{3}$.}
		\label{fig:dirichlet_ditribution_1}
   \end{minipage} \hfill
   \begin{minipage}[c]{.45\linewidth}
		\includegraphics[width=\textwidth]{dirichlet_ditribution_5}
		\caption[Ternary Density plot of a Dirichlet distribution]{Ternary Density plot of a $\operatorname{Dir}(5,5,5)$. We observe a mode at $\left(\frac{1}{3},\frac{1}{3},\frac{1}{3}\right)$.}
			\label{fig:dirichlet_ditribution_5}
   \end{minipage}
\end{figure}
\FloatBarrier

The inference model is based on a Dirichlet distribution as prior for the mineralogy ($V$) and introduces a Gaussian noise for the logs ($L$).  The Dirichlet distribution fulfills  the closure constraints of  the volumes. The model can be specified as :
\begin{equation}
  \left\{
      \begin{aligned}
       V &\sim \mathcal{D}\left( \alpha_{1},\ldots \alpha_{M}\right), \\
       L &\sim \mathcal{N}\left(G\left(V\right) , \Sigma\right).\\
      \end{aligned}
    \right.
\end{equation}
Once for all, we set the known operator G as linear and bounded, so $G  \in \mathcal{M}_{d,M} \left( \mathbb{R} \right)$ the set of rectangle real-valued matrices with $d$ rows and $M$ columns. The elements of $G$ are the cells $\mathcal{M}_{d,M}$ and stand for the endpoints.
We can rewrite this model in terms of likelihood function:
\begin{equation}
  \left\{
      \begin{aligned}
       p\left(V\right) &= \frac{1}{B(\alpha)}\prod_{i=1}^{M}V_i^{\alpha_i-1}, \\
       p\left(L\vert V\right) &= \exp\left[ -\frac{1}{2}\left( GV -L\right)^{T}\Sigma^{-1}\left(GV-L\right)\right].\\
      \end{aligned}
    \right.
\end{equation}
 Using Bayes' rule, the likelihood function of the combined model can be written as:
\begin{equation}
      \begin{aligned}
       p\left(V\right\vert L) &= \frac{p\left(L\vert V\right)p\left(V\right)}{p\left(L\right)},\\
       p\left(V\right\vert L) & \propto \exp\left[ -\frac{1}{2}\left( GV -L\right)^{T}\Sigma^{-1}\left(GV-L\right)\right]\frac{1}{B(\alpha)}\prod_{i=1}^{M}V_i^{\alpha_i-1}.\\
      \end{aligned}
\end{equation}
Because $d \ll M$, the matrix G is not invertible so we cannot compute the maximum a posteriori (MAP) estimation of the lithology V. To compute the  posterior distribution of the lithology we need a numerical method. Bayesian frameworks have been used to solve ill-posed inverse problem  because they handle the non-uniqueness of the solution (see \cite{stuart2010inverse}). In this study, we adopt the Approximate Bayesian Computation: it is a simple rejection method. Let $\mathbf{\theta}$ be the parameter of interest, $\mathbf{y} $  the observations, $\epsilon$ a tolerance level, $\pi$ the prior distribution of the model, and $\rho$ a distance function. The original algorithm of ABC is given below:
\begin{algorithm}[H]
  \caption{ General ABC}\label{abc_original}
  \begin{algorithmic}
	\For{$i=1$ to J}
	\Repeat
        \State \texttt{Generate $\theta^{\prime}$ from the prior distribution $\pi(.)$}
         \State \texttt{Generate $\mathbf{z}$ from the likelihood $f(.\vert\theta^{\prime} )$}

      \Until{$\rho\left(\mathbf{z},\mathbf{y}\right)\leq \epsilon$}
      \State \texttt{set $\theta_i=\theta^{\prime}$}
      \EndFor
        \end{algorithmic}
\end{algorithm}

For our problem, we adapt Algorithm \ref{abc_original}. At each depth $n$ we state :
\begin{algorithm}[H]
  \caption{ Adapted ABC}\label{abc}
  \begin{algorithmic}
	\For{$i=1$ to J}
        \State \texttt{Generate $V^{\prime}$ from the prior distribution }
         \State \texttt{Generate the corresponding $L^{\star}$ from the model}

      \If{$\forall 1 \leq i \leq d$, $\|L^{\star}_{i}-L_{n,i} \|<\delta_{i}$}
       \State \texttt{accept $V^{\prime}$}
      \EndIf
      \EndFor
        \end{algorithmic}
\end{algorithm}

Where the $\delta_{i}$ are defined for each log and should be calibrated and $J$ is around $10^{6}$.
We apply the ABC procedure for all the depth of the layer and get a posterior distribution on the layer of the lithology. Due to the non-uniqueness of the inverse problem, the posterior probability on the layer of lithology is often multi-modal. For instance, if  two shales similar in terms of physical parameters appear in the lithological model,  it will be hard to differentiate them.

\subsubsection{Clustering on the results of ABC} \label{clustering}
In order to retrieve the most probable lithology hypothesis on the given stratum, we perform a density-based clustering algorithm on the ABC results. The aim of the clustering is to distinguish the modes that may appear in the results of ABC. Ideally we seek a density-based clustering algorithm detecting the outlying lithologies and with a data-driven tuning of the number of clusters.  In the literature, several generic density-based algorithms may be found such as density-based spatial clustering of applications with noise (DBSCAN) \cite{dbscan}, ordering points to identify the clustering structure (OPTICS)  \cite{optics} and  Hierarchical DBSCAN or HDBSCAN \cite{hdbscan}. We choose HDBSCAN for many reasons:
\begin{itemize}
\item Conversely to DBSCAN, the distance value (main parameter of DBSCAN) disappears. The main parameter is the minimum size of the cluster.
\item Identification of the outliers or noise is available in DBSCAN but not in OPTICS.
\item The \textit{hdbscan} package in Python (\cite{mcinnes2017hdbscan}) is quite efficient, could be run in parallel and offers low computational time. The size of a stratum could reach sometimes hundreds of feet so we may have  100 000 points to cluster.
\end{itemize}
The two main parameters of HDBSCAN are: the number of points $m_{pts}$ used for the core
distance (DBSCAN, OPTICS) and the minimum size to form a cluster $m_{clSize}$. Usually,
$m_{clSize} = m_{pts}$ and having a smaller $m_{pts}$ implies fewer points detected as noise. Here is a description of the algorithm:
\begin{algorithm}[H]
  \caption{HDBSCAN}\label{hdbscan_algo}
  \begin{algorithmic}
	        \State \texttt{Compute $ \forall x_{p}$ the core distance $d_{core,m_{pts}}(x_{p})$}
         \State \texttt{Build a minimum spanning tree (MST) using the  mutual reachability distance  \\$d_{mreach,m_{pts}}(x_{p},x_{q})$}
					\State \texttt{Derive the cluster hierarchy from the MST. Transform the MST into a dendrogram}
     \State \texttt{Condense the dendrogram using $m_{clSize}$}
        \end{algorithmic}
\end{algorithm}

The core distance of a point $x_p$, $d_{core}(x_{p})$, is the distance from $x_{p}$ to its $m_{pts}$-nearest neighbor (including $x_{p}$). The mutual reachability distance between two points $x_{p}$ and $x_{q}$ in $\bold{X}$, with regards to $m_{pts}$, is defined as $d_{mreach}(x_{p}, x_{q}) =\max \lbrace d_{core}(x_{p}), d_{core}(x_{q}), d(x_{p}, x_{q})\rbrace$. An output of HDBSCAN is the condensed tree which gives a hierarchical visualization of the data in form of a tree. The Excess of Mass (EOM) criterion described in \cite{hdbscan_2015} allows a flat clustering by selecting the stable leaves of the condensed tree as clusters.  Figure \ref{fig:condensed_tree} is  an example of condensed tree. The height of the leaves represents the local density.

\begin{figure}[!h]
	\centering
		\includegraphics[scale=0.7]{condensed_tree}
	\caption[Example of condensed tree on the two moons dataset]{Example of a condensed tree on the two moons dataset (toy example of the \textit{hdbscan} library in python \cite{mcinnes2017hdbscan}). We have the three coloured clusters found by HDBSCAN. The width of different nodes and leaves represent the number of elements. The encircled nodes and leaves are the clusters selected by the EOM criterion. The $\lambda$ axis represents the density of the cluster.}
	\label{fig:condensed_tree}
\end{figure}
With HDBSCAN,  defining the minimum size of a cluster is mandatory, we choose $m_{clSize}=m_{pts}$ between 1 and 5$\%$ of the number of points. This parameter has to be calibrated. We can order the different clusters of lithology by their size and/or the error of reconstruction of a classical inversion method when the number of lithological component  obeys $M \leq d+1 $.

We can define an empirical probability $\hat{p}_{i}$ for each lithological hypothesis:
\begin{equation}
 \hat{p}_{i}=\frac{m_{i}}{N_{ABC}},
\end{equation}
where $N_{ABC}$ is the number of lithology selected by the ABC part and $m_{i}$ is the size of the cluster i found by HDBSCAN. Note that $\sum \hat{p}_{i}< 1$ because HDBSCAN considers a part of the lithologies as noise.

\section{Results on synthetic data} \label{synth.data}

\subsection{Synthetic example and  Monte Carlo sampler}

 We use below a synthetic generator of logs that may be roughly summarized in three steps. First, we generate an average lithology using a Dirichlet distribution, and then we add a Brownian bridge to get a synthetic lithology over the synthetic stratum. Finally, we transform the lithology into logs using equation \ref{eq:log_equation} and we add noise.

In our test with ABC, we select $M=10$ lithological components: 3 carbonates (Calcite, Ankerite, Dolomite), 2 sands (Quartz, N-Feldspar), 4 shales (Illite, Kaolinite, Chlorite, Smectite) and water for the porosity. Here we do not use a  simple Dirichlet distribution where all the $\alpha_{i}$ are equal. Indeed, the porosity is generally below 35$\%$ and we assume that a mix of minerals of the same family  is not probable. For this reason, we draw first $V_{water}\sim \mathcal{U} \left[ 0,0.35 \right]$, then the proportion of the families (carbonate, shale and sand) $\left(V_{sand}, V_{shale}, V_{carbonate}\right)\sim  \left(1-V_{water}\right) \mathcal{D}\left( 1,1,1\right)$. Finally, we draw the minerals according to a Dirichlet distribution with a small alpha parameter equal to 0.1. For instance, we generate the volumes of the carbonate family: $\left(V_{calcite},V_{dolomite},V_{ankerite}\right) \sim V_{carbonate} \mathcal{D}\left( 0.1,0.1,0.1\right)$. Indeed, we prefer a sparse model fitting the reality: sparsity is a well-known feature of most lithological databases. We defined a lithological sampling model. An example of prior distribution on the lithology using the sampling model is shown in Figure \ref{fig:prior_distribution}.  Besides, we generate 1 million lithologies for ABC.

\begin{table}[H]
 \fontsize{8}{12}\selectfont

\begin{tabu}{|X[3.0cm]|X|X|X|X|X|X|X|X|X|}
\hline Volume &   Chlorite  &Illite & Kaolinite & Smectite & Quartz  & Calcite & Dolomite  & XWater& XOil\\
	 \hline

		Sandy & - & -  &- & - & 80 & - & - & 20 &-   \\
		Sandy Oil & - & -  &- & - & 80 & - & - & 5 &15   \\
		Shaly-Sand 1 & - & 40  &- & - & 40 & - & - & 20&-   \\
		Shaly-Sand 2 & - & 80  &- & - & 10 & - & - & 10 &-  \\
		Shaly-Sand 3 & - & -  &- & 80& 10 & - & - & 10  &- \\
		Shaly-Sand 4 & 40 & 40  &- & -& 10 & - & - & 10  &- \\

		Shaly-Carbonate 1  & - & -  &- & 60& - & 20 & - & 20&-   \\
		Shaly-Carbonate 2 & - & -  &30 & - & - & 50 & - & 20  &- \\
		Shaly-Carbonate 3 & - & 20  &20 & -& - & - & 40 & 20 &-  \\
		Carbonate-Shaly  & - & 20  &- & - & - & 30 & 30 & 20 &-  \\
		Carbonate  & - & -  &- & - & - & 40 & 40 & 20&-   \\
	\hline
\end{tabu}
\caption[Different lithologies tested]{Different lithologies tested. The lines correspond to the alpha parameter. They are similar to the proportion. }
\label{table:model}
\end{table}
\begin{figure}[!h]
	\centering
		\includegraphics[scale=0.6]{prior_distribution}
	\caption[Example of prior distribution of the lithology]{Example of prior distribution of the lithology. On the boxplots, we represent the percentile 5 and percentile 95 as the whiskers (applied to all the box plots).}
	\label{fig:prior_distribution}
\end{figure}

Here are some examples of distributions that the defined sampling model generates over 1 million samples. The histogram of the total volume of shale is presented in Figure \ref{fig:shale_hist}, the probability near one is very low because of the water distribution which is not correlated to the mineral volumes. Figure \ref{fig:illite_hist} displays the histogram  of the volume of illite generated by the sampling model. An explanation of the sampler parameter is that an important variance for the volume fits well the reality. Indeed, according to the Dirichlet distribution with $\alpha_{1}=\cdots=\alpha_{10}=1$, $\mathrm{Var}\left[V_{i}\right]=0.008185$ and if $\alpha_{1}=\cdots=\alpha_{10}=0.1$ then $\mathrm{Var}\left[V_{i}\right]=0.045$. With the defined sampling model  $\mathrm{Var}\left[V_{i}\right]\simeq0.02$ (depending on the family of the mineral) except for the water $\mathrm{Var}\left[V_{XWater}\right]=0.01$).
\begin{figure}[!h]
   \begin{minipage}[c]{.45\linewidth}
		\includegraphics[width=\textwidth]{shale_hist}
	\caption[Histogram of the shale volume]{Histogram of the shale volume generated by the sampling model.}
		\label{fig:shale_hist}
   \end{minipage} \hfill
   \begin{minipage}[c]{.45\linewidth}
		\includegraphics[width=\textwidth]{illite_hist}
		\caption[Histogram of the Illite volume]{Histogram of the Illite volume generated by the sampling model. The frequency around 0 is near 600 000 samples.}
			\label{fig:illite_hist}
   \end{minipage}
\end{figure}
\FloatBarrier

\subsection{Results}
We show here the results on the Shaly-Sand 1 (see Table \ref{table:model}) example with a stratum of 250 samples and with the following logs: gamma ray GR, bulk density $\rho_{b}$, neutron porosity $\phi_{N}$. On average we have $V_{Illite}=0.34$, $V_{Quartz}=0.49$ and $V_{Water}=0.17$.
With a fixed rejection factor $\delta$ on the logs ($\delta_{GR}=12$ API, $\delta_{\rho_b}=0.05$ $G/C^{3}$, $\delta_{\phi_{N}}=0.03$ V/V), we obtain an average of 3000 lithologies per depth. In Figure \ref{fig:boxplot_global}, the boxplot of all the volumes selected by ABC on the stratum is provided.  We see that the volumes of Illite, Smectite, Quartz, and N-Feldspar have a large variance. We remark too that the volumes of carbonate are low. For more details on these distributions, we look at the histograms of the first and second components of the principal component analysis (PCA) of the results. The percentage of variance explained by the first and second components are respectively 40\% and 33\%. Figure \ref{fig:pca_density} displays a cross-plot of the two components and the associated  histograms. We notice the multi-modality of the first projection with a main mode and the  bimodality of the second projection. An explanation is that the modes of the first projection accounts for the competition between Kaolinite and Smectite. The second projection shows the competition between the Quartz and the N-Feldspar.
\begin{figure}[!h]
	\centering
		\includegraphics[scale=0.6]{boxplot_well_6_total}
	\caption{Boxplot of the volumes selected on the stratum by ABC. }
	\label{fig:boxplot_global}
\end{figure}
After the ABC step, we apply HDBSCAN in order to find the most plausible lithological hypothesis. We fix the minimum number  of samples to form a cluster to 5\% of the number of the lithology selected by ABC.
 \begin{figure}[!h]
  \centering
   \begin{minipage}[t]{.45\linewidth}
		\includegraphics[width=\textwidth]{pca_density}
		\caption{Density cross-plot of the first and second component of the PCA. }
			\label{fig:pca_density}

   \end{minipage}\hfill
    \begin{minipage}[t]{.45\linewidth}
    \includegraphics[width=\textwidth]{pca_cluster}
	\caption{Cluster found by HDBSCAN (PCA projection).}
		\label{fig:hdbscan_cluster}

   \end{minipage}
\end{figure}
 In this case, HDBSCAN finds 3 clusters and classifies around 35\% lithologies as noise. Figures \ref{fig:hdbscan_cluster} illustrates the results of HDBSCAN on the first and second component of the PCA of the volumes selected previously. We display the clustering on the cross-plot between the first and the second projections of the PCA. We distinguish clearly the clusters.

 The boxplots of the three clusters are shown in Figures \ref{box-plot-cluster0}, \ref{box-plot-cluster1} and \ref{box-plot-cluster2}. Figure \ref{box-plot-cluster1} is the boxplot of the cluster with some Illite and Quartz corresponding to the synthetic lithology. In this cluster, the average of the three main components are: $\bar{V}_{Illite}=0.30$, $\bar{V}_{Quartz}=0.37$ and $\bar{V}_{XWater}=0.17$. The presence of Calcite, with an average volume $\bar{V}_{Calcite}=0.05$ explains why we underestimate the real volume of Quartz and Illite. A possible reason for this fact relies on the flat clustering of HDBSCAN. It tends to advantage large clusters and as consequence, we still have some competitions between Carbonate and Quartz which may have a similar response to the logs.  Cluster 0 (Figure \ref{box-plot-cluster0}) and Cluster 2 (Figure \ref{box-plot-cluster2}) are other possible lithological hypotheses where respectively  Illite is replaced by another shale, Smectite, and Quartz is replaced by another sand, N-Feldspar.

\begin{figure}[!h]
   \begin{minipage}[c]{.45\linewidth}
		\includegraphics[width=\textwidth]{boxplot_well_6_group_0}
	\caption{Boxplot of the volumes of cluster 0 (HDBSCAN).}
		\label{box-plot-cluster0}
   \end{minipage} \hfill
   \begin{minipage}[c]{.45\linewidth}
		\includegraphics[width=\textwidth]{boxplot_well_6_group_1}
		\caption[Boxplot of the volumes of the cluster 1 (HDBSCAN)]{Boxplot of the volumes of cluster 1 (HDBSCAN), the main cluster.}
			\label{box-plot-cluster1}
   \end{minipage}
   \hfill
   \begin{minipage}[c]{.45\linewidth}
		\includegraphics[width=\textwidth]{boxplot_well_6_group_2}
		\caption{Boxplot of the volumes of cluster 2 (HDBSCAN).}
			\label{box-plot-cluster2}
   \end{minipage}
\end{figure}
After removing the 35 \% of lithology considered as noise, we can order the different hypotheses by the number of points:
\begin{itemize}
  \item Cluster 1 ($\hat{p}_1=40\%$). Main minerals: Quartz/Illite/Water.
  \item Cluster 2 ($\hat{p}_2=15\%$). Main minerals: N-Feldspar/Illite/Water.
  \item Cluster 0 ($\hat{p}_0=10\%$). Main minerals: Quartz/Smectite/Water.
\end{itemize}
Here the classification by the size of the hypothesis gives a good result: Cluster 1 is the lithological hypothesis (Quartz/Illite/Water) matching the real lithology. Our methodology can provide either most probable lithological hypotheses or empirical distributions for the components common to all hypotheses. For instance, we can define the empirical distribution of the water $\hat{f}_{Water}$:
\begin{equation}
 \hat{f}_{Water}=\frac{\sum m_{i}\hat{f}_{i,Water}}{\sum m_{i}},
\end{equation}
where $\hat{f}_{i,Water}$ is the empirical distribution of the water in cluster $i$ and $m_{i}$ is the size for cluster $i$. Figure \ref{fig:density_water} shows the empirical distribution for our synthetic case. The mode of this distribution is closed to the real average value of the water of the synthetic data (red vertical line on the figure).
\begin{figure}[!h]
	\centering
		\includegraphics[scale=0.6]{water_hist}
	\caption[ Empirical distribution of the water volume]{ Empirical distribution of the water volume. We can derive from this plot an optimistic, average and pessimistic scenarii (percentile 10, median and percentile 90). The true average volume of water is 0.17 (vertical line in red). }
	\label{fig:density_water}
\end{figure}

In Figure \ref{fig:final_logiew}, we present the synthetic lithology and the corresponding logs used to perform a Bayesian inversion per layer. In the last three tracks, the different hypotheses found by HDBSCAN (average of the minerals per hypothesis) are given.

For the other synthetic cases, corresponding to 2 minerals of different families and water, we are able to determine the right lithology. The volumes found are close to the reality.  For the mix of carbonate, sand or shale, the true hypothesis is not necessary the main one (it depends on the choice of the $\delta$ and the $\alpha$ parameter). Changing the parameter alpha has some consequences on the results. Moreover, when 3-4 components (shaly-sand-carbonate) are detected and one of them is around 10$\%$ it seems difficult to identify the smallest one.

\begin{figure}[!h]
	\centering
		\includegraphics[width=\textwidth]{lithology_model_synthetic_techlog}
	\caption[Synthetic lithology with its logs and results of our methodology]{Synthetic lithology with its logs and results of our methodology. Track 1: GR. Track 2: $\rho_{b}$ and $\phi_{N}$.   Track 3: Corresponding lithology. Track 4: Lithological hypothesis of cluster 0. Track 5: Lithological hypothesis of cluster 1. Track 6: Lithological hypothesis of cluster 2.}
	\label{fig:final_logiew}
\end{figure}

\section{Case study } \label{case.study}
The dataset presented in this section comes from the Kansas Geological Survey, Oil and Gas Well Database (\url{http://www.kgs.ku.edu/Magellan/Qualified/index.html}). We present here a well from the Wellington Field: well 1-28 (API number: 15-191-22590). From this well, we get 9 logs: the gamma ray GR,  the resistivity $R_{t}$, the compressional slowness $\Delta_{t}$, the bulk density $\rho_{b}$, the neutron porosity $\phi_{N}$, the photoelectric factor $pef$, the uranium concentration $U$, the thorium concentration $TH$	and the potassium concentration $K$. We have also a computed lithology and the mud log to check our results. These data are part of the South-central Kansas $C0_{2}$ project.

For Well 1-28, we use the segmentation algorithm PELT (\cite{PELT}) to identify the different beds where we assume a fixed lithology. As inputs for PELT, we took GR, $\rho_{b}$, $\phi_{N}$ and $pef$ and a Gaussian model is used. Figure \ref{fig:segmentation_1_28} gives the results of the segmentation
\begin{figure}[!h]
	\centering
		\includegraphics[scale=0.8]{1_28_segmentation}
	\caption[Well 1-28 with the zonation provided by PELT]{Well 1-28 with the zonation provided by PELT. Track 1: Zonation from PELT. Track 2: GR. Track 3: $\rho_{b}$ and $\phi_{N}$. Track 4: $pef$.}
	\label{fig:segmentation_1_28}
\end{figure}

In Figure \ref{fig:analysis_1_28}, we display the lithology provided by the Kansas Geological Survey, Oil and Gas Well Database, and also the mud log (description of the mineralogy) with the geological age. We notice that the segmentation algorithm provides layers coherent with the change of lithology given by the experts.
  \begin{figure}[!h]
	\centering
		\includegraphics[scale=0.5]{1_28_analysis_header_clean}
	\caption[Well 1-28. Well analysis provided by the $CO_{2}$ project]{Well 1-28. Well analysis provided by the $CO_{2}$ project. From the left to the right, we have the depth, the lithology computed, the mud log (brief description of the mineralogy) and the geological age. The  horizontal red lines correspond to the change points found by PELT and the numbers are corresponding to the segmentation of Figure \ref{fig:segmentation_1_28}. The change points are linked to an important change in the lithology.  }
	\label{fig:analysis_1_28}
\end{figure}

We apply our methodology on the different segments of PELT using $d=4$ logs (GR, $\rho_{b}$, $\phi_{N}$, $pef$). We use the same lithological model as in the synthetic case with $M=10$ components: Water, 3 carbonates (Ankerite, Dolomite, Calcite), 2 sands (Quartz, N-Feldspar) and 4 shales (Illite, Chlorite, Smectite and Kaolinite). The hyper-parameters of ABC are tuned the following way. We choose $J=10^{6}$ and we set the rejection thresholds for the different logs:
\begin{equation}
  \left\{
      \begin{aligned}
       \delta_{GR} &= 50 \text{ API} \\
       \delta_{\rho_{b}} &= 0.05 \text{ G/$C^{3}$} \\
       \delta_{\phi_{N}} &= 0.03 \text{ V/V} \\
       \delta_{pef} &= 0.2 \text{ b/e} \\
      \end{aligned}
    \right.
\end{equation}
The  parameter $\delta_{GR}$ is quite important since the values of the Gamma Ray are not necessarily corrected and in a classical mineralogical inversion program, the weight of this log is very light. Because of the rejection method used, it is possible that we do not select in a segment several lithologies if our lithological model does not fit the data. In this case, we set a threshold of an average minimum number of lithology per depth selected by the ABC step to launch the clustering algorithm otherwise we do not give any hypothesis. We fix this quality parameter of the lithological model to 50. In Figure \ref{fig:results_1_28}, we display the main lithological hypothesis found by our method for each zone. In parallel, we performed a classical petrophysical inversion using more logs (8 logs available) and with minerals selected accordingly to the information given by the Kansas study. In general, the first hypothesis matches quite well the main minerals present in the layers. Sometimes, it may be difficult to distinguish minerals from the same family:   Quartz and N-feldspar (layers 30 and 31) or the different clays (layers 27 and 33). Another point is that we are not precise in terms of percentage: in layer 42, we should have around 70\% of dolomite, in our main hypothesis the volume of Dolomite is around 50\%.
 \begin{figure}[!h]
	\centering
		\includegraphics[width=\textwidth]{1_28_abc_results}
	\caption[Well 1-28. Results of our methodology]{Well 1-28. Results of our methodology. Track 1: zonation obtained by PELT. Track 2: GR. Track 3: $\rho_{b}$ and $\phi_{N}$. Track 4: $pef$. Track 5: Results of our methodology (displaying the mean lithology of the first hypothesis). Track 6: Lithology obtained by a classical solver using more logs. We notice that the first hypothesis matches quite well the results of the classical inversion even if we are not precise in terms of percentage.}
	\label{fig:results_1_28}
\end{figure}

Focusing on the layers  37 to 41 (Figure \ref{fig:results_issues_1_28}), we do not provide any lithological hypothesis for the layers 37, 39 and 40. It is due to the lack of lithology selected by ABC because of a Gamma Ray too high (around 250 API) or a photoelectric factor too low (around 1.6 b/e) which do not fit out lithological model with 10 elements.
Another issue is visible on layer 41: the  main hypothesis is a large volume of sand (around 80\%) and a small volume of clay (around 10\%) whereas the classical inversion program is more balanced (mixed of Quartz and Illite). This kind of error is due to the fact that we select lithologies only in the range of depth where there is a majority of quartz; and we do not pick any lithology in the shaly area because of a high GR. Layer 41 has large variations of its lithology. We must check that the main lithological hypothesis is well distributed on the layer.

 \begin{figure}[!h]
	\centering
		\includegraphics[width=\textwidth]{1_28_abc_results_issues}
	\caption[Well 1-28. Results of our methodology focusing on few layers]{Well 1-28. Results of our methodology focusing on few layers. Track 1: zonation obtained by PELT. Track 2: GR. Track 3: $\rho_{b}$ and $\phi_{N}$. Track 4: $pef$. Track 5: Results of our methodology (displaying the mean lithology of the first hypothesis). Track 6: Lithology obtained by a classical solver using more logs. In layers 37, 39 and 40, we do not provide any hypothesis due to the few lithologies selected by ABC step. }
	\label{fig:results_issues_1_28}
\end{figure}

\section{Discussion }
We propose a new methodology giving promising results on both synthetic and real examples. The method is fully automated and delivers lithological hypotheses weighted by posterior probabilities. The method needs few logs to produce results, and augmenting the number of logs reduces the uncertainties associated with the hypotheses. We could use other Bayesian inference methods such as Markov chain Monte Carlo (MCMC), but ABC may convince the reader by its simplicity of parametrization and implementation.  However, during the tests, we identified several issues :
\begin{itemize}

\item A problem of identifiability with many minerals in small proportion. We are not able to detect the presence of many minerals of the same family when no log differentiates them. For instance, differentiating carbonate without $pef$ is not easy.

\item Detecting specific minerals such as Kerogen, Pyrite, or Anhydrite may be tricky because adding them into a lithological model always improves the fit and consequently leads to a bias. Our method tends to select them in small proportion. This kind of problem could be solved with better prior on the lithological model.

\item The final selection of minerals is not very clear when we select more minerals than available logs. For instance, if we have a hypothesis with  $M$ components in small proportion (less than 5\% in average) and $M>d+1$, $d$ being the number of logs, we cannot run a classical inversion program to get the lithology depth by depth.

\item We do not integrate hydrocarbons in the lithological sampling model. The problem is that when we introduce oil or gas in a lithological model using the triple combo (GR, $\rho_b$, and $\phi_N$),  they are usually selected even if they are not present. The resistivity equation is needed to determine the difference between water and hydrocarbons, but its parametrization is difficult.

\item  Some clusters selected by HDBSCAN are located on a subsection of the stratum. This problem is due to the segmentation part or the definition of the stratum. Strata with changing or unstable lithologies may yield surprising results: a multiplication of lithological hypotheses covering different subsections of the stratum.

\item The method may lead to the absence of results because of a lithological sampling model not adapted or noisy data that do not fit in the $\delta_i$ of ABC.

\item The calibration of the HDBSCAN parameter (essentially $m_{pts}$) can be tricky. The default parameter of 5\% of the size of the data seems to work in our tests, but a more complex study is needed.

\end{itemize}

\section{Conclusion}
Some of the issues mentioned above in the Discussion section may be overcome. We give below, as a conclusion, some tracks for potential improvement.

In order to deal with the lack of identifiability and the presence of minerals in small proportion in our  hypotheses, a solution relies in grouping the minerals by family before the clustering phase and apply the clustering on the family. It should reduce the uncertainty on the presence of some mineralogical families.  The size of the stratum could play a role in the determination of the lithology if the logs on the stratum are not homogeneous. Indeed, noisy logs will produce less dense regions in the solution space (lithology) so the clustering algorithm will have difficulties to find lithological hypotheses. Thus, instead of using only a stratum of a single well, applying our method on a global stratum (the same stratum from different wells) should eliminate or differentiate more lithological  hypotheses. For the determination of the water saturation $S_w$ (ratio water/porosity), a possible solution to handle the problem is to first have a rough idea of the porosity using a model without hydrocarbons; and then use the resistivity equation on the first estimation of the porosity to determine the presence of gas or oil. We can iterate the process to improve the precision of the method by adding the selected hydrocarbon in the inference model. It is an imitation of the petrophysicist's workflow. We can also improve the  lithological sampling model with a more complex Bayesian hierarchy by adding prior on the $\alpha$ or the $\delta_i$. For the absence of lithologies selected by ABC, a variant of the method consists in selecting  the $k$ first lithologies generated by the lithological sampling model which minimizes the error between the real logs and the generated one. Choosing $k=500$ gives satisfactory results on synthetic data. Even if the Bayesian inference will always deliver results, the quality of these results can be dubious: the  lithologies can be selected because of only one log (for instance the bulk density). The reliability of the results is an issue.	This concern could eventually be attacked by raising alarms when the data are poor or warning the users when their lithological hypotheses are not appropriate.

redpajama_set_name: RedPajamaArXiv


text:
{{Infobox river
| name              = Pora
| image             = Torrente pora ponte ferroviario a finale ligure.png
| image_caption     =The Pora near its mouth
| length            = <ref name=fin>INTERVENTI PER LA MESSA IN SICUREZZA DEL T. PORA TRA IL PONTE DI VIA SAGITTARIO E LA FOCE, Comune di Finale Ligure, on-line in pdf:  (access: 2015-05-22)</ref>
| source1_elevation =
| mouth_elevation   =
| discharge1_avg    =
| basin_size        =
| source1_location  = Ligurian Alps
| mouth             = Ligurian Sea
| mouth_location    = Finale Ligure (SV)
| mouth_coordinates =
| subdivision_type1 = Country
| subdivision_name1 = Italy
| map               = Pora mappa.png
}}

The Pora (or Porra) is a  stream of Liguria (Italy).

 Geography

The river rises at around 1000 m in the Ligurian Alps, not faraway from Colle del Melogno, at the junction between rio Rivase and Rio Peccione, in the comune of Rialto. Flowing in the Valle Pora it passes through the comune of Calice Ligure, where it receives from left the waters of torrente Carbuta. Heading south-east the Pora reaches Finlaborgo and gets its main tributary, torrente Aquila; a couple of km downstream it ends its course in the Ligurian Sea, after being crossed by the Genoa–Ventimiglia railway and the Aurelia national road.

Pora basin (59 km2) is totally included in the Province of Savona

 Main tributaries

 Left hand:
 Torrente Carbuta (watershed 6 km2): it comes from Pian dei Corsi and enters the Pora in Calice Ligure;
 Torrente Aquila (watershed 21 km2): from Monte Alto (956 m) in heads South and crosses the comune of Orco Feglino joining the Pora in Finalborgo;
 Right hand:
 Rio Ravin: comes from the SE slopes of Bric Gettina;
 Rio Molino.

See also

 List of rivers of Italy

References

 External links

  Torrente Pora'' www.fipsas.it (fishing rules for the stream)

Rivers of Italy
Rivers of Liguria
Rivers of the Province of Savona
Rivers of the Alps
Drainage basins of the Ligurian Sea

redpajama_set_name: RedPajamaWikipedia


text:
Why Are Consoles Cheaper Than PCs? Are They Really? |
Andrew Blair September 11, 2021
The cost of developing a console game is much less than that of a computer game. This has led to the idea that consoles are cheaper, but this isn't true. PC games are often cheaper because they're more customizable and have better graphics.
The why are pcs so expensive right now is a question that has been asked time and time again. However, the answer to this question can be found by looking at how much consoles cost compared to PCs.
In this post, we'll delve into the realm of gaming consoles and examine why they're less expensive than conventional desktop computers–soup to nuts.
Consoles vary from typical PCs in that they do not operate on conventional operating systems like macOS or normal Windows versions. Aside from that, compared to a desktop or laptop, they have extremely limited capabilities.
When it comes to addressing the issue of why consoles are cheaper than PCs, there's a lot more to consider than simply the cost of the console and the peripherals that come with it–take let's a look.
But first, if you're seeking for a quick response, we'll simply say: it depends.
Isn't it annoying?
How much does a console cost on average?
We'd naturally look at the Playstation 5 and the Xbox Series X if we were looking at the newest and best generation of gaming console hardware.
Each of the two comes with two models: a standard model and a 'digital version.' This version of the newest model is available on both the Playstation and the Xbox.
The Bluray reader is included in the Playstation 5 basic model, however it may be removed in the Playstation 5 Digital edition, which does not have this function. The same can be stated about the Xbox Series X basic model, which has a Bluray connector and is also available in a lighter version called the Xbox X Digital for the same reason–no Bluray drive.
For others, this may not seem like much of a compromise since the bulk of consumers buy and download their games digitally across the board. Instead, it may seem to be an advantage, given that the 'digital' versions of both the Playstation and the Xbox have a value-based MSRP of $399.99, while both 'base' models have an MSRP of $499.99.
Customers who want to view HDR material on Bluray may be disappointed to learn that this function is only available on the more costly model. The number of robust specs and features you receive for the basic model's pricing, on the other hand, is well worth the additional hundred dollars.
YOU MIGHT ALSO BE INTERESTED IN: How Much Do Professional Gamers Earn?
What is the average price of a gaming computer?
A custom-built gaming PC costs on average… It's all up to you.
That response may not please you, but keep in mind that custom-built gaming PCs are just that–custom! Enthusiasts who want to construct their own computer will discover that, after studying the market and the hardware available, graphics cards and CPUs, among many other computer components, are available at a variety of costs.
If you want the latest Intel i9 CPU, you'll have to spend the same amount as a whole console. A Ryzen 3600 CPU may be purchased for less than $200.00 USD if you want something affordable and capable of 1440p gaming. It all depends on your objectives.
With that stated, the typical cost of a custom-built gaming PC is between $800 and $1200, but you may easily spend $400 or less or $5,000 or more. This is why putting a price tag on the typical cost of a bespoke setup is difficult since the components you select are completely depending on your budget and what you want to accomplish with the computer.
BEST GAMING SETUPS (RELATED ARTICLE)
Is it true that consoles are less expensive?
Remember how we mentioned that the average price of a gaming console is higher than the device's pricing? We weren't joking when we said this.
You know, video games on PC platforms may be a lot less expensive than on console systems. This is owing to the business model and approach used by Microsoft and Playstation, which was originally created by the inventor of Gillette razors. We'll talk about this more later, so stay tuned.
For the time being, most AAA games on both platforms will start at $59.99, with add-ons and versions (deluxe editions, extra downloadable content, 'silver' edition, etc.) pushing the price up to $100.
AAA games will likewise launch at the same price on PC, but platforms like Steam, Origin, and G2A, among others, will provide discounts and cheaper options to acquire the exact same version of the game in question over time.
The most significant difference between PCs and consoles is that, in addition to the fact that console games are usually more costly, you must also pay a monthly membership fee simply to have access to multiplayer capabilities.
A recurrent monthly or annual fee may be a psychological turnoff for many customers who simply want to enjoy games with their pals.
Another example: if you want the Playstation-branded headset as well as an extra controller in case one of them breaks or the battery runs out in the middle of a game, both will set you back $59.99.
Consider the cost of a Playstation 5 basic model with an additional controller, a name-brand headset, a year's membership to Playstation Plus, and the above-average cost of six AAA titles (both new and dated). You'll discover that the total cost of owning one is about $1040–or a near approximation of that, since that figure does not include local taxes.
Given that you can put up a value-based gaming PC with a handful of AAA titles for around $600, the popular belief that "gaming consoles are much cheaper" just does not hold water.
A recent DFC Intelligence research backs this up, claiming that console users spend the most money per user.
ALSO SEE: The Best Pink Gaming Headsets
So, How Do Manufacturers Manage This?
Playstation and Xbox have a completely different economic model from businesses that manufacture PC components, build laptops, and sell pre-built systems.
It all began with the Gillette razor business in 1908, when they created the primary product, the razor, and sold it at a loss–meaning it cost them more to produce than the money they received for selling it–but earned money selling the blades. Give the handle away and sell the sharps that go inside.
Companies like Microsoft and Playstation have been able to capitalize on a very lucrative market by creating and selling a device that generates no profit on its own but sells products that are required to use the device–this being digital or hard copies of games–by creating and selling a device that generates no profit on its own but sells products that are required to use the device–this being digital or hard copies of games.
Because gaming consoles have a lengthy shelf life, such as the Playstation 4, which lasted a respectable 5-years, the continuously expanding industry of video games provides a "spring of youth" niche that console makers may continue to exploit. Although just one system is required, the number of video games available continues to grow.
In addition to consistently selling a large number of games, this business model is particularly beneficial when creators produce console-exclusive videogames–games that can only be bought, downloaded, and played on a single console–or when the same titles are released every year. Sports games like FIFA, NBA2K, and MLB The Show are just a few examples.
RELATED READING: The Best Audiophile Gaming Headphones
What Are Microsoft's and Playstation's Profit Models?
While this economic strategy may seem perplexing at first, keep in mind that the number of video games sold, as well as other equipment like controllers and headphones, vastly outnumbers the number of consoles sold.
Take a look at your game collection–say you bought 18 titles over the course of two years, as well as six separate months of Playstation Plus the first year and a full year the second.
So, what does this mean? It shows that you spent $400 on a console but about $1200 on games and multiplayer subscriptions.
Microsoft and Playstation are able to earn a profit from the constant and consistent sale of games and other apps on their proprietary store, which considerably outweighs the profit made, if any, from the device itself.
Furthermore, many Playstation and Xbox enthusiasts are repeat buyers when new devices are released, which is why the Xbox Series X and Playstation 5 are still difficult to come by.
Movies and other media consumables are being bought straight from the two companies' own shops as a result of creating excitement and providing new features such as Bluray and HDR compatibility, which has now provided another business channel.
Finally, because of the way the consoles are built, Microsoft and Playstation are able to gobble up this negative profit margin. Mass-producing proprietary hardware that is expressly intended to operate with a particular system, form factor, and OS is less expensive.
Meanwhile, manufacturers of individual desktop components must invest more time, money, and research to ensure that their products are compatible with a broad range of operating systems, case types, and hardware combinations.
Which is more valuable: gaming PCs or gaming consoles?
This is when things start to get tricky.
Since PC and console gaming reached their all-time highs, there has been a lot of debate between the two camps over which is superior–one side claiming this, the other claiming that.
The primary point of contention is whether device provides greater value–a decision that can only be made by each person based on how they use their gadget.
Given that you can construct a custom-built gaming PC for almost any budget you want, as well as buy videogames that are tailored to your PC's specs, the issue of which is the best value seems to be ambiguous…
…until you recall that one is a console with a restricted operating system that depends on customers using it for gaming-heavy workloads rather than straight media consumption, and the other is a full-fledged desktop with all the capabilities and usability of any other full-OS device on the market.
YOU MIGHT ALSO BE INTERESTED IN: The Best Mobile Hotspots for Gaming
What Is Your Usability Experience Like?
The apparent winner is owning a desktop PC that can run games just as well (if not better) than consoles at a lower or even similar price. You can also do things like surf the web, watch any kind of media, edit and create video material, send emails, and so on–basically everything you'd expect to be able to do on a computer.
If you have an aftermarket gaming controller and set up your desktop to be played from the couch using third-party software like SteamOS and the like, you can give yourself a console experience.
At the end of the day, we can only say that it boils down to the user experience that each customer desires, since no two people are alike!
Some individuals will buy consoles since many of their friends use the same platform to play their games, so it makes sense to join in on the fun as well. Other consumers, who are equally respectable, seek a simplified and portable experience that can only be found in a console.
On the other hand, as previously said, the majority of PC gamers also use their computers as their daily vehicles for other purposes. When you want to do more than simply play video games, having a strong and flexible computer is essential, particularly if you want a clean and sleek experience.
Overall, gaming consoles may be less expensive than gaming PCs, but this is dependent on the budget you set up for them. To answer the issue of which platform is more valuable, it all depends on what you want to do with it!
There is no incorrect way to go since today's computer components and consoles are so technologically sophisticated, powerful, and feature-packed that whatever option you choose is the perfect one.
RELATED ARTICLE: How to Improve Your FPS Game Tracking Aim
The why are gaming pcs so expensive 2021 is a question that has been asked before. There are many reasons why consoles may be cheaper than PCs, but the main reason is because they don't need to be as powerful or have as much RAM.
Why consoles are cheaper than PC?
Are PCs actually better than consoles?
Is it cheaper to play on PC or console?
This is a difficult question to answer, because the cost of gaming varies depending on what you are playing. PC games tend to be cheaper than console games, but this is not always the case.
Gaming Laptop vs Desktop [Pros & Cons] – Which One Should You Get? |
Are Gaming Routers Worth It? The Truth About Gaming Routers |

redpajama_set_name: RedPajamaCommonCrawl


New York Jets Tickets - Cheap New York Jets Football Tickets - New York Jets Schedule and Games at GameStub!
To buy tickets for New York Jets at discounted prices, choose from the New York Jets schedule and dates below. GameStub offers cheap New York Jets tickets for sold-out New York Jets events as well as New York Jets information. For questions on purchasing New York Jets tickets or general ticket inquries, please contact our support staff for all your ticket needs.
Would you like to see an up and coming team with a great defense and a running attack that will not quit. If so, picking up a pair of Jets tickets is a great idea because they incorporate these factors into their style of play. Get Jets tickets to their new stadium, New Meadowlands Stadium, and watch them compete for their second Super Bowl title since the days of Joe Willie Namath.
The New York Jets were founded in 1959 as one of the charter teams in the AFL. The American Football League was being set up to rival the NFL as the major football league in the United States. The Jets were originally called the Titans but were bought out in 1963 and their name was changed to the Jets. After this change, the Jets would go on to get to their first and only Super Bowl ring by beating the Colts in dramatic Super Bowl V.
Once the Joe Namath years drew to a close, the Jets became a middling team during the latter part of the 1970's and 1980's rolled in. They would have decent teams but could never get over the hump of getting back into Super Bowl contention. Once Bill Parcells was hired after his Super Bowl stint with the Patriots, the organization began to turn around. Parcells built a foundation around running back Curtis Martin and the Jets rebounded tremendously.
After Parcells left, and Eric Mangini was fired as head coach, Rex Ryan, son of former head coach Buddy Ryan, was selected to be the leader of this squad. In his first season in 2009, the Jets defense became the league's best and his team was bolstered by a great running game headed up by Thomas Jones. The Jets would make it to the AFC championship game this year but fall short to the Indianapolis Colts. Since then, this team has added talent to their defense with the signing of Antonio Cromartie to an already phenomenal secondary.
The New York Jets are just one of a host professional sports teams that are affiliated with New York City. The other football team that calls this city home is the New York Giants and this team shares a stadium with the Jets at New Meadowlands Stadium. There is only one NBA team that calls this city home and they are the Knicks.
Ice hockey also has two representatives in this city as the Islanders and the Rangers both call this city home. The Rangers actually play within the city limits at Madison Square Garden where they share their arena with the Knicks. The Islanders play their home games at Nassau Veterans Memorial Coliseum. The Yankees and Mets are the two other pro teams that play in this city and are attached to the MLB. The Yankees are an American League team while the Mets play in the National League.
You can access the entire event schedule for the New York Jets from the GameStub website. We provide you with complete event information, premium seats, and the cheapest ticket prices available for all New York Jets events. When searching for low cost New York Jets tickets and great seats, look no further! The word on the street is that tickets to the New York Jets events will sell out fast, so be sure to get yours now!
To make things easier for you, we provide a quick and easy way to purchase New York Jets tickets. Each purchase is backed by our 100% GameStub Guarantee. Be sure to check out our New York Jets ticket guarantee details.
New York Jets tickets can be purchased online on our secure website or over the phone. Our ticket inventory for New York Jets tickets are updated several times a day. Tickets are typically shipped the same or following day the order is placed. In some occasions, your New York Jets tickets may be shipped out at a later date, depending on when the venue releases the tickets. We do guarantee that you will receive your New York Jets tickets in time for the event!
There is no direct relationship between our company and event venues, ticket box offices, or any New York Jets tickets.
Every New York Jets ticket listed on our website is presented by the best ticket brokers nationwide. These ticket brokers obtain tickets from fans who hold New York Jets tickets but then elect or cannot attend the event. The broker inventories are pooled into our database, allowing us to give you the widest variety of New York Jets tickets at event venues across the country. The brokers we select are of the highest quality, illustrating yet another way the purchasing experience is pleasant.
GameStub.com specializes in forming relationships with the most dependable, reliable, and trustworthy ticket brokers in the country to provide you with the best New York Jets tickets. We showcase thousands of the best tickets for you to purchase in an easy to use online website. Unless otherwise noted, we display our pricing for New York Jets tickets using United States currency. If any trademarked items are used on our page, they are presented strictly for descriptions and their ownership remains with the relevant third parties.


This Huge Table is a detailed periodic table that does not fit on most computer screens. However, in print with a small font, or in landscape mode, this table can be printed onto a single normal-sized paper (A4 or 8½ x 11"). For a printable version that uses less colored ink (and works without color), see this.
Atomic masses in brackets are the most stable isotope.
This method was made by Sanjith Sagar, a student of Glendale Academy International, Hyderabad, India. He's currently in Grade 10. He considered the first 20 elements and made various combinations to form words. All you have to do is remember the word sequence and you'll automatically get the table.
First thing he did was make various pairs of elements.
Next group is B,C,N,O,F. All these are single letters. REMEMBER THEM LIKE A RUSSIAN NAME, BCNOF or remember it using the short forms because in this group all are alphabets not a combination like Be or Cl.
Next group is Si,P,S. We can make a proper word out of this. Sips(Si,P,S).
Next group is Cl,Ar,K. Make a word out of this. Clark(Cl,Ar,K).
Touchspin's Interactive Periodic Table Elements 103-118 don't have the same atomic [weight] represented everywhere.
Elements with [atomic weights in brackets] are rounded from their actual atomic weights.
Metals, metalloids, and nonmetals have no one definition.


This past week, over 100 million people watched the debate between Hillary Clinton and Donald Trump. Whatever your political perspective, the consensus and polls afterward clearly showed that Hillary Clinton came out on top.
In the past number of elections in both Canada and the US, debates have often been the place where elections are won and lost. Interestingly enough, there were over 60 million people who were watching the debate who are in the "open" camp. It is believed that the currently undecided will decide who will become the next President of the United States.
Debates are essentially panel interviews, just with a slightly larger panel of millions of people.
I was reading a NY Times article about the 2000 debate between George W Bush & Al Gore. Al Gore was seen as the stronger and more qualified candidate. He had been Vice President for eight years, had been in some debates, and had worked on all of the substantive issues in his role both as VP and a Senator. George was perceived as less intelligent and the weaker of the two candidates. George Bush unexpectedly won the debate and not long after, the Presidency.
What do Al Gore & Donald Trump have in common? They both blew an opportunity to make their case in an effective way, that they were the better candidate for the biggest job in the world.
What do Hillary Clinton & George W Bush have in common?
Al Gore was more experienced and seemed to have the skills to perform well. His team felt that he needed less preparation in advance of the debate. Donald Trump took confidence from his ability to know how to connect with an audience. From most pundits' perspectives, he reinforced what were the main fears around Donald as it relates to his brand: fly by the seat of his pants, reactive, emotional, and bombastic; shallow on facts and solutions.
George W Bush's team started secret preparation in April. They worked over some fundamental questions and responses. Hillary, the same. She took time off the campaign trail to work on her key issues and messages. Hillary came across as prepared, focused, well thought out, and strategic. Interestingly enough, it is recognized that Hillary's resume is the strongest in the last 50 years for taking on the biggest job in the world. Hillary, unlike Al Gore, didn't assume that because she had all the right qualifications that she would automatically perform at her best. She took a page off out of George W Bush's book.
Which approach do you take preparing for interviews? The Trump/Gore approach or the Clinton/Bush approach?
How much preparation have you done?. Have you broken down key questions and worked to streamline critical answers? Have you had a "mock" interview? Who do you have on your team helping to interview you and to provide honest feedback?
Be Prepared is not only a good principle for Cubs and Presidential Candidates, but it is also essential in helping you get that role you want.
Who is your career & leadership coach? Connect with our team for information about our programs for individuals and employers: 1-877-256-2569 x 4 orbrittany.knapp@careerjoy.com.


Caution Clearance Overhead Holes Are Pre-drilled For Easy Mounting On Walls Doors Or Sign Posts.Alert Forklift Drivers And Pedestrians With These Attention-getting.
Caution Clearance Overhead Holes are pre-drilled for easy mounting on walls doors or sign.
About The Caution Clearance Overhead Holes are pre-drilled for easy mounting on walls doors or sign.
More from Caution Clearance Overhead Holes Are Pre-drilled For Easy Mounting On Walls Doors Or Sign Posts.Alert Forklift Drivers And Pedestrians With These Attention-getting.


text:
Economy, Domestic Economy
Call for Doubling India's Engagement in Iran
Decades of economic restrictions have strained Iran's ability to finance its growth and to trade with the world. Now this market of 80 million is ready for–and can afford–everything from airplane spare parts to container ports, consumer goods to technology products, wrote "Gateway House: Indian Council on Global Relations"–a Mumbai-based foreign policy think-tank established in 2009.
A recent weeklong policy trip by Gateway House members to Iran revealed the intense desire of Iranians to reengage with the world.
"Let's not call it a 'deal'," says Moustafa Zahrani, director general of IPIS, the Foreign Ministry's think tank, of the nuclear negotiations. "A deal has winners and losers. The nuclear agreement is a political decision by wise actors for the sake of humanity. All will benefit."
A major benefit will be a strategic one. Since October 2015, Iran has been fighting along with Russia to root out the self-styled Islamic State militants in Syria and Iraq, a war that the West has been steadily losing. Iran's participation, its superior intelligence and focus, will pose a formidable challenge for IS plans, which include the submission of India.
This is why India must double up its diplomacy and commercial engagement with Iran and move boldly beyond the curtain of "civilizational" ties. Those exist: The Persian culture is so embedded in the language and culture of India; Iran is hardly a foreign country for Indians.
But that natural advantage has not been put to good commercial use. The more worldly and profitable presence instead is, despite the crippling sanctions, western brands; from Schindler elevators and Bosch microphones, to Pepsi and Coke in hotels and cafes across the country. Boeing already has a $7 billion order for spare parts for Iran Air. Hotels in Tehran are packed with American, European, Chinese and Asian businessmen, and the schedules of Iranian officials and entrepreneurs are overbooked by visiting foreign delegations.
A brand new Novotel hotel stands opposite Tehran's airport and SWIFT is already active in 12 Iranian state-owned banks. New domestic investment banks like Turqoise Partners are much in demand and are flooded with investment inquiries, as is Tehran Stock Exchange.
Iran's many business chambers are fully prepared for the rush: "We are ready to take up any action of any nature and any value," says Kamaleddin Sahlabadi, the international counselor for the Isfahan Chamber of Commerce.
Taking him up on the offer should be a priority. The India-Iran $15.7 billion trade must move beyond the old-style oil and fertilizer, cereals and chemicals export basket. Those are necessary of course, given India's dependence on Iranian oil and Iran's dependence on those revenues.
But providing modern amenities that are robust and affordable for a youthful, tech-savvy population can ensure that India leapfrogs to the front of Iran's mind and market share. This means rolling out India's IT, pharmaceuticals, automotive, agri-business and financial services for Iran, and stepping up the private sector engagement.
India's private industry will understand Iran easily enough: It is like India circa 1991, removed from global markets and making do with import substitution.
Iran has used the years under the sanctions to develop internally, with good roads, water and housing supplies and an education system where women predominate–nearly 70% of Iranian science and engineering students are women. Close to 300,000 engineers in Iran have built home-grown replacements not just for nuclear technology but also for Internet and mobile applications.
Iran's young, 20-something IT community has created Cafe Bazaar in place of Google Play; Bamilo instead of Amazon; Taxi Yaab instead of Uber, Mazando instead of Ebay. Since June 2012, Iran has held 62 "startup weekends", there are innovation accelerators and banks like Turquoise Partners are seed-funding this e-commerce takeoff. This year, Germany played tech godmother, hosting the iBridges tech conference for regional startups where Iranian players made a spectacular appearance.
Alas, India does not figure in this new picture. Bangalore, with its large entrepreneurial community should loom large in Tehran, but apart from Flipkart, even superstar Hessam Armandehi, the young CEO of Cafe Bazaar, is unfamiliar with India's startup scene. They look instead northwards.
Alireza Jozi, the co-founder of TechRasa–the Iranian version of Bangalore's Your Story–is an emigre from Austria who returned two years ago to build Iran's tech ecosystem. His ambition for Iran's tech talent? To surpass Turkey and "become the tech hub of the region."
This is possible, given Iran's aspirations and Turkey's downward geopolitical spiral. India's private sector must actively contribute to the Iranian dream.
So far, our engagement is largely through government, with the signature bilateral Chabahar Port project caught in India's baroque inter-ministerial rivalries, and the Iranians losing patience. If New Delhi does not move decisively, Chabahar may, like Sri Lanka's Hambantota Port, become a Chinese project and a critical link, through Afghanistan and Pakistan, to its One Belt-One Road initiative.
There's a market craving credit and investment. Under sanctions, Hawala financed Iran's economy. Now Tehran is offering generous incentives to foreign investors to formalize its economy: Equal access to the home market, taxes of 10% or less, 100% repatriation of profits, special economic export zones. India's private sector can offer consumer credit, factories for auto parts and electric vehicles, a pharma base and technology investments.
New Delhi's trade engagement with Iran can enable India to become a regional goods and services supplier to the entire Persian Gulf region from a stable West Asian base.
New Opportunities for India
India Rebooting Ties, Expediting Connectivity Plans With Iran
Iran: India's Gateway to Central Asia, Middle East
Iran-India Partnership Enters New Era
India to Involve Private Sector for Chabahar Development
Tehran, New Delhi Get Down to Brass Tacks


Luscious orange-pink blooms and glossy green foliage. Disease-resistant. Compact. Continuous bloom or rebloomer. Long blooming. Salt tolerant.
Perfect for mixed borders and beds. It is small enough to plant near walkways and other tight spots. If grown as a container plant, plant in the ground in fall.
Little needed. Highly disease resistant - no spraying needed. This plant does not need pruning like traditional roses - it will rebloom without deadheading. It may be pruned to shape in spring. Apply a controlled release fertilizer in early spring.
If you think roses are for very proper, formal gardens, think again. This rebel has intense, amazing color: shades of ruby-red grapefruit, summer sunsets, and those fancy tropical drinks with umbrellas in them.
The continuous blooms cover the tidy mound of dark, glossy foliage. This is a wonderful choice for mass plantings or adding unusual color to mixed borders.


text:
O cubiu ou tomate de índio é um arbusto da família das solanáceas, originário do ocidente da Amazônia.

Descrição
É uma planta de crescimento rápido, ao principio herbácea e logo semilenhosa. Mede de 80 cm a 2 m de altura. Os caules são cilíndricos com penugem dura e cinza, ramifica desde perto do chão; tem galhos robustos e folhas simples, alternas, de 30 cm × 26 cm, de margem ondeado o serradas e com a cara superior coberta de lanugem duro e brancacento. A inflorescência e axilar em racemo e suas flores são maiores que da batata, medem de 4 a 5 cm de diâmetro; o cálice tem cinco sépalas duras, triangulares e a corola cinco pétalas de cor brancacento, amarelo ou verde claro.

Fruto
O fruto pode ser esférico, ou ovalado, com 4 a 12 cm por 3 a 6 cm e peso entre 24 e 250 g; seu cor é desde amarelo até avermelhado. A casca é suave e circunda a polpa ou mesocarpo, grosso, amarelo e aquoso.

Ecologia e adaptação
Precisa de temperaturas medias entre 18 e 30°C, sem presença de geadas, e com precipitação pluvial entre 1.500 e 4.500 mm por ano. Se beneficia da sombra ligeira durante seus primeiros estados de desenvolvimento. Cresce em terrenos ácidos de pouca fertilidade, e também em solos neutros e alcalinos de boa fertilidade, com textura desde argilosa até arenosa. Pode-se encontrar cultivada nas zonas com altitudes desde 0 até 1.500 m.

Semeadura
A propagação por sementes é a mais comum; cada fruto envolve de 1200 a 1400 sementes que pesam em total 3,2 g. Podem-se semear em viveiros embaixo da sombra, espalhando a semente em sulcos corridos, em gavetas de 1 x 1 x 0,2 m com substrato de serragem úmida, decomposta e desinfetada e cobertos com 0,5 cm do mesmo substrato.

A germinação ocorre aos 15 a 30 dias depois da semeadura. Quando as plântulas desenvolvem 4 folhas, estão listas para passar a bolsas plásticas, contendo substrato misturado com terra preta, arena e matéria orgânica decomposta na proporção 1:1:1. Dois a três meses depois, as plantas alcançam de 20 a 25 cm de altura, chega o momento para o transplante definitivo ao campo.

Referências
 Da Silva Filho, Danilo Fernandes. 1998. Cocona (Solanum sessilifolium Dunal): cultivo y utilización Caracas: Tratado de Cooperación Amazónica.
 Dunal, Michel Félix. 1814. "Solanum sessiliflorum"; in J.L.M. Poiret, Encyclopedie Methodique. Botanique, Supplement 3: 775. 3 Sep. 1814.
 Morton, Julia F. 1987. "Cocona". En: Fruits of warm climates:428–430. Miami, FL.

Ligações externas

Solanaceae
Plantas medicinais
Frutos
Flora da Venezuela
Flora do Brasil
Flora da Bolívia
Flora da Colômbia
Flora do Equador
Flora do Peru
Plantas descritas em 1814


This morning, a raindrop tapped my on my shoulder.
I looked up with a smile, and a delicate blue hole in the charcoal clouds smiled back down on me.
"Race with me", she whispered, as she whisked along one step ahead of me.
"Thank you, but not today", I replied.


text:
package org.jboss.weld.tests.scope.unproxyable.method;

import javax.inject.Inject;

public class SwanLake {

    @Inject
    @SuppressWarnings("unused")
    private Swan swan;
}

redpajama_set_name: RedPajamaGithub


Murder to Measure have conducted events in a variety of venues; from village halls to castles, boats to restaurants, front rooms to hotels.
Our only requirement is for a single room separated from non-participating guests, although if other rooms are available, we can make use of them for crime scenes etc. We won't tie you down to one of our venues and if you already have somewhere in mind, that's fine.
If you would like us to find a venue for you, this is usually possible for no additional charge. Prices for venues vary widely, but there is usually somewhere to suit any budget and size of group.
If you are looking for an overnight stay, hotels are fine, but an ideal location for a mystery event is one where you can take a venue over completely. This may be possible with smaller family-run or boutique hotel, or for weekend bookings a rented cottage/manor house is often more cost-effective.
You can find a selection of venues in the south west and beyond by selecting from the links below.
For other locations please contact us or visit our location search page.


T3 found a patent for a Nintendo gaming phone. Could it be a voip channel on the Wii, using the Wiimote as a handset? Maybe. I'm not getting my feathers riled up on this one, though. What is getting me randy is that photochop job on the left, based on the patent art. Me likey!


text:
Question: Does ecological succession ever stop?
Does ecological succession ever stop Why or why not?
How long is ecological succession?
What is the last thing to grow in ecological succession?
Why does ecological succession still happen?
Why does primary succession take longer?
What is climax persistence?
How does ecological succession affect ecosystems?
What if there is no ecological succession on our ecosystem?
How long can primary succession take?
What is the final stage of succession called?
How do pioneer species arrive?
What is Nudation in ecological succession?
Do climax communities really exist?
When an ecosystem loses biodiversity How does it change?
What is a climax community and is it the end of succession?
According to classical ecological theory, succession stops when the sere has arrived at an equilibrium or steady state with the physical and biotic environment. Barring major disturbances, it will persist indefinitely. This end point of succession is called climax.
Ecological succession is not guaranteed to stop in any area due to the possibility of natural disasters, climate change, and disease.
Succession occurs on many different timescales, ranging from a few days to hundreds of years. It may take hundreds of years for a climax woodland to develop, while the succession of invertebrates and fungi within a single cow pat (cow dung), may be over within as little as 3 months.
climax. climax, in ecology, the final stage of biotic succession attainable by a plant community in an area under the environmental conditions present at a particular time.
IMPORTANT: Is America actually recycling?
Ecological succession takes place because through the process of living, growing and reproducing, organisms interact with and affect the environment, gradually changing it.
Primary succession takes longer than secondary succession because soil needs to be created. Soil is already present in secondary succession. … lichens and erosion help break down the rock to form new soil.
Persistence is the key to climax. In a climax community, all species (including dominant species), are continually able to reproduce successfully and persists in a uniform climatic area. That is known as climax persistance.
Ecological succession is important for the growth and development of an ecosystem. It initiates colonization of new areas and recolonization of the areas that had been destroyed due to certain biotic and climatic factors. Thus, the organisms can adapt to the changes and learn to survive in a changing environment.
Without ecological succession, Earth would be much like Mars. Ecological succession provides diversity and depth to a biotic community. Without it, life can not grow or progress. Succession, it seems, is the gateway to evolution.
The process of primary succession can take hundreds, if not thousands, of years. In contrast, the process of secondary succession can reestablish an ecosystem's climax communities in as few as 50 years. The ecosystem's animal populations are also established more quickly during secondary succession.
IMPORTANT: Frequent question: How does the North Atlantic Drift affect the UK climate?
In some environments, succession reaches a climax, which produces a stable community dominated by a small number of prominent species. This state of equilibrium, called the climax community, is thought to result when the web of biotic interactions becomes so intricate that no other species can be admitted.
Species that arrive first in a newly created environment (such as an island rising out of the sea) are called pioneer species, and they, through their interactions with one another, build a rather simple initial biological community.
According to Clements, succession is a process involving several phases: Nudation: Succession begins with the development of a bare site, called Nudation (disturbance). Migration: refers to arrival of propagules. Ecesis: involves establishment and initial growth of vegetation.
Yes. While there is no universal formula to form a climax community, this stage in particular is relative to the immediate environment. For example, the area surrounding Glacier Bay in Alaska has assumed climax status. … Climax status can be determined by community stability.
A decrease in biodiversity causes a decrease in ecosystem stability, because a change to one organism will have a greater impact on the entire ecosystem. With greater biodiversity, the loss of one type of organism could be moderated by the adaptation of other organisms to fill its role.
An ecological community in which populations of plants or animals remain stable and exist in balance with each other and their environment. A climax community is the final stage of succession, remaining relatively unchanged until destroyed by an event such as fire or human interference.
IMPORTANT: Is resin code 7 recyclable?
Categories Dump


text:
Q: Exporting Database From Oracle and Importing Into MariaDB I am doing a data migration from oracle to mariadb. What are the best practices that are typically implemented for database migration. I know theres migration tools to help export from oracle and import into mariadb (ex HEVO) but Im not entirely convinced this will resolve all of my problems. For example oracle provides a native import/export tool called expdp/impdp to create a dump file but mariadb does not support reading the dump.
What are migration tools and best practices I should consider when migrating from Oracle to MariaDB?
Some notes:

*

*currently using oracle db

*mariadb donor has sql_mode=ORACLE enabled with datatyping issues (BigInt vs Long, and String Clob formatting which is detailed further below)

*current DB has ~20million rows

*can export dump file from oracle but mariadb does seem to recognize it

*can export 20k rows at a time using SQLDeveloper into csv but with 20M rows this isnt ideal and slow

*oracle db contains String CLOBs of XML string literals which break mariadb (CLOBS in mariadb require surrounding double quotes for every row, newline chars also break mariadb)

A: Welcome to your Oracle to MariaDB migration.
You can use MariaDB's Connect Engine to create a connection to the OracleDB.
There are many types, so a JDBC Connect engine type to the OracleDB is one way.
Follow the install instructions for connect engine in your configuration file:
plugin-load-add=ha_connect

You may also need to configure connect_jvm_path and connect_class_path to files containing JDBC connectors for Oracle.
Create a server to make the name oracle refer to the server:
create server 'oracle' foreign data wrapper 'oracle' options (
HOST 'jdbc:oracle:thin:@localhost:1521:xe',
DATABASE 'SYSTEM',
USER 'system',
PASSWORD 'manager',
PORT 0,
SOCKET '',
OWNER 'SYSTEM');

Create the connect engine table to the OracleDB:
create table employees_oracle engine=connect table_type=JDBC connection='oracle/HR.EMPLOYEES';

Then create the identical MariaDB table:
create table employees like employees_oracle;

Check it has all the right indexes:
show create table employees;

Make the employees table a local MariaDB InnoDB table of the same structure:
alter table employees engine=InnoDB

and then:
insert into employees select * from employees_oracle;

Use sql_mode=ORACLE in the server and see if your existing applications work correctly with MariaDB.
Please report any bugs.

redpajama_set_name: RedPajamaStackExchange


I'm sure you don't know this, but this blog gets 80%+ of its traffic from Pinterest.
Well, because Pinterest has proven itself to be one of the best traffic sources for bloggers and if you are on Pinterest and you're not using it to get traffic (and make money), then you're just wasting away your time.
Pinterest works and Pinterest can turn you from a nobody blogger into a pro-blogger quicker than any other social network that I know of.
In this video, you are going to learn how to create viral pins that will go on to bring you thousands of free Pinterest traffic for months and month.


As an information security professional and digital forensic investigator, I'm often asked why I don't pursue the people who are hacking us. There is a lot of political and journalistic attention being given to the concept of going after the bad guys who have been attacking our critical infrastructure, our voting systems, our banking wire systems, and even our personal information. The recent WikiLeaks Vault 7 releases of US government-created hacking tools, and their resulting malware (WannaCry, Petya, CherryBlossom, etc.) has only exacerbated the arguments that we should be more aggressive in pursuing attribution to the perpetrators and striking back. It has even garnered Congressional support in the form of a bill being sponsored by Representative Tom Graves (R-GA) called the Active Cyber Defense Certainty Act. So it may not even be (somewhat) illegal for us to hack back in the future. This would personally be very gratifying.
So why am I (and my colleagues in the private sector) not fully engaged in identifying the bad guys and making them pay for their nefarious activities? Well number one, I don't have the time. I'm the VP/CISO for a regional bank. This takes up a great deal of my time. Like you, I'm fully engaged all day in the mundane and repetitive tasks of keeping my bank's corporate and customer data secure and protected from just this kind of activity. That means I'm constantly looking for vulnerabilities in our network and getting them closed. I'm also spending a lot of time now checking up on my third party providers to make sure they're doing the same (have you seen the recent updates to Schedule J of the FFIEC IT Handbook?). Second, the Board of Directors isn't likely (full disclosure – I haven't really asked them though) to approve of me raising the visibility of our Bank to the hackers by drawing attention with counter-attacks against the very persons who have the means, capability, and motivation to dramatically increase my workload. Third, I'm not a police officer. I've worked for them at the federal, state, local, and military levels enough to know the difference between my job and their job. There is a clear delineation that it's 'their' job to identify and apprehend criminals. Then it falls upon the Department of Justice to prosecute them. That's way outside my scope of work.
But Brian, why is it that law enforcement simply doesn't seem interested? Former FBI Director James Comey notoriously once remarked that he would recommend paying ransomware hackers if you were compromised. Of course, he quickly recanted that statement. It was still very revealing regarding the perception of cybercrime at the federal law enforcement level. The fortunate truth is that this perception is not true. There is great interest within federal law enforcement for attribution and prosecution of cybercrime. In the financial services sector, one only needs to look at the number of suspicious activity reports (SARs) that each FS provider must submit each month (we do several hundred each month ourselves). Did you know that the FBI has a dedicated Unit, the Cyber Initiative & Resource Fusion Unit (CIRFU) for fighting cybercrime? I've worked closely with the agents and analysts assigned to this unit and can unequivocally state that they are committed to this effort. As well the Department of Homeland Security Investigations, the Secret Service, Customs and Border Protection, and even the US Postal Service. Every branch of the military now has a cyberwarfare arm. So don't think that there isn't a great deal of activity already happening to address cybercrime.
Still, how would one approach hacking back if they were so inclined? In order to attribute a piece of malware, especially malware like ransomware or a DDoS attack, one must understand how the hackers instruct these malware systems to do what they want them to do. This is typically managed through a Remote Administration Tool (RAT). The RAT is distributed first to create a bot infrastructure. Just like every other piece of software that you've ever encountered, RATs have bugs in them too. Since most hackers are lazy and recycle others' code, it's possible to reverse engineer the distributed RAT and make changes in it to hack back against the attacker and perhaps gain access to the hackers command and control (C2) server(s). Then it's simply a matter of traditional hacking techniques fired back at the C2 to gain elevated privileges and recon. Slap a packet monitor on it and watch where the traffic is going.
In conclusion, I'll be watching to see where Rep. Graves is headed with his bill. Taking one of the impediments away will be helpful. It will open the door for private security firms to take a more active role in helping to identify who the hackers are. Then perhaps organizations like InfraGard can take an even more proactive role in assisting law enforcement with putting additional pressure on the hackers to find other things to do with their time.


If you receive a letter in the mail from your local Zoning Authority, and you are unsure what steps to take, you are not alone. Many people are surprised to find out that Zoning Authorities in Virginia operate like their own little governments. The General Assembly has given them broad powers to create and enforce zoning ordinances. If you receive a notification that you are in violation of one or more of these ordinances here are some critical points to keep in mind.
It is important that you read your violation letter very carefully to understand exactly what the violation is and what your deadlines are. Many times the letter will give you a date by which you must remedy the violation. Check to see when the clock starts. Is it when you receive the letter, or when the letter was sent? You need to call the number on the letter and talk to them about the deadlines and ask for an extension. They are usually willing to grant reasonable extensions.
In Virginia, you have 30 days to appeal a violation letter to the Board of Zoning Appeals. This sometimes confuses people because they expect to go to court. Instead, the first appeal is heard by this special board. It is important to know that you will not get more time for the appeal even if you get an extension for the violation letter. While this is an administrative hearing, the Zoning Authority has the authority to charge you with multiple civil infractions all the way up to criminal misdemeanors for non-compliance with the zoning ordinances. So, it is important that you act quickly. More Fairfax specific information can be found here.
Sometimes these matters go to actual court because either you or the locality appeals the decision of the Board of Zoning Appeals. You may also be summoned to court if the Zoning Authority has taken some other legal action against you, such as charging you with a criminal misdemeanor. In this case, be sure to read your summons carefully and call the clerk of the court if you have any questions.
Zoning codes are often filled with exceptions. A few of the common ways to get around the ordinance is to request a variance or a special use permit. It is wise to seek the advice of an attorney who familiar with all the exceptions to see what your options might be.
If you've received a Zoning Violation letter and advice or representation for the hearing on the matter, Contact Keithley Law, PLLC today by calling (703) 454-5147 and schedule an initial consultation in our Fairfax law office with one of our Virginia attorneys. We can walk you through the steps to get the most out of your case.