text:
Energy Fuels Completes Acquisition of Mesteña Uranium, Adding Third U.S. Production Center to Portfolio
Jun. 17, 2016 10:00AM PST
Energy Fuels Inc. (TSX:EFR,NYSEMKT:UUUU) announce that it has completed its previously announced acquisition of Mesteña Uranium, LLC.
As quoted in the press release:
Mesteña's primary asset is the Alta Mesa Project ("Alta Mesa"), a fully-licensed in situ recovery ("ISR") uranium production facility located in South Texas. Alta Mesa is currently on standby, but is capable of ramping-up to commercial production levels within approximately six months of a positive production decision by Energy Fuels, with only minimal capital requirements. At full capacity, Alta Mesa is capable of producing 1.5 million pounds of uranium per year. The Company expects to file a technical report outlining a maiden resource estimate at Alta Mesa within the next month. The technical report will be published in accordance with National Instrument 43-101 – Standards of Disclosure for Mineral Projects.
Energy Fuels President and CEO, Stephen P. Antony, stated:
With the completion of our acquisition of Mesteña, we believe that Energy Fuels is now the premier uranium producer in the U.S. Energy Fuels now has three uranium production facilities located in the U.S. and more licensed and operational processing capacity (11.5 million pounds of uranium per annum) than any other uranium producer in the U.S. It is important to note that the U.S. remains the largest consumer of uranium in the World today. Additionally, our acquisition of Mesteña is of particular importance in today's current uranium price environment, as we believe our 'all-in' costs of production at Alta Mesa will become one of the lowest in our current portfolio, along with our alternate feed material business and our Canyon mine. As uranium markets improve, Alta Mesa offers Energy Fuels production scalability that we can bring online sooner and at lower uranium prices. I offer my sincere gratitude to the former owners of Mesteña in helping us achieve this outcome, and welcome them as shareholders of Energy Fuels.
Connect with Energy Fuels Inc. (TSX:EFR,NYSEMKT:UUUU) to receive an Investor Presentation.
acquisition efr energy fuels energy fuels inc in situ recovery nysemkt:uuuu tsx:efr uranium producer Company News


text:
Toy Story 3 - PSP
Sony PSP	Xbox 360 PS3 DS Wii PC
In Toy Story 3 on the PSP, the toys are back in town and at last they've got a video game to equal the brilliance of the movies. You can relieve the story from the new film if you want, but there's much more to this game than the usual film tie-in. The best bit of this game is the exclusive Toy Box mode, where you can play as Woody, Buzz or Jessie in the role of Sheriff in a toyland town. This mode uses all the same characters from the films but gives you complete freedom to play with all of them however you want - from exciting car (or horse and dragon) races to catching ghosts.
People who liked this also liked...
◄ Prev 6 Next 6 ►
Tales of Eternia - PSP
Tales of Eternia is the classic PSOne RPG adapted to PSP, part of the mythic Tales of series. This opus offers a gigantic adventure mixing action and reflection, with dynamic real-time battle syste...
by Ubisoft
Mikeysgirl
Super Gamer Dude
Pixar has really made a name for themselves by making this appealing to the youth, but also will hold the attention of the parents and gamers alike. A lot the games in the past have been nothing short of fun. Toy Story 3 The Video game does do a good job at making the game a fun experience.
The controls can be a little awkward at times, but the amazing graphics and 3D environment were enough to keep me playing. In fact, there are a plethora of missions to beat and rewards which make it worth your while.
The storyline is not really spot on with the movie, it has little portions which kind of give you a preview of the movie. The story does come together by tying in all the events and will provide you with a laugh or two.
While it maybe a little disappointing that you don't really get to do everything in the movie you won't get bored because every stage is drastically different than the previous one. All the fun and lovable characters will do different task, such as Woody chasing down a train while riding on a horse. Then there is buzz with his shooting missions. Just when you get comfortable the game switches up on you which is fun.
The controls are bit of a problem at times; for instance you can hit a button for Woody to throw a lasso which doesn't always seem to work correctly. That or you will find yourself falling when your character doesn't correctly latch on to the edge of a platform. Even more aggravating is when you auto aim it will sometimes lock onto the wrong target.
The eight levels won't take you hours and hours to beat, but the "toy box" mode is really a lot of fun. You will be able to play as a different character and also be allowed to customize the town to your liking. There are also a lot of little mini games where you can control cars or horses.
So in turn you will go around and complete various task, prior to that you will earn money and be able to unlock new buildings, citizens and even tools. The buildings in particular are pretty fun, you can lock up criminals. Another fun things that I unlocked was three race track where you can set up your own obstacles.
[Sticky] unable to climb the spinning cylinder acachia 1 replies 11 years ago
Sony PSP Xbox 360 PS3 DS Wii PC

redpajama_set_name: RedPajamaCommonCrawl


text:
BIROn - Birkbeck Institutional Research Online
My Research (Login)
The War on Drugs and the global colour line
Koram, Kojo (2019) The War on Drugs and the global colour line. Pluto Press. ISBN 9780745338804.
Official URL: https://www.plutobooks.com/9780745338804/the-war-o...
Book synopsis: The War on Drugs has led to millions of people dead, displaced and incarcerated. Disproportionately enforced on oppressed races, international drug prohibition has reinforced the colour line across the globe. While laws prohibiting the production, sale and use of particular drugs are presented as politically neutral and objective, this collection reveals the racist impact of the war on drugs across multiple continents and in numerous situations. From racialised drugs policing at festivals in the UK to the necropolitical wars in Juarez, Mexico and from the exchange of drug policing programs between the United States and Israel to the management of black bodies in Brazil, this collection proves that the regulation of drugs and race is an international, and intentional, disaster. Pushing forward the debate and activism led by groups such as Black Lives Matter and calling for radical changes in drug policy legislation and prison reform, both nationally and internationally, this collection cuts deep and rings true for all people fighting racism today.
School of Law > Law
Kojo Koram
https://eprints.bbk.ac.uk/id/eprint/26741
1Download
Archive Staff Only (login required)
Edit/View Item
Statistics|
© Copyright Birkbeck, University of London


"Analysis of Automobile Advertisements in American Magazines" by Asnika Bajracharya, Lukwesa K. Morin et al.
The automobile is one of the most important products in American consumer culture. Throughout the history of the automobile industry in America, advertising has been an important strategy for marketing automobiles and their features to consumers on a mass scale. The purpose of this study was to evaluate how print (magazine) automobile advertisements have changed through time (1960-2013) and across different genres of magazines: general (National Geographic, New Yorker), male-oriented (Esquire), female-oriented (Cosmopolitan), and ethnic (Ebony). The trends that we examined included: numbers and proportions of car advertisements, relative numbers of domestic and foreign car advertisements, and the mix of automobile features. We found that the total number of car advertisements per magazine peaked in the late 1990s overall, with differences among the magazine genres. The number of advertisements for cars produced by American manufacturers peaked in the mid-1990s. The number of foreign car advertisements significantly increased after 1975, with Japanese cars leading this group. We discuss the trends in advertising parameters over time and across magazine genres in light of changes in buyer attitudes, including attitudes towards the environment.
Bajracharya, Asnika; Morin, Lukwesa K.; and Radovich, Kendall H., "Analysis of Automobile Advertisements in American Magazines" (2014). Student Publications. 225.


text:
Dee Dee Bridgewater: Fearless And Free
Jazz At Lincoln Center | By Nate Chinen
Published April 27, 2017 at 12:19 PM CDT
Dee Dee Bridgewater performs at Jazz At Lincoln Center.
When Dee Dee Bridgewater learned that she would become a 2017 NEA Jazz Master, a succession of thoughts and feelings flooded her mind. The news came as a total shock, as she tells it: "It was so far out of my orbit and just my whole sphere of thinking," she said in a conversation at NPR this spring, hours before she formally received her award.
She's 66 — far from retirement age in jazz, and on the extreme forward edge of the NEA Jazz Masters demographic. So she was aware of her relative youth in the field. She also recognized that there haven't been many women in the ranks of NEA Jazz Masters: fewer than 20, out of 145. That idea led her to reflect on her predecessors: legendary singers like Betty Carter, who was inducted back in 1992, and Abbey Lincoln, who received the nod in 2003.
Bridgewater sought inspiration and counsel from both Carter and Lincoln, as she recalls in this episode of Jazz Night, which features music recorded during the season opener for Jazz at Lincoln Center. On a program called "Songs of Freedom," organized by drummer Ulysses Owens, Jr., Bridgewater sang material associated with Lincoln as well as Nina Simone: furious anthems of the civil rights movement, like "Driva Man" and "Mississippi Goddam," both potent and relevant today.
A separate concert, "Songs We Love," found Bridgewater singing less politically charged (but still gripping) fare like "St. James Infirmary," which appears on her most recent album, Dee Dee's Feathers. She worked with a different group of musicians on that evening, but still leaned on younger talent — a reminder of the role that she herself has embraced, as a mentor in the music.
In words as well as music, this episode reveals how seriously Bridgewater takes that responsibility, seeing as how it connects to her own experience in the jazz lineage. But maybe "seriously" isn't the right word when it comes to Dee Dee, whose effervescence shines through even in a reflective mood. Join her here for a while; she's excellent company, no more or less so now that mastery is officially a part of her résumé.
Copyright 2021 WBGO and Jazz At Lincoln Center. To see more, visit WBGO and Jazz At Lincoln Center.
See stories by Nate Chinen


text:
I joined the Los Angeles Department of Transportation at a groundbreaking for the critical upgrades coming to the intersection of Paxton St. and Haddon Ave. in Pacoima. Funded by the "Northeast Valley Traffic and Mobility" earmark, which is a $3 million federal earmark aimed at providing safety upgrades to high transited areas, this project will enhance community safety here and at 8 other intersections in Council District 7.
At this particular intersection:
– The current pedestrian crossing beacon, which is outdated, will be replaced by a new hybrid/emergency beacon. The new hybrid/emergency beacon is superior because, after flashing yellow yield lights, it will signal traffic to a full stop with a red signal light. The current beacon lacks that capability.
– Additionally, this intersection will have new continental crosswalks (fresh paint) installed on both the north and south sides of Haddon Ave.
– Finally, per ADA compliance, four new curb ramps will be installed to help individuals who are visually impaired more easily navigate our streets.
These upgrades should be completed by April 2023. I am proud to have strongly advocated for these changes; the crossing serves as an important connection for Ritchie Valens Park, Telfair Elementary School, San Fernando High School, and for the community as a whole.
I look forward to providing additional updates.
From Councilwoman Monica Rodriguez Desk - CAC will Host its *FINAL* Meeting as part of its Community-Informed Re-Envisioning Process for Whiteman Airport
From Assemblymember Luz Rivas Desk - Earthquake, We Need to be Prepared
From Councilwoman Monica Rodriguez Desk – FREE Turf Replacement Design Service


Fuegodelcorazonbc steam shower units for less. kokss steam shower units. steam shower units uk. – General Contractors!
Fuegodelcorazonbc steam shower units for less. kokss steam shower units. steam shower units uk.
The Best Of Steam Shower Units Ariel Platinum DZ972F8W White Unit DZ972 Room. Vanity Steam Shower Units AmeriSteam P218 Unit Ameristeam ZA218 Whirlpool. Romantic Steam Shower Units Ariel 300 Blue Tinted Glass Room. Modern Steam Shower Units Ariel Platinum DZ961F8 Unit DZ961 Room Left Side. Fascinating Steam Shower Units Glass Enclosure For A Luxury Bathroom DZ959F8 L R. Vanity Steam Shower Units Ariel 300 Clear Frosted Glass Room. Beautiful Steam Shower Units EAGO Platinum DZ972F8 Enclosures Ariel. Tremendeous Steam Shower Units The Exciting Features Of Bath Decors. Tremendeous Steam Shower Units Modern By Artweger. Modern Steam Shower Units Ariel Platinum DZ967F8 Unit DZ967 Room. Elegant Steam Shower Units Gorgeous The Exciting Features Of. The Best Of Steam Shower Units 2 Bathroom Ideas Pinterest Showers. Eye Catching Steam Shower Units Venice Glass Cabinet White. Vanity Steam Shower Units Toronto Showers Perfect Bath Ontario Canada. Exquisite Steam Shower Units Brand New Ariel 308A Unit. Interior Design For Steam Shower Units Bath M A6027B Enclosures Unit. Mesmerizing Steam Shower Units Buy Walk In Corner Combo Showers. Enthralling Steam Shower Units Creative Of The Exciting Features. Lovely Steam Shower Units For Two Person Home Showers 2. Astounding Steam Shower Units Ariel Platinum DZ959F8 Unit DZ959 Room Left Side.
Previous Post: Fuegodelcorazonbc steam shower units lowes. steam shower units calgary. steam shower units toronto.
Next Post: Fuegodelcorazonbc steam shower units lowes. ebay steam shower units. steam shower units with tub.


text:
President's Day (officieel Washington's Birthday) is een feestdag in de Verenigde Staten ter ere van presidenten Washington, Lincoln en alle andere presidenten van de Verenigde Staten.

De feestdag, die nu op de derde maandag van februari valt, was oorspronkelijk bedoeld om de verjaardag van de eerste president, George Washington op 22 februari, te vieren. Vanaf 1885 was het een vrije dag voor alle medewerkers van de federale overheid. Voor die tijd werden er echter ook al festiviteiten georganiseerd rond de verjaardag van Washington. Na de Amerikaanse Burgeroorlog werd ook de verjaardag van Abraham Lincoln geëerd, op 12 februari. Vanaf 1971 worden beide dagen op één dag, President's Day, gevierd. Deze feestdag geldt overigens in principe alleen voor federale instellingen, hoewel alle staten zelf ook de dag vieren, zij het onder diverse namen als Washington's Birthday, Washington and Lincoln Day en George Washington Day.

Op President's Day wordt vaak Washingtons Farewell Address publiekelijk voorgedragen. Ook zijn er andere festiviteiten die Washington en Lincoln in het bijzonder en alle presidenten in het algemeen eren.

De Amerikaanse beurzen houden op deze dag de deuren gesloten. Er vindt geen handel plaats op Wall Street.

Noten

Amerikaanse feestdag
Februari

redpajama_set_name: RedPajamaWikipedia


text:
NASCAR® Racing
EXPANDING BK RACING BANKS ON INDEPENDENCE
Expanding BK Racing banks on independence | NASCAR.com
May 20, 2014, Holly Cain, NASCAR.com
Race team grew to three cars with addition of Cole Whitt
RELATED: Play NASCAR Fantasy Live | Sign up for RaceView today
In winning the Sprint Fan Vote for Saturday night's Sprint All-Star Race over the likes of mega-stars from mega-teams, driver Josh Wise scored the ultimate in jaw-dropping underdog triumphs.
It was a bold statement of what is possible even for NASCAR's smaller teams when the universe aligns just so.
As another small team, BK Racing, is finding out there's a viable and important place in the sport even for lower-wattage teams on the upswing. What the newly expanded three-car BK operation lacks in assets and profile, it makes up for in ambition and potential.
"Hendrick Motorsports wasn't Hendrick Motorsports when it first started," BK Racing owner Ron Devine said. "It seems to me there's a lot of teams and people who want to be in the top and I'd like to think we're making a difference, too. There will be a day when BK Racing will be an important part of the sport. We're just getting through our development curve and learning curve."
FULL SERIES COVERAGE
• Latest news
• Standings
• Schedule
And that's exactly what attracted car owner Anthony Marlowe to the team last month when searching for a home for the No. 26 Toyota and driverCole Whitt when Swan Racing decided to sell off its assets.
"I hadn't had enough NASCAR yet," said Marlowe, who had just bought ownership interest in Swan at the start of the year and was determined to stay in the sport.
Marlowe and Devine had a previous business relationship outside NASCAR in addition to seeing one another in the garage last season. So bringing the 26-car to BK Racing made sense on many levels -- even if it also created challenges.
"It was really a no-brainer to acquire a little more of the (Swan Racing) assets and we were fortunate to have a partner take the car racing," Marlowe said.
"We've only run three races under the BK umbrella and I've never felt more at home in the sport. Cole's continuing to perform and now we've gotten ourselves a sponsor (Speed Stick GEAR), too."
That's not to say the transition has been seamless.
Devine, a longtime Burger King multi-franchise owner, fully concedes the biggest immediate challenge will be the "parts and pieces" inventory. He bought the Red Bull Racing team three years ago -- shop, transporters, cars and all. In the last three weeks, the 26-team has moved into the BK shop and Devine was proud to be able to keep most of that crew employed.
"The cost to put a third team on is not like starting up a whole new team," Devine explained. "Hopefully, it actually helps our buying power.
"We understand the challenges in front of us. If three guys start wrecking cars every week, can the shop keep up with it?"
And he joked about making three teams prosper in a shop built for two.
"You've gotta play the hand you're dealt and that's meant extending shifts," Devine said, adding with a laugh. "We've got two surface plates so we do paper-rock-scissors to see who has to wait."
And the challenges extend from the garage to the track. Whitt, 22, a well-respected rookie in the garage, is teamed with two other first-year drivers in 21-year old Alex Bowman and 22-year old Ryan Truex. Whitt's 18th-place finish in March at Fontana is the best finish of the threesome this year.
"We tried to go veteran route thinking it was safer, but good grief, I've been messing around in NASCAR since the 1960s ... And I don't remember wrecking as much stuff in my life as we wrecked last year," Devine said, with a slight chuckle. "I started thinking, the veteran idea didn't work out so well.
"So if you think of the talent in this sport, and so many of them are tied up already with this sponsor or that. I said, let's just skip a generation and find the new talent coming through and develop a relationship with them and turn them into something."
"They're all talented, to me, you have to look at someone with good car control and if you look at our guys, all three of them have that."
"I know it's risky and you look at it from the headlines and see 'new team with three rookie drivers' and you take the square root of that and multiply it by Tuesday and you come up with a formula for disaster.
"But I don't see it that way. I think these guys are going to be a little more cautious in their approach, not wild and crazy. They don't have delusions they are going to run up through the pack (right now). They are stable. To me they are older than their years."
And Devine thinks the fresh face-open potential combination also makes Whitt, Bowman and Truex an attractive sponsorship option. The Speed Stick GEAR sponsorship was just announced Tuesday and will be a primary sponsor on six races for Whitt and associate on the remaining. Dr. Pepper and Burger King have been prominent all season on the Bowman and Truex cars.
"From a sponsor side, the slate's clean," Devine said. "There's something nice about that. The unexpected and unknown isn't as bad in a lot of ways as that veteran who has already worked himself into a certain pattern with the sport. I've explained to all our sponsors what we're doing. And it puts more pressure on the company to over-deliver, but if you talk to them, they'd say they are getting a great bang for their buck.
"That's what we bring to the party. We can price ourselves at a level where their media coverage and involvement in the sport is still a great return on their marketing dollar. We have a leg up on that."
Both Marlowe and Devine fully concede there would be easier, faster, more direct ways to make their mark at the Cup level. The team not only fields three rookie drivers, but builds their own Toyota engines and chassis in-house too.
The past three years have really been huge building blocks -- essentially preparing three new cars with the Gen-6 debuting last year and requiring modifications this year. But Devine is adamant to go about things authentically. He said he already sees improvements in the wind tunnel data and now has a team fully dedicated to on-track testing as well.
Listening to Devine and Marlowe speak about their team, it's obvious this endeavor is a deep passion not just a big business. And most importantly, it's about doing things their way, forging their own course and the reward that path-less-travelled-by could deliver. In due time.
"I don't know if everyone realizes just how difficult it is to put the whole thing together," Devine said. "This is big, big business with a lot of moving parts and the whole field is only a half second apart. ... I respect our competition, believe me, but I'm not afraid of them. And there's a big difference.
"There's no need to fear them. They are doing the same thing we're doing, they're just more experienced at it and have a lot more resources they've built already.
"That's why you see me with my independence. I want to be independent so that we can develop our own competitive edge and that's actually very hard. I explained that to Anthony when he came in. We could probably move further into the pack by becoming one of those 'alignment teams.' There are elephants and mice and we're one of the mice. There are five elephants that feed the industry.
"There's no question our technology would move forward, our motor program would move forward, but at the same time, our independence would shrink. And we're very independent, for better or for worse. And I hope one day that pays off for us."
[sigpic]2007[/sigpic]
sprint cup wins
Jr wins in 2015
Carl wins in 2015
Check out one of best Carl Edwards groups on Facebook the offical carl edwards fan Page group
Log into Facebook | Facebook | Facebook
sprint9988 May 21, 2014


text:
window.PolyAuth = {};

(function(scope) {

	'use strict';

	const POLYAUTH_ORIGIN = 'polyauth.herokuapp.com';
	const POLYAUTH_ORIGIN_URI = `https://${POLYAUTH_ORIGIN}`;
	const POLYAUTH_API_VERSION = 'v1';
	const KEYS =
		[	'oauth2.google-plus',
			'oauth2.facebook',
			'oauth2.vk',
			'oauth2.ok' ];

	scope.api =
		function(token, v) {
			v = v || POLYAUTH_API_VERSION;
			return {
				user:
					(id) => id ?
						({
							get: (options) => makeUserGetRequest(token, v, id, options),
							remove: () => makeUserRemoveRequest(token, v, id),
							reset: () => makeUserResetRequest(token, v, id),
							auth: (authId) => authId ?
								({
									remove: () => makeUserAuthRemoveRequest(token, v, id, authId)
								}) :
								({
									list: () => makeUserAuthListRequest(token, v, id)
								})
						}) :
						({
							list: (options) => makeUserListRequest(token, v, options)
						}),
				profile:
					(id) =>
						({
							get: () => makeProfileGetRequest(token, v, id),
							update: (options) => makeProfileUpdateRequest(token, v, id, options)
						}),
				realm:
					(id) => id ?
						({
							get: (options) => makeRealmGetRequest(token, v, id, options),
							update: (options) => makeRealmUpdateRequest(token, v, id, options),
							remove: () => makeRealmRemoveRequest(token, v, id),
							reset: () => makeRealmResetRequest(token, v, id),
							auth: (key) => ({
								accessToken: (options) => makeAuthTokenRequest(v, id, key, options),
								standaloneToken: (options) => makeAuthStandaloneTokenRequest(v, id, key, options),
								standaloneProfile: (options) => makeAuthStandaloneProfileRequest(v, id, key, options)
							})
						}) :
						({
							list: (options) => makeRealmListRequest(token, v, options),
							create: (options) => makeRealmCreateRequest(token, v, options)
						})
			};
		};

	{
		let signAcc = {};

		scope.authCodeURI =
			function(realmId, options) {
				if (!realmId || !options || !options.key || !options.redirectURI) { throw new TypeError('badarg'); }

				options = options || {};
				let v = options.apiv || POLYAUTH_API_VERSION;
				let op = options.op || 'm/token';
				let ns = op[0];
				let state = ('state' in options) ? options.state : makeState();

				let opt = {};
				if (state) {
					storeState({value: state, op: op});
					opt.state = state;
				}

				switch (ns) {

					case 'm':
						return makeAuthCodeURI(v, realmId, options.key, options.redirectURI, opt);

					case 's':
						opt.scope = options.scope;
						return makeAuthStandaloneCodeURI(v, realmId, options.key, options.redirectURI, opt);

					default:
						throw new TypeError('bad_ns');

				}
			};

		scope.signIn =
			function(realmId, options) {
				if (!realmId) { throw new TypeError('badarg'); }

				options = options || {};
				let v = options.apiv || POLYAUTH_API_VERSION;
				let sign = signAcc[realmId];
				return sign ? sign : signAcc[realmId] = authenticate(v, realmId, options);
			};

		scope.signOut =
			function(realmId) {
				if (!realmId) { throw new TypeError('badarg'); }

				delete signAcc[realmId];
				return removeSign(realmId);
			};
	}

	scope.fetch = fetchJSON;

	scope.Key = {
		all: () => KEYS,
		key: key,
		parse: parseKey
	};

	scope.State = {
		make: makeState,
		take: takeState
	};

	scope.QS = {
		parse: parseQS
	};

	scope.Hex = {
		make: makeHex
	};

	scope.Response = {
		success: respSuccess,
		json: respJSON,
		text: respText
	};

	function makeUserListRequest(token, v, options) {
		if (!v || !options.qRealmId || !token) { throw new TypeError('badarg'); }
		options = options || {};

		let params = {};
		if (options.qRealmId) { params.q = `realm_id:${options.qRealmId}`; }
		if (options.fields) { params.fl = options.fields.join(','); }
		if (options.start) { params.start = options.start; }
		if (options.rows) { params.rows = options.rows; }

		let uri = makeURI(`${POLYAUTH_ORIGIN_URI}/api/${v}/users`, params);
		let opt = {
			method: 'GET',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeUserGetRequest(token, v, id, options) {
		if (!v || !id) { throw new TypeError('badarg'); }
		options = options || {};

		let params = {};
		if (options.fields) { params.fl = options.fields.join(','); }

		let uri = makeURI(`${POLYAUTH_ORIGIN_URI}/api/${v}/users/${id}`, params);
		let opt = {
			method: 'GET',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeUserRemoveRequest(token, v, id) {
		if (!v || !id || !token) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/users/${id}`;
		let opt = {
			method: 'DELETE',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeUserResetRequest(token, v, id) {
		if (!v || !id || !token) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/users/${id}/reset`;
		let opt = {
			method: 'POST',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeUserAuthListRequest(token, v, id) {
		if (!v || !id || !token) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/users/${id}/auth`;
		let opt = {
			method: 'GET',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeUserAuthRemoveRequest(token, v, id, authId) {
		if (!v || !id || !authId || !token) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/users/${id}/auth/${authId}`;
		let opt = {
			method: 'DELETE',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeProfileGetRequest(token, v, id) {
		if (!v || !id) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/profiles/${id}`;
		let opt = {
			method: 'GET',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeProfileUpdateRequest(token, v, id, options) {
		if (!v || !id || !options || !options.data || !token) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/profiles/${id}`;
		let opt = {
			method: 'PUT',
			headers: addAuthrorizationHeader(token, {'Content-Type': 'application/json'}),
			body: JSON.stringify(options.data)
		};
		return new Request(uri, opt);
	}

	function makeRealmListRequest(token, v, options) {
		if (!v || !token) { throw new TypeError('badarg'); }
		options = options || {};

		let params = {};
		if (options.start) { params.start = options.start; }
		if (options.rows) { params.rows = options.rows; }
		if (options.fields) { params.fl = options.fields.join(','); }

		let uri = makeURI(`${POLYAUTH_ORIGIN_URI}/api/${v}/realms`, params);
		let opt = {
			method: 'GET',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeRealmCreateRequest(token, v, options) {
		if (!v || !options || !options.data || !token) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/realms`;
		let opt = {
			method: 'POST',
			headers: addAuthrorizationHeader(token, {'Content-Type': 'application/json'}),
			body: JSON.stringify(options.data)
		};
		return new Request(uri, opt);
	}

	function makeRealmGetRequest(token, v, id, options) {
		if (!v || !id) { throw new TypeError('badarg'); }

		let params = {};
		if (options.fields) { params.fl = options.fields.join(','); }

		let uri = makeURI(`${POLYAUTH_ORIGIN_URI}/api/${v}/realms/${id}`, params);
		let opt = {
			method: 'GET',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeRealmUpdateRequest(token, v, id, options) {
		if (!v || !id || !options || !options.data || !token) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/realms/${id}`;
		let opt = {
			method: 'PUT',
			headers: addAuthrorizationHeader(token, {'Content-Type': 'application/json'}),
			body: JSON.stringify(options.data)
		};
		return new Request(uri, opt);
	}

	function makeRealmRemoveRequest(token, v, id) {
		if (!v || !id || !token) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/realms/${id}`;
		let opt = {
			method: 'DELETE',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeRealmResetRequest(token, v, id) {
		if (!v || !id || !token) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/realms/${id}/reset`;
		let opt = {
			method: 'POST',
			headers: addAuthrorizationHeader(token)
		};
		return new Request(uri, opt);
	}

	function makeAuthTokenRequest(v, realmId, key, {code}) {
		if (!v || !realmId || !key || !code) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/realms/${realmId}/auth/${key}/m/token`;
		let opt = {
			method: 'POST',
			headers: {'Content-Type': 'application/json'},
			body: JSON.stringify({code: code})
		};
		return new Request(uri, opt);
	}

	function makeAuthLinkRequest(token, v, realmId, key, {code}) {
		if (!v || !realmId || !key || !code || !token) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/realms/${realmId}/auth/${key}/m/link`;
		let opt = {
			method: 'POST',
			headers: addAuthrorizationHeader(token, {'Content-Type': 'application/json'}),
			body: JSON.stringify({code: code})
		};
		return new Request(uri, opt);
	}

	function makeAuthStandaloneProfileRequest(v, realmId, key, {code}) {
		if (!v || !realmId || !key || !code) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/realms/${realmId}/auth/${key}/s/profile`;
		let opt = {
			method: 'POST',
			headers: {'Content-Type': 'application/json'},
			body: JSON.stringify({code: code})
		};
		return new Request(uri, opt);
	}

	function makeAuthStandaloneTokenRequest(v, realmId, key, {code, secret}) {
		if (!v || !realmId || !key || !code || !secret) { throw new TypeError('badarg'); }

		let uri = `${POLYAUTH_ORIGIN_URI}/api/${v}/realms/${realmId}/auth/${key}/s/token`;
		let opt = {
			method: 'POST',
			headers: {'Content-Type': 'application/json'},
			body: JSON.stringify({code: code, client_secret: secret})
		};
		return new Request(uri, opt);
	}

	function makeAuthCodeURI(v, realmId, key, redirectURI, options) {
		if (!v || !realmId || !key || !redirectURI) { throw new TypeError('badarg'); }

		let params = {};
		params.redirect_uri = redirectURI;
		if (options.state) { params.state = options.state; }

		return makeURI(`${POLYAUTH_ORIGIN_URI}/api/${v}/realms/${realmId}/auth/${key}/m/code`, params);
	}

	function makeAuthStandaloneCodeURI(v, realmId, key, redirectURI, options) {
		if (!v || !realmId || !key || !redirectURI) { throw new TypeError('badarg'); }

		let params = {};
		params.redirect_uri = redirectURI;
		if (options.state) { params.state = options.state; }
		if (options.scope) { params.scope = options.scope; }

		return makeURI(`${POLYAUTH_ORIGIN_URI}/api/${v}/realms/${realmId}/auth/${key}/s/code`, params);
	}

	function makeURI(base, params) {
		let q = qs(params);
		return (q ? base + '?' + q : base);
	}

	function qs(params) {
		let fn = (key) => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`;
		return Object.keys(params).map(fn).join('&');
	}

	function parseQS() {
		return window.location.search.substr(1).split('&').reduce(function(acc, el) {
			let [key, val] = el.split('=').map(decodeURIComponent);
			acc[key] = val ? val : true;
			return acc;
		}, {});
	}

	function key(val) {
		switch (val.prot) {

			case 'oauth2':
				if (!val.prov) { throw new TypeError('badarg'); }
				return (val.prot + '.' + val.prov);

			default:
				throw new TypeError('bad_key');

		}
	}

	function parseKey(key) {
		var p = key.split('.');
		switch (p[0]) {

			case 'oauth2':
				return {
					prot: p[0],
					prov: p[1]
				};

			default:
				throw new TypeError('bad_key');

		}
	}

	function flushQS() {
		window.location.href = window.location.origin + window.location.pathname;
	}

	function fetchJSON(req) {
		return fetch(req)
			.then(respSuccess)
			.then(respJSON);
	}

	function respSuccess(resp) {
		return new Promise(function(resolve, reject) {
			if (resp.status && (resp.status < 200 || resp.status >= 300)) {
				reject({status: resp.status});
			}
			else if (resp.ok === false) {
				reject({network: 'bad'});
			}
			else {
				resolve(resp);
			}
		});
	}

	function respText(resp) {
		return resp.text();
	}

	function respJSON(resp) {
		return resp.json();
	}

	function addAuthrorizationHeader(token, headers) {
		headers = headers || {};
		if (token) {
			headers.authorization = `Bearer ${token}`;
			return headers;
		}

		return headers;
	}

	function authenticate(v, realmId, options) {
		return new Promise(function(resolve, reject) {

			options = options || {};
			let redirect = (options.redirect === false) ? false : true;
			let verifyState = (options.verifyState === false) ? false : true;
			let sign = loadSign(realmId);
			let data = options.data || parseQS();
			let op = options.op || 'm/token';
			let opInitialized = options.op ? true : false;

			let done = (s, err) => s ? resolve(s) : reject(err);
			let maybeRedirect =
				function(res) {
					if (redirect) {
						flushQS();
					}
					return resolve(res);
				};

			let {error, key, code, state} = data;
			if (!key && !code) {
				return done(sign, {accessToken: 'required'});
			}

			if (verifyState) {
				if (!state) {
					return done(sign, {state: 'required'});
				}

				var storedState = takeState(state);
				if (!storedState) {
					return done(sign, {state: 'bad'});
				}

				if (!opInitialized) {
					op = storedState.op;
				}
			}

			if (error) {
				return reject({error: error});
			}

			let reqOptions = {code: code};
			switch (op) {

				case 'm/token':
					return fetchJSON(makeAuthTokenRequest(v, realmId, key, reqOptions))
						.then(function({access_token}) {
							var sign = {accessToken: access_token};
							return resolve(storeSign(realmId, sign));
						})
						.then(maybeRedirect);

				case 'm/link':
					return (!sign || !sign.accessToken) ?
						reject({accessToken: 'required'}) :
						fetchJSON(makeAuthLinkRequest(sign.accessToken, v, realmId, key, reqOptions))
							.then(function() {
								return resolve(sign);
							})
							.then(maybeRedirect);

				default:
					return reject({op: 'bad'});

			}

		});
	}

	function loadSign(realmId) {
		let key = `polyauth-sign.${realmId}`;
		let val = localStorage.getItem(key);
		return val ? JSON.parse(val) : null;
	}

	function storeSign(realmId, val) {
		let key = `polyauth-sign.${realmId}`;
		localStorage.setItem(key, JSON.stringify(val));
		return val;
	}

	function removeSign(realmId) {
		let key = `polyauth-sign.${realmId}`;
		localStorage.removeItem(key);
		return null;
	}

	function loadStateArray() {
		let key = 'polyauth-state';
		let arr = sessionStorage.getItem(key);
		return arr ? JSON.parse(arr) : [];
	}

	function storeStateArray(arr) {
		let key = 'polyauth-state';
		sessionStorage.setItem(key, JSON.stringify(arr));
		return arr;
	}

	function takeState(val) {
		let arr = loadStateArray();
		if (!arr.length) {
			return null;
		}

		let {res, rest} =
			arr.reduceRight(function(acc, state) {
				switch (state.value) {
					case val:
						acc.res = state;
						break;
					default:
						acc.rest.push(state);
				}

				return acc;
			}, {res: null, rest: []});

		storeStateArray(rest);
		return res;
	}

	function storeState(state) {
		let arr = loadStateArray();
		arr.push(state);
		storeStateArray(arr);
		return state;
	}

	function makeState() {
		return makeHex(64);
	}

	function arrToHex(arr) {
		let acc = '';
		for(let i = 0; i < arr.length; ++i) {
			acc = acc + numToHex(arr[i]);
		}

		return acc;
	}

	function numToHex(num) {
		let hex = num.toString(16);
		return hex.length === 2 ? hex : '0' + hex;
	}

	function makeHex(len) {
		return arrToHex(makeRandomArray(len));
	}

	function makeRandomArray(len) {
		let crypto = window.crypto || window.msCrypto;
		if (crypto) {
			let arr = new Uint8Array(len);
			crypto.getRandomValues(arr);
			return arr;
		}

		return Array.apply(null, new Array(len)).map(() => Math.floor(Math.random() * 256));
	}

})(window.PolyAuth);

redpajama_set_name: RedPajamaGithub


Mark B. Slaughter, chief executive officer and president, commented, "The RigNet team executed well in the quarter, including winning new sites and new customers, but reduced customer spending impacted our existing business as offshore rigs were stacked and scrapped. We further adjusted our cost structure in the quarter to align with market activity levels while maintaining customer service levels and long-term investments important for when market conditions improve. Our efforts continue to strengthen our capabilities, defend and expand our market presence and overall emerge as a better company. Moreover, with our strong financial position, we are well-positioned to execute against our long-term growth plans, both organically and inorganically, under the current market conditions."
A conference call for investors will be held at 3:00 p.m. Eastern Time (2:00 p.m. Central Time) on Tuesday, November 10, 2015, to discuss RigNet's 2015 third quarter results. The call may be accessed live over the telephone by dialing +1 (877) 845-0777, or, for international callers, +1 (760) 298-5090. Interested parties may also listen to a simultaneous webcast of the conference call by logging onto RigNet's website at www.rig.net in the Investors — Webcasts and Presentations section. A replay of the conference call webcast will also be available on our website for approximately thirty days following the call.
This press release contains the following non-GAAP measures: Gross Profit (excluding depreciation and amortization), Adjusted EBITDA, Unlevered Free Cash Flow, Cash Earnings and Cash EPS. Gross Profit (excluding depreciation and amortization), Adjusted EBITDA, Unlevered Free Cash Flow, Cash Earnings and Cash EPS are financial measures that are not calculated in accordance with generally accepted accounting principles, or GAAP. We refer you to the Company's most recent 10-K and 10-Q filings for the year ended December 31, 2014 and the three and nine months ended September 30, 2015, respectively, for a more detailed discussion of the uses and limitations of our non-GAAP financial measures.


Every time I hear the word parenting, I feel like it is a psychology buzz word. In the five years of being separated and now DIVORCED, it has been challenging to parent while living separately. However, I have learned that in order to maintain my sanity, I have to function with what works for me, POINT BLANK! I also realized my kids can morph into master MANIPULATORS! for their personal gain. They try to play both sides until someone says NO! All I can say is PUMP THE BRAKES! on this behavior and set some ground rules.
It is so important to me and it actually feels good to say NO to my kids. I have witnessed on multiple occasions how my kids have a false sense of entitlement. I know I am guilty of not setting limitations for them on so many levels. As a single parent, I find myself having very honest conversations with my kids on the reality of our new life. I feel it is important for them to understand my perspective on planning for our future even if they may not agree with my decisions. Now with that said I will say my teen has been the biggest opponent of most of my decisions in the past five years. Honestly, I feel no guilt because I realize he has a lot more maturing to do before he can fully understand this journey. On this journey, you will find that there will be a lot of agreeing to disagree moments and this is OK. Again this journey is about our physical and mental well-being as well for our children. I have found that while parents may share the same expectations for their children, it can be difficult to instill the same boundaries and limitations. My single parenting is a daily journey as I see the good, the bad and the ugly of having to diffuse every feeling and emotion that is warranted and unwarranted with my children. I wish it was as simple as sending my children to a time out chair but this is not reality.
There are days when I feel cheated because I get to experience the defiant side of my children on a daily basis. While the other parent gets to reap the benefits of bringing the fun. This can be a hard pill to swallow and I often wonder what is the true payoff. Coparenting looks different for everyone so I would encourage those who have it nailed- to stick with your game plan. I know for me it comes down to making the best decisions that impact our well-being and puts my children on the right track for the future.
We are five years in and the biggest win is for me to resolve to focus on what provides a win-win in our new home. After we close the door I need to open my parenting 101 book and hope for the best.


text:
Q: C++ ambiguous overload for 'operator ' I'v read several posts here about this kind of errors, but I wasn't able to solve this one...
Has soon I define the operator int and the function f, fails to compile.
I tested several things by I wasn't able to solve the issue....
Thanks
ex1.cpp: In function 'int main(int, char**)':
ex1.cpp:35:13: error: ambiguous overload for 'operator+' in 'a + 4'
ex1.cpp:35:13: note: candidates are:
ex1.cpp:35:13: note: operator+(int, int) <built-in>
In file included from ex1.cpp:3:0:
Fraccao.h:41:9: note: Fraccao operator+(const Fraccao&, const Fraccao&)
ex1.cpp:38:13: error: ambiguous overload for 'operator+' in '4 + a'
ex1.cpp:38:13: note: candidates are:
ex1.cpp:38:13: note: operator+(int, int) <built-in>
In file included from ex1.cpp:3:0:
Fraccao.h:41:9: note: Fraccao operator+(const Fraccao&, const Fraccao&)

The class:
class Fraccao {
    int numerador;
    int denominador;

public:
    Fraccao(int num = 0, int deno = 1) : numerador(num), denominador(deno) {}

    Fraccao & operator+=(const Fraccao &fra);

    Fraccao & operator*=(const Fraccao &fra);

    operator int() const;

    const Fraccao & operator++();
    const Fraccao operator++(int);

    string getAsString() const;
};

Fraccao operator +(const Fraccao &a, const Fraccao &b);
ostream & operator<<(ostream & saida, const Fraccao & fra);

And on my main:
void func(int n) {
    cout << n; //
}

int main(int argc, char** argv) {
    //...
    d = a + b;
    const Fraccao h(7, 3);
    func(h);

    return 0;
}

A: The compiler sees two ways to interpret a + 4. It can convert the 4 to an object of type Fraccao and use operator+(const Fraccao&, const Fraccao&) or it can convert a to type int with the member conversion operator, and add 4 to the result. The rules for overloading make this ambiguous, and that's what the compiler is complaining about. In general, as @gx_ said in a comment, this problem comes up because there are conversions in both directions. If you mark the operator int() with explicit (C++11) the code will be okay.

A: You don't seem to have posted the code that actually causes the error. I guess it looks something like
Fraccao a;
Fraccao b = a + 4;
Fraccao c = 4 + a;

The problem is that your class allows implicit conversions both to and from int; so a + 4 could be either
int(a) + 4

or
a + Fraccao(4)

with no reason to choose one over the other. To resolve the ambiguity, you could either:

*

*make the conversion explicit, as above; or

*declare either the constructor or the conversion operator (or even both) explicit so that only one (or even neither) conversion can be done implicitly.

A: You have several options to fix your problem:

*

*Forbid implicit conversion from int to Fraccao: Make the constructor explicit.

*Forbid implicit conversion from Fraccao to int: Make the conversion operator explicit.

*Convert manually on the callers side, given Fraccao f; int i; either int(f)+i or f+Fraccao(i).

*Provide additional overloads to resolve the ambiguity:

Fraccao operator +(const Fraccao &a, const Fraccao &b);
Fraccao operator +(const int a, const Fraccao &b);
Fraccao operator +(const Fraccao &a, const int b);

The latter probably means you also want:
Fraccao & operator+=(const Fraccao &fra);
Fraccao & operator+=(const int i);

And finally, if you want the latter, you can use libraries like Boost.Operators or my df.operators to support you and avoid writing the same forwarders over and over again.

redpajama_set_name: RedPajamaStackExchange


text:
VW inadvertently offers a peek at the interior of its ID.3 EV
Image credit: Lime
Lime launches its first car-sharing service in Seattle
You can pay for it like you would an electric scooter.
11.13.18 in Transportation
It's true: after a long time focusing on scooters, Lime is ready to delve into four-wheeled transportation. The startup is launching a car-sharing service, LimePod, that will be available in Seattle as of this week. As with scooters, it'll cost just $1 to unlock a car that you can park wherever you need it -- the difference is that you'll pay 40 cents per minute (insurance included) instead of 15 cents per minute. Only 50 of the Fiat 500 cars will be available on launch, but there should be 500 by the end of 2018 and 1,500 by early 2019. That would make the largest park-anywhere offering in the US, Bloomberg said.
The company has plenty of competition, such as Daimler's Car2Go and BMW's ReachNow. However, this is really part of a larger strategy rather than an attempt to knock down the incumbents. In a sense, Lime's strategy is similar to that for Uber and Lyft -- it wants to be a general-purpose mobility company that offers the vehicle you need, whether it's a scooter for a quick errand or a car for a lengthy shopping trip. If the Seattle service works well, it could become a staple in cities where Lime operates.
For Lime, the challenge is juggling this with its mainstay scooter business. It already has to deal with multiple recalls and hesitant cities. Car-sharing may only help if Lime's regular offerings are strong, and that's far from guaranteed. Lime's popularity in the scooter world can only translate so well to cars, too. While it'll have name recognition, it'll have to show that it can adapt to a significantly different field and compete with the best options.
Via: The Verge
In this article: carsharing, fiat500, gear, internet, lime, limepod, seattle, services, transportation
1m ago in
By C. Fisher, 1m ago


text:
White Heroes Live Forever
Dear Hollywood, White Men Aren't The Superheroes
So, stop fucking around
Heroes come in different forms. I constantly see the superhuman strengths exhibited without the aid of a cape or over-paid publicists rallying around their over-bloated clients — who think nothing about accepting roles that should be assigned to the proper ethnic talent.
Christian Bale is cast as an Egyptian hero because he is a White superstar and we should be grateful that he is willing to drop a few steps down by tolerating the features of a character he could never adequately resemble.
Gods of Egypt tanked at the box-office and the clueless director blamed the misfortune on the bad press it received after it was established that White actors had been hired to embody the key roles that should've been distributed to actors of Egyptian descent.
The superhero genre has soared to heights unimaginable and that can be attributed to the fact that the nation is being tossed about with no compass — and studio heads are in overdrive as they strategize how to best take advantage of these times of struggle and disillusionment.
Captain America is a White male who is transformed into a fighting machine. Iron Man is a White guy who has the means to build a body armor that can wreck havoc. Yes, I know he is now a she with dark skin but that doesn't remove who he was before "diversity" became a thing.
Spider is a White man who became a dope agent by accident. Batman underwent various incarnations but never once did those changes produce a man of color.
Tarzan, is the latest Superhero to swing through the jungle — in the quest for justice and the appeal of a sexy, blond specimen with a body to boot — who is hell bent on rescuing the indigenous people from the fate of their existence.
But, wait! There is now another White male who has been drafted for the sole purpose of proving once and for all — that it takes the depositing of his kind into a forest of unknowns — to save mankind.
Matt Damon — who I don't like for reasons that are explained here — is once again doing a flawless job of being an ignorant asshole with no fucks to give as it pertains to being politically correct in his judgement. It's not like he needs the money or extra ammunition to uplift his status. He's Jason Bourne for Christ's sake.
As he relaxes with the imminent success of his latest installment — his fans are now being treated to his upcoming fodder — The Great Wall.
The trailer showcases Damon as the typical White male Superhero who has been chosen for a spiritual journey into the depths of battle between good and evil. It is up to him to secure the freedom that no native could possibly inspire or manifest.
You need a hero? Look no further than Constance Wu.
I first peeped this gem when my job at ABC Digital forced me to watch almost every show on the alphabet network. Fresh Off The Boat wooed me from the beginning and she was a big part of why I was hooked.
Her energy and effortless ease isn't a ploy. She is the real deal. Her show is way better than Black-ish. Yes, I said it. Being black doesn't mean I can't be honest. She is all out of reasons to be anything but authentic.
Her innate reaction to a film that not only poorly presents the historical significance of the alighted themes but also relies on the "White Savior Complex" — is both stellar and motivational.
Wu is adamant in her mission to call out Hollywood for consistently "perpetuating the racist myth that only a white man can save the world."
Check out the partial rant from Wu that got me at all hyped and starry-eyed:
"We have to stop perpetuating the racist myth that only a white man can save the world," Wu wrote on the heels of TheGreat Wall's trailer debut. "It's not based in actual fact. Our heroes don't look like Matt Damon. They look like Malala. (Gandhi). Mandela. Your big sister when she stood up for you to those bullies that one time."
Wu is a hero. So is Samaria Rice. Michelle Obama is beyond. Anyone who is tuned into the stormy climate and finds ways to leverage that into a progressive effort is super duper.
It's not about box-office receipts and the smug tally of all the reasons why as a White actor — you deserve to command the stage — even when it's obvious that you are out of your league.
White people ponder all the time about the validation of their privilege and if you are one of those people — I am presenting this piece as prime evidence. You guys don't give a fuck about how your actions affect the impressionable kids that are coming up and in dire need of heroes that are within their grasp.
We lived though the heydays of First Blood and The Terminator. White guys have had a good run with virtually no disruption. Now that "diversity" is a subject that has to be addressed — all we ask is that if a part suggests someone who isn't White — please cast a capable talent who fits that description.
We get the fact that White men are perfect and can do no wrong.
They look immaculate in the produced announcement of their arrival in vehicles that they manipulate, despite the fact that they were never qualified to be in the driver's seat.
White men are not the heroes we seek — despite how many of you pay to keep them relevant.
The true heroes are the women who keep on yelling in the name of the children they lost at the bullseye of the White cops who took the Superhero rhetoric too seriously. They are the people of color who continue to adhere to the standards of their craft even though they know it won't equal anything worth adding up.
It's the men and women in uniform who have to double as secret agents in order to maintain law and order in a landscape that was designed to sacrifice the life and limb of their people.
It's the writers who refuse to remain silent because ignoring the filtered crap dominating their feed would be atrocious and literarily manipulative.
Heroes are real. They are not greedy and pompous actors who understand the security of "looking the part" — at whatever cost.
We know that Hollywood is full of shit. And all we ask is that you stop fucking around.
Don't make us go HAM.
Can We Get More Non-Alcoholic Branding For The Holidays?
How White Evangelism Uses Trump As "God's Plan"
We Need a "Yellow Ribbon" Song to Unite Our Country Again
M.M. O'Keefe in P.S. I Love You


text:
Q: Unable to determine right mime-type on Linux I'm using mime-util-2.1.3 to check mime types a file. I have noticed that on linux it is unable to correctly detect flv files. The mime type is shown as application/octet-stream, while on windows the mime type is correctly determined as video/x-flv. mp4 videos were detected though. How do I make the application to recognize the flv mime type on Linux ?

A: try initializing with this:MimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.MagicMimeMimeDetector"); MimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.ExtensionMimeDetector");
MimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.OpendesktopMimeDetector");

I was only registering the first one, MagicMimeMimeDetector. Once I added in the other two, it all started working correctly.


if it be not improved for this noble purpose.
Yet, Lord, how little is this the thought of mankind!
But, alas, what false delusive dreams are these!
and being holy as thou art holy.
the sensuality and folly of the present world!
together with all sinful pleasures or profits.
the Son of thy love.


text:
Reading: Maps of the South-Pacific: How Britain invented Australia
Decrease article font size
Alternative display
Share as email
Maps of the South-Pacific: How Britain invented Australia
Alessandro Bucci
Email Alessandro Bucci
Toggle author information panel
Alessandro Bucci, University of Edinburgh, United Kingdom
This study seeks to investigate an alternative view of land and of its cartographic representations. Such view sees land not as a priori given, but as available to be interpreted in relation to the subjective gaze of those who look at it and determine it as a social space. In particular, this study looks at the South-Pacific. The 'discovery' of the landmasses in that area is to be read in a typically European context, for it completes the vision of the world of those that had earlier ignored its existence. From this point of view, I have analyzed representations of Australia that show the evolution of how the rest of the world learnt to think about it. In particular, I have taken into account cartographic representations that show how the unknown lands of the South were turned into the fetished British possession of Australia. Looking at them is a useful way to develop considerations about the processes of appropriation of land by the British Empire.
CartographyRepresentationSouth-PacificTerra Australis IncognitaTabula RasaDiscoveryMaps
DOI: 10.18573/j.2014.10287
Published on 1 Nov 2014
Annotations & Comments
We use cookies to ensure the best possible experience.
Read more in our Cookie Policy.