text:
Webster University Hosts Event On African Perspective on Sexual Abuse
In 2006, Tarana Burke started the Me Too campaign to give sexual abuse survivors a voice. The campaign became a movement when actress Alyssa Milano prompted women to tweet #MeToo to illustrate the magnitude of sexual harassment. Since, the movement has gained incredible feedback in the U.S. and internationally among women. Their collective voice resulted in the indictment of sexual offenders like Hollywood exec Harry Weinstein, whose arrest was a symbolic victory for the #MeToo movement. With sexual harassment being a pervasive threat in Ghanaian society, the question then becomes would the #MeToo movement have positive impact in Africa? Would it work in Ghana, to be exact?
On 19th April, 2018,Webster University tackled the topic by hosting an evening public lecture titled "Breaking the Silence: An African Perspective on #MeToo." The lecture took the format of a panel discussion, which transitioned into an interactive session with questions from the audience. The panelists included journalist and Webster University faculty member Esther Armah; Chair of Diplomacy at University of Johannesburg, Dr. Yolanda Spies; psychologist and nutritionist, Dr. Funke Baffour and research fellow at the University of Cape Coast, Dr. Mike Boakye-Yiadom. Each panelist gave a short presentation.
Dr. Funke Baffour shared that every 26 seconds a woman in Africa is raped and unpacked how the culture of silence enables and perpetuates the cycle of sexual harassment. "These statistics are only ten years old. How many people have the voice? We are living on a continent where your voices are not allowed to be heard. The voices of women are not heard because if you talk you won't get married, be a good wife, be good women and you will be accused of bringing shame to the family," professed Dr. Baffour.
Dr. Mike Boakye-Yiadom cautioned the fight against sexual abuse must not be left for women alone. Men need to be a part of the effort in order to achieve change. "Some men have sisters, some have spouses, so if it's about women, it's also about men. Most victims are hesitant to report and many who report, prefer to speak with family and friends instead of law enforcement agencies. After almost twenty decades this hasn't changed. There are some aspects of Ghanaian culture that make it difficult for victims to report. Almost every university and all the colleges of education in Ghana have sexual harassment policies which must be implemented," shared Dr. Boakye-Yiadom.
According to the Domestic Violence and Victim Support Unit of the Ghana Police service, from 2011 to 2016 there were 30,408 cases of assault reported, with the majority of them being rape cases (reported by women). This number only reflects individuals who reported, leaving out the many silenced by fear, shame and ignorance of the law. In addition to the culture of letting things slide, it is important to understand how the media and various mediums play a part in shaping the narrative of sexual harassment in Ghana.
Journalist and activist Esther Armah unpacked the difference between telling a story and framing said story. She called on media professionals to be cautious of how they frame stories as the media can have immense power on people's perceptions. "What manifests in the media is the notion that women and girls are responsible for the sexual feelings of men. If a man is aroused, it means a woman caused it, and that is the narrative that permeates," shared the journalist and podcast host of The Spin. Armah recently lead The Safe Space, a conference on Sexual Assault & Violence Awareness at the British Council on 16 June, 2018.
Dr. Yolanda Spies expressed that the entire continent needs to join the fight against sexual harassment and shared feedback on how the issue spans across industries and specifically internally in public institutions. The event was attended by faculty, students, activist organizations and community members.
Written by Lakeshia Marie
by Ahaspora Team
Royal Visit Ghana – the unique bond between Ghana & the UK
TAP Episode 3: The Right Mindset to Move Back to Ghana


U.S. Homeland Security Director Jeh Johnson announced this week that his department has increased security at federal building across the country in light of recent terror threats and attacks in Canada and elsewhere. Secretary Johnson said the move was a "precautionary" step in light of the recent violence in Canada and Islamic State threats.
Larry Zeltzer on ZDNet provides a post, "Effective security techniques we don't follow enough." Discussed are six security technologies/techniques for IT people to review and/or apply, starting with "Parameterized SQL Queries". Check them out for inclusion in your book.


At Body Mechanix you will not only master the science of how to build and maintain a level of physical fitness beyond your preconceived limits but will experience the superior results which come only from applying and following sound scientifically proven systems, carefully supervised and individually designed with your specific goals in mind.
Designing an individualized, systematic fitness program can only be properly accomplished by having an understanding of a client's goals, needs and abilities. This entails knowing what a client wants to gain from a training program, what a client needs from their program to successfully accomplish their goal(s) and how capable they are of performing the required tasks within an integrated program. This information is necessary and the first step toward creating the right program for each specific individual and comes through a proper fitness assessment. Regular assessments will allow Rob to continually monitor a client's needs, functional capabilities, and physiological effects from exercise, enabling the client to realize the full benefit of their individualized training program.


The History Center staff has been working hard to provide digital access to as many collections as possible in the past few months. The Durham Family Collection contains photos of the Durham family and their friends from the 1910s to the 1960's. The collection primarily consists of photographs focusing on Paul Durham, Jr. and wife Jimmie Beth Durham during their years at Diboll High School, their high school friends, Paul Jr.'s career at the Diboll Free Press, the Diboll Housing Authority construction projects, and numerous landmarks and members of the Diboll community.
Another collection we are proud to offer online is The Diboll News-Bulletin Collection. The History Center holds issues of this early Diboll paper from February 1953 to July 1958 and all are now accessible on our website.
The Nacogdoches County World War II Veterans Tribute book is an exciting addition to our World War II collections and we hope it is a useful tool for researchers intersted in East Texas veterans.
And finally, the ongoing task of digitizing the Lufkin Foundry & Machine Company's payroll books is still proceeding. We can now offer digital access to Books 1-10, which cover April 1902 - December 1920.


The shuttle operates daily. Passenger pickup is located in town at the Station Information Centre located on the corner of Shotover and Camp Street.
10 a.m. Queenstown to Gibbston Valley 10:45 a.m.
12 p.m. Gibbston Valley to Queenstown 12:45 p.m.
1 p.m. Queenstown to Gibbston Valley 1:45 p.m.
3 p.m. Queenstown to Gibbston Valley 3:45 p.m.
5 p.m. Gibbston Valley to Queenstown 5:45 p.m.
Contact +64 (03) 442 6910 for more information about shuttle bookings.
An Uphill Shuttle Service is available for trail riders to save those weary legs.
The shuttle operates on demand and is dependent on numbers (minimums of 2 people per shuttle).


text:
Q: Will witches' huts be generated in a minecraft world that was created before they were (will be) added?
Possible Duplicate:
Will new Minecraft features appear in existing worlds?

I'm a bit confused about how updating works. I imagine the already existing chunks will remain the same but new ones may contain the witch's hut, or do I have to create a brand-new world?
I'd hate to do that, I put weeks into my underwater fortress :)

A: I believe that they will spawn in newly generated areas. By that I mean they may be spawned when the game create more chunks.

redpajama_set_name: RedPajamaStackExchange


text:
Q: Creating nested DIVs on the fly using jQuery I need to create several DIVs on the fly. The first DIV will be created on the  and next 3 DIVs will be inside the newly created DIV. Below is my approach in creating this. Please let me know if this is the best way to do it.
I want to create this HTML in jQuery.

jQuery (I've created only 2 DIVs as for this example)
$(document).ready(function() {
    $('button').on("click", function() {
        $("body").append(
    $('
')
      .attr("id", "aTextDV")
      .addClass("ui-widget-content")
    );
    $('#aTextDV').append(
    $('
')
      .addClass("txmoPos")
      .attr("src", "img/markers/move.png")
    );
    })
})

A: step 1: minify the html.
i use this site:
http://www.willpeavy.com/minifier/
step 2: make the minified html a javascript string, example:
 var $divdata = '

some child content

';

step 3: append the div to the container
$('#aTextDV').append($divdata);

EDIT
Always store backups of the normal (unminified)html. editing the minified html will be a pain in the butt later on. better to keep the unminified html for quick edits and repeat the process each time you need to edit.

A: $(document).ready(function() {
    $('button').on("click", function() {
        $('body').append('

');
        $('#aTextDV').append('

');
        $('#aTextDV').append('

');
        $('#aTextDV').append('

');
    })
})

A: If the content you need is static - you can use jquery.load method - it's much more easier.


text:
package com.graphhopper.reader.osm;

import com.carrotsearch.hppc.LongIndexedContainer;
import com.graphhopper.GHRequest;
import com.graphhopper.GHResponse;
import com.graphhopper.GraphHopper;
import com.graphhopper.GraphHopperIT;
import com.graphhopper.reader.DataReader;
import com.graphhopper.reader.ReaderNode;
import com.graphhopper.reader.ReaderRelation;
import com.graphhopper.reader.ReaderWay;
import com.graphhopper.reader.dem.ElevationProvider;
import com.graphhopper.reader.dem.SRTMProvider;
import com.graphhopper.routing.profiles.*;
import com.graphhopper.routing.util.*;
import com.graphhopper.routing.util.parsers.OSMMaxHeightParser;
import com.graphhopper.routing.util.parsers.OSMMaxWeightParser;
import com.graphhopper.routing.util.parsers.OSMMaxWidthParser;
import com.graphhopper.storage.*;
import com.graphhopper.storage.index.LocationIndex;
import com.graphhopper.storage.index.QueryResult;
import com.graphhopper.util.*;
import com.graphhopper.util.details.PathDetail;
import com.graphhopper.util.shapes.GHPoint;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.*;

import static org.junit.Assert.*;

/**
 * Tests the OSMReader with the normal helper initialized.
 *
 * @author Peter Karich
 */
public class OSMReaderTest {
    private final String file1 = "test-osm.xml";
    private final String file2 = "test-osm2.xml";
    private final String file3 = "test-osm3.xml";
    private final String file4 = "test-osm4.xml";
    // test-osm6.pbf was created by running "osmconvert test-osm6.xml --timestamp=2014-01-02T00:10:14Z -o=test-osm6.pbf"
    // The osmconvert tool can be found here: http://wiki.openstreetmap.org/wiki/Osmconvert
    private final String file6 = "test-osm6.pbf";
    private final String file7 = "test-osm7.xml";
    private final String fileBarriers = "test-barriers.xml";
    private final String dir = "./target/tmp/test-db";
    private CarFlagEncoder carEncoder;
    private BooleanEncodedValue carAccessEnc;
    private FlagEncoder footEncoder;
    private EdgeExplorer carOutExplorer;
    private EdgeExplorer carAllExplorer;

    @Before
    public void setUp() {
        new File(dir).mkdirs();
    }

    @After
    public void tearDown() {
        Helper.removeDir(new File(dir));
    }

    GraphHopperStorage newGraph(String directory, EncodingManager encodingManager, boolean is3D, boolean turnRestrictionsImport) {
        return new GraphHopperStorage(new RAMDirectory(directory, false), encodingManager, is3D, turnRestrictionsImport);
    }

    @Test
    public void testMain() {
        GraphHopper hopper = new GraphHopperFacade(file1).importOrLoad();
        GraphHopperStorage graph = hopper.getGraphHopperStorage();

        assertNotNull(graph.getProperties().get("datareader.import.date"));
        assertNotEquals("", graph.getProperties().get("datareader.import.date"));

        assertEquals("2013-01-02T01:10:14Z", graph.getProperties().get("datareader.data.date"));

        assertEquals(4, graph.getNodes());
        int n20 = AbstractGraphStorageTester.getIdOf(graph, 52);
        int n10 = AbstractGraphStorageTester.getIdOf(graph, 51.2492152);
        int n30 = AbstractGraphStorageTester.getIdOf(graph, 51.2);
        int n50 = AbstractGraphStorageTester.getIdOf(graph, 49);
        assertEquals(GHUtility.asSet(n20), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n10)));
        assertEquals(3, GHUtility.count(carOutExplorer.setBaseNode(n20)));
        assertEquals(GHUtility.asSet(n20), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n30)));

        EdgeIterator iter = carOutExplorer.setBaseNode(n20);
        assertTrue(iter.next());
        assertEquals("street 123, B 122", iter.getName());
        assertEquals(n50, iter.getAdjNode());
        AbstractGraphStorageTester.assertPList(Helper.createPointList(51.25, 9.43), iter.fetchWayGeometry(0));
        assertTrue(iter.get(carAccessEnc));
        assertTrue(iter.getReverse(carAccessEnc));

        assertTrue(iter.next());
        assertEquals("route 666", iter.getName());
        assertEquals(n30, iter.getAdjNode());
        assertEquals(93147, iter.getDistance(), 1);

        assertTrue(iter.next());
        assertEquals("route 666", iter.getName());
        assertEquals(n10, iter.getAdjNode());
        assertEquals(88643, iter.getDistance(), 1);

        assertTrue(iter.get(carAccessEnc));
        assertTrue(iter.getReverse(carAccessEnc));
        assertFalse(iter.next());

        // get third added location id=30
        iter = carOutExplorer.setBaseNode(n30);
        assertTrue(iter.next());
        assertEquals("route 666", iter.getName());
        assertEquals(n20, iter.getAdjNode());
        assertEquals(93146.888, iter.getDistance(), 1);

        NodeAccess na = graph.getNodeAccess();
        assertEquals(9.4, na.getLongitude(findID(hopper.getLocationIndex(), 51.2, 9.4)), 1e-3);
        assertEquals(10, na.getLongitude(findID(hopper.getLocationIndex(), 49, 10)), 1e-3);
        assertEquals(51.249, na.getLatitude(findID(hopper.getLocationIndex(), 51.2492152, 9.4317166)), 1e-3);

        // node 40 is on the way between 30 and 50 => 9.0
        assertEquals(9, na.getLongitude(findID(hopper.getLocationIndex(), 51.25, 9.43)), 1e-3);
    }

    protected int findID(LocationIndex index, double lat, double lon) {
        return index.findClosest(lat, lon, EdgeFilter.ALL_EDGES).getClosestNode();
    }

    @Test
    public void testSort() {
        GraphHopper hopper = new GraphHopperFacade(file1).setSortGraph(true).importOrLoad();
        NodeAccess na = hopper.getGraphHopperStorage().getNodeAccess();
        assertEquals(10, na.getLongitude(findID(hopper.getLocationIndex(), 49, 10)), 1e-3);
        assertEquals(51.249, na.getLatitude(findID(hopper.getLocationIndex(), 51.2492152, 9.4317166)), 1e-3);
    }

    @Test
    public void testWithBounds() {
        GraphHopper hopper = new GraphHopperFacade(file1) {
            @Override
            protected DataReader createReader(GraphHopperStorage tmpGraph) {
                return new OSMReader(tmpGraph) {
                    @Override
                    public boolean isInBounds(ReaderNode node) {
                        return node.getLat() > 49 && node.getLon() > 8;
                    }
                };
            }
        };

        hopper.importOrLoad();

        Graph graph = hopper.getGraphHopperStorage();
        assertEquals(4, graph.getNodes());
        int n10 = AbstractGraphStorageTester.getIdOf(graph, 51.2492152);
        int n20 = AbstractGraphStorageTester.getIdOf(graph, 52);
        int n30 = AbstractGraphStorageTester.getIdOf(graph, 51.2);
        int n40 = AbstractGraphStorageTester.getIdOf(graph, 51.25);

        assertEquals(GHUtility.asSet(n20), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n10)));
        assertEquals(3, GHUtility.count(carOutExplorer.setBaseNode(n20)));
        assertEquals(GHUtility.asSet(n20), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n30)));

        EdgeIterator iter = carOutExplorer.setBaseNode(n20);
        assertTrue(iter.next());
        assertEquals(n40, iter.getAdjNode());
        AbstractGraphStorageTester.assertPList(Helper.createPointList(), iter.fetchWayGeometry(0));
        assertTrue(iter.next());
        assertEquals(n30, iter.getAdjNode());
        assertEquals(93146.888, iter.getDistance(), 1);
        assertTrue(iter.next());
        AbstractGraphStorageTester.assertPList(Helper.createPointList(), iter.fetchWayGeometry(0));
        assertEquals(n10, iter.getAdjNode());
        assertEquals(88643, iter.getDistance(), 1);

        // get third added location => 2
        iter = carOutExplorer.setBaseNode(n30);
        assertTrue(iter.next());
        assertEquals(n20, iter.getAdjNode());
        assertEquals(93146.888, iter.getDistance(), 1);
        assertFalse(iter.next());
    }

    @Test
    public void testOneWay() {
        GraphHopper hopper = new GraphHopperFacade(file2).importOrLoad();
        GraphHopperStorage graph = hopper.getGraphHopperStorage();

        assertEquals("2014-01-02T01:10:14Z", graph.getProperties().get("datareader.data.date"));

        int n20 = AbstractGraphStorageTester.getIdOf(graph, 52.0);
        int n22 = AbstractGraphStorageTester.getIdOf(graph, 52.133);
        int n23 = AbstractGraphStorageTester.getIdOf(graph, 52.144);
        int n10 = AbstractGraphStorageTester.getIdOf(graph, 51.2492152);
        int n30 = AbstractGraphStorageTester.getIdOf(graph, 51.2);

        assertEquals(1, GHUtility.count(carOutExplorer.setBaseNode(n10)));
        assertEquals(2, GHUtility.count(carOutExplorer.setBaseNode(n20)));
        assertEquals(0, GHUtility.count(carOutExplorer.setBaseNode(n30)));

        EdgeIterator iter = carOutExplorer.setBaseNode(n20);
        assertTrue(iter.next());
        assertTrue(iter.next());
        assertEquals(n30, iter.getAdjNode());

        iter = carAllExplorer.setBaseNode(n20);
        assertTrue(iter.next());
        assertEquals(n23, iter.getAdjNode());
        assertTrue(iter.get(carAccessEnc));
        assertFalse(iter.getReverse(carAccessEnc));

        assertTrue(iter.next());
        assertEquals(n22, iter.getAdjNode());
        assertFalse(iter.get(carAccessEnc));
        assertTrue(iter.getReverse(carAccessEnc));

        assertTrue(iter.next());
        assertFalse(iter.get(carAccessEnc));
        assertTrue(iter.getReverse(carAccessEnc));

        assertTrue(iter.next());
        assertEquals(n30, iter.getAdjNode());
        assertTrue(iter.get(carAccessEnc));
        assertFalse(iter.getReverse(carAccessEnc));

        assertTrue(iter.next());
        assertEquals(n10, iter.getAdjNode());
        assertFalse(iter.get(carAccessEnc));
        assertTrue(iter.getReverse(carAccessEnc));
    }

    @Test
    public void testFerry() {
        GraphHopper hopper = new GraphHopperFacade(file2) {
            @Override
            public void cleanUp() {
            }
        }.importOrLoad();
        Graph graph = hopper.getGraphHopperStorage();

        int n40 = AbstractGraphStorageTester.getIdOf(graph, 54.0);
        int n50 = AbstractGraphStorageTester.getIdOf(graph, 55.0);
        assertEquals(GHUtility.asSet(n40), GHUtility.getNeighbors(carAllExplorer.setBaseNode(n50)));

        // no duration is given => slow speed only!
        int n80 = AbstractGraphStorageTester.getIdOf(graph, 54.1);
        EdgeIterator iter = carOutExplorer.setBaseNode(n80);
        iter.next();
        assertEquals(5, iter.get(carEncoder.getAverageSpeedEnc()), 1e-1);

        // duration 01:10 is given => more precise speed calculation!
        // ~111km (from 54.0,10.1 to 55.0,10.2) in duration=70 minutes => 95km/h => / 1.4 => 71km/h
        iter = carOutExplorer.setBaseNode(n40);
        iter.next();
        assertEquals(70, iter.get(carEncoder.getAverageSpeedEnc()), 1e-1);
    }

    @Test
    public void testMaxSpeed() {
        GraphHopper hopper = new GraphHopperFacade(file2) {
            @Override
            public void cleanUp() {
            }
        }.importOrLoad();
        Graph graph = hopper.getGraphHopperStorage();

        int n60 = AbstractGraphStorageTester.getIdOf(graph, 56.0);
        EdgeIterator iter = carOutExplorer.setBaseNode(n60);
        iter.next();
        assertEquals(35, iter.get(carEncoder.getAverageSpeedEnc()), 1e-1);
    }

    @Test
    public void testWayReferencesNotExistingAdjNode() {
        GraphHopper hopper = new GraphHopperFacade(file4).importOrLoad();
        Graph graph = hopper.getGraphHopperStorage();

        assertEquals(2, graph.getNodes());
        int n10 = AbstractGraphStorageTester.getIdOf(graph, 51.2492152);
        int n30 = AbstractGraphStorageTester.getIdOf(graph, 51.2);

        assertEquals(GHUtility.asSet(n30), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n10)));
    }

    @Test
    public void testFoot() {
        GraphHopper hopper = new GraphHopperFacade(file3).importOrLoad();
        Graph graph = hopper.getGraphHopperStorage();

        int n10 = AbstractGraphStorageTester.getIdOf(graph, 11.1);
        int n20 = AbstractGraphStorageTester.getIdOf(graph, 12);
        int n30 = AbstractGraphStorageTester.getIdOf(graph, 11.2);
        int n40 = AbstractGraphStorageTester.getIdOf(graph, 11.3);
        int n50 = AbstractGraphStorageTester.getIdOf(graph, 10);

        assertEquals(GHUtility.asSet(n20, n40), GHUtility.getNeighbors(carAllExplorer.setBaseNode(n10)));
        assertEquals(GHUtility.asSet(), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n30)));
        assertEquals(GHUtility.asSet(n10, n30, n40), GHUtility.getNeighbors(carAllExplorer.setBaseNode(n20)));
        assertEquals(GHUtility.asSet(n30, n40), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n20)));

        EdgeExplorer footOutExplorer = graph.createEdgeExplorer(DefaultEdgeFilter.outEdges(footEncoder));
        assertEquals(GHUtility.asSet(n20, n50), GHUtility.getNeighbors(footOutExplorer.setBaseNode(n10)));
        assertEquals(GHUtility.asSet(n20, n50), GHUtility.getNeighbors(footOutExplorer.setBaseNode(n30)));
        assertEquals(GHUtility.asSet(n10, n30), GHUtility.getNeighbors(footOutExplorer.setBaseNode(n20)));
    }

    @Test
    public void testNegativeIds() {
        String fileNegIds = "test-osm-negative-ids.xml";
        GraphHopper hopper = new GraphHopperFacade(fileNegIds).importOrLoad();
        Graph graph = hopper.getGraphHopperStorage();
        assertEquals(4, graph.getNodes());
        int n20 = AbstractGraphStorageTester.getIdOf(graph, 52);
        int n10 = AbstractGraphStorageTester.getIdOf(graph, 51.2492152);
        int n30 = AbstractGraphStorageTester.getIdOf(graph, 51.2);
        assertEquals(GHUtility.asSet(n20), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n10)));
        assertEquals(3, GHUtility.count(carOutExplorer.setBaseNode(n20)));
        assertEquals(GHUtility.asSet(n20), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n30)));

        EdgeIterator iter = carOutExplorer.setBaseNode(n20);
        assertTrue(iter.next());

        assertTrue(iter.next());
        assertEquals(n30, iter.getAdjNode());
        assertEquals(93147, iter.getDistance(), 1);

        assertTrue(iter.next());
        assertEquals(n10, iter.getAdjNode());
        assertEquals(88643, iter.getDistance(), 1);
    }

    @Test
    public void testBarriers() {
        GraphHopper hopper = new GraphHopperFacade(fileBarriers).
                setMinNetworkSize(0, 0).
                importOrLoad();

        Graph graph = hopper.getGraphHopperStorage();
        assertEquals(8, graph.getNodes());

        int n10 = AbstractGraphStorageTester.getIdOf(graph, 51);
        int n20 = AbstractGraphStorageTester.getIdOf(graph, 52);
        int n30 = AbstractGraphStorageTester.getIdOf(graph, 53);
        int n50 = AbstractGraphStorageTester.getIdOf(graph, 55);

        // separate id
        int new20 = 4;
        assertNotEquals(n20, new20);
        NodeAccess na = graph.getNodeAccess();
        assertEquals(na.getLatitude(n20), na.getLatitude(new20), 1e-5);
        assertEquals(na.getLongitude(n20), na.getLongitude(new20), 1e-5);

        assertEquals(n20, findID(hopper.getLocationIndex(), 52, 9.4));

        assertEquals(GHUtility.asSet(n20, n30), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n10)));
        assertEquals(GHUtility.asSet(new20, n10, n50), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n30)));

        EdgeIterator iter = carOutExplorer.setBaseNode(n20);
        assertTrue(iter.next());
        assertEquals(n10, iter.getAdjNode());
        assertFalse(iter.next());

        iter = carOutExplorer.setBaseNode(new20);
        assertTrue(iter.next());
        assertEquals(n30, iter.getAdjNode());
        assertFalse(iter.next());
    }

    @Test
    public void avoidsLoopEdges_1525() {
        // loops in OSM should be avoided by adding additional tower node (see #1525, #1531)
        //     C - D
        //      \ /
        //   A - B - E
        GraphHopper hopper = new GraphHopperFacade("test-avoid-loops.xml").importOrLoad();
        checkLoop(hopper);
    }

    void checkLoop(GraphHopper hopper) {
        GraphHopperStorage graph = hopper.getGraphHopperStorage();

        // A, B, E and one of C or D should be tower nodes, in any case C and D should not be collapsed entirely
        // into a loop edge from B to B.
        assertEquals(4, graph.getNodes());
        // two edges going to A and E and two edges going to C or D
        AllEdgesIterator iter = graph.getAllEdges();
        assertEquals(4, iter.length());
        while (iter.next()) {
            assertTrue("found a loop", iter.getAdjNode() != iter.getBaseNode());
        }
        int nodeB = AbstractGraphStorageTester.getIdOf(graph, 12);
        assertTrue("could not find OSM node B", nodeB > -1);
        assertEquals(4, GHUtility.count(graph.createEdgeExplorer().setBaseNode(nodeB)));
    }

    @Test
    public void avoidsLoopEdgesIdenticalLatLon_1533() {
        checkLoop(new GraphHopperFacade("test-avoid-loops2.xml").importOrLoad());
    }

    @Test
    public void avoidsLoopEdgesIdenticalNodeIds_1533() {
        // We can handle the following case with the proper result:
        checkLoop(new GraphHopperFacade("test-avoid-loops3.xml").importOrLoad());
        // We cannot handle the following case, i.e. no loop is created. so we only check that there are no loops
        GraphHopper hopper = new GraphHopperFacade("test-avoid-loops4.xml").importOrLoad();
        GraphHopperStorage graph = hopper.getGraphHopperStorage();
        AllEdgesIterator iter = graph.getAllEdges();
        assertEquals(2, iter.length());
        while (iter.next()) {
            assertTrue("found a loop", iter.getAdjNode() != iter.getBaseNode());
        }
        int nodeB = AbstractGraphStorageTester.getIdOf(graph, 12);
        assertTrue("could not find OSM node B", nodeB > -1);
        assertEquals(2, GHUtility.count(graph.createEdgeExplorer().setBaseNode(nodeB)));
    }

    @Test
    public void testBarriersOnTowerNodes() {
        GraphHopper hopper = new GraphHopperFacade(fileBarriers).
                setMinNetworkSize(0, 0).
                importOrLoad();
        Graph graph = hopper.getGraphHopperStorage();
        assertEquals(8, graph.getNodes());

        int n60 = AbstractGraphStorageTester.getIdOf(graph, 56);
        int newId = 5;
        assertEquals(GHUtility.asSet(newId), GHUtility.getNeighbors(carOutExplorer.setBaseNode(n60)));

        EdgeIterator iter = carOutExplorer.setBaseNode(n60);
        assertTrue(iter.next());
        assertEquals(newId, iter.getAdjNode());
        assertFalse(iter.next());

        iter = carOutExplorer.setBaseNode(newId);
        assertTrue(iter.next());
        assertEquals(n60, iter.getAdjNode());
        assertFalse(iter.next());
    }

    @Test
    public void testRelation() {
        EncodingManager manager = EncodingManager.create("bike");
        GraphHopperStorage ghStorage = new GraphHopperStorage(new RAMDirectory(), manager, false);
        OSMReader reader = new OSMReader(ghStorage);
        ReaderRelation osmRel = new ReaderRelation(1);
        osmRel.add(new ReaderRelation.Member(ReaderRelation.WAY, 1, ""));
        osmRel.add(new ReaderRelation.Member(ReaderRelation.WAY, 2, ""));

        osmRel.setTag("route", "bicycle");
        osmRel.setTag("network", "lcn");
        reader.prepareWaysWithRelationInfo(osmRel);

        IntsRef flags = IntsRef.deepCopyOf(reader.getRelFlagsMap(1));
        assertFalse(flags.isEmpty());

        // unchanged network
        reader.prepareWaysWithRelationInfo(osmRel);
        IntsRef flags2 = reader.getRelFlagsMap(1);
        assertEquals(flags, flags2);

        // overwrite network
        osmRel.setTag("network", "ncn");
        reader.prepareWaysWithRelationInfo(osmRel);
        IntsRef flags3 = reader.getRelFlagsMap(1);
        assertNotEquals(flags, flags3);
    }

    @Test
    public void testTurnRestrictions() {
        String fileTurnRestrictions = "test-restrictions.xml";
        GraphHopper hopper = new GraphHopperFacade(fileTurnRestrictions, true, "").
                importOrLoad();

        Graph graph = hopper.getGraphHopperStorage();
        assertEquals(15, graph.getNodes());
        TurnCostStorage tcStorage = graph.getTurnCostStorage();
        assertNotNull(tcStorage);

        int n1 = AbstractGraphStorageTester.getIdOf(graph, 50, 10);
        int n2 = AbstractGraphStorageTester.getIdOf(graph, 52, 10);
        int n3 = AbstractGraphStorageTester.getIdOf(graph, 52, 11);
        int n4 = AbstractGraphStorageTester.getIdOf(graph, 52, 12);
        int n5 = AbstractGraphStorageTester.getIdOf(graph, 50, 12);
        int n6 = AbstractGraphStorageTester.getIdOf(graph, 51, 11);
        int n8 = AbstractGraphStorageTester.getIdOf(graph, 54, 11);

        int edge1_6 = GHUtility.getEdge(graph, n1, n6).getEdge();
        int edge2_3 = GHUtility.getEdge(graph, n2, n3).getEdge();
        int edge3_4 = GHUtility.getEdge(graph, n3, n4).getEdge();
        int edge3_8 = GHUtility.getEdge(graph, n3, n8).getEdge();

        int edge3_2 = GHUtility.getEdge(graph, n3, n2).getEdge();
        int edge4_3 = GHUtility.getEdge(graph, n4, n3).getEdge();
        int edge8_3 = GHUtility.getEdge(graph, n8, n3).getEdge();

        // (2-3)->(3-4) only_straight_on = (2-3)->(3-8) restricted
        // (4-3)->(3-8) no_right_turn = (4-3)->(3-8) restricted
        IntsRef tcFlags = TurnCost.createFlags();
        DecimalEncodedValue carTCEnc = hopper.getEncodingManager().getDecimalEncodedValue(TurnCost.key("car"));
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_8)) > 0);
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_3, n3, edge3_8)) > 0);
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_4)) == 0);
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_2)) == 0);
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_4)) == 0);
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_3, n3, edge3_2)) == 0);
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge8_3, n3, edge3_2)) == 0);

        // u-turn restriction for (6-1)->(1-6) but not for (1-6)->(6-1)
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge1_6, n1, edge1_6)) > 0);
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge1_6, n6, edge1_6)) == 0);

        int edge4_5 = GHUtility.getEdge(graph, n4, n5).getEdge();
        int edge5_6 = GHUtility.getEdge(graph, n5, n6).getEdge();
        int edge5_1 = GHUtility.getEdge(graph, n5, n1).getEdge();

        // (4-5)->(5-1) right_turn_only = (4-5)->(5-6) restricted
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_5, n5, edge5_6)) == 0);
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_5, n5, edge5_1)) > 0);

        DecimalEncodedValue bikeTCEnc = hopper.getEncodingManager().getDecimalEncodedValue(TurnCost.key("bike"));
        assertTrue(bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_5, n5, edge5_6)) == 0);

        int n10 = AbstractGraphStorageTester.getIdOf(graph, 40, 10);
        int n11 = AbstractGraphStorageTester.getIdOf(graph, 40, 11);
        int n14 = AbstractGraphStorageTester.getIdOf(graph, 39, 11);

        int edge10_11 = GHUtility.getEdge(graph, n10, n11).getEdge();
        int edge11_14 = GHUtility.getEdge(graph, n11, n14).getEdge();

        assertTrue(tcStorage.readFlags(tcFlags, edge11_14, n11, edge10_11).isEmpty());

        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge10_11, n11, edge11_14)) == 0);
        assertTrue(bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge10_11, n11, edge11_14)) > 0);
    }

    @Test
    public void testRoadAttributes() {
        String fileRoadAttributes = "test-road-attributes.xml";
        GraphHopper hopper = new GraphHopperFacade(fileRoadAttributes);
        CarFlagEncoder encoder = new CarFlagEncoder();
        hopper.setEncodingManager(new EncodingManager.Builder().
                add(new OSMMaxWidthParser()).add(new OSMMaxHeightParser()).add(new OSMMaxWeightParser()).
                add(encoder).build());
        hopper.importOrLoad();

        DecimalEncodedValue widthEnc = hopper.getEncodingManager().getDecimalEncodedValue(MaxWidth.KEY);
        DecimalEncodedValue heightEnc = hopper.getEncodingManager().getDecimalEncodedValue(MaxHeight.KEY);
        DecimalEncodedValue weightEnc = hopper.getEncodingManager().getDecimalEncodedValue(MaxWeight.KEY);

        Graph graph = hopper.getGraphHopperStorage();
        assertEquals(5, graph.getNodes());

        int na = AbstractGraphStorageTester.getIdOf(graph, 11.1, 50);
        int nb = AbstractGraphStorageTester.getIdOf(graph, 12, 51);
        int nc = AbstractGraphStorageTester.getIdOf(graph, 11.2, 52);
        int nd = AbstractGraphStorageTester.getIdOf(graph, 11.3, 51);
        int ne = AbstractGraphStorageTester.getIdOf(graph, 10, 51);

        EdgeIteratorState edge_ab = GHUtility.getEdge(graph, na, nb);
        EdgeIteratorState edge_ad = GHUtility.getEdge(graph, na, nd);
        EdgeIteratorState edge_ae = GHUtility.getEdge(graph, na, ne);
        EdgeIteratorState edge_bc = GHUtility.getEdge(graph, nb, nc);
        EdgeIteratorState edge_bd = GHUtility.getEdge(graph, nb, nd);
        EdgeIteratorState edge_cd = GHUtility.getEdge(graph, nc, nd);
        EdgeIteratorState edge_ce = GHUtility.getEdge(graph, nc, ne);
        EdgeIteratorState edge_de = GHUtility.getEdge(graph, nd, ne);

        assertEquals(4.0, edge_ab.get(heightEnc), 1e-5);
        assertEquals(2.5, edge_ab.get(widthEnc), 1e-5);
        assertEquals(4.4, edge_ab.get(weightEnc), 1e-5);

        assertEquals(4.0, edge_bc.get(heightEnc), 1e-5);
        assertEquals(2.5, edge_bc.get(widthEnc), 1e-5);
        assertEquals(4.4, edge_bc.get(weightEnc), 1e-5);

        assertEquals(4.4, edge_ad.get(heightEnc), 1e-5);
        assertEquals(3.5, edge_ad.get(widthEnc), 1e-5);
        assertEquals(17.5, edge_ad.get(weightEnc), 1e-5);

        assertEquals(4.4, edge_cd.get(heightEnc), 1e-5);
        assertEquals(3.5, edge_cd.get(widthEnc), 1e-5);
        assertEquals(17.5, edge_cd.get(weightEnc), 1e-5);
    }

    @Test
    public void testEstimatedCenter() {
        final CarFlagEncoder encoder = new CarFlagEncoder() {
            private EncodedValueOld objectEncoder;

            @Override
            public int defineNodeBits(int index, int shift) {
                shift = super.defineNodeBits(index, shift);
                objectEncoder = new EncodedValueOld("oEnc", shift, 2, 1, 0, 3, true);
                return shift + 2;
            }

            @Override
            public long handleNodeTags(ReaderNode node) {
                if (node.hasTag("test", "now"))
                    return -objectEncoder.setValue(0, 1);
                return 0;
            }
        };
        EncodingManager manager = EncodingManager.create(encoder);
        GraphHopperStorage ghStorage = newGraph(dir, manager, false, false);
        final Map<Integer, Double> latMap = new HashMap<>();
        final Map<Integer, Double> lonMap = new HashMap<>();
        latMap.put(1, 1.1d);
        latMap.put(2, 1.2d);

        lonMap.put(1, 1.0d);
        lonMap.put(2, 1.0d);

        OSMReader osmreader = new OSMReader(ghStorage) {
            // mock data access
            @Override
            double getTmpLatitude(int id) {
                return latMap.get(id);
            }

            @Override
            double getTmpLongitude(int id) {
                return lonMap.get(id);
            }

            @Override
            Collection<EdgeIteratorState> addOSMWay(LongIndexedContainer osmNodeIds, IntsRef wayFlags, long osmId) {
                return Collections.emptyList();
            }
        };

        // save some node tags for first node
        ReaderNode osmNode = new ReaderNode(1, 1.1d, 1.0d);
        osmNode.setTag("test", "now");
        osmreader.getNodeFlagsMap().put(1, encoder.handleNodeTags(osmNode));

        ReaderWay way = new ReaderWay(1L);
        way.getNodes().add(1);
        way.getNodes().add(2);
        way.setTag("highway", "motorway");
        osmreader.getNodeMap().put(1, 1);
        osmreader.getNodeMap().put(2, 2);
        osmreader.processWay(way);

        GHPoint p = way.getTag("estimated_center", null);
        assertEquals(1.15, p.lat, 1e-3);
        assertEquals(1.0, p.lon, 1e-3);
        Double d = way.getTag("estimated_distance", null);
        assertEquals(11119.5, d, 1e-1);
    }

    @Test
    public void testReadEleFromCustomOSM() {
        GraphHopper hopper = new GraphHopperFacade("custom-osm-ele.xml") {
            @Override
            protected DataReader createReader(GraphHopperStorage tmpGraph) {
                return initDataReader(new OSMReader(tmpGraph) {
                    @Override
                    protected double getElevation(ReaderNode node) {
                        return node.getEle();
                    }
                });
            }
        }.setElevation(true).importOrLoad();

        Graph graph = hopper.getGraphHopperStorage();
        int n20 = AbstractGraphStorageTester.getIdOf(graph, 52);
        int n50 = AbstractGraphStorageTester.getIdOf(graph, 49);

        EdgeIteratorState edge = GHUtility.getEdge(graph, n20, n50);
        assertEquals(Helper.createPointList3D(52, 9, -10, 51.25, 9.43, 100, 49, 10, -30), edge.fetchWayGeometry(3));
    }

    @Test
    public void testReadEleFromDataProvider() {
        GraphHopper hopper = new GraphHopperFacade("test-osm5.xml");
        // get N10E046.hgt.zip
        ElevationProvider provider = new SRTMProvider(GraphHopperIT.DIR);
        hopper.setElevationProvider(provider);
        hopper.importOrLoad();

        Graph graph = hopper.getGraphHopperStorage();
        int n10 = AbstractGraphStorageTester.getIdOf(graph, 49.501);
        int n30 = AbstractGraphStorageTester.getIdOf(graph, 49.5011);
        int n50 = AbstractGraphStorageTester.getIdOf(graph, 49.5001);

        EdgeIteratorState edge = GHUtility.getEdge(graph, n50, n30);
        assertEquals(Helper.createPointList3D(49.5001, 11.501, 426, 49.5002, 11.5015, 441, 49.5011, 11.502, 410.0),
                edge.fetchWayGeometry(3));

        edge = GHUtility.getEdge(graph, n10, n50);
        assertEquals(Helper.createPointList3D(49.501, 11.5001, 383.0, 49.5001, 11.501, 426.0),
                edge.fetchWayGeometry(3));
    }

    /**
     * Tests the combination of different turn cost flags by different encoders.
     */
    @Test
    public void testTurnFlagCombination() {
        CarFlagEncoder car = new CarFlagEncoder(5, 5, 24);
        CarFlagEncoder truck = new CarFlagEncoder(5, 5, 24) {
            @Override
            public String toString() {
                return "truck";
            }
        };
        BikeFlagEncoder bike = new BikeFlagEncoder(4, 2, 24);
        EncodingManager manager = new EncodingManager.Builder().add(bike).add(truck).add(car).build();

        GraphHopper hopper = new GraphHopperOSM().
                setOSMFile(getClass().getResource("test-multi-profile-turn-restrictions.xml").getFile()).
                setGraphHopperLocation(dir).setEncodingManager(manager).importOrLoad();

        DecimalEncodedValue carTCEnc = manager.getDecimalEncodedValue(TurnCost.key("car"));
        DecimalEncodedValue truckTCEnc = manager.getDecimalEncodedValue(TurnCost.key("truck"));
        DecimalEncodedValue bikeTCEnc = manager.getDecimalEncodedValue(TurnCost.key("bike"));

        Graph graph = hopper.getGraphHopperStorage();
        TurnCostStorage tcStorage = graph.getTurnCostStorage();

        IntsRef tcFlags = TurnCost.createFlags();
        tcStorage.readFlags(tcFlags, GHUtility.getEdge(graph, 1, 0).getEdge(), 0, GHUtility.getEdge(graph, 0, 2).getEdge());
        // the 2nd entry provides turn flags for bike only
        assertTrue(Double.isInfinite(carTCEnc.getDecimal(false, tcFlags)));
        assertTrue(Double.isInfinite(truckTCEnc.getDecimal(false, tcFlags)));
        assertEquals(0, bikeTCEnc.getDecimal(false, tcFlags), .1);

        tcStorage.readFlags(tcFlags, GHUtility.getEdge(graph, 2, 0).getEdge(), 0, GHUtility.getEdge(graph, 0, 3).getEdge());
        // the first entry provides turn flags for car and foot only
        assertEquals(0, carTCEnc.getDecimal(false, tcFlags), .1);
        assertEquals(0, truckTCEnc.getDecimal(false, tcFlags), .1);
        assertTrue(Double.isInfinite(bikeTCEnc.getDecimal(false, tcFlags)));

        tcStorage.readFlags(tcFlags, GHUtility.getEdge(graph, 3, 0).getEdge(), 0, GHUtility.getEdge(graph, 0, 2).getEdge());
        assertEquals(0, carTCEnc.getDecimal(false, tcFlags), .1);
        assertTrue(Double.isInfinite(truckTCEnc.getDecimal(false, tcFlags)));
        assertEquals(0, bikeTCEnc.getDecimal(false, tcFlags), .1);
    }

    @Test
    public void testConditionalTurnRestriction() {
        String fileConditionalTurnRestrictions = "test-conditional-turn-restrictions.xml";
        GraphHopper hopper = new GraphHopperFacade(fileConditionalTurnRestrictions, true, "").
                importOrLoad();

        Graph graph = hopper.getGraphHopperStorage();
        assertEquals(8, graph.getNodes());
        TurnCostStorage tcStorage = graph.getTurnCostStorage();
        assertNotNull(tcStorage);

        int n1 = AbstractGraphStorageTester.getIdOf(graph, 50, 10);
        int n2 = AbstractGraphStorageTester.getIdOf(graph, 52, 10);
        int n3 = AbstractGraphStorageTester.getIdOf(graph, 52, 11);
        int n4 = AbstractGraphStorageTester.getIdOf(graph, 52, 12);
        int n5 = AbstractGraphStorageTester.getIdOf(graph, 50, 12);
        int n6 = AbstractGraphStorageTester.getIdOf(graph, 51, 11);
        int n8 = AbstractGraphStorageTester.getIdOf(graph, 54, 11);

        int edge1_6 = GHUtility.getEdge(graph, n1, n6).getEdge();
        int edge2_3 = GHUtility.getEdge(graph, n2, n3).getEdge();
        int edge3_4 = GHUtility.getEdge(graph, n3, n4).getEdge();
        int edge3_8 = GHUtility.getEdge(graph, n3, n8).getEdge();

        int edge3_2 = GHUtility.getEdge(graph, n3, n2).getEdge();
        int edge4_3 = GHUtility.getEdge(graph, n4, n3).getEdge();
        int edge8_3 = GHUtility.getEdge(graph, n8, n3).getEdge();

        int edge4_5 = GHUtility.getEdge(graph, n4, n5).getEdge();
        int edge5_6 = GHUtility.getEdge(graph, n5, n6).getEdge();
        int edge5_1 = GHUtility.getEdge(graph, n5, n1).getEdge();

        // (2-3)->(3-4) only_straight_on except bicycle = (2-3)->(3-8) restricted for car
        // (4-3)->(3-8) no_right_turn dedicated to motorcar = (4-3)->(3-8) restricted for car

        IntsRef tcFlags = TurnCost.createFlags();
        DecimalEncodedValue carTCEnc = hopper.getEncodingManager().getDecimalEncodedValue(TurnCost.key("car"));
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_8)) > 0);
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_3, n3, edge3_8)) > 0);
        assertEquals(0, carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_4)), .1);
        assertEquals(0, carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_2)), .1);
        assertEquals(0, carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_4)), .1);
        assertEquals(0, carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_3, n3, edge3_2)), .1);
        assertEquals(0, carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge8_3, n3, edge3_2)), .1);

        DecimalEncodedValue bikeTCEnc = hopper.getEncodingManager().getDecimalEncodedValue(TurnCost.key("bike"));
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_8)), .1);
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_3, n3, edge3_8)), .1);
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_4)), .1);
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_2)), .1);
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge2_3, n3, edge3_4)), .1);
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_3, n3, edge3_2)), .1);
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge8_3, n3, edge3_2)), .1);

        // u-turn except bus;bicycle restriction for (6-1)->(1-6) but not for (1-6)->(6-1)
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge1_6, n1, edge1_6)) > 0);
        assertEquals(0, carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge1_6, n6, edge1_6)), .1);

        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge1_6, n1, edge1_6)), .1);
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge1_6, n6, edge1_6)), .1);

        // (4-5)->(5-6) right_turn_only dedicated to motorcar = (4-5)->(5-1) restricted
        assertEquals(0, carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_5, n5, edge5_6)), .1);
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_5, n5, edge5_1)) > 0);

        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_5, n5, edge5_6)), .1);
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_5, n5, edge5_1)), .1);
    }

    @Test
    public void testMultipleTurnRestrictions() {
        String fileMultipleConditionalTurnRestrictions = "test-multiple-conditional-turn-restrictions.xml";
        GraphHopper hopper = new GraphHopperFacade(fileMultipleConditionalTurnRestrictions, true, "").
                importOrLoad();

        Graph graph = hopper.getGraphHopperStorage();
        assertEquals(5, graph.getNodes());
        TurnCostStorage tcStorage = graph.getTurnCostStorage();
        assertNotNull(tcStorage);

        int n1 = AbstractGraphStorageTester.getIdOf(graph, 50, 10);
        int n2 = AbstractGraphStorageTester.getIdOf(graph, 52, 10);
        int n3 = AbstractGraphStorageTester.getIdOf(graph, 52, 11);
        int n4 = AbstractGraphStorageTester.getIdOf(graph, 52, 12);
        int n5 = AbstractGraphStorageTester.getIdOf(graph, 50, 12);

        int edge1_2 = GHUtility.getEdge(graph, n1, n2).getEdge();
        int edge2_3 = GHUtility.getEdge(graph, n2, n3).getEdge();
        int edge3_4 = GHUtility.getEdge(graph, n3, n4).getEdge();
        int edge4_5 = GHUtility.getEdge(graph, n4, n5).getEdge();
        int edge5_1 = GHUtility.getEdge(graph, n5, n1).getEdge();

        IntsRef tcFlags = TurnCost.createFlags();
        DecimalEncodedValue carTCEnc = hopper.getEncodingManager().getDecimalEncodedValue(TurnCost.key("car"));
        DecimalEncodedValue bikeTCEnc = hopper.getEncodingManager().getDecimalEncodedValue(TurnCost.key("bike"));

        // (1-2)->(2-3) no_right_turn for motorcar and bus
        assertTrue(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge1_2, n2, edge2_3)) > 0);
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge1_2, n2, edge2_3)), .1);

        // (3-4)->(4-5) no_right_turn for motorcycle and motorcar
        assertTrue(Double.isInfinite(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge3_4, n4, edge4_5))));
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge3_4, n4, edge4_5)), .1);

        // (5-1)->(1-2) no_right_turn for bus and psv except for motorcar and bicycle
        assertEquals(0, carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_5, n5, edge5_1)), .1);
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge4_5, n5, edge5_1)), .1);

        // (5-1)->(1-2) no_right_turn for motorcar and motorcycle except for bus and bicycle
        assertTrue(Double.isInfinite(carTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge5_1, n1, edge1_2))));
        assertEquals(0, bikeTCEnc.getDecimal(false, tcStorage.readFlags(tcFlags, edge5_1, n1, edge1_2)), .1);
    }

    @Test
    public void testPreferredLanguage() {
        GraphHopper hopper = new GraphHopperFacade(file1, false, "de").importOrLoad();
        GraphHopperStorage graph = hopper.getGraphHopperStorage();
        int n20 = AbstractGraphStorageTester.getIdOf(graph, 52);
        EdgeIterator iter = carOutExplorer.setBaseNode(n20);
        assertTrue(iter.next());
        assertEquals("straße 123, B 122", iter.getName());

        hopper = new GraphHopperFacade(file1, false, "el").importOrLoad();
        graph = hopper.getGraphHopperStorage();
        n20 = AbstractGraphStorageTester.getIdOf(graph, 52);
        iter = carOutExplorer.setBaseNode(n20);
        assertTrue(iter.next());
        assertTrue(iter.next());
        assertEquals("διαδρομή 666", iter.getName());
    }

    @Test
    public void testDataDateWithinPBF() {
        GraphHopper hopper = new GraphHopperFacade("test-osm6.pbf").importOrLoad();
        GraphHopperStorage graph = hopper.getGraphHopperStorage();

        assertEquals("2014-01-02T00:10:14Z", graph.getProperties().get("datareader.data.date"));
    }

    @Test
    public void testCrossBoundary_issue667() {
        GraphHopper hopper = new GraphHopperFacade("test-osm-waterway.xml").importOrLoad();
        QueryResult qr = hopper.getLocationIndex().findClosest(0.1, 179.5, EdgeFilter.ALL_EDGES);
        assertTrue(qr.isValid());
        assertEquals(0.1, qr.getSnappedPoint().lat, 0.1);
        assertEquals(179.5, qr.getSnappedPoint().lon, 0.1);
        assertEquals(11, qr.getClosestEdge().getDistance() / 1000, 1);

        qr = hopper.getLocationIndex().findClosest(0.1, -179.6, EdgeFilter.ALL_EDGES);
        assertTrue(qr.isValid());
        assertEquals(0.1, qr.getSnappedPoint().lat, 0.1);
        assertEquals(-179.6, qr.getSnappedPoint().lon, 0.1);
        assertEquals(56, qr.getClosestEdge().getDistance() / 1000, 1);
    }

    @Test
    public void testRoutingRequestFails_issue665() {
        GraphHopper hopper = new GraphHopperOSM()
                .setDataReaderFile(getClass().getResource(file7).getFile())
                .setEncodingManager(EncodingManager.create("car,motorcycle"))
                .setGraphHopperLocation(dir);
        hopper.getCHPreparationHandler().setEnabled(false);
        hopper.importOrLoad();
        GHRequest req = new GHRequest(48.977277, 8.256896, 48.978876, 8.254884).
                setWeighting("curvature").
                setVehicle("motorcycle");

        GHResponse ghRsp = hopper.route(req);
        assertFalse(ghRsp.getErrors().toString(), ghRsp.hasErrors());
    }

    @Test
    public void testRoadClassInfo() {
        GraphHopper gh = new GraphHopperOSM() {

            @Override
            protected DataReader importData() {
                try {
                    DataReader reader = new OSMReader(getGraphHopperStorage()).setFile(new File(getClass().getResource(file2).toURI()));
                    reader.readGraph();
                    return reader;
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }
            }
        }.setEncodingManager(new EncodingManager.Builder().add(new CarFlagEncoder()).add(new BikeFlagEncoder()).build()).
                setGraphHopperLocation(dir).setCHEnabled(false).
                importOrLoad();

        GHResponse response = gh.route(new GHRequest(51.2492152, 9.4317166, 52.133, 9.1).setPathDetails(Arrays.asList(RoadClass.KEY)));
        List<PathDetail> list = response.getBest().getPathDetails().get(RoadClass.KEY);
        assertEquals(3, list.size());
        assertEquals(RoadClass.MOTORWAY.toString(), list.get(0).getValue());

        response = gh.route(new GHRequest(51.2492152, 9.4317166, 52.133, 9.1).setPathDetails(Arrays.asList(Toll.KEY)));
        Throwable ex = response.getErrors().get(0);
        assertTrue(ex.getMessage(), ex.getMessage().contains("You requested the details [toll]"));
    }

    class GraphHopperFacade extends GraphHopperOSM {
        public GraphHopperFacade(String osmFile) {
            this(osmFile, false, "");
        }

        public GraphHopperFacade(String osmFile, boolean turnCosts, String prefLang) {
            setStoreOnFlush(false);
            setOSMFile(osmFile);
            setGraphHopperLocation(dir);
            setCHEnabled(false);

            BikeFlagEncoder bikeEncoder;
            if (turnCosts) {
                carEncoder = new CarFlagEncoder(5, 5, 1);
                bikeEncoder = new BikeFlagEncoder(4, 2, 1);
            } else {
                carEncoder = new CarFlagEncoder();
                bikeEncoder = new BikeFlagEncoder();
            }

            footEncoder = new FootFlagEncoder();
            setEncodingManager(new EncodingManager.Builder().add(footEncoder).add(carEncoder).add(bikeEncoder).
                    setPreferredLanguage(prefLang).build());
            carAccessEnc = carEncoder.getAccessEnc();
        }

        @Override
        protected DataReader createReader(GraphHopperStorage tmpGraph) {
            return initDataReader(new OSMReader(tmpGraph));
        }

        @Override
        protected DataReader importData() throws IOException {
            GraphHopperStorage tmpGraph = newGraph(dir, getEncodingManager(), hasElevation(),
                    getEncodingManager().needsTurnCostsSupport());
            setGraphHopperStorage(tmpGraph);

            DataReader osmReader = createReader(tmpGraph);
            try {
                osmReader.setFile(new File(getClass().getResource(getOSMFile()).toURI()));
            } catch (URISyntaxException e) {
                throw new RuntimeException(e);
            }
            osmReader.readGraph();
            carOutExplorer = getGraphHopperStorage().createEdgeExplorer(DefaultEdgeFilter.outEdges(carEncoder));
            carAllExplorer = getGraphHopperStorage().createEdgeExplorer(DefaultEdgeFilter.allEdges(carEncoder));
            return osmReader;
        }
    }
}

redpajama_set_name: RedPajamaGithub


Telecharger Media Player Gratuit Windows Media Player hasn' t changed at all since its last update to version 12 in Windows 7. Microsoft Windows Media Player 12 file type used by modern video , 11 & 10 Any player compatible with DirectShow Installer Screenshots: Package Overview: The Media Player Codec Pack supports almost every compression audio files. Windows 10 media player codecs Related: media player xvid video codec player, xvid video codec window 10 windows media player 12 64 bit Filter.
Windows Media Player 12 on Windows 10 I have just purchased a new All In One ( AIO) HP PC. So if you recently upgraded from Windows 7 to 10, aren' t quite ready to use the new apps you. On peut même l' enregistrer dans la bibliothèque.
Telecharger Media Player Gratuit. Avec On peut même l' enregistrer dans la bibliothèque. Tell me about the issue and I' ll help you find the solution you need. 1 came without media player -.
WMP9URP October for Windows [ 9. This package is for network administrators who want to deliver support for the latest Windows Media Audio and Video codecs for enterprise computers running Windows Media Player 7. WMP9URP: Unofficial Windows Media Player 9. Or click the " Add File" button to import the MKV videos.
Windows Media Player 12 has built- in support for many popular audio and video formats. Windows media player 12 codec upgrade.
VLC is a free RealTimes , open source cross- platform multimedia player , Audio CDs, framework that plays most multimedia files as well as DVDs, various streaming the latest version of RealPlayer , VCDs get the latest features! I tried to play a video file in Windows Media Player 12 then a pop- up came up to upgrade codec.
When you have downloaded installed this MKV to WMP converter, just simply drag drop the MKV files to the main windows of this Windows Media Player MKV Converter. The package is simple to install, while also offering advanced settings to the high end user: For simple installation select " Easy Installation".
[ Last updated: September 12, ] - I find it strange Win 8. Please let us know if you require further help. Le Lecteur Windows Media 12 lit tous les formats audio et vidéo les plus courants. I installed that codec by clicking " Upgrade" e the above link for downloading codec packages for all the versions of windows media player. Windows media player 12 codec upgrade. Windows Media Player nous permet aussi d' extraire de la musique depuis un CD audio.
Details on converting MKV to WMV for playing on Windows Media Player: Step 1. Sync music stream media to your devices so you can enjoy your library anywhere, photos, at home , videos on the road.
; WMP9URP October for Windows 98/ 98 SP1/ 98 SE/ ME [ 9. Synchronisez de la musique des vidéos et des photos ou diffusez vos fichiers multimédias sur vos appareils afin de profiter de votre bibliothèque n' importe où à la maison ou en déplacement.
Nov 09 · Get information about Windows Media Player other Windows Media technologies. 0 ( WMP9) Update Rollup Packs ( URP) for Windows 98/ 98 SP1/ 98 SE/ / ME install ALL previously released WMP9 Hotfixes, Patches + Updates:. Big Secrets about Windows Media Player for Windows 10 – Free Download Now? Unofficial Windows Media Player ( WMP) Upgrades.
Windows media player 12 codec upgrade. Windows media player 12 codec free download - Windows Media Player 12 Media Player Codec Pack, mp3 codec for Windows Media Player many more programs. I have DAV files that I want to play from my CCTV on Windows Media Player 12 which I am unable to do. I hope this information will be helpful. 1 Windows Media Player for Windows XP, Windows Media Player 9 Series Windows Media Player 10.


Album was composed by Hiroki / Katsuhiko Kurosu / Kenichi Sudo / Kotaro Odaka / Little Non / Masaaki Iizuka / Masatomo Ota / micco / Minami Kuribayashi / Nijine / ron / Susumu Kayamori / Tomokazu Tashiro / tororo and was released on April 23, 2008. Soundtrack consists of 14 tracks tracks with duration over more than hour. Album was released by Lantis.


text:
Meu Set Up 🛒🇧🇷
Shop My Set Up🛒 🇺🇸
Links - Journal/Study With Me
Ready Player One by Ernst Cline
"That was when I realized, as terrifying and painful as reality can be, it's also the only place where you can find true happiness. Because reality is real."
BOOK REVIEW MARIAHREADIT
Mariah Rose
8/16/2021 2 min read
Ready Player One takes place in the year 2045 and is centered around this kid called Wade Watts and a simulted virtual reality called OASIS. The creator of OASIS, James Halliday, was this uber billionaire eccentric dude who, on the occasion of his death, revealed a contest, the ultimate Easter Egg Hunt, where the winner would inherehit his fortune and control of his company, GSS, that owns and runs OASIS - which is pretty much become synonymous with the internet in the way that it has permeated society. People use OASIS to go to school, to work, to read books, watch TV, play games, even to "meet people" and get married. The world is not a pretty place in 2045, we've exhausted our resources, the energy crisis has arrived, climate change has caused catastrophies, poverty, famine, disease, you name it, we gots it. People use OASIS to escape that reality, and if the contest is won by the wrong person - in this case, a company called IOI that plans to monetize every aspect of OASIS - that escape may very well soon become too expensive for most. Wade is an orphan, lost his parents to the harsh realities of the world he was born in, and spends all of his time trying to solve the riddle Halliday left for the first of three stages in the competition - which no one has managed to do, even years after Halliday's death. This competition has shaped the world since it begun, people started dedicating all their time trying to solve the first riddle, which everyone knows relates to Halliday's obsession with the 80s pop culture. After years of no progress a lot of people gave up, thinking this was all some big joke and that only left two groups, The Gunters (short for Egg Hunters) and The Sixers. The Gunters are either solo players or clustered in Clans that plan to share the prize, and The Sixers are part of the evil IOI corporate machine, people who signed away their claim to the prize and traded that for food and lodging and work for IOI in trying to find the Egg. Wade is an 18 year old gunter with nothing to lose. He has no family to speak of, no money, and his only friend is another gunter called Aech, though they've only met in the OASIS.
This book is a ode to beloved games, movies, tv shows, and books that most of us know and love (whether we were teenagers in the 80s or not) as much as it is a wake up call for how we treat our planet and how spending all our time hiding from a harsh reality isn't going to solve any problems.
I think the concept of this book is fun and innovative, and I think it was well executed. Though I had some issues with the romance, which seemed trivial and unecessary and I feel like it distracted from the main point of the story - because romance isn't the only form of meaningful human connection, though people seem to forget that. I feel like there wasn't enough time amidst everything else for the romance to flourish, nor did I want to stop focusing on the plot, much like Wade stopped focusing on the Egg Hunt...
However that does not take away from how great I think this book is, and how relevant and necessary this conversation is.

redpajama_set_name: RedPajamaCommonCrawl


Earlier this year, the discovery of the Heartbleed vulnerability caused a tremendous amount of discussion and worry around open source security. While some argued that this incident revealed that open source is not as reliable as originally thought, most experts believed that Heartbleed was essentially an anomaly, one that would drive companies and IT personnel to improve their security efforts.
However, now another open source vulnerability has appeared, one that is quite possibly even more dangerous than Heartbleed. This bug, known as Shellshock, is a serious flaw that could cause major problems. As was the case with Heartbleed, this discovery should serve as motivation for companies relying on open source to shore up their security efforts.
As Harvard Business Review contributor Karim Lakhani explained, Shellshock is a software flaw that exploits a vulnerability in Bash Shell. This allows hackers to potentially gain control over Linux and Unix computer systems, running whatever commands they so desire.
Shellshock has major implications for the Internet of Things, according to Lakhani. A huge number of machines are now connected to the Internet of Things and may be vulnerable to cybercriminals exploiting this flaw. This, the writer explained, makes Shellshock a much more significant threat to companies' cybersecurity efforts than Heartbleed ever was. Heartbleed threatened personal information, while Shellshock threatens actual operations.
Fortunately, as Lakhani noted, affected organizations, including open source communities, have quickly initiated efforts to mitigate the damage and deliver solutions that can counter Shellshock. Some of these are already available.
However, this is only a short-term solution, and it does not address the greater issue. According to Lakhani, Shellshock will not be the last major vulnerability to appear, and firms need to take steps to prepare for more discoveries of this sort.
Infoworld contributor Roger Grimes seconded this notion. Grimes argued that this latest vulnerability should be seen as evidence that simply having more eyes viewing open source code does not automatically ensure its security. Put simply, he explained that while open source presents the opportunity for many people and organizations to view and evaluate a given piece of code's security, the fact of the matter is that most will not take this step. And if that's the case, then the potential inherent security advantages of open source will remain theoretical.
All of this does not mean that companies should abandon open source. Instead, businesses need to realize that it is dangerous to rely on others to verify the security of these solutions. This mindset has led many companies to embrace open source without taking the appropriate defensive measures, thereby putting their assets at risk.
Instead, organizations should invest in high-quality open source security tools that can protect these resources. Specifically, open source scanning tools can reveal precisely how open source is being used throughout the organization, This insight is key for ensuring that the company is following best practices with its open source adoption, limiting the risk of exposure or data loss.


text:
Guest Columnist: Why Kook is out
Yad Vashem can only cover what happened to the Jews in Europe - not the action or inaction of the Jews outside.
By YEHUDA BAUER
hillel kook 88. (photo credit: )
On July 8, The Jerusalem Post published an article by Isi Leibler, a Jewish leader of importance and a friend. Leibler attacked Yad Vashem's refusal to incorporate into its Holocaust History Museum an exhibit relating to efforts by Hillel Kook to persuade the US government to rescue the Jews of Europe. Originally an emissary of the Irgun Zva'i Leumi in the US, Kook and his team later became independent actors. Leibler also attacked the then leading personality of US Jewry, Rabbi Stephen S. Wise, not only for hampering Kook's efforts to bring the tragedy of European Jewry to the attention of the American people, but also for not making public the famous cable of August 8, 1942, of Dr. Gerhardt Riegner, the secretary of the Geneva office of the World Jewish Congress, who tried to alert the WJC in London and New York to the danger of a mass annihilation of 3.5 million-4 million Jews in the coming fall. Leibler says that Wise finally asked president Franklin D. Roosevelt to intervene, and that Roosevelt said: "Tell your Jewish associates to keep quiet." But Roosevelt did not speak with Wise between August and December 1942, so this is an error. Leibler says that Wise's non-action was "the most shameful failure of Jewish leadership in the 20th century." Unfair, and inaccurate. IN THE summer of 1942, the Germans were racing toward Stalingrad. They were at El Alamein, and the danger to Palestine was obvious; the US had just barely managed to repulse the Japanese navy at Midway. The Germans were sinking more Allied ships in the Atlantic than the shipyards delivered replacements. Public opinion in the US, as Gallup polls showed, was increasingly anti-Semitic. This was the scene when Riegner's cable was received. It ended with the words: "We transmit information with all necessary reservation as exactitude cannot be confirmed. Informant stated to have close connection with highest German authorities and his reports generally speaking reliable." Riegner's cable thus cast doubt on the accuracy of its own information. Sumner Welles, the State Department undersecretary, asked Wise not to make the cable public because the information had to be verified, as the cable itself had implied. In any event, in the summer of 1942 there was no Allied army anywhere near the Jews, and the Allied air forces were incapable of reaching the Polish extermination sites. No one could have prevented the mass murder at that point. The situation changed in November 1943 - after that the Western Allies could have bombed the extermination sites, but refused to do so. In 1942 the Americans could not have rescued the Jews even if they had wanted to; in addition, they feared the accusation that they were fighting the war for the Jews. Was Wise right in yielding to Welles, when the cable itself cast doubt on its own contents? As historians David S. Wyman and Raphael Medoff write (A Race Against Death, 2002, page 8): "Wise believed he had no realistic choice but to comply, for he could not risk alienating the one government department whose cooperation was most needed in the effort to help the European Jews." He did inform Henry Morgenthau, the secretary of the Treasury, and Supreme Court justice Felix Frankfurter, in the hope that they would reach the president. He informed his colleagues, and then he waited for confirmation, which arrived in November, from the American representative in Switzerland. He then arranged for a press conference to make the information public, and it was reported in The New York Times, on an inside page. Wise's fault? Should all this contradictory and controversial story, without any background and context, be shrunk into a panel in the Yad Vashem Museum? Hillel Kook was a young activist, and he did great work in trying to mobilize American opinion to influence the US administration to do something to save the Jews. He was hampered and attacked by the Jewish establishment of the day, with Wise at its head. Did he influence public opinion? Leibler mentions the big demonstration of supposedly 400 Orthodox rabbis in front of the White House on October 6, 1943, as proof of his effectiveness. It was indeed impressive, although Orthodoxy was then a small minority among American Jews, and its influence was minimal. The rabbis did not see Roosevelt, of course, but they were received on Capitol Hill by the vice president and some senators. Their demonstration was reported in The New York Times, and that was it. The media did not mention it afterward, and the effect on American public opinion is very doubtful. American anti-Semitism was to reach a peak in 1944, with 48 percent of the population expressing anti-Jewish views. Among members of Congress, the mood began to change later, in 1943, and part of that was no doubt due to the efforts of the Kook group; it was also partly the influence of Wise and his official Zionist group, which made contact with Morgenthau. Yet it was some intrepid non-Jewish Treasury staffers who persuaded Morgenthau to press the president, who then established the War Refugee Board. Leibler claims, wrongly, that the WRB was initiated exclusively by Kook, and rescued 200,000 Hungarian Jews (Wyman and Medoff say that 120,000 were rescued in Budapest). This is demonstrably wrong: The rescue of the remnant of Hungarian Jews was the result of an interplay of many factors, only one of which was the WRB, which financed, for instance, Raoul Wallenberg in Budapest, but with money from the Joint Distribution Committee - opponents of Kook, and the heart of the non-Zionist Jewish establishment. Leibler is right. Kook should be given an honorable mention, along with other Jews outside of Europe. But for that we need a different museum, as this one is devoted, by design, to what happened to the Jews of Europe, in Europe. The visitor will not find anything about efforts by world Jewry, or the lack of them, except for a comment by Jan Karski about his mission to the West. There is nothing there about the Yishuv, except for the parachutists; there is nothing there about the organization of Soviet Jews to support the Soviet war effort, almost nothing about Jews serving in Allied armies. Nor about Kook. Or Wise. Or David Ben-Gurion. Or Menachem Begin. Yad Vashem's Museum presents the story of the Holocaust - in detail. That is what people come to learn. Much even about what happened to the Jews in Europe had to be left out. If it introduced the story of world Jewish action and inaction during the Holocaust, and expanded on the attitude of the Allies and the neutrals, what does Leibler suggest should be kept out? Treblinka? Resistance? Judenrats? Isi Leibler's heart is in the right place. It is his analysis that is wrong. The writer is the director of the International Center for Holocaust Studies at Yad Vashem.
A unique monument pays tribute to the victims of the AMIA bombing
By EDUARDO EURNEKIAN
The 86th victim
By SHIMON SAMUELS
By JPOST EDITORIAL
The 'Zionist sky is falling' world
By GIL TROY


Meyers Konversations-Lexikon (1888–1889): MKL1888:Vampir, Band 16, S. 45.
Eduard Hoffmann-Krayer, Hanns Baechtold-Staeubli (Hrsg.): Handwörterbuch des deutschen Aberglaubens. Bd. 6, Reprint. de Gruyter, Berlin 2002, S. 819, Google Books.
Holly G. Barbaccia. Buffy in the "Terrible House"
Agnes Curry, Is Joss Becoming a Thomist?
Giada Da Ros, When, Where, and How Much is Buffy a Soap Opera?
Greg Erickson, Revisiting Buffy's (A)Theology: Religion: "Freaky" or just "A Bunch of Men Who Died"
Alice Jenkins and Susan Stuart, Extending Your Mind: Non-Standard Perlocutionary Acts in "Hush"
Lorna Jowett, New Men: "Playing the Sensitive Lad"
"Where's the fun?": The Comic Apocalypse in "The Wish"
Kelly Kromer, Silence as Symptom: A Psychoanalytic Reading of "Hush"
: "Emotional Resonance and Rocket Launchers": Joss Whedon's Audio Commentaries on the Buffy the Vampire Slayer DVDs"
Kevin McNeilly, Sue Fisher (University of Alberta), and Christina Sylka (University of British Columbia). Kiss the Librarian, But Close the Hellmouth: "It's Like a Whole Big Sucking Thing"
Philip Mikozsch and Dana Och. Previously on Buffy the Vampire Slayer . . .
Patrick Shade, Screaming to be Heard: Community and Communication in "Hush"
"T. S. Eliot Comes to Television: Buffy's 'Restless'"
Diese Seite wurde zuletzt am 15. Februar 2010 um 03:49 Uhr bearbeitet.


text:
Home F1 "My love for racing is still there": Sebastian Vettel clears the air...
"My love for racing is still there": Sebastian Vettel clears the air about his potential retirement from F1..
Vicky A
Sebastian Vettel admits that he considered leaving F1 at one point, but is still in the sport because of his love for racing.
Vettel is one of the greatest F1 drivers of all time. The 34 year old is a 4 time World Champion and has won 53 races in his illustrious career. He's behind only Lewis Hamilton and Michael Schumacher in terms of most race wins in the sport.
However, the recent past hasn't been too kind to the German driver. His dream move to Ferrari in 2015 didn't work out as he failed to win a World Title with the Italian team.
He left the Scuderia in 2021 to join Aston Martin but had a very quiet first season with the Silverstone outfit, spending the majority of the year in the midfield.
There were recent reports about Vettel considering retirement. It was widely speculated that he was only in the sport to use F1 as a platform to raise environmental concerns. In an interview with F1 insider.com, the former Red Bull driver cleared the air about these rumours.
"Of course, you sometimes ask yourself some questions," said Vettel. "I would be lying if I said that thought hadn't crossed my mind yet. But I don't just keep racing to deliver a certain message. If I did, I wouldn't be honest with myself."
"If I don't have the motivation or the ambition to succeed, if I keep racing just to carry a message or pump my bank accounts, it's a betrayal to the generation that comes after us that dreams of racing here now."
"I can finally sort things out even when I leave Formula 1. But the fire in my soul is still burning."
Sebastian Vettel to remain loyal to Aston Martin's long term goals
The Aston Martin name returned after a long time to F1 after Racing Point was rebranded at the end of 2020. The expectations were high, but they failed to live up to them. With a mediocre mechanical package at his disposal, Vettel was able to achieve just 1 podium finish in 2021.
He admitted that he's not happy about how the car performed, but he remains committed to what he believes his team can achieve.
"It pisses me off because I'm an athlete and I try my best to be faster. But it's true that it's not vital," said Sebastian Vettel.
💚#AZERBAIJANGPPIC.TWITTER.COM/JVNHTDWTFD
— ASTON MARTIN COGNIZANT F1 TEAM (@ASTONMARTINF1) JUNE 6, 2021
"In that respect, yes, it's a luxury problem. But it doesn't mean that I don't want to do everything I can to win with every bit of it. Otherwise, there's no point in me being involved in this project."
"I feel my responsibility in this project. We have the motivation, we are trying to move forward together and the team is trying to improve everything possible."
The new rules present a great opportunity in 2022. But at the same time, we have to be realistic and not talk about being a favourite. However, first, we have to see how big our car is. We need to see if she'll be okay." he concluded.
Victoriaeno621@gmail.com
Sabastian Vettel
Previous articleTyson fury two possible March opponent revealed as Bob Arum claims Dillian Whyte wants $10million
Next articleMick Schumacher: It was very hard for me to watch the documentary about my father..


High quality content is the heart and soul of your website and digital marketing efforts.
The phrase 'content is king' is pretty standard these days. The truth is, you need thorough, high quality content for your business to stand out online. I'm at my happiest when I'm behind my camera snapping away, and I love researching and writing blog posts.
Wether its photography or written content, I'm right at home. I've used content marketing to grow my own work online and love helping my clients do the same. Outsourcing your content creation can save you tons of time and help you get the high quality results you need.
What parts of your content creation can I cover?
Dreamy, light filled shots perfect for your website and social media use.
Researched, SEO optimised blogs specific to your industry and needs.
Graphics created for your website, social media, email newsletters, etc.
Get in touch with me to discuss your content.


The September kit from Dixie Pieces is all natural with a spunky kick of lime green….Krafty Lime. In this kit you'll receive a calming and fun color combination of lime green, teal, brown, and kraft papers. Embellishments make this kit so much fun to work with including a 12"x12" piece of woven jute, raw muslin fabric, bottle caps, beaded leaves, rub-ons, journal stickers, and more. This kit is perfect for those end of summer layouts!
Swirlydoos' September kit; "Mon Amour" is a lovely collection of brand new products with a distinctive Parisian feel that we found while at the Craft & Hobby show in July. This beautiful collection boasts brand new products hot off the press from some of the top manufacturers in the industry. You'll find brand new My Mind's Eye, Prima, Creative Charms, Dusty Attic and more yummy goodness in this kit! We've also assembled a fine collection of add on kits that compliment our main kit beautifully. Check out this, and many other beautiful coordinated kits at Swirlydoos.
WeScrap.com is a wonderful kit club that offers the latest and greatest from the scrapbooking industry! Our kits are jammed packed full of the latest product available and they are well coordinated and include enough product to create 4 – 6 layouts or projects. Our kits have a great variety of embellishments that compliment the paper lines we include. In September's kit, "Urban Skies" you will find cool labels, glittery buttons, beautiful blooms, cardstock tickets, gorgeous alphabets, die cut paper and of course, lots of patterned papers and 5 sheets of great quality cardstock! Come and check out the WeScrap Shop for all your scrapbooking supply needs!
WeScrap.com also has a great community with a forum and gallery where we always have games, challenges and fun on line crops. Please visit us in the forum.
This entry was written by Angie and posted on September 3, 2010 at 8:37 am	and filed under Kits, Scrapbooking, scrapscene. Bookmark the permalink. Follow any comments here with the RSS feed for this post.	Post a comment or leave a trackback: Trackback URL.


text:
Roby Says New EPA Water Rules Threaten Alabama Jobs
By Brandon Moseley
On Thursday, August 28, Federal Judge Ralph R. Erickson granted an injunction to states suing the Environmental Protection Agency's (EPA), and the US Army Corps of Engineers, for an effort to dramatically expand federal power and authority over the American economy, by redefining their authority to include private ponds and drainage ditches. Congresswoman Martha Roby (R-Montgomery) applauded the judge's ruling in a Monday, August 31, email to constituents.
US Representative Roby wrote: "You've seen me talk about the Environmental Protection Agency's aggressive regulatory overreach that unnecessarily threatens Alabama jobs. And, many of you have shared just how much these regulations affect your businesses such as farms across Southeast Alabama. So I'm pleased to share that last week a federal judge in North Dakota blocked one of the EPA's most egregious regulatory attempts, the "Waters of the United States" (WOTUS) rule, before it could take effect."
Rep. Roby continued: "The House has voted on legislation to overturn this illogical rule, and we also included a provision in our Energy and Water Appropriations bill to push back on it. If implemented WOTUS would have far-reaching effects on our farmers, foresters and landowners alike. The judge's action is a positive step for people across our nation, and Congress must use its authority to continue to cut through red-tape and regulations that are unnecessarily costing American families and businesses."
Attorney General Luther Strange (R) also supports the judge's injunction.
AG Luther Strange said on Facebook: "Obama's EPA is dealt a blow as a federal judge partially blocks implementation of Waters of the U.S. rule. A positive first step in the longer court battle to kill this illegal power grab against private property owners."
The rule, which took effect Friday, Aug. 28, expands the EPA's jurisdiction on private lands. As a result, previously common farming and forestry practices could require a permit, or be subject to large penalties.
The Director of National Legislative Programs for the Alabama Farmer's Federation Mitt Walker said: "It's important that farmers learn about the changes included in this rule, because it will impact everyday farming activities. The only way for farmers to be certain that a feature is classified as a water is to request a jurisdictional determination (JD) from the Army Corps of Engineers."
Obviously, rivers and creeks are regulated, but under the new rule, ditches, and areas in fields, which are seasonally wet, may be subject to federal regulation.
According to original reporting by Mary Johnson with the Alabama Farmer's Federation: "Farming practices that could require a permit under the Clean Water Act (CWA) include applying pesticides or fertilizers; grading, plowing or terracing a field; and constructing fences, ditches or ponds. The permit is required whether the area is dry or wet."
Judge Ralph R. Erickson called the Environmental Protection Agency's attempt "inexplicable, arbitrary, and devoid of a reasoned process," and issued an injunction preventing the EPA, and the US Army Corps of Engineers from claiming oversight of millions of acres of land that contain small bodies of water. The clean water act is enforced by the EPA, while wetlands protection is assigned to the Corps of Engineers.
The EPA announced that it will only honor the injunction in the 13 states that were parties to the suit, and will move forward with the rules in the rest of the country. The EPA said "In all other respects, the rule is effective on August 28," The agencies are, "Evaluating these orders and considering next steps in the litigation."
Judge Erickson wrote, "The rule asserts jurisdiction over waters that are remote and intermittent waters. No evidence actually points to how these intermittent and remote wetlands have any nexus to a navigable-in-fact water."
The new rules would effectively give the federal government de-facto zoning authority over the entire country including over current activities. Judge Erickson said, that the change in definition was big enough that the administration should have gone through a full public notice and comment period.
The 13 states that sued are: Alaska, Arizona, Arkansas, Colorado, Idaho, Missouri, Montana, Nebraska, Nevada, New Mexico, North Dakota, South Dakota and Wyoming. Alabama is likely to seek to join the suit and thus gain some temporary protection from the massive federal power grab while the issue is being litigated.
Rep. Roby has been traveling across the district during the Congress's September recesses: "This past week, I traveled across the district meeting with constituents about important issues facing our communities and nation. We talked about the frustration that so many of you have expressed- and that I share- with the way things are going lately."
Congresswoman Martha Roby represents Alabama's Second Congressional District.
Original reporting by Stephen Dinan of the Washington Times, and ALFA's Mary Johnson contributed to this report.
Related Topics:AlabamaAppeals CourtArmy Corps of Engineersclean water actCongressEnvironmental Protection AgencyEPAJudge EricksonnavigableRep. Martha RobywaterWaters of the United Stateswetlands
Hubbard Wants Crony to Receive More Money from State
Growing Criticism of Bentley's Conduct
Brandon Moseley is a senior reporter with six and a half years at Alabama Political Reporter. You can email him at [email protected] or follow him on Facebook.


Yesterday I decided that, starting today (July 11, 2012) I would really DO what I have been thinking about ... talking about ... wishing for ... writing about ..., etc. etc. for FAR too long --- to actually START and STICK WITH a healthy eating and exercise program, and to lose those annoying 15 or 20 lbs. for good!
I was thinking about the idea on the way home from work yesterday, and debating about whether to start today, or, then again, maybe leaving it until September 1st, as Fall is a new season, things get into more of a routine ... and then it hit me that I am ALWAYS putting off starting until another day ... another month ... maybe the new year.
So I thought, "And why not start tomorrow?" Summer is a great time to eat healthy foods, with all the fresh fruit and vegetables around. Summer is a great time to get into a good exercise habit, with longer evenings and nice weather a lot of the time. So ... why wait until Sept. 1? Why Not Tomorrow???
I'm really looking forward to being able to fit into some of my clothes that used to fit, pre-weight-gain (and are classic in style enough that they survived the thrift-shop giveaways and are still hanging in my closet), and to not have those annoying 'rolls' around my waist. Sigh. Of course, good health and the 'feel good' results from exercise will also be huge benefits (health benefits being the most important of all).
I have started out strong, and I believe that the things I have put in place this time, and the level of motivation I'm starting with, will result in my 'staying the course' this time. I left the tape measure on my fridge door as a constant reminder. I will update my weight and measurements in my log book weekly. I have already told a couple of friends, including a friend who asked what kind of ice cream I'd like her to bring to a planned dinner gathering. I told her about my goal, and said that I just wanted to let her know that because of my new eating plan I would be forgoing a rich dessert, but that she should bring what she would like to have and I would find an alternative dessert for myself.
It was interesting; she responded by then asking if a serving of lower-fat ice cream or some fresh fruit would be okay, and said that if she brings the (lower fat) ice cream she will take the leftovers home rather than leaving them here. It will be a Friday night, I said sure, one serving of a lower-fat ice cream would be a little treat and a nice option, as long as she takes the leftovers home with her. This is a Lifetime Lifestyle change I'm making, and not an extreme crash diet. Just good choices, portion control, and an overall focus on nutrition, all tempered with a bit of balance! A serving of lower-fat ice cream (or any ice cream, as long as in moderation and just one serving) at a special dinner on a Friday night is fine.
I really believe that with my motivation level, these 'checks and balances' in place, and the great support I always get here at SparkPeople, that I will be successful in achieving a lifestyle change and meeting my goals this time.
Sounds great! And it is about a lifestyle change, very true!
Good for you! I just came back myself--no time like the ppresent--and am really doing the exercises and work outs this time like I have never done before. Come Sept 1 when you are much closer to your goal, you will be soooo glad you got the jump start. Hang in there and drop me a line if you need support.
that's the way to get on the healthy and fit road. do it know.
changing how we approach food is key to weight loss and keeping it off. so any food item in moderation van be enjoyed. thats a good deal you made with you friend.
take care,stay strong and positive.
Sounds like you have everything in place. You can do it.


Another well attending Bridport event with a few new faces along.
Thank you to Trudy Ritsema from IT Courses Dorchester for an interesting session on Social Media and for the input from the group. Trudy offers 1-2-1 and group training plus dedicated workshops so look out for dates on her website.
Next meeting is the 15th of June and we will be having a talk on assertiveness.
We could have talked all day about social media!


Prior to taking this image I remember I was in a mad rush to get from my house to the beach. I woke 20 minutes late but knew the sunrise was going to be something special.
After quickly putting my water housing together I realised I was in a pretty special location and thankful for my knowledge of the local wind and water conditions.
After putting on my wetsuit and quickly jumping in the water I waited for the sun to rise. Before I knew it the sky started to light up with beautiful orange and purple hues which were then reflected beautifully on the ocean's surface.


Dinner guests are guaranteed to be impressed with this deceptively easy chicken sandwich recipe, which includes a seven-ingredient rub and a simple 15-minute sauce that comes together while the chicken grills. Serve on buns, over fresh greens, or on top of a baked potato for a filling dinner.
For an out-of-the-ordinary first course, offer guests a wedge of this veggie-topped pizza with smoky flavor from the grill. Start with purchased fresh pizza dough; many supermarkets now offer fresh dough in their delis or bakeries.
The combination of Mexican-inspired ingredients like guajillo chiles, dried oregano leaves, and lime juice give this dish flavor and flair that is perfect for any fiesta.
Grilled peppers add color to the plate, as well as a sweet, subtle flavor. When stuffed with garlic and herb cheese and topped with bacon slices, these bite-sized appetizers are sure to be a hit with guests.
This easy salad embellishes the famous caprese salad of tomatoes, basil, and mozzarella cheese with the addition of grilled eggplant.
A simple rub of black and red ground peppers, lemon pepper, garlic powder and parsley flakes takes rib-eyes from good to extraordinary. One hour of stand time is all it takes to create this great flavor in the steaks.
Enjoy these beef burgers with melted pepper jack cheese, Vlasic® Hot Jalapeño Slices, Vlasic® Bread and Butter Chips, lettuce and Thousand Island dressing.
Grilling fresh peaches is easy–and you don't even have to peel them. Just cut peaches in half, remove the pits, and brush the cut sides with a little oil. Then sprinkle with cinnamon sugar, and grill just until the sugar melts.
Father's Day is just around the corner so give Dad a hand at the grill by teaching him this simple technique for keeping grilled chicken moist and flavorful. Instead of brining the meat in salt water, try this unique and tasty combination of buttermilk, shallots, and spices.
Simplicity shines in this super-flavorful lamb chop recipe that has only 6 ingredients. You can marinate the chops a day ahead, and then grill for about 6 minutes for an easy weeknight entrée.
Dig in to a hearty beef burger with guacamole, lettuce and tomato, Vlasic® Zesty Garlic Dill Stackers and crunchy tortilla chips on a sesame bun.
Smoked fish tacos are fun and easy for summertime parties. Prepare a Caribbean salsa with mango, papaya, pineapple, and jerk seasoning for a sweet touch with some kick.
You'll need to start this recipe a day ahead to allow ample time for the wood chunks to soak and the flavors of the dry rub to penetrate the meat. Slow, low-heat cooking is key to tender pork that shreds easily. While the pork is still warm, shred it into uneven shards, mixing together some of the crisp, dark outer meat with the moister interior meat.
Grilled lettuce? Oh, yes. We think once you've eaten this grilled romaine salad, you may never settle for raw lettuce again.
For super-tender meat, marinate baby back ribs in beer and bake in the oven for three hours before grilling. These ribs grill for just 10-15 minutes, since they will have been almost cooked through in the oven.
When it is warm outdoors, the last thing you want to do is heat up the house with the oven. Try baking on the grill using indirect heat. Assemble the simple crisp featuring two types of apples, Golden Delicious and Granny Smith, top with the buttery crust and bake.
Try this beef burger topped with melted American cheese, lettuce and tomato, ranch dressing and fried Vlasic® Ovals Hamburger Dill Chips.
Triple the flavor of grilled chicken by first seasoning with a spicy rub, smoking the chicken over wood chips, then brushing with a sweet and tangy sauce.
Potato salad is a summertime staple-especially when it is prepared on the grill. The only thing that can make this side even better is adding crumbled blue cheese and bacon.