text:
Home Music The Jayhawks
Sound Of Lies, Smile, Rainy Day Music
Stumbling Through The Dark
By Dennis Pernu
In late 1994, Minneapolis' entry in the "godfathers of alt-country" sweepstakes appeared on the ropes. The Jayhawks learned that Mark Olson, who for 10 years had split songwriting duties with lead guitarist Gary Louris, was taking his leave. Suddenly, the harmonies that had been the band's hallmark, earning heavy comparisons to the Flying Burrito Brothers and others, were no more. The band found a way to reboot, however, and the American label has issued remastered and expanded editions of their three post-Olson studio albums.
With Louris and bassist Marc Perlman remaining as the lone original Jayhawks, Sound Of Lies (1997) had many fans losing the plot. For one thing, Louris had expanded his sonic toolbox, introducing particularly dissonant textures. He and Perlman also tapped guitarist Kraig Johnston of Minneapolis' criminally underrated Stoogeian/Stonesy Run Westy Run and reenlisted pianist Karen Grotberg, whose gorgeous harmonies and Ian McLaglan-like contributions had marked the band's 1995 masterstroke, Tomorrow The Green Grass. Perhaps most crucially, drummer Tim O'Reagan (ex-Joe Henry) joined after Tomorrow; as PD Larson writes in this reissue's extensive liner notes, "Incredibly, Louris had won the 'harmony lottery' for a second time."
Sound Of Lies ranges from the loud/quiet/loud "Think About It" to the slowly soaring "Trouble," the sardonic "Big Star," and the downer title track that closes the album. Often, Louris' lyrics struggle to mask contempt for their subjects and evoke what were by all accounts dark times for the songwriter, personally and professionally. The result has a bleary early-hours edge not unlike Neil Young's On The Beach.
If Sound befuddled fans, Smile (2000) was a further step away from the band's roots. The choice of producer, Bob Ezrin (Kiss, Alice Cooper, et al), fueled confusion, but if the result leans toward an FM-ready sheen, it also works as a logical extension of its predecessor, presenting monster hooks that Sound, for all its dark charm, perhaps aspired to but never quite achieved.
With Grotberg and Johnston gone, the band recruited ex-Long Ryder Stephen McCarthy for Rainy Day Music (2003), a much welcomed return to form. Highlights include "Tailspin" (with Bernie Leadon on banjo) and the Matthew Sweet cowrite, "Stumbling Through The Dark." O'Reagan offers a stellar contribution in "Tampa To Tulsa."
Still largely defined by their pioneering work in the "No Depression" subgenre, the Jayhawks have mined the possibilities beyond those narrow confines. While the uninitiated who are curious about the band's Americana output are advised to start with Hollywood Town Hall, this trio of reissues, with their insightful liners and mostly unreleased bonus tracks, are a treat for longtime fans.
This article originally appeared in VG's December '14 issue. All copyrights are by the author and Vintage Guitar magazine. Unauthorized replication or use is strictly prohibited.
Previous articleStan Martin
Next articleFender Offers Adam Clayton Jazz Bass
Dennis Pernu
Submission - Album Review
If your music is guitar-based, submit an album for potential review by simply filling out this form.
Band Name*
Band Website
Album Name*
Album Release Date*
Album Cover*
Maximum File Size: 2MB. Drag and drop doesn't add a photo, you must tap "Choose File" and navigate to where it's saved on your end. Best file types to use are jpg, gif, png, pdf.
Which of the following can our reviewers use to access your album? Use "Other" to provide a link for download. Not providing digital promo links slows consideration for review.
2000 Max Characters
Are you interested in learning more about advertising with Vintage Guitar magazine?*
Yes, I want to reach tens of thousands of music-loving readers!
Not at this time.
Jason & the Scorchers – Halcyon Times
Zac Harmon


text:
"""
Moran's I Spatial Autocorrelation Statistics

"""
__author__ = "Sergio J. Rey <srey@asu.edu>, \
        Dani Arribas-Bel <daniel.arribas.bel@gmail.com>"
from pysal.weights.spatial_lag import lag_spatial as slag
from pysal.esda.smoothing import assuncao_rate
import scipy.stats as stats
import numpy as np

__all__ = ["Moran", "Moran_Local", "Moran_BV", "Moran_BV_matrix",
           "Moran_Local_BV", "Moran_Rate", "Moran_Local_Rate"]

PERMUTATIONS = 999

class Moran:
    """Moran's I Global Autocorrelation Statistic

    Parameters
    ----------

    y               : array
                      variable measured across n spatial units
    w               : W
                      spatial weights instance
    transformation  : string
                      weights transformation,  default is row-standardized "r".
                      Other options include "B": binary,  "D":
                      doubly-standardized,  "U": untransformed
                      (general weights), "V": variance-stabilizing.
    permutations    : int
                      number of random permutations for calculation of
                      pseudo-p_values
    two_tailed      : boolean
                      If True (default) analytical p-values for Moran are two
                      tailed, otherwise if False, they are one-tailed.

    Attributes
    ----------
    y            : array
                   original variable
    w            : W
                   original w object
    permutations : int
                   number of permutations
    I            : float
                   value of Moran's I
    EI           : float
                   expected value under normality assumption
    VI_norm      : float
                   variance of I under normality assumption
    seI_norm     : float
                   standard deviation of I under normality assumption
    z_norm       : float
                   z-value of I under normality assumption
    p_norm       : float
                   p-value of I under normality assumption
    VI_rand      : float
                   variance of I under randomization assumption
    seI_rand     : float
                   standard deviation of I under randomization assumption
    z_rand       : float
                   z-value of I under randomization assumption
    p_rand       : float
                   p-value of I under randomization assumption
    two_tailed   : boolean
                   If True p_norm and p_rand are two-tailed, otherwise they
                   are one-tailed.
    sim          : array
                   (if permutations>0)
                   vector of I values for permuted samples
    p_sim        : array
                   (if permutations>0)
                   p-value based on permutations (one-tailed)
                   null: spatial randomness
                   alternative: the observed I is extreme if
                   it is either extremely greater or extremely lower
                   than the values obtained based on permutations
    EI_sim       : float
                   (if permutations>0)
                   average value of I from permutations
    VI_sim       : float
                   (if permutations>0)
                   variance of I from permutations
    seI_sim      : float
                   (if permutations>0)
                   standard deviation of I under permutations.
    z_sim        : float
                   (if permutations>0)
                   standardized I based on permutations
    p_z_sim      : float
                   (if permutations>0)
                   p-value based on standard normal approximation from
                   permutations

    Examples
    --------
    >>> import pysal
    >>> w = pysal.open(pysal.examples.get_path("stl.gal")).read()
    >>> f = pysal.open(pysal.examples.get_path("stl_hom.txt"))
    >>> y = np.array(f.by_col['HR8893'])
    >>> mi = Moran(y,  w)
    >>> "%7.5f" % mi.I
    '0.24366'
    >>> mi.EI
    -0.012987012987012988
    >>> mi.p_norm
    0.00027147862770937614

    SIDS example replicating OpenGeoda

    >>> w = pysal.open(pysal.examples.get_path("sids2.gal")).read()
    >>> f = pysal.open(pysal.examples.get_path("sids2.dbf"))
    >>> SIDR = np.array(f.by_col("SIDR74"))
    >>> mi = pysal.Moran(SIDR,  w)
    >>> "%6.4f" % mi.I
    '0.2477'
    >>> mi.p_norm
    0.0001158330781489969

    One-tailed

    >>> mi_1 = pysal.Moran(SIDR,  w, two_tailed=False)
    >>> "%6.4f" % mi_1.I
    '0.2477'
    >>> mi_1.p_norm
    5.7916539074498452e-05

    """
    def __init__(self, y, w, transformation="r", permutations=PERMUTATIONS,
                 two_tailed=True):
        self.y = y
        w.transform = transformation
        self.w = w
        self.permutations = permutations
        self.__moments()
        self.I = self.__calc(self.z)
        self.z_norm = (self.I - self.EI) / self.seI_norm
        self.z_rand = (self.I - self.EI) / self.seI_rand

        if self.z_norm > 0:
            self.p_norm = 1 - stats.norm.cdf(self.z_norm)
            self.p_rand = 1 - stats.norm.cdf(self.z_rand)
        else:
            self.p_norm = stats.norm.cdf(self.z_norm)
            self.p_rand = stats.norm.cdf(self.z_rand)

        if two_tailed:
            self.p_norm *= 2.
            self.p_rand *= 2.

        if permutations:
            sim = [self.__calc(np.random.permutation(self.z))
                   for i in xrange(permutations)]
            self.sim = sim = np.array(sim)
            above = sim >= self.I
            larger = above.sum()
            if (self.permutations - larger) < larger:
                larger = self.permutations - larger
            self.p_sim = (larger + 1.) / (permutations + 1.)
            self.EI_sim = sim.sum() / permutations
            self.seI_sim = np.array(sim).std()
            self.VI_sim = self.seI_sim ** 2
            self.z_sim = (self.I - self.EI_sim) / self.seI_sim
            if self.z_sim > 0:
                self.p_z_sim = 1 - stats.norm.cdf(self.z_sim)
            else:
                self.p_z_sim = stats.norm.cdf(self.z_sim)

    def __moments(self):
        self.n = len(self.y)
        y = self.y
        z = y - y.mean()
        self.z = z
        self.z2ss = (z * z).sum()
        self.EI = -1. / (self.n - 1)
        n = self.n
        s1 = self.w.s1
        s0 = self.w.s0
        s2 = self.w.s2
        s02 = s0 * s0
        v_num = n * n * s1 - n * s2 + 3 * s0 * s0
        v_den = (n - 1) * (n + 1) * s0 * s0
        self.VI_norm = v_num / v_den - (1.0 / (n - 1)) ** 2
        self.seI_norm = self.VI_norm ** (1 / 2.)

        k = (1 / ((z ** 4).sum()) * (((z ** 2).sum()) ** 2))
        vi = (1 / (((n - 1) ** 3) * s02)) * ((n * ((n * n - 3 * n + 3)
                                                   * s1 - n * s2 + 3 * s02))
                                             - (k * ((n * n - n) * s1 - 2 * n *
                                                     s2 + 6 * s02)))
        self.VI_rand = vi
        self.seI_rand = vi ** (1 / 2.)

    def __calc(self, z):
        zl = slag(self.w, z)
        inum = (z * zl).sum()
        return self.n / self.w.s0 * inum / self.z2ss

class Moran_BV:
    """
    Bivariate Moran's I

    Parameters
    ----------
    x : array
        x-axis variable
    y : array
        wy will be on y axis
    w : W
        weight instance assumed to be aligned with y
    transformation  : {'R', 'B', 'D', 'U', 'V'}
                      weights transformation, default is row-standardized "r".
                      Other options include
                      "B": binary,
                      "D": doubly-standardized,
                      "U": untransformed (general weights),
                      "V": variance-stabilizing.
    permutations    : int
                      number of random permutations for calculation of pseudo
                      p_values

    Attributes
    ----------
    zx            : array
                    original x variable standardized by mean and std
    zy            : array
                    original y variable standardized by mean and std
    w             : W
                    original w object
    permutation   : int
                    number of permutations
    I             : float
                    value of bivariate Moran's I
    sim           : array
                    (if permutations>0)
                    vector of I values for permuted samples
    p_sim         : float
                    (if permutations>0)
                    p-value based on permutations (one-sided)
                    null: spatial randomness
                    alternative: the observed I is extreme
                    it is either extremely high or extremely low
    EI_sim        : array
                    (if permutations>0)
                    average value of I from permutations
    VI_sim        : array
                    (if permutations>0)
                    variance of I from permutations
    seI_sim       : array
                    (if permutations>0)
                    standard deviation of I under permutations.
    z_sim         : array
                    (if permutations>0)
                    standardized I based on permutations
    p_z_sim       : float
                    (if permutations>0)
                    p-value based on standard normal approximation from
                    permutations

    Notes
    -----

    Inference is only based on permutations as analytical results are none too
    reliable.

    Examples
    --------
    >>> import pysal
    >>> import numpy as np

    Set random number generator seed so we can replicate the example

    >>> np.random.seed(10)

    Open the sudden infant death dbf file and read in rates for 74 and 79
    converting each to a numpy array

    >>> f = pysal.open(pysal.examples.get_path("sids2.dbf"))
    >>> SIDR74 = np.array(f.by_col['SIDR74'])
    >>> SIDR79 = np.array(f.by_col['SIDR79'])

    Read a GAL file and construct our spatial weights object

    >>> w = pysal.open(pysal.examples.get_path("sids2.gal")).read()

    Create an instance of Moran_BV

    >>> mbi = Moran_BV(SIDR79,  SIDR74,  w)

    What is the bivariate Moran's I value

    >>> print mbi.I
    0.156131961696

    Based on 999 permutations, what is the p-value of our statistic

    >>> mbi.p_z_sim
    0.0014186617421765302

    """
    def __init__(self, x, y, w, transformation="r", permutations=PERMUTATIONS):
        zy = (y - y.mean()) / y.std(ddof=1)
        zx = (x - x.mean()) / x.std(ddof=1)
        self.zx = zx
        self.zy = zy
        w.transform = transformation
        self.w = w
        self.I = self.__calc(zy)
        if permutations:
            nrp = np.random.permutation
            sim = [self.__calc(nrp(zy)) for i in xrange(permutations)]
            self.sim = sim = np.array(sim)
            above = sim >= self.I
            larger = above.sum()
            if (permutations - larger) < larger:
                larger = permutations - larger
            self.p_sim = (larger + 1.) / (permutations + 1.)
            self.EI_sim = sim.sum() / permutations
            self.seI_sim = np.array(sim).std()
            self.VI_sim = self.seI_sim ** 2
            self.z_sim = (self.I - self.EI_sim) / self.seI_sim
            if self.z_sim > 0:
                self.p_z_sim = 1 - stats.norm.cdf(self.z_sim)
            else:
                self.p_z_sim = stats.norm.cdf(self.z_sim)

    def __calc(self, zy):
        wzy = slag(self.w, zy)
        self.num = (self.zx * wzy).sum()
        self.den = (zy * zy).sum()
        return self.num / self.den

def Moran_BV_matrix(variables, w, permutations=0, varnames=None):
    """Bivariate Moran Matrix

    Calculates bivariate Moran between all pairs of a set of variables.

    Parameters
    ----------
    variables    : list
                   sequence of variables
    w            : W
                   a spatial weights object
    permutations : int
                   number of permutations
    varnames     : list
                   strings for variable names. If specified runtime summary is
                   printed

    Returns
    -------
    results      : dictionary
                   (i,  j) is the key for the pair of variables, values are
                   the Moran_BV objects.

    Examples
    --------
    >>> import pysal

    open dbf

    >>> f = pysal.open(pysal.examples.get_path("sids2.dbf"))

    pull of selected variables from dbf and create numpy arrays for each

    >>> varnames = ['SIDR74',  'SIDR79',  'NWR74',  'NWR79']
    >>> vars = [np.array(f.by_col[var]) for var in varnames]

    create a contiguity matrix from an external gal file

    >>> w = pysal.open(pysal.examples.get_path("sids2.gal")).read()

    create an instance of Moran_BV_matrix

    >>> res = Moran_BV_matrix(vars,  w,  varnames = varnames)

    check values

    >>> print round(res[(0,  1)].I,7)
    0.1936261
    >>> print round(res[(3,  0)].I,7)
    0.3770138

    """

    k = len(variables)
    rk = range(0, k - 1)
    results = {}
    for i in rk:
        for j in range(i + 1, k):
            y1 = variables[i]
            y2 = variables[j]
            results[i, j] = Moran_BV(y1, y2, w, permutations=permutations)
            results[j, i] = Moran_BV(y2, y1, w, permutations=permutations)
    return results

class Moran_Rate(Moran):
    """
    Adjusted Moran's I Global Autocorrelation Statistic for Rate
    Variables [Assuncao1999]_

    Parameters
    ----------

    e               : array
                      an event variable measured across n spatial units
    b               : array
                      a population-at-risk variable measured across n spatial
                      units
    w               : W
                      spatial weights instance
    adjusted        : boolean
                      whether or not Moran's I needs to be adjusted for rate
                      variable
    transformation  : {'R', 'B', 'D', 'U', 'V'}
                      weights transformation, default is row-standardized "r".
                      Other options include
                      "B": binary,
                      "D": doubly-standardized,
                      "U": untransformed (general weights),
                      "V": variance-stabilizing.
    two_tailed      : boolean
                      If True (default), analytical p-values for Moran's I are
                      two-tailed, otherwise they are one tailed.
    permutations    : int
                      number of random permutations for calculation of pseudo
                      p_values

    Attributes
    ----------
    y            : array
                   rate variable computed from parameters e and b
                   if adjusted is True, y is standardized rates
                   otherwise, y is raw rates
    w            : W
                   original w object
    permutations : int
                   number of permutations
    I            : float
                   value of Moran's I
    EI           : float
                   expected value under normality assumption
    VI_norm      : float
                   variance of I under normality assumption
    seI_norm     : float
                   standard deviation of I under normality assumption
    z_norm       : float
                   z-value of I under normality assumption
    p_norm       : float
                   p-value of I under normality assumption
    VI_rand      : float
                   variance of I under randomization assumption
    seI_rand     : float
                   standard deviation of I under randomization assumption
    z_rand       : float
                   z-value of I under randomization assumption
    p_rand       : float
                   p-value of I under randomization assumption
    two_tailed   : boolean
                   If True, p_norm and p_rand are two-tailed p-values,
                   otherwise they are one-tailed.
    sim          : array
                   (if permutations>0)
                   vector of I values for permuted samples
    p_sim        : array
                   (if permutations>0)
                   p-value based on permutations (one-sided)
                   null: spatial randomness
                   alternative: the observed I is extreme if it is
                   either extremely greater or extremely lower than the values
                   obtained from permutaitons
    EI_sim       : float
                   (if permutations>0)
                   average value of I from permutations
    VI_sim       : float
                   (if permutations>0)
                   variance of I from permutations
    seI_sim      : float
                   (if permutations>0)
                   standard deviation of I under permutations.
    z_sim        : float
                   (if permutations>0)
                   standardized I based on permutations
    p_z_sim      : float
                   (if permutations>0)
                   p-value based on standard normal approximation from

    Examples
    --------
    >>> import pysal
    >>> w = pysal.open(pysal.examples.get_path("sids2.gal")).read()
    >>> f = pysal.open(pysal.examples.get_path("sids2.dbf"))
    >>> e = np.array(f.by_col('SID79'))
    >>> b = np.array(f.by_col('BIR79'))
    >>> mi = pysal.esda.moran.Moran_Rate(e, b,  w, two_tailed=False)
    >>> "%6.4f" % mi.I
    '0.1662'
    >>> "%6.4f" % mi.p_norm
    '0.0042'
    """

    def __init__(self, e, b, w, adjusted=True, transformation="r",
                 permutations=PERMUTATIONS, two_tailed=True):
        if adjusted:
            y = assuncao_rate(e, b)
        else:
            y = e * 1.0 / b
        Moran.__init__(self, y, w, transformation=transformation,
                       permutations=permutations, two_tailed=two_tailed)

class Moran_Local:
    """Local Moran Statistics

    Parameters
    ----------
    y : array
        (n,1), attribute array
    w : W
        weight instance assumed to be aligned with y
    transformation : {'R', 'B', 'D', 'U', 'V'}
                     weights transformation,  default is row-standardized "r".
                     Other options include
                     "B": binary,
                     "D": doubly-standardized,
                     "U": untransformed (general weights),
                     "V": variance-stabilizing.
    permutations   : int
                     number of random permutations for calculation of pseudo
                     p_values
    geoda_quads    : boolean
                     (default=False)
                     If True use GeoDa scheme: HH=1, LL=2, LH=3, HL=4
                     If False use PySAL Scheme: HH=1, LH=2, LL=3, HL=4

    Attributes
    ----------

    y            : array
                   original variable
    w            : W
                   original w object
    permutations : int
                   number of random permutations for calculation of pseudo
                   p_values
    Is           : float
                   value of Moran's I
    q            : array
                   (if permutations>0)
                   values indicate quadrat location 1 HH,  2 LH,  3 LL,  4 HL
    sim          : array
                   (if permutations>0)
                   vector of I values for permuted samples
    p_sim        : array
                   (if permutations>0)
                   p-value based on permutations (one-sided)
                   null: spatial randomness
                   alternative: the observed Ii is further away or extreme
                   from the median of simulated values. It is either extremelyi
                   high or extremely low in the distribution of simulated Is.
    EI_sim       : float
                   (if permutations>0)
                   average value of I from permutations
    VI_sim       : float
                   (if permutations>0)
                   variance of I from permutations
    seI_sim      : float
                   (if permutations>0)
                   standard deviation of I under permutations.
    z_sim        : float
                   (if permutations>0)
                   standardized I based on permutations
    p_z_sim      : float
                   (if permutations>0)
                   p-value based on standard normal approximation from
                   permutations (one-sided)
                   for two-sided tests, these values should be multiplied by 2

    Examples
    --------
    >>> import pysal as ps
    >>> import numpy as np
    >>> np.random.seed(10)
    >>> w = ps.open(ps.examples.get_path("desmith.gal")).read()
    >>> f = ps.open(ps.examples.get_path("desmith.txt"))
    >>> y = np.array(f.by_col['z'])
    >>> lm = ps.Moran_Local(y, w, transformation = "r", permutations = 99)
    >>> lm.q
    array([4, 4, 4, 2, 3, 3, 1, 4, 3, 3])
    >>> lm.p_z_sim[0]
    0.46756830387716064
    >>> lm = ps.Moran_Local(y, w, transformation = "r", permutations = 99, \
                            geoda_quads=True)
    >>> lm.q
    array([4, 4, 4, 3, 2, 2, 1, 4, 2, 2])

    Note random components result is slightly different values across
    architectures so the results have been removed from doctests and will be
    moved into unittests that are conditional on architectures
    """
    def __init__(self, y, w, transformation="r", permutations=PERMUTATIONS,
                 geoda_quads=False):
        self.y = y
        n = len(y)
        self.n = n
        self.n_1 = n - 1
        z = y - y.mean()
        # setting for floating point noise
        orig_settings = np.seterr()
        np.seterr(all="ignore")
        sy = y.std()
        z /= sy
        np.seterr(**orig_settings)
        self.z = z
        w.transform = transformation
        self.w = w
        self.permutations = permutations
        self.den = (z * z).sum()
        self.Is = self.calc(self.w, self.z)
        self.geoda_quads = geoda_quads
        quads = [1, 2, 3, 4]
        if geoda_quads:
            quads = [1, 3, 2, 4]
        self.quads = quads
        self.__quads()
        if permutations:
            self.__crand()
            sim = np.transpose(self.rlisas)
            above = sim >= self.Is
            larger = above.sum(0)
            low_extreme = (self.permutations - larger) < larger
            larger[low_extreme] = self.permutations - larger[low_extreme]
            self.p_sim = (larger + 1.0) / (permutations + 1.0)
            self.sim = sim
            self.EI_sim = sim.mean()
            self.seI_sim = sim.std()
            self.VI_sim = self.seI_sim * self.seI_sim
            self.z_sim = (self.Is - self.EI_sim) / self.seI_sim
            self.p_z_sim = 1 - stats.norm.cdf(np.abs(self.z_sim))

    def calc(self, w, z):
        zl = slag(w, z)
        return self.n_1 * self.z * zl / self.den

    def __crand(self):
        """
        conditional randomization

        for observation i with ni neighbors,  the candidate set cannot include
        i (we don't want i being a neighbor of i). we have to sample without
        replacement from a set of ids that doesn't include i. numpy doesn't
        directly support sampling wo replacement and it is expensive to
        implement this. instead we omit i from the original ids,  permute the
        ids and take the first ni elements of the permuted ids as the
        neighbors to i in each randomization.

        """
        z = self.z
        lisas = np.zeros((self.n, self.permutations))
        n_1 = self.n - 1
        prange = range(self.permutations)
        k = self.w.max_neighbors + 1
        nn = self.n - 1
        rids = np.array([np.random.permutation(nn)[0:k] for i in prange])
        ids = np.arange(self.w.n)
        ido = self.w.id_order
        w = [self.w.weights[ido[i]] for i in ids]
        wc = [self.w.cardinalities[ido[i]] for i in ids]

        for i in xrange(self.w.n):
            idsi = ids[ids != i]
            np.random.shuffle(idsi)
            tmp = z[idsi[rids[:, 0:wc[i]]]]
            lisas[i] = z[i] * (w[i] * tmp).sum(1)
        self.rlisas = (n_1 / self.den) * lisas

    def __quads(self):
        zl = slag(self.w, self.z)
        zp = self.z > 0
        lp = zl > 0
        pp = zp * lp
        np = (1 - zp) * lp
        nn = (1 - zp) * (1 - lp)
        pn = zp * (1 - lp)
        self.q = self.quads[0] * pp + self.quads[1] * np + self.quads[2] * nn \
            + self.quads[3] * pn

class Moran_Local_BV:
    """Bivariate Local Moran Statistics

    Parameters
    ----------
    x : array
        x-axis variable
    y : array
        (n,1), wy will be on y axis
    w : W
        weight instance assumed to be aligned with y
    transformation : {'R', 'B', 'D', 'U', 'V'}
                     weights transformation,  default is row-standardized "r".
                     Other options include
                     "B": binary,
                     "D": doubly-standardized,
                     "U": untransformed (general weights),
                     "V": variance-stabilizing.
    permutations   : int
                     number of random permutations for calculation of pseudo
                     p_values
    geoda_quads    : boolean
                     (default=False)
                     If True use GeoDa scheme: HH=1, LL=2, LH=3, HL=4
                     If False use PySAL Scheme: HH=1, LH=2, LL=3, HL=4

    Attributes
    ----------

    zx           : array
                   original x variable standardized by mean and std
    zy           : array
                   original y variable standardized by mean and std
    w            : W
                   original w object
    permutations : int
                   number of random permutations for calculation of pseudo
                   p_values
    Is           : float
                   value of Moran's I
    q            : array
                   (if permutations>0)
                   values indicate quadrat location 1 HH,  2 LH,  3 LL,  4 HL
    sim          : array
                   (if permutations>0)
                   vector of I values for permuted samples
    p_sim        : array
                   (if permutations>0)
                   p-value based on permutations (one-sided)
                   null: spatial randomness
                   alternative: the observed Ii is further away or extreme
                   from the median of simulated values. It is either extremelyi
                   high or extremely low in the distribution of simulated Is.
    EI_sim       : float
                   (if permutations>0)
                   average value of I from permutations
    VI_sim       : float
                   (if permutations>0)
                   variance of I from permutations
    seI_sim      : float
                   (if permutations>0)
                   standard deviation of I under permutations.
    z_sim        : float
                   (if permutations>0)
                   standardized I based on permutations
    p_z_sim      : float
                   (if permutations>0)
                   p-value based on standard normal approximation from
                   permutations (one-sided)
                   for two-sided tests, these values should be multiplied by 2

    Examples
    --------
    >>> import pysal as ps
    >>> import numpy as np
    >>> np.random.seed(10)
    >>> w = ps.open(ps.examples.get_path("sids2.gal")).read()
    >>> f = ps.open(ps.examples.get_path("sids2.dbf"))
    >>> x = np.array(f.by_col['SIDR79'])
    >>> y = np.array(f.by_col['SIDR74'])
    >>> lm = ps.Moran_Local_BV(x, y, w, transformation = "r", \
                               permutations = 99)
    >>> lm.q[:10]
    array([3, 4, 3, 4, 2, 1, 4, 4, 2, 4])
    >>> lm.p_z_sim[0]
    0.0017240031348827456
    >>> lm = ps.Moran_Local_BV(x, y, w, transformation = "r", \
                               permutations = 99, geoda_quads=True)
    >>> lm.q[:10]
    array([2, 4, 2, 4, 3, 1, 4, 4, 3, 4])

    Note random components result is slightly different values across
    architectures so the results have been removed from doctests and will be
    moved into unittests that are conditional on architectures
    """
    def __init__(self, x, y, w, transformation="r", permutations=PERMUTATIONS,
                 geoda_quads=False):
        self.y = y
        n = len(y)
        self.n = n
        self.n_1 = n - 1
        zx = x - x.mean()
        zy = y - y.mean()
        # setting for floating point noise
        orig_settings = np.seterr()
        np.seterr(all="ignore")
        sx = x.std()
        zx /= sx
        sy = y.std()
        zy /= sy
        np.seterr(**orig_settings)
        self.zx = zx
        self.zy = zy
        w.transform = transformation
        self.w = w
        self.permutations = permutations
        self.den = (zx * zx).sum()
        self.Is = self.calc(self.w, self.zx, self.zy)
        self.geoda_quads = geoda_quads
        quads = [1, 2, 3, 4]
        if geoda_quads:
            quads = [1, 3, 2, 4]
        self.quads = quads
        self.__quads()
        if permutations:
            self.__crand()
            sim = np.transpose(self.rlisas)
            above = sim >= self.Is
            larger = above.sum(0)
            low_extreme = (self.permutations - larger) < larger
            larger[low_extreme] = self.permutations - larger[low_extreme]
            self.p_sim = (larger + 1.0) / (permutations + 1.0)
            self.sim = sim
            self.EI_sim = sim.mean()
            self.seI_sim = sim.std()
            self.VI_sim = self.seI_sim * self.seI_sim
            self.z_sim = (self.Is - self.EI_sim) / self.seI_sim
            self.p_z_sim = 1 - stats.norm.cdf(np.abs(self.z_sim))

    def calc(self, w, zx, zy):
        zly = slag(w, zy)
        return self.n_1 * self.zx * zly / self.den

    def __crand(self):
        """
        conditional randomization

        for observation i with ni neighbors,  the candidate set cannot include
        i (we don't want i being a neighbor of i). we have to sample without
        replacement from a set of ids that doesn't include i. numpy doesn't
        directly support sampling wo replacement and it is expensive to
        implement this. instead we omit i from the original ids,  permute the
        ids and take the first ni elements of the permuted ids as the
        neighbors to i in each randomization.

        """
        lisas = np.zeros((self.n, self.permutations))
        n_1 = self.n - 1
        prange = range(self.permutations)
        k = self.w.max_neighbors + 1
        nn = self.n - 1
        rids = np.array([np.random.permutation(nn)[0:k] for i in prange])
        ids = np.arange(self.w.n)
        ido = self.w.id_order
        w = [self.w.weights[ido[i]] for i in ids]
        wc = [self.w.cardinalities[ido[i]] for i in ids]

        zx = self.zx
        zy = self.zy
        for i in xrange(self.w.n):
            idsi = ids[ids != i]
            np.random.shuffle(idsi)
            tmp = zy[idsi[rids[:, 0:wc[i]]]]
            lisas[i] = zx[i] * (w[i] * tmp).sum(1)
        self.rlisas = (n_1 / self.den) * lisas

    def __quads(self):
        zl = slag(self.w, self.zy)
        zp = self.zx > 0
        lp = zl > 0
        pp = zp * lp
        np = (1 - zp) * lp
        nn = (1 - zp) * (1 - lp)
        pn = zp * (1 - lp)
        self.q = self.quads[0] * pp + self.quads[1] * np + self.quads[2] * nn \
            + self.quads[3] * pn

class Moran_Local_Rate(Moran_Local):
    """
    Adjusted Local Moran Statistics for Rate Variables [Assuncao1999]_

    Parameters
    ----------
    e : array
        (n,1), an event variable across n spatial units
    b : array
        (n,1), a population-at-risk variable across n spatial units
    w : W
        weight instance assumed to be aligned with y
    adjusted : boolean
              whether or not local Moran statistics need to be adjusted for
              rate variable
    transformation : {'R', 'B', 'D', 'U', 'V'}
                     weights transformation,  default is row-standardized "r".
                     Other options include
                     "B": binary,
                     "D": doubly-standardized,
                     "U": untransformed (general weights),
                     "V": variance-stabilizing.
    permutations   : int
                     number of random permutations for calculation of pseudo
                     p_values
    geoda_quads    : boolean
                     (default=False)
                     If True use GeoDa scheme: HH=1, LL=2, LH=3, HL=4
                     If False use PySAL Scheme: HH=1, LH=2, LL=3, HL=4
    Attributes
    ----------
    y            : array
                   rate variables computed from parameters e and b
                   if adjusted is True, y is standardized rates
                   otherwise, y is raw rates
    w            : W
                   original w object
    permutations : int
                   number of random permutations for calculation of pseudo
                   p_values
    I            : float
                   value of Moran's I
    q            : array
                   (if permutations>0)
                   values indicate quadrat location 1 HH,  2 LH,  3 LL,  4 HL
    sim          : array
                   (if permutations>0)
                   vector of I values for permuted samples
    p_sim        : array
                   (if permutations>0)
                   p-value based on permutations (one-sided)
                   null: spatial randomness
                   alternative: the observed Ii is further away or extreme
                   from the median of simulated Iis. It is either extremely
                   high or extremely low in the distribution of simulated Is
    EI_sim       : float
                   (if permutations>0)
                   average value of I from permutations
    VI_sim       : float
                   (if permutations>0)
                   variance of I from permutations
    seI_sim      : float
                   (if permutations>0)
                   standard deviation of I under permutations.
    z_sim        : float
                   (if permutations>0)
                   standardized I based on permutations
    p_z_sim      : float
                   (if permutations>0)
                   p-value based on standard normal approximation from
                   permutations (one-sided)
                   for two-sided tests, these values should be multiplied by 2

    Examples
    --------
    >>> import pysal as ps
    >>> import numpy as np
    >>> np.random.seed(10)
    >>> w = ps.open(ps.examples.get_path("sids2.gal")).read()
    >>> f = ps.open(ps.examples.get_path("sids2.dbf"))
    >>> e = np.array(f.by_col('SID79'))
    >>> b = np.array(f.by_col('BIR79'))
    >>> lm = ps.esda.moran.Moran_Local_Rate(e, b, w, \
                                               transformation = "r", \
                                               permutations = 99)
    >>> lm.q[:10]
    array([2, 4, 3, 1, 2, 1, 1, 4, 2, 4])
    >>> lm.p_z_sim[0]
    0.39319552026912641
    >>> lm = ps.esda.moran.Moran_Local_Rate(e, b, w, \
                                               transformation = "r", \
                                               permutations = 99, \
                                               geoda_quads=True)
    >>> lm.q[:10]
    array([3, 4, 2, 1, 3, 1, 1, 4, 3, 4])

    Note random components result is slightly different values across
    architectures so the results have been removed from doctests and will be
    moved into unittests that are conditional on architectures
    """

    def __init__(self, e, b, w, adjusted=True, transformation="r",
                 permutations=PERMUTATIONS, geoda_quads=False):
        if adjusted:
            y = assuncao_rate(e, b)
        else:
            y = e * 1.0 / b
        Moran_Local.__init__(self, y, w,
                             transformation=transformation,
                             permutations=permutations,
                             geoda_quads=geoda_quads)

redpajama_set_name: RedPajamaGithub


text:
George Everett
The 2018 Montana Folk Festival Brings 'Music Of The People' To Butte
By Michael Marsolek • Jun 18, 2018
Josh Burnham
Montana Public Radio will broadcast live from the 2018 Montana Folk Festival in Butte, MT, July 13-15. Festival Director George Everett stopped by to give a preview of the upcoming music festival.
Despite the name "Folk Festival," the music isn't "a songwriter with a guitar," Everett says. "What that means is music of the people. Traditional music that goes back generations. Bluegrass, blues, cajun, zydeco; the genres stay the same, but we try to have the performers be different to represent those genres every year."
Folk Festival A Big Economic Boost For Butte
By Rachel Cramer • Jul 7, 2017
The Montana Folk Festival in Butte kicks off tonight. This year is its 10th anniversary, and it's a significant boost to the Copper city's economy.
Earlier today, staff at the Uptown Cafe were busy preparing for the expected dinner rush. Mary McAlexander, the manager said, "Business for us quadruples on this weekend from what it would normally be, so we love it."
Summer In Butte: Fireworks, Feast & Folk Festival
Summer In Butte: Fireworks, Feast & Folk Festival (Broadcast 06/11/17)
There's a lot going on in Butte this summer, from the Big Bang fireworks extravaganza to the Montana Folk Festival, and even a Folk Feast, which is part fundraiser and part art event. George Everett, executive director of Main Street Uptown Butte joins MTPR's Michael Marsolek to give you a preview of the summer fun coming up in Butte.
2014 Montana Folk Festival, July 11-13, Uptown Butte
By Beth Anne Austein • Jul 6, 2014
Joshua Pate-Terry, Montana Folk Festival
7/6/14: This week on Front Row Center: Michael Marsolek talks with George Everett, Executive Director of Mainstreet Uptown Butte, the presenting organization of the 2014 Montana Folk Festival, which takes place in Uptown Butte, Friday, July 11th - Sunday, July 13th. As always, admission is free to all events during the three days of the festival.
Butte's ready for the party
By Edward O'Brien • Jul 11, 2013
Montana Folk Festival
Organizers are hoping for another huge turnout to the Montana Folk Festival which kicks off tomorrow.

redpajama_set_name: RedPajamaCommonCrawl


text:
BC Budget Thaws Nine-year Freeze on Disability Assistance Payments
Critics call change a 'drop in the bucket'; minister agrees.
By Andrew MacLeod 16 Feb 2016 | TheTyee.ca
Andrew MacLeod is The Tyee's Legislative Bureau Chief in Victoria and the author of A Better Place on Earth: The Search for Fairness in Super Unequal British Columbia (Harbour Publishing, 2015). Find him on Twitter or reach him here.
BC growth leads Canada, though finance minister 'wouldn't use the word spectacular.' Photo: BC Gov Flickr.
British Columbia Finance Minister Michael de Jong presented a surplus budget that he said allows the government to ease conditions for some of the province's most vulnerable people, but he agreed with observers who said the help is minor.
When Do the Needy Get to Enjoy 'Bright Spot' BC?
"I don't think this makes life easier for people, but hopefully it makes it a little less hard," he said of a change that will give 100,000 people receiving disability assistance a maximum increase of $77 a month starting Sept. 1.
The rate for an individual has been frozen at $906 a month since 2007. The increase will be partially cancelled out for about 55,000 people as the government stops paying for $55 a month transit passes and $66 a month transportation subsidies.
De Jong also announced measures to help first-time homebuyers, adjust Medical Service Premium rates for many, and start the long-promised Prosperity Fund.
B.C. has flexibility thanks to a relatively strong economy and past prudence, he said. With economic growth projected at 2.4 per cent, B.C. leads Canada and is stronger than other parts of North America, though de Jong cautioned, "I wouldn't use the word 'spectacular.'"
The budget for 2016-2017 includes a surplus of $264 million. That continues the trend from the current fiscal year, where the surplus has grown to $377 million according to updated numbers presented with the budget.
The government is yet to draw down a $250 million forecast allowance, suggesting the surplus is likely to grow further by the time the public accounts are released in July.
Debt for infrastructure projects continues to grow, and total debt is projected to hit $45 billion by 2019, but de Jong stressed that the debt from direct operations has shrunk to the lowest it's been in decades. "To the extent that we borrow, we borrow in reduced amounts and we borrow to build," he said.
Increases 'a drop in the bucket': CCPA's Ivanova
The province is using some of its financial flexibility to address pressures on the ministries that provide disability assistance and child protection services, de Jong said. The budget includes money to hire more social workers and to cover increased demand on the welfare system.
Many people are moving to B.C. from Alberta, which has been hit hard by the large drop in the price of oil, de Jong said. "Some of those folks are moving because they are in difficulty."
De Jong acknowledged it has been a long time since there was an increase to disability payments. Everyone on disability assistance will get a $77 a month increase, he said. The budget includes no increase for anyone on regular income assistance.
The province will no longer provide $52 bus passes, but people can decide if that's what they want to spend their money on, he said. He added that the ministry believed some people have been receiving the passes but selling them at a discount for money.
The increased disability payment does little to make up for the increases in the cost of living since the last raise in 2007, said Iglika Ivanova, an economist with the B.C. office of the Canadian Centre for Policy Alternatives. Rents have gone up 12 per cent and food 23 per cent since then, she said.
"We need to have increases that actually reflect the cost of living in our province," she said. "Leading the country shouldn't just be in GDP growth, it should be about how we treat the most vulnerable among us."
The budget included some help for homebuyers and for childcare, but not much, Ivanova said. "They're all a drop in the bucket in terms of what we can do for the most vulnerable." Instead of making debt reduction the priority, the government should focus on addressing child poverty, she said.
"A lot of the budget was underwhelming," said Michael Prince, a University of Victoria human and social development professor.
Rather than present a vision, it tries to address topics like housing, child protection and disability assistance that have been sore spots for the government in recent years, he said. "To me, this is a budget that looked backwards."
Paul Kershaw, a professor in the school of population and public health at the University of B.C., said that it now takes 16 years for an average British Columbian to save the 20 per cent down payment they need for an average house. "Today's budget needed to do more," he said.
MSP changes fall 'far short': health advocates
It will take close monitoring to make sure the government hires the number of social workers that it has been promising, said Mary Ellen Turpel-Lafond, the province's representative for children and youth. "I don't have confidence in their numbers."
In 2014 the government announced it would hire 200 additional social workers to work in child protection, but has since only added 86. "They're in a hole, and the hole hasn't been filled," she said.
Turpel-Lafond said she has warned of a crisis for years and that it is being reflected in vulnerable children living in hotels and tent cities in the province. "It was far too easy to sacrifice child safety for the bottom line of the budget," she said.
The budget included changes that would see MSP premiums decrease for 335,000 individuals and bring the number who don't pay for MSP at all to two million.
However, anyone making $42,000 a year will pay the maximum for MSP and the rate will increase by four per cent.
"[These are] some very small improvements for some families in British Columbia," said Edith MacHattie, a co-chair of the B.C. Health Coalition. "It falls far short of what we and British Columbians were advocating for."
B.C. is the only province to charge a premium specifically for healthcare, and the coalition had been pushing to have MSP rolled into the income tax system so that it would be more in line with families' ability to pay, she said.
The president of the B.C. Nurses' Union, Gayle Duteil, said it's good that lower income people will pay less for MSP, but overall the government will be collecting more from the health tax and that the $42,000 threshold is low. "With two children, that's not a very significant income."
Prosperity fund launches, without LNG
The government is earmarking $100 million from the 2015-2016 surplus to start the prosperity fund that Premier Christy Clark has promised over the last three years in connection to establishing a liquefied natural gas export industry.
Budget documents said that at least 50 per cent of the fund will be used to pay down debt in the future. It will also be used to invest in health care, education, transportation, family supports, and other priorities, the documents said.
There's no revenue from LNG yet, but the timing "makes sense" to start the fund since the B.C. economy is leading the country in economic growth and running surplus budgets, de Jong said.
With the government under pressure to address soaring real estate prices in Vancouver, de Jong said the province will begin collecting data on the citizenship of people buying property.
There were adjustments to the property transfer tax that de Jong said he hoped would encourage an increase in the supply in housing. Newly constructed housing worth up to $750,000 will now be exempt from the property transfer tax for first-time buyers. The government is also increasing the tax by one per cent on the value of properties over $2 million.
The budget speech also mentioned the province is planning to appoint a commission on tax competitiveness, establish a tax credit for farmers who donate food to charity, and reduce the tax credits provided to the booming film industry.
Priorities 'completely detached': NDP's Horgan
The budget is full of small measures that sound good but will do little to help, said NDP leader John Horgan. "Christy Clark demonstrated that this budget is not about hard-working families in British Columbia; it's all about her priorities that are completely detached from the priorities of regular British Columbians."
The government is making cosmetic changes on housing affordability and investing more in capital projects for the liquor distribution branch than it is in social housing, he said. "That's not an investment and an infusion in housing for British Columbians. That's a shell game."
The increase to disability payments, which will partly be clawed back through the changes to transportation funding, is also a shell game, he said. "It comes nowhere near addressing nine years of zero increases for people with disabilities and people on income assistance. It's a step, but it's a very, very modest step."
Green Party leader Andrew Weaver, who has been pushing the government to eliminate MSP premiums, said that even with the changes the payments are a regressive tax. "The problem here is it's not dealing with the fundamental issue."
Weaver, who voted for the government's budgets in the two years following the 2013 election, said the government has lost direction. "I will not be supporting this budget," he said.
Read more: Health, BC Politics
Show me the comments!


text:
UK based NGO donates books to School of Economics
24 Jan, 2023 By DIS
REACT Humanitarian Network, a UK-based Non-Governmental Organisation (NGO), has presented several titles of economics-based books to the School of Economics.
Presenting the books at the School of Economics Conference Room, the Chief Executive Officer (CEO) of REACT Humanitarian Network, Mr. Prince Osei Akowuah, said he donated the books to the School so students would read to broaden their horizon.
He further indicated that the books were to complement lecturers' efforts in nurturing students of the School.
He noted that his organisation believed in investing in the minds of students for the future of the country in particular and the continent at large.
Mr. Akowuah stated that he was proud of the feats chalked up by the University of Cape Coast (UCC) in the 2023 Times Higher Education rankings and cautioned UCC not to rest on its laurels.
" We are proud to be associated with your success. It is good to know that you are the best and you will continue to be the best... We like to associate ourselves with the best," he continued, referring to UCC
The CEO urged authorities of the School and students to make judicious use of the books to enhance teaching and learning.
The Provost of the College of Humanities and Legal Studies, Prof. Kwame Osei Kwarteng, who received the books on behalf of the School thanked REACT Humanitarian Network for the gesture and tasked students of the School of Economics to put the books to good use.
He encouraged the students to make reading a habit and take their studies seriously in order to achieve their goals in life.
On his part, the Dean of the School of Economics, Prof. James Attah Preprah, commended the NGO for continuously investing in education and expressed gratitude to Ms. Ernestina Larbie, a Lecturer at the Department of Business and Social Sciences Education-UCC for facilitating the donation.
Prof. Ing.Samuel Kofi Tulashie
Mr. Jude Edem Kweku Govinah Wins UN Youth Conference Award
Prof. Kwame Agyei Frimpong
No Upcoming Event
School of Nursing and Midwifery holds send-off dinner for Nursing students of Salisbury University
DRIC Trains Academic Senior Members on TURNITIN Software
20th Parliament resumes sitting for 2022/23 Academic Year
Prof. Ameke donates books to Dept. of Ghanaian Languages and Linguistics
How did you first hear about us?


On March 21, 2019. I held a Facebook Live event for the opening of my new exhibit Winter Wax. For those that missed it, you can download the last 15 minutes of it here.
As you will see in the video, I create a crayon abstract drawing on the spot. I actually created two of them which you can see here in their completed form.


text:
Irish Racing Tips
Sunday Irish Racing Tips: Fahey has a strong hand in big handicap at Naas
Flat racing returns in Ireland on Sunday at Naas
The Flat season starts in Ireland on Sunday, and Alan Dudman previews the major races on the Naas card. He also has one bet for the Ulster National at Downpatrick....
"The mud flying around seems to suit him best, so it was no surprise he was backed on the Sportsbook last night from 12/1 to 15/2. There's more to come from him with his current mark of 86."
Back Crownthorpe @ [11.50] in the 16:10 at Naas
For those waiting to see the dark blue racing silks of Ballydoyle, or the green and the red of the Aga Khan, the wait is over. Flat racing returns on Sunday for a super afternoon of action at Naas - a card that has thrown up Classic winners in the past with Dawn Approach and Awtaad. It's a wonderful mix of handicaps, maidens, Group and Listed races and it certainly has the look of a decent punting fixture.
As has been the case with the topsy-turvy weather, we start the Flat on soft with potentially heavy in the description - a word that seems to have disappeared from the lexicon of going descriptions from nearly all jumps' Sundays since the turn of the year.
We'll also have a look at Downpatrick with the feature Ulster National at 15:50.
Go with the Mayson in the conditions
The opener is a complete guess-up, with a field of 12 juveniles all making their debuts. I expect Jim Bolger's Feminista will be fairly popular in the market nearer the time, as she's by Dawn Approach, who won this race for Bolger seven years ago before going on to great things. Feminista gets the 5lb filly swing too and is drawn in one.
I might throw a couple of quid at Ampeson as I am a subscribed member to trainer Richard O'Brien's fan club.
Ampeson has got a couple of 6f winners in his pedigree and he's by Mayson - the gun sire for horses in soft and heavy conditions. It won't be easy in the mud for young horses making their debuts, but a Mayson in the ground is always worth a second look. Anything around [10.0] might tempt me.
Empire State the target for in-running layers?
With 20 runners in the older horse 6f Maiden at 14:00, we have a bit more to go on. We also have the unlikely scenario of Ruby Walsh riding against Ryan Moore - although the latter has a much stronger chance of a winner than his jumps' opponent with the favourite Empire State.
The Aidan O'Brien horse sets a fair standard rated 85 - but he has been turned over three times as a beaten favourite and I wasn't hugely convinced about his finishing effort in a race at Dundalk last October.
As a son of Scat Daddy, he really is all dirt with the pedigree, so whether he wants hock-deep ground I am not sure. I'll also offer up the fact he was turned over in a Maiden at the track last year at [1.11] In-Play. There are reasons to take him on.
Dermot Weld's Aga Khan newcomer Kattani is bred for a proper trip, so this 6f might be a bit sharp. but she was 33/1 on the Sportsbook last night.
I thought Michael Halford's Sonaiyla shaped really well on her debut over course and distance last term in her sole start as a juvenile. Her trainer wasn't banging in the 2yo winners at that stage, so it was a pretty good start to her career. She was slowly away and looked little outpaced, which could have been down to the inexperience. She ran on well and has ability, and her mother handled soft conditions well.
Unfortunately she wasn't missed in the market last night on the Sportsbook at around 3/1. I wanted around 6/1-plus, so I might just be leaving her alone.
Weld could have a Jewel in the Handicap
No prizes for being original here by picking Jewel Maker - who looks by far and away the most interesting runner in this 6f handicap at 14:35.
Anything at [6.0] or [7.0] will do for this beautifully bred Dermot Weld horse, who goes handicapping for the first time from a mark of 87. He's completely unexposed and travelled like a decent horse when winning his Maiden at Cork last May. Crucially in heavy ground.
He really did go well in that race and looked set to when by a larger margin. He was driven out in the end, but the mark of 87 might just under-estimate him. That Cork victory came over 7f and he drops down in trip for this afternoon which isn't a bad thing considering the going.
As a 4yo, he's either been hard to train or had a couple of setbacks, I don't know if it's either, but he raced only once as a juvenile and once last term. So it must have been frustrating for Weld that he didn't see a racetrack again after that promising reappearance in 2018.
Incidentally he finished second on debut behind Flag Of Honour, with the third Kenya. Both three-digit rated horses.
Murtagh's Parker Hill one to note in the Madrid
This year's Madrid Handicap at 15:05 looks an open renewal with Zander as the 4/1 favourite, and whilst I like the horse, I worry he could be vulnerable to something with a bit more staying power. Trainer Joseph O'Brien has two in the field, and you can click here to read what he has to say about his runners.
Whether we have another Awtaad in this line-up, I am not so sure. And wasn't he well-handicapped from 95 a few years ago!
Johnny Murtagh could have a serious horse for the future in Parkers Hill, and he does hold an entry in the Irish 2,000. Whilst we are not quite going down Awtaad territory, he does have the profile I like for this race as a massively unexposed runner with a Classic entry.
He ran well on his debut behind the subsequent smart Group horse Van Beethoven last year, he kept on well that day over 6f at Naas to suggest talent. He made no mistake on his second run when turning over the ultra-short National Guard at Leopardstown.
There was no fluke about that win as he made the running and showed a really likeable attitude. That victory came on quick ground, so it's a bit of an unknown as to how he'll take to conditions for Sunday, but he's a big horse with a bit of presence, and he looks overpriced to me at around [16.0]. He was 14/1 on the Sportsbook on Saturday evening.
Take a chance on outsider in Group 3
Yulong Gold Fairy tops the betting for the Group 3 Park Express at 15:40. She was 10/11 last night on the Sportsbook, but this looks a tricky race with a few potential improvers.
The wild card could be Fresnel; and she looked rather impressive winning a race at Dundalk on debut. She won at a Betfair SP of 123.25 that night and clearly nothing much was expected. She's a massive price again.
Trainer Fozzy Stack is someone who I tend to think of having his horses forward, and he's three-handed for this with Hand On Heart, Elthea and Iiex Excelsa. The most interesting is perhaps Elthea who has joined Stack from Karl Burke. She was a very good 2yo who landed the Group 3 Weld Stakes at the track, but she lost her way a bit in 2018, in what essentially was a disappointing campaign.
Aidan O'Brien's Delphinia won her Maiden at Galway and clearly improved for the soft conditions there, and she's another that steps up in class.
However, I am going to chance a Win and Place bet here with Rionach. She comes from a different angle with one decent piece of handicap form last season with a fine third behind Riven Light at Galway. She had a terrible draw that day, so done really well to finish third behind the 108-rated winner. She seems to go well fresh and she can bounce back to form in ground she showed she could handle last summer.
Fahey sends three for Irish Lincolnshire, I'm backing one
Richard Fahey sends Crownthorpe to Ireland on Sunday, and the trainer will be pleased with the soft conditions. He looked a potentially really progressive handicapper last term following his reappearance third in the "Madrid" on this card 12 months ago. The hot summer blunted those aspirations, and whilst he performed with credit in some strong handicaps (including a fourth to Wissahickon), he rarely got the heavy he craved.
When he did, he landed the "Cock O' The North" at Ripon last April from 85, a race in which he travelled superbly in and showed a smart burst of acceleration. He also showed up well in heavy at Haydock towards the end of the season with a fine second in a 0-95 in first-time headgear. He moved like a well-handicapped horse in that too.
The mud flying around seems to suit him best, so it was no surprise he was backed on the Sportsbook last night from 12/1 to 15/2. There's more to come from him with his current mark of 86. He travels like a 90s horse.
Amedeo on the comeback trail. Is he a lay?
I cannot really find a betting angle for the Listed Devoy Stakes at 16:45. With one-time Classic contender Amedeo Modigliani making his return to the track after an absence of 596 days, he's got the potential to add plenty of stardust on the card. However, I am not a backer at 11/8, and there'll be plenty looking to get after the horse in terms of laying him considering the time off the track.
Stellar Mass is a strong stayer and his trainer Jim Bolger seems to be going fairly well at Dundalk recently, and if he makes the running to make it a test, he could get the vote in-running but I am giving the race the swerve.
Logical Song could be the logical bet at a price in Ulster National
Over to Downpatrick for the one bet on the card in the Ulster National, and that's Logical Song. And not because I don't mind a bit of Supertramp.
There are risks attached, and one massive one of course with him being off the track for 16 months. It was a match-up with him and Out Sam for the bet, but the latter is at the top of the market and Logical Song is double the price at [10.0].
He looked a really exciting stayer of potential when winning the Cork National as a novice by a wide margin in 2017. He landed that from 123 and is racing from 133 here, and there's still more to come from him considering he has only raced over fences seven times.
Gordon Elliott's Out Sam has tip-top handicap form this season with a win also in a Cork National and a pair of fine efforts in the Troytown and Thyestes. However, Logical Song has plenty of form in soft ground and jumped well at Cork when winning that big race.
*Click here to read the exclusive views of trainer Gordon Elliott on his Sunday runners at Downpatrick
Back Ampeson @ BSP in the 13:30 at Naas
Back Jewel Maker @ [6.0] in the 14:35 at Naas
Back Parkers Hill @ [14.0] in the 15:05 at Naas
Back Rionach Win and Place @ [16.0] and [4.0] in the 15:40 at Naas
Back Logical Song @ [10.0] in the 15:50 at Downpatrick
Alan Dudman
More Irish Racing Tips
Sunday Irish Racing Tips: Wonderful can earn her Classic stripes at the Curragh
Sunday Irish Racing Tips: Inverleigh looks a sprinter going places
Sunday Racing Tips: Fire Fly to top off a good week for O'Brien
Sunday Irish Racing Tips: Wee Small Hours to make a splash now the rain has arrived
Sunday Irish Racing Tips: Can Mullins' veteran bounce back in Leinster National?
Sunday Irish Racing Tips: Jett to show his power for Leopardstown feature
Dubai Racing Tips
USA Racing Tips
French Racing Tips
Australian Racing Tips
South African Racing Tips
Singapore Racing Tips


text:
Rachel Hogg
Emailrhogg@csu.edu.au
A high-stakes partnership? Responsibility, interdependency, and vulnerability in elite equestrian sport
Hogg, R. & Hodgins, G., 2016, In: QM i P Bulletin. 22, p. 19-31 13 p.
Equestrian partnerships: A qualitative investigation of the relationship between horse and rider in elite equestrian sports
Hogg, R., 2015, Australia: Charles Sturt University. 320 p.
work orientation
symbolic interactionism
Instagram photo-sharing and its relationships with social rewards and social connectedness
Maclean, J., Al-Saggaf, Y. & Hogg, R., 2020, Human Interaction, Emerging Technologies and Future Applications III: Proceedings of the 3rd International Conference on Human Interaction and Emerging Technologies: Future Applications (IHIET 2020), August 27-29, 2020, Paris, France. Ahram, T., Taiar, R., Langlois, K. & Choplin, A. (eds.). Cham: Springer, Vol. 1253. p. 231-237 7 p. (Advances in Intelligent Systems and Computing; vol. 1253 AISC).
Instagram photo sharing and its relationships with social rewards and well‐being
Maclean, J., Al-Saggaf, Y. & Hogg, R., 2020, In: Human Behavior and Emerging Technologies. 2, 3, p. 242-250 9 p.
Invisible boundaries: Barriers to flexible working arrangements for fathers
Ewald, A. & Hogg, R., 26 May 2020, In: Community, Work and Family. p. 1-17 17 p.
work-family balance
Selection and training of horses for animal-assisted interventions
Hogg, R., Mar 2020, Animal-assisted interventions for health and human service professionals. Driscoll, C. J. (ed.). New York: Nova Science Publishers, p. 195-218 24 p. (Health and Human Development).
hippotherapy
training (animals)
The human-dog bond as a mediator in the relationship between loneliness and emotional well-being
Allen, C. & Hogg, R., 2020, (Accepted/In press) In: Human-Animal Interaction Bulletin. 9, 2


Reblogged this on The Pennington Edition.
Thanks for giving these guys a spot on your website!
They're truly one of the best bands from Japan who can actually produce good music and not some pop-producer BS.


The remains of the Convent of the Bien Parada in Abadía, Cáceres, are typical of the convent architecture of the 16th century. One of the first documents in which it appears is the petition to and subsequent authorisation by the Duke of Béjar, don Juan Manuel II.
The name of this Franciscan monastic complex stems from the abbey of Cistercian monks, as you will see, very little remains, its austerity and architectural simplicity must have been impressive, as illustrated by the church within the complex. It was a two storey building, the most important elements being the convent's cloister and lands, including the two hectares of vegetable gardens.


text:
Thread starter kantorlight
kantorlight
Shanazel said:
The funny thing about it is ATS and associated ofshoots are genuine cultural phenomena that evolved in the USA among like-minded people. That so many felt the need to justify it with pseudo-history and costuming is sad and even sadder is that they aren't taken as a serious cultural movement because a) it is still in its infancy and b) in the beginning was composed largely of middle class Caucassian women. And we all know middle-class Caucassians haven't a clue to "real" tribal culture, right?
I think the problem with being taken seriously actually has a lot more to do with issues of cultural appropriation and misrepresentation. I'm a huge fan of tribal but sometimes it is uncomfortable to watch someone misrepresent and badly dance fusion elements from India, Eastern Europe, etc.
I understand your point and agree with it to some small degree, but think we've all gotten a bit too sensitive about what can be shared and what can't.
The only way cultures evolve is through appropriation of elements of other cultures. Where would Christmas be without the appropriation of the German Christmas tree? And if you don't think travelers picked up bits and pieces of dance, art, and costume from other cultures as they traveled the Silk Road or the Seven Seas, you're wrong. (Pasta, anyone? It isn't originally from Italy.) One of my favorite customs is the lighting of luminarios, a custom from Mexico.
To willfully misrepresent an individual culture in jest or with derision is one thing. To embrace appealing elements from another culture into one's own life is the way of the world and has been since the girl across the river decided Eve's fig leaves were a good idea.
I recall seeing a video of square dancing done by a group of aficionados in Japan. Their version was very funny to my western eyes, but at the same time I was so pleased that people a world away loved this dance style so much than they were making it their own, right down to the dozen petticoats and white cowboy boots (which no American square dancing lady would be caught dead in, but what the heck- it's their version).
Maybe viewing "cultural appropriation" as "cutural sharing" has to do with growing up in the giant cultural experiment called America.
Darshiva
And yet you still missed one. The second 'cultural' in your last sentence. Slippery suckers, aren't they?
Shanzel wrote:
I suspect that THIS is exactly the issue with us, and why we feel no insecurity or weirdness over seeing "foreigners" doing what we consider typically American things, like square dancing, singing country music, playing baseball, eating hot dogs, etc.
Most of us are products of a long family tree of different cultures: German on one of Mom's sides, Scottish and Dutch on the other. Native American on Dad's side, but he married a Lebanese immigrant, and they moved from Colorado to Michigan. I mean almost all of us have that kind of colorful "mongrel" heritage. So what "family culture" can you claim? You pick the one(s) that have the most interesting traditions and the best cooking
BUT -- just because we are maybe not so sensitive to cultural "borrowing," that doesn't mean that such sensitivity should be ignored in others. I know a girl whose family are 1st generation immigrants from India and she is very critical of people who use mudras or Indian dance steps in their dancing, if the gestures and steps are used incorrectly. She has the attitude of "It's not hard to learn about this stuff; why do anything out of ignorance, when you COULD pick a mudra that would actually fit the song." I can't really criticize that. It IS her culture.
kantorlight said:
I agree with you -- and this isn't really an issue of cultural (mis)appropriation. It's a problem of ignorance. Willful ignorance, almost. I see lots of dancers who don't actually question, "well if this is from Indian dance, what does it mean in that context? Will it mean the same thing here?" (This isn't limited to Tribal -- there are "Egyptian" dancers out there too, that wouldn't know Saidi from Saudi and don't care.)
Look, I was all about the fake "Gypsy" thing when I started doing belly dance (in ballet the "Gypsy" stereotype is prevalent in a lot of character dances). I dressed like Esmerelda, banged my fist on hips a lot, and wore a babushka. But as I started to research their music and learn more about their dance, I realized how inappropriate (and WRONG) that image is, and how much damage it has caused over the years, so I gave it up.
Tribal is (as a dance form) where I was then -- practitioners should be WELL aware that all these disparate elements from multiple cultures don't exactly make a "fusion" -- and to do ANY of those cultures any justice (not to mention create an interesting piece of art to watch) they really need to learn how and why various movements and gestures are done, where in the music they take place, and what of all of it is just plain "hokum," to quote Jamila.
It also sort of astonishes me that there are Tribal dancers who know NOTHING about the Jamila format. I mean that is your direct heritage -- why wouldn't you want to know SOMETHING about it? That would be like an Egyptian style dancer not knowing anything about the dance prior to Dina. To me it's mind-boggling. But I guess I'm weird that way.
The issue though, is we (non-members of the culture) don't get to decide what will/won't be shared. More importantly it is offensive to say (as an outsider) that members of these various cultures are being "too sensitive ." All the examples you mention (christmas trees, silk road, etc) were freely shared by the members of the culture, or due to immigration. The situation going on now is more like we're taking things willy-nilly and/or without their consent.
Even well-intentioned misrepresentation can be harmful. For example, the way belly dancers have portrayed the Rromani or "Gypsy" stereotype reinforces negative stereotypes about their culture, leading to continued discrimination and racism.
Look, I was all about the fake "Gypsy" thing . . . I realized how inappropriate (and WRONG) that image is, and how much damage it has caused over the years, so I gave it up.
And given that the success of this cultural experiment was created through genocide and slavery, a little tact and discretion would be warranted.
I can't really criticize that. It IS her culture.
Yes! This is the whole point.
Willful ignorance, almost. I see lots of dancers who don't actually question, "well if this is from Indian dance, what does it mean in that context? Will it mean the same thing here?" (This isn't limited to Tribal -- there are "Egyptian" dancers out there too, that wouldn't know Saidi from Saudi and don't care.)
Very true! Tribal dancers are not the only ones guilty of it.
I'm sorry for derailing the thread, but I felt I had to bring up these issues.
I can't think of a culture that doesn't have slavery and genocide in their history. America is not unique in that respect. It really boils down to "do no harm" with your dancing.
Zumarrad
Jane said:
America is also not unique in being a cultural melting pot, or in having democracy, or in a lot of things.
It *is* unique in being the number one world power for most of the past century, and it is this - this invisible privilege and position of authority - that I think leads to the Average American if there is such a thing not being bothered if they see Japanese people eating hotdogs or whatever. It's also fair to note that hot dogs and baseball are entirely secular things, whereas even some everyday things from older more traditional cultures have elements of religion or specific social values attached to them that outsiders might not be able to discern without help. Most "American" things are secular.
I guess the only thing I can think of to compare is the idea that some people from Country X might dress up as plantation owners surrounded by mammies and Confederate soldiers and the Dukes of Hazzard car, and do dubstep versions of Stephen Foster songs and call their venture The Darky Project.
And then wonder why some Americans were nonplussed and potentially upset by that.
It really boils down to "do no harm" with your dancing.
I completely agree, with the addition of mentioning that is possible to do harm without realizing. However, I believe most people are decent, and upon the realization of the effects of possibly problematic behavior, will apologize/rectify the situation accordingly.
Zumarrad said:
. . . whereas even some everyday things from older more traditional cultures have elements of religion or specific social values attached to them that outsiders might not be able to discern without help . . . Most "American" things are secular.
That's what decent people do, for certain. I have unfortunately found there are quite a few, however, in the BD world and elsewhere, who will argue till they're blue in the face that they're not in the wrong and anybody else's offence or distress is "their problem".
Some people are wilfully unteachable I think. And that's a shame, because decent points about a person can get hidden by the outward appearance of hateful scummishness. In the end, I guess it's "their problem".
Genocide and slavery. Alas, this is all the American history some folks manage to cram into their brains during those hours of lectures. We fought a war about 160 years ago that ended the practice of slavery in the US and we've been struggling along ever since to mitigate the results of the practice. Last time I checked, slavery was an ongoing thing in other parts of the world, de facto if not de jure. I'm not going to mention one of the worst documented offenders since doing so will probably get me accused of generalizing and cultural insensitivity.
While not making any excuses for the terrible way the First People were treated by the government, I do have to point out that if genocide is the willful destruction of a group of people then the Indians were bent on genocide of the Europeans and, coincidentally, any unrelated group of Indians who got in the way of what another group of Indians wanted. The First People were not and are not one big happy family. All we have to do here is look a few miles west to the Wind River Rez where the Arapaho and Shoshone are currently going at each other in court over bald eagles. A hundred and thirty years ago they were killing each other while trying to avoid more powerful tribes who were trying to kill them both.
History is messy.
Re: America "being the number one world power for most of the past century." America rose to power after WWII when the old world pulled the new world into the midst of its ancient squabbles by bombing the hell out of Pearl Harbor without warning or declaration of war. That pissed my parents and grandparents off but after the war, there America was pouring money into global reconstruction and thereby gaining influence because much of the rest of the world had bombed itself into oblivion.
Just like anywhere else in the world, positions of authority and privilege are enjoyed by politicians and rich people and a good deal of government authorized ass kicking during the ensuing sixty or so years was vehemently objected to by the populace.
Re: the "invisible privilege and position of authority" of average Americans being responsible for our ability to enjoy seeing others embrace our customs. You know, if you were talking about anyone but Americans you'd get accused of cultural insensitivity but seriously, I have to shake my head and laugh. Could it possibly be that we enjoy seeing others enjoy our customs, dance, and music just because we like to see people take part in the very things we take pleasure in?
whereas even some everyday things from older more traditional cultures have elements of religion or specific social values attached to them that outsiders might not be able to discern without help . . . Most "American" things are secular.
Even in America there are everyday things from older more traditional cultures that have elements of religion or specific social values attached to them that outsiders might not be able to discern without help. Really, do you think we're a blueprint of what you see on TV?
It is good to be aware of others and to treat them and their beliefs and customs with respect but I reiterate without apology: we've all gotten a bit too sensitive about what can be shared and what can't.
Who gets to decide whether or not to share if my husband is cool with folks in Latvia or Ceylon singing hymns that arose in the Second Great Awakening of the late 18th and early 19th centuries and my neighbor across the street is not? By the way, this was a religious and not secular occurrence that had a huge impact on the USA, but probably that story got by folks in those same old boring history lectures mentioned above. Frankly, I've never met anyone whose religious beliefs stem from that Awakening who wouldn't be delighted to teach those songs to anyone who asks despite the songs having important religious and cultural significance.
Belly dance was originally shared in the United States the same way most things get shared: by immigrants to the country. Videos and internet weren't invented in the fifties and sixties and we learned from people who'd learned from other people. My first Middle Eastern dance teacher was the mother of a friend who immigrated to California from Eygpt during the 1967 war. Can't get much more willingly shared than having someone show you how to dance in her living room and serve you honey bread and coffee afterward.
My first raks teacher was a woman from Armenia who'd learned to dance from family and friends. More sharing- she taught me to dance, I taught her an old style of Appalachain embroidery. Oops! Darn, there I went sharing a rare example of American craft that is not without specific cultural significance . What if my friend who also teaches embroidery objects to sharing this specialized knowledge? Who gets the final word?
Ah. What a fine discussion. Thanks to all involved.
Fish are not aware of water. I give up. Some people just don't want to listen to anything that spoils their fun.
Really, do you think we're a blueprint of what you see on TV?
Why don't you think other cultures are not what you see on TV?
I can't help it if all you export is popular culture and warmongering. If someone generalising about your world power gets you all defensive, why don't you think minority cultures have any rights to educate you about the same thing? Maybe you should work harder at presenting what America really is instead of expecting the rest of the world to make excuses and allowances for you.
(And if you find that kind of statement offensive, apply it to Egypt or Turkey. All I ask is that people stop making blanket statements about other cultures and their "rights" to take stuff from them and do what they want with them because it is the American Way. We all pay the price of colonialism. Culture is complex. That doesn't mean there is no power difference. Whether you USers realise it or not, you're still in charge. Just.)
Hello, guppy dear. Care to go for a swim with me?
I don't think other cultures are what I see on TV. I don't own a TV. I have never owned a TV. I have lived in areas with a wide range of cultures coexisiting in a small geographical area.
Let's turn this back on you. After I've read a few pages of anti-American lectures why don't you think I have the right to educate the lecturers the same way?
I don't know why you get your tail on your back every time we ease over into this discussion, but if you are expecting me to roll over and pee on myself because you have a vehement hatred for my culture (hell you even put "culture" in quotation marks if the culture in question is American) then you are going to have a long wait.
Culture is complex. We all have paid the price of colonalism and when the rest of the world( including those of you down there with your own nasty little social and cultural problems) quits laying the ills of the world on the United States we might manage to have a discussion that ends in a civil manner.
Blanket statements are okay if they're about the USA. What if I said I can't help it if all New Zealand produces are sheep, Lord of the Ring movies, and anti-American rhetoric?
I'm done. One cannot have a discussion once personal insults start flowing and I do not wish to join you on the wrong side of that line.
You know, I was thinking of this today and I came to the conclusion we as people of our respective nations reap what we do from others because of one thing common to all nations and that is the mean men in power
For it is not us, the common or garden bod on the street struggling to survive with all the threat that surrounds us that is the problem to anyone, the problem is those that hold sufficient power to abuse and one thing must always be borne in mind is that for the mean men in power to get to where they are they have to abuse others.
For example I come from a country reviled in History; England, the English still reap contempt from many nationalities in the world just because our place of birth is England they thinking because we are English we are that which caused so much upset to another country's history which may or may not be influencing their present. When I hear such things I have but one reply;
Yes, before our lords and masters conquered your country they first conquered their own, because we are not them and never were, yes we funded them and spilled blood for them but we had no choice for many the option was seek their fortune or starve at home for the people never benefitted from the trade expeditions meted out on other and indeed your country, so please stop making enemies based on the actions of the same breed of mean men that still infect the world for they are in every country, not one is immune.
One thing I have discovered from our history and that of other countries is the same sad fact that everything is commerce where the over riding feeling is people don't matter, there is one born every second the only thing that matters is money as money is the route to power and so the evils that have been committed the buying and selling of people against their will it was a commercial venture orchestrated by the same mean men that sought power and wealth.
I don't know what the answer is, but capitalism is our combined problem for it to work there must always be the poor, oppressed and the disadvantaged, that is essential to keep the machine turning squeezing out what evils we come to know and get abused by others for, for you have to agree evil begets evil and our history creates our future and do you now what, it does not serve the lowly man in the street in the slightest as it all it does is create fear and the mean men seize upon that fact to control and get richer. In our apparent derision for people of other countries that have nothing to do with their country's past we are promoting evil to continue through seeking to divide where others will conquer.
America, every American I have met is nothing like what their TV promotes them as and so we have to be aware of what is being done to us for the TV is education and perhaps education with political intent, think about it.
But America is an experiment perhaps in that they are a young nation and a nation made up of many nations, people who escaped their heritage to start something new, a new hope where the oppressive old had died for one has just got to ask why is it people would choose to leave everything behind and head for a new country, what motivates them to do that, for they must have been very brave.
And so America was founded by educated intelligent men who had viewed world history and decided they wanted nothing of that in their new country and so the Americans have something mean men hate and that is a bill of rights enshrined in law and protected by the right to bear arms as a limit to stop what every single country has done to it's own citizenry before it went on to terrorise others, for the real terrorist in our midst is the very same as it always was, the mean men in power.
We are all immigrant nations, where in the world is not and some of the new nations are what they are because they escaped England, which is itself an immigrant nation.
It's not countries that are the problem, nor histories, the problem is people past and present, everything depends on us and so we have this wonderful new medium available to us now that enables us to talk across nations, let us please use it to understand we are in fact all the same and everything we are is the result of what we have thought but we can change our thought for a better future and there hopefully identify within ourselves that which always comes to oppress us and choose to do different.
( Sorry for the wall of words, but we can do better than this )
Reactions: Shanazel
What if I said I can't help it if all New Zealand produces are sheep, Lord of the Ring movies, and anti-American rhetoric?
It wouldn't and doesn't bother me at all. I don't live in a fantasy world about my own culture and country.
Blanket statements are okay if they're about the USA. I'm done. One cannot have a discussion once personal insults start flowing and I do not wish to join you on the wrong side of that line.
I apologise. I don't quite see how making a statement that the US is a dominant world culture and largely secular is an expression of my "vehement hatred" for the US and in some way a personal attack on you that requires defence, but I can see that for you, it clearly hurts on some profound level that I don't understand and have no need to understand. So I do, unreservedly, apologise for triggering you and upsetting you.
I put culture in quotes because I was referring to superficial stereotypical things, not because I don't think America has cultures, but I am not here to defend myself.
I have perhaps not handled this well. There is a certain position in bellydance - and it TENDS to be held by American dancers, though it is certainly not the position of most American dancers that I know, and there are probably dancers from other countries who - which holds that bellydance is a US invention, that they therefore own it and issues of appropriation and race and other things like that don't apply to them. I can't engage with those people. Sometimes when I see statements online that seem to touch on that discourse, I respond to it - not with the intention of engaging with the poster but just so that another viewpoint is there for people to read. I made the mistake of picking up on what I believed to be that viewpoint in one of Shanazel's remarks, and responding to it spontaneously when I didn't really have time to make a deep and thinky post.
I have not posted on this board for a long time and I would just like to say to anybody reading this that I do not have any kind of "vehement hatred" or even dislike for Americans. There are certain political acts that the US engages in that I don't like. Ditto Britain, ditto Australia, ditto NZ, ditto China... I have seen the effects of US cultural imperialism, to give it a scary name, on my own culture over decades and I find it interesting, if irritating, as it's on a very micro level. Don't misunderstand me - I am not pretending that the culture being altered isn't itself a product of an earlier imperalist movement out of Britain. But it's true and I see it all the time and even hear it. It's part of globalisation and it interests me.
I can and do say and criticise things about my own country's historical and current policies on a lot of things, and especially the government we now have, even though my own country is just a small developed nation not a world power. It just doesn't come up here because this is not a community of Kiwis talking about how they can do what they want with ME dance "because we're NZers/our audiences are NZers". Ask Kashmir about me raising those issues IN NZ WITH NZers. I do it.
I understand that some Americans don't like their country being criticised or generalised about. I can't actually understand why, given the much-vaunted freedom of speech etc. When I have done it it is in response to generalisations about other countries/people, by US posters, hoping that people might *get* it but many seldom do, so clearly it's a failed tactic.
indrayu
(My comments here aren't about any individual, but are in response to Zumarrad's post above. I live in an isolated, one-horse town, so I think I know some of the kinds of attitudes she is talking about)
The word "parochial" is interesting. I've seen many a time that people from the kind of large place that sees it self as a "centre", whether it be Sydney, London, New York or the globally-unknown regional capital, often see what is believed/done in other places as interesting, perhaps quaint, variations on the standard. Meanwhile, people from little places that you need a good map to find, might love the lifestyle they have there but know there is a lot more to to world, actively choose what they want and access it when they need or can.
In other words, there can be more parochialism in a big place than a small one.
A story that puts it another way:
A long time ago I was with a family driving from their home on a cattle station to the regional capital, Darwin, several hundred kilometres away. The children had never been to the capital before but were well used to the routine of long drives: dirt road for an hour or so, a bit of bitumen then turn off on to another dirt road to get where you wanted to go. This time, we were staying on the bitumen all the way. The children were getting restless, of course, and one groaned "When is it going to be the Darwin turn-off?"
I laughed, but I love that world view. The road just keeps on going, endlessly.There is no centre or final destination. There are many roads and you just travel and turn off as it suits you.
Now back to those camel belts!
A former dance teacher of mine was enthusiastically describing ATS costumes to the class, "And they even wear belts from camel tassels! How cool!"
I couldn't imagine anyone from where camels are working animals, wearing any of their decorations. Keeping a separation between "human" and "animal"
is fundamental to most people and comparing a human to an animal is an insult everywhere I have ever heard of. But some will have their fancies. When I was a student, and very thin, going for a sort of punk style, I had a large studded dog collar I wore as a belt. I thought it was cool (I was about 19, right?) but I felt I had to reassure some people that I got it new, and it had never touched a dog!
Farasha Hanem
Whoooah, whooooah, whoooooah, HEEEEEEEYYYYYY, since WHEN did a thread on tassels turn into World War III???
EDIT: Sorry Indrayu, you must have posted while I was still typing mine (in shock, I might add).
Looking back at this forum, others, and of course my own experience, I do have to agree, in part, that many dancers (when it comes to issues of cultural appropriation) err on the side of caution, and that SOME TIMES we do tend to restrict ourselves for fear of doing something "wrong" or offensive.
We don't really have them here, but we do have members of the dance community who think anything other than Egyptian dance is "bastardizing" the art form. That's one extreme.
And we have the people who surround and confine themselves with out-of-context "rules" (don't show your palms, only twirl the cane this way, never start this step with your left foot) because that's the "safe" way to dance. That's another extreme.
But I really think these people are in the minority. I actually want to believe that the people who are most guilty of the offensive kind of appropriation are also in the minority, but it also seems that we can't go two years on OD without dredging up the "Gypsy" issue, so maybe my expectations are off.
What I really want to know is: what's the origin of the belly chain?
About the same time tattoos turned into a debate on taking offence. It's great - I love me some heated debate - get that sauna stoked up.
Noooo!!!! you forgot the wonderful Flight of the Conchords.
Cultural interactions and learning about other people - cool.
Picking up bits and pieces with no regard as to meaning for the people who made them, as if the world is a global supermarket - uncool.
Getting snotty with individual people who are genuinely interested, because their ancestors did whatever to your ancestors* - also uncool IMO.
ETA *probably meant that the other way. Whatever. Sins of the father type stuff.
My BFF's husband is a Kiwi, so we compiled the list of
"New Zealand's Top 10 Important Cultural Contributions"
1. Lord of the Rings (the obvious one first)
2. Really great wool
3. Calling itself En Zed, which sounds so futuristic! We tried "Oosuh" but it didn't work so well for us.
4. Xena, warrior princess, Lucy Lawless
5. Poi, even though we like to set them on fire in the states
6. Cadbury Yowies (illegal in the US because apparently American kids are too stupid to not eat the small parts.)
7. Using "as" after an adjective ("cool as" to mean "very cool.")
8. Flight of the Conchords
9. Sam (Damian) Neil
10. Maori art (so now every idiot who wants a tattoo can pick a random design and call it "tribal")