text:
""" Classes for interpolating values.
"""

__all__ = ['interp1d', 'interp2d', 'spline', 'spleval', 'splmake', 'spltopp',
           'ppform', 'lagrange']

from numpy import shape, sometrue, array, transpose, searchsorted, \
                  ones, logical_or, atleast_1d, atleast_2d, meshgrid, ravel, \
                  dot, poly1d, asarray, intp
import numpy as np
import scipy.special as spec
import math

import fitpack
import _fitpack

def reduce_sometrue(a):
    all = a
    while len(shape(all)) > 1:
        all = sometrue(all,axis=0)
    return all

def lagrange(x, w):
    """
    Return a Lagrange interpolating polynomial.

    Given two 1-D arrays `x` and `w,` returns the Lagrange interpolating
    polynomial through the points ``(x, w)``.

    Warning: This implementation is numerically unstable. Do not expect to
    be able to use more than about 20 points even if they are chosen optimally.

    Parameters
    ----------
    x : array_like
        `x` represents the x-coordinates of a set of datapoints.
    w : array_like
        `w` represents the y-coordinates of a set of datapoints, i.e. f(`x`).

    """
    M = len(x)
    p = poly1d(0.0)
    for j in xrange(M):
        pt = poly1d(w[j])
        for k in xrange(M):
            if k == j: continue
            fac = x[j]-x[k]
            pt *= poly1d([1.0,-x[k]])/fac
        p += pt
    return p

# !! Need to find argument for keeping initialize.  If it isn't
# !! found, get rid of it!

class interp2d(object):
    """
    interp2d(x, y, z, kind='linear', copy=True, bounds_error=False,
             fill_value=nan)

    Interpolate over a 2D grid.

    Parameters
    ----------
    x, y : 1D arrays
        Arrays defining the data point coordinates.

        If the points lie on a regular grid, `x` can specify the column
        coordinates and `y` the row coordinates, for example::

            x = [0,1,2];  y = [0,3]; z = [[1,2,3], [4,5,6]]

        Otherwise, x and y must specify the full coordinates for each point,
        for example::

            x = [0,1,2,0,1,2];  y = [0,0,0,3,3,3]; z = [1,2,3,4,5,6]

        If `x` and `y` are multi-dimensional, they are flattened before use.

    z : 1D array
        The values of the function to interpolate at the data points. If
        z is a multi-dimensional array, it is flattened before use.
    kind : {'linear', 'cubic', 'quintic'}
        The kind of interpolation to use.
    copy : bool
        If True, then data is copied, otherwise only a reference is held.
    bounds_error : bool
        If True, when interpolated values are requested outside of the
        domain of the input data, an error is raised.
        If False, then `fill_value` is used.
    fill_value : number
        If provided, the value to use for points outside of the
        interpolation domain. Defaults to NaN.

    Raises
    ------
    ValueError when inputs are invalid.

    See Also
    --------
    bisplrep, bisplev : spline interpolation based on FITPACK
    BivariateSpline : a more recent wrapper of the FITPACK routines

    """

    def __init__(self, x, y, z, kind='linear', copy=True, bounds_error=False,
                 fill_value=np.nan):
        self.x, self.y, self.z = map(ravel, map(asarray, [x, y, z]))

        if len(self.z) == len(self.x) * len(self.y):
            self.x, self.y = meshgrid(x,y)
            self.x, self.y = map(ravel, [self.x, self.y])
        if len(self.x) != len(self.y):
            raise ValueError("x and y must have equal lengths")
        if len(self.z) != len(self.x):
            raise ValueError("Invalid length for input z")

        try:
            kx = ky = {'linear' : 1,
                       'cubic' : 3,
                       'quintic' : 5}[kind]
        except KeyError:
            raise ValueError("Unsupported interpolation type.")

        self.tck = fitpack.bisplrep(self.x, self.y, self.z, kx=kx, ky=ky, s=0.)

    def __call__(self,x,y,dx=0,dy=0):
        """Interpolate the function.

        Parameters
        ----------
        x : 1D array
            x-coordinates of the mesh on which to interpolate.
        y : 1D array
            y-coordinates of the mesh on which to interpolate.
        dx : int >= 0, < kx
            Order of partial derivatives in x.
        dy : int >= 0, < ky
            Order of partial derivatives in y.

        Returns
        -------
        z : 2D array with shape (len(y), len(x))
            The interpolated values.

        """

        x = atleast_1d(x)
        y = atleast_1d(y)
        z = fitpack.bisplev(x, y, self.tck, dx, dy)
        z = atleast_2d(z)
        z = transpose(z)
        if len(z)==1:
            z = z[0]
        return array(z)

class interp1d(object):
    """
    interp1d(x, y, kind='linear', axis=-1, copy=True, bounds_error=True,
             fill_value=np.nan)

    Interpolate a 1D function.

    `x` and `y` are arrays of values used to approximate some function f:
        y = f(x)
    This class returns a function whose call method uses linear interpolation
    to find the value of new points.

    Parameters
    ----------
    x : array_like
        A 1-D array of monotonically increasing real values.
    y : array_like
        A N-D array of real values. The length of `y` along the interpolation
        axis must be equal to the length of `x`.
    kind : str or int, optional
        Specifies the kind of interpolation as a string
        ('linear','nearest', 'zero', 'slinear', 'quadratic, 'cubic')
        or as an integer specifying the order of the spline interpolator
        to use. Default is 'linear'.
    axis : int, optional
        Specifies the axis of `y` along which to interpolate.
        Interpolation defaults to the last axis of `y`.
    copy : bool, optional
        If True, the class makes internal copies of x and y.
        If False, references to `x` and `y` are used. The default is to copy.
    bounds_error : bool, optional
        If True, an error is thrown any time interpolation is attempted on
        a value outside of the range of x (where extrapolation is
        necessary). If False, out of bounds values are assigned `fill_value`.
        By default, an error is raised.
    fill_value : float, optional
        If provided, then this value will be used to fill in for requested
        points outside of the data range. If not provided, then the default
        is NaN.

    See Also
    --------
    UnivariateSpline : A more recent wrapper of the FITPACK routines.
    splrep, splev
        Spline interpolation based on FITPACK.

    Examples
    --------
    >>> import scipy.interpolate

    >>> x = np.arange(0, 10)
    >>> y = np.exp(-x/3.0)
    >>> f = sp.interpolate.interp1d(x, y)

    >>> xnew = np.arange(0,9, 0.1)
    >>> ynew = f(xnew)
    >>> plt.plot(x, y, 'o', xnew, ynew, '-')

    """

    def __init__(self, x, y, kind='linear', axis=-1,
                 copy=True, bounds_error=True, fill_value=np.nan):
        """ Initialize a 1D linear interpolation class."""

        self.copy = copy
        self.bounds_error = bounds_error
        self.fill_value = fill_value

        if kind in ['zero', 'slinear', 'quadratic', 'cubic']:
            order = {'nearest':0, 'zero':0,'slinear':1,
                     'quadratic':2, 'cubic':3}[kind]
            kind = 'spline'
        elif isinstance(kind, int):
            order = kind
            kind = 'spline'
        elif kind not in ('linear', 'nearest'):
            raise NotImplementedError("%s is unsupported: Use fitpack "\
                                      "routines for other types." % kind)
        x = array(x, copy=self.copy)
        y = array(y, copy=self.copy)

        if x.ndim != 1:
            raise ValueError("the x array must have exactly one dimension.")
        if y.ndim == 0:
            raise ValueError("the y array must have at least one dimension.")

        # Force-cast y to a floating-point type, if it's not yet one
        if not issubclass(y.dtype.type, np.inexact):
            y = y.astype(np.float_)

        # Normalize the axis to ensure that it is positive.
        self.axis = axis % len(y.shape)
        self._kind = kind

        if kind in ('linear', 'nearest'):
            # Make a "view" of the y array that is rotated to the interpolation
            # axis.
            axes = range(y.ndim)
            del axes[self.axis]
            axes.append(self.axis)
            oriented_y = y.transpose(axes)
            minval = 2
            len_y = oriented_y.shape[-1]
            if kind == 'linear':
                self._call = self._call_linear
            elif kind == 'nearest':
                self.x_bds = (x[1:] + x[:-1]) / 2.0
                self._call = self._call_nearest
        else:
            axes = range(y.ndim)
            del axes[self.axis]
            axes.insert(0, self.axis)
            oriented_y = y.transpose(axes)
            minval = order + 1
            len_y = oriented_y.shape[0]
            self._call = self._call_spline
            self._spline = splmake(x,oriented_y,order=order)

        len_x = len(x)
        if len_x != len_y:
            raise ValueError("x and y arrays must be equal in length along "
                             "interpolation axis.")
        if len_x < minval:
            raise ValueError("x and y arrays must have at "
                             "least %d entries" % minval)
        self.x = x
        self.y = oriented_y

    def _call_linear(self, x_new):

        # 2. Find where in the orignal data, the values to interpolate
        #    would be inserted.
        #    Note: If x_new[n] == x[m], then m is returned by searchsorted.
        x_new_indices = searchsorted(self.x, x_new)

        # 3. Clip x_new_indices so that they are within the range of
        #    self.x indices and at least 1.  Removes mis-interpolation
        #    of x_new[n] = x[0]
        x_new_indices = x_new_indices.clip(1, len(self.x)-1).astype(int)

        # 4. Calculate the slope of regions that each x_new value falls in.
        lo = x_new_indices - 1
        hi = x_new_indices

        x_lo = self.x[lo]
        x_hi = self.x[hi]
        y_lo = self.y[..., lo]
        y_hi = self.y[..., hi]

        # Note that the following two expressions rely on the specifics of the
        # broadcasting semantics.
        slope = (y_hi-y_lo) / (x_hi-x_lo)

        # 5. Calculate the actual value for each entry in x_new.
        y_new = slope*(x_new-x_lo) + y_lo

        return y_new

    def _call_nearest(self, x_new):
        """ Find nearest neighbour interpolated y_new = f(x_new)."""

        # 2. Find where in the averaged data the values to interpolate
        #    would be inserted.
        #    Note: use side='left' (right) to searchsorted() to define the
        #    halfway point to be nearest to the left (right) neighbour
        x_new_indices = searchsorted(self.x_bds, x_new, side='left')

        # 3. Clip x_new_indices so that they are within the range of x indices.
        x_new_indices = x_new_indices.clip(0,  len(self.x)-1).astype(intp)

        # 4. Calculate the actual value for each entry in x_new.
        y_new = self.y[..., x_new_indices]

        return y_new

    def _call_spline(self, x_new):
        x_new =np.asarray(x_new)
        result = spleval(self._spline,x_new.ravel())
        return result.reshape(x_new.shape+result.shape[1:])

    def __call__(self, x_new):
        """Find interpolated y_new = f(x_new).

        Parameters
        ----------
        x_new : number or array
            New independent variable(s).

        Returns
        -------
        y_new : ndarray
            Interpolated value(s) corresponding to x_new.

        """

        # 1. Handle values in x_new that are outside of x.  Throw error,
        #    or return a list of mask array indicating the outofbounds values.
        #    The behavior is set by the bounds_error variable.
        x_new = asarray(x_new)
        out_of_bounds = self._check_bounds(x_new)

        y_new = self._call(x_new)

        # Rotate the values of y_new back so that they correspond to the
        # correct x_new values. For N-D x_new, take the last (for linear)
        # or first (for other splines) N axes
        # from y_new and insert them where self.axis was in the list of axes.
        nx = x_new.ndim
        ny = y_new.ndim

        # 6. Fill any values that were out of bounds with fill_value.
        # and
        # 7. Rotate the values back to their proper place.

        if nx == 0:
            # special case: x is a scalar
            if out_of_bounds:
                if ny == 0:
                    return asarray(self.fill_value)
                else:
                    y_new[...] = self.fill_value
            return asarray(y_new)
        elif self._kind in ('linear', 'nearest'):
            y_new[..., out_of_bounds] = self.fill_value
            axes = range(ny - nx)
            axes[self.axis:self.axis] = range(ny - nx, ny)
            return y_new.transpose(axes)
        else:
            y_new[out_of_bounds] = self.fill_value
            axes = range(nx, ny)
            axes[self.axis:self.axis] = range(nx)
            return y_new.transpose(axes)

    def _check_bounds(self, x_new):
        """Check the inputs for being in the bounds of the interpolated data.

        Parameters
        ----------
        x_new : array

        Returns
        -------
        out_of_bounds : bool array
            The mask on x_new of values that are out of the bounds.
        """

        # If self.bounds_error is True, we raise an error if any x_new values
        # fall outside the range of x.  Otherwise, we return an array indicating
        # which values are outside the boundary region.
        below_bounds = x_new < self.x[0]
        above_bounds = x_new > self.x[-1]

        # !! Could provide more information about which values are out of bounds
        if self.bounds_error and below_bounds.any():
            raise ValueError("A value in x_new is below the interpolation "
                "range.")
        if self.bounds_error and above_bounds.any():
            raise ValueError("A value in x_new is above the interpolation "
                "range.")

        # !! Should we emit a warning if some values are out of bounds?
        # !! matlab does not.
        out_of_bounds = logical_or(below_bounds, above_bounds)
        return out_of_bounds

class ppform(object):
    """The ppform of the piecewise polynomials is given in terms of coefficients
    and breaks.  The polynomial in the ith interval is
    x_{i} <= x < x_{i+1}

    S_i = sum(coefs[m,i]*(x-breaks[i])^(k-m), m=0..k)
    where k is the degree of the polynomial.
    """
    def __init__(self, coeffs, breaks, fill=0.0, sort=False):
        self.coeffs = np.asarray(coeffs)
        if sort:
            self.breaks = np.sort(breaks)
        else:
            self.breaks = np.asarray(breaks)
        self.K = self.coeffs.shape[0]
        self.fill = fill
        self.a = self.breaks[0]
        self.b = self.breaks[-1]

    def __call__(self, xnew):
        saveshape = np.shape(xnew)
        xnew = np.ravel(xnew)
        res = np.empty_like(xnew)
        mask = (xnew >= self.a) & (xnew <= self.b)
        res[~mask] = self.fill
        xx = xnew.compress(mask)
        indxs = np.searchsorted(self.breaks, xx)-1
        indxs = indxs.clip(0,len(self.breaks))
        pp = self.coeffs
        diff = xx - self.breaks.take(indxs)
        V = np.vander(diff,N=self.K)
        # values = np.diag(dot(V,pp[:,indxs]))
        values = array([dot(V[k,:],pp[:,indxs[k]]) for k in xrange(len(xx))])
        res[mask] = values
        res.shape = saveshape
        return res

    def fromspline(cls, xk, cvals, order, fill=0.0):
        N = len(xk)-1
        sivals = np.empty((order+1,N), dtype=float)
        for m in xrange(order,-1,-1):
            fact = spec.gamma(m+1)
            res = _fitpack._bspleval(xk[:-1], xk, cvals, order, m)
            res /= fact
            sivals[order-m,:] = res
        return cls(sivals, xk, fill=fill)
    fromspline = classmethod(fromspline)

def _dot0(a, b):
    """Similar to numpy.dot, but sum over last axis of a and 1st axis of b"""
    if b.ndim <= 2:
        return dot(a, b)
    else:
        axes = range(b.ndim)
        axes.insert(-1, 0)
        axes.pop(0)
        return dot(a, b.transpose(axes))

def _find_smoothest(xk, yk, order, conds=None, B=None):
    # construct Bmatrix, and Jmatrix
    # e = J*c
    # minimize norm(e,2) given B*c=yk
    # if desired B can be given
    # conds is ignored
    N = len(xk)-1
    K = order
    if B is None:
        B = _fitpack._bsplmat(order, xk)
    J = _fitpack._bspldismat(order, xk)
    u,s,vh = np.dual.svd(B)
    ind = K-1
    V2 = vh[-ind:,:].T
    V1 = vh[:-ind,:].T
    A = dot(J.T,J)
    tmp = dot(V2.T,A)
    Q = dot(tmp,V2)
    p = np.dual.solve(Q,tmp)
    tmp = dot(V2,p)
    tmp = np.eye(N+K) - tmp
    tmp = dot(tmp,V1)
    tmp = dot(tmp,np.diag(1.0/s))
    tmp = dot(tmp,u.T)
    return _dot0(tmp, yk)

def _setdiag(a, k, v):
    assert (a.ndim==2)
    M,N = a.shape
    if k > 0:
        start = k
        num = N-k
    else:
        num = M+k
        start = abs(k)*N
    end = start + num*(N+1)-1
    a.flat[start:end:(N+1)] = v

# Return the spline that minimizes the dis-continuity of the
# "order-th" derivative; for order >= 2.

def _find_smoothest2(xk, yk):
    N = len(xk)-1
    Np1 = N+1
    # find pseudo-inverse of B directly.
    Bd = np.empty((Np1,N))
    for k in range(-N,N):
        if (k<0):
            l = np.arange(-k,Np1)
            v = (l+k+1)
            if ((k+1) % 2):
                v = -v
        else:
            l = np.arange(k,N)
            v = N-l
            if ((k % 2)):
                v = -v
        _setdiag(Bd,k,v)
    Bd /= (Np1)
    V2 = np.ones((Np1,))
    V2[1::2] = -1
    V2 /= math.sqrt(Np1)
    dk = np.diff(xk)
    b = 2*np.diff(yk, axis=0)/dk
    J = np.zeros((N-1,N+1))
    idk = 1.0/dk
    _setdiag(J,0,idk[:-1])
    _setdiag(J,1,-idk[1:]-idk[:-1])
    _setdiag(J,2,idk[1:])
    A = dot(J.T,J)
    val = dot(V2,dot(A,V2))
    res1 = dot(np.outer(V2,V2)/val,A)
    mk = dot(np.eye(Np1)-res1, _dot0(Bd,b))
    return mk

def _get_spline2_Bb(xk, yk, kind, conds):
    Np1 = len(xk)
    dk = xk[1:]-xk[:-1]
    if kind == 'not-a-knot':
        # use banded-solver
        nlu = (1,1)
        B = ones((3,Np1))
        alpha = 2*(yk[1:]-yk[:-1])/dk
        zrs = np.zeros((1,)+yk.shape[1:])
        row = (Np1-1)//2
        b = np.concatenate((alpha[:row],zrs,alpha[row:]),axis=0)
        B[0,row+2:] = 0
        B[2,:(row-1)] = 0
        B[0,row+1] = dk[row-1]
        B[1,row] = -dk[row]-dk[row-1]
        B[2,row-1] = dk[row]
        return B, b, None, nlu
    else:
        raise NotImplementedError("quadratic %s is not available" % kind)

def _get_spline3_Bb(xk, yk, kind, conds):
    # internal function to compute different tri-diagonal system
    # depending on the kind of spline requested.
    # conds is only used for 'second' and 'first'
    Np1 = len(xk)
    if kind in ['natural', 'second']:
        if kind == 'natural':
            m0, mN = 0.0, 0.0
        else:
            m0, mN = conds

        # the matrix to invert is (N-1,N-1)
        # use banded solver
        beta = 2*(xk[2:]-xk[:-2])
        alpha = xk[1:]-xk[:-1]
        nlu = (1,1)
        B = np.empty((3,Np1-2))
        B[0,1:] = alpha[2:]
        B[1,:] = beta
        B[2,:-1] = alpha[1:-1]
        dyk = yk[1:]-yk[:-1]
        b = (dyk[1:]/alpha[1:] - dyk[:-1]/alpha[:-1])
        b *= 6
        b[0] -= m0
        b[-1] -= mN

        def append_func(mk):
            # put m0 and mN into the correct shape for
            #  concatenation
            ma = array(m0,copy=0,ndmin=yk.ndim)
            mb = array(mN,copy=0,ndmin=yk.ndim)
            if ma.shape[1:] != yk.shape[1:]:
                ma = ma*(ones(yk.shape[1:])[np.newaxis,...])
            if mb.shape[1:] != yk.shape[1:]:
                mb = mb*(ones(yk.shape[1:])[np.newaxis,...])
            mk = np.concatenate((ma,mk),axis=0)
            mk = np.concatenate((mk,mb),axis=0)
            return mk

        return B, b, append_func, nlu

    elif kind in ['clamped', 'endslope', 'first', 'not-a-knot', 'runout',
                  'parabolic']:
        if kind == 'endslope':
            # match slope of lagrange interpolating polynomial of
            # order 3 at end-points.
            x0,x1,x2,x3 = xk[:4]
            sl_0 = (1./(x0-x1)+1./(x0-x2)+1./(x0-x3))*yk[0]
            sl_0 += (x0-x2)*(x0-x3)/((x1-x0)*(x1-x2)*(x1-x3))*yk[1]
            sl_0 += (x0-x1)*(x0-x3)/((x2-x0)*(x2-x1)*(x3-x2))*yk[2]
            sl_0 += (x0-x1)*(x0-x2)/((x3-x0)*(x3-x1)*(x3-x2))*yk[3]

            xN3,xN2,xN1,xN0 = xk[-4:]
            sl_N = (1./(xN0-xN1)+1./(xN0-xN2)+1./(xN0-xN3))*yk[-1]
            sl_N += (xN0-xN2)*(xN0-xN3)/((xN1-xN0)*(xN1-xN2)*(xN1-xN3))*yk[-2]
            sl_N += (xN0-xN1)*(xN0-xN3)/((xN2-xN0)*(xN2-xN1)*(xN3-xN2))*yk[-3]
            sl_N += (xN0-xN1)*(xN0-xN2)/((xN3-xN0)*(xN3-xN1)*(xN3-xN2))*yk[-4]
        elif kind == 'clamped':
            sl_0, sl_N = 0.0, 0.0
        elif kind == 'first':
            sl_0, sl_N = conds

        # Now set up the (N+1)x(N+1) system of equations
        beta = np.r_[0,2*(xk[2:]-xk[:-2]),0]
        alpha = xk[1:]-xk[:-1]
        gamma = np.r_[0,alpha[1:]]
        B = np.diag(alpha,k=-1) + np.diag(beta) + np.diag(gamma,k=1)
        d1 = alpha[0]
        dN = alpha[-1]
        if kind == 'not-a-knot':
            d2 = alpha[1]
            dN1 = alpha[-2]
            B[0,:3] = [d2,-d1-d2,d1]
            B[-1,-3:] = [dN,-dN1-dN,dN1]
        elif kind == 'runout':
            B[0,:3] = [1,-2,1]
            B[-1,-3:] = [1,-2,1]
        elif kind == 'parabolic':
            B[0,:2] = [1,-1]
            B[-1,-2:] = [-1,1]
        elif kind == 'periodic':
            raise NotImplementedError
        elif kind == 'symmetric':
            raise NotImplementedError
        else:
            B[0,:2] = [2*d1,d1]
            B[-1,-2:] = [dN,2*dN]

        # Set up RHS (b)
        b = np.empty((Np1,)+yk.shape[1:])
        dyk = (yk[1:]-yk[:-1])*1.0
        if kind in ['not-a-knot', 'runout', 'parabolic']:
            b[0] = b[-1] = 0.0
        elif kind == 'periodic':
            raise NotImplementedError
        elif kind == 'symmetric':
            raise NotImplementedError
        else:
            b[0] = (dyk[0]/d1 - sl_0)
            b[-1] = -(dyk[-1]/dN - sl_N)
        b[1:-1,...] = (dyk[1:]/alpha[1:]-dyk[:-1]/alpha[:-1])
        b *= 6.0
        return B, b, None, None
    else:
        raise ValueError("%s not supported" % kind)

# conds is a tuple of an array and a vector
#  giving the left-hand and the right-hand side
#  of the additional equations to add to B
def _find_user(xk, yk, order, conds, B):
    lh = conds[0]
    rh = conds[1]
    B = np.concatenate((B,lh),axis=0)
    w = np.concatenate((yk,rh),axis=0)
    M,N = B.shape
    if (M>N):
        raise ValueError("over-specification of conditions")
    elif (M<N):
        return _find_smoothest(xk, yk, order, None, B)
    else:
        return np.dual.solve(B, w)

# If conds is None, then use the not_a_knot condition
#  at K-1 farthest separated points in the interval
def _find_not_a_knot(xk, yk, order, conds, B):
    raise NotImplementedError
    return _find_user(xk, yk, order, conds, B)

# If conds is None, then ensure zero-valued second
#  derivative at K-1 farthest separated points
def _find_natural(xk, yk, order, conds, B):
    raise NotImplementedError
    return _find_user(xk, yk, order, conds, B)

# If conds is None, then ensure zero-valued first
#  derivative at K-1 farthest separated points
def _find_clamped(xk, yk, order, conds, B):
    raise NotImplementedError
    return _find_user(xk, yk, order, conds, B)

def _find_fixed(xk, yk, order, conds, B):
    raise NotImplementedError
    return _find_user(xk, yk, order, conds, B)

# If conds is None, then use coefficient periodicity
# If conds is 'function' then use function periodicity
def _find_periodic(xk, yk, order, conds, B):
    raise NotImplementedError
    return _find_user(xk, yk, order, conds, B)

# Doesn't use conds
def _find_symmetric(xk, yk, order, conds, B):
    raise NotImplementedError
    return _find_user(xk, yk, order, conds, B)

# conds is a dictionary with multiple values
def _find_mixed(xk, yk, order, conds, B):
    raise NotImplementedError
    return _find_user(xk, yk, order, conds, B)

def splmake(xk,yk,order=3,kind='smoothest',conds=None):
    """Return a (xk, cvals, k) representation of a spline given
    data-points where the (internal) knots are at the data-points.

    yk can be an N-d array to represent more than one curve, through
    the same xk points. The first dimension is assumed to be the
    interpolating dimension.

    kind can be 'smoothest', 'not_a_knot', 'fixed',
                'clamped', 'natural', 'periodic', 'symmetric',
                'user', 'mixed'

                it is ignored if order < 2
    """
    yk = np.asanyarray(yk)
    N = yk.shape[0]-1

    order = int(order)
    if order < 0:
        raise ValueError("order must not be negative")
    if order == 0:
        return xk, yk[:-1], order
    elif order == 1:
        return xk, yk, order

    try:
        func = eval('_find_%s' % kind)
    except:
        raise NotImplementedError

    # the constraint matrix
    B = _fitpack._bsplmat(order, xk)
    coefs = func(xk, yk, order, conds, B)
    return xk, coefs, order

def spleval((xj,cvals,k),xnew,deriv=0):
    """Evaluate a fixed spline represented by the given tuple at the new
    x-values. The xj values are the interior knot points.  The approximation
    region is xj[0] to xj[-1].  If N+1 is the length of xj, then cvals should
    have length N+k where k is the order of the spline.

    Internally, an additional k-1 knot points are added on either side of
    the spline.

    If cvals represents more than one curve (cvals.ndim > 1) and/or xnew is
    N-d, then the result is xnew.shape + cvals.shape[1:] providing the
    interpolation of multiple curves.
    """
    oldshape = np.shape(xnew)
    xx = np.ravel(xnew)
    sh = cvals.shape[1:]
    res = np.empty(xx.shape + sh, dtype=cvals.dtype)
    for index in np.ndindex(*sh):
        sl = (slice(None),)+index
        if issubclass(cvals.dtype.type, np.complexfloating):
            res[sl].real = _fitpack._bspleval(xx,xj,cvals.real[sl],k,deriv)
            res[sl].imag = _fitpack._bspleval(xx,xj,cvals.imag[sl],k,deriv)
        else:
            res[sl] = _fitpack._bspleval(xx,xj,cvals[sl],k,deriv)
    res.shape = oldshape + sh
    return res

def spltopp(xk,cvals,k):
    """Return a piece-wise polynomial object from a fixed-spline tuple.
    """
    return ppform.fromspline(xk, cvals, k)

def spline(xk,yk,xnew,order=3,kind='smoothest',conds=None):
    """Interpolate a curve (xk,yk) at points xnew using a spline fit.
    """
    return spleval(splmake(xk,yk,order=order,kind=kind,conds=conds),xnew)


With America lying in economic ruin, its streets overrun with drugs and prostitution, a small group of friends do their best to survive in a world which no longer seems to welcome them.A year after the death of his girlfriend, Claire, Eddie Procter can't seem to shake her from his dreams. Stumbling upon a street drug without a name, Eddie begins to have visions of a world where Claire is still alive and the nation is still thriving economically. Are they only hallucinations or has Eddie found a way to be with Claire once more?


text:
AMCOM Operations Officer Wins Academic Scholarship
Published: Monday, 19 August 2019 22:51
By Gina Baltrusch, Aviation and Missile Command Public Affairs, August 14, 2019
An Aviation and Missile Command operations officer will continue studies toward a doctoral degree with the help of a $4,000 academic scholarship award she received Aug. 6 during the annual Space and Missile Defense Symposium in Huntsville.
Capt. Maria Miranda applied for and won the 2019 Lt. Gen. Larry Dodgen Memorial University Scholarship, a program administered by the Air, Space and Missile Defense Association.
Miranda is a Reserve logistics officer serving a three-year assignment in AMCOM's Operations Directorate. She plans to use the scholarship to continue her doctoral degree in public health at Walden University.
Miranda emigrated from Nicaragua to the United States with her parents in 1988 when she was 10. She became a U.S. citizen in 2005 while serving as an enlisted Soldier, then attended Officer Candidate School to become a Reserve officer in 2009. She holds a bachelor's in physical education and health promotion, and a master of exercise science and rehabilitation. Miranda's pursuit of a doctoral degree in public health puts her on a path toward supporting community health services and influencing positive social change in individuals' health-related choices.
In her current assignment, Miranda processes all of the taskers that come into AMCOM – about 400-plus taskers every month. Across the Army, higher-echelon commands send numerous taskers to subordinate units for appropriate action. Taskers often have complex requirements, and need personnel, materials or equipment in order to complete.
"Many people don't realize the time and attention to detail it takes to work just one of those taskers. Capt. Miranda analyzes them, determines which organization is best suited to receive the tasker, assigns it, makes sure the receiving unit understands the requirements, and tracks its completion – hundreds of them," Col. Terry Grisham, AMCOM's deputy director for Current Operations, said. "Managing taskers is a necessary, yet typically thankless job, which few people truly enjoy. Capt. Miranda took it on and made it her own, contributing to processes and policies that improved tasker coordination and accuracy among our units and departments."
Having a team member who quickly and correctly evaluates, assigns and tracks incoming and outgoing taskers is critical to efficient and effective staff operations, according to Maj. Ryan Greenawalt, Miranda's supervisor. "Her analytical judgment, time-management skills and work ethic are impeccable.
"And she's one of the most-kind people I've ever met," Greenawalt added. "She genuinely cares and wants to make a positive difference for people."
Education, healthy living, public service and the pursuit of personal excellence seem to be a way of life for Miranda, who is a wife and mother, as well as a student.
"Sometimes, it's a lot to manage. But, once I start something, I never quit," she said. "No matter how long it takes me to complete the program, I will finish it."
Miranda's leadership and management skills as an Army officer complement her non-military education and career goals.
"(Skills) such as overseeing public health operations and programs, analyzing and advising on findings, and implementing strategies and plans to improve community health," Miranda said. "The public health doctoral program will propel me to do that and more."
Her goal to make a positive difference for individual and community public health are driven by her commitment to family, public service and an abundance of gratitude for her good fortune.
"I've been so blessed. I just want to give back some of the good I've had in my life," Miranda said. "I also want to set a good example for my daughter. It's important to contribute and help make our communities better."
Miranda puts those words into action during her off-duty time in the Huntsville area. She volunteers with the Health Ministry Team at her church, with children at the Chaney Thompson Montessori School, and with Team Red White Blue at Redstone Arsenal, which provides life enrichment to veterans through health, physical and social activity.
Miranda's colleagues say her passion for public health and commitment to excellence generate positive effects in their work and personal lives.
"My family was considering a no-sugar diet. Knowing Capt. Miranda's extensive education in public health, I asked her about it," Grisham said. "The recommendations she provided made sense, and were less extreme and easier to achieve the results we ultimately wanted.
"We're proud to have Capt. Miranda here in operations. She's not just an outstanding officer, tasker manager, mentor and teammate – she's a good person. I have no doubt she's going to keep doing great things to help others with her public health degree."
The Lt. Gen. Larry Dodgen scholarship annually awards one $4,000 educational scholarship to a deserving Soldier or military family member. During his 1972-2006 Army career, Dodgen's assignments included commanding the Aviation and Missile Command and the Space and Missile Defense Command.

redpajama_set_name: RedPajamaCommonCrawl


text:
GO TO ARTISTS
Claudia Lepe
"Admirable" Dido and Aeneas
Claudia Lepe stood out with her Sorceress, who has achieved to homogenize
her vocal material and who knew how to deploy the dark force of her character. "
Juan Antonio Muñoz, El Mercurio, October 19, 2014
"A Rigoletto of tragic force and modern theatricality prevails in the Municipal of Santiago
...same case of Claudia Lepe, the Chilean contralto in charge of Giovanna,
skillful and dedicated guardian of Gilda. Lepe imposes with plenty of resources for the role,
which is appreciated as it gives good uniformity, in terms of quality, to the entire cast."
Toda la Cultura
tuiteroscultura.com
I had the fortune to meet and work with contralto Claudia Lepe in many instances, we were colleagues in the Chamber Choir of the Alberto Hurtado University and we shared the stage in operatic productions such as Madame Butterfly (Teatro de las Condes) and Dido and Aeneas (Gabriela Mistral Cultural Center). In those occasions I could see her tremendous vocal abilities, her dark, powerful and at the same time sweet tone; this combined with an exquisite musicality that makes her performance an elegant and credible act, and an exceptional human quality, characteristics that make her an ideal person at the moment of standing on the stage and conquering the audience with her artistic, musical, vocal and personal virtues.
Filomena Segovia Guzmán
Vocal Instructor
Frutillar Lake Theater, 2018
...I worked with her in the role of Zia Principessa in Puccini's opera "Suor Angelica". An excellent work of magnificent interpretation - vocal and theatrical quality. I hope her career reaches a very high level due to her dedication to the lyrical art.
Graciela Araya


Here's successful fundraising in a nutshell.
Ask her to do what she wants to do.
"Asking your donor to do what you want her to do" is done with your organization in mind. It's how you think about the action of your donor.
Notice who is primary in each example pulled from my files? The organization. They talk about the organization, first and foremost. Is the donor involved? Of course.
But it's mostly about the organization. The organization doing its work.
"Asking her to do what she wants to do" is done with your donor in mind. It's talking to your donor about what she cares about in the way she thinks about it.
Notice that the organization isn't even mentioned? Those examples are all about the donor, the beneficiary, what the donor's gift will accomplish.
The next time you're asking your donor to make a donation, don't ask her to do what you want her to do. Don't ask her to make a donation or to partner with your organization.
That's about you. That's about your organization.
Instead, tap into her story. She loves to help people and causes she loves.
So ask her to help a person!
It's simple to understand, but hard to do; you'll raise more money if you ask her to do something she already wants to do.
This is so good it is like chocolate. You pulled this apart wonderfully. Slowly I am getting it. You are right when you say that it is easy to hear, but it is much harder to do. It is especially tricky when your organization is over 60 years old and in all that time has raised money by telling others what we believe God has directed us to do.


text:
Oklahoma City Museum of Art
415 Couch Dr
Toll-Free Office:
Office Fax:
Visit one of the leading arts institutions in the region at the Oklahoma City Museum of Art. The museum holds a diverse permanent collection featuring highlights from North America, Europe and Asia, with particular strengths in American art and postwar abstraction. This prestigious collection also boasts one of the world's largest public collections of Dale Chihuly glass, a major collection of photography by Brett Weston and definitive works by Washington Color painter Paul Reed.
The museum is home to the state's premier repertory cinema, which screens international, independent and classic films. The 250-seat Samuel Roberts Noble Theater is a visual masterpiece, featuring a visual masterpiece featuring a state-of-the art projection system. Enjoy selections from the museum's film program, with screenings every Thursday through Sunday.
Take note of the Waterford crystal chandelier in the theater lobby, which is one of two Chihuly Waterford crystal chandeliers in the world. This stunning piece is comprised of 203 individual blown lead crystal parts, each etched by Waterford artisans. The chandelier is 9 feet, 7 inches in height, 5 feet, 5 inches in diameter and weighs 2,000 pounds. View it from the ground floor or mezzanine, which overlooks the theater lobby.
Stop by the Museum Cafe for French-inflected, modern American cuisine. Quality-focused, artfully inspired and approachable, the cafe offers seasonal lunch, dinner and weekend brunch menus, as well as a carefully curated wine list, artisan beers and seasonal cocktails.
For a unique nightlife experience, head to the museum's Roof Terrace each Third Thursday of the month. The Roof Terrace is a gathering place for downtown workers, pre-concert and filmgoers and the art crowd. Located atop the three-story Donald W. Reynolds Visual Arts Center, this venue offers a spectacular view of downtown OKC.
The Oklahoma City Museum of Art is accredited by the American Association of Museums and is a member of the Association of Art Museum Directors. The Museum serves over 125,000 visitors annually from all fifty states and thirty foreign countries.
Seniors (62+), college students (with ID) and children (6-17): $10
Military (with ID): $5
Children (5 and under) & Members: Free
Third Thursday (5-9 pm): $12
Van Gogh, Monet, Degas Admission: $15 (no other discounts apply)
While every effort has been made to ensure the accuracy of the pricing listed above, prices are subject to change without notice.
Meeting Space Available
Restaurant on site
Group Amenities
Accommodates Tour Groups
Bus/Motorcoach Parking
Group Rates Available
Tour Group Welcome Reception


text:
Select other Jets Adams, Josh Anderson, Henry Austin, Bless Bailey, Manasseh Ballentine, Corey Basham, Tarell Becton, Mekhi Berrios, Braxton Brown, Daniel Cager, Lawrence Campbell, Elijah Clark, Cameron Coley, Trevon Crowder, Jamison Daka, John Darnold, Sam Davis, Connor Dawkins, Noah Edoga, Chuma Elflein, Pat Fant, George Farley, Matthias Fatukasi, Folorunso Ficken, Sam Finch, Sharif Flacco, Joe Franklin-Myers, John Griffin, Ryan Guerriero, Pete Guidry, Javelin Hager, Bryce Hall, Bryce Hassell, J.T. Hennessy, Thomas Herndon, Chris Hewitt, Neville Huff, Bryce Jackson, Lamar Johnson, Ty Lewis, Zane Luvu, Frankie Malone, Josh Mann, Braden Maulet, Arthur Maye, Marcus McDermott, Conor McGovern, Connor McLaughlin, Chase Mims, Denzel Montgomery, D.J. Morgan, James Murray, James Perriman, Breshad Scott, Jaleel Shepherd, Nathan Smart, Tanzel Smith, Jeff Smith, Vyncint Travis, Ross Van Roten, Greg Wesco, Trevon White, Mike Zuniga, Jabari Jets Roster
Rating Yards TD
72.7 2208 9
Team: New York Jets Ht/Wt: 6-3/225
Position: QB Born: 6/5/1997 Birthplace:
College: USC Draft: 1st Round 3rd pick by Jets(2018)
Jan. 4, 20219:22 AM PT10:22 AM MT11:22 AM CT12:22 PM ET17:22 GMT1:22 10:22 AM MST11:22 AM CST12:22 PM EST11:22 AM CT21:22 UAE12:22 ET15:22 - Sam Darnold was 23 of 34 for 266 yards and threw one touchdown pass Sunday in the New York Jets' 28-14 loss to the New England Patriots. He threw two interceptions, didn't fumble and was sacked three times. Darnold added three rushing yards on one carry.
Dec. 27, 202012:52 PM PT1:52 PM MT2:52 PM CT3:52 PM ET20:52 GMT4:52 1:52 PM MST2:52 PM CST3:52 PM EST2:52 PM CT0:52 UAE (+1)15:52 ET18:52 - Sam Darnold was 16 of 32 for 175 yards and threw two touchdown passes Sunday in the New York Jets' 23-16 win over the Cleveland Browns. He did not throw an interception, didn't fumble and was sacked two times. Darnold added 20 rushing yards on seven carries.
Dec. 20, 20203:30 PM PT4:30 PM MT5:30 PM CT6:30 PM ET23:30 GMT7:30 4:30 PM MST5:30 PM CST6:30 PM EST5:30 PM CT3:30 UAE (+1)18:30 ET21:30 - Sam Darnold was 22 of 31 for 207 yards and threw one touchdown pass Sunday in the New York Jets' 23-20 win over the Los Angeles Rams. He did not throw an interception, didn't fumble and was sacked two times. Darnold added 18 rushing yards on five carries.
Dec. 13, 20208:48 PM PT9:48 PM MT10:48 PM CT11:48 PM ET4:48 GMT12:48 9:48 PM MST10:48 PM CST11:48 PM EST10:48 PM CT8:48 UAE23:48 ET2:48 - Sam Darnold was 14 of 26 for 132 yards and didn't throw a touchdown pass Sunday in the New York Jets' 40-3 loss to the Seattle Seahawks. He did not throw an interception, didn't fumble and was sacked three times. Darnold added three rushing yards on one carry.
Dec. 7, 20207:44 AM PT8:44 AM MT9:44 AM CT10:44 AM ET15:44 GMT23:44 8:44 AM MST9:44 AM CST10:44 AM EST9:44 AM CT19:44 UAE10:44 ET13:44 - Sam Darnold was 14 of 23 for 186 yards and threw two touchdown passes Sunday in the New York Jets' 31-28 loss to the Las Vegas Raiders. He threw one interception, fumbled twice and was sacked three times. Darnold added 26 rushing yards on three carries and scored one touchdown on the ground.
Nov. 29, 202012:27 PM PT1:27 PM MT2:27 PM CT3:27 PM ET20:27 GMT4:27 1:27 PM MST2:27 PM CST3:27 PM EST2:27 PM CT0:27 UAE (+1)15:27 ET18:27 - Sam Darnold was 16 of 27 for 197 yards and didn't throw a touchdown pass Sunday in the New York Jets' 20-3 loss to the Miami Dolphins. He threw two interceptions, didn't fumble and was sacked three times. Darnold added nine rushing yards on two carries.
Nov. 5, 20208:54 AM PT9:54 AM MT10:54 AM CT11:54 AM ET16:54 GMT0:54 9:54 AM MST10:54 AM CST11:54 AM EST10:54 AM CT20:54 UAE11:54 ET14:54 - Darnold will start Sunday against the Dolphins. Coach Adam Gase made the announcement Friday after Darnold's injured right shoulder progressed throughout the week. Gase says barring any setbacks, Darnold will be back under center to try to lead the 0-10 Jets to their elusive first win.
Analysis: Darnold was first hurt against Denver on Oct. 1, when he sprained the AC joint in the shoulder on a hard tackle to the turf. He reinjured it at Kansas City on Nov. 1 on another hard hit and missed the next two games. Darnold struggled in the six games he has played with just three touchdown passes and six interceptions.
Oct. 2, 202011:27 AM PT12:27 PM MT1:27 PM CT2:27 PM ET18:27 GMT2:27 11:27 AM MST12:27 PM CST1:27 PM EST1:27 PM CT22:27 UAE14:27 ET17:27 - Darnold will miss Sunday's game against the Cardinals after he sprained his right shoulder during last Thursday's loss to the Broncos. Joe Flacco will start in his place.
Analysis: Flacco, now recovered from neck surgery that ended his 2019 season after eight games, will make his first start since Oct. 27, 2019. The former Super Bowl MVP went 2-6 in eight starts for the Broncos last season, and he averaged just 186.5 passing yards per game over the last four.
Oct. 1, 20208:16 PM PT9:16 PM MT10:16 PM CT11:16 PM ET3:16 GMT11:16 8:16 PM MST9:16 PM CST10:16 PM EST10:16 PM CT7:16 UAE (+1)23:16 ET2:16 - Sam Darnold was 23 of 42 for 230 yards and didn't throw a touchdown pass Thursday in the New York Jets' 37-28 loss to the Denver Broncos. He did not throw an interception, didn't fumble and was sacked six times. Darnold added 84 rushing yards on six carries and scored one touchdown on the ground.
Sep. 27, 20203:20 PM PT4:20 PM MT5:20 PM CT6:20 PM ET22:20 GMT6:20 3:20 PM MST4:20 PM CST5:20 PM EST5:20 PM CT2:20 UAE (+1)18:20 ET21:20 - Sam Darnold was 17 of 29 for 168 yards and threw one touchdown pass Sunday in the New York Jets' 36-7 loss to the Indianapolis Colts. He threw three interceptions, didn't fumble and was sacked two times. Darnold added 20 rushing yards on five carries.
Sep. 20, 202012:27 PM PT1:27 PM MT2:27 PM CT3:27 PM ET19:27 GMT3:27 12:27 PM MST1:27 PM CST2:27 PM EST2:27 PM CT23:27 UAE15:27 ET18:27 - Sam Darnold was 21 of 32 for 179 yards and threw one touchdown pass Sunday in the New York Jets' 31-13 loss to the San Francisco 49ers. He did not throw an interception, didn't fumble and was sacked one time. Darnold added seven rushing yards on two carries.
Sep. 13, 20201:13 PM PT2:13 PM MT3:13 PM CT4:13 PM ET20:13 GMT4:13 1:13 PM MST2:13 PM CST3:13 PM EST3:13 PM CT0:13 UAE (+1)16:13 ET19:13 - Sam Darnold was 21 of 35 for 215 yards and threw one touchdown pass Sunday in the New York Jets' 27-17 loss to the Buffalo Bills. He threw one interception, didn't fumble and was sacked three times. Darnold added six rushing yards on one carry.
Career Passing Stats
Year Team G Att Cmp Comp % Yds Yd/A TDs Int Sacked Yds Rating
2018 NYJ 13 414 239 57.7 2865 6.9 17 15 30 204 77.6
2020 NYJ 12 364 217 59.6 2208 6.1 9 11 35 234 72.7
Totals 38 1219 729 59.8 8097 6.6 45 39 98 650 78.6
2018 NYJ 13 44 138 3.1 1 0 0 - 0
2019 NYJ 13 33 62 1.9 2 0 0 - 0
Totals 38 114 417 3.7 5 0 0 - 0
Incomplete Pass Information
Pass Attempted Completions Total Incomplete
Type Number Pct of Incomp Pct of Overall Attempts
Pass Dropped 10 6.8 2.7
Poor Throw 53 36.1 14.6
Pass Defensed 46 31.3 12.6
Pass Hit at Line 6 4.1 1.6
Other 32 21.8 8.8
Intercepted 11 7.5 3.0


text:
Tyler Flowers
Catcher - Atlanta Braves
Date of Birth: January 24, 1986 (34 years old)
Tyler Flowers News
There is no news on Tyler Flowers right now.
Tyler Flowers Stats
2009 Season 2010 Season 2011 Season 2012 Season 2013 Season 2014 Season 2015 Season 2016 Season
16 3 3 4 1 0 0 0 3 0 8 0 0 .188 .350 .250 1 0 0
Sep 3 CWS CHC 1 0 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000 0 0 0
Sep 4 CWS BOS 1 0 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000 0 0 0
Sep 8 CWS OAK 1 0 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000 0 0 0
Sep 18 CWS KC 1 0 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000 0 0 0
Sep 23 CWS MIN 3 1 1 2 1 0 0 0 0 0 0 0 0 .200 .273 .300 0 0 0
Sep 26 CWS DET 2 0 0 0 0 0 0 0 1 0 2 0 0 .167 .286 .250 0 0 0
Sep 28 CWS CLE 3 1 1 1 0 0 0 0 1 0 1 0 0 .200 .333 .267 0 0 0
Oct 2 CWS DET 0 0 0 0 0 0 0 0 0 0 0 0 0 .188 .350 .250 0 0 0
Sep 7 CWS DET 1 0 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000 0 0 0
Sep 22 CWS OAK 3 0 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000 0 0 0
Oct 1 CWS CLE 2 0 0 0 0 0 0 0 2 0 1 0 0 .000 .200 .000 0 0 0
110 13 23 45 5 1 5 16 14 0 38 0 1 .209 .310 .409 3 0 2
Jul 19 CWS KC 3 0 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000 0 0 0
Jul 31 CWS BOS 3 1 1 1 0 0 0 0 1 0 2 0 0 .167 .286 .167 0 0 0
Aug 3 CWS NYY 1 0 0 0 0 0 0 0 0 0 0 0 0 .143 .250 .143 0 0 0
Aug 7 CWS MIN 3 0 1 1 0 0 0 0 1 0 0 0 0 .182 .308 .182 0 0 0
Aug 12 CWS KC 2 0 0 0 0 0 0 0 0 0 1 0 0 .154 .267 .154 0 0 0
Aug 16 CWS CLE 7 0 2 5 1 1 0 1 0 0 2 0 0 .296 .367 .519 0 0 0
Aug 19 CWS TEX 4 0 0 0 0 0 0 0 0 0 4 0 0 .281 .395 .469 0 0 0
Aug 23 CWS LAA 4 0 1 1 0 0 0 0 0 0 3 0 0 .310 .420 .500 0 0 0
Aug 26 CWS SEA 4 0 1 1 0 0 0 0 0 0 1 0 1 .286 .386 .449 0 0 0
Aug 29 CWS MIN 2 0 1 2 1 0 0 2 0 0 1 0 0 .281 .373 .491 0 0 1
Sep 5 CWS MIN 4 0 0 0 0 0 0 0 1 0 2 0 0 .236 .333 .444 0 0 0
Sep 8 CWS CLE 3 0 0 0 0 0 0 0 0 0 2 0 0 .218 .319 .410 1 0 0
Sep 26 CWS TOR 4 1 1 4 0 0 1 3 0 0 1 0 0 .210 .303 .390 0 0 0
Apr 7 CWS TEX 4 0 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000 0 0 0
Apr 14 CWS DET 2 2 1 4 0 0 1 1 0 0 1 1 0 .167 .286 .667 1 0 0
Apr 19 CWS BAL 3 0 0 0 0 0 0 0 1 0 2 0 0 .111 .273 .444 0 0 0
Apr 24 CWS OAK 3 0 0 0 0 0 0 0 0 0 2 0 0 .083 .214 .333 0 0 0
Apr 28 CWS BOS 3 0 1 1 0 0 0 0 0 0 1 0 0 .133 .235 .333 0 0 0
May 6 CWS DET 2 0 0 0 0 0 0 0 1 0 1 0 0 .118 .250 .294 0 0 0
May 7 CWS CLE 4 0 1 2 1 0 0 0 0 0 3 0 0 .143 .250 .333 0 0 0
May 13 CWS KC 3 0 1 1 0 0 0 0 0 0 0 0 0 .167 .259 .333 0 0 0
May 20 CWS CHC 4 2 2 6 1 0 1 1 0 0 0 0 0 .214 .290 .500 0 0 0
May 22 CWS MIN 0 0 0 0 0 0 0 0 0 0 0 0 0 .214 .290 .500 0 0 0
May 27 CWS CLE 3 1 0 0 0 0 0 0 0 0 1 0 0 .194 .286 .452 1 0 0
Jun 3 CWS SEA 4 1 2 2 0 0 0 0 0 0 2 0 0 .229 .308 .457 0 0 0
Jun 6 CWS TOR 3 0 0 0 0 0 0 0 0 0 1 0 0 .211 .286 .421 0 0 0
Jun 10 CWS HOU 3 1 0 0 0 0 0 0 1 0 1 0 0 .195 .283 .390 0 0 0
Jun 17 CWS LA 4 0 0 0 0 0 0 0 0 0 4 0 0 .178 .260 .356 0 0 0
Jun 18 CWS CHC 1 0 0 0 0 0 0 0 0 0 0 0 0 .174 .255 .348 0 0 0
Jun 22 CWS MIL 0 0 0 0 0 0 0 0 0 0 0 0 0 .170 .264 .340 0 0 0
Jun 26 CWS MIN 3 0 0 0 0 0 0 0 0 0 2 1 0 .160 .250 .320 0 0 0
Jun 28 CWS NYY 0 0 0 0 0 0 0 0 0 0 0 0 0 .176 .263 .333 0 0 0
Jul 3 CWS TEX 1 1 0 0 0 0 0 0 1 0 1 0 0 .164 .258 .309 0 0 0
Jul 8 CWS TOR 3 0 0 0 0 0 0 0 0 0 2 0 0 .164 .250 .295 0 0 0
Jul 22 CWS DET 4 0 2 2 0 0 0 0 0 0 1 0 0 .174 .250 .290 0 0 0
Jul 24 CWS MIN 4 0 1 2 1 0 0 0 1 0 0 0 0 .178 .259 .301 0 0 0
Jul 27 CWS TEX 4 1 1 1 0 0 0 0 0 0 3 0 0 .185 .258 .309 0 0 0
Aug 5 CWS LAA 2 0 0 0 0 0 0 0 0 0 1 0 0 .194 .257 .301 0 0 0
Aug 11 CWS OAK 3 1 3 7 1 0 1 3 0 0 0 0 0 .219 .286 .365 1 0 0
Aug 13 CWS TOR 4 0 1 1 0 0 0 0 0 0 3 0 0 .220 .284 .360 0 0 0
Aug 29 CWS BAL 3 0 0 0 0 0 0 0 0 0 2 0 0 .231 .286 .427 0 1 0
Sep 7 CWS KC 0 0 0 0 0 0 0 0 0 0 0 0 0 .230 .293 .426 0 0 0
Sep 27 CWS TB 0 0 0 0 0 0 0 0 0 0 0 0 0 .225 .306 .434 0 0 0
256 24 50 91 11 0 10 24 14 1 94 0 1 .195 .247 .355 4 0 1
Apr 1 CWS KC 3 1 1 4 0 0 1 1 0 0 1 0 0 .333 .333 1.000 0 0 0
Apr 5 CWS SEA 5 1 1 2 1 0 0 0 0 0 3 0 0 .417 .533 1.000 0 0 0
Apr 7 CWS SEA 3 0 0 0 0 0 0 0 0 0 1 0 0 .333 .444 .800 0 0 0
Apr 9 CWS WSH 4 0 0 0 0 0 0 0 0 0 3 0 0 .263 .364 .632 0 0 0
Apr 10 CWS WSH 3 0 0 0 0 0 0 0 0 0 0 0 0 .227 .320 .545 0 0 0
Apr 13 CWS CLE 4 0 0 0 0 0 0 0 0 0 3 0 0 .167 .242 .400 0 0 0
Apr 15 CWS TOR 4 0 0 0 0 0 0 0 0 0 1 0 0 .162 .225 .378 0 0 0
Apr 20 CWS MIN 2 0 1 1 0 0 0 0 2 0 0 0 1 .217 .294 .478 0 0 0
Apr 25 CWS TB 3 0 0 0 0 0 0 0 0 0 3 0 0 .200 .279 .418 0 0 0
May 1 CWS TEX 4 1 1 1 0 0 0 0 0 0 0 0 0 .182 .250 .364 0 0 0
May 4 CWS KC 3 0 1 1 0 0 0 0 0 0 0 0 0 .192 .253 .397 0 0 0
May 7 CWS NYM 3 0 0 0 0 0 0 0 0 0 1 0 0 .177 .244 .367 0 0 0
May 10 CWS LAA 3 0 1 1 0 0 0 1 0 0 1 0 0 .188 .258 .365 0 0 0
May 20 CWS BOS 4 0 0 0 0 0 0 0 0 0 0 0 0 .195 .266 .336 0 0 0
May 31 CWS OAK 3 0 0 0 0 0 0 0 0 0 1 0 0 .205 .271 .341 0 0 0
Jun 2 CWS OAK 3 0 0 0 0 0 0 0 0 0 2 0 0 .200 .265 .333 0 0 0
Jun 10 CWS TOR 0 0 0 0 0 0 0 0 0 0 0 0 0 .214 .271 .383 0 0 0
Jun 21 CWS KC 4 0 0 0 0 0 0 0 0 0 1 0 0 .218 .266 .369 0 0 0
Jun 25 CWS NYM 3 2 1 4 0 0 1 1 0 0 0 0 0 .217 .271 .380 1 0 0
Jun 28 CWS CLE 4 1 1 4 0 0 1 3 0 0 2 0 0 .215 .271 .387 1 0 0
Jul 2 CWS BAL 4 0 0 0 0 0 0 0 0 0 2 0 0 .209 .263 .378 0 0 0
Jul 6 CWS TB 3 0 0 0 0 0 0 0 0 0 0 0 0 .205 .257 .367 0 0 0
Jul 13 CWS PHI 6 0 2 3 1 0 0 0 0 0 2 0 0 .205 .255 .365 0 0 0
Jul 21 CWS ATL 3 0 0 0 0 0 0 0 0 0 3 0 0 .203 .252 .360 0 0 0
Jul 31 CWS CLE 0 0 0 0 0 0 0 0 0 0 0 0 0 .201 .249 .367 0 0 0
Aug 1 CWS CLE 2 0 0 0 0 0 0 0 1 0 2 0 0 .199 .250 .364 0 0 0
Aug 3 CWS DET 0 0 0 0 0 0 0 0 0 0 0 0 0 .199 .250 .364 0 0 0
Aug 13 CWS DET 0 0 0 0 0 0 0 0 1 0 0 0 0 .194 .248 .348 0 0 0
407 42 98 161 16 1 15 50 25 0 159 0 1 .241 .297 .396 8 1 1
Mar 31 CWS MIN 3 0 0 0 0 0 0 0 0 0 2 0 0 .000 .000 .000 0 0 0
Apr 2 CWS MIN 3 0 1 1 0 0 0 0 0 0 2 0 0 .167 .167 .167 0 0 0
Apr 4 CWS KC 4 1 3 4 1 0 0 0 0 0 0 0 0 .571 .571 .643 0 0 0
Apr 7 CWS COL 1 0 0 0 0 0 0 0 2 0 0 0 0 .474 .524 .526 0 0 0
Apr 18 CWS TEX 3 0 0 0 0 0 0 0 0 0 0 0 0 .370 .396 .457 0 0 0
May 5 CWS CHC 4 1 0 0 0 0 0 0 1 0 0 0 0 .330 .384 .385 0 0 0
May 9 CWS ARI 4 1 2 5 0 0 1 1 0 0 1 0 0 .330 .378 .417 0 0 0
May 10 CWS ARI 3 0 1 2 1 0 0 0 0 0 1 0 0 .330 .377 .425 0 0 0
May 16 CWS HOU 3 1 1 1 0 0 0 1 2 0 1 0 0 .314 .372 .398 0 0 0
May 22 CWS NYY 2 0 1 1 0 0 0 0 1 0 1 0 0 .306 .367 .403 0 0 0
May 31 CWS SD 4 0 0 0 0 0 0 0 0 0 1 0 0 .286 .345 .377 0 0 0
Jun 1 CWS SD 3 1 1 4 0 0 1 1 0 0 2 0 0 .287 .345 .395 0 0 0
Jun 2 CWS LA 3 0 0 0 0 0 0 0 0 0 1 0 0 .281 .339 .388 0 0 0
Jun 7 CWS LAA 3 0 0 0 0 0 0 0 0 0 2 0 0 .271 .326 .388 0 1 0
Jun 9 CWS DET 3 1 0 0 0 0 0 0 1 0 2 0 0 .263 .325 .377 0 0 0
Jun 12 CWS DET 2 0 0 0 0 0 0 0 1 0 2 0 0 .260 .325 .373 0 0 0
Jun 17 CWS SF 2 0 0 0 0 0 0 1 1 0 1 0 0 .247 .314 .355 0 0 0
Jun 23 CWS BAL 4 1 1 1 0 0 0 0 0 0 2 0 0 .241 .306 .340 0 0 0
Jul 1 CWS LAA 2 0 0 0 0 0 0 0 0 0 1 0 0 .235 .294 .323 0 0 0
Jul 4 CWS SEA 2 1 0 0 0 0 0 0 0 0 0 0 0 .229 .291 .316 1 0 0
Jul 7 CWS BOS 3 0 0 0 0 0 0 0 0 0 2 0 0 .223 .282 .307 0 0 0
Jul 18 CWS HOU 2 0 1 2 1 0 0 1 1 0 1 0 0 .220 .278 .309 0 0 0
Aug 4 CWS TEX 3 2 3 8 0 1 1 3 0 0 0 0 0 .252 .309 .379 0 0 0
Aug 7 CWS SEA 4 0 0 0 0 0 0 0 0 0 1 0 0 .248 .304 .371 0 0 0
Aug 12 CWS SF 3 0 0 0 0 0 0 0 0 0 1 0 0 .248 .307 .376 1 0 0
Aug 22 CWS NYY 4 0 1 1 0 0 0 0 0 0 2 0 0 .238 .296 .358 0 0 0
331 21 79 118 12 0 9 39 21 0 104 0 1 .239 .295 .356 6 2 1
Apr 23 CWS KC 5 0 0 0 0 0 0 0 0 0 2 0 0 .242 .265 .394 0 0 0
May 1 CWS MIN 4 0 1 1 0 0 0 0 0 0 1 0 0 .217 .234 .326 0 0 0
May 9 CWS CIN 3 0 0 0 0 0 0 0 0 0 3 0 0 .179 .207 .268 0 0 0
May 10 CWS CIN 2 1 2 3 1 0 0 0 2 0 0 0 0 .207 .258 .310 0 0 0
May 11 CWS MIL 0 0 0 0 0 0 0 0 0 0 0 0 0 .207 .258 .310 0 0 0
May 26 CWS TOR 5 1 2 3 1 0 0 0 0 0 2 0 0 .213 .253 .330 0 0 0
May 28 CWS BAL 3 0 0 0 0 0 0 1 0 0 0 0 0 .206 .252 .320 1 0 0
Jun 3 CWS TEX 5 1 3 7 1 0 1 2 0 0 1 0 0 .216 .256 .351 0 0 0
Jun 8 CWS HOU 3 0 0 0 0 0 0 0 0 0 2 0 0 .198 .236 .322 0 0 0
Jun 12 CWS TB 4 0 1 1 0 0 0 0 0 0 2 0 0 .203 .244 .320 0 0 0
Jun 15 CWS PIT 3 0 0 0 0 0 0 0 0 0 1 0 0 .200 .239 .311 0 0 0
Jun 19 CWS TEX 3 1 2 5 0 0 1 1 0 0 0 0 0 .210 .248 .341 0 0 0
Jun 30 CWS STL 5 1 2 5 0 0 1 1 0 0 1 0 0 .217 .268 .369 0 0 0
Jul 1 CWS STL 4 2 2 5 0 0 1 2 0 0 1 0 0 .224 .273 .391 0 0 0
Jul 10 CWS CHC 3 0 1 1 0 0 0 0 0 0 1 0 0 .229 .277 .380 0 0 0
Jul 22 CWS STL 3 0 0 0 0 0 0 0 0 0 3 0 0 .221 .265 .362 0 0 0
Jul 31 CWS NYY 1 0 0 0 0 0 0 0 0 0 0 0 0 .217 .256 .345 0 0 0
Aug 3 CWS TB 3 0 0 0 0 0 0 0 0 0 1 0 0 .219 .257 .348 0 0 0
Aug 7 CWS KC 3 0 1 1 0 0 0 0 1 0 1 0 0 .218 .262 .345 0 0 0
Aug 14 CWS CHC 0 0 0 0 0 0 0 0 0 0 0 0 0 .223 .267 .359 0 0 0
Aug 24 CWS BOS 3 0 1 1 0 0 0 0 0 0 0 0 0 .223 .274 .348 0 0 0
Sep 24 CWS NYY 4 0 2 2 0 0 0 0 0 0 1 0 0 .228 .284 .348 0 0 0
Oct 1 CWS KC 3 1 1 1 0 0 0 0 0 0 2 0 0 .237 .292 .356 0 0 0
Apr 8 ATL STL 3 0 1 1 0 0 0 1 1 0 0 0 0 .333 .500 .333 0 0 0


text:
Q: Controlling video playback (play, pause, forward, seekbar) on BlackBerry Can anyone please help me to add video controls (play, pause, forward, seekbar) to my application?

A: use Player.stop(), Player.start() for play and pause
use FramePositioningControl for forward and seekbar

redpajama_set_name: RedPajamaStackExchange


Check out the last leg of American Women's Club Bazaar for this year. It happens on December 6, 2017 from 8:30am to 2:30pm at SMX Convention Center, MOA Complex.
The AWC Bazaar will showcase high-quality and hand-crafted products like jewelry, wood products, themed art, clothing and accessories, skin care products, local cuisine, and special items for the holiday season.


What do you get when you combine 26 stuffed chipmunks with the Michigan-Michigan State rivalry?
Yes, what you're looking at here is a taxidermist tableau of the Wolverines-Spartans rivalry -- complete with 22 helmet-wearing chipmunks, two referee chipmunks and two chain-crew chipmunks. In case you're confused by the chipmunks' positioning, don't worry. There is a backstory, according to the Detroit Free Press. The game is tied, 27-27, with one second left and Chipmunk Cook is just about to throw the game-winning touchdown.
The taxidermist, Nick Saade, is no stranger to the game -- of football or taxidermy. His taxidermy shop is less than three miles from the Spartans' stadium in Lansing, Michigan, and he's been doing this for 18 years.
"Every once in a while we do something cute," Saade told the Freep's Judy Putnam.
Sadly, interested buyers, it turns out that you're already out of luck, too. The $1,500 piece of ... art ... has already been purchased by a 1965 Michigan grad and season ticket-holder.
The buyer, Roger Mayerson, told Putnam he simply knows what he likes.
"I think it's going to be quite a conversation piece," he said.
Don't think this was carelessly thrown together in one night, either. Saade carefully crafted this tableau, since one chipmunk takes as many as six hours to skin, stuff and sew. That makes for a total of 156 hours just on that part of the "artistry."


text:
Home Past Lists + Guides Past Weekly Lists Top 16 Things to Do This Week in Houston: March 18 to...
Past Lists + Guides
Past Weekly Lists
Top 16 Things to Do This Week in Houston: March 18 to 24, 2019
Lindsey Craun
Houston Lebanese Festival | Photo courtesy of American Lebanese Cultural Center
Make the most of your week with our top 16 event picks happening in Houston from Monday, March 18 to Sunday, March 24, 2019.
Happening This Week
Top Things to Do This Week
Top Concerts This Week
Nightlife in Houston This Week
Top Things for Kids This Week
Plan Your Weekend This Week
Search Our Event Calendar
Also in March 2019
Top 15 Events This Month
Top 10 Games & Sports Events
Top 12 Food & Drink Events
Top 15 Concerts & Live Shows
Top 9 Plays & Arts Performances
Cheer on the Rockets when they play against the San Antonio Spurs; wear a big, colorful hat for one of Houston's biggest charity events of the season; hear the Houston Symphony perform the unforgettable score from Star Wars: A New Hope; sip fancy cocktails crafted by award-winning mixologists; celebrate Lebanese culture with authentic food, music, dancing and more.
Top 16 Things to Do This Week in Houston
Puddles Pity Party at Stafford Centre | Monday, March 18 – Show love for Puddles the clown during his very own pity party and concert at Stafford Centre, where the "sad clown with the golden voice" will present a sad, humorous, awkward and absurd performance. Tickets start at $35. 8pm.
Pink in Concert at Toyota Center | Tuesday, March 19 – Raise your glass to the powerful voice of Pink when she brings her talents to Houston's Toyota Center on the "Beautiful Trauma" world tour. Tickets start at $47.45, but you may find cheaper, better, or hard-to-get tickets on TicketNetwork's online resale market. 7:30pm.
Boston Pops on Tour: The Music of John Williams at Cynthia Woods Mitchell Pavilion | Thursday, March 21 – See a musical performance by the famed Boston Pops as they bring their tour, which celebrates the work of the orchestra's former conductor, John Williams, to Cynthia Woods Mitchell Pavilion. Tickets start at $35, but you may find cheaper or find better seats on TicketNetwork's resale site. 7:30pm.
Hats in the Park at McGovern Centennial Gardens | Thursday, March 21 – Pop on a big, flowery hat to raise funds for Hermann Park and its daily volunteer and stewardship programs at Hats in the Park. Sip champagne during the opening reception in the Cherie Flores Garden Pavilion, then dine al-fresco at the Centennial Gardens. Tickets start at $500. 11:30am.
Keels & Wheels Uncorked at the Lone Star Flight Museum | Thursday, March 21 – Enjoy an elegant evening of fine wine and food at Keels & Wheels Uncorked, a fundraising event hosted by the Lone Star Flight Museum, featuring Master of Ceremonies and longtime radio host Sam Malone. Tickets are $75 per person in advance; $100 per person at the door. 7pm to 10pm.
Houston Rockets vs. San Antonio Spurs at Toyota Center | Friday, March 22 – Cheer loud for the Rockets when they hit the court to play the Timberwolves at Toyota Center. Tickets start at $39, but you may find cheaper or better seats on TicketNetwork's resale site. 7pm.
Star Wars: A New Hope in Concert at Jones Hall | Friday to Sunday – Travel to a land far, far away aboard the Millennium Falcon during a complete showing of Star Wars Episode IV: A New Hope on the big screen at Jones Hall, along with its unforgettable score performed by the Houston Symphony. Tickets start at $29, but you may find cheaper or better seats on TicketNetwork's resale site. Friday and Saturday 8pm; Sunday 7:30pm.
Comedian TJ Miller at Houston Improv | Friday to Sunday – Laugh it up at a comedy show by TJ Miller, known for his absurdist observational stand-up that's delighted audiences for more than fifteen years. Tickets start at $25. 7:30pm.
5th Annual Heights Kids' Day of Music Festival at Love Park | Saturday, March 23 | FREE – Teach your kids about all things music during Heights Kids' Day of Music at Love Park. Kids can touch, feel, and play a variety of band and orchestra instruments at the "petting zoo," then meet with members of Opera in the Heights to learn what it takes to be a professional opera singer. 10am to 2pm.
Houston Holi: The Festival of Colors at Crown Festival Park | Saturday, March 23 – Celebrate India's harvest season with a lively festival of food, dancing, Bollywood music, carnival rides, and of course, blasts of multicolored powder. Headlining the festival is Mickey Singh, an Indian-born American singer, songwriter, producer, dancer, model, and actor. Tickets are $12; $15 the day of the festival. Noon to 5pm.
Houston Lebanese Festival at Constellation Field Stadium | Saturday, March 23 and Sunday, March 24 – Discover the culture of Lebanon with authentic cuisine, live music, dance performances, shopping, and other entertainment at the Houston Lebanese Festival, held this year at Constellation Field Stadium. Tickets start at $6. Noon both days.
Theatre Under The Stars 50th Anniversary Season Gala at The Post Oak at Uptown Houston | Saturday, March 23 – Enjoy an awe-inspiring performance by special guest Idina Menzel while honoring past board chairs and presidents at Theatre Under The Stars' 50th Anniversary Season Gala in The Post Oak at Uptown. Tickets start at $3,000. 6:30pm.
Shake, Stir, Sip: A Craft Cocktail Experience at Silver Street Studios – Treat yourself to a fun unique cocktail fest at Shake Stir Sip, an international touring cocktail experience based in Houston and curated with award-winning mixologists. Tickets range from $55 to $150. 7pm to 11pm.
Mark C. Austin's Birthday Charity Concert at The Heights Theater – Celebrate the birthday of Houston's own Mark C. Austin with a special party and charity concert at The Heights Theater. The concert will feature live music from the New Orleans-based Dumpstaphunk, with proceeds benefiting Life Gift of Houston. Tickets start at $18. 7pm.
Ivan Amodei's Secrets & Illusions at The Hobby Center | Saturday, March 23 – Marvel at the mysteries of illusionist Ivan Amodei's thought-provoking show, which takes audiences on a 90-minute journey through his signature vignettes, incorporating audience participation and storytelling. Tickets start at $54. 4pm and 8pm.
Sixth Annual Hermann Park Conservancy Kite Festival | Sunday, March 24 | FREE – Fly a kite alongside thousands of Houstonians at Hermann Park's Fifth Annual Kite Festival. Take a break from kiting to enjoy music and entertainment, interactive activities, and crafting in the H-E-B Kids' Zone, face painting, and food trucks. 10am to 5pm.
Find More Things to Do in Houston All Year Long
You can find more fun in our interactive event calendar and 365 Weekend Guides.
Be sure to subscribe to our free Weekend Guide email to receive a round-up of great things to do this weekend in Houston in your inbox every Thursday. If you don't want to miss a thing, you can also opt in to our Daily Update emails (emailed six days a week).
Click here to sign up for free.
Top Things This Week
Previous articleTop 5 Games & Sports Events in Houston This Week: March 18 to 24, 2019
Next articleGet a Nightlife: March 20 to 24, 2019
Top 15 Things to Do This Week in Houston: July 15 to 21, 2019
Top 15 Things to Do This Week in Houston: July 8 to 14, 2019
Top 14 Things to Do This Week in Houston: July 1 to 7, 2019
Houston Brunch Festival Jul 20, 2019
"Fetish" Jul 19 - Jul 26, 2019


This Florida State Seminoles Riddell mini helmet has been personally hand-signed by linebacker Derrick Brooks. It is officially licensed by the NCAA and comes with an individually numbered, tamper-evident hologram from Fanatics Authentic. To ensure authenticity, the hologram can be reviewed online. This process helps to ensure that the product purchased is authentic and eliminates any possibility of duplication or fraud.


text:
Joel Pollak: Mainstream Media, Big Tech Coverup Collapses with Hunter Biden Investigation…….
Criminality Democrat Party Joe Biden
By KGSaccess_time1 month agochat_bubble_outlineLeave a comment
What was suppressed by the #FraudMedia before the election, is now allowed to be news…
Pollak: Mainstream Media, Big Tech Coverup Collapses with Hunter Biden Investigation
The revelation Wednesday that Hunter Biden is under investigation for tax violations relating to his foreign business affairs confirms that the media/Big Tech censorship of stories during the election about his laptop and emails was entirely without merit.
When the New York Post reported on October 14 that Hunter Biden had introduced an official from the corrupt Ukrainian energy company Burisma to then-Vice President Joe Biden — contrary to the latter's denials that he had ever spoken to his family about their businesses — Facebook announced that it would be suppressing the story, and Twitter prevented people from sharing it. Those who dared were suspended; the Post itself was locked out of its account for more than two weeks.
When the Post followed up with reporting that Hunter Biden had launched a joint venture in 2017 with the CEFC China Energy Co., and that he had reserved 10% for the "big guy," the media deliberately ignored the story. Never mind that the intended CEO of the new company, Tony Bobulinski, corroborated the story. Never mind that Breitbart News reported independent emails that showed Hunter Biden's associates bringing Chinese bigwigs to the Obama-Biden White House.
In the final presidential debate, Joe Biden called the story a "Russian plant," citing a letter by 50 former intelligence officials, including some who spread the "Russia collusion" hoax. Biden lied to to America, as Big Tech and the media applauded.
Now, after the election, we are learning that the laptop is central to the case against Hunter Biden. CNN — which spiked the story in October — reported Wednesday that the tax inquiry included questions about a gift from Ye Jianming, CEFC's founder. Fox News reported that the laptop, seized by the FBI last year, was central to the investigation against Hunter Biden.
Instead of investigating the story, Silicon Valley and the mainstream media censored it. Here are some major examples:
Facebook announced that it would be suppressing the story, pending review by its "third-party fact-checking partners." It labeled the story "misinformation." That move set the tone for the rest of Silicon Valley, and for the mainstream media.
Previous Post Previous Post Daniel Greenfield: President Trump is Defending the People, Democrats are Attacking Them…….
Next Post Next Post Dr.Manfred Gerstenfeld: Will the EU develop a serious Strategy against Antisemitism……?


text:
Q: JPA - OneToMany, ManyToOne, OneToOne problem Given the following two entities :
class Parent {
       @OneToMany(cascade=CascadeType.ALL)
       private Set<Child> children;

       (...)
}

class Child {
       @ManyToOne
       private Parent parent;

       (...)
}

I would like two tables in the database. One table for the parents and the other one for the children. But Hibernate creates three tables: one for the parents, one for the children and one for joining them (table with two fields).
Even if I put @OneToOne on the parent attribute in Child class, I still get the same result.
What am I missing ?

A: Add the mappedBy property to the @OneToMany in the Parent class. This makes the Child be the owning side.
In Child add the @JoinColumn annotation to the parent field in order to declare the foreign key column name in the child table.
From the JavaDoc on @OneToMany#mappedBy:

The field that owns the relationship. Required unless the relationship is unidirectional.

Unidirectional relations need a join table, but in your case it's bidirectional, thus it's required.

A: The mappedBy="parent" attribute in annotation is missing for building the bidirectional association.
class Parent {
   @OneToMany(mappedBy="parent",cascade=CascadeType.ALL)
   private Set<Child> children;

   (...)
}

class Child {
   @ManyToOne
   private Parent parent;

   (...)
}

A: given your foreign key column in the children table is called "parent_id", try
@OneToMany(mappedBy="parent")
private Set<Child> children;

and
@ManyToOne
@JoinColumn(name="parent_id")
private Parent parent;


City Garden Tower. This brand new high rise project will be developed right in the heart of the city centre next to South Pattaya and Pattaya 3rd road. This prime project will boast an elegantly styled 30 floor skyscraper.
This 35 sqm is 1 bedroom, located on the 18th floor of the building. This unit is fitted kitchens, air conditioning and built -in furniture, Balcony with city and sea views.
City Garden Tower facilities include a parking, sky garden with ocean view, communal swimming pool, sauna and fitness.


text:
Q: Expand Rect by 100px I use OpenCV 2.4.4 in C++ and have Rect I want to make bigger by x pixels. OpenCV documentation provides nice example (look for "expanding or shrinking rectangle by a certain amount") how to use this in image http://opencv.willowgarage.com/documentation/cpp/_images/math/a6f41031fb2ccaa600520bcbde63a8a9fcff9edf.png
Cool. Only problem I do not know how to enter this in actual C++ code. I tried:
Rect rect=oldrect+-10;
Rect rect=oldrect-+10;
and
Rect rect=oldrect±10; (I copied this symbol from http://en.wikipedia.org/wiki/Plus-minus_sign to be sure.
I get ugly errors on any of them.
Can someone please explain, what is that clever symbol I should use and was impossible to include inside HTML, so it is embedded as image.

A: If you're looking to expand the Rect while keeping the same origin (just increase its width and height), you can use:
cv::Size inflationSize(20, 20);
myRect += inflationSize;

Which would add +20 to both width and height. If you also want to offset the x and y points and actually inflate the rect from all sides, you can do the following:
constexpr int inflation = 20;
myRect += cv::Point(-inflation/2, -inflation/2);
myRect += cv::Size(inflation, inflation);

cv::Rect has the + (and other) operators overloaded such that if it's a cv::Point it will adjust the origin, and if it's a cv::Size it will adjust width and height.

A: That's the mathematical notation for "+=" in C++. You don't actually use ± directly. For example:
//make a rectangle that's 10x10 and centered at (0, 0)
cv::Rect rect(0, 0, 10, 10);
std::cout << "Original Rectangle: " << rect.area() << std::endl;

//manual addition to rectangle dimensions -- this will make bigger_rect be 20x20
cv::Rect bigger_rect = rect;
bigger_rect.height += 10;
bigger_rect.width += 10;
std::cout << "Bigger Rectangle: " << bigger_rect.area() << std::endl;

//other method of adding to a rectangle's area -- this will increase rect to be 20x20
rect += cv::Size(10, 10);
std::cout << rect.area() << std::endl;

So to do your example of adding 10 to the height and width of a rectangle, think of the ± symbol as being equivalent to += cv::Size(width, height)
Well, you more or less had the right idea...
EDIT: In regards to your comment, I should elaborate:
rect += point, rect -= point, rect += size, rect -= size are 4 distinct operations, such that:
rect += point and rect -= point: shifts the rectangle by point, where point refers to a cv::Point object, i.e. you can declare a point as:
cv::Point pt(5, 5);, then if you do rect += pt, it'll shift the rectangle's x and y members (by default, these refer to the rectangle's upper left coordinate) by 5 -- e.g. it's equivalent to doing rect.x += 5 and rect.y += 5. The case for rect -= point is the same, albeit for subtraction rather than addition (so rect.x -= 5 and rect.y -= 5).
rect += size and rect -= size will change the rectangle's size as opposed to it's coordinate position, such that += will increase the rectangle area and -= will decrease it.


Wycombe Swimming is proud to announce a number of its performance swimmers have so far been selected for National duties in 2019. This is a fabtastic achievemnent by them and recognition of the hard work they have put in. It is a result of the progress of the club under the current coaching team that so many swimmers and coaches are now recognised at a National Level. Demonstrating that Wycombe District Swimming Club is a place for swimmers to achieve their pottential.
Ceara Barber and Jemima Hall: selected to swim for England in Nice, France, in February at the FFN Golden Tour Meet; WDSC Lead Performance Coach Josh Atkins will also be joining them as a member of the coaching team.
Ella Dyson: selected to attend Open Water training and competition camp in Majorca as part of the Swim England team in May.
Following the Swimming Regional Winter Championships, a team of 24 athletes have been selected to represent the South East Region in January at the Flanders Cup in Belgium. Of these the 9 are from Wycombe Swimming.
James Baxter, Cameron Brooker, Jemima Hall, Caitlin Mackay, Jamie O'Connor, Jamie Owen, Ben Prosser, Millie Sansome and Josh Williams.
The team will be supported by Wycombe Lead Performance Coach Josh Atkins and team manager Louise Sansome.


For inventiveness of motion married to the gestures of music, few choreographers are as adroit and unpredictable as Mark Morris. For the past decade Mark Morris Dance Group has regularly brought some of its dance programs to the George Mason University Center of the Arts. This year's visit is slated for this coming weekend, and it will feature some rare musical repertory worth hearing on its own.
Mark Morris Dance Group performs in Fairfax 8 p.m. Friday and Saturday. cfa.gmu.edu; 888-945-2468.
Duo pianists Dennis Russell Davies and Maki Namekawa will also perform rarely heard music at the Phillips Collection. Their recital includes Shostakovich's Concertino for Two Pianos, Stravinsky's Le Sacre du printemps (in the composer's arrangement for piano, four hands), Kurt Schwertsik's Incidental music to Macbeth, and Philip Glass's Four Movements for Two Pianos.
This concert will take place 4 p.m. Sunday at the Phillips Collection. phillipscollection.org; 202-387-2151 x277.


Greyhound Racing Victoria (GRV) is the statutory authority established under Part 3 of the Racing Act 1958 (Racing Act), for promoting and controlling greyhound racing in Victoria.
A part of GRV's function is to provide approvals to Wagering Service Providers to publish and use Victorian greyhound racing fields in accordance with the Gambling Regulation Act 2003 (Vic).
A list of wagering operators currently approved to publish and use Victorian greyhound racing fields is available below.
If you wish to apply for approval to publish and use Victorian greyhound racing fields please complete the application form below.
A copy of GRV's Conditions on Publication and Use of GRV Race Fields effective 1st August 2018 are set out below.
(g) any other act or refusal to do an act in order to avoid these provisions.
(v) Unauthorised scraping of a WSP's website.
In the first instance, customers who believe that an approved WSP has refused their bet or excluded them in contravention of these conditions should contact the WSP to ascertain the reason for the refusal or exclusion.
If the customer remains unsatisfied with the reason provided by the WSP, and they do not fall within one of the exclusions listed in the conditions, then they may lodge a formal complaint with GRV via this online form.
If you have any queries regarding GRV Wagering please contact GRV via info@grv.org.au or 03 8329 1100.


text:
2014 CSG Literary Awards Contest Winners
Winner of the 2014 CSG Brainerd T. Peck Award for Family History
Vena's Roots, An Anderson/Boothby Family History
by Seema-Jayne Kenney
Seema-Jayne (Bergquist) Kenney has been involved in genealogy for most of her life, professionally for the last three years and is an active member of The Massachusetts Society of Genealogists, serving as President of its Worcester Chapter. She is also a member of The Connecticut Society of Genealogists (CSG), The Maine Genealogical Society (MGS), International Society of Family History Writers and Editors (ISFHWE), American French Genealogical Society (AFGS), and the New England Chapter of the Association of Professional Genealogists (NEAPG). In 2010 she completed the BU Genealogical Research Certificate, followed by completion of the ProGen study program in 2012.
Seema-Jayne started working on the Anderson side of her father's family history in earnest just a few years ago. Finding that Vena's Roots extended into colonial Massachusetts made everything more interesting as Lancaster was not so far from where Seema-Jayne lives with her husband, Timothy. During the same time her research was beginning in earnest, her father called with an invitation to a family reunion in Maine – Vena's family and near her childhood home. In attendance were 100 people, almost 95 of whom Seema-Jayne had never met before! The reunion hostess and a couple of other cousins were great sources of information on Vena, her Vena's Roots took Seema-Jayne on a trip down the road of US History -Almost back to the Mayflower. Along the way, trips to family homesteads and historic houses made that history come to life.
Seema-Jayne's first career was in the computer department of Consolidated Group in Framingham, Massachusetts. For almost seventeen years, she performed analysis and project management for computer system upgrades and installations. In 1999, Seema-Jayne opened her own computer training company, Technical Tutoring, providing computer software training to individuals and groups especially on all the components of Microsoft Office. Seema-Jayne started a new business, Mass Researchers, in 2011, offering genealogically based services to the public. While a few research projects were completed, the business concentrates more on presentations, especially to genealogy societies and clubs, historical societies, senior centers, and libraries. Her genealogical services and interests are listed on her website, www.MassResearchers.com.
Seema-Jayne indicates that this book was written to get things in front of her father and his older brother in hopes of soliciting more stories about the ancestors they knew. Now it is the motivation for researching other family lines and presenting those as gifts for her own three children and other descendants. Her current project is the family history of her maternal grandmother, Christine Florence Ellis, a family with over 150 years of history in Southington and Torrington, Connecticut.


text:
Verizon, Hearst Chase Millennials with Digital Video Joint Venture
The country's biggest mobile carrier and the media company plan to launch two channels in the spring
Joan E. Solsman | March 3, 2016 @ 9:50 AM
Verizon and Hearst are building a joint venture to make digital video aimed at young viewers known as millennials, aiming to launch two channels in the spring on platforms like the mobile carrier's Go90 app and its unit AOL.
The two channels, RatedRed.com and Seriously.TV, will launch before NewFronts, a series of New York-based events during which digital media companies fete advertisers and media buyers with the hope of scoring ad deals. NewFronts is set to begin in the first two weeks of May.
RatedRed.com will be aimed at "millennials from the heartland," the companies said, and will feature news updates, documentaries and series about music, food, outdoor life, military affairs, politics and faith.
Also Read: Attention, Cord-Cutters: AT&T Is Revamping DirecTV For You
Seriously.TV will be a place for comedic news updates, which the companies are angling as a replacement to late-night programming's take on world events.
The joint venture, called Verizon Hearst Media Partners, is a play to combine Verizon's recent expansions into digital video through Go90 and AOL with Hearst's investments in online networks like BuzzFeed, Vice and AwesomenessTV.
Verizon Hearst Media Partners will be headquartered in New York City. Additional details of the venture will be announced at a later date.
Who's Who in the Apple Vs. FBI Feud (Photos)
Apple's CEO sparked headlines by refusing to help the FBI unlock an iPhone linked to a deadly mass shooting, shining a spotlight on a long-simmering tension between protecting either digital privacy or public safety from attacks
Syed Farook and Tashfeen Malik
The couple killed 14 people in December's mass shooting in San Bernardino, Calif. Using a warrant to searching a car linked to the husband, Farook, law enforcement discovered a passcode-protected iPhone. They want to bypass security blockers to peek into the phone's data for clues about associates or possible future attacks.
The FBI's director defended the agency's request that Apple help crack the shooter's iPhone, saying investigators wouldn't be able to look survivors in their eyes if the FBI didn't pursue the lead.
Eileen M. Decker
The U.S. Attorney for the Central District of California, Decker is the top Justice Department official fighting on behalf of the FBI in court. Decker said the court's order would help investigators uncover the motives behind the attack. "We have made a solemn commitment to the victims and their families that we will leave no stone unturned," she said.
The Republican presidental candidate seized on the standoff pitting Apple against national security interests, calling for a boycott of the company until it helps unlock the phone.
The former intelligence contractor, who leaked documents in 2013 that exposed warrantless government surveillance, called the face-off "the most important tech case in a decade" and criticized the FBI for creating a world where Apple protects citizens' rights, rather than the other way around.
Google's CEO, who is instrumental in the world's other major smartphone operating system besides Apple's, was the first major figure in Silicon Valley to express support for Cook. He said requiring companies to enable hacking of customer devices and data "could be a troubling precedent."
The CEO of Facebook, the world's biggest social network, said his company was "sympathetic" to Apple. "We believe in encryption," he said.
The anti-virus software businessman, who is known for his own tangles with law enforcement, said he and his team of hackers would break into Farook's iPhone for the FBI at no charge, to eliminate the need for Apple to develop another way in. "I would eat my shoe... if we could not break the encryption on the San Bernardino phone," he said.
Apple and the U.S. government are facing off over a killer terrorist's locked iPhone. Here are the main figures in the case
Facebook to Lift Live Video to Top of Your Feed – And May Pay Celebs to Make It
By Joan E. Solsman | March 2, 2016 @ 7:43 AM
Attention, Cord-Cutters: AT&T Is Revamping DirecTV For You
By Joan E. Solsman | March 1, 2016 @ 11:48 AM


text:
Q: automate ssh commands using python. Obs. double login required So, my university has a cluster that I want to use. However, to access it, I need to login in a ssh server of the university first, and through it login in the cluster using the ssh again. So, my code looks like this:
    def login():
        import paramiko
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect('cupido.iqm.unicamp.br', port=22, username='gabriel', password='*********')

Where, cupido.iqm.unicamp.br is the host that I need to access first in order to login the cluster through ssh.
This works, fine. So I tried to login in the cluster with the following function:
    def kahuna():
        login()
        ssh.connect('kahuna.iqm.unicamp.br', username='gabrielcesar', password='*********')
        stdin, stdout, stderr = ssh.exec_command('ls')
        output=stdout.readlines()
        print '\n'.join(output)

Here where it gets all fusy. For me it would make sense to login first using the previous function and then use ssh.connect again the same way I did before. However I get the following error(in the comments)
In summary, is there any way to perform a double login in ssh through python?


text:
Berrow kan syfta på följande platser:

Storbritannien

 Berrow, Worchestershire, ort i England,
 Berrow, Somerset, ort i England,

redpajama_set_name: RedPajamaWikipedia


Both President and Mrs. Kennedy continue to be popular with Americans of all political stripes and generations. Americans old enough to have been around when President and Mrs. Kennedy were alive, and millions of others who are familiar with them, are still fascinated by this period of U.S. history that was in many ways defined by their legacy.
Gold First Spouse coins have been issued by the U.S. Mint since 2007, and the series will be ending next year with the Nancy Reagan coin. The coins are made of one half ounce of 24-karat gold and are minted at the West Point Mint.
Sales of these coins by the Mint have declined steadily over the course of the past decade as a result of rising gold prices and declining interest among collectors. The first two coins sold out of their mintage of 40,000 coins the day they were issued, but today, only about 5,000 of most issues are sold, and those figures include proof and uncirculated versions.
Back in 2007, the coins cost about half what they do today, and the Mint was not producing the vast range of precious metal products it does now.
In addition, many collectors have expressed disappointment with a lot of the designs that have appeared on these coins, although some designs are popular with collectors such as the so-called Liberty subset issued for presidents who were bachelors while in office. Those coins use images of Liberty that appeared on coins which circulated during their terms.
This situation has resulted in a number of coins with incredibly low mintages – the lowest, in fact, of any coin issued in the past 100 years. And the series as a whole is the lowest mintage modern coin series of all time.
Opinion remains divided as to whether this will result in significant future premiums for coins in the series. Values have ebbed and flowed for the more popular and lowest mintage coins over the years, and a number of them continue to command a premium.
But even among those who neither collect the coins nor necessarily believe the series should have been minted in the first place there has always been a consensus that the coin for Jacqueline Kennedy would be a big seller, especially if the Mint's artists came up with a compelling design.
Last year, we learned that the coin's design, which has since been approved by the Secretary of the Treasury, is one that most people find to be very attractive. They feel it captures the beauty and grace of Mrs. Kennedy.
The coin's obverse profile was designed by Mint artist Susan Gamble and engraved by Phoebe Hemphill. The reverse depicts saucer magnolia, which Mrs. Kennedy had planted in the White House garden and near the eternal flame at her husband's grave in Arlington National Cemetery, and it was designed by Benjamin Sowards and engraved by Jim Licaretz. The petals of the flower are set against a backdrop of the globe -- its tips connecting the locations of some of her most notable diplomatic visits.
The Mint announced on October 16 last year that maximum authorized mintage levels for the 2015 spouse coins would be set at 10,000 each, but for the Jackie Kennedy coin it said it is prepared to mint as many as 30,000 coins provided the demand exists. The Mint typically produces coins in batches in response to sale levels.
When the Mint announced its plans to produce as many as 30,000 Jackie Kennedy coins, it noted that some people may want to pair the coin with the 2014 50th anniversary John F. Kennedy gold half dollar.
The Mint will begin accepting orders for both the proof and uncirculated versions of the coin on June 25, and their price will fluctuate weekly on the basis of a formula based on the average price of spot gold during the previous week and other factors.
The Mint is releasing several coin products in the weeks prior to the gold coin's release that include the 2015 presidential $1 coin for President John F. Kennedy. The legislation that created both series calls for the release of each spouse coin to coincide with the release of the corresponding presidential $1 coin, though in recent years the release of the spouse coins has been delayed several times.
And although it is expected to have a higher final mintage than any spouse coin has since 2007, the Jackie Kennedy coin may be a long-term winner.
Many modern coin collectors understandably place great emphasis on mintage levels when trying to gauge the long-term potential for appreciation of particular coins. But numismatists regularly remind us that demand is as important as supply.
Certain coins that depict popular and iconic images like the 2001 American Buffalo silver dollar sold out of a large mintage quickly, remain in high demand today, and continue to command a premium.
Mrs. Kennedy is a universally admired figure, which may result in demand for the coin outside of the coin collecting community. These factors should support strong sales of the coin, possibly resulting in a sell-out at the Mint, especially if gold prices remain at or below their current level of about $1200 per ounce.
Finally, some of the other spouse coins being issued in 2015 and 2016 for more recent first ladies that are familiar to a broader cross-section of the population may sell better than other issues. And the Jackie Kennedy coin could bring in new collectors to the series.
MCM will offer NGC and PCGS-graded examples of this coin in both Mint State 69 and 70 and Proof 69 and 70. You can sign-up now for pre-order notifications, and the coins are expected to begin shipping on June 30th.


text:
Q: MonoTouch: how to run app in Simulator 6.0 with SDK 4.4? On my machine I have installed:

*

*Xcode 4.5

*Xcode 4.4

*MonoTouch 6.x

*MonoTouch 5.2.13

For an older app, I build using Xcode 4.4 and MonoTouch 5.2.13. To do so, I change the paths in the SDK section of MonoDevelop's settings.
However, now I need to test run the app that was built with SDK 4.4 and MT 5.2.13 on the iOS Simulator 6.0. How can I tell MonoDevelop what path for the simulator to use?
The dropdown of the Simulator itself doesn't offer v6.0 because back than with SDK 4.4, there was no v6.0.

A: This is currently not supported in MonoTouch (nor in Xcode for that matter).
That said, you might be able to do the following:

*

*Build & run your app using the Xcode 4.4 SDK / iOS 5.1 Simulator. Copy the app directory from the simulator (one way to figure out where the app resides is to run it in the simulator using MonoDevelop, then execute ps aux | grep debugtrack from a terminal window - this should show the simulator process and the path to the binary).

*Build & run your app using Xcode 4.5 SDK. Figure out again where the app resides like above (since it's a different simulator the directory will change), and replace the contents of it with what you saved in the previous step.

*Now you might be able to run the app in the iOS 6 simulator (either with MonoDevelop or by tapping it). Note that since Xcode itself doesn't really allow you to do this, many things may break. The only supported way to test a build using an older SDK is to test it on a real device.


text:
Who Is Mila On 'Below Deck Mediterranean'? The New Chef Isn't Here To Play Games
Six years ago, it might have seemed impossible that a network could make an entire reality show out of the life of the crew of a luxury yacht. But six seasons later and Below Deck has even spawned a spin-off, Below Deck Mediterranean, which premieres its fourth season tonight on Bravo. The cast generally changes a bit each season, so as to be expected, there are a few newbies this season, including Mila Kolomeitseva. It already seems like she's going to make waves (no pun intended), so fans will probably be wondering who Mila is on Below Deck Mediterranean.
The new chef will make history as the show's first ever female chef, so no pressure or anything. All eyes would have already been on her as a new cast member, but now that she is the series' first female chef to take the reins on the yacht, it means there will be even more focus and higher expectations that she do a killer job. Case in point — Hannah isn't about to let Mila off the hook for any poorly constructed meal and judging by the Season 4 trailer, the two women are going to butt heads in a major way.
In the trailer, Hannah tells Mila that she's a bad cook and the two women have words in the kitchen. I'm guessing it won't be the last time the women get into it this season, but already, Mila doesn't seem like she's one to back down easily. That's probably a good thing since Hannah is a Below Deck Mediterranean OG and she, too, isn't about to concede to anyone, least of all a newcomer.
According to Mila's Bravo bio, she studied cooking at the Le Cordon Bleu cooking school in Paris. Since Season 4 primarily takes place in Paris, she was probably the perfect choice for a new yacht chef. This isn't her first rodeo as a boat chef either, as Mila has worked in a similar atmosphere before. Though it's safe to say that it was nowhere near as dramatic, given that it wasn't filmed for a reality show.
Mila's bio also says that she has a "short fuse in the galley," so don't be surprised if she is at the center of the drama more often than not this season. She is shown getting under more than one of her co-star's skin in the season trailer. At one point after or during a night out, Mila makes a remark about not wanting to see her son see two men kiss each other, and that seems to rub some of the others the wrong way. Maybe it was somehow taken out of context, but it looks like Mila will be a pot stirrer this season whether she means to be or not.
Mila definitely has a strong enough personality to stand up to her yacht co-workers and Below Deck co-stars. In one promo for the season, she tells someone that if they don't like her food, they can cook it themselves. "I want people to know that I have my opinions and I don't take sh*t," she tells the camera. I'm both nervous and excited to see how hard she and Hannah butt heads this season.
It's hard to say if Mila will be on the show for just one season, especially if Paris cuisine is her specialty and she was brought on simply because the yacht will travel around Paris this season. If she can make a few friends, however, and she doesn't end up in an all out war with the majority of her fellow yachties, then it's possible that Mila will be a permanent fixture on Below Deck Mediterranean.


text:
Costa Rica to Close its Zoos and Release Animals
4K Views 8 years ago
By One Green Planet
Lead Image Source : epSos.de/Flickr
Costa Rica has announced that it plans to close both of the country's public zoos in May 2014 so that animals can be released from captivity.
Rene Castro, the Environment Minister revealed that the 97-year-old Simon Bolivar zoo in central San Jose, as well as the Santa Ana Conservation Center would be shut down and the 400 animals would be released into the wild or sent to rescue centers.
"We are getting rid of the cages and reinforcing the idea of interacting with biodiversity in botanical parks in a natural way," Environment Minister René Castro told the Costa Rica Times. "We don't want animals in captivity or enclosed in any way unless it is to rescue or save them."
Costa Rica's move to shutter its zoos comes on the heels of other recent legislation aimed at protecting animals from a life in captivity. Earlier this year, India became the largest nation to ban the exploitation of dolphins, joining the ranks of Costa Rica, Hungary, and Chile.
Despite occupying just 0.03% of the planet's surface, Costa Rica's lush forests are home to an incredible 500 thousand unique organisms — representing over 4% of all the known species on Earth.
According to the Associated Press, Costa Rica banned circuses with animals in 2002 and has also barred sport hunting.
The U.S. has a loooong way to go!
Image Source: epSos.de/Flickr
How are animals that have been captive their whole lives going to adjust to living in the wild?