text:
Grant Auto Services hails garage management software's "fantastic" MOT history feature
New on-demand button within Autowork Online has proved invaluable to the independent garage
Independent garage Grant Auto Services has recently moved to MAM Software's Autowork Online, and several of its features have already proved invaluable to the business. Among them is the new MOT history button, which equips technicians with the information they need to carry out servicing and repairs.
Autowork Online is MAM's feature-rich garage management software. The MOT history button was introduced in the spring 2019 release and provides users with direct access to vehicles' previous test records.
Owner of Grant Auto Services Andy Grant revealed that as an MOT centre, being able to access a vehicle's information so quickly and without having to leave the screen is really advantageous.
"Before we moved to Autowork Online, we used to retrieve these details manually by entering the government website, which we had bookmarked in an internet browser," said Andy.
"We've nicknamed the MOT history function 'the magic button', as we can now see the details of every vehicle that arrives at the garage. It is fantastic to have this information so easily available."
The MOT history button directly retrieves details from the DVSA database and can recall information on vehicles tested in England, Scotland or Wales dating as far back as 2006. Details include a vehicle's full MOT history, current expiry date, any advisories issued and the reasons for failures.
Grant Auto Services also decided to invest in data conversion when it implemented Autowork Online. "We now have 25 years' worth of customer, vehicle and work history on our new system. Our old invoices were also transferred over, which has proved really helpful," Andy explained.
Autowork Online is cloud-based, meaning Andy and his team do not have to manually back up data, or carry out regular updates and maintenance.
"Having a cloud-based system means I don't have to worry about anything," Andy noted. It is also possible for Andy to issue invoices and carry out other administrative tasks remotely, as he can log into the system from anywhere with a suitable internet connection.
"We have only been using Autowork Online for three months, but I can honestly say it's the best thing since sliced bread," Andy concluded.
MAM Software is exhibiting at this year's MECHANEX, taking place at Sandown Park, Surrey on 12 and 13 November. Visit us on stand D75.


text:
AT&T Simplifies Networking, Helps Save Costs for Businesses in 76 Countries and Territories
DALLAS – July 17, 2016 – AT&T* is launching a transformative solution that lets businesses easily and flexibly manage their network services. With AT&T Network Functions on Demand, businesses can deploy a single universal piece of equipment, choose virtualized functions and set them up in different countries. It helps save costs, it's quick to set up and easy to manage. Businesses will benefit from the consistent, integrated management experience – in locations around the globe.
AT&T Network Functions on Demand simplifies the process of buying and adding network functions. It reduces hardware requirements so businesses can create a simple, more agile network experience. And it's now available in 76 countries and territories, including:
AMERICAS – Argentina, Brazil, Canada, Chile, Colombia, Costa Rica, Curacao, Dominican Republic, Ecuador, El Salvador, Guatemala, Mexico, Panama, Peru, Puerto Rico, United States, Uruguay, U.S. Virgin Islands and Venezuela
ASIA PAC – Australia, Hong Kong, India, Indonesia, Japan, Malaysia, New Zealand, Philippines, Singapore, South Korea, Taiwan and Thailand
EMEA – Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Israel, Italy, Latvia, Liechtenstein, Lithuania, Luxembourg, Morocco, Netherlands, Norway, Pakistan, Poland, Portugal, Romania, Russia, Slovakia, Slovenia, South Africa, Spain, Sweden, Switzerland, Turkey and the United Kingdom
Before, adding a router or firewall could take weeks – even months. Businesses had to buy multiple appliances to run these specific networking functions. It's expensive, cumbersome and takes too long.
"Building networks by deploying network functions in software is a major shift in network design," said Ralph de la Vega, Vice Chairman of AT&T Inc. and CEO of AT&T Business Solutions and International. "We've broken through traditional, cost-prohibitive barriers. Our software platform delivers a simple, flexible and efficient experience for any business, virtually anywhere and anytime they need it."
Our software-defined network technology is behind the AT&T Network on Demand platform. The platform offers a highly secure and scalable network built to meet customers' individual needs. It speeds ordering, simplifies network operations and helps improve total cost of ownership. This provides customers with a foundation to create flexible services that can grow as their needs change.
AT&T Network Functions on Demand is the third service we're rolling out on the platform.
Leading global companies are interested in the service. One is global appliance manufacturing company, Fisher & Paykel.
"We quickly realized AT&T Network Functions on Demand would help us transform our business. We can launch, change and manage network functions in our offices around the world quickly and easily," said Jon White, General Manager, Information Technology, Fisher & Paykel Appliances Ltd. "We often talk about simplifying our on-site network infrastructure upgrades and deployments – this solution checks that box. It will not only provide us with visibility and control to drive down IT and operations costs, but also help us quickly respond to evolving business needs."
The first AT&T Network Functions on Demand capabilities that customers can choose from include:
Juniper Networks virtual routing
Cisco virtual router
Fortinet virtual security
Riverbed virtual WAN optimization
Since its launch in 2015, more than 1,200 businesses across multiple industries have signed up for AT&T Network on Demand solutions. We'll continue to add additional products and features on the platform in the future.
Businesses looking to increase their business agility can visit www.att.com/nfv to learn more.
*AT&T products and services are provided or offered by subsidiaries and affiliates of AT&T Inc. under the AT&T brand and not by AT&T Inc.
AT&T Inc. (NYSE: T) helps millions around the globe connect with leading entertainment, mobile, high speed internet and voice services. We're the world's largest provider of pay TV. We have TV customers in the U.S. and 11 Latin American countries. We offer the best global coverage of any U.S. wireless provider.* And we help businesses worldwide serve their customers better with our mobility and highly secure cloud solutions.
Additional information about AT&T products and services is available at http://about.att.com. Follow our news on Twitter at @ATT, on Facebook at http://www.facebook.com/att and YouTube at http://www.youtube.com/att.
© 2016 AT&T Intellectual Property. All rights reserved. AT&T, the Globe logo and other marks are trademarks and service marks of AT&T Intellectual Property and/or AT&T affiliated companies. All other marks contained herein are the property of their respective owners.
*Global coverage claim based on offering discounted voice and data roaming; LTE roaming; voice roaming; and world-capable smartphone and tablets in more countries than any other U.S. based carrier. International service required. Coverage not available in all areas. Coverage may vary per country and be limited/restricted in some countries.

redpajama_set_name: RedPajamaCommonCrawl


text:
WH Press Secretary Sarah Sanders Reportedly Considering Run For Governor Of Arkansas
By cloverchronicle on June 13, 2019
President Trump recently announced White House Press Secretary Sarah Sanders would be stepping down from her post by the end of June:
After 3 1/2 years, our wonderful Sarah Huckabee Sanders will be leaving the White House at the end of the month and going home to the Great State of Arkansas….
Shortly before the announcement, CNN reported Sanders had mentioned the possibility that she would run for governor of Arkansas in a few years:
In private conversations in recent weeks, Sanders has floated running for Arkansas governor, according to two people familiar with the talks. Arkansas Gov. Asa Hutchinson was re-elected just last year, so unless he steps down early — or is appointed to something — the governor's office in Little Rock isn't open until January 2023.
She has told colleagues and friends that she thinks running for office would be a good next move for her, instead of taking a television job upon her departure.
In another tweet, Trump called Sanders a "very special person" who had done an "incredible job" and said he hopes she decides to run for governor of Arkansas:
….She is a very special person with extraordinary talents, who has done an incredible job! I hope she decides to run for Governor of Arkansas – she would be fantastic. Sarah, thank you for a job well done!
During an emotional press conference with Trump on Thursday, Sanders avoided the rumor and instead praised the POTUS and said she would be spending more time with her family after leaving the job:
"I'll try not to get emotional. Because I know that crying can make us look weak sometimes, right? This has been the honor of a lifetime, the opportunity of a lifetime.
"I couldn't be prouder to have had the opportunity to serve my country and particularly to work for this president. He has accomplished so much in these two and a half years, and it's truly been something that I will treasure forever. It's one of the greatest jobs I could ever have.
"I have loved every minute, even the hard minutes. I've loved it. I love the president. I've love the team that I've had the opportunity to work for. The president is surrounded by some of the most incredible and most talented people you could ever imagine, and it's truly the most special experience. The only one I can think of that might top it just a little bit is the fact that I'm a mom. I have three amazing kids. I'm going to spend a little more time with them."
The press secretary said she would continue to be an outspoken supporter of the president.
Image Credit: Chip Somodevilla / Getty
Published in Politics and U.S.
sarah sanders
More from U.S.More posts in U.S. »


text:
Auto::Auto(btVector3 startPos, btQuaternion startRot, GLuint shaderprog, btDiscreteDynamicsWorld *world, GLuint specular_loc)
    : Car("res/racing/auto.obj", "res/racing/auto.png", "res/racing/auto_NRM.png", shaderprog, btScalar(10), startPos, startRot, glm::vec3(1, 1, 1), specular_loc)
{
    initialize(world);

    load_mesh("res/racing/rueda.obj", wheel_vao, wheel_vert);
    load_texture2(shaderprog, "res/racing/rueda.png", wheel_tex, wheel_texLocation);

    setHealth(25.f);
    fireRate = 5.f;
}

Auto::~Auto() {}

void Auto::initialize(btDiscreteDynamicsWorld *world)
{
    setWorld(world);
    btRaycastVehicle::btVehicleTuning *tuning = new btRaycastVehicle::btVehicleTuning();
    btVehicleRaycaster *defvehicle = new btDefaultVehicleRaycaster(world);
    getRigidBody()->setActivationState(DISABLE_DEACTIVATION);
    getRigidBody()->setUserPointer(this);
    btRaycastVehicle *vehicle = new btRaycastVehicle(*tuning, getRigidBody(), defvehicle);
    vehicle->setCoordinateSystem(0, 1, 2);

    world->addAction(vehicle);

    btVector3 wheelDirection(0.0f, -1.0f, 0.0f);
    btVector3 wheelAxis(-1.0f, 0.0f, 0.0f);
    btScalar suspensionRestLength(0.2f);                                                                                //TODO: PARAM
    btScalar wheelRadius(2.f);                                                                                //TOCO: PARAM
    vehicle->addWheel(btVector3(-5.6f, 1.69f, 7.3), wheelDirection, wheelAxis, suspensionRestLength, wheelRadius, *tuning, true);   //TODO: PARAM
    vehicle->addWheel(btVector3(3.f, 1.69f, 7.3), wheelDirection, wheelAxis, suspensionRestLength, wheelRadius, *tuning, true);    //TODO: PARAM
    vehicle->addWheel(btVector3(-5.6f, 1.69f, -6.32f), wheelDirection, wheelAxis, suspensionRestLength, wheelRadius, *tuning, false);  //TODO: PARAM
    vehicle->addWheel(btVector3(3.f, 1.69f, -6.32f), wheelDirection, wheelAxis, suspensionRestLength, wheelRadius, *tuning, false); //TODO: PARAM

    this->setCar(vehicle);
    for (int i = 0; i < getCar()->getNumWheels(); i++)
    {
        btWheelInfo &wheel = getCar()->getWheelInfo(i);
        //wheel.m_wheelsDampingRelaxation = 1.7f;    //TODO: PARAM
        //wheel.m_wheelsDampingCompression = -1.7f;   //TODO: PARAM
        wheel.m_frictionSlip = btScalar(10000.); //TODO: PARAM
        wheel.m_rollInfluence = btScalar(0.f);   //TODO: PARAM
        wheel.m_maxSuspensionTravelCm = 100.f;   //TODO: PARAM
    }
    setIsAlive(true);

    frontLight1 = new Spotlight(glm::vec3(0.59f, 2.13f, 2.88f), glm::vec3(0.f, 0.f, 0.f), glm::vec3(0, 0, -1.f), 15.f);
    frontLight2 = new Spotlight(glm::vec3(-0.59f, 2.13f, 2.88f), glm::vec3(0.f, 0.f, 0.f), glm::vec3(0, 0, -1.f), 15.f);
}

void Auto::updatePhysics()
{
    if (!getTurned())
    {
        if (getCar()->getSteeringValue(0) > 0)
        {
            getCar()->setSteeringValue(getCar()->getSteeringValue(0) - 0.030f, 0); //TODO: PARAM
            getCar()->setSteeringValue(getCar()->getSteeringValue(1) - 0.030f, 1); //TODO: PARAM
            if (getCar()->getSteeringValue(0) < 0)
            {
                getCar()->setSteeringValue(0, 0);
                getCar()->setSteeringValue(0, 1);
            }
        }
        else if (getCar()->getSteeringValue(0) < 0)
        {
            getCar()->setSteeringValue(getCar()->getSteeringValue(0) + 0.03f, 0); //TODO: PARAM
            getCar()->setSteeringValue(getCar()->getSteeringValue(1) + 0.03f, 1); //TODO: PARAM
            if (getCar()->getSteeringValue(0) > 0)
            {
                getCar()->setSteeringValue(0, 0);
                getCar()->setSteeringValue(0, 1);
            }
        }
    }
    else
    {
        setTurned(false);
    }
    getCar()->setBrake(0, 0);
    getCar()->setBrake(0, 1);
    getCar()->setBrake(0, 2);
    getCar()->setBrake(0, 3);
    if (getCar()->getCurrentSpeedKmHour() > 0.f)
    {
        sound->reproducir(2, AL_TRUE, (getCar()->getCurrentSpeedKmHour() * 0.01) + 0.05);
    }
    else if (getCar()->getCurrentSpeedKmHour() < 0.f)
    {
        sound->reproducir(2, AL_TRUE, ((getCar()->getCurrentSpeedKmHour() * 0.01) + 0.05) * -1);
    }
    this->getCar()->applyEngineForce(0, 0); //TODO: Param
    this->getCar()->applyEngineForce(0, 1);
}

void Auto::draw(GLuint model_mat_location)
{
    btTransform trans;
    this->getRigidBody()->getMotionState()->getWorldTransform(trans);

    model = glm::translate(glm::mat4(), glm::vec3(trans.getOrigin().getX(), trans.getOrigin().getY(), trans.getOrigin().getZ()));
    model = glm::rotate(model, trans.getRotation().getAngle(), glm::vec3(trans.getRotation().getAxis().getX(), trans.getRotation().getAxis().getY(), trans.getRotation().getAxis().getZ()));
    btVector3 escala = getRigidBody()->getCollisionShape()->getLocalScaling();
    model = glm::scale(model, glm::vec3(escala.getX(), escala.getY(), escala.getZ()));

    glUniformMatrix4fv(model_mat_location, 1, GL_FALSE, &model[0][0]);

    glActiveTexture(GL_TEXTURE0);
    glBindTexture(GL_TEXTURE_2D, this->getTexture());
    glUniform1i(tex_location, 0);
glActiveTexture (GL_TEXTURE1);
	glBindTexture (GL_TEXTURE_2D, this->normalMap);
    glUniform1i (normalMapLocation, 1);

    glBindVertexArray(this->getVao());
    glDrawArrays(GL_TRIANGLES, 0, this->getVertNumber());

    for (int i = 0; i < this->getCar()->getNumWheels(); i++)
    {
        trans = this->getCar()->getWheelInfo(i).m_worldTransform;
        glm::quat hele = glm::angleAxis(trans.getRotation().getAngle(), glm::vec3(trans.getRotation().getAxis().getX(), trans.getRotation().getAxis().getY(), trans.getRotation().getAxis().getZ()));
        glm::mat4 model2 = glm::toMat4(hele);
        glm::mat4 model3 = glm::translate(glm::mat4(), glm::vec3(trans.getOrigin().getX(), trans.getOrigin().getY(), trans.getOrigin().getZ()));

        model3 = model3 * model2;
        model3 = glm::scale(model3, glm::vec3(escala.getX()*2, escala.getY()*2, escala.getZ()*2));
        glUniformMatrix4fv(model_mat_location, 1, GL_FALSE, &model3[0][0]);

        glActiveTexture(GL_TEXTURE0);
        glBindTexture(GL_TEXTURE_2D, wheel_tex);
        glUniform1i(wheel_texLocation, 0);

        glBindVertexArray(wheel_vao);
        glDrawArrays(GL_TRIANGLES, 0, wheel_vert);
    }
}
void Auto::accelerate()
{
    if (getCar()->getCurrentSpeedKmHour() < 150.f)
    {
        this->getCar()->applyEngineForce(85, 0); //TODO: Param
        this->getCar()->applyEngineForce(85, 1);
    }
}
void Auto::brake()
{
    getCar()->setBrake(btScalar(1.5), 0); //TODO: PARAM
    getCar()->setBrake(btScalar(1.5), 1); //TODO: PARAM
    getCar()->setBrake(btScalar(1.5), 2); //TODO: PARAM
    getCar()->setBrake(btScalar(1.5), 3); //TODO: PARAM
    if (getCar()->getCurrentSpeedKmHour() > 125.f)
    {
        sound->reproducir(1, AL_FALSE, 1.0);
    }
}
void Auto::reverse()
{
    //TODO: ADD LIMIT
    this->getCar()->applyEngineForce(-50, 0); //TODO: Param
    this->getCar()->applyEngineForce(-50, 1); //TODO: PARAM
}

void Auto::turnRight()
{
    if (getCar()->getSteeringValue(0) > -0.4f && getCar()->getSteeringValue(1) > -0.4f)
    {
        getCar()->setSteeringValue(getCar()->getSteeringValue(0) - 0.02f, 0); //TODO: Param
        getCar()->setSteeringValue(getCar()->getSteeringValue(1) - 0.02f, 1); //TODO: PARAM
    }
    setTurned(true);
}
void Auto::turnLeft()
{
    if (getCar()->getSteeringValue(0) < 0.4f && getCar()->getSteeringValue(1) < 0.4f)
    {
        getCar()->setSteeringValue(getCar()->getSteeringValue(0) + 0.02f, 0); //TODO: PARAM
        getCar()->setSteeringValue(getCar()->getSteeringValue(1) + 0.02f, 1); //TODO: PARAM
    }
    setTurned(true);
}

void Auto::fire()
{
    if (lastShot + (1 / fireRate) < currentTime)
    {
        btTransform trans;
        this->getRigidBody()->getMotionState()->getWorldTransform(trans);
        btVector3 start = trans.getOrigin() + btVector3(0, 5, 0); //TODO: PARAM
        btQuaternion q = trans.getRotation();
        btVector3 direction = btVector3(2 * (q.x() * q.z() + q.w() * q.y()), 2 * (q.y() * q.z() - q.w() * q.x()), 1 - 2 * (q.x() * q.x() + q.y() * q.y()));

        btVector3 end = start + 500 * direction; //TODO: PARAM alcance maximo balas

        getWorld()->getDebugDrawer()->drawLine(start, end, btVector3(0, 0, 0));
        btCollisionWorld::ClosestRayResultCallback RayCallback(start, end);
        getWorld()->rayTest(start, end, RayCallback);

        if (RayCallback.hasHit())
        {
            Car *targ = (Car *)RayCallback.m_collisionObject->getUserPointer();
            if (targ != nullptr)
                targ->setHealth(targ->getHealth() - 1.0f);
        }
        glm::vec4 gunOne = glm::vec4(3.35f, 2.34f, 2.52f, 1.f);
        glm::vec4 gunTwo = glm::vec4(-3.35f, 2.34f, 2.52f, 1.f);

        //TODO: OPTIMIZE AND INSTANTIATE
        glm::vec3 gunOne1 = model * gunOne;
        glm::vec3 gunTwo2 = model * gunTwo;

        if (RayCallback.hasHit())
        {
            particleManager->genGunshot(btVector3(gunOne1.x, gunOne1.y, gunOne1.z), RayCallback.m_hitPointWorld);
            particleManager->genGunshot(btVector3(gunTwo2.x, gunTwo2.y, gunTwo2.z), RayCallback.m_hitPointWorld);
        }
        else
        {
            particleManager->genGunshot(btVector3(gunOne1.x, gunOne1.y, gunOne1.z), end);
            particleManager->genGunshot(btVector3(gunTwo2.x, gunTwo2.y, gunTwo2.z), end);
        }
        lastShot = currentTime;
        sound->reproducir(3, AL_FALSE, 1.0);
    }
}

void Auto::spawn() {}
void Auto::despawn(btDiscreteDynamicsWorld *world)
{
    btCollisionShape *col = getRigidBody()->getCollisionShape();
    btRigidBody *rb = getRigidBody();

    world->removeCollisionObject(rb);
    world->removeAction(car);
}

redpajama_set_name: RedPajamaGithub


оклейка обоев спб - поклейка обоев цена за м, оклейка обоев спб.
Hi there! buy diflucan no rx good web page.
Hi there! buy fluconazole online great website.


text:
from django.test import TestCase
from curious.query import Parser
import humanize

class TestParserCore(TestCase):

  def test_parsing_model_and_filter(self):
    p = Parser('A(1)')
    self.assertEquals(p.object_query, {'model': 'A', 'method': None,
                                       'filters': [{'method': 'filter', 'kwargs': {'id': '1'}}]})
    self.assertEquals(p.steps, [])

  def test_parsing_kv_filters_in_steps(self):
    p = Parser('A(1) B.b(a=1, b="2", c=True, d=[1,2, 3])')
    self.assertEquals(p.object_query, {'model': 'A', 'method': None,
                                       'filters': [{'method': 'filter', 'kwargs': {'id': '1'}}]})
    self.assertEquals(p.steps, [{
      'model': 'B', 'method': 'b',
      'filters': [{'method': 'filter', 'kwargs': {'a': 1, 'b': '2', 'c': True, 'd': [1, 2, 3]}}]
    }])

  def test_parsing_relationship_and_filters(self):
    qs = 'Blog(1) Blog.entry_set Entry.authors(name__icontains="Smith")'
    q = Parser(qs)

    self.assertEquals(q.object_query['model'], 'Blog')
    self.assertEquals(q.object_query['method'], None)
    self.assertEquals(q.object_query['filters'], [dict(method='filter', kwargs=dict(id='1'))])
    self.assertEquals(q.steps, [
      dict(model='Blog', method='entry_set', filters=[]),
      dict(model='Entry', method='authors', filters=[
        dict(method='filter', kwargs=dict(name__icontains='Smith')),
      ])
    ])

  def test_parsing_multiple_filters(self):
    qs = 'Entry(1) Entry.authors(name__icontains="Smith").exclude(name__icontains="Joe")'
    q = Parser(qs)

    self.assertEquals(q.object_query['model'], 'Entry')
    self.assertEquals(q.object_query['method'], None)
    self.assertEquals(q.object_query['filters'], [dict(method='filter', kwargs=dict(id='1'))])
    self.assertEquals(q.steps, [dict(model='Entry', method='authors', filters=[
      dict(method='filter', kwargs=dict(name__icontains='Smith')),
      dict(method='exclude', kwargs=dict(name__icontains='Joe')),
    ])])

  def test_parsing_joins(self):
    qs = 'Blog(1), Blog.entry_set'
    q = Parser(qs)

    self.assertEquals(q.object_query['model'], 'Blog')
    self.assertEquals(q.object_query['method'], None)
    self.assertEquals(q.object_query['filters'], [dict(method='filter', kwargs=dict(id='1'))])
    self.assertEquals(q.steps, [dict(join=True, model='Blog', method='entry_set', filters=[])])

  def test_parsing_or_queries(self):
    qs = 'Blog(1), (Blog.entry_set_a) | (Blog.entry_set_b)'
    q = Parser(qs)

    self.assertEquals(q.object_query['model'], 'Blog')
    self.assertEquals(q.object_query['method'], None)
    self.assertEquals(q.object_query['filters'], [dict(method='filter', kwargs=dict(id='1'))])

    self.assertEquals(q.steps, [dict(join=True, orquery=[
      [dict(model='Blog', method='entry_set_a', filters=[])],
      [dict(model='Blog', method='entry_set_b', filters=[])],
    ])])

  def test_parsing_sub_queries(self):
    qs = 'Blog(1) (Blog.entry_set)'
    q = Parser(qs)

    self.assertEquals(q.object_query['model'], 'Blog')
    self.assertEquals(q.object_query['method'], None)
    self.assertEquals(q.object_query['filters'], [dict(method='filter', kwargs=dict(id='1'))])
    self.assertEquals(q.steps, [dict(having=None, join=False, subquery=[
      dict(model='Blog', method='entry_set', filters=[]),
    ])])

  def test_parsing_sub_queries_with_plus(self):
    qs = 'Blog(1) +(Blog.entry_set)'
    q = Parser(qs)

    self.assertEquals(q.object_query['model'], 'Blog')
    self.assertEquals(q.object_query['method'], None)
    self.assertEquals(q.object_query['filters'], [dict(method='filter', kwargs=dict(id='1'))])
    self.assertEquals(q.steps, [dict(having='+', join=False, subquery=[
      dict(model='Blog', method='entry_set', filters=[]),
    ])])

  def test_parsing_sub_queries_with_minus(self):
    qs = 'Blog(1) -(Blog.entry_set)'
    q = Parser(qs)

    self.assertEquals(q.object_query['model'], 'Blog')
    self.assertEquals(q.object_query['method'], None)
    self.assertEquals(q.object_query['filters'], [dict(method='filter', kwargs=dict(id='1'))])
    self.assertEquals(q.steps, [dict(having='-', join=False, subquery=[
      dict(model='Blog', method='entry_set', filters=[]),
    ])])

  def test_parsing_left_join_sub_queries(self):
    qs = 'Blog(1) ?(Blog.entry_set)'
    q = Parser(qs)

    self.assertEquals(q.object_query['model'], 'Blog')
    self.assertEquals(q.object_query['method'], None)
    self.assertEquals(q.object_query['filters'], [dict(method='filter', kwargs=dict(id='1'))])
    self.assertEquals(q.steps, [dict(having='?', join=False, subquery=[
      dict(model='Blog', method='entry_set', filters=[])
    ])])

  def test_parsing_or_query_in_sub_query(self):
    qs = 'Blog(1) ((Blog.entry_set_a)|(Blog.entry_set_b))'
    q = Parser(qs)

    self.assertEquals(q.object_query['model'], 'Blog')
    self.assertEquals(q.object_query['method'], None)
    self.assertEquals(q.object_query['filters'], [dict(method='filter', kwargs=dict(id='1'))])

    self.assertEquals(q.steps, [
      dict(having=None, join=False, subquery=[
        dict(join=False, orquery=[
          [dict(model='Blog', method='entry_set_a', filters=[])],
          [dict(model='Blog', method='entry_set_b', filters=[])],
        ]),
      ])
    ])

class TestDateTimeParsing(TestCase):

  def test_does_not_auto_convert_date_strings(self):
    p = Parser('A(1) B.b(a="3 days ago")')
    self.assertEquals(p.steps, [{'model': 'B', 'method': 'b',
                                 'filters': [{'method': 'filter',
                                              'kwargs': {'a': '3 days ago'}}]}])

  def test_converts_date_strings_with_years(self):
    p = Parser('A(1) B.b(a=t"3 years ago")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    t_natural = str(humanize.naturaltime(t))
    self.assertEquals(t_natural, "3 years ago")

    p = Parser('A(1) B.b(a=t"10 years from now")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    t_natural = str(humanize.naturaltime(t))
    self.assertEquals(t_natural, "10 years from now")

  def test_converts_date_strings_with_days(self):
    p = Parser('A(1) B.b(a=t"3 days ago")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    t_natural = str(humanize.naturaltime(t))
    self.assertEquals(t_natural, "3 days ago")

    p = Parser('A(1) B.b(a=t"3 days 15 minutes from now")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    t_natural = str(humanize.naturaltime(t))
    self.assertEquals(t_natural, "3 days from now")

  def test_converts_date_strings_with_minutes(self):
    p = Parser('A(1) B.b(a=t"2 minutes ago")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    t_natural = str(humanize.naturaltime(t))
    self.assertEquals(t_natural, "2 minutes ago")

    p = Parser('A(1) B.b(a=t"10 minutes 10 seconds from now")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    t_natural = str(humanize.naturaltime(t))
    self.assertEquals(t_natural, "10 minutes from now")

  def test_converts_date_strings_with_seconds(self):
    p = Parser('A(1) B.b(a=t"10 seconds ago")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    t_natural = str(humanize.naturaltime(t))
    self.assertEquals(t_natural, "10 seconds ago")

    p = Parser('A(1) B.b(a=t"10 seconds from now")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    t_natural = str(humanize.naturaltime(t))
    self.assertIn(t_natural, ["10 seconds from now", "9 seconds from now"])

  def test_converts_date_strings_with_year_and_days_incorrectly(self):
    p = Parser('A(1) B.b(a=t"1 year 3 days ago")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    t_natural = str(humanize.naturaltime(t))
    self.assertIn("11 months", t_natural)

  def test_converts_a_specific_date(self):
    p = Parser('A(1) B.b(a=t"Aug 22nd 2014")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    self.assertEquals(t.year, 2014)
    self.assertEquals(t.month, 8)
    self.assertEquals(t.day, 22)

    p = Parser('A(1) B.b(a=t"8/22/2014")')
    t = p.steps[0]['filters'][0]['kwargs']['a']
    self.assertEquals(t.year, 2014)
    self.assertEquals(t.month, 8)
    self.assertEquals(t.day, 22)


These messy papers are sure to heat up your pages! Created by Shelby to go with her ICE papers, they are HOT! Be sure to check out the rest of the Messy Paper Collection and mix and match for a fun look on your pages or even hybrid projects.


If you feel that you share the same values and high professional standard then please contact us.
Role: We presently do not have any vacancies. However, we always welcome speculative CV from people who share our high professional standards.


When Henry VIII, thwarted in his desire to have his marriage to his first wife annulled, cut off ties to Rome, declaring himself the Supreme Head of the Church of England, his first order of business was to order the dissolution of England's convents and monasteries.
Between 1536 and 1540, he shut down over 800 monasteries, abbeys and convents, reaping their great accumulated wealth, and effectively neutralizing any political opposition that might have come from the 10,000 displaced religious and their followers.
While some of these sacred buildings were sold off to private owners, others were taken over by England's new state church. Many others were destroyed or left to ruin.
Here are the haunting remains of England's Catholic past.


text:
uint32_t atou32(const char* s) {
  uint32_t u = 0;
  for (; *s >= '0' && *s <= '9'; ++s) {
    u = u * 10 + (*s - '0');
  }
  return u;
}

int main(int argc, char* argv[]) {
#ifdef __x86_64__
  // Check that frame pointer is 16-byte aligned on x86_64.
  // The stack pointer before main() is called should be 16-byte aligned.
  // The frame pointer should have the value of old stack pointer + 16 here.
  const uintptr_t frame_ptr =
      reinterpret_cast<uintptr_t>(__builtin_frame_address(0));
  if (frame_ptr % 16 != 0) {
    return 1;
  }
#endif

  // Just use the last command line argument as exit code.
  return argc > 1 ? atou32(argv[argc - 1]) : 0;
}


This is the first diary entry I am going to share with you every month! I'll tell you a little about what our month was like and what we got up to!
I am Vicky and my boyfriend Benny and I have 4 children! Roos has just turned 7, Saar is 5 and our twins Mees and Daan are 4. A busy family as you can imagine, with loads of laundry and the clothes that go with it!
They've already played and walked outdoors a great deal this month… we've had such lovely weather! Sun, Sea and Surf is a favourite with all of us, and playing with the kids from the neighbourhood is daily fare for the children.
It was Roos's birthday last month and it was a big celebration… your kid's birthday will always be special. Somehow, it always makes me a bit sentimental, because it makes me sad that they wake up a year older than they were when they went to bed. Days such as these often make you realise that time goes so quickly and that they are only young for a very short time. I remember them being born and us becoming a mum and dad for the first time as if it happened yesterday.
However, when it rains, shorts are actually quite chilly and those long trousers would have come in very handy! I also packed too few socks…and no jumpers, only a cardigan. But fine… there was no need to panic, we were on holiday, after all!
This year, we are taking some pretty pieces from the new Noppies collection and if the weather is bad, they certainly won't be cold!
Roos and Saar are completely in love with the reversible dress… going to school the morning wearing stripes and switching to a different print after gym class… is actually very handy for the ladies, as they often come home with their clothes on inside out after gym class anyway! But now, it's time for our holiday!
Enjoy the summer holidays and see you next month!
Vicky - mother of 4 - offers a glimpse into her busy family life every day in her Circusbeer Instagram. She has two girls and two boys with her boyfriend Benny. Roos is 7 years old, Saar is 5 and twins Mees and Daan are 4 years old. It's for good reason that Vicky was rated "Best Instagrammer" of the year. Thanks to her passion for photography and her stylish children, Circusbeer's instagram feed is a true source of inspiration.


Billy Collins is the former Poet Laureate of the United States and perhaps the most famous and widely read of living poets today. His poems are accessible and very readable, but do not shy away from tough or poignant subject matter. They are also, often, very funny. In this collection, the best poems, like the title poem, deal with death, sometimes grimly, sometimes humorously, often in ways you don't see coming. Highly recommended for those with an interest in poetry or especially those who think they might be interested but aren't sure where to begin.
Sign into Goodreads to see if any of your friends have read Horoscopes for the Dead.


The most popular vape juice of 2017 is Bubble Gum flavored e-cig liquid. Enjoy your vaping experience with delicious bubble gum e juice at VZ, USA.
Vaping Zone's Bubble Gum flavored vape juice is the most popular e cig liquid of 2017. The bubble gum e juice is made in the USA.
Vaping Zone offers one of the largest selections of e juice flavors in the world. Bubble gum is the one of the best E-Liquid. This Bubblegum E-Liquid is exactly how you remember it as a child. The sugary and juicy flavour has a long lasting sweet aroma. You can read our bubble gum ejuice reviews and then try it out.
Fill your e-cigarette up with your favorite e-liquid flavor, take a deep breath and start vaping. Enjoy simply delicious and awesome experience with Vaping Zone's bubblegum flavored e juice.


text:
UIU Administration
The Upper Iowa University leadership team is made up of dedicated professionals with a wealth of knowledge and experiences. Also known as President Council, the UIU leadership team is dedicated to the success of our students and the mission, vision and values of the Upper Iowa University.
Dr. William R. Duffy II
Prior to being selected as president by the UIU Board of Trustees, Dr. Duffy served Upper Iowa as the senior vice president for Academic Extension for four years. He was responsible for off-campus offerings at the 19 UIU education centers in the United States and the UIU distance education programs globally, which includes online and the self-paced degree program. In September 2012, Dr. Duffy also assumed leadership of the UIU Integrated Enrollment Center and the Office of Information Technology which provide essential services to all elements of the University.
Before joining UIU, Dr. Duffy served 12 years as the executive director at the University of Tennessee at Martin, where he had similar responsibilities with extended campus operations, and also served as a full-time faculty and department chair. During his tenure at UT Martin, he also conducted extensive research on student persistence and performance which was published in 2010 as a chapter in the Harvard Education Press book, "A Critical Examination of the Advanced Placement Program."
Dr. Duffy is a retired lieutenant colonel who served 20 years as an active duty infantry officer in the U.S. Army, in which he held numerous leadership positions that involved planning, organizing, managing resources/equipment and recruiting in locations around the world. He received his bachelor's degree from the U.S. Military Academy, master's degree and education specialist degree from Appalachian State University, and his doctorate from the University of Memphis. He and his wife, Sharon, have two daughters (Dawn and Maryann), and five grandchildren (Ryan, Brilee, Madison, Bree, and William).
Dr. Doug Binsfeld
Vice President of Academic and Student Affairs
Kathy Franken
Vice President for Enrollment and Interim Vice President for Finance
Kathy Franken has been with Upper Iowa University since 2008 and became the Vice President for Enrollment Management in September of 2015. Franken provides leadership and direction for all enrollment, registrar, student success, retention, operations, and financial aid throughout the university including the residential Fayette campus, Online, Center locations (domestic and international) and Self-Paced modalities.
Franken earned her B.A. degree from Wartburg College, her Master's degree in Higher Education Administration from Upper Iowa University and has over 25 years of experience in higher education. Franken and her husband, Chuck, have three children Stacey, Chris and Jordan and three grandchildren Payton, William and Charlie. Kathy and Chuck reside in Fayette.
Rick Hartzell
Vice President for Athletics
Rick Hartzell started his tenure as Director of Athletics at Upper Iowa in January of 2018. Hartzell's responsibilities include oversight, leadership and direction of Upper Iowa's Division II athletics program which includes 23 varsity sports, and over 60 full and part time staff members and 445 student-athletes competing in the Northern Sun Intercollegiate Conference, and the GLIAC.
Hartzell earned his B.A. in Physical Education and English from the University of Northern Iowa and his M.A. in Educational Administration from UNI as well. He also has completed his Ph.D. work from the University of Iowa in Higher Ed Administration (ABD). Hartzell was the National AD of the Year in 2008 while at UNI. He and his family, Jill (Doctor of Chiropractic) and boys Jackson and Jace reside in Cedar Falls.
Beau Sudtelgte
Vice President for Human Resources
Andrew Wenthe
Vice President of External Affairs
Andrew Wenthe has been with Upper Iowa since 2005. Wenthe's responsibilities include leadership of the Office of Institutional Advancement and Alumni Development as well as the Office of Communications and Marketing. Wenthe also provides leadership on regional economic development initiatives, government and community relations, and efforts to secure grant and foundation support.
Wenthe earned his B.A. in Political Communications from the University of Northern Iowa and his Masters in Higher Education Administration from Upper Iowa University. Additionally, he served for six years in the Iowa House of Representatives and currently serves as the Mayor of the City of Fayette.
Holly Wolff
Executive Assistant to the President and Assistant Secretary of the Board of Trustees
Holly Wolff has been with Upper Iowa University since 2005. Ms. Wolff began her time at UIU in Facilities Management and Events Management before transitioning to the Office of the President in 2012. Ms. Wolff's responsibilities include the day-to-day management and scheduling of the President's Office, and assisting with the management and coordination of the Board of Trustees. Ms. Wolff is actively involved in University Strategic Planning and the Facilities Planning Committee.
Ms. Wolff graduated cum laude from Upper Iowa University with a B.A. in Communications and is currently enrolled in UIU's Master of Business Program. As the recipient of the Erma K. Ledgerwood Scholarship in 2008, Holly has been paying it forward as an active member of Team Peacock since 2006, riding RAGBRAI to raise money for University initiatives and student scholarships. She and her husband, Tim, have three children, Ashten, Katie and Carson. Holly and Tim reside in Fayette, Iowa.
University Organizational Chart


It is common knowledge that there is good money online. People are making millions by doing a variety of things online. Companies of all sorts have found their success by running e-commerce sites. So should you start an e-commerce website as your first business? To be more precise, should you start an e-commerce jewelry store as your first business? Jewelry stores usually make a lot of money, especially from the sale of wedding bands, diamond bracelets and so forth. People want high quality products, so if you decide to open a jewelry store, make sure that you always provide premium quality products.
What is it that you should have in order to run a successful online business selling jewelry? There are several things that you have to consider before you open up your jewelry store online.
As you probably know, there are jewelry stores that are focused on sale of specific items only. There are those that sell all sorts of jewelry from tiaras and wedding bands to bracelets and anklets. However, there are those who focus primarily on selling wedding bands. When you choose to sell wedding bands, you should take some time to consider a variety of them. There are some stores that are limited to gold wedding bands. With the arrival of stylish but cheaper tungsten wedding bands, jewelry stores are paying attention to variety.
You need to put a lot of effort towards fulfilling the requirements of your customers. For instance, in the case of the aforementioned tungsten wedding bands, you should provide something that will make their purchase easier and effortless. Providing the latest tungsten wedding bands guide on your site will make their shopping efforts even easier. Basically, e-commerce provides you with a platform that you can use to reach customers and be successful.
The online e-commerce business is very lucrative, but at the same time incredibly dynamic. If you are not able to keep up with the changes, then you will definitely have a problem making profits. You need to keep up with the latest trends that come in your business. A visit to Cefashion.net/ guide on tungsten wedding bands, it will demonstrate exactly how important keeping up with trends is. This website is one of the finest in fashion for both men and women.
There are technologies being developed every single day to facilitate the growth of your e-commerce website. You need to get the best of these technologies in order to boost the performance of your business.
Digital marketing basically involves all strategies like Search Engine Optimization (SEO) and building relationships with the customers as aforementioned. Carrying out a thorough marketing campaign online is one of the necessities for everyone running an e-commerce site.
There are just so many things that you will have to do in order to set up your online jewelry business. However, it is a very lucrative business. With help from the many experts in online advertising, you will be on your way to great success.


text:
The Witcher Remake has been announced
CD Projekt RED has announced a new project: The Witcher Remake. "The Game That Started It All" will be rebuilt from the…
Cyberpunk 2077 surpasses 20 million of copies sold
Cyberpunk 2077 has returned to the spotlight. However, it's not because of the bugs and controversies at the time of its release.…
30. 9. 2022 0Likes 0Comments
Cyberpunk 2077 reaches a new peak of players
After the release of Update 1.6 and the Cyberpunk: Expendables anime, Cyberpunk 2077 seems to have gained the trust of the community.…
Cyberpunk 2077: A Breaking Bad Easter Egg has been found
Cyberpunk 2077 is filled with the most diverse references. They range from Akira to Hideo Kojima and to The Office. Recently, an…
Adventure Games RPG
Cyberpunk 2077 sales raised significantly after launch on PS5
The debut of Cyberpunk 2077 was marked by the most diverse controversies, from the serious technical problems of reproduction on the last…
Cyberpunk 2077 has a new game director
Cyberpunk 2077 is probably one of the biggest "scams" in the recent video game's story. Not that the game is bad at…
Cyberpunk 2077 on Stadia receiving the new patch 1.2 update
Initially released in September 2020, Cyberpunk 2077 was one of the most anticipated games of last year. The hype surrounding the title…


Presenting to you updates on all the team action from both tours, it's Doubles Take.
Over the past year and a half, Nicholas Monroe has gotten plenty of mentions in Doubles Take, but not for the most important reason of all: winning a tournament.
That comes to an end now, along with his three-year title drought.
The American and his Australian partner John-Patrick Smith beat Rajeev Ram and Ryan Harrison for the Atlanta Open title in a match that went down to the wire. It's Monroe's fourth career title and Smith's first. The winning duo was playing in its second final of the year.
At the inaugural Moscow River Cup, the local crowd was able to once again witness the winning return of one of its best players of the past 15 years.
Vera Zvonareva, who's been on the comeback trail after stepping away to start a family, and Anastasia Potapova took the clay-court event over Alexandra Panova and Galina Voskoboeva in the final. It's Zvonareva's second doubles title of the year—and in Russia, too: She and Timea Baczinsky won in St. Petersburg in February.
In an all-China affair, Xinyu Jiang and Qianhui Tang beat Jing-Jing Lu and Xiaodi You in the final of the Jiangxi Open in Nanchang, China.
It's the second title for both teenagers, who won the tournament last year.
For the second week in a row, Julio Peralta and Horacio Zeballos are bringing home the first-place hardware.
The duo knocked out the top-seeded team of Oliver Marach and Mate Pavic in the final of the ATP 500-level event in Hamburg, Germany. It's the sixth title together for the Chilean-Argentinian pair.
Last year, it seemed like players on the WTA Tour whose surnames began with a B were racking up the single-doubles sweeps at tournaments. Doubles Take then grouped them together as the Killer B's.
While no one on the WTA has pulled off the feat this year, someone from the ATP just did.
Marco Berrettini had a weekend to remember in Gstaad, Switzerland: The Italian won his first career singles title, then followed that up with a triumph in doubles with countryman Daniele Bracciali. Berrettini had never won a tour-level match in dubs.
If you're going to join the Killer B's, you have to do it in style!
As preparation for the US Open ramps up, the tours come together for the Citi Open in Washington, D.C., this week. On the men's side, the draw is so deep, 2018 Grand Slam finalists Juan Sebastian Cabal/Robert Farah and Raven Klaasen/Michael Venus aren't even seeded. Neither is Wimbledon winner Mike Bryan, who's playing with Edouard Roger-Vasselin. The top seeds are Oliver Marach and Mate Pavic, followed by defending champions Henri Kontinen and John Peers. Hao-Ching Chan and Zhaoxuan Yang—going for their second title of the year—and Shuko Aoyama and Renata Voracova, headline the women's field.
The other WTA tournament on tap this week is in San Jose, California, where the top seeds are Latisha Chan and Kveta Peschke, coming together for the first time this year. The second seeds are Mihaela Buzurnescu and Heather Watson.
The men have two other events going on this week, one of them being the last clay-court tournament of the year in Kitzbuhel, Austria, where top seeds Julio Peralta and Horacio Zeballos will try to win their third tournament in a row. In Los Cabos, Mexico, local hero Santiago Gonzalez is partnering David Marrero to lead the field, while the second seeds are Jonathan Erlich and Joe Salisbury. Atlanta champ Nicholas Monroe is seeded third with Romain Arneodo.


Whether an SEO resources website is owned by you or an SEO organization runs, the ability to monitor and report to buyers the Google ranking due to their certain keywords is likely to be a vital area of the support that you present.
If you have entry to a position tracking API, you're able to embed rank knowledge for keywords and websites in your websites as well as in your applications and supply your customers together with the crucial performance indicators they need. A Google SERP checker API may also give the ideas to you that you need to refine your SEO campaigns for the perfect outcomes.
The demand for precise and up currently SEO info is practically endless. SEO companies have to check the effectiveness of their SEO campaigns, e-commerce sites need to monitor the career of their own products and situation of opponent's items, online marketers must be able the track the career of these sites, actually, a person with a presence on the internet may wish to realize where their sites are ranked in Google and also other search engines.
In this specific situation, an API is just a bit of third party code that a site or an application may move guidelines to and obtain information from. A Google rank API, for instance, return the present Google position for that keyword and will require the keywords which might be inserted over a site.
What is the Purpose of Google Rank Tracking API?
SEO tracking APIs' best vendors will usually possess a quantity of unique APIs that can be employed websites and application. Here are a couple of the cardinal kinds of SEO monitoring APIs.
A list monitoring API will return the up-to-time rating for a distinct keyword to get a given site.
A SERP API can return the most effective SE results for a specific keyword.
Information that is keyword API may return the data that is keyword that you simply might normally need to lookup personally within average-cost per-click the Google AdWords adviser, for example, research quantities, and also the gym of competition.
An SEO tracking API offers the prospect of putting value for their companies to SEO organizations and SEO software firms. They can use an API's capabilities supply branded reporting solutions with their buyers to approach SEO promotions, or just incorporate SEO knowledge companies to their site to attract more readers.


Important to note European elections in the UK are not a true testament to local elections.
In the 2014 European elections UKIP, with Farage as leader at the time, recorded the largest share of the vote 26.6% (4.4m votes).
While in the General Election of 2015 they accounted for 1 seat out of 650 available.
Yes the two elections were run on different votes (FPTP vs STV) but please don't let European elections be an indicator for anything other than a protest vote.


It's been an exciting week for news of the new Warhammer 40k coming out to us via Games Workshop and their new social media campaigns, and while I've not been able to follow it all as closely as I'd like, I thought I'd collect all of that stuff here as I catch up and see what 8th edition is shaping up to be!
Okay, so first of all, let's talk about some lore here. The Indomitus Crusade sounds pretty impressive, and looks like a good way to rekindle the universe without it being too different. I mean, we're not moving into Warhammer 50k, but more like pushing back the tide of Chaos with new vigour, which is just what the setting needs, in my view. Building new warriors for the cause also sounds plausible, though I hope that the rumours of true-scale marines that have been circulating for weeks now won't actually replace the current range. Mainly because I have so many space marine kits already… But anyway!
This sounds like it's actually a small change in terms of what we're used to, but will be tied more thematically to the setting than to a need for strict balance in the game. I don't mean that the game will become more unbalanced than ever, but more that I always disliked the idea that space marine power armour had a very similar feel to Necrodermis, which is a living metal capable of self-repair and all sorts of weird alien stuff. These things shouldn't feel the same, yet to balance the game, they were essentially the same thing. It sounds like there will be more thought given to the theme of the army that you're playing, which I really cannot wait to get into, because theme is king for me!
Fixed Ballistic Skill and Weapons Skill is huge! While intellectually I liked the fact that any model could fire at any other model, and it would scale for how hard to hit that other model was, having a fixed BS and WS should make things so much easier to play. I'm looking forward to not having to continually ask my opponent what his unit has, and then consult a chart to find out how I can attack.
I'm quite excited to see how things are going to progress as we move forward. The movement stat is an interesting one, and while my first thought upon hearing of this was "oh god, now there's even more cross-referencing involved!" it actually looks like we'll be getting warscroll-like unit profiles with all of the information you need for any given unit on one page. I love this! I tried doing something similar a few months ago for my Necrons, as it was irritating me trying to flip through so many pages to work out exactly how each unit behaved. Hopefully, no more!!
While there's nothing that seems inherently new about weapons at first glance, it seems that they're actually going to make a bit more sense now.
The way these things work seems to be more streamlined, as you're rolling to hit and then doing damage if you do. That's fine by me, as I've often been confused by the constant need to roll dice in this game. Having this change is a distinct improvement in my view. As the article says, it makes weapons more optimised for the battlefield, firing bolters that do one damage at units with one wound apiece.
Templates are gone, as I'm sure everyone now knows, and while for the flamer this might be a bit of a loss, as it always felt a bit theatrical to be throwing up a cone of flame at the enemy, I'm hopeful that it'll nevertheless speed things up as you no longer try to painstakingly position your flamer guy so as to take out the maximum number of people, ad nauseum.
This isn't something I'd been thinking needs to change, though as I read more about it, I'm happy to see the addition of a movement stat for units. As I said above, it helps to make things feel more thematic – why do my super-fast Dark Eldar move as quickly as my newly-reanimated Necrons?
I'm not 100% happy with the fact that charging into close combat means you automatically go first, as I've often said I like how sensible the assault phase felt. While on the one hand I suppose there is an argument to be made for the fact that if you are the aggressor, it makes sense to go first, I also think that having a unit with higher Initiative could have still led to the victims being able to better fend-off a mindless mob of Orks wielding clubs with inane abandon. It's also probably my inner-RPG fan wanting to stay with rolling for initiative!
This appears to have been the biggest area of change that we've seen to date! I've not had a great deal of experience with the Psychic Phase, as I have Necrons and Dark Eldar for the most part, but have played against Psykers, where I never felt entirely right in generating my own Warp points to deny the witch. I mean, Necrons are psychic blanks!
In the new edition, Psykers will be able to cast their stuff if they beat the Warp Charge value on 2D6, and opposing Psykers within 24″ will be able to attempt to block these attempts. This is totally fine with me! It feels a lot like Age of Sigmar, where Wizards are a big thing, and I'm totally fine with that, as the few times I've played that game, it all made total sense!
Apparently, every faction will have its own range of Psychic Powers, which is making me a bit jittery for my Necrons and Dark Eldar, who thematically don't have anything to do with such things. I suppose I can see some sort of C'tan shenanigans going on for the Necrons, but how are they going to retcon psychic powers for the Dark Eldar? Maybe we'll be seeing new minis of some sort. Hm.
I think this is a positive change, though, and I'm interested to see what the final impact will be on games.
The basics of the phase appear to be much the same here. The loss of Initiative means that you can move a unit out of combat in order to have another unit fire at the enemy without risking Morale tests, it seems, which should make for some interesting battles that kinda feel like, well, battles.
Snap shots have been replaced by a -1 to hit modifier if you move and shoot with a heavy weapon, which seems okay, but I suppose will bear more thinking about for me.
The bigger change of course is Cover saves. With saves being rolled into one overall value that you need to beat with your units, if those guys are shooting weapons with a high enough armour modifier, you can shoot them through whatever cover they're hiding behind. Seems decent enough – after all, a missile launcher really should be able to hit through a wall, right?
The Warhammer Community team held a live stream Q&A last Monday, where they answered a number of questions that a chap at my local store helpfully transcribed for us all who couldn't watch it.
– No armies are going to disappear, and every army will have rules from day one. Additionally, the Battletome structure will replace the Codex, and they will be affordable books that will supplement the army's playstyle.
– Allies are still possible, but sticking to one army will give better Command Points/Benefits.
So that'll do it for now! Overall, I think the rules changes that we've seen are really positive, and I'm definitely looking forward to getting into some actual games with my armies once 8th Edition hits for sure.
So I know this post is already running quite long, but I thought it only fair to be as comprehensive as I can right now!
The current rumours coming from natfka and the like are telling us that the new edition will be released on 17 June, with pre-orders from 10 June. We'll be getting free PDFs for the core rules (12 pages, rather than 4), and datasheets for the Imperium, Chaos, and Xenos races.
The starter set will be Death Guard vs Ultramarines, and seems to involve the shiny new models that were previewed at AdeptiCon. There seems to be a lot of models in the set, which makes me wonder just how accurate that report is, but I suppose you never know! I'm surprised at the Death Guard stuff, as all current rumours had been pointing to the new Plague Marines coming out in December. I suppose it may be a push-fit variant, with the actual minis coming out later in the year? At any rate, I'm definitely picking that box up if that's the price!
6th and 7th edition suffered from growing pains and an identity crisis. GW spent a good amount of time and money figuring out what they want 8th edition to really feel like, and are using what they learned in 40k 6th-7th edition and AoS V1.0-1.2 to rebuild 40k from the ground up.
If this is true, then it could be amazing for the game. I like the idea that GW has spent some time on thinking on their actual direction for the game, rather than just being "all the skullz", so I hope this will prove to be correct!
Finally, I keep hearing people talking about brand new factions coming to the game at or shortly after the launch. Brand new as in, really brand new, never seen before. So plastic Sisters seems unlikely, and I don't think these rumours are referring to the Death Guard models, either. What could it be? I guess we'll find out in a couple more months!!


Angie | ♥ yourapplepie : Timotei shampoo available in Singapore now!
Timotei shampoo available in Singapore now!
Special thanks to Fenny, I got introduce to this not-really-new-to-the-market shampoo brand Timotei , about two weeks ago.
We are at Back Stage for the launch of Timotei shampoo and I was certainly impressed after the session!
Formulated with 100% Herbs extracts like avocado, almond, sesame seeds and coconut oil extract, the Timotei shampoo range protects, nourishes and enhance it with shine and strength. See the pretty pink shampoo above? That's the latest range of shampoo which features the active key ingredient - the extract of Jericho Rose.
With this extract, it comes breathe life and energy into the most difficult hair. I'm now using the range myself and I realised that my hair has better shine and more volume.Well, that's for me.
It is also said to help to comb easier, smoother, reduce dryness and less residual coating.
Timotei was first launched in Sweden in the 1970s and introduced to the UK & Ireland a decade later.
Their shampoo ranges are Paraben-free and they uses 100% PET recycable packaging.
Not to mention that their ranges are really affordable too.
Thank you TimoTei for arranging a terrarium session for us.
It was my first time doing so I was pretty excited about it too.
After which we were all given a session to pamper our hair with the Timotei shampoo and conditioner and blow dry our hair.
Here's a picture of Elaine and I , stylist who gave me such voluminous curls using only a comb and the dryer!
Each bottle are 400ml & sold at SGD $6.90 each.
Beautiful Hair... Inspired by Nature!
Thank you Timotei for the comfy treat.


The Outlet Shoppes at Atlanta is situated in Woodstock, Georgia, United States and offers the following amenities to its visitors: atms, car parking, children's play area, disabled access and wheelchair hire, gift cards, information desk, restaurants and cafés, strollers available.
You can find more than 514 brands offered in 81 outlets here. In The Outlet Shoppes at Atlanta you will find discounts on accessories, beauty products, clothes, foodstuffs, gifts, household goods, jewelry, vehicles & accessories.


Home/Millions of dollars in Earned Income Tax Credits go unclaimed each year – is some of it yours?
Millions of dollars in Earned Income Tax Credits go unclaimed each year – is some of it yours?
The federal Earned Income Tax Credit (EITC) is a benefit for working people with low- to moderate-incomes.
OLYMPIA, WA — Workers in Washington earning up to $54,884 may be eligible to receive the federal Earned Income Tax Credit (EITC), but many do know about or claim the benefit, according to the state Department of Commerce. Individuals must file a tax return with the IRS to get the credit, even if no tax is owed or filing a tax return is otherwise not required.
The credit reduces the amount of taxes owed and results in a lump sum refund payment for most people who are eligible to claim it. Many workers become eligible for this tax credit each year, but the IRS estimates 20 percent of them either do not claim the benefit on their taxes or do not file a tax return at all.
Seniors, individuals with low incomes and non-English speaking taxpayers account for much of the unclaimed credits because they don't realize they are eligible.
Gov. Jay Inslee proclaimed Friday, Jan. 25, 2019 "Earned Income Tax Credit Awareness Day" in the state of Washington as part of a nationwide effort to spread the word about this under-used benefit and provide information and resources to claim it. Read the Governor's proclamation.
Research suggests the credits improve the health of infants and mothers, and even increase educational outcomes for young children in low-income households, boosting the chances of college enrollment for children in families who receive the EITC. The increased earnings may show up later in life, with increased Social Security retirement benefits, and increasing work and earnings for future generations by 17 percent.
Just over 164,000 Washingtonians were lifted out of poverty by the EITC and CTC, including an average of 81,000 children each year from 2011 to 2013. In 2018, 407,000 Washington residents applied for the credit, claiming $893 million in refunds, for an average refund of $2,194.
This year individuals can receive a tax refund of up to $6,431 if they meet eligibility requirements. Free tax preparation services are available throughout the state. Visit 2-1-1 for more information.


I disagree. I think it's about confidence and having a sensible process. For many lawyers, relationship building falls outside their priority list. They are foremost technical experts and work in a highly competitive, pressured and deadline-driven business environment. However, many hide behind this reason too.
Successful client relationship building is complex; comprising time, emotional intelligence, persistence, willingness and yes, a process. At any gym, you'll find personal trainers coaching clients. Their clients want to get fit and change habits.
Foremost, help the lawyers identify the top five to six people they would like to get to know better. These individuals could be anyone – from people they have worked with, but don't really know or someone they met briefly at an event. With some existing, positive connection, lawyers are more likely to make the effort to build relationships with them. Lawyers work with people, not companies.
At the same time, it's imperative that the lawyers (not the personal trainer) gather as much information on these targets as possible – business titles, current and previous roles, common contacts and so on. This will serve as the foundation upon which to build the relationships.
Such an approach is more likely to secure lawyer participation – asking them to target 100s of contacts from the CRM system is not only daunting, but even unrealistic.
Knowing what to do next is critical. Set some relationship development goals for the lawyers. It could be finding an opportunity to meet up with each of them once a month, finding out something new that is taking place in their targets' organisations, inviting them to an upcoming event and such. Keep it simple and focused.
Similarly, help the lawyers identify a reason to meet the contacts, including a call to action for the interaction. Encourage lawyers to identify things that they could learn about and work on with the contacts, such as a recent merger, new role or something your firm has worked on, which could help them and their firm. It's about giving something, not just taking. It's about showing interest and meeting a need.
A meeting is never over until a summary note is written and logged in the CRM system. Remind the lawyers or their personal assistants to input the details of the interaction. It's akin to painting a picture, which is continuously improved with every session. Overtime, lawyers will start seeing the value of their efforts because the information will be truly useful. And this is when the habit of relationship building and adoption of the CRM tool will take hold in the lawyers' psyche.
With such an approach followed by all lawyers in the firm, CRM will soon embed in the organisation as a business discipline.
The reason why so many firms struggle with securing lawyer buy-in for CRM and relationship building is that the language used is frequently divorced from its actual meaning. Help lawyers overcome their initial hitch and the rest will take care of itself. This process outlined above relies on nurturing and engagement – not just information gathering, which is a major flaw in approach when adopting the discipline.


Arabia Finland designer HILKKA-LIISA AHOLA (born 1920 Helsinki) started with Arabia as a trainee in 1943 and went on to work in the art department there until 1974. During her trainee ship she studied both ceramics and porcelain painting with instruction from Elsa Elenius.
Characteristics of her work are her free, bold and expressive brushstrokes, and many of her designs include the use of blue hued floral motifs. She has also become known for her charming fajance painted pieces depicting romanticised female figures. In 1968 she was awarded Grand Prix, in the Faenza Ceramic Biennale.
The charming hand painted fajance plate below by HLA, I found on the website of Freeforms USA.
Arabia Finland, Hilkka Liisa Ahola, Handpainted Fajance Plate. Image: Freeforms USA.
If you have any other designs by Hilkka Liisa Ahola, love to see them on the Facebook page for this site.


Every year, about 1.9 million conferences are hosted in the US, and around 250 million people attend them. You've probably been to one yourself. These 250 million eager conference-goers are fed at least one meal a day using the now standard method of delivering large amounts of food to large amounts of people in a short amount of time: the buffet. This style of food service is now the norm for large hotels and conference centers because it is easy, fast, and efficient for the kitchen staff.
But what may be a perceived efficiency in one respect, is inadvertently leading to a much greater inefficiency: food waste. Some food is over-prepared and left unconsumed on the buffet, while more is piled high and left on guests' plates, neither of which is safe to be repurposed or donated and must be thrown away. All the money, labor, and energy that went into making that food also goes in the trash, and that is not efficient.
The problem is a troublesome cycle of expectations. Chefs and hotel owners assume, often correctly, that clients and guests expect a never-ending abundance of food and want to provide the best possible customer experience. This leads to an "insurance" production and procurement model for events, which adds a little extra at each stage of the flow of food through the hotel. The meeting planner adds a few extra guests to cover possible late registrations, the sales staff adds another 3% to ensure they are not responsible for food shortages, and the chef adds a little more to guarantee the buffet never runs dry. The aim is for someone who visits the buffet ten minutes before the end to have the same choices as the first person through the line. By providing this experience of abundance, the hospitality industry continues to waste precious resources including the land, water, and wildlife habitat that were sacrificed to produce all this delicious food, not to mention millions of dollars from their bottom line in food, labor, and even waste hauling costs.
However, with some simple steps and an eye towards prevention, the hospitality industry could save millions, while also re-educating guests about the value of food and pushing other industries to account for the true cost (value) of food. World Wildlife Fund's (WWF) recent partnership with the American Hotel and Lodging Association (AHLA), which focused on implementing food waste prevention strategies at ten hotel properties across the United States, proved small steps by dedicated staff can make a big impact.
The tactics included training staff on food waste prevention techniques, redesigning menus, and incorporating new service and replenishment models to buffets. Did it work? Each of the ten properties saw at least a 15% reduction in food waste and 1-3% reductions in food costs over the course of just a four-month effort, showing it's good for the bottom line.
Infographic taken from the Champions 12.3 report.
Champions 12.3 – the coalition dedicated to mobilizing action and tracking progress toward Sustainable Development Goal 12.3 of halving global food loss and waste - also recently released a hospitality-focused business case for investing in food waste reduction. In their study, 42 hotels saw on average a 7:1 benefit-cost ratio from food waste reduction investments, plus a 20% decline in food waste. The business case for food waste prevention is clear – the average site in the study invested less than one percent of annual food sales in prevention activities and saw 7 times that amount in returns.
So, what's the future of the buffet? Still abundant and delicious, but far more efficient using training, data, and improved communications along the flow of food.
How can you be part of that future? WWF developed a new platform called HotelKitchen.org. It contains an extensive toolkit for the hospitality industry that steps properties through establishing a Food Waste Task Force, developing a food waste prevention culture, and implementing waste reducing practices for buffets and banquets, along with a simple checklist, free training videos, and many additional resources.
As of April 6th, WWF is expanding our hospitality food waste engagement globally, starting in Singapore where we are gathering participants from 6 of the larger hotel brands in the region along with partners from The Pacific Asia Transportation Association (PATA) and Waste and Resources Action Programme (WRAP) to discuss opportunities for food waste prevention, donation, and diversion at local and regional properties. And we've got future convenings and workshops planned for Europe, South America, and China. Just like hanging your towel or declining daily room service is becoming an accepted norm, soon the wasteful buffet will be a thing of the past.
Hospitality is a global industry - wherever you may be located, if your property, brand or organization is interested in participating in future efforts, check out Hotel | Kitchen, sign-up and join the fight to reduce food waste. It's good for the planet, and for your business.


The child screams, and his mother comes running to the nursery; Susannah, meanwhile, makes her escape down the back stairs, telling the story in mid-flight to the cook. Walter learns of it from Obadiah. He takes a look and then retires to his library to consult the classical authorities on the value of circumcision. His conclusion is that if all the nations of antiquity, "if SOLON and PYTHAGORAS submitted — what is TRIS-TRAM? — Who am I, that I should fret or fume one moment about the matter?"
With good humor, Walter tells the advancing party, "This Tristram of ours, I find, comes very hardly by all his religious rites. — Never was the son of Jew, Christian, Turk, or Infidel initiated into them in so oblique and slovenly a manner." As Walter and Yorick bandy back and forth the opinions of the authorities, Toby is unable to figure out his nephew's condition. Apropos of Toby's question of what a "polemic divine" is, Yorick tells the story of Gymnast and Tripet; Toby and Trim do not understand.
Walter decides to read to the assembled a "short chapter or two" of his Tristra-paedia; Toby and Trim settle back to suffer since, as Walter says, "The first thirty pages . . . are a little dry." The manual for Tristram's education begins with an introduction to "political or civil government" designed to show "the foundation of the natural relation between a father and his child." Quite natural, says Yorick. When Walter quotes Justinian's "The son ought to pay her [his mother] respect," Yorick says that he can read that in the Catechism. Toby comments: "Trim can repeat every word of it by heart." Yorick asks Trim to quote the Fifth Commandment, but Toby points out that it must be asked properly. He raises his voice and gives the command: "The fifth — " "I must begin with the first, an' please your honour, said the corporal." When he finally gets to the fifth, Walter finds an inspired moral: " — SCIENCES MAY BE LEARNED BY ROTE, BUT WISDOM NOT." Walter is sure that Trim has no "idea annexed to any one word he has repeated," but when he asks Trim what he means by honoring his father and mother, Trim gives an answer that pleases Yorick mightily: "Allowing them, an' please your honour, three halfpence a day out of my pay, when they grew old." And since Trim really did so, Walter is bested once again.
Going on to the next chapter, Walter discourses on health: "The whole secret of health" depends on the struggle for supremacy between "the radical heat and the radical moisture." Yorick asks whether Walter has proved it, and Walter says complacently that he has — and only that. Yorick is spared the proof, but not the reader: Tristram describes his father's proofs and reasoning, how he built his theory on the rubble that he made of Francis Bacon's hypothesis. Walter continues with his interpretation of radical heat and radical moisture ("an oily and balsamous substance") and their importance to the child; his conclusion is simple: "if a child, as he grows up, can but be taught to avoid running into fire or water, as either of 'em threaten his destruction, — 'twill be all that is needful to be done upon that head."
Meanwhile, a conference has been going on between Toby and Trim. Their interpretation of "radical heat and radical moisture" differs quite a bit from Walter's, and Toby begins the explanation.
Both Toby and Trim were very sick with fever and "flux" at the siege of Limerick. Trim took care of his master and maintained the balance between radical heat and radical moisture "by reinforcing the fever . . . with hot wine and spices . . . so that the radical heat stood its ground from the beginning to the end, and was a fair match for the moisture, terrible as it was." Walter is about to blow up with impatience at Toby's theory, but Yorick restrains him and asks Corporal Trim what his opinion is on the subject.
The corporal gets into his orator's stance, and as he is about to begin, Dr. Slop waddles in. Walter asks about his son as carelessly as if he were inquiring about "the amputation of the tail of a puppy-dog." Dr. Slop is pompous and professional; when he answers, Toby says, "I am no wiser than I was."
Trim begins with a description of the topography of Limerick: "devilish wet, swampy country." Radical moisture "is nothing in the world but ditch-water [in a soldier's tent] — and . . . the radical heat, of those who can go to the expence of it, is burnt brandy ['which took off the damp of the air, and made the inside of the tent as warm as a stove']." Dr. Slop doesn't understand what kind of "medical lecture" this is supposed to be, and he speculates that "this poor fellow . . . has had the misfortune to have heard some superficial emperic discourse upon this nice point." All agree, even Walter.
Dr. Slop returns to his little patient, and Tristram promises that after one more chapter of the Tristrapaedia, the book "shall not be opened again this twelve-month. — Huzza! — "
A person might grow old before learning enough to become truly intelligent — illustrated profusely — and Walter intends to prevent this happening to his son: "I am convinced, Yorick, . . . that there is a Northwest passage [a short cut] to the intellectual world." Fortunately for little Tristram, he has a parent able "to point it out." The secret: " — The whole entirely depends, added my father, in a low voice, upon the auxiliary verbs, Mr. Yorick."
Walter explains his theory about auxiliaries (Trim mistakes them for soldiers): "by the right use and application of these" (am, was, have, had, do, did), a child can exercise his memory and imagination. After asking Trim whether he has ever seen a white bear (he hasn't), Walter shows how it is possible to talk "intelligently" about one all the same: "A WHITE BEAR! Very well. Have I ever seen one? Might I ever have seen one? Am I ever to see one? Ought I ever to have seen one? Or can I ever see one?" This interesting monologue finally concludes with "Is it better than a BLACK ONE?"
The digression explaining the cause of the accident is finished; Susannah's flight to Uncle Toby's house, her reception there, and the parade to Shandy Hall have been described; then, finally, the author allows the child to scream. All of this (Chapters 18-25) is told between the falling of the window and the resulting scream: two kinds of time — remote past (why the window fell) and future subsequent (what Susannah and others did after it fell) — are sandwiched between one instant and the next. By means of this clever device, these events seem simultaneous, but of course they aren't The author manages to create the effect of simultaneity; we are breathless from so many things happening "instantly." The real events aren't even parallel in time, as we notice immediately: the window falls, the child screams, Susannah flees.
Parallel events, however, are introduced to get the actions back into "real" time: Susannah tells Trim; Trim tells his master; the party is formed; they march; they arrive. Walter examines his son; he examines his books; he is satisfied; he tells the arriving party his conclusions.
As usual, if classical authorities speak favorably of something, Walter is content to go along with them. This is the unpredictable reaction that Tristram hinted at in Chapter 24. There is always (almost always) wit and humor to be found in Walter, as we see in his comment on the manner of Tristram's circumcision. His son, the author, gets that from him; and although Tristram doesn't have his father's undeviating devotion to "authority," he enjoys erudition if only to laugh at it.
The battle between Gymnast and Tripet — a story taken from Rabelais' Gargantua and Pantagruel, Book 1, Chapter 35, almost verbatim (Yorick is, after all, reading) — is hard to follow: a "polemic divine" argues and reasons, reasons and argues; his rhetorical and polemical gymnastics resemble the incredible gyrations of Gymnast. Trim's solution — "One home thrust of a bayonet is worth it all" — is actually Rabelais' resolution of the battle: Gymnast skewers Tripet.
As Tristram's book mirrors Tristram, Walter's Tristra-paedia mirrors Walter. The dryness of the erudition is fascinating; Walter writes like his heroes. It is quite often true that, for Walter, the elegant language and the reputation of the writer are more important than the point being made. When he cites Justinian's Institutes ("the first book . . . at the eleventh title and the tenth section") to support the idea that "the son ought to pay [his mother] respect," Yorick counters with the obvious: the same thing may be found much more easily in the Fifth Commandment. That's too folksy for Walter, however, and when Trim recites the Commandments, Walter is sure that it is meaningless to him. Trim's very specific interpretation and his simple human action (giving his aged parents three half-pence a day) make the scholar's pedantry seem empty in contrast.
The following section of the Tristra-paedia, on health, is full of learning, and it would be a monstrous bore if Tristram had not known what he was doing. Walter comments at length on Hippocrates' and Francis Bacon's ("Lord Verulam") hypotheses about radical heat and moisture. His high-flown scientific rhetoric falls to earth with the most resounding thud: to keep a child healthy, don't let him drown or burn to death. We can he sure that Tristram has no illusions about the value of his father's erudition.
When Trim gives his interpretation of the significance of radical heat and moisture — military, of course — both Walter and Dr. Slop are disdainful. Yet Trim's view is worth as much as (no more than, but as much as) Walter's scholarship-bedecked conclusion.
The author sympathizes with the reader who has to bear up under the weight of the "learning" quoted from the Tristra-paedia. After promising the reader only one more chapter, he makes the reader say "Hurray!" It is easy to put up with an author who really knows when he is boring the reader and apologizes for what he "has to" do for the sake of his art.
Walter's chapter on the auxiliary verbs is worth about as much as his chapter on health. His proposed shortcut to intelligence supposedly guarantees control not only of grammar, syntax, and logic, but also of knowledge itself. This contention is "proved" by his "conjugation" of a white bear. Tristram is making fun of a theory of education that had been proposed in the preceding century; since Sterne has made Tristram his contemporary and put him in the same environment, Tristram may credibly comment on exactly the same things Sterne would comment on — and still be a character in a novel.
The "intelligent discourse" provided for by this system of "pattern practice" is given perspective by the final sentence in the chapter (and the volume): about this white bear, "Is it better than a BLACK ONE?"


The KES school bus drives ahead. Meanwhile we're stuck at a red light in the Tamagusuku area of Nanjo. My toddler, Justice, is the in backseat bouncing with excitement from our field trip to Okinawa World. Priding myself on a good sense of direction in Okinawa is pointless as this was the farthest we'd ever been away from Kadena. Now a stranded foreigner without a map. Green turns the light, it's decision time. Left or right? Right. The light was yellow by the time I made up my mind!
A couple U-turns later we made it onto the expressway, praying we're headed in the right direction. The wrong exit lead us onto a slow moving road to nowhere, or so I thought. The first sign says we're in Uruma, the next points to Katsuren Castle Ruins. Being a history buff, I love ancient stuff, there's no way I'd pass up such a golden opportunity.
My prayers were answered. We may not have made it home, but discovered an ancient gem among the clouds. Driving up the long winding road seemed to take forever but we found the castle still standing tall across the street from the museum. The museum staff showed us the displays, historical information, and yes restrooms! Nice people, no English. It was free to go into the castle so I grabbed my Nikon and start trekking up an enormous hill with Justice leading the way. It was an awesome workout up the steepest concrete hill I'd ever climbed. Bonus: Justice took a well deserved nap on the ride home!
There's a grassy knoll, a wooden staircase that leads to three upper levels of ruin. The view from the very top was magnificent. We could see everything in every direction and felt as if we stood among the clouds. To the West a cityscape of Uruma. Looking north to south a birds eye view of the Philippine Sea. My eyes fixed upon that big island out there in the East wondering if it was Ikei. Not only is it Ikei Island, but Miyagi, Henza, and Hamahiga are all out there waiting to be explored off Highway 10 or Kaichu Rd. Tsuken Island sits south of the others and you cannot drive there, but it does have a beach free from tourists.
The very next weekend I made a point to drive my husband and our son to see Katsuren Castle. This place could not be kept secret. The drive there seems slow. Nevertheless a scenic and relaxing ride. So roll down the windows and take in the fresh Okinawan air.
On your journey to the highest level of the ruins you'll notice the crumbly rock stairs look a tad bit dangerous, but with tennis shoes is quite sturdy. Keep hold of the young ones and put your courage cap on because it's definitely worth the trek into the sky.
Directions: Exit the Okinawa Expressway at Okinawa Minami and make a left onto Highway 23. At the Ikento intersection turn right onto Route 16. Follow the road straight for several kilometers until you go uphill as the road gently curves left. Halfway up the hill, there is a sign pointing to the Katsuren Castle ruins on the right.
*Directions are from Jason Kimball's Blog and there is also a map and a short historical brief at this link.
*Katsuren Photo with historical information written in English. The monuments are in Japanese so until I got home to do the research I had no idea what we were looking at! The second trip was more meaningful knowing the history behind the castle.
Do you know if the information center for the castle is also open 24 hours? Thank you!
A quick clarification on directions as the ones stated in the above review confused us….
Head North (toward Nago) on Expressway, then take Exit 5 (Okinawa Kita). Go straight through light after going through toll booth, and continue on this road (route 36). Take a left onto route 33, and then a right onto route 16. You will see the Katsuren Castle ruins on your right, and a Visitor's Center across from it with a parking lot on your left. We went on a Sunday and arrived before 11 am. It wasn't very busy. However, by the time we got back to our car around noon, there were significantly more visitors. I highly recommend taking time to visit this historic site! Bring your water to stay hydrated!
From Camp Foster, take the 81 all the way past Awase to the 16. (The 81 becomes the 227, then the 85, then the 33 before it runs into the 16, but it is all the same road.) Look for the overhead signs for the 16. Turn right onto the 16 and go about 2km. The castle will be plainly visible up and ahead of you as you drive along the tiny prefectural route 16. Parking will be on the left, castle across the street on the right. Sharing the parking lot is a small museum ("rest building") with clean bathrooms, drink machines, and a really nice display of artifacts found within the castle ruins. Most of the displays have some English language translation. There is also a very nice brochure in English that you should pick up and read before going to the ruins. This is a World Heritage site and should not be missed! Please wear sturdy walking shoes because the climb up the hill to the castle is EXTREMELY steep, especially the climb to the top enclosure. Also, like most Japanese outdoor sites, it is expected that your kids will know enough to not climb on the castle walls. (There are no safety barriers and they might plunge to their deaths.) If you have kids that are too young to take safety seriously, hold on to them or stay in the lower enclosures. My family avoided unsafe behavior and had a great time exploring and admiring the views. There are several nice shrines called "utaki" that are also photo-worthy.
M. Crabtree, I just looked on a map and if you go out Kadena's gate 3 and turn right onto 74 (the light right outside the gate) and take that down a little ways to 16. Make a left onto 16 (it T's off at 74) and follow that down until you see the sign pointing to the right.
This has changed very little since I was there 50 years ago..Most everything else has.
Katsuren is one of our favorite places on this island! It's lovely and we always bring visitors here after we visit Shuri Castle. I also enjoy the little visitor's center at the parking lot.
Thanks for the great write up Jennifer! I think we may go find this place today!!


text:
Chantal Marie Agnès Mauduit, née le  dans le  arrondissement de Paris et morte le  sur les pentes du Dhaulagiri au Népal, est une alpiniste française. Elle est notamment connue pour avoir atteint six sommets de plus de  sans apport d'oxygène.

Biographie

Les débuts
Née à Paris, elle arrive à Chambéry en Savoie en 1969 où elle découvre dès son arrivée les randonnées en moyenne montagne l'été et le ski l'hiver. Découvrant  à quinze ans l'alpinisme, pour lequel elle se découvre une passion après le décès de sa mère des suites d'un cancer, elle passe ses vacances dans les Alpes où elle réalise des ascensions de plus en plus difficiles, comme la face nord des grandes Jorasses, les Drus ou le Cervin. Puis elle s'attaque à des sommets plus élevés, en Amérique du Sud, comme l'Urus () et le Huascarán () dans les Andes, du sommet desquels elle s'élance en parapente. En parallèle de ses exploits, elle fait des études et mène un début de carrière de kinésithérapeute.

Elle a également barré un voilier depuis Le Cap pour escalader un iceberg à la verticale au-dessus d'une eau glacée.

Les  sans oxygène
À partir de 1992, elle décide de s'attaquer aux quatorze sommets de plus de huit mille mètres, en style alpin et sans oxygène. Malgré sept tentatives pour réaliser l'ascension du plus haut d'entre eux, l'Everest, elle n'atteint que le sommet Sud () en 1995. En effet, elle y perd connaissance et est sauvée par Rob Hall qui la redescend jusqu'au col Sud. Elle réussit l'ascension de six autres, dont le K2, deuxième sommet du monde () et réputé très difficile - en effectuant par l'arête des Abruzzes la quatrième ascension féminine, le 3 août 1992. En octobre 1993, elle atteint le Shishapangma () par la face sud puis le Cho Oyu ().

Lors de son ascension du Lhotse () le  (première ascension féminine), elle assiste à distance le même jour à la mort de huit alpinistes sur l'Everest qui fait face au Lhotse, de l'autre côté du col Sud. Cette catastrophe donne lieu à un livre, Tragédie à l'Everest de Jon Krakauer. L'ouvrage inclut un témoignage de Chantal Mauduit sur la mort des alpinistes dont deux de ses amis, en particulier le guide Scott Fischer, qui l'avait secourue en 1992 alors qu'elle était victime de photokératite lors d'une ascension du K2. Dix jours plus tard, elle atteint de nouveau un sommet de plus de , le Manaslu ().

L'année suivante elle réalise l'ascension du Gasherbrum II (). Elle publie un livre fin 1997, J'habite au paradis, livre d'impressions et de rencontres au cours de ses voyages, dans lequel elle décrit notamment son ascension du K2.

Le 13 mai 1998, alors qu'elle effectue l'ascension du Dhaulagiri (), elle et son sherpa Ang Tshering sont retrouvés morts dans leur tente au camp II, probablement tués par une chute de pierres ou de glace, à environ  d'altitude, après une période d'extrême mauvais temps. Quelques jours plus tard, une expédition est lancée depuis Katmandou pour récupérer les deux corps. Elle avait pour projet de se garder du temps pour écrire un roman car elle avait une passion pour les mots ; c'est la raison pour laquelle elle taguait ses tentes de divers poèmes et qu'elle avait toujours des livres et des poèmes avec elle. Son amant André Velter lui a dédié un recueil de poèmes intitulé .

Engagements et postérité

Chantal Mauduit, parlant le népalais, s'est engagée pour la cause tibétaine. Toiturophile, elle a escaladé la flèche de Notre-Dame de Paris le  pour y accrocher un drapeau tibétain et avait rencontré le dalaï-lama et des réfugiés tibétains à Dharamsala en Inde vers la même époque.

En l'honneur de son engagement, après sa mort, ses amis et sa famille créent l'association Chantal Mauduit Namasté, qui aide les enfants népalais démunis, en particulier pour les filles et pour l'éducation.

Réalisations

Réalisations himalayennes
Tous ces sommets himalayens ont été réalisés sans l'apport d'oxygène artificiel.

 K2 (), Chine/Pakistan, le .
 Shishapangma (), Chine, par la face sud, le .
 Cho Oyu (), Népal/Chine, le .
 Lhotse (), Népal/Chine, en solitaire, le  (première féminine).
 Manaslu (), Népal, en solitaire, le .
 Gasherbrum II (), Chine/Pakistan, le .

Autres réalisations
 Mont Blanc (), Alpes, France/Italie
Huascarán (), Cordillère des Andes, Pérou
 Urus (), Cordillière des Andes, Pérou
Sajama (traversée) (), Bolivie
 Mont William (), Antarctique
 El Capitan (escalade), vallée de Yosemite, États-Unis

Publications
 J'habite au Paradis, Paris, J.-Cl. Lattès, 1998 .

Dans la culture
Chantal Mauduit a fait l'objet d'un poème intitulé Tombeau de Chantal Mauduit, par André Velter, avec François-René Duchâble au piano et Alain Carré comme récitant. En 2001, André Velter publie Une autre altitude. Poèmes pour Chantal Mauduit.

Annexes

Bibliographie

Filmographie
Death on the Mountain: Women of K2, un documentaire consacré aux femmes alpinistes sur le K2 est réalisé en 2003. À cette date, cinq femmes étaient arrivées au sommet, dont deux seulement sont redescendues vivantes : la première Wanda Rutkiewicz et la deuxième Chantal Mauduit. Elles sont toutes les deux mortes en montagne depuis.

Liens externes

 Association Chantal Mauduit Namasté

Notes et références

Alpiniste française
Himalayiste
Écrivain français du XXe siècle
Militant pour la liberté au Tibet
Naissance en mars 1964
Naissance dans le 15e arrondissement de Paris
Décès en mai 1998
Décès à 34 ans
Décès au Népal
Alpiniste mort en montagne
Mort dans une avalanche

redpajama_set_name: RedPajamaWikipedia


Incredible home and location backing up to North Park! Well-kept 3 bed, 3 bath split level home with beautiful Maple flooring and woodwork. Spacious main level with vaulted ceilings, eat-in kitchen, stainless steel appliances, and 2 fireplaces. Huge master suite includes private full bath with jetted tub and large walk-in closet. Other amenities include: deck, ceiling fan, ceramic tile, many updated items and more! Nice size garage with an extra space for your storage or shop area with multiple access points. Virtual walk through for this home available. Pre-inspected!


When you want to start making reports in your SCOM environment, you'd first have to learn how the data is stored in the SCOM DataWarehouse and which tables, views or stored procedure you can use.
I use SQL Server Business Intelligence Development Studio. You can use Report Builder, but it is less featured.
After you create a Shared DataSource and a new report, you can create your query for your Data Set.
Below is a query to get performance data from the aggregated view 'PerfDaily' for a computer from counter name 'Working Set'.
@ComputerName is a parameter which can be entered by a user. Another option is to fill this value with server names based on another query. Like "give me all servers from a specific group".