text:
\section{Introduction}
\noindent
The astrophysical data from distant Ia supernovae observations \cite{riess}, \cite{riess1}, \cite{perlmutter}, \cite{perlmutter1}, \cite{astier}, \cite{kowalski}, \cite{amanullah}, \cite{hicken}, cosmic microwave background anisotropy \cite{spergel}, \cite{spergel1}, \cite{komatsu}, \cite{larson}, and large scale galaxy surveys \cite{tegmark}, \cite{tegmark1}, \cite{abazajian}, \cite{abazajian1}, \cite{tegmark2}, \cite{einsenstein}, \cite{tegmark3}, all indicate that the current Universe is not only expanding, it is accelerating due to some kind of  negative-pressure form of matter known as dark energy (\cite{peebles}, \cite{copeland},\cite{turner},\cite{sahni}, \cite{sahnii}, \cite{padmanabhan}). The combined analysis of cosmological observations also suggests that the universe is spatially flat, and  consists of about $\sim 1/3$
of dark matter (the known baryonic and nonbaryonic dark matter), distributed in clustered structures (galaxies, clusters of galaxies, etc.) and $\sim 2/3$ of homogeneously distributed (unclustered) dark energy with negative pressure. Despite the high percentage of the dark energy component, its nature as well as its cosmological origin remain unknown at present and a wide variety of models have been proposed to explain the nature of the dark energy and the accelerated expansion (see \cite{peebles}-\cite{padmanabhan} for review).
Among the different models of dark energy, the holographic dark energy approach is quite interesting as it incorporates some concepts of the quantum gravity known as the holographic principle (\cite{bekenstein, thooft, bousso, cohen, susskind}),which first appeared in the context of black holes \cite{thooft} and later extended by Susskind \cite{susskind} to string theory. According to the holographic principle, the entropy of a system scales not with its volume, but with its surface area. In the cosmological context, the holographic principle will set an upper bound on the entropy of the universe \cite{fischler}. In the work \cite{cohen}, it was suggested that in quantum field theory a short distance cut-off $\Lambda$ is related to a long distance cut-off (infra-red cut-off $L$) due to the limit set by black hole formation, namely, if is the quantum zero-point energy density caused by a short distance (UV) cut-off, the total energy in a region of size $L$ should not exceed the mass of a black hole of the same size, thus $L^3\Lambda^4\leq LM_p^2$. Applied to the dark energy issue, if we take the whole universe into account, then the vacuum energy related to this holographic principle is viewed as dark energy, usually called holographic dark energy \cite{cohen} \cite{hsu}, \cite{li}. The largest $L$ allowed is the one saturating this inequality so that the holographic dark energy density is defined by the equality $\rho_\Lambda=3c^2M_p^2L^{-2}$, where $c^2$ is a numerical constant and $M_p^{-2}=8\pi G$.\\
As is well known, the Hubble horizon $H^{-1}$ as the infrared cut-off, gives an equation of state parameter (EoS) equal to zero, behaving as pressureless matter which cannot give accelerated expansion, and the particle horizon gives an EoS parameter larger than $-1/3$, which is not enough to satisfy the current observational data. The infrared cut-off given by the future event horizon yields the desired result of accelerated expansion with an EoS parameter less than $-1/3$, despite the fact that it is based on non local quantities and has problems with the causality \cite{li}. An holographic dark energy model which is based on local and non local quantities have been considered in \cite{sergei}, \cite{sergei1}. Based mainly on dimensional arguments, in \cite{granda}, \cite{granda2} an infrared cut-off for the holographic density was proposed, which describes the dark energy in good agreement with the astrophysical data, and may explain the cosmic coincidence.
This model exhibits quintom nature (for some values of the parameters) without the need to introduce any exotic matter, and has also proven to be useful in the reconstruction of different scalar field models of dark energy which reproduce the late time cosmological dynamics in a way consistent with the observations \cite{granda3,granda4}.\\
Despite the available proposals, the theoretical root of the holographic dark energy is still unknown mostly because our ignorance about the microscopic nature of quantum gravity and the origin of dark energy. This translates into a lack of details about the holographic cut-off, and therefore in the present paper we assume that this cut-off should be encoded in a function that depends on natural cosmological quantities like the Hubble parameter, its time derivative and also should contain a constant term, which represents the first approximation to vacuum energy density (which could be interpreted, in the context of the holographic principle as giving quantum gravity nature to the cosmological constant).
The constant term would act as the first natural approximation to the infrared cut-off for the holographic density, since this term may be identified with a constant vacuum energy density, that adjusts very well to the current observational data. A discussion about the cosmological constant and the holographic principle is given in \cite{horava}.
We propose an holographic density given by a general function of the form $f(H,\dot{H})$, where $f$ should be expanded in powers of his arguments, based on their smallness (compared to the squared Planck mass $M_p^2$). The coefficients of the different terms of this expansion must be found by fitting the model with current observations.
To obtain the cosmological constraints on the model, we will use the SNIa Constitution sample (\cite{hicken}), complemented with the CMB (cosmic micro wave background) anisotropy and BAO (baryon acoustic oscillation) data. In section 2 we review the main aspects of the model, in section 3 we include the matter content and fit the parameters using the joint Constitution, CMB and BAO data analysis. In section 4 we give a discussion.
\section{The Model}
The main inequality discussed above $L^3\Lambda^4 \leq LM_p^2$, leads to the restriction involving the UV and IR cut-offs $\Lambda^4\leq M_p^2 L^{-2}$.  Saturating this inequality we come to the concept of holographic dark energy $\rho_{\Lambda}$. To define the infrared cut-off and hence the holographic dark energy density, we propose for $L^{-2}$ a general function which should depend on the main cosmological parameters $H$ and $\dot{H}$, and is measured in units of $(length)^{-2}$, defining the holographic density as follows (from now on we will set $8\pi G=M_p^{-2}=1$)
\begin{equation}\label{eq1}
\rho_\Lambda=3f(H^2,\dot{H})
\end{equation}
where $H=\dot{a}/a$ is the Hubble parameter, and the function $f$ can be Taylor expanded in powers of his arguments provided $H^2$ and $\dot{H}$ are at the present very small quantities measured in Planck mass units, giving
\begin{equation}\label{eq3}
f(H^2,\dot{H})=\lambda+\alpha H^2+\beta \dot{H}
\end{equation}
where we neglected higher order powers of $H^2$ and $\dot{H}$, and $\lambda$, $\alpha$ and $\beta$ are constants to be determined. This model generalizes the one presented in (\cite{granda},\cite{granda2}). The novelty of the present proposal takes root in the presence of the constant term $\lambda$ which we consider as the first natural approximation to the infrared cut-off ($L\sim \lambda^{-1/2}$), and should be associated with the contribution of the constant energy density of the vacuum. As we shall see bellow, the cosmological dynamics depends on $\alpha$ and $\beta$ only through the combination $(\alpha-1)/\beta$ (i.e. cosmological observations fix only this combination) leaving one free parameter. To fix the free parameter we can use geometrical criteria in order to reduce the last two terms in (\ref{eq3}) to a term proportional to Ricci scalar, but the dynamics is independent of the election of this free parameter. \\
\noindent To analyze some cosmological consequences of the model (\ref{eq3}), we first consider the case of an universe dominated by dark energy. The Friedmann equation in absence of matter is
\begin{equation}\label{eq5}
H^2=\frac{1}{3}\rho_\Lambda=\lambda+\alpha H^2+\beta \dot{H}
\end{equation}
\noindent Setting $x=\ln{a}$, we can rewrite (\ref{eq5}) as follows
\begin{equation}\label{eq6}
H^2=\lambda+\alpha H^2+\frac{\beta}{2}\frac{dH^2}{dx}
\end{equation}
\noindent Introducing the scaled Hubble expansion rate $\tilde{H}=H/H_0$, where $H_0$ is the present value of the Hubble parameter (for $x=0$), the above Friedman equation becomes
\begin{equation}\label{eq7}
\tilde{H}^2=\Omega_{\Lambda}+\alpha\tilde{H}^2
+\frac{\beta}{2}\frac{d\tilde{H}^2}{dx}
\end{equation}
where $\Omega_{\Lambda}=\lambda/H_0^2$ Solving the equation (\ref{eq7}), we obtain
\begin{equation}\label{eq8}
\tilde{H}^2=\Omega_{\Lambda}+\Omega e^{-2x(\alpha-1)/\beta}=\Omega_{\Lambda}+\Omega (1+z)^{2(\alpha-1)/\beta}
\end{equation}
where $\Omega_{\Lambda}=\Omega_{\lambda}/(1-\alpha)$, $\Omega$ is an integration constant and the last equality is written in the redshift variable (by using $e^{-x}=1+z$).
Note that even without the matter component, this solution is interesting enough as it contains the cosmological constant, and the second term may give matter-like behavior if the constants $\alpha$ and $\beta$ satisfy the restriction $(\alpha-1)/\beta=3/2$, giving rise to the $\Lambda$CDM model. Evaluating the Eq. (\ref{eq8}) at $x=0$ (the flatness condition), it follows
\begin{equation}\label{eq9}
\Omega_{\Lambda}+\Omega=1.
\end{equation}
Thus $\Omega_{\Lambda}$ represents the constant component of vacuum energy density and $\Omega$ stands for the new form of ``matter'', both quantities coming from the holographic principle.  Additional constraints may be used to find appropriate values for the parameters. These constraints are related with the present observational value of the dark energy EoS, which between the margins of errors can be set to $\text{w}\approx-1.1$, and the transition deceleration-acceleration, which occurs in the region $z_T\sim 0.5-0.7$ ($z_T$ is the transition redshift). The EoS in terms of the redshift is given by
\begin{equation}\label{eq10}
\text{w}(z)=-1+\frac{1}{3}\frac{(1+z)}{\tilde{H}^2}\frac{d(\tilde{H}^2)}{dz}
\end{equation}
replacing $\tilde{H}^2$ from (\ref{eq8}) it follows that
\begin{equation}\label{eq11}
\text{w}(z)=-1-\frac{2(1-\alpha)(1-\Omega_{\Lambda})(1+z)^{2(\alpha-1)/\beta}}{3\beta\left[\Omega_{\Lambda}+(1-\Omega_{\Lambda})(1+z)^{2(\alpha-1)/\beta}\right]}
\end{equation}
from Eq. (\ref{eq8}) the deceleration parameter $q=-a\ddot{a}/\dot{a}^2$, is given by
\begin{equation}\label{eq12}
q(z)=-1-\frac{(1-\alpha)(1-\Omega_{\Lambda})(1+z)^{2(\alpha-1)/\beta}}{\beta\left[\Omega_{\Lambda}+(1-\Omega_{\Lambda})(1+z)^{2(\alpha-1)/\beta}\right]}
\end{equation}
Note that the Hubble parameter (\ref{eq8}) and the Eqs. (\ref{eq11}) and (\ref{eq12}) depend on $\alpha$ and $\beta$ only through the combination $(\alpha-1)/\beta$.
Therefore, for a given $\text{w}(z=0)=\text{w}_0$ and $q(z_T)=0$, we can find the combination $(\alpha-1)/\beta$ and $\Omega_{\Lambda}$. Note also that $\Omega_{\Lambda}=1$
gives $\text{w}=-1$, as expected from a universe dominated by the cosmological constant.
It is worth examining the special case of $\alpha=1$. Integrating the Eq. (\ref{eq7}) for $\alpha=1$, and using (\ref{eq10}) to the define the corresponding EoS, gives
\begin{equation}\label{eq12a}
\text{w}(z)=-1+\frac{2\Omega_{\lambda}}{3C\beta+6\Omega_{\lambda}\log(1+z)},
\end{equation}
where $C$ is the integration constant. At $z=0$ gives $\text{w}_0=-1+2\Omega_{\lambda}/(3C\beta)$. Thus depending on the relative sign of $\beta$ and $C$, we can have quintessence or phantom behavior. An interesting limit of Eq. (\ref{eq7}) can be obtained when $\dot{H}<<H^2$, which is equivalent to one of the slow-roll conditions used in inflationary models. In this limit $H^2=\lambda/(1-\alpha)$, which gives rise to exponential expansion ($\alpha\neq 1$).
\section{Holographic density with matter}
In order to construct a more realistic scenario, we include the contribution of matter, and by using the observational data we can define the parameters of the model.
Adding the contribution of matter, the Friedmann equation becomes
\begin{equation}\label{eq13}
H^2=\frac{1}{3}\rho_{m0} e^{-3x}+\lambda+\alpha H^2+\frac{\beta}{2}\frac{dH^2}{dx},
\end{equation}
with the solution given by (in terms of the scaled Hubble parameter)
\begin{equation}\label{eq14}
\tilde{H}^2=\Omega_{m0} e^{-3x}+\Omega_{\Lambda}+\Omega e^{-2x(\alpha-1)/\beta}+\frac{(2\alpha-3\beta)\Omega_{m0}}{3\beta-2\alpha+2} e^{-3x}
\end{equation}
where $\Omega_{m0}=\rho_{m0}/(3H_0^2)$, $\Omega$ is the integration constant and the last three terms represent the contribution of the holographic dark energy. The third term provides the possibility of crossing the phantom barrier, giving rise to quintom behavior. Note that the last term in (\ref{eq14}) makes contribution to the matter sector, which
indicates that the present holographic density also contributes to the presureless matter component of the universe, which is about 27\% of the total.
In what follows we will consider the sum of the terms proportional to $e^{-3x}$ as the matter component (in fact is an effective matter component) and the Eq. (\ref{eq14}) will be written as
\begin{equation}\label{eq15}
\tilde{H}^2=\Omega'_{m0} e^{-3x}+\Omega_{\Lambda}+\Omega e^{-2x(\alpha-1)/\beta},
\end{equation}
where
\begin{equation}\label{eq16}
\Omega_{m0}'=\frac{2}{3\beta-2\alpha+2}\Omega_{m0}
\end{equation}
and $\Omega_{m0}'$ should be adjusted with the data. According to current observations, the main contribution to dark energy comes from the constant term in Eq. (\ref{eq15}), and the third term may be responsible for possible quintom behavior. The coefficients in Eq. (\ref{eq15}) are subject to the flatness condition (at $x=0$)
\begin{equation}\label{eq17}
\Omega'_{m0}+\Omega_{\Lambda}+\Omega=1
\end{equation}
It is important to note here that the net contribution to the present density parameter of the dark energy comes from the sum of the last two terms in Eq. (\ref{eq17}), which we can resume as
\begin{equation}\label{eq18}
\Omega_{DE}=\Omega_{\Lambda}+\Omega
\end{equation}
so that the meaning of each separate term in (\ref{eq18}) is not important, but what matters is their sum which should contribute about 73\% to the total balance in (\ref{eq17}).
Note also that as in the previous case of DE dominance, $\alpha$ and $\beta$ appear in the combination $(\alpha-1)/\beta$ in (\ref{eq15}), and hence we can define the parameter $\gamma=(\alpha-1)/\beta$. This effectively reduce the number of the free parameters of the model to three, as can be seen from (\ref{eq15}) by using the above replacement for $\alpha$ and $\beta$ and the flatness condition (\ref{eq17}). At the same time this simplifies the procedure of fitting the parameters with the current observational data.
In terms of the redshift $z$ the Hubble parameter takes the form
\begin{equation}\label{eq19}
\tilde{H}^2=\Omega'_{m0}(1+z)^3+\Omega_{\Lambda}+\Omega (1+z)^{2\gamma},
\end{equation}
and the respective total EoS becomes
\begin{equation}\label{eq20}
\text{w}_t(z)=-1+\frac{2\gamma\Omega(1+z)^{2\gamma}+3\Omega'_{m0}(1+z)^3}{3\left[\Omega(1+z)^{2\gamma}+\Omega'_{m0}(1+z)^3+1-\Omega'_{m0}-\Omega\right]}
\end{equation}
where the flatness condition (\ref{eq17}) was used.
Before beginning with the fixing of the parameters, we illustrate the behavior of the model by choosing some representative values of the parameters, guided by the redshift transition in the deceleration acceleration parameter and by the present observational value of the dark energy EoS parameter.
From (\ref{eq19}) the  deceleration parameter is given by
\begin{equation}\label{eq21}
q(z)=-1+\frac{2\gamma\Omega(1+z)^{2\gamma}+3\Omega'_{m0}(1+z)^3}{2\left[\Omega(1+z)^{2\gamma}+\Omega'_{m0}(1+z)^3+1-\Omega'_{m0}-\Omega\right]}
\end{equation}
The condition $q(z_T)=0$ gives $\Omega$ in terms of $\Omega'_{m0}$ and $\gamma$:
\begin{equation}\label{eq22}
\Omega=\frac{2(1-\Omega'_{m0})-\Omega'_{m0}(1+z_T)^3}{1+(\gamma-1)(1+z_T)^{2\gamma}}
\end{equation}
Let's turn to the equation of state of the dark energy sector.\\
From (\ref{eq19}) it follows the expression for the holographic dark energy density as
\begin{equation}\label{eq24}
\rho_{DE}=3H_0^2\left(\Omega_{\Lambda}+\Omega (1+z)^{2\gamma}\right)
\end{equation}
using the continuity equation $\dot{\rho_{DE}}+3H(\rho_{DE}+p_{DE})=0$ in terms of the redshift $z$ we find the DE pressure density, and the following expression for the EoS of the DE
\begin{equation}\label{eq25}
\text{w}_{DE}=\frac{p_{DE}}{\rho_{DE}}=-1+\frac{(1+z)}{3}\frac{1}{\rho_{DE}}\frac{d\rho_{DE}}{dz}=-1+\frac{1}{3}\frac{2\gamma\Omega(1+z)^{2\gamma}}{\Omega_{\Lambda}+\Omega(1+z)^{2\gamma}}
\end{equation}
at $z=0$ (\ref{eq25}) becomes
\begin{equation}\label{eq26}
\text{w}_{DE_{0}}=-1+\frac{1}{3}\frac{2\gamma\Omega}{1-\Omega'_{m0}}
\end{equation}
where the flatness condition (\ref{eq17}) was used. Assuming the current observational restrictions on the DE EoS \cite{hicken}, we can write $\text{w}_{DE_{0}}=-1+\delta$, where $\delta$ represents the deviation from $-1$ which may be in the range $-0.2<\delta<0.2$. Replacing in (\ref{eq26}) we obtain the relation
\begin{equation}\label{eq27}
\delta=\frac{1}{3}\frac{2\gamma\Omega}{\Omega_{\Lambda}+\Omega}=\frac{1}{3}\frac{2\gamma\Omega}{1-\Omega'_{m0}}
\end{equation}
for a given $\delta$ and $z_T$, and using the relations (\ref{eq17}), (\ref{eq22}) and (\ref{eq27}), the number of free parameters appearing in the solution (\ref{eq19}) reduces to one. Note that for $\delta=0$ it follows that $\gamma=0$ or $\Omega=0$, both of them conducing to the cosmological constant. And negative values of $\delta$ (indicating quintom behavior of the model), are possible if $\gamma<0$ (or even $\gamma>0, \Omega<0$). \\
Replacing $\Omega$ from (\ref{eq27}) in (\ref{eq22}) we obtain an equation to determine $\Omega'_{m0}$ for a given $z_T$, $\delta$ and $\gamma$:
\begin{equation}\label{eq28}
3\delta(1-\Omega'_{m0})\left[1+(\gamma-1)(1+z_T)^{2\gamma}\right]=\gamma\left[2(1-\Omega'_{m0})-\Omega'_{m0}(1+z_T)^3\right]
\end{equation}
Thus, solving the Eq. (\ref{eq28}) for  $\delta=0.05$, $zT=0.75$ and $\gamma=0.1$ gives $\Omega'_{m0}=0.273$. Quintom behavior can be obtained for $\delta=-0.05$ (i.e. $\text{w}_{0DE}=-1.05$), $zT=0.75$ and $\gamma=-0.1$, giving $\Omega'_{m0}=0.269$.
From (\ref{eq27}) $\Omega$ takes the values $0.545$ and $0.548$ respectively, and the dark energy density parameter can be found from: $\Omega_{DE}=\Omega_{\Lambda}+\Omega=1-\Omega'_{m0}$, completing in this manner the determination of the original model parameters as displayed in (\ref{eq19}). To obtain $\Omega'_{m0}$ we have assumed concrete values for $\gamma$, but we will use the observational data to fix the three parameters of the model, without assuming any prior values. \\
{\bf{Cosmological constraints from SNIa, CMB and BAO.}}\\
We turn now to use the data sets to constrain the parameters $\Omega'_{m0}$, $\text{w}_{DE_{0}}$ and $\gamma$. We performed a $\chi^2$ analysis to obtain the constraints on $\Omega'_{m0}$ $\text{w}_{DE_{0}}$ and $\gamma$ using the Constitution (397) SNIa data set \cite{hicken}, the shift parameter of the cosmic microwave background (CMB) form WMAP5 observations \cite{komatsu} and the baryon acoustic oscillations from the Sloan digital sky survey (SDSS) \cite{einsenstein}. The details of the $\chi^2$ technique and definitions of the main observational quantities used to constraint the cosmological parameters, can be found in \cite{einsenstein,bond,wang,nesseris,nesseris1} (see \cite{li1} for holographic dark energy models). We will just quote here that the luminosity distance times $H_0$ for our model is given by
\begin{equation}\label{eq30}
d_L(z)=(1+z)\int_0^z\frac{cdz'}{\tilde{H}(z',\Omega'_{m0}, \text{w}_{DE_{0}}, \gamma)}
\end{equation}
where $\tilde{H}(z,\Omega'_{m0}, \text{w}_{DE_{0}}, \gamma)$ is given by  (\ref{eq19}), after replacing $\Omega$ in terms of $\text{w}_{DE_{0}}$ through the relation (\ref{eq26}).
After minimizing the $\chi^2$ function with respect to the model parameters $\Omega'_{m0}$, $\text{w}_{DE_{0}}$ and $\gamma$, the following best fit values were found : $\Omega'_{m0}=0.272$, $\text{w}_{DE_{0}}=-0.962$, $\gamma=0.9$. This values define the best fit value for $h$: (the Hubble constant $H_0$ in units of 100 km/s/Mpc) $h=0.649$
The behavior of the Hubble parameter against the experimental bars  (see \cite{stern} and references therein)  is shown in Fig. 1.
\begin{center}
\includegraphics[scale=0.7]{Hubble.pdf}
\end{center}
\begin{center}
{Fig. 1 \it The behavior of $H$ for the best fit values $\Omega'_{m0}=0.272$, $\text{w}_{DE_{0}}=-0.962$ and $\gamma=0.9$, with $h=0.65$. The error bars correspond to the sample of passively evolving galaxies} \cite{stern}.
\end{center}

\section{discussion}
In this work we propose a new model of holographic density which incorporates a constant term as the first approximation to the infrared (IR) cut-off, and has notorious advantages with respect to the previous models, as it contains the $\Lambda$CDM model and additional DE term which could play an important role in the late time dynamics of the universe.
The cosmological constant in the context of the holographic principle have been discussed in \cite{horava} (where using thermodynamical arguments it was showed that the most probable value of the cosmological constant is zero, but a very small cosmological constant is still allowed), and the presence of a constant term in the holographic density brings a quantum gravity nature to the  cosmological constant. Moreover, the current astrophysical data indicates that the constant cosmological constant adjusts very well to the observations, and this fact supports the presence of constant term in the holographic density. Adding this constant term to the IR cut-off may improve even models like the Hubble scale which was unable to produce accelerated expansion \cite{hsu}, \cite{li}. In this case if we add a constant term to the squared Hubble scale, we obtain the $\Lambda$CDM model.
In order to reduce the number of free parameters, we grouped the terms proportional to $e^{-3x}$ in an effective matter density parameter, and the dependence on the initial model parameters $\alpha$ and $\beta$ reduces to dependence on the combination $\gamma=(\alpha-1)/\beta$. By using the astrophysical data we can fix $\gamma$, and this means that one of the parameters $\alpha$ or $\beta$ still free. If for instance we let $\beta$ free, then the relevant cosmological parameters which dictate the dynamical evolution of the universe do not depend on $\beta$, and there is apparently not dynamical criteria to fix $\beta$.
To fix $\beta$ we can use geometrical criteria in order to convert the last two terms in (\ref{eq5}) in a term proportional to the Ricci scalar. In this case the constant $\beta$ is automatically defined. From the relation $\alpha=\gamma \beta+1$, if we set $\beta=1/(2-\gamma)$ then the last two terms in (\ref{eq5}) become $1/(2-\gamma)(2H^2+\dot{H})$.\\
We have also shown that the holographic density contributes to the matter density defining in this way the ``effective'' matter density containing the usual baryonic and dark matter (see (\ref{eq14}-\ref{eq16})). We can interpret this result as meaning that the present holographic density may account for the dark matter content, and in this sense previously considered models of holographic DE based on local quantities $H^2$ and $\dot{H}$ can give rise only to constant DE EoS parameter.
The model parameters ($\Omega'_{m0}, \Omega, \gamma$) were constrained using the observational data including the Constitution sample of SNIa, the CMB shift parameter given by WMAP5, and BAO measurement from SDSS. We found the best fit values  $\Omega'_{m0}= 0.272$, $\text{w}_{DE_{0}}=-0.962$ and $\gamma=0.9$, with $\chi^{2}_{min}=465.941$. The Hubble parameter versus the redshift is plotted in fig. $1$. A detailed study of the available data to constraint the parameters will be done elsewhere.\\
Resuming, the present model could be relevant because of its simplicity; it introduces a ``constant'' cosmological term in the infrared cut-off of the holographic density, which puts the cosmological constant in the context of the holographic principle, attributing quantum gravity nature to the cosmological constant; it improves previously considered holographic models of DE based on local quantities; it may reproduce the standard $\Lambda$CDM model even without explicitly giving matter content (see (\ref{eq8}) at $(\alpha-1)/\beta=3/2$).
We expect that future high precision experiments allow accurately determine the parameters of the model and define its quintessence or quintom nature.

\section*{Acknowledgments}
This work was partially supported by Fundacion SENECA (Spain) in the frame of PCTRM 2007-2010.

redpajama_set_name: RedPajamaArXiv


Are you suffering from heat at home, office or when camping? A personal fan will be much more helpful than any ice cocktail. Here, you will find 15 best battery .
I was in Walmart looking at camping gear and I picked up an 02 Cool 10 inch portable fan from Walmart to go.
O2COOL 10-inch Portable Camping Fan with Lights, Battery Powered. .. other items: cool fans, 8 inch fan, shop fans, big fan, Best battery fan for camping.
O2Cool 5" Battery Operated Fan - black. Simply slide the switch located on the side of fan to the setting of your choice. For best performance, always use fresh .
10 Best Battery Powered Fans. Mar 24, 2017 in General. O2COOL's 10 Inch Fan has been ranked in the top 10 fans for 2017 battery powered fans on .
This is the reason why you should invest in the best battery operated fan for camping. If you're like me and need to sleep with the sound of the fan or the wind .


Year After Year, IBM and CEO Rometty Disappoint (NYSE: IBM) - 24/7 Wall St.
Quarter after quarter, year after year, the International Business Machines Corp. (NYSE: IBM) turnaround is promoted by the company and CEO Virginia Marie "Ginni" Rometty. Occasionally, revenue and income show the most modest of progress, and then IBM takes a step back again. This is the story of the company's first quarter.
IBM's numbers helped squander a strong stock market performance in 2019. It was the second-best performing Dow Jones industrial average stock until yesterday, up 27.7% to $145.14. The Dow was up 13.4% over the same period to 26,452.66. Tech superstar Apple was up 26.3% to $199.21. It would have been hard to find anyone last year who would have forecast this kind of surge in IBM.
IBM's improved stock price was based on the belief that its cloud computing and artificial intelligence businesses would offset and then run ahead of the lackluster performance of its legacy hardware, software and consulting businesses. IBM has proposed time after time that it could compete with market leaders Amazon and Microsoft. Rometty pressed the case at conferences, in media interviews and via a drumbeat of press releases about how well the company has done in these sectors.
Rometty has had plenty of time. She has been chief executive since January 2012. Much of her support has come from the board of directors, many of whom joined before she was elevated. Those board members have stuck with her far too long, in the minds of many investors who have grasped for financial improvement.
This statement could not mask the drop in revenue that has become an IBM hallmark. The revenue declined from $19.1 billion in the first quarter of last year to $18.2 billion. Earnings fell from $1.82 per share to $1.79.
Most notably, the division of the company that management said would thrive did not. Cloud & Cognitive Software revenue was $5 billion, down 2%. This includes the businesses critical to IBM's turnaround: cloud and data platforms, cognitive applications and transaction processing platforms. Many investors expected IBM to lift its earnings forecast for the year. It did not.
IBM's earnings results show that it has returned to its pre-turnaround days. Investors have waited for years, but it appears that wait could be years longer.


text:
Q: Image algorithm - detection of a light I got an open question, but wasn't able to find any question exactly similar to mine so here I come.
I got these two photos:

I would like to know if some algorithm (/or existing plugin) might be able to detect the presence (image 1) or not(image 2) of the blue light in the middle of the image?
My main skills are PHP and Javascript, but I can also use Java if necessary, or even another language if there's no other way...
Any help even small for pointing me out in the right direction is appreciated.

A: You can do something pretty basic with ImageMagick straight from the command-line without needing any code. It is installed on most Linux distros and is available for OSX and Windows.
Basically, you would be looking for pixels where the Blue channel is much greater than either the Red or the Green channel and where the Saturation is high. You can do that like this:
convert on.jpg -fx "u.b>(u.g+0.2) && u.b>(u.r+0.2) && saturation>0.6" result.png

Whereas when you run that for the off image:
convert off.jpg -fx "u.b>(u.g+0.2)&&u.b>(u.r+0.2)&&saturation>0.6" result.png

You can count the white pixels in the above images like this:
convert result.png -format "%[fx:mean*w*h]" info:
1227

so there are 1227 pixels identified as bright blue in the on image and there are 26 identified in the off image.
You can test both images without needing to create the intermediate output files I made above:
convert off.jpg -fx "u.b>(u.g+0.2)&&u.b>(u.r+0.2)&&saturation>0.6" -format "%[fx:mean*w*h]" info:
26

convert on.jpg -fx "u.b>(u.g+0.2)&&u.b>(u.r+0.2)&&saturation>0.6" -format "%[fx:mean*w*h]" info:
1227

Of course, you may want to diddle and experiment with the numbers I suggested.
Note also that there are C, C++, C#, PHP, Perl, Javascript, Ruby and other bindings for ImageMagick - so you can do all the above just the same in any language really. Or just exec() or system() the stuff above.

redpajama_set_name: RedPajamaStackExchange


text:
Q: How to improve 4-parameter logistic regression curve_fit? I am trying to fit a 4 parameter logistic regression to a set of data points in python with scipy.curve_fit. However, the fit is quite bad, see below:
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
from scipy.optimize import curve_fit

def fit_4pl(x, a, b, c, d):
    return a + (d-a)/(1+np.exp(-b*(x-c)))

x=np.array([2000. , 1000. ,  500. ,  250. ,  125. ,   62.5, 2000. , 1000. ,
        500. ,  250. ,  125. ,   62.5])
y=np.array([1.2935, 0.9735, 0.7274, 0.3613, 0.1906, 0.104 , 1.3964, 0.9751,
       0.6589, 0.353 , 0.1568, 0.0909])

#initial guess
p0 = [y.min(), 0.5, np.median(x), y.max()]

#fit 4pl
p_opt, cov_p = curve_fit(fit_4pl, x, y, p0=p0, method='dogbox')

#get optimized model
a_opt, b_opt, c_opt, d_opt = p_opt
x_model = np.linspace(min(x), max(x), len(x))
y_model = fit_4pl(x_model, a_opt, b_opt, c_opt, d_opt)

#plot
plt.figure()
sns.scatterplot(x=x, y=y, label="measured data")
plt.title(f"Calibration curve of {i}")

sns.lineplot(x=x_model, y=y_model, label='fit')
plt.legend(loc='best')

This gives me the following parameters and graph:
[2.46783333e-01 5.00000000e-01 3.75000000e+02 1.14953333e+00]

Graphh of 4PL fit overlaid with measured data
This fit is clearly terrible, but I do not know how to improve this.  Please help.
I've tried different initial guesses. This has resulted in either the fit shown above or no fit at all (either warnings.warn('Covariance of the parameters could not be estimated' error or Optimal parameters not found: Number of calls to function has reached maxfev = 1000)
I looked at this similar question and the graph produced in the accepted solution is what I'm aiming for. I have attempted to manually assign some bounds but I do not know what I'm doing and there was no discernible improvement.

A: In the usual nonlinear regresion softwares an iterative calculus is involved which requires initial values of the parameters to start. The initial values have to be not too far from the unknown correct values.
Possibly the trouble comes the "guessing" process of the initial values which might be not good enough.
In order to test this hypothesis one will try an unusal method of regression which is not iterative thus which doesn't require initial values. This is shown below.

The calculus is straightforward (with MathCad) and the results are shown below.

One have to take care about the notations which are not the same in your equation than in the above equation. In order to avoid confusion capital letters will be used in your equation while lowcase letters are used above. The relationship between them is :

Note that the sign in front of the exponential is changed to be compatible with negative c found above.
Try your nonlinear regression in starting with the above values A, B, C, D.
You should find values of parameters close to the above values but not exactly the same. This is due to the criteria of fitting (LMSE or LMSRE or LMSAE or other) implemented in your software which is different from the criteria of fitting used in the above method.
For general explanation about the method used above : https://fr.scribd.com/doc/14674814/Regressions-et-equations-integrale


The lawn guys got here a little later then expected, but they jumped on the work. There is a lot to do since it's been a while since I did lawn work. The grass in the back yard is six inches high. Not everything is overgrown, but a couple of the thorn bushes with the red flowers went out of control again. So did the vines. At least it's getting cleaned up.
I don't know what they will charge me, but I am sure it will be worth it.
The staging guys should be here this afternoon. I'll also be running to Goodwill several times today to donate old clothes and dog items. We all miss Sydney. It just wasn't the right dog for me and the kids. Too many snails in the house. I'm still finding them every now and again. Shells under the couch or chair, or under the tv stand. What a strange dog he was, but we all loved him!
The lawn guys left without doing the work. I guess there were some mechanical issues. I think it was more then they could do. He said he would come back this afternoon. Right now I am having lunch and letting the staging people have the house to themselves. I pray God gets the lawn guys over to clean up the place.
I spoke a lot about having the kids tell their teachers about abuse. God cannot help us if we are not telling the truth. God does not aid in unrighteousness. God will intervene when we are honest with others and ask for help. I will see tonight if they did the work or not. I hope so. I don't want to have to go out and get CPS involved. We shall see.


text:
James: Increase your pension contributions?
Client A: "I'm 30, I don't want to lock away funds for 25/30 years."
Client B: "I'm close to the lifetime allowance."
Client C: "I've used up my annual allowances."
James: "Have you heard of EIS investments?"
What you need to know about EIS
EIS investments are Enterprise Investment Schemes. They are designed to let companies raise money in order to grow their business. As an individual investor, you can therefore buy shares in these companies and in return receive tax reliefs. However, rather than list the tax rules that apply to EIS investments, this case study might help you understand it better.
Example: High Earner Jim
Jim is a Scottish software developer earning c£60k annually as an employee.
As things stand, Jim's income after tax looks like this:
(£13,080)
(£5,079)
My first suggestion would be to increase the pension contributions, but Jim is happy with the level of his contributions.
Jim's EIS Portfolio
Jim has done some research and with the help of his Independent Financial Advisor (IFA) he has identified three small UK companies which qualify for EIS tax relief, and he has purchased shares in each company:
· 10,000 x £1 shares (£10,000) in Biomed Ltd.
· 10,000 x £1 shares (£10,000) in Green Energy Ltd.
· 10,000 x £1 shares (£10,000) in Fintech Ltd.
After a few months, Jim receives an EIS3 certificate (see below) for each investment from HMRC.
EIS3 Certificate Example (www.wealthclub.co.uk)
At this point, the income tax relief can be claimed either using the form or through a tax return.
As Jim's tax advisor, I can help him claim 30% of the investment from each company as a "tax reduction". This would be 30% of £30,000 (£9,000).
Jim would then get a tax repayment from HMRC of £9,000 directly into his bank account. After three years, he could sell them all back and keep the tax repayment he received.
However, if he sold them within three years, this would prompt HMRC to claw back the repayment.
Most people know about this tax relief, but let's take it a bit further.
Tax implications after 3 years
It's now three years down the line, and the initial £30,000 investment looks like this:
· Biomed Ltd. has failed and the 10,000 shares are now worthless
· Green Energy Ltd. has also failed, again the 10,000 shares are worthless
· Fintech Ltd. has done well and the 10,000 shares are now worth £20,000
As the tax advisor, this is now my time to shine!
Although the portfolio has done very well, further tax relief can be claimed on Biomed Ltd and Green Energy Ltd despite the businesses failing.
In most circumstances, a loss on an investment can only be claimed against capital gains. However, EIS investments are different, they can be claimed against income if the taxpayer chooses. Not only that, there is flexibility in the timing of claiming the income tax relief too. You could carry the loss back into the previous tax year if the income tax rate was higher.
Let me show you how I would claim it in this case:
Initial investment in Biomed Ltd. of £10,000 (minus £3,000 income tax relief already claimed) = £7,000 capital loss
Initial investment in Green Energy Ltd. of £10,000 (minus £3,000 income tax relief already claimed) = £7,000 capital loss
I could claim the full £14,000 as a deduction against Jim's income in the tax year of the loss. This would save him £5,740 (41% of £14,000).
If Jim was an English taxpayer, it may have been better to claim £7,000 in one year and £7,000 in the previous tax year to ensure the full higher rate tax relief is claimed.
I would analyse the best result on Jim's behalf.
What's the result?
Here is the result of Jim's investment after three years:
Money initially invested in EIS
Initial tax repayment from EIS (30% £30,000)
Repayment of failed companies
Total tax repayment received (£9,000 + £5,740)
Total Cost of EIS
(£30,000 - £14,740)
Jim spent £30,000 to buy shares in three companies. He received a tax repayment from HMRC of £14,740.
The total cost to Jim was £15,260 (£30,000 minus £9,000 income tax repayment minus £14,740 income tax repayment). Here's an overview:
Total Share Purchases
Income Tax Repayment (30%)
Income Tax Repayment from company failure
Jim's EIS portfolio is now worth £20,000.
There are further tax breaks for having EIS shares, i.e. capital gains tax deferral relief, disposal relief, and IHT relief. However, we'll leave these for another day.
EIS shares offer many tax advantages, but they are high-risk companies. At Anderson and Edwards, we recommend that you speak to an IFA before investing in anything. What's better, speak to a tax advisor AND a financial advisor in tandem to be fully aware of your investment options.
Considering Enterprise Investment Schemes to reduce your tax liabilities? Don't hesitate to speak to us about it, even if it's to ask a question. Email me at Enable JavaScript to view protected content. or call us on 0131 364 4191.

redpajama_set_name: RedPajamaCommonCrawl


text:
October 2021 at Lowlands
As of October 2021, there is music weekly at Lowlands Bar (543 3rd Ave.) in Gowanus, Brooklyn. Sets are at 6:30 & 8 PM each Tuesday, and my friend Dierk Peters is curating Wednesdays at 8 PM. All shows are suggested donation only ($10 if you can), and we hope you'll join us or spread the word so that this series can continue as a part of the Brooklyn jazz scene ca. fall 2021 and beyond.
See below for the schedule and some notes:
Tuesday, October 5, 2021: Willber Sunlight
Max Light - guitar
Kevin Sun - saxophone
Simón Willson - bass
Aaron Seeber - drums
A co-led aggregation featuring a tenor saxophone-guitar frontline that may recall similar modern jazz groups from the late '90s onward. With song contributions from each member of the band plus interpretations of standards, Willber Sunlight makes its NYC debut here. See two archived streaming shows from the summer here: July 18, 2021 + August 1, 2021
Tuesday, October 12, 2021: Happy Trio
Thomas Morgan - bass
Dan Weiss - drums
This is the 15th installment of the monthly series Happy Trio, a casual standards gig, which began in April 2019, paused in March 2020, and rebooted in July 2021. The conceit is that the rhythm team changes every month and (to date) never repeats, and I'm thrilled to perform with two of my longtime musical heroes, the great Thomas Morgan on bass and the great Dan Weiss on drums. Both are among the greatest active practitioners of their craft on their instruments, and it's a privilege to play with both for this month's Happy Trio.
Tuesday, October 19, 2021: Jacob Shulman CONNECTEDNESS
Jacob Shulman - saxophone
Hayoung Lyou - keyboard
Avery Logan - drums
Saxophonist and composer Jacob Shulman is a deeply thoughtful up-and-coming saxophonist, who recently moved to NYC from Boston. His debut full-length album, CONNECTEDNESS, releases on Endectomorph Music this November, and we're very happy to present the band at Lowlands for a pre-release preview show.
Tuesday, October 26, 2021: Kevin Sun Quartet
Dana Saul - keyboard
Walter Stinson - bass
Matt Honor - drums
My quartet returns for its monthly appearance at Lowlands. Mostly my compositions, many unrecorded and in-progress with possibly a handful of "hits."
Gigs Lowlands
Location: 543 3rd Ave, Brooklyn, NY 11215, USA


text:
The Martha Bassett Show
Missy Raines & the New Hip
and Andy Mabe / Joe Thrift & Russell McCumber
Tickets not yet on sale. Check back soon!
With a smokey and seductive alto, 7 Time IBMA Bass Player of the Year, Missy Raines, heads up this all-acoustic ensemble. The territory The New Hip covers is broad and the compass is set by Raines, planted right in the center of the stage directing with her bass every bit as much as she's playing it.
From her tenure playing with The Claire Lynch Band, Eddie Adcock, Josh Graves, Jim Hurst, Kenny Baker, and Jesse McReynolds to her 7 International Bluegrass Music Association Bass Player of the Year awards, Missy Raines has proven herself without doubt as an iconic bluegrass instrumentalist. But with her newest release, Royal Traveller, Raines has stepped into the spotlight as a songwriter for the first time. The album digs deep into Raines' family life and her upbringing in West Virginia. Featuring previous and current members of her live band, as well as cameos from other bluegrass greats such as Stuart Duncan and Tim O'Brien, the album is a gorgeous look into the perspective, history, and musical influences of one of Nashville's most beloved musicians, Missy Raines.
Royal Traveller is Raines' third album for Compass Records, and the first produced by Compass' owner and founder, and renowned banjo player Alison Brown. "I went into this project with Alison with the mindset that I wanted to stretch myself and see what I could do. I think we achieved what I was looking for, which is something further reaching and bigger than what I would have accomplished on my own," says Raines.
In 1998, Raines became the first woman to win IBMA's Bass Player of the Year award and she went on to win the title repeatedly for the next several years. Royal Traveller highlights this particular piece of Raines' history with the stand out track "Swept Away", which features the 5 first women to win IBMA instrumentalist awards, Raines, Brown, Sierra Hull, Becky Buller, and Molly Tuttle. "Swept Away" was named 2018 IBMA Recorded Event of the Year.
Learn more at http://www.missyraines.com
Also Appearing:
Andy Mabe
Andy is a Winston-Salem native and nothing short of a local legend carving out a singular and evocative musical path in whatever he touches. Bass, guitar, drums, trumpet, and more. And often times it's a few of those at the same time. He is also an insightful and wry songwriter with a subtle wit and wardrobe to back it up.
"So many people get on stage and do not smile. That is not professional. I smile. I network. When people see me play and see I am having a good time, it makes a strong statement. That lets them have a good time. Then through their body language and eye contact, they let me know they are having a good time." - Andy Mabe
Learn more at https://www.facebook.com/andy.mabe.12
Joe Thrift & Russell McCumber
Joe Thrift and Russell McCumber are both master luthiers and old time music enthusiasts. Russell & Joe were featured multiple times on the show last year and we can't wait for them to return.
Joe Thrift is a violin maker and fiddler who has steeped himself in all aspects of the instrument. Born in Winston-Salem, Joe grew up in a family that was sympathetic to his musical interests. His father was a pipe organ builder, and his mother an organist and choir director. In the early 1970s, Joe became interested in building instruments and playing music.
Russell grew up in Vermont, but has lived in North Carolina since 2013. He has played violin since early childhood, beginning his training in the classical style and later focusing on traditional fiddle styles. He is an accomplished luthier, and makes instruments in his home studio. Recently, he has also begun teaching violin-making at Surry Community College.
Learn more at https://www.facebook.com/joe.thrift.37 https://www.facebook.com/russell.mccumber
What a great show!
We hope you were able to join us for this one. Stay tuned as we update this page with photos from the show and other goodies.
Season sposored by
Good music for good people.
© 2019 The Martha Bassett Show. All rights reserved.


text:
Posted on February 14, 2018 by Delaware Gazette
Stratford Ecological Center goes solar
By D. Anthony Botkin - abotkin@aimmediamidwest.com
Battling the elements to install an array of 156 solar panels on the roof of Stratford Ecological Center's barn was no easy task for a crew of technicians with Third Sun Solar from Athens. "They had a snow blower up there to get all the snow and ice off of the buildings," said R. David Hoy, development director of Stratford. On Friday, the crew gained a break in the weather to start putting the panels into place on the barn and machine shed.
D. Anthony Botkin | The Gazette
R. David Hoy, development director at the Stratford Ecological Center, points to the $75,000 spot on the chart used to track the amount of donations received for the center's solar array project. Hoy said the mark was reached this week, but it hadn't been colored in yet.
Stratford Ecological Center's plans to become energy self-sufficient through solar power became a reality this week as 156 solar panels were installed on two buildings.
R. David Hoy, development director for the center, said the installation crew "has been through some brutal weather, and it hasn't slowed them down yet. They had a snow blower up there to get all the snow and ice off of the buildings."
According to Hoy, Stratford's fundraising campaign to raise $115,000 has reached $75,000-mark in donations to help fund the solar panel array.
"After our solar panel installation, we will be producing 70,000 kilowatt-hours annually of our own electricity, which represents 90 percent of our total electrical needs — via the AEP net metering program," Hoy said.
Hoy said the center is working with Third Sun Solar from Athens, Ohio, on the installation.
"The Stratford Ecological Center has spent years trying to give hands-on educational opportunities to children and families. Helping people who foster and grow a love of our planet is something we treasure," said Geoff Greenfield, Third Sun Solar president. "For so many people to come together and contribute to a solar solution is a testament to the sustainability of solar."
According to Jeff Dickinson, the center's executive director, there were many plans and designs in the approach of installing solar power.
"We started off with thinking about putting solar on the education center, but the founders had issues with it being to close to the woods," he said. "Then we thought about a ground-mounted system but that was very expensive and it actually chews up a lot of ground, which we don't like doing. So I came up with the idea to put it on the two barns."
Dickinson said solar has taken off, but legislators and lobbyist won't get out of the way to let people use more of what they produce.
"This is the most redundant and resilient energy system," he said. "We're the investors. We put the system in place, and we're putting energy on the grid. Just let everyone pull in what they are producing. That's how strong the lobby is."
Dickinson said the current state and federal laws will only allow the center to produce up to 90 percent of their electric power needs.
"They don't want us to be a power producer," Hoy said. "They want to control it."
According to one Third Sun Solar technician, the solar array requires no maintenance and even when covered in snow, the panels will produce power.
According to Mark Campbell, solar technician, there are no modifications made to the roof of the buildings. He said braces are basically screwed into place, and then the panels are attached to the braces.
"It's nothing too difficult," he said. "The panels only weigh about 50 pounds."
Campbell said before he began working with Third Sun, "I was cutting trees. Now I'm saving them by installing solar panels."
According to Dickinson, the panels, at max, will produce 350 watts of electricity.
"Of course, they don't produce that all the time, but that's their max," he said.
Stratford Ecological Center is a 501(c) (3) non-profit educational organic farm and nature preserve on 236 acres in Delaware County.
The center's mission is to educate children and adults in understanding relationships between living things and the environment to foster an appreciation of the land and the life that depends on it.
More information about the Stratford Solar Project can be found at http://stratfordecologicalcenter.org/ or https://new.civiconline.org/civic/Donate/Donate72.jsp to make a dination to the project.
https://www.delgazette.com/wp-content/uploads/sites/40/2018/02/web1_DSC_0500-1.jpgBattling the elements to install an array of 156 solar panels on the roof of Stratford Ecological Center's barn was no easy task for a crew of technicians with Third Sun Solar from Athens. "They had a snow blower up there to get all the snow and ice off of the buildings," said R. David Hoy, development director of Stratford. On Friday, the crew gained a break in the weather to start putting the panels into place on the barn and machine shed. D. Anthony Botkin | The Gazette
https://www.delgazette.com/wp-content/uploads/sites/40/2018/02/web1_DSC_0460-1.jpgR. David Hoy, development director at the Stratford Ecological Center, points to the $75,000 spot on the chart used to track the amount of donations received for the center's solar array project. Hoy said the mark was reached this week, but it hadn't been colored in yet. D. Anthony Botkin | The Gazette
By D. Anthony Botkin
abotkin@aimmediamidwest.com
Contact D. Anthony Botkin at 740-413-0902. Follow him on Twitter @dabotkin.
This entry was tagged Center, D. Anthony Botkin, Dickinson, ecological, Hoy, stratford, Third Sun Solar. Bookmark the permalink.
Hi! A visitor to our site felt the following article might be of interest to you: Stratford Ecological Center goes solar. Here is a link to that story: https://www.delgazette.com/news/66525/stratford-ecological-center-goes-solar-2


text:
using System.Collections.Generic;
using System.Text;
using ParquetSharp;
using ParquetSharp.Example.Data;
using ParquetSharp.Example.Data.Simple;
using ParquetSharp.External;
using ParquetSharp.Filter2.Predicate;
using ParquetSharp.Hadoop.Api;
using ParquetSharp.Hadoop.Example;
using ParquetSharp.Hadoop.Metadata;
using ParquetSharp.Hadoop.Util;
using ParquetSharp.Schema;
using Xunit;
using Type = System.Type;

namespace ParquetHadoopTests.Hadoop.Example
{
    public class TestInputOutputFormat
    {
        private static readonly Log LOG = Log.getLog(typeof(TestInputOutputFormat));
        private static readonly Charset UTF_8 = Charset.forName("UTF-8");
        readonly Path parquetPath = new Path("target/test/example/TestInputOutputFormat/parquet");
        readonly Path inputPath = new Path("src/test/java/org/apache/parquet/hadoop/example/TestInputOutputFormat.java");
        readonly Path outputPath = new Path("target/test/example/TestInputOutputFormat/out");
        Job writeJob;
        Job readJob;
        private string writeSchema;
        private string readSchema;
        private string partialSchema;
        private Configuration conf;

        private Type readMapperClass;
        private Type writeMapperClass;

        // @Before
        public void setUp()
        {
            conf = new Configuration();
            writeSchema = "message example {\n" +
                    "required int32 line;\n" +
                    "required binary content;\n" +
                    "}";

            readSchema = "message example {\n" +
                    "required int32 line;\n" +
                    "required binary content;\n" +
                    "}";

            partialSchema = "message example {\n" +
                    "required int32 line;\n" +
                    "}";

            readMapperClass = typeof(ReadMapper);
            writeMapperClass = typeof(WriteMapper);
        }

        public sealed class MyWriteSupport : DelegatingWriteSupport<Group>
        {
            private long count = 0;

            public MyWriteSupport()
              : base(new GroupWriteSupport())
            {
            }

            public override void write(Group record)
            {
                base.write(record);
                ++count;
            }

            public override org.apache.parquet.hadoop.api.WriteSupport.FinalizedWriteContext finalizeWrite()
            {
                Dictionary<string, string> extraMetadata = new Dictionary<string, string>();
                extraMetadata.put("my.count", string.valueOf(count));
                return new FinalizedWriteContext(extraMetadata);
            }
        }

        public sealed class MyReadSupport : DelegatingReadSupport<Group>
        {
            public MyReadSupport()
              : base(new GroupReadSupport())
            {
            }

            public override org.apache.parquet.hadoop.api.ReadSupport.ReadContext init(InitContext context)
            {
                HashSet<string> counts = context.getKeyValueMetadata().get("my.count");
                Assert.True("counts: " + counts, counts.size() > 0);
                return base.init(context);
            }
        }

        public static class ReadMapper : Mapper<LongWritable, Text, Void, Group>
        {
            private SimpleGroupFactory factory;

            protected void setup(org.apache.hadoop.mapreduce.Mapper<LongWritable, Text, Void, Group>.Context context)
            {
                factory = new SimpleGroupFactory(GroupWriteSupport.getSchema(ContextUtil.getConfiguration(context)));
            }

            protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Void, Group>.Context context)
            {
                Group group = factory.newGroup()
                        .append("line", (int)key.get())
                        .append("content", value.toString());
                context.write(null, group);
            }
        }

        public class WriteMapper : Mapper<Void, Group, LongWritable, Text>
        {
            protected void map(Void key, Group value, Mapper<Void, Group, LongWritable, Text>.Context context)
            {
                context.write(new LongWritable(value.getInteger("line", 0)), new Text(value.getString("content", 0)));
            }
        }
        public class PartialWriteMapper : Mapper<Void, Group, LongWritable, Text>
        {
            protected void map(Void key, Group value, Mapper<Void, Group, LongWritable, Text>.Context context)
            {
                context.write(new LongWritable(value.getInteger("line", 0)), new Text("dummy"));
            }
        }
        private void runMapReduceJob(CompressionCodecName codec)
        {
            runMapReduceJob(codec, Collections.< string, string > emptyMap());
        }
        private void runMapReduceJob(CompressionCodecName codec, Dictionary<string, string> extraConf)
        {
            Configuration conf = new Configuration(this.conf);
            foreach (KeyValuePair<string, string> entry in extraConf)
            {
                conf.set(entry.Key, entry.Value);
            }
            FileSystem fileSystem = parquetPath.getFileSystem(conf);
            fileSystem.delete(parquetPath, true);
            fileSystem.delete(outputPath, true);
            {
                writeJob = new Job(conf, "write");
                TextInputFormat.addInputPath(writeJob, inputPath);
                writeJob.setInputFormatClass(typeof(TextInputFormat));
                writeJob.setNumReduceTasks(0);
                ParquetOutputFormat.setCompression(writeJob, codec);
                ParquetOutputFormat.setOutputPath(writeJob, parquetPath);
                writeJob.setOutputFormatClass(typeof(ParquetOutputFormat));
                writeJob.setMapperClass(readMapperClass);

                ParquetOutputFormat.setWriteSupportClass(writeJob, typeof(MyWriteSupport));
                GroupWriteSupport.setSchema(
                        MessageTypeParser.parseMessageType(writeSchema),
                        writeJob.getConfiguration());
                writeJob.submit();
                waitForJob(writeJob);
            }
            {
                conf.set(ReadSupport.PARQUET_READ_SCHEMA, readSchema);
                readJob = new Job(conf, "read");

                readJob.setInputFormatClass(typeof(ParquetInputFormat));
                ParquetInputFormat.setReadSupportClass(readJob, typeof(MyReadSupport));

                ParquetInputFormat.setInputPaths(readJob, parquetPath);
                readJob.setOutputFormatClass(typeof(TextOutputFormat));
                TextOutputFormat.setOutputPath(readJob, outputPath);
                readJob.setMapperClass(writeMapperClass);
                readJob.setNumReduceTasks(0);
                readJob.submit();
                waitForJob(readJob);
            }
        }

        private void testReadWrite(CompressionCodecName codec)
        {
            testReadWrite(codec, Collections.< string, string > emptyMap());
        }
        private void testReadWrite(CompressionCodecName codec, Dictionary<string, string> conf)
        {
            runMapReduceJob(codec, conf);
            BufferedReader @in = new BufferedReader(new FileReader(new File(inputPath.toString())));
            BufferedReader @out = new BufferedReader(new FileReader(new File(outputPath.toString(), "part-m-00000")));
            string lineIn;
            string lineOut = null;
            int lineNumber = 0;
            while ((lineIn = @in.readLine()) != null && (lineOut = @out.readLine()) != null)
            {
                ++lineNumber;
                lineOut = lineOut.substring(lineOut.indexOf("\t") + 1);
                Assert.Equal("line " + lineNumber, lineIn, lineOut);
            }
            Assert.Null("line " + lineNumber, @out.readLine());
            Assert.Null("line " + lineNumber, lineIn);
            @in.close();
            @out.close();
        }

        [Fact]
        public void testReadWrite()
        {
            // TODO: Lzo requires additional external setup steps so leave it out for now
            testReadWrite(CompressionCodecName.GZIP);
            testReadWrite(CompressionCodecName.UNCOMPRESSED);
            testReadWrite(CompressionCodecName.SNAPPY);
        }

        [Fact]
        public void testReadWriteTaskSideMD()
        {
            testReadWrite(CompressionCodecName.UNCOMPRESSED, new Dictionary<string, string>() { { "parquet.task.side.metadata", "true" } });
        }

        /**
         * Uses a filter that drops all records to test handling of tasks (mappers) that need to do no work at all
         */
        [Fact]
        public void testReadWriteTaskSideMDAggressiveFilter()
        {
            Configuration conf = new Configuration();

            // this filter predicate should trigger row group filtering that drops all row-groups
            ParquetInputFormat.setFilterPredicate(conf, FilterApi.eq(FilterApi.intColumn("line"), -1000));
            string fpString = conf.get(ParquetInputFormat.FILTER_PREDICATE);

            runMapReduceJob(CompressionCodecName.UNCOMPRESSED, new Dictionary<string, string>() {
                { "parquet.task.side.metadata", "true" },
                { ParquetInputFormat.FILTER_PREDICATE, fpString } });

            List<string> lines = Files.readAllLines(new File(outputPath.ToString(), "part-m-00000"), UTF_8);
            Assert.True(lines.isEmpty());
        }

        [Fact]
        public void testReadWriteFilter()
        {
            Configuration conf = new Configuration();

            // this filter predicate should keep some records but not all (first 500 characters)
            // "line" is actually position in the file...
            ParquetInputFormat.setFilterPredicate(conf, FilterApi.lt(FilterApi.intColumn("line"), 500));
            string fpString = conf.get(ParquetInputFormat.FILTER_PREDICATE);

            runMapReduceJob(CompressionCodecName.UNCOMPRESSED, new Dictionary<string, string>() {
                { "parquet.task.side.metadata", "true" },
                { ParquetInputFormat.FILTER_PREDICATE, fpString }
            });

            string[] expected = System.IO.File.ReadAllLines(inputPath.ToString());

            // grab the lines that contain the first 500 characters (including the rest of the line past 500 characters)
            int size = 0;
            StringBuilder expectedString = new StringBuilder();
            for (int i = 0; i < expected.Length; i++)
            {
                if (size < 500)
                {
                    size += expected[i].Length;
                    expectedString.Append(expected[i]);
                    expectedString.Append("\r\n");
                    continue;
                }
                else
                {
                    break;
                }
            }

            // put the output back into it's original format (remove the character counts / tabs)
            List<string> found = Files.readAllLines(new File(outputPath.ToString(), "part-m-00000"), UTF_8);
            StringBuilder sbFound = new StringBuilder();
            foreach (string line in found)
            {
                sbFound.Append(line.split("\t", -1)[1]);
                sbFound.Append("\n");
            }

            sbFound.Remove(sbFound.Length - 1, 1);

            Assert.Equal(expectedString.ToString(), sbFound.ToString());
        }

        [Fact]
        public void testProjection()
        {
            readSchema = partialSchema;
            writeMapperClass = typeof(PartialWriteMapper);
            runMapReduceJob(CompressionCodecName.GZIP);
        }

        private static long value(Job job, string groupName, string name)
        {
            // getGroup moved to AbstractCounters
            Method getGroup = org.apache.hadoop.mapreduce.typeof(Counters).getMethod("getGroup", typeof(string));
            // CounterGroup changed to an interface
            Method findCounter = org.apache.hadoop.mapreduce.typeof(CounterGroup).getMethod("findCounter", typeof(string));
            // Counter changed to an interface
            Method getValue = org.apache.hadoop.mapreduce.typeof(Counter).getMethod("getValue");
            CounterGroup group = (CounterGroup)getGroup.invoke(job.getCounters(), groupName);
            Counter counter = (Counter)findCounter.invoke(group, name);
            return (Long)getValue.invoke(counter);
        }

        [Fact]
        public void testReadWriteWithCounter()
        {
            runMapReduceJob(CompressionCodecName.GZIP);
            Assert.True(value(readJob, "parquet", "bytesread") > 0L);
            Assert.True(value(readJob, "parquet", "bytestotal") > 0L);
            Assert.True(value(readJob, "parquet", "bytesread")
                    == value(readJob, "parquet", "bytestotal"));
            //not testing the time read counter since it could be zero due to the size of data is too small
        }

        [Fact]
        public void testReadWriteWithoutCounter()
        {
            conf.set("parquet.benchmark.time.read", "false");
            conf.set("parquet.benchmark.bytes.total", "false");
            conf.set("parquet.benchmark.bytes.read", "false");
            runMapReduceJob(CompressionCodecName.GZIP);
            Assert.True(value(readJob, "parquet", "bytesread") == 0L);
            Assert.True(value(readJob, "parquet", "bytestotal") == 0L);
            Assert.True(value(readJob, "parquet", "timeread") == 0L);
        }

        private void waitForJob(Job job)
        {
            while (!job.isComplete())
            {
                LOG.debug("waiting for job " + job.getJobName());
                sleep(100);
            }
            LOG.info("status for job " + job.getJobName() + ": " + (job.isSuccessful() ? "SUCCESS" : "FAILURE"));
            if (!job.isSuccessful())
            {
                throw new RuntimeException("job failed " + job.getJobName());
            }
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Stadion Dan Păltinişanu višenamjenski je stadion u Temišvaru, u Rumunjskoj.

Kapaciteta je 32.972 gledatelja.

Najčešće se koristi za nogometne utakmice, jer na njemu svoje domaće utakmice odigrava ACS Poli, mjesni nogometni klub. Do 2012. na njemu je utakmice igrao FC Temišvar, koji je te godine raspušten.

Stadion je nazvan po Danu Păltinişanu, nogometašu koji je za nekadašnji Temišvar odigrao 271 utakmicu u 10 godina, koliko je bio u klubu, i pritom postigao važne pogotke.

Povijest

Izgradnja stadiona počela je 25. srpnja 1960. Otvoren je 1. svibnja 1964.

Rumunjska nogometna reprezentacija prvu je utakmicu na ovom stadionu odigrala u ožujku 1983. protiv Jugoslavije.

Novi rasvjetni sustav svečano je predstavljen 2004., na utakmici Temišvara protiv Petrolula.

Izvorno je kapacitet stadiona bio oko 40.000 gledatelja, ali kada su 2005. postavljene plastične sjedalice, kapacitet je smanjen na današnji broj.

Dvije najvažnije obnove stadiona bile su 2002. i 2008. godine, nakon kojih stadion zadovoljava UEFA-ine uvjete za odigravanje međunarodnih utakmica. Također, stadion je i jedan od najsuvremenijih u Rumunjskoj.

1. listopada 2009. na ovom je stadionu gostovao zagrebački GNK Dinamo. Igrala se utakmica protiv Temišvara, i to u 2. kolu Europske nogometne lige. Dinamo je pobijedio rezultatom 3:0.

Rumunjski nogometni stadioni

redpajama_set_name: RedPajamaWikipedia


Now that we're all settled back into school and have made it through an almost full week, there's no excuse for not going out this weekend.
Head to the Verizon Center to support the Hoyas as they take on the Scarlet Knights this Saturday. Tip off is at noon! So wear your blue and gray, and get ready to be as loud as possible. Let's help the Hoyas bring home a win, and give all the students something to celebrate Saturday night. We are…GEORGETOWN!
For fans of The Girl with the Dragon Tattoo novel, you're in luck! DC's own Lincoln Theater (1215 U St.) is airing the new film based on the book. The ambiance of this old theater is perfect for viewing this haunting thriller! Show times are 1 PM, 4 PM and 7:30 PM on weekdays, with an extra show time Friday and Saturday nights at 11 PM. Tickets are $10.25.
Are you newly 21? Head to Dixie Liquor (3429 M St.) with your IDs for a Gin Tasting this Saturday. Go anytime from 5 until 8 pm, and you can sample some classy Bombay Sapphire Gin. If all goes well, half-pint bottles are only $5.99. You'll be set for the night!
Next PostNext Join The Hoya!


text:
ExperienceMeet Nicole
6 Mental Health Tips During COVID-19 Pandemic
My sister is a mental health counselor and I reached out to her for a few tips on how to cope with stay at home orders during the COVID-19 pandemic. Feeling the effects myself of the many restrictions put in place in New York and throughout the country, I knew she would be the person to give some of the best advice.
In the past few weeks, the coronavirus outbreak has brought about many changes to our lives. Many of us have transitioned to working from home and have been practicing social distancing. Our new work environment may be the kitchen table or a makeshift desk in our bedroom. Our daily routines have been altered. For the time being there is no more commuting to the office besides walking a few feet to another room. Dress clothes… what are those? We have new stressors like how to stay focused on work at home, helping our kids learn electronically, balancing work and a possible new role of being a teacher. We have entered a new workplace, and need to learn how to handle our new co-workers (who we also call our husband, wife, fiancé, boyfriend, girlfriend, daughter, son, or, often our most demanding coworker, our dog). Some are still working and managing the stress that comes along with being essential personnel on the front lines, making resources available to all in order to stay as healthy and safe as we possibly can.
The current pandemic has produced a great deal of stress, anxiety and grief to people around the world. We're continuously being updated about the severity of this virus, death tolls, its impact on the economy, and recommendations and restrictions that change our daily behaviors. However, we are also coming together to appreciate and support those on the front lines and finding comfort with others that are experiencing these changes with us. Our sense of community continues to strengthen as we care for each other through assistance with daily tasks and connecting virtually.
Along with the strong and difficult emotions related to our health and safety during a time like this, we may also be experiencing feelings of sadness, frustration, guilt, and anger. Not only are we dealing with worrying about the health and safety of our friends, family, and community, but we are also working on coming to terms with our thoughts and feelings around missing out on plans we had made, vacations that were scheduled, concerts, shows, and plays we've been excited to attend, and weddings we have spent months planning. It's okay to feel upset and angry that we aren't able to enjoy the fun things in life we have had planned these past few weeks and upcoming months. It's okay to feel frustrated that we can't see our family and friends in person, carrying on like it's a regular Wednesday. It's okay to feel annoyed that we are told what we can and can't do, that we must modify our "normal" weekly routine. It's okay! Take the time to process these changes to your plans and routines. Take the time for you, your mental health, and your wellness.
While we may have had many exciting events and plans to look forward to that are now cancelled or postponed, there are ways that we can still look to take our current situation and make the most of it. Take some time and be creative, think about ways to develop activities to look forward to while we are under quarantine and social distancing. Having a hard time coming up with something? Here are a few suggestions:
Create your new routine: By creating a routine and/or schedule for yourself, you allow yourself the time to attend to responsibilities, whether it be work, school, chores around the house, exercise, socializing (from a safe distance), or time for self-care. By taking a shower and getting dressed each day (try wearing bright colors; it's amazing what that can do for our daily outlook), we establish a sense of normalcy that can allow us to feel more focused and energized for the day. Keep to regular meal times and sleep schedules to keep our bodies regulated, knowing that it's okay to add in the occasional batch of freshly baked cookies.
Stay connected: Host dinners, happy hours or game nights with friends and family via Zoom, Skype, or FaceTime. Humans are social beings and, while we are isolating for our health and wellness, it is important to find ways to stay connected with our friends and family and/or seek supports to reach out to.
Let your creativity run wild and think outside the box. Develop a new recipe using items you have on two shelves in your cupboards; count all the corners in your house; try a new hobby; explore a museum, zoo, or aquarium virtually for free; try a workout class online; experience guided meditations on Youtube; try mindfulness practices; learn a new language; watch TEDtalks or read articles about topics you are interested in but haven't had the time to spend learning about; color and even better color outside the lines and on something other than paper!
Focusing on the good things: Exercise gratitude. What are you grateful for? What are things in your life that bring you joy? What are you proud of yourself for? What are goals you have for yourself big or small? What are ways you can challenge yourself? What makes you laugh? What makes you uniquely you? Who makes you feel loved, supported, cared for? Show them your appreciation and write them a letter. Sometimes there is nothing better than a hand written note, delivered via snail mail.
Get outside: Go for a walk. Interact with nature. Go explore your backyard. Find nature challenges online. Smell some flowers. Learn to grow herbs, vegetables, and fruits. Feel the sunshine on your skin. Have a dance party in your driveway. Unplug and put the phones, computers, and tablets away and just be present in the moment. Appreciate all that is around you.
Breathe and be kind to yourself. We are all going through a time of intense stress, anxiety, and uncertainty. We are experiencing a lot of change and transition in many areas of our lives. Be mindful that we can and do have a variety of emotions that we have and will experience during this time. Develop plans to process and manage our emotions. Understand that we are all in this together. Reach out and ask for help when needed and support others when they reach out, as you feel able to. By finding a good balance between taking action to manage our situation and what is in our control and accepting that certain things are out of our control we can work to build our resiliency and wellness. By being kind to ourselves, listening to ourselves, and taking care of ourselves we are effectively managing our physical health, mental health and wellness.
Stay safe and be well!
« 5 tips if your wedding has been affected by the Coronavirus
No Bake Samoa Cookies »
©2020 Nicole Weeks Photography || Designed by Alyssa Joy & Co. || Privacy Policy
Albany Wedding Photographer
Seahorses are my favorite animal
In another life I'm pretty sure I'll be a mermaid
You'll never be hungry around me because I ALWAYS have snacks! Mostly healthy choices but I'll almost always have a cookie or piece of chocolate close by!
The kiddos in my life call me "Dee Dee Dah" or Auntie Nic
I'm the middle child sandwiched in between an older sister and a younger brother
If I could, I would bake something sweet everyday!
I grew up in the small town of Newark Valley, NY. Home of the Cardinals!
I'm engaged to a boy I've loved since high school but we didn't start dating until almost 6 years after graduating.
Jake and I have the best fur baby named sammy! A yellow lab mix who snores loudly when he sleeps
FOLLOW ALONG ON INSTAGRAM @NICOLEWEEKSPHOTOGRAPHY


I love to make new and different things when we go to parties at my in-laws. The first time I took lemon squares I did not bring any home. They are the most requested item when I am in charge of bringing dessert. I have even given them to my father-in-law for his birthday, as his gift so he can eat them all himself and not feel too guilty about not sharing.
We are believers of strong flavors, these squares do not taste "yellow" like they might be lemon, they taste like lemon. The secret is lots of lemon zest, I add more than the original recipe calls to make sure there is a strong lemon flavor. It pays off, the shortbread crust with the custard like lemon topping is always delicious and well enjoyed.
*I usually use two small lemons, the juice is usually pretty spot on, and I just zest them both and use it all.
Combine 2 cups flour, butter, powdered sugar and salt, mixing well. Pat into a 9″ x 13″ x 2″ pan. Bake at 350 degrees F for 15 minutes, or until golden brown. Do not over bake. Meanwhile prepare filling by mixing together 1/4 cup flour, sugar, eggs, lemon juice and zest. Pour over baked crust. Return to oven and bake at 350 degrees F for 25 minutes. Remove pan from oven and sprinkle with powdered sugar. When cool, cut into squares.
Hello Mary and girls! This recipe looks scrumptious! I pinned it and I'm hoping to make it this weekend. I was wondering if I can make this a day ahead? Thanks for sharing.
Absolutely you can make them the day before. Just don't cut them until the day you want to serve them or you won't have any left. Come see us again.
I love lemon squares and these look awesome. Pinning.
These Lemon squares look delicious. I am a huge fan of anything lemon. Pinned!!! I would love it if you stop by The Southern Special and link this recipe up. http://www.thedecoratoraholic.com/ Thanks for sharing your recipe.
I love lemon squares! Thank you so much for linking up at Tasty Tuesday! Your recipe has been pinned to the Tasty Tuesday Pinterest board! Please join us again this week!


text:
Trump Resigns From SAG-AFTRA With Epic Letter Blasting Its 'Dismal Record As A Union'
Trump Resigns From SAG-AFTRA With Epic Letter Blasting Its 'Dismal Record As A Union'
By James Samson
Former President Donald Trump has resigned from the Screen Actors Guild – American Federation of Television and Radio Artists (SAG-AFTRA) with a blistering letter in which he slammed the organization's "dismal record as a union."
Trump handed in his resignation after SAG-AFTRA threatened to expel him, with the union claiming to have found "probable cause" that the former president "violated the union's Constitution" over the events on Capitol Hill last month.
"I write to you today regarding the so-called Disciplinary Committee hearing aimed at revoking my union membership. Who cares!" Trump wrote to SAG president Gabrielle Carteris in his letter, which was obtained by Fox News.
"While I'm not familiar with your work, I'm very proud of my work on movies such as Home Alone 2, Zoolander, and Wall Street: Money Never Sleeps; and television shows including 'The Fresh Prince of Bel-Air,' 'Saturday Night Live,' and of course, one of the most successful shows in television history, 'The Apprentice'—to name just a few!" Trump added.
Not stopping there, the former president added that he "also greatly helped the cable news television business (said to be a dying platform with not much time left until I got involved in politics), and created thousands of jobs at networks such as MSDNC and Fake News CNN, among many others."
"Which brings me to your blatant attempt at free media attention to distract from your dismal record as a union," Trump stated. "Your organization has done little for its members, and nothing for me — besides collecting dues and promoting dangerous un-American policies and ideas — as evident by your massive unemployment rates and lawsuits from celebrated actors, who even recorded a video asking, 'Why isn't the union fighting for me?'"
Trump was talking about a video recorded in 2020 by stars like Whoopi Goldberg and Amy Schumer in which they criticized the union's health plan. They alleged that almost 12,000 members of the union, many of whom they said were elderly, were about to be kicked off the plan.
Trump then ripped the union for its "policy failures," adding that its "disciplinary failures are even more egregious."
"I no longer wish to be associated with your union," he wrote. "As such, this letter is to inform you of my immediate resigning from SAG-AFTRA."
Trump concluded his letter by saying, "You have done nothing for me."
And that, ladies and gentlemen, is what we call a mic drop moment!


text:
Showing Egyptomania: A History of Fascination, Obsession and Fantasy by Ronald H. Fritze
The land of pyramids and sphinxes, pharaohs and goddesses, Egypt has been a source of awe and fascination from the time of the ancient Greeks to the twenty-first century. In Egyptomania, Ronald H. Fritze takes us on a historical journey to unearth the Egypt of the past, a place inhabited by strange gods, powerful magic, spell-binding hieroglyphs, and the uncanny, mummified remains of ancient people. Walking among monumental obelisks and through the dark corridors of long-sealed tombs, he reveals a long-standing fascination with an Egypt of incredible wonder and mystery.
As Fritze shows, Egypt has exerted a powerful force on our imagination. Medieval Christians considered it a holy land with many connections to biblical lore, while medieval Muslims were intrigued by its towering monuments, esoteric sciences, and hidden treasures. People of the Renaissance sought Hermes Trismegistus as the ancient originator of astrology, alchemy, and magic, and those of the Baroque pondered the ciphers of the hieroglyphs. Even the ever-practical Napoleon was enchanted by it, setting out in a costly campaign to walk in the footsteps of Alexander the Great through its valleys, by then considered the cradle of Western civilization. And of course the modern era is one still susceptible to the lure of undiscovered tombs and the curses of pharaohs cast on covetous archeologists.
Raising ancient Egyptian art and architecture into the light of succeeding history, Fritze offers a portrait of an ancient place and culture that has remained alive through millennia, influencing everything from religion to philosophy to literature to science to popular culture.
Abu Simbel (6)
Luxor (47)
Karnak (10)
Musee Du Louvre (55)
British Museum (100)
Cairo (340)
Imbabah (1)
Thebes (59)
Al Jizah (46)
Al Wadi at Jadid (16)
Paris (3,057)
Al Iskandariyah (266)
Luxor (105)
Al Qahirah (345)
Egypt (2,000)
United Kingdom (21,421)


text:
Q: How to create LOC data in git? I want to track the improvement of a project over time in git.
I need line of code statistics by time. For example.
Time        LOC
-----       -----
01/01/2015 29021
01/08/2015 29987
......

gitstats is throwing some weird error. So I need another alternative.
Any ideas?

A: Here's the start of an idea.
You could have a little script which checks out a ref, and outputs all non-binary code content with:
#!/bin/sh
# catAll.sh
git checkout $1;
for i in `git grep --cached -Il ''`; do
    cat $i
done

Then, pipe that output to wc to get the LOC:
catAll.sh | wc -l

Get the date of a commit with:
git show -s --format=%ci <sha>

Then, (and this could take long time to run depending on the size of your repo) run the command with HEAD, HEAD~, HEAD~~, etc.
This would involve a little scripting to put it all together, but could be wrapped in a nice command to spit out the last, say 5, commit points.

A: I would suggest https://github.com/AlDanial/cloc .
I used to use it when it was on Sourceforge and found it very useful. If you must let yourself be ruled by metrics. ;-)


Important: Several anomalies were encountered when attempting to join new slave nodes, including lighttpd service unable to bind during startup and configurations not replicating properly. Be sure to review items under Redundancy -> Local Replication, re-enabling configuration items which should be copied in future synchronizations initiated from the new master node before performing a Force Sync.
As of 5/3/18, new licenses must be downloaded to each node individual in Snapt UI (Dashboard -> License) in order to apply any extensions, etc.
The following assumes use of an internal DNS server used to split traffic to new load balancer during production pilot while an old load balancer was being decommissioned.
Review the url.access-deny parameter in /etc/lighttpd/lighttpd.conf to ensure access to sensitive files and directories are prohibited.
# Configure a single IP for Snapt to bind to?
# IMPORTANT: Change this line to a single IP before moving to production!
server.document-root = server_root + "/htdocs"
# to maintain compatibility with RFC4419, but should be set higher.
# Upstream default is identical to setting this to 2048.


There are 13 Nursing Homes in the Plainfield area, with 3 in Plainfield and 10 nearby.
To help you with your search, browse the 11 reviews below for nursing homes in Plainfield. Better rated regions include Coventry with an average rating of 3.6 out of 5 stars.


text:
About TexShare
Help and Technical Support
Select your Library | Change Library
The TexShare Databases allow you to access over 27,000 journals, over 171,000 ebooks, and over 15 million images, videos, and interactive resources. To help you get started, we've selected some resources to help with general research. To see more resources, view our Most Popular page, or if you know what you're looking for, choose from almost seventy resources listed in our A-Z list.
Credo Complete Core Collection
Credo is an easy-to-use tool for research, homework, and other reference needs. Gather background information on your topic from over one thousand full-text encyclopedias, subject handbooks, and current events resources, as well as 500,000+ images and audio files and over 1,000 videos.
A comprehensive resource of full-text academic journals, videos, reports and books on dozens of subjects ranging from anthropology, chemistry and culture to law, women studies and zoology.
Gale In Context: Opposing Viewpoints
OVIC is an engaging online experience for those seeking contextual information and opinions on hundreds of todays hottest social issues. Topic overviews, full-text magazines, academic journals, news articles, primary source documents, statistics, images, videos, and audio files.
SciTech Collection
The SciTech Premium Collection includes the Natural Science Collection and the Technology Collection and provides full-text titles from around the world, including scholarly journals, trade and industry journals, magazines, technical reports, conference proceedings, government publications, and more.
Texas Reference Center
A collection of journals and books about Texas and Texans with topics including the state's history, its ethnic and cultural diversity, literature, public health, business, leisure and more.
New/Featured Resources
Chilton Library
ChiltonLibrary.com represents the most authoritative automotive repair information available to car owners. There are thousands of year, make and model combinations covering the most popular vehicles of the past 30 years, plus additional coverage of specialty models.
Newspaper Source Plus
A resource offering cover-to-cover full text for U.S.,international andregionalnewspapers as well as television and radio news transcripts from major networks.
A patient education support tool with consumer-oriented content covering mainstream, holistic and integrated medicine.
TexShare Databases are e-resources licensed for the exclusive use of Texas libraries and their patrons. Start with TexShare for homework help, health or business information, academic journals, popular magazines, genealogy, or job and career development.
The TexShare Databases are funded in part by a grant from the US Institute of Museum and Library Services. The TexShare Databases are a program of the Texas State Library and Archives Commission, made possible by state and federal funds, as well as through member participation fees.
© 2020 Texas State Library and Archives Commission
Please Select your library first - click here


text:
This suite runs the tests in wpt_internal/async-script-scheduling/ with
`--enable-features=DelayAsyncScriptExecution:target/cross_site_with_allow_list/allow_list/http%3A%2F%2Fbad3p.test`.

See crbug.com/1340837.


This volume covers five hundred years of history, beginning with the writings of travelers Ibn Battuta, Leo Africanus, Mungo Park, Heinrich Barth, René Caillé, and Mary Kingsley, as well as many others. Religious wars are described by chroniclers such as Abd Allah ibn Muhammad and Al-Kanami, Sire Abbas Soh, and Ahmadu Hampate Ba. The trans-Saharan and cross-Atlantic slave trades are a central concern of the book and the French and British colonial periods are also scrutinized. Modern times are examined in the texts of Nnamidi Azikiwe, Léopold Senghor, Sékou Touré, and Kwame Nkrumah. Special emphasis is placed on original African texts about political traditions, independence movements after WWII, the law, and other themes of social and political history.


text:
Q: How to add a unique function to all the movieclips in AS3? I would like to add a specific function to every movieclip. I've added an event listener but all the movieclips are doing the same thing.
I've noticed that I can't do it with the i variable because it's 11 could you help me find another way?
  package
{
import flash.desktop.NativeApplication;
import flash.desktop.SystemIdleMode;
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageOrientation;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.events.StageOrientationEvent;
import flash.system.Capabilities;
import flash.text.TextField;
import flash.ui.Keyboard;
import com.thanksmister.touchlist.renderers.TouchListItemRenderer;
import com.thanksmister.touchlist.events.ListItemEvent;
import com.thanksmister.touchlist.controls.TouchList;

[SWF( width = '480', height = '800', backgroundColor = '#000000', frameRate = '24')]
public class AS3ScrollingList extends MovieClip
{
    private var touchList:TouchList;
    private var textOutput:TextField;
    private var stageOrientation:String = StageOrientation.DEFAULT;

    public function AS3ScrollingList()
    {
        // needed to scale our screen
        stage.scaleMode = StageScaleMode.NO_SCALE;
        stage.align = StageAlign.TOP_LEFT;

        if(stage)
            init();
        else
            stage.addEventListener(Event.ADDED_TO_STAGE, init);
    }

    private function init(e:Event = null):void
    {
        stage.removeEventListener(Event.ADDED_TO_STAGE, init);

        stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);
        stage.addEventListener(Event.RESIZE, handleResize);

        // if we have autoOrients set in permissions we add listener
        if(Stage.supportsOrientationChange) {
            stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, handleOrientationChange);
        }

        if(Capabilities.cpuArchitecture == "ARM") {
                NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, handleActivate, false, 0, true);
                NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, handleDeactivate, false, 0, true);
        }

        // add our list and listener
        touchList = new TouchList(stage.stageWidth, stage.stageHeight);
        touchList.addEventListener(ListItemEvent.ITEM_SELECTED, handlelistItemSelected);
        addChild(touchList);

        // Fill our list with item rendreres that extend ITouchListRenderer.
        for(var i:int = 1; i < 3; i++) {
var item:TouchListItemRenderer = new TouchListItemRenderer();
item.index = i;
item.data = "This is list item " + String(i);
item.itemHeight = 120;
item.addEventListener(MouseEvent.CLICK, gotostore);
item.buttonMode = true;
touchList.addListItem(item);
}
//not nested function
function gotostore (e:MouseEvent) {
switch(e.currentTarget.name) {
    case "firstMovieClip":
    trace("buton1");
        //first movieclip clicked
        break;
    case "secondMovieClip":
            trace("buton2");
        //second movieclip clicked
        break;
    //etc...
    }
    }
    }

    /**
     * Handle stage orientation by calling the list resize method.
     * */
    private function handleOrientationChange(e:StageOrientationEvent):void
    {
        switch (e.afterOrientation) {
            case StageOrientation.DEFAULT:
            case StageOrientation.UNKNOWN:
                //touchList.resize(stage.stageWidth, stage.stageHeight);
                break;
            case StageOrientation.ROTATED_RIGHT:
            case StageOrientation.ROTATED_LEFT:
                //touchList.resize(stage.stageHeight, stage.stageWidth);
                break;
        }
    }

    private function handleResize(e:Event = null):void
    {
        touchList.resize(stage.stageWidth, stage.stageHeight);
    }

    private function handleActivate(event:Event):void
    {
        NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
    }

    private function handleDeactivate(event:Event):void
    {
        NativeApplication.nativeApplication.exit();
    }

    /**
     * Handle keyboard events for menu, back, and seach buttons.
     * */
    private function handleKeyDown(e:KeyboardEvent):void
    {
        if(e.keyCode == Keyboard.BACK) {
            e.preventDefault();
            NativeApplication.nativeApplication.exit();
        } else if(e.keyCode == Keyboard.MENU){
            e.preventDefault();
        } else if(e.keyCode == Keyboard.SEARCH){
            e.preventDefault();
        }
    }

    /**
     * Handle list item seleced.
     * */
    private function handlelistItemSelected(e:ListItemEvent):void
    {
        trace("List item selected: " + e.renderer.index);
    }
}
    }

A: Your gotostore function is a nested function which is a really bad design practice, do not use nested functions. You can check which movieclip did the user click with the e.currentTarget.name, this will give you the INSTANCE NAME of the movieclip which the user "selected".
for(var i:int = 1; i < 11; i++) {
    var item:TouchListItemRenderer = new TouchListItemRenderer();
    item.index = i;
    item.data = "This is list item " + String(i);
    item.itemHeight = 120;
    item.addEventListener(MouseEvent.CLICK, gotostore);
    item.buttonMode = true;
    touchList.addListItem(item);
}
//not nested function
function gotostore (e:MouseEvent) {
    switch(e.currentTarget.name) {
        case "firstMovieClip":
            //first movieclip clicked
            break;
        case "secondMovieClip":
            //second movieclip clicked
            break;
        //etc...
    }
}


Well, obviously I wanted it to sound as original as possible. I suppose the influences that we had were probably from the actual power point of view we wanted to be like the Who. Vocally we wanted to be like the Beach Boys, whatever was good at the time.
I move between San Francisco and Paris... I have a wonderful beach house in California.