text:
package org.ohmage.domain;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonNode;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.json.JSONException;
import org.json.JSONObject;
import org.ohmage.annotator.Annotator.ErrorCode;
import org.ohmage.exception.DomainException;
import org.ohmage.util.DateTimeUtils;

/**
 * This class contains all of the information associated with a location
 * record.
 *
 * @author John Jenkins
 */
public class Location {
	/**
	 * Column names for location information.
	 *
	 * @author John Jenkins
	 */
	public static enum LocationColumnKey implements ColumnKey {
		/**
		 * The time at which the location information was acquired.
		 */
		TIME ("time", "t"),
		/**
		 * The time zone of the device.
		 */
		TIMEZONE ("timezone", "tz"),
		/**
		 * The latitude of the device.
		 */
		LATITUDE ("latitude", "la"),
		/**
		 * The longitude of the device.
		 */
		LONGITUDE ("longitude", "lo"),
		/**
		 * The accuracy of this reading, i.e. it is accurate within this many
		 * units.
		 */
		ACCURACY ("accuracy", "ac"),
		/**
		 * The entity that gathered the information.
		 */
		PROVIDER ("provider", "pr"),
		/**
		 * The status of the location.
		 */
		STATUS ("location_status", "ls");

		/**
		 * The string that may be optionally be placed before a key to better
		 * namespace it.
		 */
		public static final String NAMESPACE = "location";

		/**
		 * A pre-built, unmodifiable list that contains all of the
		 * LocationColumnKey keys.
		 */
		public static final List<ColumnKey> ALL_COLUMNS;
		static {
			// We must do this statically as opposed to calling 'value()' to
			// guarantee the ordering of the columns.
			List<ColumnKey> keys = new LinkedList<ColumnKey>();

			keys.add(STATUS);
			keys.add(TIME);
			keys.add(TIMEZONE);
			keys.add(LATITUDE);
			keys.add(LONGITUDE);
			keys.add(ACCURACY);
			keys.add(PROVIDER);

			ALL_COLUMNS = Collections.unmodifiableList(keys);
		}

		private final String key;
		private final String abbreviatedKey;

		/**
		 * Creates a LocationColumnKey object with the human-readable and
		 * abbreviated versions of the key.
		 *
		 * @param key The long, human-readable name for this key.
		 *
		 * @param abbreviatedKey A short abbreviation for this key.
		 */
		private LocationColumnKey(
				final String key,
				final String abbreviatedKey) {

			this.key = key;
			this.abbreviatedKey = abbreviatedKey;
		}

		/**
		 * Converts this key to a string with the {@link #NAMESPACE} before it.
		 *
		 * @return The {@link #NAMESPACE} and
		 * 		   {@link ColumnKey#NAMESPACE_DIVIDOR} followed by this key's
		 * 		   value.
		 */
		@Override
		public String toString() {
			return NAMESPACE + NAMESPACE_DIVIDOR + key;
		}

		/**
		 * Returns this key as a human-readable or abbreviated string.
		 *
		 * @param abbreviated Whether or not to return an abbreviated version
		 * 					  of this key.
		 *
		 * @return This key as a human-readable or abbreviated string.
		 */
		public String toString(final boolean abbreviated) {
			return (abbreviated) ? abbreviatedKey : key;
		}

		/**
		 * Converts a string, either the human-readable version or the
		 * abbreviated version, to its LocationColumnKey object.
		 *
		 * @param value The string value to convert.
		 *
		 * @return The LocationColumnKey that represents this object.
		 *
		 * @throws IllegalArgumentException The string could not be converted
		 * 									into a LocationColumnKey object.
		 */
		public static List<ColumnKey> valueOfString(final String value) {
			if(value == null) {
				throw new IllegalArgumentException("The value is null.");
			}

			String sanitizedValue = value.trim().toLowerCase();
			if(NAMESPACE.equals(sanitizedValue)) {
				return ALL_COLUMNS;
			}

			if(sanitizedValue.startsWith(NAMESPACE + NAMESPACE_DIVIDOR)) {
				sanitizedValue =
						value.substring(
								NAMESPACE.length() +
								NAMESPACE_DIVIDOR.length());
			}

			for(LocationColumnKey currKey : values()) {
				if(currKey.key.equals(sanitizedValue) ||
						currKey.abbreviatedKey.equals(sanitizedValue)) {

					List<ColumnKey> result = new ArrayList<ColumnKey>(1);
					result.add(currKey);
					return result;
				}
			}

			throw new IllegalArgumentException("Unknown column key.");
		}

		/**
		 * Checks if a collection of column keys contains any of the keys in
		 * this enum.
		 *
		 * @param columns The collection of columns.
		 *
		 * @return True if the collection contains any of these column keys;
		 * 		   false, otherwise.
		 */
		public static boolean containsLocationColumnKey(
				final Collection<ColumnKey> columns) {

			for(LocationColumnKey currKey : values()) {
				if(columns.contains(currKey)) {
					return true;
				}
			}

			return false;
		}
	}

	private final double latitude;
	private final double longitude;
	private final double accuracy;
	private final String provider;
	private final DateTime timestamp;
	/*
	private final long time;
	private final DateTimeZone timeZone;
	*/

	/**
	 * Creates a new Location object.
	 *
	 * @param latitude The latitude of the device.
	 *
	 * @param longitude The longitude of the device.
	 *
	 * @param accuracy The accuracy of the reading.
	 *
	 * @param provider A string representing who the provider was.
	 *
	 * @param timestamp A timestamp of when this reading was made.
	 *
	 * @throws DomainException Thrown if the provider or time zone are null.
	 */
	public Location(
			final DateTime timestamp,
			final double latitude,
			final double longitude,
			final double accuracy,
			final String provider)
			throws DomainException {

		if(timestamp == null) {
			throw new DomainException(
				"The timestamp is null.");
		}
		if(provider == null) {
			throw new DomainException(
				"The provider is null.");
		}

		this.latitude = latitude;
		this.longitude = longitude;
		this.accuracy = accuracy;
		this.provider = provider;
		this.timestamp = timestamp;
		/*
		this.time = timestamp.getMillis();
		this.timeZone = timestamp.getZone();
		*/
	}

	/**
	 * Creates a Location object from a Jackson JsonNode.
	 *
	 * @param locationNode The location JsonNode.
	 *
	 * @throws DomainException The node was invalid.
	 */
	public Location(
			final JsonNode locationNode)
			throws DomainException {

		if(locationNode == null) {
			throw new DomainException("The location node is null.");
		}

		List<DateTime> timestampRepresentations =
			new LinkedList<DateTime>();

		// Get the timestamp if the time and timezone fields were
		// specified.
		if(locationNode.has("time")) {
			JsonNode timeNode = locationNode.get("time");

			if(! timeNode.isNumber()) {
				throw new DomainException("The time isn't a number.");
			}
			long time = timeNode.getNumberValue().longValue();

			DateTimeZone timeZone = DateTimeZone.UTC;
			if(locationNode.has("timezone")) {
				JsonNode timeZoneNode =
					locationNode.get("timezone");

				if(! timeZoneNode.isTextual()) {
					throw new DomainException(
						"The time zone is not a string.");
				}

				try {
					timeZone =
						DateTimeZone.forID(
							timeZoneNode.getTextValue());
				}
				catch(IllegalArgumentException e) {
					throw new DomainException(
						"The time zone is unknown.");
				}
			}

			timestampRepresentations.add(new DateTime(time, timeZone));
		}

		// Get the timestamp if the timestamp field was specified.
		if(locationNode.has("timestamp")) {
			JsonNode timestampNode =
				locationNode.get("timestamp");

			if(! timestampNode.isTextual()) {
				throw new DomainException(
					"The timestamp value was not a string.");
			}

			try {
				timestampRepresentations
					.add(
						ISOW3CDateTimeFormat
							.any()
								.parseDateTime(
									timestampNode.getTextValue()));
			}
			catch(IllegalArgumentException e) {
				throw new DomainException(
					"The timestamp was not a valid ISO 8601 timestamp.",
					e);
			}
		}

		// Ensure that all representations of time are equal.
		if(timestampRepresentations.size() > 0) {
			// Create an iterator to cycle through the representations.
			Iterator<DateTime> timestampRepresentationsIter =
				timestampRepresentations.iterator();

			// The first timestamp will be set as the result.
			DateTime timestamp = timestampRepresentationsIter.next();

			// Check against all subsequent timestamps to ensure that
			// they represent the same point in time.
			while(timestampRepresentationsIter.hasNext()) {
				if(timestamp.getMillis() !=
					timestampRepresentationsIter.next().getMillis()) {

					throw
						new DomainException(
							"Multiple representations of the timestamp were given, and they are not equal.");
				}
			}

			// If we checked out all of the timestamps and they are
			// equal, then save this timestamp.
			this.timestamp = timestamp;
		}
		else {
			throw new DomainException("The timestamp is missing.");
		}

		/*
		// Get the time.
		JsonNode timeNode = locationNode.get("time");
		if(timeNode == null) {
			throw new DomainException("The time is missing.");
		}
		else if(! timeNode.isNumber()) {
			throw new DomainException("The time is not a number.");
		}
		time = timeNode.getNumberValue().longValue();

		// Get the time zone.
		JsonNode timeZoneNode = locationNode.get("timezone");
		if(timeZoneNode == null) {
			throw new DomainException("The time zone is missing.");
		}
		else if(! timeZoneNode.isTextual()) {
			throw new DomainException("The time zone is not a string.");
		}
		try {
			timeZone = DateTimeZone.forID(timeZoneNode.getTextValue());
		}
		catch(IllegalArgumentException e) {
			throw new DomainException("The time zone is unknown.");
		}
		*/

		// Get the latitude.
		JsonNode latitudeNode = locationNode.get("latitude");
		if(latitudeNode == null) {
			throw new DomainException("The latitude is missing.");
		}
		else if(! latitudeNode.isNumber()) {
			throw new DomainException("The latitude is not a number.");
		}
		latitude = latitudeNode.getNumberValue().doubleValue();

		// Get the longitude.
		JsonNode longitudeNode = locationNode.get("longitude");
		if(longitudeNode == null) {
			throw new DomainException("The longitude is missing.");
		}
		else if(! longitudeNode.isNumber()) {
			throw new DomainException("The longitude is not a number.");
		}
		longitude = longitudeNode.getNumberValue().doubleValue();

		// Get the accuracy.
		JsonNode accuracyNode = locationNode.get("accuracy");
		if(accuracyNode == null) {
			throw new DomainException("The accuracy is missing.");
		}
		else if(! accuracyNode.isNumber()) {
			throw new DomainException("The accuracy is not a number.");
		}
		accuracy = accuracyNode.getNumberValue().doubleValue();

		// Get the provider.
		JsonNode providerNode = locationNode.get("provider");
		if(providerNode == null) {
			throw new DomainException("The provider is missing.");
		}
		else if(! providerNode.isTextual()) {
			throw new DomainException("The provider is not a string.");
		}
		provider = providerNode.getTextValue();
	}

	/**
	 * Creates a new Location object.
	 *
	 * @param locationData A JSONObject representing all of the data for a
	 * 					   Location object.
	 *
	 * @param defaultTimeZone This is a patch for the issue when the time zone
	 * 						  is only the value "0".
	 *
	 * @throws DomainException Thrown if the location data is null, isn't
	 * 						   a valid JSONObject, doesn't contain all of
	 * 						   the required information, or any of the
	 * 						   information is invalid for its type.
	 */
	public Location(
			final JSONObject locationData,
			final DateTimeZone defaultTimeZone)
			throws DomainException {

		// The two possible representations of a timestamp.
		DateTime fromTimeTimezone = null, fromTimestamp = null;

		// Get the time.
		Long time = null;
		try {
			if(locationData.has(LocationColumnKey.TIME.toString(false))) {
				time =
					locationData.getLong(
							LocationColumnKey.TIME.toString(false));
			}
			else if(locationData.has(LocationColumnKey.TIME.toString(true))) {
				time =
					locationData.getLong(
							LocationColumnKey.TIME.toString(true));
			}
		}
		catch(JSONException e) {
			throw new DomainException(
				ErrorCode.SERVER_INVALID_TIME,
				"The time isn't a long.",
				e);
		}

		// Get the timezone.
		DateTimeZone timeZone = null;
		try {
			if(locationData.has(LocationColumnKey.TIMEZONE.toString(false))) {
				timeZone =
					DateTimeUtils.getDateTimeZoneFromString(
						locationData.getString(
							LocationColumnKey.TIMEZONE.toString(false)));
			}
			else if(locationData.has(LocationColumnKey.TIMEZONE.toString(true))) {
				timeZone =
					DateTimeUtils.getDateTimeZoneFromString(
						locationData.getString(
							LocationColumnKey.TIMEZONE.toString(true)));
			}
		}
		catch(JSONException e) {
			throw new DomainException(
				ErrorCode.SERVER_INVALID_TIMEZONE,
				"The timezone isn't a string.",
				e);
		}
		catch(IllegalArgumentException e) {
			throw new DomainException(
					ErrorCode.SERVER_INVALID_TIMEZONE,
					"The time zone is unknown.",
					e);
		}

		// Validate that either both were given or neither were given, and, if
		// both were given, create a DateTime for it.
		if((time == null) && (timeZone != null)) {
			throw
				new DomainException(
					ErrorCode.SERVER_INVALID_TIME,
					"A 'timezone' was given, but the 'time' was not.");
		}
		else if((time != null) && (timeZone == null)) {
			throw
				new DomainException(
					ErrorCode.SERVER_INVALID_TIMEZONE,
					"A 'time' was given, but the 'timezone' was not.");
		}
		else if((time != null) && (timeZone != null)) {
			fromTimeTimezone = new DateTime(time, timeZone);
		}

		// Get the timestamp.
		if(locationData.has("timestamp")) {
			try {
				fromTimestamp =
					ISOW3CDateTimeFormat
						.any()
							.parseDateTime(
								locationData.getString("timestamp"));
			}
			catch(JSONException e) {
				throw new DomainException(
					ErrorCode.SERVER_INVALID_TIMESTAMP,
					"The timestamp isn't a string.",
					e);
			}
			catch(IllegalArgumentException e) {
				throw new DomainException(
					"The timestamp was not a valid ISO 8601 timestamp.",
					e);
			}
		}

		// Get the appropriate timestamp.
		// If none was given, thrown an exception.
		if((fromTimeTimezone == null) && (fromTimestamp == null)) {
			throw
				new DomainException(
					ErrorCode.SERVER_INVALID_TIMESTAMP,
					"The time information was missing.");
		}
		// If multiple were given, validate that they are they represent the
		// same time and timezone.
		else if((fromTimeTimezone != null) && (fromTimestamp != null)) {
			if(! fromTimeTimezone.equals(fromTimestamp)) {
				throw
					new DomainException(
						ErrorCode.SERVER_INVALID_TIMESTAMP,
						"Multiple, differing timestamps were given.");
			}
			else {
				timestamp = fromTimestamp;
			}
		}
		// If only one format was given, use that.
		else if(fromTimeTimezone != null) {
			timestamp = fromTimeTimezone;
		}
		else {
			timestamp = fromTimestamp;
		}

		double tLatitude;
		try {
			tLatitude =
					locationData.getDouble(
							LocationColumnKey.LATITUDE.toString(false));
		}
		catch(JSONException noRegular) {
			try {
				tLatitude =
						locationData.getDouble(
								LocationColumnKey.LATITUDE.toString(true));
			}
			catch(JSONException noShort) {
				throw new DomainException(
						ErrorCode.SERVER_INVALID_LOCATION,
						"The latitude is missing or invalid: " +
							LocationColumnKey.LATITUDE.toString(false),
						noShort);
			}
		}
		latitude = tLatitude;

		double tLongitude;
		try {
			tLongitude =
					locationData.getDouble(
							LocationColumnKey.LONGITUDE.toString(false));
		}
		catch(JSONException noRegular) {
			try {
				tLongitude =
						locationData.getDouble(
								LocationColumnKey.LONGITUDE.toString(true));
			}
			catch(JSONException noShort) {
				throw new DomainException(
						ErrorCode.SERVER_INVALID_LOCATION,
						"The longitude is missing or invalid.",
						noShort);
			}
		}
		longitude = tLongitude;

		double tAccuracy;
		try {
			tAccuracy =
					locationData.getDouble(
							LocationColumnKey.ACCURACY.toString(false));
		}
		catch(JSONException noRegular) {
			try {
				tAccuracy =
						locationData.getDouble(
								LocationColumnKey.ACCURACY.toString(true));
			}
			catch(JSONException noShort) {
				throw new DomainException(
						ErrorCode.SERVER_INVALID_LOCATION,
						"The accuracy is missing or invalid.",
						noShort);
			}
		}
		accuracy = tAccuracy;

		String tProvider;
		try {
			tProvider =
					locationData.getString(
							LocationColumnKey.PROVIDER.toString(false));
		}
		catch(JSONException noRegular) {
			try {
				tProvider =
						locationData.getString(
								LocationColumnKey.PROVIDER.toString(true));
			}
			catch(JSONException noShort) {
				throw new DomainException(
						ErrorCode.SERVER_INVALID_LOCATION,
						"The provider is missing.",
						noShort);
			}
		}
		provider = tProvider;
	}

	/**
	 * Returns the latitude of this location.
	 *
	 * @return The latitude of this location.
	 */
	public final double getLatitude() {
		return latitude;
	}

	/**
	 * Returns the longitude of this location.
	 *
	 * @return The longitude of this location.
	 */
	public final double getLongitude() {
		return longitude;
	}

	/**
	 * Returns the accuracy of this location.
	 *
	 * @return The accuracy of this location.
	 */
	public final double getAccuracy() {
		return accuracy;
	}

	/**
	 * Returns the provider of this location information.
	 *
	 * @return The provider of this location information.
	 */
	public final String getProvider() {
		return provider;
	}

	/**
	 * Returns the time for when this information was gathered.
	 *
	 * @return The time for when this information was gathered.
	 */
	public final Long getTime() {
		return timestamp.getMillis();
	}

	/**
	 * Returns the time zone for when this information was gathered.
	 *
	 * @return The time zone for when this information was gathered.
	 */
	public final DateTimeZone getTimeZone() {
		return timestamp.getZone();
	}

	/**
	 * Streams this object to the output.
	 *
	 * @param generator The generator that will generate the result.
	 *
	 * @param abbreviated Whether or not to stream the abbreviated keys.
	 *
	 * @param columns The columns indicating which fields to include.
	 *
	 * @throws JsonGenerationException There was a problem generating the JSON.
	 *
	 * @throws IOException There was a problem writing to the stream.
	 *
	 * @throws DomainException A required parameter was missing.
	 */
	public final void streamJson(
			final JsonGenerator generator,
			final boolean abbreviated,
			final Collection<ColumnKey> columns)
			throws JsonGenerationException, IOException, DomainException {

		if(generator == null) {
			throw new DomainException("The generator is null.");
		}
		else if(columns == null) {
			throw new DomainException("The list of columns cannot be null.");
		}

		if(columns.contains(LocationColumnKey.TIME)) {
			generator.writeNumberField(
				LocationColumnKey.TIME.toString(abbreviated),
				getTime());
		}

		if(columns.contains(LocationColumnKey.TIMEZONE)) {
			generator.writeStringField(
				LocationColumnKey.TIMEZONE.toString(abbreviated),
				getTimeZone().getID());
		}

		if(columns.contains(LocationColumnKey.LATITUDE)) {
			generator.writeNumberField(
				LocationColumnKey.LATITUDE.toString(abbreviated),
				latitude);
		}

		if(columns.contains(LocationColumnKey.LONGITUDE)) {
			generator.writeNumberField(
				LocationColumnKey.LONGITUDE.toString(abbreviated),
				longitude);
		}

		if(columns.contains(LocationColumnKey.ACCURACY)) {
			generator.writeNumberField(
				LocationColumnKey.ACCURACY.toString(abbreviated),
				accuracy);
		}

		if(columns.contains(LocationColumnKey.PROVIDER)) {
			generator.writeStringField(
				LocationColumnKey.PROVIDER.toString(abbreviated),
				provider);
		}
	}

	/**
	 * Creates a JSONObject that represents the information in this object with
	 * only the information whose column value is present.
	 *
	 * @param abbreviated Whether or not the keys should use their
	 * 					  abbreviated version.
	 *
	 * @param columns A collection of columns dictating which variables should
	 * 				  be included in the resulting object. If this is empty, an
	 * 				  empty JSONObject will be returned. This cannot be null
	 * 				  and if all columns are desired, a quick fix is to use
	 * 				  {@link LocationColumnKey#ALL_COLUMNS}.
	 *
	 * @return Returns a JSONObject that represents this object with only the
	 * 		   requested columns.
	 *
	 * @throws JSONException There was an error building the JSONObject.
	 *
	 * @throws DomainException The columns collection was null or a column key
	 * 						   was a LocationColumnKey but was not known to
	 * 						   this function.
	 */
	public final JSONObject toJson(
			final boolean abbreviated,
			final Collection<ColumnKey> columns)
			throws JSONException, DomainException {

		if(columns == null) {
			throw new DomainException("The list of columns cannot be null.");
		}

		JSONObject result = new JSONObject();

		if(columns.contains(LocationColumnKey.TIME)) {
			result.put(
					LocationColumnKey.TIME.toString(abbreviated),
					getTime());
		}

		if(columns.contains(LocationColumnKey.TIMEZONE)) {
			result.put(
					LocationColumnKey.TIMEZONE.toString(abbreviated),
					getTimeZone().getID());
		}

		if(columns.contains(LocationColumnKey.LATITUDE)) {
			result.put(
					LocationColumnKey.LATITUDE.toString(abbreviated),
					latitude);
		}

		if(columns.contains(LocationColumnKey.LONGITUDE)) {
			result.put(
					LocationColumnKey.LONGITUDE.toString(abbreviated),
					longitude);
		}

		if(columns.contains(LocationColumnKey.ACCURACY)) {
			result.put(
					LocationColumnKey.ACCURACY.toString(abbreviated),
					accuracy);
		}

		if(columns.contains(LocationColumnKey.PROVIDER)) {
			result.put(
					LocationColumnKey.PROVIDER.toString(abbreviated),
					provider);
		}

		return result;
	}

	/**
	 * Populates the appropriate indices in the 'result' with values based on
	 * the 'columns'. For example, if the first two columns were not Location
	 * columns, they would be skipped. If the third column was the location's
	 * latitude, the third index in the 'result' would be populated with this
	 * location's latitude value.
	 *
	 * @param columns All of the columns in the 'result' list to populate. This
	 * 				  will skip all of those columns that are not
	 * 				  LocationColumnKey columns.
	 *
	 * @param result The result list whose values will be updated based on the
	 * 				 'columns'.
	 *
	 * @throws DomainException The columns or result list was null or had
	 * 						   differing lengths, or a column was a
	 * 						   LocationColumnKey column but was unknown to this
	 * 						   function.
	 */
	public final void toCsvRow(
			final List<ColumnKey> columns,
			final List<Object> result)
			throws DomainException {

		if(columns == null) {
			throw new DomainException("The list of columns cannot be null.");
		}
		else if(result == null) {
			throw new DomainException("The list of results cannot be null.");
		}
		else if(columns.size() != result.size()) {
			throw new DomainException(
					"The columns list and the result list were different lengths.");
		}

		int index;

		if((index = columns.indexOf(LocationColumnKey.TIME)) != -1) {
			result.set(index, getTime());
		}

		if((index = columns.indexOf(LocationColumnKey.TIMEZONE)) != -1) {
			result.set(index, getTimeZone().getID());
		}

		if((index = columns.indexOf(LocationColumnKey.LATITUDE)) != -1) {
			result.set(index, latitude);
		}

		if((index = columns.indexOf(LocationColumnKey.LONGITUDE)) != -1) {
			result.set(index, longitude);
		}

		if((index = columns.indexOf(LocationColumnKey.ACCURACY)) != -1) {
			result.set(index, accuracy);
		}

		if((index = columns.indexOf(LocationColumnKey.PROVIDER)) != -1) {
			result.set(index, provider);
		}
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		long temp;
		temp = Double.doubleToLongBits(accuracy);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		temp = Double.doubleToLongBits(latitude);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		temp = Double.doubleToLongBits(longitude);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		result =
			prime * result + ((provider == null) ? 0 : provider.hashCode());
		result =
			prime * result + ((timestamp == null) ? 0 : timestamp.hashCode());
		return result;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if(this == obj) {
			return true;
		}
		if(obj == null) {
			return false;
		}
		if(!(obj instanceof Location)) {
			return false;
		}
		Location other = (Location) obj;
		if(Double.doubleToLongBits(accuracy) != Double
			.doubleToLongBits(other.accuracy)) {
			return false;
		}
		if(Double.doubleToLongBits(latitude) != Double
			.doubleToLongBits(other.latitude)) {
			return false;
		}
		if(Double.doubleToLongBits(longitude) != Double
			.doubleToLongBits(other.longitude)) {
			return false;
		}
		if(provider == null) {
			if(other.provider != null) {
				return false;
			}
		}
		else if(!provider.equals(other.provider)) {
			return false;
		}
		if(timestamp == null) {
			if(other.timestamp != null) {
				return false;
			}
		}
		else if(!timestamp.equals(other.timestamp)) {
			return false;
		}
		return true;
	}
}

redpajama_set_name: RedPajamaGithub


A package of 14' bamboo poles harvested from my father's garden in Vancouver was shipped by rail to the studio. The package itself inspired a series of large-scale charcoal drawings.
Subsequently the package was opened and the bamboo used in two series of small media works, and later followed by a larger installation entitled 'Homage to A Nisei'.
"using natural and industrial fibres, Suzuki has painstakingly whittled, wrapped and cradled garden remnants...Suzuki's background in fibres is made apparentin the way she teases the stiffest of surfaces into pliable matter. Porous like skin, her wire nets stretch into finding impossible curves and sags, despite their taut and binding armature."


text:
Biniville – miejscowość i gmina we Francji, w regionie Normandia, w departamencie Manche.

Według danych na rok 1990 gminę zamieszkiwało 95 osób, a gęstość zaludnienia wynosiła 32 osoby/km² (wśród 1815 gmin Dolnej Normandii Biniville plasuje się na 791. miejscu pod względem liczby ludności, natomiast pod względem powierzchni na miejscu 1042.).

Bibliografia

Miejscowości w departamencie Manche

redpajama_set_name: RedPajamaWikipedia


text:
Summer Life is een nummer van de Belgische dj en producer Regi samen met de Nederlandse zanger Jake Reese en OT. De single piekte op 5 in de Ultratop 50.

Hitlijsten

Ultratop 50

Single uit 2019
Nummer van Regi Penxten
Nummer van Jaap Reesema
Nummer van OT


text:
Cheerleaders create a special mood during FINA Worlds competitions
Not only spectacular water polo matches of the 16th FINA World Championships stun the crowds every day. In breaks between the matches, cheerleaders support the athletes by putting on incredible shows. Whatever the weather, be heat or heavy rain, the sporty girls cheer up the stands with their lively dances.
Miss Championships Beauty and Talent Contest to be held today at FINA Water World Park
Kazan will select the most beautiful, sporty and talented lady of the 16th FINA World Championships.
Irek Zinnurov: At the FINA Worlds parents approach me and ask what water polo school they can enroll their kids in
Famous Russian water polo player and Kazan 2015 Ambassador, Irek Zinnurov, who also serves as a director of the water polo tournament at the 16th FINA World Championships, sat down for an interview with the Press Office of the Kazan 2015 Organising Committee and shared his impression of the Championships and expressed his expert opinion regarding the level of participating teams.
FINA Water World Park: Preview of events, August 6-9
On an average 20,000 people come to the FINA Water World Park every day. According to the last statistics, a record number of guests visited the venue the previous Sunday. More than 1,180 performers have staged at the Park since its opening. The Closing Ceremony for the 16th FINA World Championships is live stream broadcast via the media façade on August 9.
FINA Worlds 2015: Preview of competition day, August 6
On the fourteenth day of the 16th FINA World Championships, competitions in two disciplines will be held: swimming and water polo. The world's best swimmers will contend for 5 sets of medals.
Second finalist determined in women's water polo tournament at FINA Worlds
The second semifinal of the women's water polo tournament in the 16th FINA World Championships has just ended. The United States national team will play the Dutch national team, which proved to be more accurate in the penalty shoot-out against the opposing team from Italy.
Day 13 review: Extreme victory, battle for records and final berths
Day 13 of the 16th FINA World Championships in Kazan will be remembered as the day marked with the conclusion of the high diving tournament and the kickoff of the medal hunt in the women's water polo competitions. As for swimming, the fans have already memorised three key names – Cseh, Peaty and Ledecky – because these three names were announced more frequently than others at the Kazan Arena Stadium.
First finalist determined in women's water polo tournament at FINA Worlds
The first semifinal of the women's water polo tournament has just ended at the 16th FINA World Championships. In a bitter fight, the Americans defeated the Australians in the tournament, and advanced to the final.

redpajama_set_name: RedPajamaCommonCrawl


Higher Education apps, custom responsive websites, and effective digital tools for every screen. | d̲waiter: Web & Mobile App Design & Development in Rochester, New York.
How we build effective digital solutions for higher education?
While older adults still rely on their desktop computers, prospective students are constantly connected and heavily dependent on their smartphones for online access. According to the Pew Research Center, an astonishing 92% of adults ages 18 to 34 own a smartphone.
By understanding this fundamental shift, we help institutes of higher education deliver content across all platforms, but with focus on mobile devices in order to target and engage the younger generation of prospective students.
Dwaiter was founded by Thérèse Hannigan, who is currently the director of RIT Online. Our director and Principal Designer, Ali Ali is an ex-Googler and a former adjunct professor. Our experience building web and mobile apps combined with our understanding of higher education will enable you to create advanced mobile solutions to engage prospective students.
By understanding your specific goals and needs, we are able to design and develop targeted and effective apps, responsive websites, and other tools to help you solve even the most complex challenges.
Engage younger prospective students, drive visits to campuses, and increase enrollment.
Websites with a mobile-first design approach to help you interact with prospective students across all devices.
Thoughtful, customized solutions to enable meaningful and flexible engagement with student communities.
Content management system with robust features that enable you to update and edit every piece of content and build complex features for your website.
Our team worked with all types of higher education institutions such as Rochester Institute of Technology, University of Rochester, Skidmore College, and George Washington University to build a variety of solutions such as digital tools for fundraising, internal social networks, responsive websites, mobile applications and more.


text:
Comic Fan Fiction
Fan created Comic Book Fiction
Posted on April 12, 2019 by David	| Leave a reply
Sir Stephan Robertson turned his head and stared back at Rubane, the last town he would likely see for quite some while. It was certainly the last known town that appeared on any maps he had ever seen of Arthadia. He felt a pang of fear as he turned his head back in the direction he and his companions were riding in. Toward the Wilds, and whatever strange horrors and wonders it contained.
Of course there was little to fear from the Wilds at the fringes of Arthadia, and after talking with the village council of Rubane, the worst they could expect over the next couple of days were groups of bandits. One name in particular rang loud in Stephan's head, a bandit known only as Hawkeye. He and Daniel had spent the previous evening in the local inn and talking with the locals had revealed that the man was something of a local legend. Feats and deeds of daring were attributed to the man, things Stephan was sure had to be exaggerated.
One old man had spoken of a time Hawkeye had rode into the town square to rescue one of his men from a hanging. He had apparently shot an arrow through the rope of the noose, slicing it in two, and then quick as lightning had put another arrow in the executioners head. In the following commotion he and his rescued friend made a clean escape. Skill with a bow was not unheard of but Stephan had never heard of anyone able to shoot with accuracy like that, it was simply impossible.
He was unsure what to make of the way the villagers had spoken of the man. It was a mixture of fear and awe, and he couldn't help think maybe this Hawkeye held more sway in these parts than King Elehan did. It was something he would have to report on when he returned from the quest he was currently on.
He looked around at his travelling companions. Sir Daniel Whiteman smiled at him as he rode by on his black, war horse Valinor. Daniel had trained the horse himself and it was a vicious weapon in the Knight's hands, as lethal as the Whiteman family sword he carried in the ornate sheath at his side. He trotted past Stephan down a dirt trail they were following toward a large forest. When they had topped a hill a while ago he saw that the forest was quite large and he hoped they would not get lost.
He glanced at the King's Magician who was supposed to be leading them on this quest. He was not happy about trusting the man, there was something about Kulan Gath that put Stephan on edge, but if the King trusted him then he should too. The man was riding a white mare, a gentle horse that Kulan himself had picked from the stables back in Kingarth. He had professed to be a poor rider and so wanted a gentle horse to carry him. He was currently staring absently into the middle distance, his hands not even holding the reins, yet the horse was keeping pace with the others as if he were. His Mage Staff, a long length of some dark wood dangled from his saddle, carved with intricate symbols. Stephan thought he must be using some sort of spell or enchantment on the creature freeing him to do whatever it was he was doing.
Bringing up the rear of their group was the man known as Antonius Stark, the King's personal armourer. He was staring around himself barely paying attention to guiding his horse. Stephan quite liked the man, he was friendly and quick witted and often provided startlingly insightful opinions on a variety of subjects. Stephan was pretty sure that even Kulan had been surprised at what Antonius knew about magic and spellcasting. The pair had talked at length about the work Antonius was carrying out in creating his enchanted armour.
So far the armourer had shown them gauntlets that fired a magical blast of energy, a helm that provided the man with near perfect night vision and a breastplate that was capable of deflecting magical energy. The latter had been of extreme interest to Kulan and they had talking in depth of what Antonius had done to create that particular piece.
Keeping pace with each other was Sir Whiteman's Page Boy, Sean Dolan and his own, James Buchannan. They were talking excitedly between themselves, shifting the short swords at their hips every now and then, still not used to wearing them. Stephan worried about bringing them along, but it was a Knight's duty to teach and demonstrate to his ward, and there was no better way to do that than out in the world. He turned his attention back to the trail, noting they were very close to the forest now.
"Where do we go once we are in the forest Magician?" called Stephan, he was still a little anxious about heading into unmapped territory.
The wizard's eyes seemed to suddenly snap into focus as he was addressed and looked at Stephan as though annoyed at the intrusion. "We will have to work out way westward as best we can Knight, the far side of this forest is our goal"
Stephan waited for more but when it was not forthcoming he sighed and heeled his own horse, Star, to ride with Daniel. "I do not like the vagueness of our directions," he muttered to the older Knight, glancing back at Kulan.
"Neither do I Stephan," replied Daniel, "But then again what choice do we have. If we are to prevent the future that man has scryed, then we must follow his direction. Loathe as I am to do so".
They both rode on in silence as the shadows of the large oak trees stretched over them.
"At the borders of Arthadia already I see," said a voice.
"Indeed, they seem to have made good time since leaving Kingarth," replied a sibilant, more feminine voice. The black water in the viewing pool they were both looking into went blank as the woman waved a pale arm across it.
"And what do you intend to do about it?" replied the man.
A swish of black silk and the woman turned from her pool to stare at him. His features were blurred as they always were when he visited her; he never let her see his true features. She knew his name of course, that was something. She herself adopted many guises to avoid direct recognition and he had never seen her in exactly the same one once, the only constant had been her voice. Occasionally, when he moved, the glamour he was used slid to reveal cuffs of green embroidered with gold, or the bottom of gilded brown leather boots, but nothing more. "I have a few things in mind," she said eventually, "But first a simple test, to see what skills King Elehan's men possess. And maybe to see what other tricks my little pet mage has picked up since he ran away from me"
"You will play games while our plans are threatened so?" said the man, anger building up in his voice.
"I play games whenever I will and you would do well to remember that," replied the woman.
"As you say," he replied, though his tone still betrayed his anger, "I forget how you enjoy them so. I only hope these games carry a heavy penalty for loss"
"Only if I do not lose," she laughed. Walking to a large book held up on a tall marble plinth with a golden pentagram inlaid in it, she waved her hand over it and the pages turned, responding to some unseen force. When they stopped she leant over it to read what was on the open page. She turned and smiled at her companion, her black lips curving wickedly. "Yes I think this will do nicely. Let's see how they handle some hell-spawn".
Posted in Royal Guard.Tagged Champions of Erith, David McNamara, Royal Guard.
Fiction Titles
Age After (9)
Agency-X Verse (20)
Agency-X (6)
Sally Blevins, Agent of SHIELD (8)
Supreme: The Magical Misadventures of Megan Gwynn (1)
X-Women (5)
All-New X-Men (5)
Champions of Erith (12)
Knights of Greymalkin (6)
Royal Guard (2)
Civil War: Shattered Mirror (7)
Decimation (11)
Amazing X-Men (3)
New X-Men (4)
Uncanny X-Men (2)
X.S.E. (2)
Divided We Stand (8)
Astonishing X-Men (3)
Generation Last (3)
Exiles (6)
Friendly Neighborhood Spider-Man (2)
Generation Chi (2)
Genetix: The New Step (1)
Marvel UK (4)
misseDirections (1)
New Mutants (4)
One-Shots & Miniseries (5)
One-Shots (5)
The Next Step In Evolution (2)
Wrath of the Dragon Queen (1)
XXTNC-Verse (2)
Xtreme X-Men: The New Class (2)


Say HELLO to the 2019 Lady Angler SEABAG!
A sneak-peek at the U L T I M A T E boat tote by MB Greene, a sponsor of the 22nd Annual KWLA Tournament. Each team of ladies will receive one fully stuffed seabag upon registration (after May 20th). The tote features a zipper pocket in front. The waxed canvas exterior and vinyl lining interior make for easy cleaning- simply wipe away salt & sand with a damp cloth!
We can't wait to share what's inside, stay tuned!


How do you secure the enterprise content management process? Files stored on the Enterprise Content Management (ECM) platforms are not easily accessible by users from outside of the office as ECM platforms typically require a VPN, and a public cloud solution. Making this content accessible to users across devices presents challenges for most enterprise organizations. IT departments need a solution to make ECM and cloud storage available securely to users, no matter where or when the work is being done. When developing an enterprise content management system, you should firstly have to focus on its security. This whitepaper briefs about the requirements to provide secure access to ECM platforms and cloud storage services, and how to best enable productivity for the workforce. • Is your organization able to provide secure access to all your stored enterprise content from any device? • Is protecting and managing sensitive content the top priority for your enterprise content management systems? • How Well Does Your Enterprise Content Management System Protect Sensitive Information? Read this white paper to learn about securing enterprise content within your organization.


text:
Gemini Stellium, Ed Snowden's Rectified Chart, Twin Cabals In An Ancient Battle, Solstice Looming
| Astrology, Awakening Dreamers, Gemini, Sabian Symbols, Temporal Anomaliess
Geminized
He's a shadow, a specter, a burst of code incarnate. He emerges from a tropical chrysalis leaving his contortionist, soul-seeking, pole-dancing-acrobabe behind. He's falling at light speed out of eden with the code keys to the tree of knowledge, flaming, burning his legacy onto the celluloid frames of our memory. Or at leas that's what Edward J. Snowden feels like. To say that he's been disruptive is putting it mildly and yet, as per any event that flashes before our eyes, we have to question, who, what, where, why and how? They are the first principles of journalism, much of which has been abandoned today, like the brow-beating and completely anal tonguing of the security state delivered by The New York Times' David Brooks. You know the guy that the liberal press loves to tout as "getting it." You know, the guy that helped sell the war in Iraq. Yeah, that guy and his pompous lecturing of us all as he sits behind the firewall of thought control, running cover for all his pals that capture data and crunch it for profit on a daily basis.
At the very least, whoever Ed Snowden is, he's smoking out the vermin as they rush to defend the surveillance state like it's the violation of some vestal virgin when i's really just an airbrushed lady in red who will sell it's secrets to the highest bidder. Think what you want about Ed, his motivations, his contacts, his methodology, the light of truth has been unleashed and refracted into a PRISM of experience, consciousness, conscience, betrayal and doubt. Find the ray of light that you can ride on and surf it till it brings you home. That's the secret of the prism in an alchemical sense, but on a broader, spy vs. spy level, it's the fracking of our lives, filed away, stored and profiled in massive computers that can, using every little snippet of data predict what you will do under any given situation. Think of all of these computers mashing and smashing all that data in mega traunches and spitting it out to see what it would look like under any pre-programmed circumstance.
Putting it in terms that you might recognize, let's say some catastrophic scenario is programmed by one of these beasts, for say Cleveland. It could be anything from a tsunami coming off of Lake Erie, to a nuke meltdown, to a terror attack, to an alien invasion, to a civil war. They could literally run sims to see how every, single person they have data on would "likely" respond and then come up with an overall group scenario. It's micro to macro, macro back to micro and thousands of variables, all played out in some kind of virtual alternate universe where the world has ended a thousand times over and new forms of everything have been put into place. Somewhere, buried in the side of a mountain, an alternative, holographic universe is being spun out of all of our "data." Everyday, we provide the analytical touch points for this exercise, even now.
So who is Ed Snowden?
Details are scant but emerging. He is a high school dropout. Don't hold that against him. I'm sure Bill Gates would have done the same if he didn't have to appease his Boeing rich dad and go through those Ivy league motions.
Snowden decided that he wanted to follow his conscience and help stabilize or Iraq or something like that, so he signed up for special forces, which didn't go too well. He broke both legs in a training accident and was summarily discharged.
Then he shows up as a security guard at a top secret facility in Maryland. From there he seems to rise through the ranks, moving from outside security, to inside security. There's very little mention as to how this happens. Nowhere in his bio does it suggest that he has any type of arcane knowledge pertaining to software or code, however it's now coming out slowly, that he had knack for computers….
Let's get into his planets and other ephemera.
Edward Snowden was born on 6/21/1983. What's interesting about this is the shifting date. When the story first broke, 1984 was given as his year of birth. This would have been too deliciously ironic, given the title of Orwell's prophetic work and how it would directly relate to Snowden's emergent mythos. So we have to now look at the 6/21/83 chart for clues regarding Snowden. Looking up the ephemeris is always informative and helpful, but unless we can set the ASC, it doesn't really give a us a full picture of Ed Snowden's identity.
When doing rectification, we look for clues in the past to determine how a chart can be set. For, it involves the story of him breaking his legs during basic training for Special Forces. When we look at legs and even the entire skeletal system, we look at Capricorn as it symbolizes the shins and bones in general. Second House Capricorn is basic, fundamental, grounding and training. When the ASC is set at Virgo, especially at the 27th degree, some interesting patterns emerge.
The first thing we see is the Pluto/Saturn conjunction in the 2nd House. Saturn of course is the ruler of Capricorn, which represents the shins and the skeletal structure in general. The Second House is fundamental and basic as in basic training. With Pluto conjoined Saturn, any break or fracture as it relates to the body is life changing as Pluto brings the transformational component into play. This is exactly what happened to Snowden as he broke both legs and took him from an active participant to being discharged and on the outside. At this point, Snowden becomes a security guard for a NSA related company and thus begins his labyrinthine journey through the ziggurats of surveillance. But it's the breaking of the legs, which leads to a fundamental transformation of his life that propels him into the vector of the most dangerous man in the world.
But what motivated Snowden to go special forces in the first place? He was apparently moved by the struggles of the Iraqi people and wanted to help stabilize the country. If this is indeed true, we can see it getting played out in his 9th House. Of all the houses/signs, the 9th/Sag is the one most driven at times by ideology. Aquarius comes close, but for Aquarius, the ideology is secondary to the energy of revolution or change. In many instances, the ideology is just a cover, but we don't want to diverge too much. The 9th House is the house of truth and justice for all and looky what we have here in the 9th; Chiron at 0 Gemini (more on this later), Mercury, Mars, TN and just on the other side of the MC, the Sun itself. Did I mention Gemini? Well, whaddaya know?
Some people might think I'm OCD when it comes to Gemini, but I believe that it's the tabula rasa of this world, perched diametrically opposed to the GC in the latter degrees of Sag. We dwell in a world of duality and fractured consciousness that gets hammered and hammered again and again. From the death of Gemini JFK, to the fall of the Twin Towers (Gemini), it's all part of a ring cycle (Wagner was a Gemini) a closed loop that never allows for reconciliation of opposites. However the hope and redemption of the cyclic suffering is the simulacra of oneness, a New World Order where the suffering is mercifully ended by the demi-gods of the rule of law. This is the endgame, the only way out as it is being constructed.
Gemini is also the sign of spy craft, intelligence, dual personae and double identities, which likely means that there's a lot more to Ed Snowden than we know. He likely has an intricate web of alliances and inside fixers. Glenn Greenwald (Pisces) is currently the other half of Ed Snowden, releasing his documents through the Guardian UK. This is an interesting phenomenon onto itself. Why would a portal/publication like The Guardian move forward with this material? Why would they publish it? For ratings? Money? The US and their allies, from the UK, to DK, to Israel have immense power through any number of agencies and means to squash and kill a story if they needed or wanted to. Why would this be allowed to happen? We'll visit more of this later with some possible Gemini related scenarios.
Ed Snowden voted for Obama, thinking that he would live up to his promises, that his highly evolved signal of humanity was real and believable. Here again, we can see Snowden being driven by ideology–something to believe in. Then in true Gemini fashion, he flips the script and throws down $500 large for Ron Paul. He's jumping tracks, but all the while, guided by his ideology. The Ron Paul connections a little disquieting, since of course the media, you know the ones that see Ed Snowden as a traitor will be quick to point out his Libertarian tendencies. It's likely only a matter of time before Ed Snowden will be labeled a domestic terrorist.
If we can agree that this is a good version of a rectified chart, then we can take the next leap and say that he is acting out his destiny with the TN in Gemini right on the MC at 25 degrees. Look at where Jupiter was last weekend. He also released his info in Hong Kong, which is also very symbolic of the 9th House (Foreign Countries). It was at 25/26 degrees crossing his TN, his MC and conjuncting his Sun in the 10th, just over the MC. This is clearly a very public moment/transit for Snowden. It marks the arc of his destiny.
Looking at his ASC, I have him pegged at 27 Virgo. Let's face it. Ed's a geek, a nerd. Just check out the frames, the neatly trimmed facial hair, the coolness of the Virgo front. His 7th House has Pisces on the DS and remember that Glenn Greenwald is a Pisces, so there is an overtone of partnership, even though Greenwald's Sun is located in Snowden's 6th. But the Sabian Symbol for 28 degrees Virgo seals the deal;
PHASE 178 (VIRGO 28°): A BALDHEADED MAN WHO HAS SEIZED POWER. KEYNOTE: The sheer power of personality in times that call for decision.
Whether at the religious or at the socio-political and cultural level there comes a time when obsolescent patterns of order and cultural refinement have to be radically and relentlessly challenged. Catabolic personages emerge to seize power and dictate decisions that alter the structures of society; or within an individual life, an intense urge for cathartic changes mobilizes the will, and traumatic decisions are made. At such times, the issue has to be met and, ruthless as the power may appear, it must be accepted.
At this third stage of the thirty-sixth sequence we face the un-postponable necessity for decision and transformation. Existence is motion. No static formation, however beautiful and inspiring, can remain long unchallenged. Everything bows to THE POWER OF THE WILL — divine, executively human, or Satanic.
If 27 degrees Virgo is indeed his ASC then transiting Jupiter would have indeed triggered this "catabolic moment" in Snowden's life. However, it could also have greater ramifications as well, as it triggers even more extreme examples of ruthless power grabs and drastic measures taken to rectify the revelations of PRISM and the depth of data gathering in the Post-911 world of spooks, spies, renditions, listening parties, constitutional run-arounds and the net of the communication grid that gets tighter and tighter around us.
People have asked me, is Ed Snowden real? My reflexive reply would be; Are any of us real? But I get the inquiry. I can tell you this; I believe his motivation is real. With Jupiter in Sag conjunct Uranus in the house of Gemini (3rd) and gathering of information to unleash a shocking revelation, this conjunction is symbolic of that motivation. With Venus residing in the 11th House, Snowden has some desire to live in a world that's more fair than the one he witnessed. The trine to Uranus in the 3rd is the activator towards that type of society.
And as quickly as he appeared, in a flash, he is gone again. Rumors have it that he might flee to Iceland, maybe Russia. If it's the latter, it would add to the growing list of litanies against Mother Russia. From dissing Gay rights, to fomenting oppression against the Chechens and now potentially harboring a cyber-terrorist, the cards are stacking against the former USSR.
Did Ed Snowden have help? Of course he did. But who helped him and why? Is he a pawn in the game being used to enact even more draconian security measures or is he an agent of an opposing group on the inside. Is the ancient war between the Sons Of Belial and The Law of One getting more and more open as the days progress?
Keep your eye on the 21st, Ed Snowden's birthday and the Summer Solstice as well as Prince William's too.
More revelations are at hand.
11 thoughts on "Gemini Stellium, Ed Snowden's Rectified Chart, Twin Cabals In An Ancient Battle, Solstice Looming"
Wayne Johnston
Do you have any idea why Bryan Kemila of illumunatti Matrix hasn't posted anything in two months on his website. I believe I was made aware of his blog in one of your posts and found his take on things very interesting. Then right after Boston marathon his site went silent to this present time. Only thing I've been able to find on internet is another persons comment on a discussion board wondering why he has stopped posting also. I find your insights interesting too though your sports predictions haven't been too on. lol
I haven't been to Bryan's site in quite sometime. He's generally pretty prolific. Maybe he's just taking a break–we hope. I got a little burned on the Super Bowl, but I came close to almost all of my predictions panning out. Put your money on all things Boston now. I think we know why.
Read this last night-I think she was called a ballerina due to a flirty pic of her wearing a tutu… her foot showing didn't look like any dancer's foot to me (piscean foot expert analyst : Q) http://www.dailymail.co.uk/news/article-2339202/Lindsay-Mills-Edward-Snowden-set-wed-fled-Hong-Kong-leak-NSA-secrets.html?ICO=most_read_module
I think the entire story is made up of poo. Read similar stories of sim identities before. This one a friend and I delved into as it was written so badly… the story.. http://www.dailymail.co.uk/news/article-1301216/British-doctor-executed-Taliban-Afghanistan-marry-weeks.html
Read 'her July 20' diary entry for example. "A ball gown"? referencing "Diana Dors"? hmmm Only 36 but "Dr Woo had trained as a contemporary dancer before deciding to take up medical studies at the age of 22. Until last year she was working as an associate medical director, with a six-figure salary, with the private health firm BUPA.
Prior to that, she had spent five years as a general surgeon at St Mary's Hospital in Paddington, West London."
Sounds like Dr Woo was a compilation of 'Ed and his girlfriend Lindsey' …
I had missed this update on "Dr Woo and her helper man Paddy" http://www.dailymail.co.uk/news/article-1301591/Karen-Woos-parent-insist-doctor-missionairy.html
My friend and I went to the 'website of her non profit' which had been set up right prior to Dr Woo's death. There was another commenter who had 'issues' same as ours. The construction of the story lines read like a cheap badly written romance novel. But the comments from all those praising the good doctor's bravery and selflessness and more importantly the hatred of Moslems and those of the ME was most noticeable.
i know this guy, no one agrees with the date of birth, or what He did, as a teenager. Tracked, and anticipated before birth. Refused that anti stuff, just would not take the deal, and just stay herded, even with the breaking of the legs, and traveling. You know, with all of that tracking, and stuff going on, a lot of memories are being sacrificed to some damned consensus. Born twice, no death, and faking it, that would be some dynamic. Sounds like a spy novel, set in some stars, maybe not doubled, maybe exponential, that is what happens when that guy gets dirty.
Lovely post, you've summed up so much for further thought.
And here's a funny thing I wanted to mention to you about Snowden. First I digress a bit. When I first saw the picture of the legless guy at the Boston marathon in a wheelchair I thought "WTF, he lost his legs and they have him in a wheelchair? Isn't that gonna create more blood loss". It was so weird, just one of those thoughts that you put out of your mind (well, until the whole Internet explodes with theories!).
Anyway, when I first saw the picture you've posted of Snowden I thought "he looks like the first guy they showed with the google glasses" (check it out – just google google glasses if you dont remember (but i bet you do!)). Glass "frames" are very similar, and the shadow on the Snowden's right glass frame is where the google glasses camera would go. Both guys are thin white guys, about same age, the google glasses guy has a little more face hair, but essentially very similar. Ok, now I'm not going Ed Chiarini on you or saying it was "planned", but isn't it kinda weird, in a sync kind of way?
Are things being "framed" for us? What kind of "prism" are we actually talking about? Can Snowden be for real and yet ………………………
I thought Google glasses as well when I first saw him too.
Bravo! Let is Snow!
"Where are the Snowdens of Yesteryear?.." This is the line from Catch 22 that crossed my mind when this story first broke.
Who knows who this guy is… If he is truly who he says he is and his motives are sincere, I wish him the very best in all things and the protection he needs.
And/but it does feel as if we are now operating in a veritable House of Mirrors/House of Horrors — where (in a Gemini way) things are replicated and spun in duplicate and triplicate ad infinitum.
Have been re-reading 1984 — a good choice for these times. Very helpful to see how everything good in life is reversed and nullified, crushed, and rendered mute when absolute power prevails.
Just had to check when Prince William's year of birth was. Thought it was 83 also but it was 1982. "Snowden" rang my bells for "Lord Snowdon"… Princess Margaret's consort/husband. What caught my attention-after the 'google glasses' was the big mole on the left side front of his neck.
Holly, I thought you were going to say that Snowden looked like the wheelchair guy! and 'going Ed Chiarini on you" LOL!!!!
Gardener, I wondered about the Lord part too, but hadn't looked it up, thanks for the reference.
Also I didn't remember the Snowden from catch-22, wow Catherine.
Robert, not only do you have great posts, but the commenters are adding nicely to the puzzle.
Too bad I don't do Facebook, I'd like to be your friend.
BTW, are we snowed in yet? As a Wisconsinite, I know when that happens you sometimes don't get out for a while.
I know. I have really, really, smart readers. They're great. 🙂


SAVE Community Campus – SAVE, Inc.
The SAVE Community Campus is comprised of seven residential properties throughout the Midtown Kansas City area with 66 independent units of permanent housing, ranging from studio to three-bedroom apartments. SAVE, Inc. owns and operates each of these properties.
SAVE, Inc. serves as the landlord for all tenants, and residents are free to be as involved as they would like in community activities. The SAVE, Inc. Community Campus gives those who are battling the dual crises of homelessness and a chronic health disability a safe, supportive place to come home to.


text:
Home / Online Shop / Party Games / Exodus Paris Nouveau
Exodus Paris Nouveau
Your mission in Exodus Paris Nouveau? Lead a daring rescue attempt to save innocent citizens from the corrupted Paris Nouveau government. You've been in this together from the beginning. You've had each other's backs. But we fear some of your team may have been bought off by the hunters. Our last team didn't come back. Trust No One But Yourself!
Exodus Paris Nouveau quantity
SKU: TBB_339 Category: Party Games Tags: Bluffing, Card Game, Card Games, Creative thinking, Multi Player Game, Party Games
In Exodus Paris Nouveau, you're a member of a specialist team sent on a rescue mission to save refugees trapped in an urban warzone.
At the start of the game, the players are secretly and randomly divided into two teams – those with a secret hunter ID card are on the hunters team, and those with a secret rescuer ID card are on the rescuers team. The problem is, although you know which team you're on, you don't know which of the other players are also on your team and which are on the other team!
Further, in Exodus: Paris Nouveau, you win or lose as a team. If the hunters team wins, all the hunter players win, and all the rescuer players lose. Conversely, if the rescuers team wins, all the rescuer players win, and all the hunter players lose. Throughout the game, you'll use abilities, deduction, and guesswork to determine your team members, and together strive to win as a team.
The game may end in a number of ways:
If a player has no life tokens, the game immediately ends. That player reveals their secret ID card and their team loses, resulting in a win to the other team.
The hunters win (and the rescuers lose) immediately if no cover tokens remain in the game.
The hunters win (and the rescuers lose) immediately if the total hunter distance (i.e. the sum of the distance values on all face up cards in the hunter line) is equal to or exceeds the total rescuer distance (i.e. the number of distance tokens remaining in the game plus the sum of the distance values on all face up cards in the rescuer line).
If the game hasn't ended beforehand, it concludes at the end of the seventh round. In this case, the rescuer's team score is the number of victory point icons on the faceup cards in the rescuer line (i.e. each running figure symbol is worth one victory point), and the hunter's team score is the number of victory point icons on the faceup cards in the hunter line. Whichever team has the higher score wins.
If scores are tied, continue playing rounds until either an immediate-win condition has been met or, at the end of a round, one team has a higher score than the other, at which point they're declared the winning team.
Players 4 – 6
Be the first to review "Exodus Paris Nouveau" Cancel reply
Noises at Night
Drunk Stoned or Stupid: A Party Game


With a notion to serve customers with some of the best moving services, CBD Movers has recently come up with a range of interstate moving packages.
ADELAIDE, SOUTH AUSTRALIA, AUSTRALIA, September 11, 2018 /EINPresswire.com/ — CBD Movers™ is proud to announce their interstate removal services from Adelaide at competitive costs. With a notion to serve customers with some of the best moving services, CBD Movers has recently come up with a range of interstate moving packages for those who are moving out of Adelaide.
The CBD Movers helps people to start a new chapter in their life peacefully. One need not carry all the headaches associated with the moving process. CBD Movers will take care of all packing and moving so that one can keep alive the excitement of moving to a new place!
"We started with a vision to cater to the removal needs of customers – both big and small. Moving challenges help us improve and we have learned a lot from the removalist projects we have handled this date," says Rick S, Manager of CBD Movers.
They guide each of its customers with the process of moving with suggestions to make the move much more comfortable. All the employees at CBD Movers are professionals with a good amount of experience – one can depend on them to get all the goods transported safely.
Pre-packing services at CBD Movers help in packing and unpacking of all the goods. CBD Movers will make sure twice and again thrice that all the goods are securely packed and all ready for transportation. The expert team at CBD Movers is well-trained and experienced to handle all the transportation professionally. The movers associated with CBD provide a fleet of vehicles to choose from for all moving needs at affordable rates with each vehicle equipped with the latest GPS and a fully secured container.
The customer service at CBD Movers is one of its kind with unparallel services to keep all its customers informed about every stage of the relocation process. The customers can contact the CBD Movers at any time on any day asking for information about their goods.
Although moving might seem like a tiring task, the team from CBD will make it more comfortable that in no time all the belongings will be safely shifted to the new home. CBD Movers can transport the belongings to all the major cities in Australia and to Adelaide suburbs too.
Among the interstate removalists Adelaide, CBD Movers has marked a name for itself and has always been associated with comfortable and secure removal services in and around Adelaide. CBD Movers is striving hard to accommodate to the needs of more people so that everyone enjoys their relocation services.


The Lost Labyrinth level in Sonic 4 was a shocker. It wasn't that it was bad...it's that it was so bad, weran an article on itin the hope that Sega would listen and either fix it, or remove it. Thankfully, if the latest trailer is anything to go by, they've pretty much doneboth.
The new trailer, released today, shows Sonic enjoying a much more palatable minecart ride. Minecart levels rock, that's a fact. We're so glad the new Sonic game has stopped looking like it's going to buck that trend.
Pretty neat, huh? I like the way Sonic's holding a torch like Indiana Jones. And those close encounters with massive spherical boulders like Indiana Jones. And the way he grabs gulps of air from big bubbles like... well, like he used to in the old Sonic games, actually.
Speaking of which, the water slides are a throwback to the very first Sonic game. Sonic 4 is piling on the nostalgia factor and edging ever closer to its release on Xbox Live, PlayStation Network, iPhone and WiiWare.


David Clark Company is a leading manufacturer of 'Proven Under Fire' communication systems designed for high noise and hazardous environments. Our fire/rescue vehicle communication systems include wired, wireless and digital technologies. Systems feature durable, noise-attenuating headsets and related system components to provide clear communications above the roar of engines and sirens to enhance the situational awareness, safety and performance of firefighting and EMS professionals.


Bedroom 1 – 11'7" x 9'11"
Bedroom 2 – 9'11" x 11'7"
Bedroom 3 – 11'1" x 14'11"
Kitchen – 9'9" x 9'4"
Dining Room – 9'10" x 9'7"
If you're looking for a three bedroom apartment in Gaithersburg, MD, look no further than Brighton Village. Our 1,220 sq. ft. three bedroom, two bath apartment is an ideal home. The master bedroom has a luxurious walk-in closet and private bathroom. The two additional bedrooms are identical in size and share a hallway bathroom. An additional walk-in closet located in the hallway offers ample storage space for the apartment. A living room, kitchen, dining room, and balcony or patio complete the well-designed floor plan. Brighton Village offers competitive prices and Renovated Recreational Center, making it easy to see why our three bedroom apartments are a great solution to any housing need. Call 888-758-2637 or fill out our contact form to schedule a visit to our community.


New Update coming soon! sorry for the wait !!! hope your not mad its just I'm taking up all my time too finish writing my beat me black and blue fan fiction along with property...but I'm not forgetting this story!!


text:
Mosque named after fallen Emirati soldier
DUBAI: A mosque in the UAE has been named after a fallen Emirati soldier who was killed in action in Yemen, the Dubai Media Office reported.
Dubai Deputy Ruler, Sheikh Hamdan bin Rashid Al-Maktoum, named the mosque in the northern emirate of Ras Al Khaimah (RAK) after Hassan Abdullah Mohammed Al-Bishr, an Emirati soldier who was killed during fighting in Yemen in May 2017.
The ruler of RAK Sheikh Saud bin Saqr Al-Qasimi attended the funeral of Al-Bishr, 25, who was buried at Al Salehiya Cemetery in RAK.
At the time Hassan's father spoke of the remorse he felt for the loss of his son, adding: "My son died with honor… He was performing his national duty and sacrificed his soul and blood for his country."
UN says Yemen food aid at risk of rotting
Fierce fighting in south Yemen after Houthi rebels...
Iranian regime sustained by wide-reaching and varied...
Saudi team ready to treat conjoined twins
Yemen government following up reports of aid looting
Jeddah International Book Fair's tale of success


text:
using System.Collections.Generic;
using System.Text.Json;
using Azure.Core;

namespace Azure.ResourceManager.Insights.Models
{
    public partial class EventDataCollection
    {
        internal static EventDataCollection DeserializeEventDataCollection(JsonElement element)
        {
            IReadOnlyList<EventData> value = default;
            Optional<string> nextLink = default;
            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("value"))
                {
                    List<EventData> array = new List<EventData>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(EventData.DeserializeEventData(item));
                    }
                    value = array;
                    continue;
                }
                if (property.NameEquals("nextLink"))
                {
                    nextLink = property.Value.GetString();
                    continue;
                }
            }
            return new EventDataCollection(value, nextLink.Value);
        }
    }
}


It's taken a while but it looks like Commissioner Keon Hardemon has worked his way up to the top of the batting order on the Crespogram.
Yesterday I included him in a story about the non-existent accountability that exists in the various financial forms that public officials in Miami are required to fill out annually, and as an example, I pointed out that the Commissioner had failed to include his law practice in his financial report as a source of either primary or secondary income.
Although the commissioner reported owning $250,000 in real property on his Public Disclosure Of Financial Interests, he failed to included that information in Part C: Real Property of his FORM 1.
As sometimes happens when I dash off a story, there was a lot more that I coulda, shoulda spent time on before posting the story, but I've been working on several long, detailed stories that I keep trying to get finished, and so even though I didn't do as complete a job of research as I should have, thankfully, I have readers who are smart, knowledgable, and willing to pick up the slack, and one of them called me up to tell me all the things I should have followed up in the reports before posting my story.
One rule of thumb I've come to rely on in writing about the public officials in the City of Miami is that if what should look simple looks confusing, then odds are that there are squirrels loose in the house.
Below is the house in Liberty City that Hardemon listed on his corporate documents as the address for his law firm.
Here is the corporate listing, and you see that it is up to date, having been renewed in 2018.
If this were Keon Hardemon's house, he would be able to operate a home office from this property. However, all available records indicate that this is not Keon's house or his place of residence, but rather his mother's house.
It turns out that where Keon Hardemon lives is a secret, because as a result of a legislative exemption, current or former public defenders are allowed to hide where they live.
The question here though, is not so much a question of where Hardemon lives, but of where he maintains a law office, or if he is still a practicing attorney.
According to his website, the commissioner claims that he can be reached via a PO Box at the Post Office across the street from the Miami Police Department headquarters on NW 5th Street.
So, since he doesn't have a BTR, he doesn't seem to have a real office, and the only address that is on record for his law practice, seems to be his mother's house then what's up?
I tried to get an answer to that question by sending the Commissioner an email asking him to confirm or deny he's practicing law. He did not respond prior to the end of my deadline.
But if he's practicing law, and if he made any money doing so in 2017, he failed to include this information on his annual financial report.
And all of this has happened while he was the Chairman of the Miami City Commission where he made a habit of pontificating over the need of folks doing the right thing.


Funk/Rock Fusion with World Jazz vibe, featuring trombone w/effects and baritone sax.
A wild arrangement of Tchaikovsky's Nutcracker Suite, featuring low brass through a pedalboard.
A journey of original compositions and arrangements for various low brass ensembles from trombone and tuba duo to low brass choir.


text:
Closing Time: Assessing the Iranian Threat to the Strait of Hormuz
Talmadge, Caitlin. "Closing Time: Assessing the Iranian Threat to the Strait of Hormuz ." International Security. Vol. 33, No. 1 (Summer 2008): 82-117. [ More (7 quotes) ]
Iranian closure of the Strait of Hormuz would disrupt global economy
Iranian closure of the Strait of Hormuz tops the list of global energy security nightmares. Roughly 90 percent of all Persian Gulf oil leaves the region on tankers that must pass through this narrow waterway opposite the Iranian coast, and land pipelines do not provide sufficient alternative export routes. Extended closure of the strait would remove roughly a quarter of the world's oil from the market, causing a supply shock of the type not seen since the glory days of OPEC. Even if the strait were not closed in the sense of being physically barricaded, military conflict in the area could cause prices to skyrocket in anticipation of a supply disruption—and to remain high until markets could be assured that the flow of commerce had been restored. Consider that when Iraq invaded Kuwait in 1990, temporarily halting the export of oil in both countries, the world price of oil more than doubled merely on the expectation of future shortages. Although excess global supply combined with increased Saudi production helped lower the price within a few months, it did not return to the preinvasion level for nearly a year. Blockage of the strait would pose a vastly greater threat to the flow of gulf oil, and at a time when excess global capacity is lower and the price of oil higher.
[ Page 82-3 ]
An attack on Iran would provoke them to close Straits of Hormuz
If the United States or Israel attacked Iran, the restraint that previously characterized Iranian behavior in the strait might evaporate. Indeed, in 2006 Iran's supreme leader, Ayatollah Ali Khamenei, cautioned that although Iran would not be "the initiator of war," if the United States punished or attacked Iran, then "definitely the shipment of energy from this region will be seriously jeopardized." The Iranian oil minister made similar comments, hinting that "if the country's interests are attacked, we will use all our capabilities, and oil is one of them." One can imagine other events that could bring Iran to the same point of desperation—for example, if it were losing a conventional war with any of its neighbors and wanted to open another front as a punitive measure or a distraction. Short of the extreme case in which the United States preemptively destroys much of Iran's military, there is an intermediate range of scenarios in which Iran is deeply threatened yet parts of its military are still intact and functioning. It is in this context that threats to block the strait could become reality.
[ Page 88 ]
Iran not likely to be able to use submarines to mine Strait of Hormuz
It would be challenging, though not impossible, for Iran to use its submarines for mine laying in the strait, due to several factors. First, the underwater geography of the strait neutralizes many of the characteristic advantages of submarines. Kilos require a minimum operating depth of 45 meters, and only in a few places is the water in the strait more than 80 meters deep, limiting the use of tactics such as diving for concealment or protection. Additionally, the high salt content of gulf waters and other factors create heat currents that disturb sonar. As a result, it is harder for submarines to use passive sonar to detect ships without revealing their own location. Submarines become hidden but irrelevant platforms, or useful platforms that are easier to find. Either way, antisubmarine warfare forces gain an advantage, and U.S. ASW patrols in the gulf would be likely to detect mine-laying activity by Iranian submarines. There is evidence Iran may have realized these problems and is planning to relocate its submarines to the Gulf of Oman.
Historically, even small number of mines is enough to deter naval action
Iran is believed to possess at least 2,000 mines. By historical standards, this is not a large stockpile. For example, the British and Americans laid more than 70,000 mines in an effort to seal the North Sea against German U-boats in World War I, and the United States and the Soviet Union each stockpiled hundreds of thousands of mines during the Cold War. Nevertheless, even small numbers of mines have been able to halt surface traffic when their presence was known. In 1972 the United States immediately stopped all traffic in and out of North Vietnam's Haiphong Harbor with an initial drop of only 36 acoustic-magnetic mines. In 1991 the Iraqis were able to discourage a U.S. amphibious invasion by laying only 1,000 mines off the Kuwaiti coast, 2 of which later hit but did not sink U.S. warships. In 1950 the North Koreans delayed the U.S. landing at Wonsan by laying only 3,000 mines across 50 square miles. As these examples show, mines derive much of their power from the fear they induce, which is often based more on the psychological effect of a lucky initial explosion than on rational calculations of risk.
Iran could close Strait of Hormuz with fewer than 700 mines
The general point is that it does not require great imagination to think Iran could lay several hundred mines in the gulf. If the above conditions prevailed, for example, Iran could lay a total of 693 mines. This is not an especially large number, but in such a conªned area with such heavy commercial traffic, it would not take long for a tanker to encounter a mine. The effects of the MDM-6 mine on a tanker are unknown, but given that these mines have both more sophisticated detonation mechanisms and ten times the charge of the mines that hobbled tankers in the 1980s, the threat to tanker traffic cannot be dismissed easily. If shipping companies—and their insurers—believed that large swaths of the channels and surrounding areas were deªnitely mined, and in some places with mines ten times as powerful as what was seen in the tankers wars, they likely would halt or reduce shipping. Most important, however, an Iranian mine warfare campaign against shipping would guarantee U.S. intervention, fulfilling Iran's basic goal. The common assertion that 2,000 to 3,000 mines would be needed to close the strait may not take this potential Iranian objective into account.
U.S. should not place too much confidence in its ability to keep Iran from blocking Strait of Hormuz
Iran's limitations, such as the command and control and targeting challenges it would face in littoral warfare, are not often appreciated. But its strengths are often overlooked as well, such as the stocks of missiles and much more explosively powerful mines it has acquired since the tanker wars of the 1980s. Likewise, although the United States retains the world's best conventional military, its past experiences hunting mobile targets from the air and conducting MCM operations in the littorals do not inspire confidence that confrontation in the strait would end quickly. The United States' fleet defenses have never been tested in combat against an adversary with large numbers of cruise missiles, and the United States is in the midst of a major transition in its entire concept of MCM operations. Given these realities, sanguine assurances about the course and outcome of military conflict in the strait seem unjustified at best, and dangerous at worst. Most important, Iran does not have to seal the strait entirely to provoke U.S. intervention, and once that intervention begins, the potential for further military escalation is high. In particular, if the air and naval campaigns appear to be dragging on, the United States might be forced to consider holding hostage other targets in Iran or using ground forces. Either way, a significant and sustained increase in the price of oil would seem likely.
[ Page 116 ]
Early detection and preemption of Iranian mining operations key to keeping Strait of Hormuz open
Above all, the scenario described here points to the critical importance of early detection of any Iranian mine laying in the Persian Gulf and especially the need to keep close tabs on Iranian submarine activity. Such surveillance depends not only on U.S. activities in the region but also on those of Iran's gulf neighbors. If the United States wishes to continue to act as the guarantor of free passage in the strait, it needs to make these monitoring activities a clear part of a broader effort to discourage Iranian attempts at harassment or closure. It also may wish to convey to Iran that, precisely because of the potential length and complexity of the operations outlined in this article, a campaign to clear the Persian Gulf of Iranian mines could quickly become a war to clear the Iranian harbors and coast of most remnants of the country's military.


text:
"""A server that serves MSR values over TCP. Takes a port as its sole parameter.

The reference client for this server is msr_power_monitor.MsrPowerMonitor.

Must be run as Administrator. We use TCP instead of named pipes or another IPC
to avoid dealing with the pipe security mechanisms. We take the port as a
parameter instead of choosing one, because it's hard to communicate the port
number across integrity levels.

Requires WinRing0 to be installed in the Python directory.
msr_power_monitor.MsrPowerMonitor does this if needed.
"""

import argparse
import ctypes
import os
import SocketServer
import struct
import sys
try:
  import win32api  # pylint: disable=import-error
  import win32file  # pylint: disable=import-error
except ImportError:
  win32api = None
  win32file = None

WINRING0_STATUS_MESSAGES = (
    'No error',
    'Unsupported platform',
    'Driver not loaded. You may need to run as Administrator',
    'Driver not found',
    'Driver unloaded by other process',
    'Driver not loaded because of executing on Network Drive',
    'Unknown error',
)

# The DLL initialization is global, so put it in a global variable.
_winring0 = None

class WinRing0Error(OSError):
  pass

def _WinRing0Path():
  python_is_64_bit = sys.maxsize > 2 ** 32
  dll_file_name = 'WinRing0x64.dll' if python_is_64_bit else 'WinRing0.dll'
  return os.path.join(os.path.dirname(sys.executable), dll_file_name)

def _Initialize():
  global _winring0 # pylint: disable=global-statement
  if not _winring0:
    winring0 = ctypes.WinDLL(_WinRing0Path())
    if not winring0.InitializeOls():
      winring0_status = winring0.GetDllStatus()
      raise WinRing0Error(winring0_status,
                          'Unable to initialize WinRing0: %s' %
                          WINRING0_STATUS_MESSAGES[winring0_status])
    _winring0 = winring0

def _Deinitialize():
  global _winring0 # pylint: disable=global-statement
  if _winring0:
    _winring0.DeinitializeOls()
    _winring0 = None

def _ReadMsr(msr_number):
  low = ctypes.c_uint()
  high = ctypes.c_uint()
  _winring0.Rdmsr(ctypes.c_uint(msr_number),
                  ctypes.byref(low), ctypes.byref(high))
  return high.value << 32 | low.value

class MsrRequestHandler(SocketServer.StreamRequestHandler):
  def handle(self):
    msr_number = struct.unpack('I', self.rfile.read(4))[0]
    self.wfile.write(struct.pack('Q', _ReadMsr(msr_number)))

def main():
  parser = argparse.ArgumentParser()
  parser.add_argument('pipe_name', type=str)
  args = parser.parse_args()

  _Initialize()
  try:
    SocketServer.TCPServer.allow_reuse_address = True
    server_address = ('127.0.0.1', 0)
    server = SocketServer.TCPServer(server_address, MsrRequestHandler)
    handle = win32file.CreateFile(args.pipe_name,
                                  win32file.GENERIC_WRITE,
                                  0, None,
                                  win32file.OPEN_EXISTING,
                                  0, None)
    _, port = server.server_address
    win32file.WriteFile(handle, str(port))
    win32api.CloseHandle(handle)
    server.serve_forever()
  finally:
    _Deinitialize()

if __name__ == '__main__':
  main()


text:
By Professor
Catholic Courses
Literature & Language
Health & Better Living
Philosophy Courses
Franciscan History and Spirituality
Jesuit History and Spirituality
Religious Retreats
Saints & Mystics
MertonTalks
Fr. Donald Goergen, O.P., Ph.D.
Donald Goergen, O.P., Ph.D., is a Dominican priest, teacher, lecturer, and author. He has published many articles and ten books in the areas of Christology and Christian Spirituality. His most recent book was Fire of Love: Encountering the Holy Spirit. He has taught, lectured and given retreats in Asia, Africa, and throughout North America. He was previously Provincial for the Dominican Friars of the Central Province as well as President of the Dominican Leadership Conference.
He co-founded the Dominican Ashram, a contemplative Dominican community and ministry of prayer, in which he lived for nine years. He previously taught and currently teaches at the Aquinas Institute of Theology in St. Louis, MO, where he is also prior of the formation community. His doctorate is in systematic theology, his dissertation on Pierre Teilhard de Chardin, and his current interests include contemplative traditions, East and West, the evolution of consciousness, and the thought of Thomas Aquinas as a spiritual master. Among other honors awarded him, he is the recipient of the 2010 Yves Congar Award from Barry University in Miami.
Praise for Donald Goergen
"The finest professor with whom I have had the privilege to study, Don's style is at once captivating and endearing." – Fr. Raymond-Marie Bryce, O.P., Associate Pastor, Indiana University
"Fr. Goergen is a contemplative person, very much in tune with contemporary spirituality. He has carried many administrative responsibilities with steady competence. He possesses the Midwestern virtues of hard work and sober judgment, along with a ready humor." – Benedict T. Viviano, O.P., biblical scholar
"Few have Fr. Don Goergen's understanding of the elusive depths of Dominican spirituality. His living of our Dominican life shines through his body of published work on the Holy Spirit as well as his down to earth recorded lectures and retreats on Chardin and our own Eckhart." – Mr. Joseph J. Komadina, O.P.
"Father Don Goergen, O.P., is a master of the spiritual life. He has not only studied Christian spirituality for many years but has put into practice in his adult life all of those key elements which enable one to grow in holiness…. Let Don show you with the way with his wisdom and insights." – Father Harry Byrne, O.P., Professor Emeritus, Aquinas Institute of Theology
"Studying Christology with Donald Goergen, OP almost two decades ago forever changed my understanding of Jesus of Nazareth, and continues to shape my prayer and preaching to this day. I am thrilled that Don's research and insight will now be available to a wider audience."
– Ann M. Garrido, Associate Professor of Homiletics, Aquinas Institute of Theology
"Don Goergen has spent his life meditating on the meaning of Jesus and his mission… His work, whether spoken or written, is always holistic: intellectually satisfying, strengthening the heart, socially and pastorally sensitive." – Vivian Boland OP, socius to the Master of the Order of Preachers
Christology: Understanding the Theology of Jesus
Meditation: A Christian's Practical Guide to Serenity
The Dominican Spiritual Tradition
Meister Eckhart: Unlocking a Mystic's Spiritual Wisdom
The Spirit of Life: A Catholic Retreat with the Holy Spirit
7 Days with Mother Teresa
Teilhard de Chardin's Cosmic Christology and Christian Cosmology
St. Thomas Aquinas: Master Theologian and Your Spiritual Guide
7 Days with Teilhard de Chardin: A Mystical Retreat
Thomas Merton Retreat: 7 Days with a Spiritual Master
7 Days with John Paul II
A Retreat with Four Spiritual Masters
Introduction to the Christian Contemplative Tradition
Bundle: Thomas Merton: A Spiritual Guide for the Twenty-First Century + A Retreat with Thomas Merton – 8 CDs Total
$185.90 $64.95 Read more
Video-Audio Bundle: Teilhard de Chardin's Cosmic Christology and Christian Cosmology + A Retreat with Teilhard de Chardin – 8 Discs Total
Audio Bundle: Thomas Merton's Great Sermons and Reflections + A Retreat with Thomas Merton – 5 CDs Total
Enter your email address for a free coupon, and to find out about future specials and promotions. You may unsubscribe at any time.
© 2021 Learn 25 | Privacy Policy | Terms & Conditions | MP3 Downloads | Customer Support
Now You Know Media is now Learn25
In an effort to provide our customers the best possible experience, we have created a new website for you at Learn25.com to browse our selection of over 400 audio and video courses by top professors.


At Nappytastic we believe that Baby Showers, Gender Reveal Party's, Children's Parties, Naming Ceremonies, Christenings are a memorable way to gather friends and relatives to celebrate a new life coming into your family.
We offer unique Baby Occasion Events , where you and your guests will enjoy a stylish event in the most beautiful of venues.
Your personal Nappytastic Event Planner will make your day truly memorable with a styled event that leaves your guests with memories to last for years.
We provide various packages to suit your needs and budget. These can include premium event planning services, including invitations, decoration styling, tableware, games, prizes, favours, hosting and lots more.
All you need to do is just simply sit back and enjoy the day!


text:
Reifling is a former municipality in the district of Murtal in Styria, Austria. Since the 2015 Styria municipal structural reform, it is part of the municipality Judenburg.

References

Cities and towns in Murtal District


Nothing can quite impair your vision like having them all of a sudden become cloudy due to cataracts. If you have recently been diagnosed with cataracts and are looking for a safe and effective way of getting rid of them, consider getting cataract surgery by Keamy Eye and Laser Centre. By removing your cataracts and replacing your lens with an artificial lens, your vision will essentially be restored and you will be able to enjoy your life once again. As one of the most crucial steps in ensuring that you get the results you deserve from cataract surgery, make sure you follow the recovery steps listed below.
You may think that as soon as you get your cataracts removed and your artificial lens placed in your eye that you are as good as new. However, your eyes still have to heal from the surgery and so your vision will not be perfect yet which means that although you may want to drive yourself home from surgery, you should wait to get behind the wheel for at least a day or two following your surgery.
Additionally, when you are sent home from Dr. Keamy Eye & Laser Centre, you will have some sort of bandages placed over your eyes. Even though you may want to remove the bandages for aesthetic purposes, it's important that you keep your eye(s) covered for at least 24 hours following surgery to help shield them from things like dirt and dust. If dirt and dust do come in contact with your eyes, they may scratch them and could even lead to infection.
While you're recovering from cataract surgery, try to see if a friend, family member, or neighbor can help you out with small things around the house like picking things up off the ground. As one of the most important things to avoid during recovery, bending over can place undue pressure on the eye socket. If you need to pick something up and nobody is around, remember that it can wait.
Undergoing cataract surgery will help restore your vision and allow you to see the world again from a whole new perspective. In order to ensure that you recover properly from this surgery, make sure that you use the tips listed above. To learn more about other recovery tips or to schedule an appointment for cataract surgery, contact the eye experts at Keamy Eye and Laser Centre today!


text:
Q: Unable to convert Java getBytes() to php I am attempting to convert the following Java code to PHP but I'm having issues with finding the equivalent of getBytes()
JAVA CODE
import java.math.BigInteger;

public class Test {
  public static void main(String[] ar){
     String a="4F23DE12";
     BigInteger b = new BigInteger(a.getBytes());
     System.out.println(b); //Result is 3766753334112104754
  }
}

The Java result is 3766753334112104754 but my attempt with PHP is not giving the same result.
PHP CODE
    use phpseclib3\Math\BigInteger;

    $a="4F23DE12";
    $b = new BigInteger($a);
    echo $b; //Result is 4

The PHP result is 4. The issue seems to be from getBytes() and I have tried String to byte array in php and php equivalent of java getBytes() but still no solution.
In debugging it, I also tried System.out.println("4F23DE12".getBytes()); in Java, the result was [B@6d06d69c but I haven't found an exact equivalent in PHP.
Please I will appreciate any help on how to use PHP to get the same Java result (3766753334112104754)

A: My question was solved by @ErwinBolwidt. Check the comments for more info.
With @ErwinBolwidt solution, the PHP equivalent of "4F23DE12".getBytes() is new BigInteger("4F23DE12", 256).
Both will give you 3766753334112104754

redpajama_set_name: RedPajamaStackExchange


It's not until page 227 of his new book Mandela's Way: Fifteen Lessons on Life, Love, and Courage in the final chapter "Mandela's Gift," that Richard Stengel reveals that Rolihlahla, an African name which means Tree Shaker, is Mandela's real first name. (Rolihlahla is now his middle name.) But, more importantly, we learn the 15 powerful principles and lessons which are relevant to his life and were honed during 27 years in a South African prison.
Born in 1918, Mandela learned ubuntu first hand. Logically, Barack Obama, even though born in 1961 (three years before Mandela began his prison term) and whose own father was born and raised in Kenya, would know the concept of ubuntu. In today's Washington DC, the closest thing we have to ubuntu would be Barack's work towards bipartisanship and, due to that being withheld, Barack, Nancy Pelosi and Harry Reid finally getting the Democrats together.
In Barack's Dreams from my Father, we learn of his first job in Chicago as a community organizer and facing volunteers who want to quit. Said one, "We've all been at this for two years and we have nothing to show for it." Barack answered, "You know I didn't come here 'cause I needed a job. I came here 'cause I was told that there were some people who were serious about doing something to change their neighborhoods. I don't care what's happened in the past. I know that I'm here, and committed to working with you. If there's a problem, then will fix it." They all decided to stay. Barack then set about building a sense of community, getting skeptics and adversaries to sit down with each other while inspiring everyone to work towards common goals. They worked together long and hard, in the spirit of ubuntu, and in the end all were successful. While Barack shared equally in the achievement, he personally gained attention from neighborhood leaders and the political establishment.
Stengel relates Mandela's leadership style and philosophy in Lesson 3, "Leading from the Front, meaning, "…being accountable…if he (a leader) makes a decision on his own, he will bear the consequences. If he is wrong…you know who to blame." Sometimes Mandela took those words in a literal sense as when he was about to enter prison, "He stepped to the front of the line…under the stares and taunts of the guards, in order to show the others how to react." Further, "…leading from the front also meant seizing the initiative." During the recent healthcare debate, it was in January, 2010, that headlines announced, "Obama seizes reins in daylong House-Senate healthcare meeting." The final healthcare push was on.
Barack's detractors would probably call that communism!
However, it's more apt to compare Barack's leadership style on healthcare to America's Founding Fathers working together on our nation's constitution. The Founding Fathers were equals coming from the soon-to-be states. All needed to be included. With healthcare, Barack understood the principle to include everyone, the Senate and House, Republican and Democrat, all were considered leaders with important constituents and concerns. They then tried to work together for the common good. If this makes Barack and the Founding Fathers communists, then Barack's critics don't understand America's exceptionalism!
"Mandela's Way" is about life and one's reaction to it. It demonstrates the need for us to understand our own motivations and the need for us to develop and articulate our own sense of Life, Love and Courage. The almost three years it took for Richard Stengel to chronicle Nelson Mandela's life's lessons and then condense it to enjoyable readable form, makes this book indispensable.
2010, Crown Publishers, 256 pages.