text:
//
//   Copyright 2014 DreamWorks Animation LLC.
//
//   Licensed under the Apache License, Version 2.0 (the "Apache License")
//   with the following modification; you may not use this file except in
//   compliance with the Apache License and the following modification to it:
//   Section 6. Trademarks. is deleted and replaced with:
//
//   6. Trademarks. This License does not grant permission to use the trade
//      names, trademarks, service marks, or product names of the Licensor
//      and its affiliates, except as required to comply with Section 4(c) of
//      the License and to reproduce the content of the NOTICE file.
//
//   You may obtain a copy of the Apache License at
//
//       http://www.apache.org/licenses/LICENSE-2.0
//
//   Unless required by applicable law or agreed to in writing, software
//   distributed under the Apache License with the above modification is
//   distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//   KIND, either express or implied. See the Apache License for the specific
//   language governing permissions and limitations under the Apache License.
//
#ifndef OPENSUBDIV3_SDC_CATMARK_SCHEME_H
#define OPENSUBDIV3_SDC_CATMARK_SCHEME_H

#include "../version.h"

#include "../sdc/scheme.h"

#include <cassert>
#include <cmath>

namespace OpenSubdiv {
namespace OPENSUBDIV_VERSION {

namespace Sdc {

//
//  Specializations for Scheme<SCHEME_CATMARK>:
//

//
//  Catmark traits:
//
template <>
inline Split Scheme<SCHEME_CATMARK>::GetTopologicalSplitType() { return SPLIT_TO_QUADS; }

template <>
inline int Scheme<SCHEME_CATMARK>::GetRegularFaceSize() { return 4; }

template <>
inline int Scheme<SCHEME_CATMARK>::GetRegularVertexValence() { return 4; }

template <>
inline int Scheme<SCHEME_CATMARK>::GetLocalNeighborhoodSize() { return 1; }

//
//  Masks for edge-vertices:  the hard Crease mask does not need to be specialized
//  (simply the midpoint), so all that is left is the Smooth case:
//
//  The Smooth mask is complicated by the need to support the "triangle subdivision"
//  option, which applies different weighting in the presence of triangles.  It is
//  up for debate as to whether this is useful or not -- we may be able to deprecate
//  this option.
//
template <>
template <typename EDGE, typename MASK>
inline void
Scheme<SCHEME_CATMARK>::assignSmoothMaskForEdge(EDGE const& edge, MASK& mask) const {

    typedef typename MASK::Weight Weight;

    int faceCount = edge.GetNumFaces();

    mask.SetNumVertexWeights(2);
    mask.SetNumEdgeWeights(0);
    mask.SetNumFaceWeights(faceCount);
    mask.SetFaceWeightsForFaceCenters(true);

    //
    //  Determine if we need to inspect incident faces and apply alternate weighting for
    //  triangles -- and if so, determine which of the two are triangles.
    //
    bool face0IsTri = false;
    bool face1IsTri = false;
    bool useTriangleOption = (_options.GetTriangleSubdivision() == Options::TRI_SUB_SMOOTH);
    if (useTriangleOption) {
        if (faceCount == 2) {
            //
            //  Ideally we want to avoid this inspection when we have already subdivided at
            //  least once -- need something in the Edge interface to help avoid this, e.g.
            //  an IsRegular() query, the subdivision level...
            //
            int vertsPerFace[2];
            edge.GetNumVerticesPerFace(vertsPerFace);

            face0IsTri = (vertsPerFace[0] == 3);
            face1IsTri = (vertsPerFace[1] == 3);
            useTriangleOption = face0IsTri || face1IsTri;
        } else {
            useTriangleOption = false;
        }
    }

    if (! useTriangleOption) {
        mask.VertexWeight(0) = 0.25f;
        mask.VertexWeight(1) = 0.25f;

        if (faceCount == 2) {
            mask.FaceWeight(0) = 0.25f;
            mask.FaceWeight(1) = 0.25f;
        } else {
            Weight fWeight = 0.5f / (Weight)faceCount;
            for (int i = 0; i < faceCount; ++i) {
                mask.FaceWeight(i) = fWeight;
            }
        }
    } else {
        //
        //  This mimics the implementation in Hbr in terms of order of operations.
        //
        const Weight CATMARK_SMOOTH_TRI_EDGE_WEIGHT = 0.470f;

        Weight f0Weight = face0IsTri ? CATMARK_SMOOTH_TRI_EDGE_WEIGHT : 0.25f;
        Weight f1Weight = face1IsTri ? CATMARK_SMOOTH_TRI_EDGE_WEIGHT : 0.25f;

        Weight fWeight = 0.5f * (f0Weight + f1Weight);
        Weight vWeight = 0.5f * (1.0f - 2.0f * fWeight);

        mask.VertexWeight(0) = vWeight;
        mask.VertexWeight(1) = vWeight;

        mask.FaceWeight(0) = fWeight;
        mask.FaceWeight(1) = fWeight;
    }
}

//
//  Masks for vertex-vertices:  the hard Corner mask does not need to be specialized
//  (simply the vertex itself), leaving the Crease and Smooth cases (Dart is smooth):
//
template <>
template <typename VERTEX, typename MASK>
inline void
Scheme<SCHEME_CATMARK>::assignCreaseMaskForVertex(VERTEX const& vertex, MASK& mask,
                                                  int const creaseEnds[2]) const {
    typedef typename MASK::Weight Weight;

    int valence = vertex.GetNumEdges();

    mask.SetNumVertexWeights(1);
    mask.SetNumEdgeWeights(valence);
    mask.SetNumFaceWeights(0);
    mask.SetFaceWeightsForFaceCenters(false);

    Weight vWeight = 0.75f;
    Weight eWeight = 0.125f;

    mask.VertexWeight(0) = vWeight;
    for (int i = 0; i < valence; ++i) {
        mask.EdgeWeight(i) = 0.0f;
    }
    mask.EdgeWeight(creaseEnds[0]) = eWeight;
    mask.EdgeWeight(creaseEnds[1]) = eWeight;
}

template <>
template <typename VERTEX, typename MASK>
inline void
Scheme<SCHEME_CATMARK>::assignSmoothMaskForVertex(VERTEX const& vertex, MASK& mask) const {

    typedef typename MASK::Weight Weight;

    //
    //  A Smooth vertex must be manifold and interior -- manifold boundary vertices will be
    //  Creases and non-manifold vertices of any kind will be Corners or Creases.  If smooth
    //  rules for non-manifold vertices are ever defined, this will need adjusting:
    //
    assert(vertex.GetNumFaces() == vertex.GetNumEdges());

    int valence = vertex.GetNumFaces();

    mask.SetNumVertexWeights(1);
    mask.SetNumEdgeWeights(valence);
    mask.SetNumFaceWeights(valence);
    mask.SetFaceWeightsForFaceCenters(true);

    Weight vWeight = (Weight)(valence - 2) / (Weight)valence;
    Weight fWeight = 1.0f / (Weight)(valence * valence);
    Weight eWeight = fWeight;

    mask.VertexWeight(0) = vWeight;
    for (int i = 0; i < valence; ++i) {
        mask.EdgeWeight(i) = eWeight;
        mask.FaceWeight(i) = fWeight;
    }
}

//
//  Limit masks for position:
//
template <>
template <typename VERTEX, typename MASK>
inline void
Scheme<SCHEME_CATMARK>::assignCornerLimitMask(VERTEX const& /* vertex */, MASK& posMask) const {

    posMask.SetNumVertexWeights(1);
    posMask.SetNumEdgeWeights(0);
    posMask.SetNumFaceWeights(0);
    posMask.SetFaceWeightsForFaceCenters(false);

    posMask.VertexWeight(0) = 1.0f;
}

template <>
template <typename VERTEX, typename MASK>
inline void
Scheme<SCHEME_CATMARK>::assignCreaseLimitMask(VERTEX const& vertex, MASK& posMask,
                                              int const creaseEnds[2]) const {

    typedef typename MASK::Weight Weight;

    int valence = vertex.GetNumEdges();

    posMask.SetNumVertexWeights(1);
    posMask.SetNumEdgeWeights(valence);
    posMask.SetNumFaceWeights(0);
    posMask.SetFaceWeightsForFaceCenters(false);

    Weight vWeight = 2.0f / 3.0f;
    Weight eWeight = 1.0f / 6.0f;

    posMask.VertexWeight(0) = vWeight;
    for (int i = 0; i < valence; ++i) {
        posMask.EdgeWeight(i) = 0.0f;
    }
    posMask.EdgeWeight(creaseEnds[0]) = eWeight;
    posMask.EdgeWeight(creaseEnds[1]) = eWeight;
}

template <>
template <typename VERTEX, typename MASK>
inline void
Scheme<SCHEME_CATMARK>::assignSmoothLimitMask(VERTEX const& vertex, MASK& posMask) const {

    typedef typename MASK::Weight Weight;

    int valence = vertex.GetNumFaces();
    if (valence == 2) {
        assignCornerLimitMask(vertex, posMask);
        return;
    }

    posMask.SetNumVertexWeights(1);
    posMask.SetNumEdgeWeights(valence);
    posMask.SetNumFaceWeights(valence);
    posMask.SetFaceWeightsForFaceCenters(false);

    //  Specialize for the regular case:
    if (valence == 4) {
        Weight fWeight = 1.0f / 36.0f;
        Weight eWeight = 1.0f /  9.0f;
        Weight vWeight = 4.0f /  9.0f;

        posMask.VertexWeight(0) = vWeight;

        posMask.EdgeWeight(0) = eWeight;
        posMask.EdgeWeight(1) = eWeight;
        posMask.EdgeWeight(2) = eWeight;
        posMask.EdgeWeight(3) = eWeight;

        posMask.FaceWeight(0) = fWeight;
        posMask.FaceWeight(1) = fWeight;
        posMask.FaceWeight(2) = fWeight;
        posMask.FaceWeight(3) = fWeight;
    } else {
        Weight fWeight = 1.0f / (Weight)(valence * (valence + 5.0f));
        Weight eWeight = 4.0f * fWeight;
        Weight vWeight = (Weight)(1.0f - valence * (eWeight + fWeight));

        posMask.VertexWeight(0) = vWeight;
        for (int i = 0; i < valence; ++i) {
            posMask.EdgeWeight(i) = eWeight;
            posMask.FaceWeight(i) = fWeight;
        }
    }
}

//
//  Limit masks for tangents -- these are stubs for now, or have a temporary
//  implementation
//
template <>
template <typename VERTEX, typename MASK>
inline void
Scheme<SCHEME_CATMARK>::assignCornerLimitTangentMasks(VERTEX const& vertex,
        MASK& tan1Mask, MASK& tan2Mask) const {

    int valence = vertex.GetNumEdges();

    tan1Mask.SetNumVertexWeights(1);
    tan1Mask.SetNumEdgeWeights(valence);
    tan1Mask.SetNumFaceWeights(0);
    tan1Mask.SetFaceWeightsForFaceCenters(false);

    tan2Mask.SetNumVertexWeights(1);
    tan2Mask.SetNumEdgeWeights(valence);
    tan2Mask.SetNumFaceWeights(0);
    tan2Mask.SetFaceWeightsForFaceCenters(false);

    //  Should be at least 2 edges -- be sure to clear weights for any more:
    tan1Mask.VertexWeight(0) = -1.0f;
    tan1Mask.EdgeWeight(0)   =  1.0f;
    tan1Mask.EdgeWeight(1)   =  0.0f;

    tan2Mask.VertexWeight(0) = -1.0f;
    tan2Mask.EdgeWeight(0)   =  0.0f;
    tan2Mask.EdgeWeight(1)   =  1.0f;

    for (int i = 2; i < valence; ++i) {
        tan1Mask.EdgeWeight(i) = 0.0f;
        tan2Mask.EdgeWeight(i) = 0.0f;
    }
}

template <>
template <typename VERTEX, typename MASK>
inline void
Scheme<SCHEME_CATMARK>::assignCreaseLimitTangentMasks(VERTEX const& vertex,
        MASK& tan1Mask, MASK& tan2Mask, int const creaseEnds[2]) const {

    typedef typename MASK::Weight Weight;

    //
    //  First, the tangent along the crease:
    //      The first crease edge is considered the "leading" edge of the span
    //  of surface for which we are evaluating tangents and the second edge the
    //  "trailing edge".  By convention, the tangent along the crease is oriented
    //  in the direction of the leading edge.
    //
    int numEdges = vertex.GetNumEdges();
    int numFaces = vertex.GetNumFaces();

    tan1Mask.SetNumVertexWeights(1);
    tan1Mask.SetNumEdgeWeights(numEdges);
    tan1Mask.SetNumFaceWeights(numFaces);
    tan1Mask.SetFaceWeightsForFaceCenters(false);

    tan1Mask.VertexWeight(0) = 0.0f;
    for (int i = 0; i < numEdges; ++i) {
        tan1Mask.EdgeWeight(i) = 0.0f;
    }
    for (int i = 0; i < numFaces; ++i) {
        tan1Mask.FaceWeight(i) = 0.0f;
    }

    tan1Mask.EdgeWeight(creaseEnds[0]) =  0.5f;
    tan1Mask.EdgeWeight(creaseEnds[1]) = -0.5f;

    //
    //  Second, the tangent across the interior faces:
    //      Note this is ambigous for an interior vertex.  We currently return
    //  the tangent for the surface in the counter-clockwise span between the
    //  leading and trailing edges that form the crease.  Given the expected
    //  computation of a surface normal as Tan1 X Tan2, this tangent should be
    //  oriented "inward" from the crease/boundary -- across the surface rather
    //  than outward and away from it.
    //
    tan2Mask.SetNumVertexWeights(1);
    tan2Mask.SetNumEdgeWeights(numEdges);
    tan2Mask.SetNumFaceWeights(numFaces);
    tan2Mask.SetFaceWeightsForFaceCenters(false);

    //  Prepend weights of 0 preceding the crease:
    for (int i = 0; i < creaseEnds[0]; ++i) {
        tan2Mask.EdgeWeight(i) = 0.0f;
        tan2Mask.FaceWeight(i) = 0.0f;
    }

    //  Assign weights to crease edge and interior points:
    int interiorEdgeCount = creaseEnds[1] - creaseEnds[0] - 1;
    if (interiorEdgeCount == 1) {
        //  The regular case -- uniform B-spline cross-tangent:

        tan2Mask.VertexWeight(0) = -4.0f / 6.0f;

        tan2Mask.EdgeWeight(creaseEnds[0])     = -1.0f / 6.0f;
        tan2Mask.EdgeWeight(creaseEnds[0] + 1) =  4.0f / 6.0f;
        tan2Mask.EdgeWeight(creaseEnds[1])     = -1.0f / 6.0f;

        tan2Mask.FaceWeight(creaseEnds[0])     = 1.0f / 6.0f;
        tan2Mask.FaceWeight(creaseEnds[0] + 1) = 1.0f / 6.0f;
    } else if (interiorEdgeCount > 1) {
        //  The irregular case -- formulae from Biermann et al:

        double k     = (double) (interiorEdgeCount + 1);
        double theta = M_PI / k;

        double cosTheta = std::cos(theta);
        double sinTheta = std::sin(theta);

        //  Loop/Schaefer use a different divisor here (3*k + cos(theta)):
        double commonDenom = 1.0f / (k * (3.0f + cosTheta));
        double R = (cosTheta + 1.0f) / sinTheta;

        double vertexWeight = 4.0f * R * (cosTheta - 1.0f);
        double creaseWeight = -R * (1.0f + 2.0f * cosTheta);

        tan2Mask.VertexWeight(0) = (Weight) (vertexWeight * commonDenom);

        tan2Mask.EdgeWeight(creaseEnds[0]) = (Weight) (creaseWeight * commonDenom);
        tan2Mask.EdgeWeight(creaseEnds[1]) = (Weight) (creaseWeight * commonDenom);

        tan2Mask.FaceWeight(creaseEnds[0]) = (Weight) (sinTheta * commonDenom);

        double sinThetaI      = 0.0f;
        double sinThetaIplus1 = sinTheta;
        for (int i = 1; i < k; ++i) {
            sinThetaI      = sinThetaIplus1;
            sinThetaIplus1 = std::sin((i+1)*theta);

            tan2Mask.EdgeWeight(creaseEnds[0] + i) = (Weight) ((4.0f * sinThetaI) * commonDenom);
            tan2Mask.FaceWeight(creaseEnds[0] + i) = (Weight) ((sinThetaI + sinThetaIplus1) * commonDenom);
        }
    } else {
        //  Special case for a single face -- simple average of boundary edges:

        tan2Mask.VertexWeight(0) = -6.0f;

        tan2Mask.EdgeWeight(creaseEnds[0]) = 3.0f;
        tan2Mask.EdgeWeight(creaseEnds[1]) = 3.0f;

        tan2Mask.FaceWeight(creaseEnds[0]) = 0.0f;
    }

    //  Append weights of 0 following the crease:
    for (int i = creaseEnds[1]; i < numFaces; ++i) {
        tan2Mask.FaceWeight(i) = 0.0f;
    }
    for (int i = creaseEnds[1] + 1; i < numEdges; ++i) {
        tan2Mask.EdgeWeight(i) = 0.0f;
    }
}

template <>
template <typename VERTEX, typename MASK>
inline void
Scheme<SCHEME_CATMARK>::assignSmoothLimitTangentMasks(VERTEX const& vertex,
        MASK& tan1Mask, MASK& tan2Mask) const {

    typedef typename MASK::Weight Weight;

    int valence = vertex.GetNumFaces();
    if (valence == 2) {
        assignCornerLimitTangentMasks(vertex, tan1Mask, tan2Mask);
        return;
    }

    //  Compute tan1 initially -- tan2 is simply a rotation:
    tan1Mask.SetNumVertexWeights(1);
    tan1Mask.SetNumEdgeWeights(valence);
    tan1Mask.SetNumFaceWeights(valence);
    tan1Mask.SetFaceWeightsForFaceCenters(false);

    tan1Mask.VertexWeight(0) = 0.0f;

    if (valence == 4) {
        tan1Mask.EdgeWeight(0) =  4.0f;
        tan1Mask.EdgeWeight(1) =  0.0f;
        tan1Mask.EdgeWeight(2) = -4.0f;
        tan1Mask.EdgeWeight(3) =  0.0f;

        tan1Mask.FaceWeight(0) =  1.0f;
        tan1Mask.FaceWeight(1) = -1.0f;
        tan1Mask.FaceWeight(2) = -1.0f;
        tan1Mask.FaceWeight(3) =  1.0f;
    } else {
        double theta = 2.0f * M_PI / (double)valence;

        double cosTheta     = std::cos(theta);
        double cosHalfTheta = std::cos(theta * 0.5f);

        double lambda = (5.0f / 16.0f) + (1.0f / 16.0f) *
                (cosTheta + cosHalfTheta * std::sqrt(2.0f * (9.0f + cosTheta)));

        double edgeWeightScale = 4.0f;
        double faceWeightScale = 1.0f / (4.0f * lambda - 1.0f);

        for (int i = 0; i < valence; ++i) {
            double cosThetaI      = std::cos(  i  * theta);
            double cosThetaIplus1 = std::cos((i+1)* theta);

            tan1Mask.EdgeWeight(i) = (Weight) (edgeWeightScale * cosThetaI);
            tan1Mask.FaceWeight(i) = (Weight) (faceWeightScale * (cosThetaI + cosThetaIplus1));
        }
    }

    //  Now rotate/copy tan1 weights to tan2:
    tan2Mask.SetNumVertexWeights(1);
    tan2Mask.SetNumEdgeWeights(valence);
    tan2Mask.SetNumFaceWeights(valence);
    tan2Mask.SetFaceWeightsForFaceCenters(false);

    tan2Mask.VertexWeight(0) = 0.0f;
    if (valence == 4) {
        tan2Mask.EdgeWeight(0) =  0.0f;
        tan2Mask.EdgeWeight(1) =  4.0f;
        tan2Mask.EdgeWeight(2) =  0.0f;
        tan2Mask.EdgeWeight(3) = -4.0f;

        tan2Mask.FaceWeight(0) =  1.0f;
        tan2Mask.FaceWeight(1) =  1.0f;
        tan2Mask.FaceWeight(2) = -1.0f;
        tan2Mask.FaceWeight(3) = -1.0f;
    } else {
        tan2Mask.EdgeWeight(0) = tan1Mask.EdgeWeight(valence-1);
        tan2Mask.FaceWeight(0) = tan1Mask.FaceWeight(valence-1);
        for (int i = 1; i < valence; ++i) {
            tan2Mask.EdgeWeight(i) = tan1Mask.EdgeWeight(i-1);
            tan2Mask.FaceWeight(i) = tan1Mask.FaceWeight(i-1);
        }
    }
}

} // end namespace sdc

} // end namespace OPENSUBDIV_VERSION
using namespace OPENSUBDIV_VERSION;
} // end namespace OpenSubdiv

#endif /* OPENSUBDIV3_SDC_CATMARK_SCHEME_H */

redpajama_set_name: RedPajamaGithub


The Dorwin Chair by Bernhardt Interiors is a traditional chair with an artistic style. The frame, arms, and legs are finished only in brass and display an architectural design. The Dorwin Chair by Bernhardt Interiors is shown in a neutral patterned fabric, yet it is available in a variety of fabrics or leathers to match your current decor. A full selection of Bernhardt Interiors products are available at Luxe Home Philadelphia.


Be ready for any adventure in the True Grit Highway Road Trip Shirt. It's all about the awesome, heathered colors in this yarn-dyed, plaid cotton button-up shirt. This shirt can be worn open with a tee underneath or buttoned up as a shirt. Along with the contrasting stitching details; this shirt features two button-flap chest pockets. This weekend-ready shirt is crafted from a soft melange flannel in a buffalo plaid design. This is made of 100% cotton cord with a lived-in worn look making this piece ultra-soft and comfortable. Sizes S (34 to 36), M (38 to 40), L (42 to 44), XL (46 to 48), XXL (50 to 52).


At the stage of geological study of the reserves of gas amount to 200 million cubic meters and the prospective resources of 2 billion cubic meters.
In the Kharkiv region opened a new mestnorazdrajatego gas. This reports the press service of Ukrhazvydobuvannia Thursday, June 7.
"At the stage of geological study of the reserves of gas amount to 200 million cubic meters, and prospective resources, estimated Ukrniigas – 2 billion cubic meters", – stated in the message.
The company noted that after a special permit in December of 2016, the field was discovered in record time – less than a year and a half.
On average, the period from the issuance of the license to the industrial development of the field is usually several years. It consists of such stages as seismic surveys, exploration drilling, appraisal drilling and production drilling.
Note that on may 29 it was also reported the discovery of gas fields in Kharkiv region. There at the stage of geological exploration of gas reserves is not less than 300 million cubic meters.
We will remind, in March the Chinese company Xinjiang Beiken Energy Engineering Co. started drilling wells in Poltava region by the order of the subsidiary.


text:
Impact Stories: Colin's Story
Colin lived on the street for 15 years prior to finding housing at Aurora on the Park, a HomeSpace building in Sunnyside. He has been living there for three years now.
It was just him and his three kids after his wife passed in 1995. He raised them for a few years before legal trouble led to their separation.
"But I didn't give up," Colin says. "As soon as I started getting help from the government through AISH (Assured Income for the Severely Handicapped), I could settle down. I got into housing like this here." He gestures around his one-bedroom apartment.
Colin has made the room his home; the wall behind him is graced with a beautifully woven blanket and a dream catcher hangs at its center. It's a small apartment, but clean. There's a window letting in sunshine. There are family pictures on the nightstand, desk and bookshelves.
"I stuck with it," he says. "And I stuck with my kids."
"They're grown up now," he adds.
The oldest is 31. Two of Colin's kids are still living in Calgary. One is working in BC. He talks with them all frequently.
And he has grandkids now. "I see them every week," he says proudly. He shows me a picture of his daughter, her husband and their kids. His granddaughter just turned four. "And they aren't far away you know; they're in Calgary and just a phone call away."
Coincidentally, a phone call interrupts as his son, Shane, is calling.
Colin always enjoyed having friends over but was evicted from rentals more than once before living on the street.
"Now I have my own place, once my friends knew where I lived, they know they're allowed to come and sleep, come and eat. Not all the time, but sometimes."
"And I don't have to be outside, camping out in the snow, starving."
Colin has had two much-needed surgeries since moving in with HomeSpace, a hip surgery and a knee surgery. "I couldn't walk before. Now I can walk. So I've been doing okay."
Colin is grateful not just for his home but the Alpha House staff that run the housing program in the building. "If there was no staff here, we'd be on our own and it wouldn't be like this. Some people can't manage themselves. They can't clean their house, they can't do things for themselves, and that's where the staff that work here step in and support us. It's really good here. They take care of you, that's the part I really like."
Donate to HomeSpace to provide housing for people like Colin

redpajama_set_name: RedPajamaCommonCrawl


The Sloan article is here.
It's a strange article. There was no reference at all to the Global Financial Crisis and the fact that Australia was one of few countries to avoid recession. She fails to acknowledge or reference what is a common assessment that the fiscal response was a key factor behind that world best performance.
Sloan also looks at the issue of the budget from one dimension noting that if the economy is weaker than projected, there will be a deficit in 2012-13 (which is true), failing to note that if the economy happens to be stronger, the surplus will be larger (which is also true)! Pretty basic stuff.
In terms of some specifics, Sloan makes a hash of her analysis of fiscal settings.
Those numbers are wrong: According to Table D1 in the recent MYEFO, general government expenditure rose from 23.1% of GDP in 2007-08 to 25.2% in 2008-09 and reached 26.0% in 2009-10.
Presumably because the facts don't support her argument, Sloan did not mention the fact that expenditure fell 1.3% of GDP, back to 24.7% in 2010-11 and is projected to fall to 23.6% in 2012-13. Recall that the average level of government spending to GDP under the twelve Howard government budgets was 24.2%.
On these facts, I am not sure who is guilty of "reckless spending".
The irony in that comment is that in Whitlam's final budget, government spending to GDP was 24.3% (recall the average for the Howard government was 24.2%) a figure that blew out to 26.7% in the last Fraser / Howard government budget.
Sloan might have been looking in the wrong direction when there was the threat of "an economic downturn" when the RBA cut interest rates to an all time low of 3%, the AUD fell to US$0.60 and the strong growth in Asia helped to support growth. How much more could have been delivered on any of these fronts is problematic. Every reasonable person knows the fiscal stimulus preserved thousands of jobs and with these other factors, helped Australia avoid recession.
It's a weak article seemingly based on bias, prejudice and aimed to spin a line about some wasteful government spending. For Sloan's sake, it's a pity the facts suggest otherwise.
Why the anti-Labor agenda from the Australian? They are not that radical a govmnt at all.
Give me a break. Plenty of reasonable people don't agree, like Tony Makin. In fact open any macroeconomics text. The standard result is that in an open economy, fiscal stimulus has no impact on output and unemployment.
The government panicked and over-reacted. When that became clear in the second half of 2009, they stubbornly refused to adjust course despite the warnings of reasonable people such as Warwick McKibbon and Gary Banks.
"Deficit spending is expansionary when the economy is in a liquidity trap; it does nothing but crowd out other spending when you're not up against the zero lower bound, and the Fed will just raise rates to offset fiscal expansion."


Carly I'm so happy for you! And thankful for all you have done. Your series for the Computer Confused and Tech Troubled really helped me turn things around with getting my blog going. I still got a long way to go, but I'm making progress. It's so inspiring to see your September income report and that you're doing something that will allow you to realize your dreams of staying home with your child. I couldn't be happier for you!


If I get a LG drive to dump games will I need anything else?
Like the title says if I get a drive will I need anything else? We have a wii but it's my brothers so he wont let me mod it so this looks like the only other way.
Also will I be able to dump xenoblade and the last story? Cause they are the only games I really want to do this for.
And one last question will the drive work?
afaik it should work, and if it works for one game it will work for them all.
(09-02-2012, 10:48 AM)ExtremeDude2 Wrote: afaik it should work, and if it works for one game it will work for them all.
OK thanks I thought it should work but wasn't sure i'm gonna order it and try it out.
(09-02-2012, 10:17 AM)XDAOROMANS Wrote: Like the title says if I get a drive will I need anything else? We have a wii but it's my brothers so he wont let me mod it so this looks like the only other way.
One last thing will these work with windows 7?
Should, I dunno about the dual layer thing, but I don't think the games you want need that anyway.
Wow really good thing I didnt order it yet. You wouldn't happen to have a link to one that does cause i'm pretty sure both are dual layer. I know for a fact the last story is.
Well if I can't dump the games without using the wii what would be the safest way to do it?
I think you should tell your brother to look at it this way: if he lets you hack the Wii just for a bit, and then restore it, he won't have to deal with you bothering him to use it anymore.
Btw, the last story (and xenoblade to a lesser extent) are very demanding games. I don't think you'll be able to run either full speed with the CPU you listed.
(09-02-2012, 04:01 PM)Axxer Wrote: That is the only way to do it.
I have a i5-2400 in my computer I put the cpu of are other computer by mistake. So I could just put homebrew on his use cleanrip and then take the homebrew off when done?
Thanks for the help everyone, and also thanks for being patient.


"Industrials rose sixty eight points or a quarter percent to twenty six thousand four fifty two the NASDAQ closed twenty four points higher the S and P five hundred added appointing a half. Netflix reported per-share earnings the top Wall Street estimates. But the streaming video service issued a disappointing outlook for subscriber growth. IBM also reported after the bell revenue from cloud computing, artificial intelligence and cognitive software declined in the latest quarter, Paul com. Shares jumped twenty three percent apple shares rose just two cents after the two technology companies announce they are dropping all litigation and their royalty fight."


text:
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

package org.chromium.android_webview.test;

import android.test.suitebuilder.annotation.SmallTest;

import org.chromium.android_webview.AwContents;
import org.chromium.android_webview.AwContentsClient.AwWebResourceRequest;
import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
import org.chromium.net.test.util.TestWebServer;

import java.util.List;
import java.util.concurrent.Callable;

/**
 * Tests Service Worker Client related APIs.
 */
public class AwServiceWorkerClientTest extends AwTestBase {

    private TestAwContentsClient mContentsClient;
    private AwContents mAwContents;
    private TestWebServer mWebServer;
    private AwTestContainerView mTestContainerView;
    private TestAwServiceWorkerClient mServiceWorkerClient;

    private static final String INDEX_HTML =
            "<!DOCTYPE html>\n"
            + "<html>\n"
            + "  <body>\n"
            + "    <script>\n"
            + "      success = 0;\n"
            + "      navigator.serviceWorker.register('sw.js').then(function(reg) {;\n"
            + "         success = 1;\n"
            + "      }).catch(function(err) { \n"
            + "         console.error(err);\n"
            + "      });\n"
            + "    </script>\n"
            + "  </body>\n"
            + "</html>\n";

    private static final String SW_HTML = "fetch('fetch.html');";
    private static final String FETCH_HTML = ";)";

    @Override
    public void setUp() throws Exception {
        super.setUp();
        mWebServer = TestWebServer.start();
        mContentsClient = new TestAwContentsClient();
        mTestContainerView = createAwTestContainerViewOnMainSync(mContentsClient);
        mServiceWorkerClient = new TestAwServiceWorkerClient();
        getAwBrowserContext().getServiceWorkerController()
                .setServiceWorkerClient(mServiceWorkerClient);
        mAwContents = mTestContainerView.getAwContents();
        enableJavaScriptOnUiThread(mAwContents);
    }

    @Override
    protected void tearDown() throws Exception {
        if (mWebServer != null) mWebServer.shutdown();
        super.tearDown();
    }

    @SmallTest
    public void testInvokeInterceptCallback() throws Throwable {
        final String fullIndexUrl = mWebServer.setResponse("/index.html", INDEX_HTML, null);
        final String fullSwUrl = mWebServer.setResponse("/sw.js", SW_HTML, null);
        final String fullFetchUrl = mWebServer.setResponse("/fetch.html", FETCH_HTML, null);

        TestAwServiceWorkerClient.ShouldInterceptRequestHelper helper =
                mServiceWorkerClient.getShouldInterceptRequestHelper();
        int currentShouldInterceptRequestCount = helper.getCallCount();

        TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper =
                mContentsClient.getOnPageFinishedHelper();
        loadUrlSync(mAwContents, onPageFinishedHelper, fullIndexUrl);
        assertEquals(fullIndexUrl, onPageFinishedHelper.getUrl());

        // Check that the service worker has been registered successfully.
        poll(new Callable<Boolean>() {
            @Override
            public Boolean call() throws Exception {
                return getSuccessFromJS() == 1;
            }
        });

        helper.waitForCallback(currentShouldInterceptRequestCount, 2);

        // Check that the two service worker related callbacks were correctly intercepted.
        List<AwWebResourceRequest> requests = helper.getAwWebResourceRequests();
        assertEquals(2, requests.size());
        assertEquals(fullSwUrl, requests.get(0).url);
        assertEquals(fullFetchUrl, requests.get(1).url);
    }

    private int getSuccessFromJS() {
        int result = -1;
        try {
            result = Integer.parseInt(executeJavaScriptAndWaitForResult(
                    mAwContents, mContentsClient, "success"));
        } catch (Exception e) {
            fail("Unable to get success");
        }
        return result;
    }
}


text:
Balita Boss! Boxing Floyd-Mayweather Manny-Pacquiao News Pacquiao-vs-Mayweather Sports Free TV Networks to Broadcast Manny Pacquiao-Floyd Mayweather Fight
Free TV Networks to Broadcast Manny Pacquiao-Floyd Mayweather Fight
Boxing Floyd-Mayweather Manny-Pacquiao News Pacquiao-vs-Mayweather Sports
Photo Credit: @abscbnsports
ABS-CBN, GMA-7 and TV5 signed a historic collaboration to air the May 2, 2015 (May 3 Philippine time) mega-fight of Manny Pacquiao and Floyd Mayweather.
The three biggest television networks in the country together with Solar Sports announced that they will air on free TV the fight of the decade, dubbed as "Battle for Greatness."
The announcement was made in a media conference Thursday, March 26 at the Solaire Resort and Casino in Pasay City.
It was reported that Solar has paid $10 million for the Philippine television rights of the fight between eight-division world champion Pacquiao and undefeated pound-for-pound king Mayweather to be held at MGM Grand Garden Arena in Las Vegas.
According to ABS-CBNNews.com report, Solar Sports has also the cable rights and will be showing it on pay-per-view via by Sky Cable and Cignal TV, while the radio blow-by-blow coverage will be exclusive to GMA's DZBB. The bout can also be viewed in SM Cinemas nationwide.
Solar Entertainment CEO Wilson Tieng arranged the multi-network telecast and according to him, "Manny himself played an important role in putting this thing together."
"Maraming-maraming salamat sa GMA-7, ABS-CBN, TV5, at Solar Sports dahil sa pagkakaisa nila para maipalabas sa ating mga kababayan ang fight na ito," Manny Pacquiao was quoted in a GMA-7 report.
The Pacquiao vs. Mayweather fight will be aired simultaneously on free television on slightly delayed basis starting at 10 a.m. on Sunday, May 3 2015.


How Important Is Getting A College-level Education?
Home / Education / How Important Is Getting A College-level Education?
Many people question the importance of getting a college-level education. It could be that they ask themselves if it is worth it due to its cost or the time it takes. They may question its integrity asking themselves, is it actually going to help them get a job or if the tutors will be consistent in quality like claimed in Thomas Rollins Teaching. It could even be that they aren´t sure which course they need to take in order to progress and have a lifelong career.
A college-level education is important for most people in order for them to be able to progress or acquire a well-paid career for life. In many cases they simply won't be considered for a job opportunity as soon as an employer realizes or sees that the potential applicant hasn't graduated from any form of college course. In other cases, it can stop people from being able to progress in a company, an example being if you are working in a low-level position in a huge company and are showing extreme capabilities to your boss and he wishes to promote you he may be unable to do so because you lack the education which is mandatory for the position.
In many cases it is not even necessary to have studied the exact thing that you wish to do. Obviously in some cases such as a career as a medical doctor, you need to have studied to become a medical doctor, but in many cases, it´s common for someone that, for example, studied computer science is able to acquire a position as a business manager solely down to the fact that they have a degree, and thus are deemed capable. It´s quite normal for some employers to think of a degree as nothing more than a piece of paper which indicates that you are of a certain level of intelligence and capabilities, disregarding completely what the degree is actually in.
As mentioned above, having a college-level education is key to being able to get a great career however it is also great for bettering yourself as a person. The great thing about studying at a higher level is you are able to pinpoint almost exactly what you want to study, rather than high school where you must study a huge range of subjects, many that were of no interest to yourself, with this in mind, you can concentrate on your passion, your motivation when studying something you really enjoy is much greater than when you study something you are not interested in so you´re more likely to get better grades and learn more.
It´s not impossible to be successful if you don´t do some form of higher education however in many cases it can make it more difficult. If you are thinking of going and studying take in mind information above and remember to study something that you´re going to enjoy, doing this will ensure that you excel and get the best grades.


text:
2021 Braves player review: Terrance Gore
Gore's lone appearance for the Braves is a quirky footnote in Atlanta's 2021 championship season
By DJourn Nov 21, 2021, 10:00am EST
Share All sharing options for: 2021 Braves player review: Terrance Gore
Terrance Gore drew a pick-off throw in his only appearance as an Atlanta Brave in Game 2 of the NLDS against the Milwaukee Brewers.
Photo by Daniel Shirey/MLB Photos via Getty Images
There may be no more interestingly-quirky MLB player this millennium than Georgia native Terrance Gore. The fleet-footed outfielder has carved out a niche as a deep cut reserve outfielder whom championship-contending teams add to a post-season roster for his baserunning talents.
Gore was drafted by the Kansas City Royals in the 20th round of the 2011 draft out of Gulf Coast State College in Panama City, FL. He made his Major League debut in 2014 for the Royals where he played in 49 regular-season and eight playoff games through the 2017 season, including post-season appearances in both 2014 and 2015. After having his contract purchased from the Royals by the Chicago Cubs late in 2018, he returned to the Royals in 2019 and garnered 58 of his 77 career regular season plate appearances before having his contract purchased by the New York Yankees. Gore signed with the Los Angeles Dodgers in 2020 and appeared into two games during the pandemic-shortened season, although he failed to make the team's post-season roster. In February 2021, he signed with Atlanta.
There were no expectations for Gore coming into the 2021 season beyond the novelty of his potential post-season, pinch-running capabilities. Though he was signed in February, he didn't even appear in a major league Spring Training game with the Braves.
Gore appeared in only 49 Triple-A games, although speculatively, he may have been part of the Braves' pandemic-required taxi squad at various points through the season. His signing was a minor league depth move, and despite the rash of injuries and performance issues the Braves battled through at the major league level until the Trade Deadline, he did not appear in a regular season game in 2021.
What went right? / What went wrong?
Terrance Gore got a World Series ring in 2021, so in my book, this was the best possible outcome for all involved. This is the third time in his career Gore will have received a championship ring (2015 Royals, 2020 Dodgers), meaning not a damn thing went wrong for the player who I believe is the only Braves player to appear in a postseason game for the team without appearing in a regular season game. (If you are interested in actually pulling the data and looking into this assertion and find it to be incorrect, please post who I forgot about in the comments below.)
Gore was added to the NLDS roster and made his only appearance in a big league Braves uniform in Game 2 as a pinch-runner. That lone appearance was meaningless — he pinch-ran for pinch-hitter Joc Pederson after the latter singled, and then was replaced by Luke Jackson after Jorge Soler flew out. He did, however, draw two pickoff throws, and was running on the 1-0 pitch that Soler flew out on. He was removed from the NLCS roster but was added back to the World Series roster, although he did not appear in a game against the Astros. He did, however, gleefully appear in locker room celebrations after the Braves were victorious in Game 6, taking selfies.
While Gore has not yet become this generation's version of Matt Alexander, his services are likely to be sought after as a minor league signing who can provide depth during the minor league season and/or fill a niche role in the regular season, or more likely, in the playoffs. Although he did opt for free agency, it is at least plausible that Gore could re-sign on a minor league contact with Atlanta in hopes of running it back in 2022.
2021 Braves MiLB prospect review: Trey Harris


text:
Qhimm.com Forums
Off-topic forums => Completely unrelated => Topic started by: L. Spiro on 2017-02-08 15:45:14
Title: A Senior Graphics Programmer on Final Fantasy XV Brings You…
Post by: L. Spiro on 2017-02-08 15:45:14
…Nintendo 64 music! In CD quality.
https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/featured?disable_polymer=1
These songs, which I have recorded carefully, sound very different from the other recordings you will hear.
Title: Re: A Senior Graphics Programmer on Final Fantasy XV Brings You…
Post by: DLPB on 2017-02-08 16:07:51
Nice. Funny you should pop up after I mentioned you last night in IRC. I said that I recall CheatEngine spawned from your program. Is that right?
I don't think CheatEngine existed when I started MHS, but I don't know that CheatEngine was inspired by my program.
At least in modern times it is very easy to say that many of its features were directly inspired by MHS, but DarkByte and I used to work together on considering the futures of where each of our programs would go. I directly ripped some of his features for compatibility (mainly the auto-assembler), and later he did the same (anything real-time, such as the hex editor, plus being able to show infinite addresses in the search results instead of "Too Many Addresses to Display", etc.), and we discussed a lot of ways to make our programs interchangeable via private messaging.
We are on pretty friendly terms.
I am coming out with a new version, but I temporarily had to stop production as I prepare to move across the world once again.
Post by: Covarr on 2017-02-08 16:38:09
So, you ripped the samples from the game, and then resequenced the songs from those, bypassing the N64's audio hardware? I've seen this done a few times with N64 music. It's always a joy (https://www.youtube.com/watch?v=pT_Rfl0ZDxU) compared to how it originally sounded on the actual hardware.
In short, basically yes.
By the way, BrawlBRSTMs3 X has literally used my own songs (remixes):
https://www.youtube.com/watch?v=4-Cn46znP3A
https://www.youtube.com/watch?v=OzLfjIbKkEI
https://www.youtube.com/watch?v=3b8hMpDtWFk
https://www.youtube.com/watch?v=VjC7Rr51yZY
https://www.youtube.com/watch?v=sMQJPIQo9t0
Although I did not give explicit permission for this, I know the owner of that channel.
It's likely he will be replacing his songs with mine.
Gotcha. The only reason I asked is because, in the Mario Kart example I linked, it literally was the samples right from the cartridge, and yet it still vastly sounded better than the original because the N64 was doing some goofy stuff when it actually rendered the music. Most of the Super Smash Bros soundtrack has "enhanced remakes" done this way as well, and though the difference isn't nearly as striking (lower quality samples right in the cartridge), it still sound better than it does actually playing the game.
It's rare, and quite nice, to see actual original samples used for something like this, as well as a proper audio environment.
If I don't go all-out then why bother?
Perfect Dark is coming up next.
This is just what the doctor ordered.
Any chance even more games will be covered? What about the official CD releases of Mario 64 and so on? They don't use the original samples?
At this point I don't have enough access to those sounds.
But I have contacts. We will see.
Post by: Roden on 2017-02-08 19:15:10
It's funny, Goldeneye is the only N64 game I have in my soundtrack archive (along with it's bullet sound effects). I guess I'll be updating it :P
Who can forget blocking your portion of the screen when doing MP with your friends so they can't see where you are in Facility? :D
Post by: Panzeroceania on 2017-02-10 23:45:47
I see you linked to some Donkey Kong Country 2 remixes, do you have versions with the regular arrangement, but still with the source samples like you've done with Goldeneye?
I do not, but I am interested in doing something with it.
Hoping to get GoldenEye 007 and Perfect Dark done soon.
Post by: davaammu on 2017-08-16 09:57:48
nice one :D
Post by: August on 2017-09-11 10:51:16
This is amazing! What a great project you've taken on, L. Spiro. The results are fantastic. I wish you all the best with the remaining music, along with any future undertakings.


Chun Kai, Kyle Chan, the designer of the highlighted work Award Winning Vintage Tailor's room Office Design illustrates, The project is away from the traditional office design. When you enter the office, you will believe that it is rather a showroom than an office. When you walk in the office, it's like a time travel which brings you to the old garment period. Most of the decorations are from the old garment factory which we have tried to show the timeline of the garment history in HK. We will let you experience the goods of old and how important working environment is. We are now presenting a modern and innovative office design to every boss..


text:
Lydia Clarke
Lydia Clarke comes from an eclectic background as a professional figure skater, painter, and dog wrangler before coming back to her family dairy roots and making a career in cheese. Her work in theory and design for the MOMA and private projects led her from New York to Paris to Napa then back to Los Angeles where she opened a cheese + wine store with her sister, Marnie, in Claremont, California in 2010. On the heels of the success of their first store she, along with her sister and Chef Reed Herrick opened DTLA Cheese and Kitchen in the historic Grand Central Market in 2013. Lydia has developed and designed cheese programs for restaurants and chefs around Los Angeles and creates stunning and elaborate cheese installations for all occasions. Her love for flavor and excitement about cheese will inspire you to celebrate the beauty in every cheese!


The Northampton Town youth team beat Cambridge United 1-0 at Moulton College on Saturday in their latest EFL Youth Alliance fixture.
James Gillard scored the only goal and coach Jon Brady felt it was a good display from his side.
"It was an extremely professional performance," he said.
"We were organised, the work rate was high and potentially we could have killed the game off in the second half.


text:
Arnprior Solar Farm
WSP provided engineering services for the electrical and structural systems for the solar PV farm, which at one time was the largest in Canada and the third largest in North America.
Arnprior, Ontario, Canada
M. Sullivan & Sons Ltd. (Sullivan & Sons)
The Arnprior A&B Solar Farm Project is a 19 MW AC solar farm comprising 312,000 PV thin film solar panels mounted on 13,000 racks on a 200 acre (81 ha) field.
In response to the Government of Ontario's Renewable Energy Standard Offer Program, which encouraged moving away from coal generation to renewable energy production, EDF EN Canada, a market leader in renewable energy development, and enXco, its North American affiliate, planned to develop, build, own and operate the solar farm on two separate but adjacent sites in Arnprior, just west of Ottawa, Canada's capital city, with a total production of 23.4 MW (DC), or slightly less than 20 MW (AC).
23,4 MW DC 23,4 MW DC
200 acres 200 acres
Our client, Sullivan & Sons, turned to WSP to provide engineering services for the electrical (including substations and collector) and structural systems. The project comprises two solar PV fixed racks, each of 9 MW AC capacity, connecting to the Hydro One distribution grid.
Construction on the Arnprior A&B Solar Farm Project began in May 2009, targeting December as the completion date.
When the Arnprior Solar Farm became operational in December 2009, it was the third largest solar PV farm in North America. The Arnprior Solar Farm meets the peak energy demands of approximately 7,000 homes.
Mechanical, Electrical and Plumbing
Delivering the Rosalind Franklin Laboratory
How collaborative working helped transform an industrial building in Royal Leamington Spa into one of the world's largest coronavirus diagnostic testing facilities in record time.
Solar PV Farm for Fishery and Electricity Symbiosis Project, Taiwan
With our strong portfolio in realising green power projects, we will be involved in another new one in Taiwan – this time it will be a combination of PV farms with fish farm.
Integrated Waste Management Facility (IWMF), Singapore
The new Integrated Waste Management Facility (IWMF), an integral part of Singapore's long-term plan to meet its solid waste management needs, will be equipped with state-of-the-art solid waste treatment technologies to improve energy and resource recovery from waste.
Oshawa, Ontario, Canada
Courtice Water Pollution Control Plant
An Integrated Resource Recovery (IRR) strategy was developed for the Courtice Water Pollution Control Plant and was a first step towards the sustainability of this 68.2 MLD plant. The study searched for technical solutions to derive value from the plant's waste and to minimize its inputs. The results not only brought focus to the Region, which lead to the IRR option to pursue further into the design and implementation phase, but also immediate improvements with the implementation of short-term solutions.
El Coronil, Andalusia, Spain
El Coronil Solar Agro-Energy Greenhouses
Combining electricity generation with sustainable cultivation.
Coronil 20 Mv PV Installation, Spain
Solar installation saves energy in southern Spain.
Designing an Energy and Environmental Centre in Borås, Sweden
A new biofuel combined heat and power plant will support the city of Borås' goal of becoming a non-fossil dependent city by 2030.
Cape Town, Western Cape, South Africa
Robben Island Solar Microgrid
The objective of the National Department of Tourism of South Africa was to reduce Robben Island's reliance on diesel generators as a power source.


A new report zooms in on how the Sustainable Development Goals can lead to business opportunities for Danish businesses worth up to 400 billion DKK towards 2030. The report encourages Danish businesses to also explore business opportunities in emerging and frontier markets. These countries have the largest needs - and with increasing growth, actual demand is expected to follow.
Developing innovative, sustainable solutions is necessary in order to realise the large business potential while delivering on the SDGs. Sustainability and innovation is at the centre of Danish business DNA. Danish businesses should make the most of this frontrunner position and bring the SDGs in to their core business.
In order to utilise the full potential of the SDGs, Danish businesses are encouraged to also explore business opportunities in emerging and frontier markets, where the growth on average is twice as large as in traditional, Danish export markets. Emerging and frontier markets are characterised by large needs and with large economic growth, these needs are expected to transform into actual demand for sustainable solutions. Danish businesses could benefit from focusing on countries with a Danish embassy and access their expertise and network.
The report zooms in on 23 emerging and frontier markets, with a considerable business potential and a Danish embassy. The main development sectors explored in the report are matched with Danish strongholds such as water, energy, food, cities and circular economy – sectors where there are large needs and increasing demand.
The report is launched by Minister for Development Cooperation, Ulla Tørnæs, and Minister for Industry, Business and Financial Affairs, Rasmus Jarlov.


text:
El municipio de Howard (en inglés: Howard Township) es un municipio ubicado en el condado de Howard en el estado estadounidense de Iowa. En el año 2010 tenía una población de 508 habitantes y una densidad poblacional de 3,89 personas por km².

Geografía
El municipio de Howard se encuentra ubicado en las coordenadas . Según la Oficina del Censo de los Estados Unidos, el municipio tiene una superficie total de 130.48 km², de la cual 130,48 km² corresponden a tierra firme y (0 %) 0 km² es agua.

Demografía
Según el censo de 2010, había 508 personas residiendo en el municipio de Howard. La densidad de población era de 3,89 hab./km². De los 508 habitantes, el municipio de Howard estaba compuesto por el 98,03 % blancos, el 0,2 % eran afroamericanos, el 0,2 % eran amerindios y el 1,57 % eran de una mezcla de razas. Del total de la población el 1,97 % eran hispanos o latinos de cualquier raza.

Referencias

Enlaces externos

Municipios de Iowa
Localidades del condado de Howard (Iowa)

redpajama_set_name: RedPajamaWikipedia


text:
How GE Healthcare Uses Showpad to Improve Sales and Marketing
GE Healthcare develops, manufactures and distributes leading medical technology, equipment and products for customers around the globe.
The company uses Showpad to manage content at scale, making valuable collateral easily accessible for its salespeople while providing its marketing team with insights to optimize strategy.
"So if we want to get relevant content to all of our sales organization and field marketing instantly, we can do that in Showpad, and we've never really been able to do that before."
What challenges has Showpad helped GE overcome?
The challenge that Showpad has helped GE Life Sciences resolve is, there are a number of phases. The first phase is just getting one place where it's the most up-to-date, most relevant content that had been approved across the organization. And now we're going on another journey of making more experiences in Showpad. So the first thing was getting aligned content, and then it's now making better experiences.
What are some of the benefits to using Showpad?
The scalability is probably the most important thing, I'd say the immediate benefit that we've gone for. So if we want to get relevant content to all of our sales organization and field marketing instantly, we can do that in Showpad, and we've never really been able to do that before. And then the second benefit was then being able to understand how our customers are consuming that content after a meeting or before a meeting by sharing that via Showpad.
What business improvements have you seen from using Showpad?
I've seen Showpad improve, I would say, our business impact, which is sales and marketing. So one is just how efficient we are at getting content out to within our organization, but then how we can effectively deliver upon that, and we can track that through the analytics that Showpad gives us. So we look at our shares, and then we can use that information to then calculate where that information was used, was that helping toward a successful opportunity which is leading to a business outcome. So did we win and close a deal, and Showpad is now part of that process in enabling our sales and field marketing in achieving those goals.
How does Showpad work with your other technology platforms?
My experience of Showpad, some of the other benefits is when it connects in with the technology stack. As a standalone it's fantastic and there's some great benefits, but when it starts to connect into the technology stack, then it has a multiplier effect. So it makes things better, so if people are going into, say, their CRM system, that syncing in with the CRM system means that it's adding more value to the rest of the organization. So if you don't have access to Showpad for your day-to-day work, then at least you're seeing the benefit, because the data is kind of enriched, and then it accelerates and helps us kind of meet more of our goals and then helps us meet our customers' objectives as well.


text:
Stan Smith's guide to golf paradise Hilton Head Island
By Evan Rothman
Hilton Head Island is a must-visit destination for golfers
Courtesy of Sea Pines Resort
In April 1971, tennis legend Stan Smith resettled from his native Southern California to become the touring pro for the nascent Sea Pines Resort on Hilton Head Island, S.C. Clearly, the place agreed with him—he won the U.S. Open that September, Wimbledon the following season and ended 1972 as the world's No. 1-ranked player.
"I like to tell people that there might be a better place for golf, for tennis, for bicycling, for hiking, for equestrian, for restaurants and for the beach," says Smith, "but there's no place that does it all as well as Sea Pines Resort."
A member of the International Tennis Hall of Fame as well as its current president, Smith, 72, is also a trustee of the Heritage Classic Foundation, which runs the PGA Tour's annual RBC Heritage on Harbour Town Golf Links at Sea Pines Resort each April.
He took up golf when he moved to Hilton Head, once getting down to a 3.5 handicap, although due to a still-busy travel schedule, he might play twice a week or go months without teeing it up. Whether or not golf is on his calendar, Smith is always happy to return home: "Hilton Head is just a fabulous place," he says.
Stan Smith moved from Southern California to Hilton Head Island.
Pegging It
"Like Pebble Beach, Harbour Town is a very elite course that's public, and it's still my favorite. It's tight, with the smallest greens on Tour, and such a challenge. You've got to find not just the fairway, but the correct part of the fairway. About five years ago, the Riverstone Group took over the resort. They were committed to getting the golf courses in great shape year-round, and now you can play in January, April, August, November, and they are always in fabulous condition.
Davis Love III came in to Sea Pines and redid—and renamed— Atlantic Dunes two years back, adding challenge and interest. It's a really fun course that can give you all you want. If you're well connected, some of the area's best golf is private. Pete Dye's Long Cove is the island's other very special course, just a magical place. Right off the island, there are three private clubs: Colleton River, Berkeley Hall and the place where I belong, Belfair, each with two excellent layouts."
Courtesy of Hudson's and Crazy Crab
Chowing Down
"One of the island's oldest restaurants is a place called Hudson's. It's right on Port Royal Sound and has lots of great Lowcountry stuff like fresh fish and shrimp boils. Another very popular place for seafood is Crazy Crab. The upscale Reilley's Grill and Bar has been big with locals for years, too. I'm also a fan of Michael Anthony's Cucina Italiana and, for fine dining in a more relaxed atmosphere, The Sage Room."
Courtesy of Hudson's
"The Sea Pines Forest Preserve is a protected natural area where you can take walking paths above the marsh areas— it's a real hidden gem. The island has won awards for its bicycling, and there are plenty of paths both in and out of Sea Pines, which itself takes up about a third of the island. You can even bicycle on the beaches, which are all public, and the sand can be very firm. The beaches are probably the island's top attraction— they go out really slowly, so it's very safe for kids. Another great thing for kids: Sea Pines has a nice equestrian program that includes pony rides."
"The famous Harbour Town Lighthouse is really a museum—the walls along its stairway show the history of the Lowcountry, of the area, of Sea Pines, the golf tournament, the tennis, the waterways, the land. Another big point of historical interest on the island is Mitchelville, which was created during the Civil War and was the first self-governed freedmen's town in America."
Breaking a Sweat
"The water around the island is special, ideal for everything from waterskiing to fishing. My son is the real fisherman in the family, and he raves about the redfish here. But he won't even tell me the best spots to go, so you'll have to ask around! Of course, we have a great tennis facility at Sea Pines, home of the Smith-Stearns Tennis Academy since 2002."


Protect the humans from being abducted.
Top overview of jet fighting game.
A 3D update to pong with curveball action.
Your an Amoeba and must stay alive.
Like snake only with a little girl and presents.
Aim your cannon and fire at computer player.
Frogger returns with its original graphics.


Private Pool | Good Community w/ 5BR B2 Villa in The Villa!
Get Mesmerized by this Mansion!
Fabulous 5BR Villa at Best Location with Private Pool!
Looking to buy a property in The Villa instead?
The Villa is a residential area developed jointly by Mazaya and Dubai Developers. This residential community offers a variety of houses and townhouses. The area is beautifully designed according to modern architectural trends of today. The Villa is in one of the residential developments within the city of Dubailand. The lush, green gardens add to the beauty of the area. Offering distinct real estate options with stunning structures and layouts, The Villa is a residential area developed right in the middle of new Dubai. Giving a touch of Mediterranean design aesthetics, the properties in this area are made up of carefully picked colour schemes and state-of-the-art layouts.
The Villa is a residential area that offers a number of properties up for both buying and renting. Developed by skilled developers Dubai Properties and Mazaya, the properties in The Villa rarely fail to grab the attention of people in search of luxurious homes away from the hustle and bustle of city life. The Aldea is one of the residences within this community which consists of villas of different sizes. There are a number of 4, 5 and 6-bedrooms villas as well as 2-bedroom townhouses available in this area. The average size of these houses starts from 3,600 sq. ft and goes up to to 6,400 sq. ft. The amenities offered with these villas include 24/7 security, electricity backup, storage area, prayer room, parking area and a centrally heating and cooling system. The bathrooms are fitted with stylish bathtubs for your convenience. Some of the homes have built-in wardrobes and a fitted kitchen. In addition to that, some houses also have a private garden and their very own swimming pool. The lush community of The Villa has beautifully landscaped streets, a mosque for prayers, a children's play area and a supermarket chain. Some townhouses in this area also have a private swimming pool. The properties in The Villa are well equipped with wireless internet and satellite TV. Some of these expensive marble-floored villas also have a separate sauna and a steam room.
The average rental price of a 4-bedroom house in The Villa ranges from AED 144,000 to AED 207,000 per annum. The rent of a 5-bedroom house in The Villa ranges between AED 149,990 and AED 300,000 per annum. Similarly, the yearly rent of a 6-bedroom house in this area starts from AED 185,000 and goes up to AED 294,990 per annum. However, a townhouse in this area can be rented for an average amount of AED 149,950 per annum. To further facilitate residents, multiple cheque methods are also in place.
Being a secure, family-friendly community in the middle of Dubailand, The Villa is situated at a prime location that is just a few minutes away from the city because of which people who work in the city can reach their job after just a short drive. Sheikh Zayed bin Hamdan al Nahyan Road stretches right in front of this residential community. Other popular places in this area include Ijaza Café, Gems School and Al Habtoor Polo Club and Resort.
Located near the famous Old Town and Dubai Silicon Oasis, The Villa offers a number of real estate options that are affordable as well as luxurious. Away from the hustle and bustle of the city, this is a sophisticated community with natural landscapes and lush pathways. Being close to everything, from reliable medical care facilities and pharmacies to high-standard educational institutes, the properties in The Villa have become a hotspot for people looking to invest in the Dubai real estate market.
I am looking for Properties to rent in The Villa, Dubai, UAE. Please let me know about any suitable properties you have. Thank you.


Is it time to stop talking about Due Dates?
When it comes to renewing or maintaining IP rights, there are few terms which generate as much attention as "Due Date". But as horrifying as it may sound, the industry really needs to finally stop talking about them, for two very important reasons.
What is a due date? In normal life, a due date is – forgive me for stating the obvious – a date that something is due? If the law for a given country is that the renewal is "Due" on the anniversary of filing, then you would assume that the renewal must be paid and secured on or before the anniversary of filing. This is almost always either false, or a gross over-simplification.
It is common for territory law to allow payment to be made by "the last day of the month in which the due date falls". Doesn't that mean – in practical, real, terms – that the Due Date should really be "the last day of the month in which the anniversary falls"?
If that doesn't complicate things enough; what happens if the anniversary is a Sunday and the IPO isn't open? Do the rules allow you to pay on the next working day? Sometimes yes, sometimes no. Let's say the anniversary was the last day of the month, and that day is a Sunday? Do you get a whole extra month? Or just one more day? The truth is, it varies by territory, and in some cases by filing route, or whether the case has previously lapsed and been restored, or any number of seemingly abstract factors. And this is just dealing with dates that exist: What happens when the filing date is the 29th February, for anniversaries on non leap years?
Let's say you've worked all of the above out, but a given territory also allows a further one month's surcharge-free grace period. The due date suddenly becomes quite an abstract notion.
Setting aside for the moment the issue of risk management, if a patent is renewed on the "due date", is it any more renewed than if it were renewed on the last day of the surcharge-free grace period?
If the cost is identical, exactly the same paperwork was involved, and the resulting rights are exactly the same, then what does the "due date" actually represent, except a fulcrum date about which to pivot the rules of the territory in order to work out a much more valuable date?
Nothing else actually matters, in practical terms. The "due date" only means anything if it also happens to be one of the above.
For this reason, we strongly urge the industry to stop considering the Due Date as a deadline at all. We understand that sounds nuts, but the next section explains why.
IP Formalities is all about risk-management. We're the proud owner of a 100% (zero-fail) record across hundreds of thousands of filings. We want to retain that record. So we're all about risk-management.
If the "due date" is [12 July], but you can pay by the last day of the month, and you also get an extra month's surcharge-free grace period, then (ignoring further complications, for the sake of simplicity) we place our focus on what is arguably the real deadline (and the one that matters): 31 August. We don't schedule reminders or other actions based on 12 July, but instead on 31 August.
This is the most common objection we receive. Great IP formalities people (the people we build our services for) spend the majority of their time in a state of controlled anxiety. They're organised, so it's controlled, but they care massively, so they're anxious. That's a good thing! The risks are massive.
If the risks are massive, and you rely on grace periods to mitigate these risks, then you're allowing yourself to give more of a safety net in some territories and less in others, purely depending on the law in that territory. You're allowing varying IP laws to determine the quality of your risk management, and are in other words not really controlling the management of the risk at all – someone else is.
If, instead, you always track the really important date (the date the official fees go up, or the critical deadline), and you've decided you would like to have a free-of-charge grace period of 1 month, then you can do that in every territory around the world regardless of that territory's law. Just set your internal reminders to require payment by 1 month before the date you track. You are then precisely controlling and managing risk on your own terms. This is less stressful for you (as human beings, unknowns are a major source of chronic underlying stress) and it's safer and clearer for your client.
Everyone knows where they stand, every time. You're no longer chasing clients with urgency when there is none, or receiving instructions dangerously late unnecessarily. It's all controlled.
The short answer is "because it's too complicated". At IP Centrum, we took the decision to track real, meaningful dates, rather than arbitrary ones, and so have a level of control and precision which is unprecedented anywhere else in the industry. We have had to gain a far more detailed understanding to a far greater level of precision than any of our competitors, and this is only because – if we want to provide the service we've designed – we have no choice but to do so.
Check out the Renewal Visualiser screen shot below, for a Validated Albanian patent.
There's a lot of information there which is simply not possible to display without a level of understanding beyond the extremes of that expected of other providers. The grey line is the price over time. The green diamond is the earliest date the renewal could legally be paid. The blue teardrops are price changes (in this case representing the exact moment of the start of each of the two surcharge periods), and the red crossed circle is the critical deadline. The "now" marker shows the current moment, and prior to that marker currency fluctuations can be seen. The green bar at the bottom is the "protection period", or in other words the period of rights that are gained by way of paying that renewal (the rules for which are not always as straight forward as you might imagine!).
The reason other providers base their reporting on "the due date" is because it's immeasurably easier to research and implement. But it leaves risk, ambiguity and dramatically reduces efficiency due to the number of questions that must be asked to gain full understanding in urgent or unusual cases.
IPC Renew allows you to set reminders (by on-screen alert, email, or even SMS message if you wish) at various intervals before price increases and/or critical deadlines.
Not a single mention of a due date.


text:
Les Débats est un quotidien généraliste algérien en langue française.

Description

Ligne éditoriale
Les rubriques de cet hebdomadaire sont :

 Actuelles
 Éditorial
 Les Quotidiens en débat
 Dossier
 Monde
 Idée
 Histoire
 La trame

Historique

Notes et références

Voir aussi

Articles connexes
 Liste de journaux algériens
 Médias en Algérie
 La presse francophone en Algérie
 Histoire de la presse écrite en Algérie

Lien externe
 Le site officiel du quotidien Les Débats

Titre de presse créé en 2000
Presse quotidienne en Algérie
Presse quotidienne en français
Presse écrite francophone en Algérie


text:
Study: Pa. students seem to prefer charter schools dominated by members of their own race
(Emma Lee/WHYY, file)
Few topics in education inspire more debate than school choice and school integration.
A new study co-authored by Penn State professors combines the two and reaches an eye-raising conclusion: When Pennsylvania students move from traditional public schools to charters, they tend to choose charters that are more racially homogeneous than the schools they left behind.
Black students, in other words, pick charters that are more heavily African-American than their former public schools. The same goes for Latino students.
Students choose these schools, the study authors found, even when nearby charters weren't as disproportionately dominated by members of their own race.
"Findings indicate that, holding distance and enrollment constant, black and Latino students are strongly averse to moving to charter schools with higher percentages of white students," the study's authors wrote. "White students are more likely to enroll in such charter schools."
The findings, published Monday in the academic journal Education Policy Analysis Archives, were based on a data set of more than 8,000 Pennsylvania students who first attended charters in the 2011-12 school year. More than three-quarters of the students in the analysis went to charter schools in Philadelphia.
This isn't the first study to link school choice and racial segregation. But it is designed to rebut a central critique of past academia in this area — namely that charter schools are more segregated because they're located in already-segregated neighborhoods.
The authors of this latest analysis wanted to test that theory.
To do so they examined how far students travelled from their home school when picking a charter and whether they tended to pick the closest school. The answer was no.
"In fact, the average distance to a chosen charter school was at least twice as far as the nearest charter school for black and Latino students regardless of age group," the authors wrote.
The study also looked at other choices students had when opting for a charter. They considered any school within a 10-mile radius of the student's home school to be a potential choice (a relatively generous definition in densely populated cities such as Philadelphia). They then determined how many choices for the average student fit into one of five demographic categories: 0-20 percent white; 20-40 percent white; 40-60 percent white; 60-80 percent white; and 80-100 percent white.
In all, they found most minority students did have choices that were in the 0-40 percent white range or the 60-100 percent white range.
On the flip side, they also found that for black and Latino students, overwhelmingly white charters tended to be about twice as far away as overwhelmingly nonwhite schools.
There is a lot to unpack, and it's a study that raises important issues. We reached out to lead author Erica Frankenberg, an education professor at Penn State University, for some follow-up questions.
The answers are edited and condensed for clarity.
Big picture, what did you find?
We found that, for black and Latino students, they were leaving traditional public schools that were fairly highly racially segregated [and] moved to charter schools that were even higher in segregation. So, on average, they went to charter schools that had 12 percent more students of their own race. So that's a fairly high jump.
For white students, it was mixed depending on what grade levels we were looking at. Basically, it washed out to being equal.
We saw some really interesting patterns when we looked at the choices they had. We saw — particularly in Philadelphia but in other metropolitan areas, as well — that students had a lot of different charter school options. Second, they didn't necessarily choose the charter school that was closest. We think of proximity as important, and it is. But they were obviously willing to go beyond the nearest charter school for various reasons.
And, third, we saw that black and Latino students tended to choose the schools that had lower white percentages. We saw the opposite finding for white students. They preferred enrolling in choices that were 60 to 100 percent white.
So you're essentially saying they might have bypassed options that were more racially diverse for schools that were less racially diverse? Or could you conclude that based on the analysis you did?
We couldn't exactly conclude that.
One of the things I found really surprising is the percentage who went to schools that weren't the closest. We don't necessarily know whether they were more integrative. In fact, one of the really interesting findings is that we divided charter schools into quintiles. There were the fewest options for most diverse. So we either had heavily white options or we had heavily nonwhite options.
Those diverse options didn't actually exist. Now they were bypassing options in which their enrollment would have made the school more diverse. But we don't know if that happened to be the one that was closest to them.
You don't in this analysis seem to speculate on why people make these choices — whether it's the marketing that the charter schools do that encourages this trend or whether it's the parents and families themselves who prefer more racially segregated schools. Do you have any guesses?
The mark of any interesting study is that it creates a lot more questions that you can't answer yet. What I really appreciated about this study in comparison to the rest — including others that I've done in this area — is that we are at least able to look at kind of what are the supply of charter school options that charter school movers had. That's something we haven't been able to look at before.
But we don't know why they are making those choices. I think it would require some in-depth, qualitative work to survey parents.
When you considered what schools should be termed viable choices for a family, you included schools within a 10-miles radius. Did I get that right?
Yes. That's right.
On that point, Pennsylvania law provides transportation at free cost to parents if you choose a charter school within your school district or up to 10 miles beyond your school district. So that's why we felt like 10 was a fair radius to think about in terms of what parents were actually considering.
Did you weight the choices based on how far they were or consider them all choices so long as they were within that radius?
We considered them all. But that's why we also included a distance variable in order to be able to both account for composition and distance for the student at the same time.
Since Philadelphia is such a huge part of this sample size, I'm curious if you worry about making that set of schools too large. Ten miles away, schools that are on the outer edge of that range are really not a viable choice in a really densely populated area — and also in an area where you're more likely to be commuting by public transportation as opposed to being in a car. Does that make sense?
Yeah. Just a couple points.
One is we looked at these findings for both the Philadelphia metro and all other students in the rest of the state because there are a number of unique contextual factors to Philadelphia. We didn't want that to influence our sample and the conclusions because Philadelphia stands for such a larger percentage. So we found similar patterns, whether it was in the Philadelphia metropolitan area or other metropolitan areas around the state.
To your last point on what was an actual choice or not. That's something we gave a lot of thought to and did some exploratory analyses to see whether our results were different based on different kinds of radii.
Obviously 10 miles can mean a lot of different things even within Philadelphia. Ultimately, we decided to go just on geography versus thinking about commuting time. But certainly that would also be a really interesting way to approach this, as well.
Do you know of anyone who has tried to do this analysis looking at magnet schools and other public schools that don't have neighborhood catchment areas associated with them? Do they find similar results?
There is one study that we cited. And it did find that higher percentages of black and Latino students made magnet schools and other public schools less desirable. That's one study.
I've studied the Louisville, Kentucky, school district which is in the news right now because Kentucky's trying to end its choice policy and return them to neighborhood schools. And one of the really interesting things is that a lot of parents are choosing schools outside of their neighborhood to send their kids. And this is an area with very deep residential segregation.
So that's a really interesting district to look at to think about. They don't have any charter schools there yet, but to look at how a choice system within the school district is having some very different choice patterns by parents.


In June 2014 an agreement has been signed between the historical partners of SONEL (IGN, SHOM, CNRS, University of la Rochelle and Toulouse) establishing the role and commitment of each partner and defining the governing bodies.
The agreement is available here (in french).
- Guy Wöppelmann, responsible of SONEL Data Assembly Centre.
- Médéric Gravelle, GPS data analyses & joint products with tide gauges.
- Mikael Guichard, IT infrastructure of SONEL data centre (GLOSS) and computing facility (IGS/TIGA).
- Elizabeth Prouteau, TIGA (IGS) Network Coordinator for GPS@TG stations.
- Etienne Poirier, GNSS stations and tide gauges installation and maintenance.
- Valérie Ballu, Marine geodesy, ocean altimetry.
- Alvaro Santamaria-Gomez, GPS data analyses.
- Carine Bruyninx, Support in GPS data management and analyses from EUREF experience (Royal Observatory of Belgium).
, RONIM tide gauge network.
, Collectes et traitements des données des marégraphes RONIM.
, National coordinator for in situ sea level observations.
, SONEL scientific coordinator, ROSAME network.
, Tide gauge data acquisition and local data centre for ROSAME.
, SONEL contact at IGN.
, installation of GNSS at tide gauges stations.
, coordinator of the Permanent GNSS Network (RGP).
, Levelling and tide gauges (Marseille).
, director of the Geodesy and Levelling Service (SGN) at IGN.


text:
Un crag and tail (glacialisme i periglacialisme) és un gep o turó rocós o penyal que ha estat format per l'acció d'una glacera i prolongat cap avall per una morena de fons acabada en forma de cua de peix.  Tenen una dimensió que va des de desenes de metres fins a quilòmetres de longitud, amb la cua apuntant en la direcció descendent. El turó, o penyal, sol ser de roca dura que ha resistit l'erosió glacial i forma obstrucció al glaç produint una "ombra de pressió" a sotavent. El penyal és una característica residual deixada per l'erosió glacial selectiva, mentre que la cua està dipositada per la deriva del glaç. S'estén seguint la direcció descendent i en proporció a la velocitat i el gruix del glaç i crea una zona gradualment reduïda d'erosió mínima o fins i tot una cavitat. El crag and tail sovint és una carena allargassada o un turó semblant a un drumlin.

Formació
Es formaren durant l'última glaciació quan les glaceres erosionaven el seu llit deixant una formació de roques especialment resistents (sovint granit, de vegades un pitó o alguna altra estructura volcànica resistent). La força de la glacera erosiona el material més tou del voltant, deixant el bloc rocós sobresortint del terreny circumdant. Freqüentment el crag protegeix el material que li queda al darrere i dona lloc a la formació de la cua.

Tipus
Encara que sovint són d'aparença semblant, hi ha dos tipus de crag and tail depenenent de la composició de la cua i dels processos que van intervenir en la seva formació.

 El crag and tail erosional consisteix en un penya-segat de roca altament resistent que protegia la roca mare menys resistent a sotavent de la força de l'erosió glacial. La cua d'aquest tipus està formada per roca mare.
 El crag-and-tails deposicional es va formar per l'entrada de sediments glacials en una cavitat produïda a sotavent de l'obstrucció de la roca i, per tant, té cua composta per sediments no consolidats. Solen ser de menor escala.

A la pràctica, és difícil diferenciar-ne els dos tipus, ja que tots dos poden tenir sediments glacials a la superfície de la cua. La importància d'aquestes formes del relleu és que, en comú amb les formes del llit subglacial, registren les direccions anteriors del flux de gel i indiquen que el gel es trobava al punt de fusió a pressió, la qual cosa va permetre lliscar al llit.

Exemples
L'afectació de grans àrees de la superfície de la Terra pel gel de les glaceres produeix una àmplia gamma de característiques com ara roques moltonades (roche moutonnée) o les roques baixes modelades pel glaç o de característiques deformacionals/deposicionals com els drumlins. [...] La probable evolució de les característiques dels crag and tail també ens proporciona informació valuosa sobre l'afectació i l'abast a la zona de contacte glacera/llit. Els crag and tail s'han utilitzat àmpliament en reconstruccions paleoglaciològiques com a indicadors de l'orientació del flux de glaç.

Un exemple de referència destacat és el crag and tail del castell d'Edimburg (Castle Rock (penyal) i Royal Mile (cua)). La seva presència és un recordatori constant que aquesta zona d'Escòcia va ser coberta per una capa de gel gruixuda fa menys de 20.000 anys. El turó allargat de roca mare és un dels diversos elements erosionats glacialment a la zona d'Edimburg.

Exemples de crag and tail:
 La Roca del Castell d'Edimburg, Escòcia, la roca sobre la qual es troba el Castell d'Edimburg.
 Penyes de Salisbury i Arthur's Seat, Edimburg
 North Berwick Law
 Castell de Stirling.

Referències

Glaciologia
Geografia física d'Escòcia
Banyons volcànics


The Rita triangle bra is inspired by tribal monochrome Aztec patterns to give a bold design with a negative-positive contrast creating a sophisticated look. The handmade crochet edging on the bra and pants features a geometric styling in black and white that neatly frames the panels. It fastens with adjustable handmade tasseled ties around the neck and back that are finished with an attractive toggled detail.
The Rita mini pants have a lower cut on the leg with a striking black and white handmade crochet geometric pattern on the waistband. Inspired by tribal monochrome Aztec patterns they fasten with adjustable ties, which have a contrasting white tassel detail, that hang softly on the hips.


text:
@interface FWSwipePlayerViewController : UIViewController

@property (nonatomic, strong)FWSwiperPlayerController *moviePlayer;

- (void)updateMoviePlayerWithInfo:(NSDictionary * )dict Config:(FWSwipePlayerConfig*)config;
- (void)updateMoviePlayerWithVideoList:(NSArray * )list Config:(FWSwipePlayerConfig*)configuration;
- (void)attachTo:(UIViewController*)viewController;

- (void)playStartAt:(NSTimeInterval)time;

-(void)stopAndRemove;

@end