It was a small wedding and a beautiful reception with a DJ and a band. Not at the same time. That would be weird.
Ryan & Wendy, Derek & me, Loreena, Ken & Nora, Sara.
Although I don't have photographic evidence of the groom, John was there, I assure you!
I knew I missed these folks – producer Ryan, former co-host Ken and Loreena, who was our newscaster. But when Loreena introduced Ken to someone as her "work husband", I got a twinge of jealousy. I did! It was unexpected. He used to be mine! But I chose to leave. Emotions can be so strange.
So, Loreena and Ken are doing great as a team. Ryan is as steady as ever and Sara is newscasting – she's loving it and they love her. They've all moved on and so have I. But the friendships endure and for that, I'm grateful.
Nice that you made the cut. You must have left a good taste and engaged in a graceful exit. Not easy, but definitely the high road. Not as many travel up there, but I'm not surprised that that was your path. xo.


This is a classic French mix of herbs that will add flavour to just about any dish, from soups to stews and sauces. 4 sachets wrapped in muslin cloth for ease and convenience, simply drop the sachet into your dish while cooking to get the best benefits, then remove the sachet before serving.
Each product is sold as 1 pack.


Enter for your chance to win one of 8 Musically-Inspired prizes!
Entry Period 1 Prize: BIG JAMBOXTM by Jawbone wireless Bluetooth speaker.
Entry Period 2 Prize: A 1-year premium subscription to Spotify.
Entry Period 3 Prize: BIG JAMBOXTM by Jawbone wireless Bluetooth speaker.
Entry Period 4 Prize: A 1-year premium subscription to Spotify.
Entry Period 5 Prize: BIG JAMBOXTM by Jawbone wireless Bluetooth speaker.
Entry Period 6 Prize: A 1-year premium subscription to Spotify.
Entry Period 7 Prize: BIG JAMBOXTM by Jawbone wireless Bluetooth speaker.
Entry Period 8 Prize: A 1-year premium subscription to Spotify.


text:
(Theatre)
101 Industry insights in total for Theatre
Shazia Mirza, stand-up comic
Comedian Shazia Mirza offers advice for aspiring performers.
Short plays for new writers
Nick Brice is Director of White Room Theatre. He is pushing the art form of the ten-minute play at the Fringe. He told Creative Choices how he came up with the idea and how it can help new playwrights get exposure.
What employers are looking for in technical staff
Working in technical theatre and live events is fun, fast-paced and rewarding. If you're curious about careers in this area, there's good news: we need more skilled technicians in lighting, sound and stage, and available routes in are changing for the better. Here are 4 things employers in the industry are actually looking for.
7 tips for drama auditions
Auditioning for drama school can be a nerve-wracking experience. Andy Johnson is an actor, a director, and the author of 'The Excellent Audition Guide'. He shared 7 tips for engaging an audition panel, and keeping yourself engaged too.
Theatre production manager
Katrina Gilroy is Production Manager at the National Theatre. She describes the theatre production process and the role of production manager.
Performing street theatre
Jacqui Papay is a senior performer with the internationally-renowned Natural Theatre Company in Bath. She performs visually engaging comic scenarios in a wide range of outdoor venues, UK and abroad.
A musical director career
Philip Bateman is a musical director and singing coach. He has worked on West End shows like Billy Elliot and Our House. He spoke about how he built his career in musical theatre.
Pervasive media
Katie Day spoke to Creative Choices about pervasive media, the current climate for public funding and the arts, and what she'll bring back from her Peach Placement.
Project-managing theatre
Jeremy Walker, an assistant project manager and Tracy Gentles, a performance projects manager, talk about starting their careers behind the scenes.
How to prepare for auditions
Matt Selby is a casting director with Belinda Norcliffe Casting. He has advice on how to prepare for commercial auditions, with five quick tips to take away.
Admin producer at The Barbican
Malin Forbes works for Barbican International Theatre Events (BITE). When first trying to break into theatre, she spent two years living hand-to-mouth.
3 stages of an audition
Starting out as an actor? Martha Shephard of To Be Seen, an online audition resource for actors, discusses how to get the part and avoid common audition mistakes.
Jude Kelly, Southbank
The career of Jude Kelly has spanned over thirty years. Artistic Director of Battersea Arts Centre, West Yorkshire Playhouse and the Southbank, she has become one of the most respected figures in the British arts scene.
Find your creative calling
Rhiannon Ellis began her creative career as a theatre director, and is now Learning & Community Engagement Manager for Theatre Royal Wakefield. She spoke to Creative Choices about how she changed her career to work with people and communities.
International opera singer
Celeste Lazarenko is a successful opera singer. She's sung roles in a Philip Glass opera and for the English National Opera. She's performed in Hong Kong, across Europe and in her home country of Australia.
Advice for touring actors
Actors go where the work is. Whether theatrical tours or shooting on location, acting is a job that often takes you away from home. Working away can be tough, and it's worth knowing what to expect.
A comedy producer's career
Charlie Hanson is an award-winning comedy producer whose work includes Birds of a Feather, Desmonds, The Harry Hill Show and Extras. He spoke about following a career in production.
Getting skills for performance
Performer Claire Cunningham describes how using crutches gave her the physical abilities to create a career in dance.
Lighting up the stage
Lighting technicians set up and operate lighting equipment during theatre productions. Both creative and technical, they can use lights to achieve a variety of effects to dramatically alter the mood and shape of a performance.
Beyond Participation
Open Theatre is based in Coventry and works right across the West Midlands region as well as nationally and internationally. It has been developing work with young people with learning disabilities through non-verbal physical theatre for over 30 years. Partnership Manager for the Midlands, Ruth Richardson, spoke to company director Richard Hayhow, to find out more about their work and how they employ young creatives.
Get Into Theatre has joined with Creative Choices

redpajama_set_name: RedPajamaCommonCrawl


There are total 14 letters in Hyperpolarized, Starting with H and ending with D.
Hyperpolarized is a scrabble word? Yes (34 Points) Hyperpolarized has worth 34 Scrabble points.
In Hyperpolarized H is 8th, Y is 25th, P is 16th, E is 5th, R is 18th, O is 15th, L is 12th, A is 1st, I is 9th, Z is 26th, D is 4th letters in Alphabet Series.


text:
5 to 8 p.m.: Live Jazz with trumpeter John Henry Goldman and other jazz musicians; Labyrinth Books, 122 Nassau Street.
7:30 p.m.: Take Flight; Berlind Theatre. Also Thursday at 7:30 p.m., Friday and Saturday at 3 and 8 p.m., Sunday at 2 and 7:30 p.m.
7:30 p.m.: Musical Preview of Princeton Festival 2010 season; Princeton Public Library.
8 p.m.: Creating Claire; George Street Playhouse, 9 Livingston Avenue, New Brunswick. Also Thursday at 2 and 8 p.m., Friday at 8 p.m., Saturday at 2 and 8 p.m.
5:30 to 8:30 p.m.: Darla Rich Trio; Ruth's Chris Steak House, 2 Village Boulevard.
7 p.m.: "An Evening of Short Films related to Reinventing the Wheel" with film historian Bruce Lawton and film critic Janet Stern; Arts Council of Princeton, Paul Robeson Center. Free.
7:30 p.m.: Reading by William Rosen, author of The Most Powerful Idea in the World; Princeton Public Library.
5 to 8 p.m.: Darla Rich Quartet; Hopewell Valley Vineyards, 46 Yard Road, Pennington.
7 p.m.: Outdoor concert with Animus, instrumental band performing original and traditional Eastern Mediterranean music and dance; Crossing Vineyards and Winery, 1853 Wrightstown Road, Washington Crossing, Pa.
7 p.m.: 7th Annual Youth Ink! Festival of plays by New Jersey high school students; McCarter Theatre. Also Saturday at 2 and 7 p.m.
7 to 10 p.m.: Central Jersey Dance Society "Dancing Under the Stars" Mix dance; Hinds Plaza, Princeton Library.
7:30 p.m.: "Nordic Delights" concert with violinist Jochen Brusch and organist Sven-Ingvart Mikkelsen; Miller Chapel, Princeton Theological Seminary. Free.
7:30 p.m.: Bye Bye Birdie; Washington Crossing Open Air Theatre. Also Saturday and Sunday at 7:30 p.m.
7:30 p.m.: Ragtime; Kelsey Theatre, Mercer County Community College, West Windsor. Also Saturday at 7:30 p.m., Sunday at 2 p.m.
7:30 p.m.: Tony Orlando; Patriots Theater at the War Memorial, Trenton.
8 p.m.: Much Ado About Nothing; Heritage Center, 635 North Delmorr Avenue, Morrisville, Pa. Also Saturday at 8 p.m., Sunday at 2 p.m.
8 p.m.: Marvin Harold Cheiten's Miss Connections; Off-Broadstreet Theatre, Hopewell. Also Saturday at 8 p.m., Sunday at 2:30 p.m.
8 p.m.: Dance Improv; All Saints' Church, 16 All Saints' Road.
9 a.m. to 1 p.m.: Flea Market to benefit S.A.V.E. Animal Shelter; Herrontown Road at Mt. Lucas Road.
10 a.m.: Historical Society of Princeton's Hinds Memorial Walking Tour: African American Life in Princeton. Reservations required; call (609) 921-6748, ext. 100
2 and 8 p.m.: Garden Statesmen Barbershop Chorus; Yvonne Theater, Rider University.
7:30 p.m.: Screening and discussion of The Visitor; West Windsor Branch, Mercer County Library, 333 North Post Road, West Windsor.
8 p.m.: Live music with Rocky Hill Ramblers, Jeff Nathanson Trio, Klez Dispensers, and Haute Dawg; Arts Council of Princeton, Paul Robeson Center.
8 p.m.: Greater Princeton Youth Orchestra and Princeton Pro Musica; Richardson Auditorium.
8:30 p.m.: Central Jersey Dance Society California Mix Dance; Unitarian Church, 50 Cherry Hill Road.
7 to 8 a.m.: Registration for Auxiliary of University Medical Center of Princeton's 1.2-mile Children's "Fun Run"; Princeton Stadium, Princeton University.
9 a.m. to 4 p.m.: YWCA Princeton "Paddle for Pink" Dragon Boat Festival; Mercer County Park Marina.
9 a.m.: Spinal Research Foundation's second annual We've Got Your Back 4-mile race, 2-mile walk and Spinal Health Fair; Tyler State Park, Newtown, Pa.
9 a.m.: Auxiliary of University Medical Center of Princeton 10K Run benefiting Pediatric Outpatient Clinic at University Medical Center at Princeton; Princeton Stadium, Princeton University.
11 a.m. to 3 p.m.: Cooking and Cleaning Day; Princeton Battlefield Park.
1 p.m.: "Rev Your Engines" car show benefiting Foster and Adoptive Family Services; Princeton Forrestal Village.
1 to 3 p.m.: Pennington Dance 30th Year Celebration; Hopewell Valley Central High School Performing Arts Center.
1 to 4 p.m.: Garden Party Open House; Drumthwacket. Reservations required at www.drumthwacket.org or (609) 683-0057, ext. 4.
2 p.m.: Writers Talking conversation with Fr. Pat Connor of Bordentown, author of Whom Not to Marry: Time Tested Advice from a Higher Authority; Princeton Public Library.
2:30 p.m.: Jewish Community Choir Lashir Spring Concert; Richardson Auditorium. Free.
3 p.m.: Princeton Festival Organ Recital with Ken Cowan, Nathan Laube, and Eric Plutz; Princeton University Chapel.
3 p.m.: Princeton Dance and Theater Studio 7th Annual Spring Performance; Performing Arts Center at West Windsor, Plainsboro High School South, Clarksville Road, West Windsor.
7:30 p.m.: Slide show, "Faces of South Africa," by Melanie Tucker of Tough Love Travel; Princeton Public Library.
7.30 p.m.: Planet Café; Camillo's Cafe, Princeton Shopping Center.
7 p.m.: Engaged Retirement talk by Ellen Tozzi of Natural Order Design, "Downsize Your Possessions With Ease"; Princeton Public Library.
7:30 p.m.: Princeton Festival lecture by Rider University professor Timothy Urban, "From Beggars to Kings: Opera for Everyone in 18th Century London"; Princeton Public Library.
7 p.m.: Slide talk by sculptor Chakaia Booker; Arts Council of Princeton, Paul Robeson Center.
7 p.m.: Engaged Retirement talk by weight loss mentor Fay Reiter, "Achieving Optimal Health and Longevity During Retirement"; Princeton Public Library.
7 p.m.: Panel discussion, "Going Live With a Website for Your Business"; Princeton Public Library.
7:30 p.m.: Early music ensemble La Spirita concert of Renaissance music; Lawrence Branch Library, 2751 Brunswick Pike (Route 1), Lawrenceville. Free.
Return to Top | Go to Mailbox


text:
<?xml version="1.0" encoding="UTF-8"?>
<!--
	Copyright (C) 2013-2016 Nanjing StarOS Technology Co., Ltd
	All rights reserved.

	@file 		radiusclientAPIDefinitionDocs.xml
	@brief
	@version 	1.1.0
	@auth 		qiulei
	@date		2018/02/25
	Licensed under the Apache License, Version 2.0 (the "License");
	you may not use this file except in compliance with the License.
	You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0

	Unless required by applicable law or agreed to in writing, software
	distributed under the License is distributed on an "AS IS" BASIS,
	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
	See the License for the specific language governing permissions and
	limitations under the License.
-->
<starlang xmlns="http://www.staros.xyz/starcore/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" scope="application">
	<function name="DefinitionData_radiusclient">
		<string name="definitionname"/>
		<string name="definitioncontent"/>

		<set name="definitionname" value="'radiusclient'" />
		<reference variable="definitioncontent">
			<jsonbody><![CDATA[
				{
					"type": "object",
					"title": "radiusclient",
					"required": [
						"RadiusLocalIP",
						"RadiusLocalPort",
						"RadiusServerIP",
						"RadiusServerPort",
						"SharedKey",
						"ResponseTimeOut",
						"Retransmit",
						"state"
					],
					"properties": {
						"RadiusLocalIP": {
							"type": "string",
							"example": "192.168.186.138"
						},
						"RadiusLocalPort": {
							"type": "string",
							"example": "23222"
						},
						"RadiusServerIP": {
							"type": "string",
							"example": "192.168.186.1"
						},
						"RadiusServerPort": {
							"type": "string",
							"example": "1812"
						},
						"SharedKey": {
							"type": "string",
							"example": "testing123"
						},
						"ResponseTimeOut": {
							"type": "string",
							"example": "22"
						},
						"state": {
							"type": "string",
							"example": "active"
						}
					}
				}
			]]></jsonbody>
		</reference>

		<function name="addDefinition" class="APIDocsService">
			<parameters>
				<string name="definitionname" in="context.definitionname.toString()"/>
				<string name="definitioncontent" in="context.definitioncontent.toString()"/>
			</parameters>
		</function>

	</function>

	<function name="RemoveDefinitionData_radiusclient">
		<string name="definitionname"/>

		<set name="definitionname" value="'radiusclient'" />

		<function name="removeDefinition" class="APIDocsService">
			<parameters>
				<string name="definitionname" in="context.definitionname.toString()"/>
			</parameters>
		</function>
	</function>

	<!--定义:Result -->
	<function name="DefinitionData_radiusclientResult">
		<string name="definitionname"/>
		<string name="definitioncontent"/>

		<set name="definitionname" value="'Result_radiusclient'" />

		<reference variable="definitioncontent">
			<jsonbody><![CDATA[
				{
		            "type": "object",
		            "title": "result",
		            "required": [
		                "result"
		            ],
		            "properties": {
		                "result": {
		                    "type": "object",
		                    "title": "result",
		                    "required": [
						        "code",
						        "description"
		                    ],
		                    "properties": {
		                        "code": {
		                            "type": "string",
		                            "example": "0"
		                        },
		                        "description": {
		                            "type": "string",
		                            "example": "ok"
		                        }
		                    }
		                }
		            }
				}
			]]></jsonbody>
		</reference>

		<function name="addDefinition" class="APIDocsService">
			<parameters>
				<string name="definitionname" in="context.definitionname.toString()"/>
				<string name="definitioncontent" in="context.definitioncontent.toString()"/>
			</parameters>
		</function>

	</function>

	<function name="RemoveDefinitionData_radiusclientResult">

		<string name="definitionname"/>

		<set name="definitionname" value="'Result_radiusclient'" />

		<function name="removeDefinition" class="APIDocsService">
			<parameters>
				<string name="definitionname" in="context.definitionname.toString()"/>
			</parameters>
		</function>

	</function>

	<!-- qiulei 20180226 -->
	<function name="DefinitionData_radiusclient_sendmessage">
		<string name="definitionname"/>
		<string name="definitioncontent"/>

		<set name="definitionname" value="'sendmessage'" />
		<reference variable="definitioncontent">
			<jsonbody><![CDATA[
				{
					"type": "object",
					"title": "sendmessage",
					"required": [
						"messagetype",
						"attributes"
					],
					"properties": {
						"messagetype": {
							"type": "string",
							"example": "1"
						},
						"attributes": {
							"type": "object",
							"title": "sendmessage",
							"required": [
								"username",
								"password",
								"nasip"
							],
							"properties": {
								"username": {
									"type": "string",
									"example": "testuser"
								},
								"password": {
									"type": "string",
									"example": "testpw"

								},
								"nasip": {
									"type": "string",
									"example": "10.1.1.1"
								}
							}
						}
					}
				}
			]]></jsonbody>
		</reference>

		<function name="addDefinition" class="APIDocsService">
			<parameters>
				<string name="definitionname" in="context.definitionname.toString()"/>
				<string name="definitioncontent" in="context.definitioncontent.toString()"/>
			</parameters>
		</function>

	</function>

	<!-- qiulei 20180226 -->
	<function name="RemoveDefinitionData_radiusclient_sendmessage">
		<string name="definitionname"/>

		<set name="definitionname" value="'sendmessage'" />

		<function name="removeDefinition" class="APIDocsService">
			<parameters>
				<string name="definitionname" in="context.definitionname.toString()"/>
			</parameters>
		</function>
	</function>

	<!--定义:sendmessageResult -->
	<function name="DefinitionData_sendmessageResult">
		<string name="definitionname"/>
		<string name="definitioncontent"/>

		<set name="definitionname" value="'Result_sendmessage'" />

		<reference variable="definitioncontent">
			<jsonbody><![CDATA[
				{
		            "type": "object",
		            "title": "result",
		            "required": [
		                "result"
		            ],
		            "properties": {
		                "result": {
		                    "type": "object",
		                    "title": "result",
		                    "required": [
						        "code",
						        "description",
						        "response"
		                    ],
		                    "properties": {
		                        "code": {
		                            "type": "string",
		                            "example": "0"
		                        },
		                        "description": {
		                            "type": "string",
		                            "example": "ok"
		                        },
		                        "response": {
		                            "type": "object",
									"title": "result",
									"required": [
									],
									"properties": {}
		                        }
		                    }
		                }
		            }
				}
			]]></jsonbody>
		</reference>

		<function name="addDefinition" class="APIDocsService">
			<parameters>
				<string name="definitionname" in="context.definitionname.toString()"/>
				<string name="definitioncontent" in="context.definitioncontent.toString()"/>
			</parameters>
		</function>

	</function>

	<function name="RemoveDefinitionData_sendmessageResult">

		<string name="definitionname"/>

		<set name="definitionname" value="'Result_sendmessage'" />

		<function name="removeDefinition" class="APIDocsService">
			<parameters>
				<string name="definitionname" in="context.definitionname.toString()"/>
			</parameters>
		</function>

	</function>
	<function name="RegistDefinition_radiusclient">
		<function name="DefinitionData_radiusclient"/>
		<function name="DefinitionData_radiusclientResult"/>
		<function name="DefinitionData_radiusclient_sendmessage"/>
		<function name="DefinitionData_sendmessageResult"/>
	</function>

	<function name="DestroyDefinition_radiusclient">
		<function name="RemoveDefinitionData_radiusclient"/>
		<function name="RemoveDefinitionData_radiusclientResult"/>
		<function name="RemoveDefinitionData_radiusclient_sendmessage"/>
		<function name="RemoveDefinitionData_sendmessageResult"/>
	</function>
</starlang>

redpajama_set_name: RedPajamaGithub


text:
Business Enterprise
FlexScanProfessional LCD Monitors
ColorEdgeColor Management Monitors
CuratOROperating Room Solutions
RadiForceMedical Monitor Solutions
DuraVisionIndustrial Monitors
Raptor | Re/VueATC Visual Display Solutions
Warranty & Recycling
Dr. Les Walkling - Fifteen Years Creating with EIZO
Dr. Les Walkling - Fifteen Years Creating with EIZO | EIZO
Dr. Les Walkling is an artist, educator and consultant. With too many accolades to list, Les is the former Program Director of Media Arts at RMIT University, and Senior Research Fellow and Australian Research Council Discovery Project grant recipient in the School of Art. His work is held in public collections including The Metropolitan Museum of Art (New York), the National Gallery of Australia, the Art Gallery of NSW and the National Gallery of Victoria. Les is a leading provider of photographic education, and digitization consultant to Australia's cultural institutions. The EIZO Gallery collection was personally curated by him.
What was your first EIZO monitor, and what are you using now?
My first EIZO monitor was the ColorEdge CG220, their first Adobe RGB Gamut monitor. Shortly thereafter we bought the ColorEdge CG221, the first Adobe RGB monitor with digital equalization uniformity (DUE). 12 years on, we still use this on our main profiling workstation where we create the highest quality profiles for people's printing, pre-press and camera calibrations. I still trust that monitor with my life, and it has been on that workstation for 12 years. Unlike the newer ColorEdge monitors, I have to physically calibrate it and it is still within specification! Today we also use a ColorEdge CG277 and a CG248-4K for video, and we are in the process of adding a ColorEdge CG319X.
What was your initial experience like?
At first glance, the ColorEdge CG220 was mind-bogglingly brilliant. There was a fine difference in the level of detail we were able to see of our work, and it was just what we needed. 15 years running we still use it in our video editing suite as a secondary monitor.
What amazes me is that you buy photographic lenses for long-term applications knowing you're going to upgrade the camera bodies on a regular basis. Similarly, we've gone through many computers, but they have all been plugged into the same EIZO monitor.
How well do the monitors calibrate, and integrate with your existing equipment?
The monitors are extremely workflow-centric and fit in seamlessly. Unlike other equipment, my monitor doesn't tell me how to work. Instead, it facilitates my work. Be it an extreme like representing an iPad, or a highly fluorescent pre-press standard with insane levels of fluorescence on paper and press to get skin tones and ethnicities correct, and it self-calibrates automatically to mimic those standards. Once I've established the parameters and profiles for all of our outputs, armed with ColorNavigator 7.1, they're simultaneously updated. If you know the basics, just enter the parameters and allow it to work its magic. It turns on at 8.30 am, before we get into the studio, and it's already verified itself. I can tick that box before I've even started working. Given the complexity of calibrating printers, scanners, cameras, there's nothing easier that I know of than the hardware calibration of a ColorEdge. If only the other tools of my workflow were this accommodating and flexible like my EIZO monitors…
How important is your EIZO monitor to your overall digital color workflow?
We invest in EIZO monitors because of what they enable us to do in our production. What they enable us to see. Seeing is knowing, and knowing enables you to make a difference. As a photographer, you draw the world with the democracy of the lens. It is the monitor that enables us to see the minute details that the camera captures. Accurate "seeing" is what it is all about for a visual artist. They are more than just monitors. They intrude in the most wonderful way on our very sense of ourselves, our very being, and how we make those most critical assessments – aesthetic, political and historical judgements - with our imagery and what we're trying to do in this world of contemporary art. They are extraordinary devices.
What are your experiences with EIZO's after-sales service?
The after-sales service is legendary here. I remember, I was scheduled to conduct a workshop in Kununurra, Western Australia. I had an EIZO monitor shipped to the location to be part of my demonstration. Unfortunately, on the 4,000 km journey, it was damaged. I was stranded with no monitor for my workshop. Just to try my luck, I notified the EIZO team. While it took me 2 days to get to Kununurra, my replacement monitor reached me within 24 hours! I have heard similar stories of the team's exceptional service while helping others set up their EIZO monitors too. There is no other brand that can speak of this level of support.
Tell us about your visit to the EIZO Headquarters in Kanazawa, Japan
My visit to the EIZO headquarters was off the back of my first trip to Japan. So, I was already beside myself with their remarkable culture. The highlight of my visit to the headquarters was the manufacturing area – I saw the production line where my EIZO ColorEdge CG220 was born. To top if off, I cross-checked my monitor's serial number and met the person who did the final human quality check on my monitor!
What left the most indelible stamp on me was not just the humility, and kindness, and the incredible welcome we received, but that the monitors are meticulously checked by human beings in white gloves, before they are ticked and allowed to be packaged. Despite the science, technology and instrumentation in the building, the extraordinary emotional depth of their engagement with each monitor was mind-boggling. There was a devotion, a pride, and execution that seemed "above and beyond". This stuff leaves a real impression, not in just how to do things but that idea of perfection and excellence, and the commitment to doing better today than yesterday. This culture within the Japanese culture is phenomenal. To this day, I've told these stories regularly. Those who have been to Japan get it. Those who don't, appreciate it when we work with the monitors.
This stuff leaves a real impression, not in just how to do things but that idea of perfection and excellence, and the commitment to doing better today than yesterday. This culture within the Japanese culture is phenomenal. To this day, I've told these stories regularly. Those who have been to Japan get it. Those who don't, appreciate it when we work with the monitors.
What advice would you give to up-and-coming photographers?
We are in a time where the opportunities that exist in photography are being transcended beyond our wildest imagination. Everything is evolving to be screen-based. The ubiquity of screens used to be the ubiquity of photography. For up and coming photographers who are up to their eyeballs with new ways of thinking about imaging and reality, this is a golden era. At the center of this evolution is our screen. It's the rebirth of photography with augmented reality, virtual reality etc. And, our morality of the uses of that technology are developing hand in hand in a way that wasn't really in the kilt for most of the history of photography. With all this evolution, one must pay attention to all aspects of the workflow, including our screens.
Les Walkling is a member of EIZO's ColorEdge Ambassador Program. The program showcases creatives who are committed to inspiring and educating artist around the world of all levels. To view his profile, click here.
Experience EIZO
Ordering and questions 1 (800) 800-5202 or contact us.
FlexScan
ColorEdge
RadiForce
DuraVision
Raptor | Re/Vue
Copyright © 1996-2023 EIZO Inc. All Rights Reserved.


Nursery- The child should have completed 3 years by 1st April of the year in which the admission is being sought.
Prep- The child should have completed 4 years by 1st April of the year in which the admission is sought.
Class 1- The child should have completed 5 years by 1st April of the year in which the admission is sought.
A student who is seeking admission to the school is registered only after the completed registration form is submitted to the school.
The school reserves the right to admit students who are found fit for admission. In all matters related to admissions, the management's decision is final.
To confirm the admission of a new student the Transfer Certificate from the previous school must be produced.
A student who is admitted to the school and all admission formalities are complete, is only refunded the caution fee if he or she wants to withdraw from the school.
In case a student wants to withdraw from the school after all the admission formalities are complete, only the caution money shall be refunded.
Withdrawal notice must be given 30 days prior to the completion of the term.
School fees shall not be refunded in case the withdrawal notice is given during the term.
If withdrawal of a pupil is on medical grounds(acceptable to the Principal) with absence of half a term or more, , 25% of the fees will be refunded.


MICHELE's iconic Deco II Mid is reimagined in a glamorous new way. Featuring 368 diamonds covering both the bezel and pavé dial, this watch makes a serious statement. The chic seven-link stainless-steel bracelet is interchangeable with any 16mm MICHELE strap.


text:
Performance Tuning of an Apache Kafka/Spark Streaming System - Telecom Case Study
Blog Current Post
Mathieu Dumoulin
Real-world case study in the telecom industry
Editor's Note: The telecommunications industry is on the verge of a major transformation through the use of advanced analytics and big data technologies like the MapR Data Platform. The "MapR Guide to Big Data in Telecommunications" is designed to help you understand the trends and technologies behind this data driven telecommunications revolution. Download your complimentary copy here.
Debugging a real life distributed application can be a pretty daunting task. Most common Google searches don't turn out to be very useful, at least at first. In this post, I will present my account of how we successfully were able to tune a Kafka/Spark Streaming system by a factor of almost 10x, so that it could run stably and without backing up under maximum production load.
Many of the lessons learned during this project would also apply to a similar system implemented using the MapR Data Platform. However, as we'll explain later, a lot of the issues could have been avoided entirely, or at least greatly mitigated by using a converged platform instead of a multi-cluster approach.
The MapR Data Platform is the only currently available production-ready implementation of such a platform as of this writing.
Goal of the System
The Kafka/Spark Streaming system aims to provide better customer support by providing their support staff with always up-to-date call quality information for all their mobile customers.
Mobile customers, while making calls and using data, connect to the operator's infrastructure and generate logs in many different systems. Three specific logs were identified that, if correlated with each other, give visibility in the actual quality of service experienced by each individual customer. The three logs were selected because they can be correlated through a simple relational database-like join operation.
For improving customer support, the quality of call information needs to be kept updated in near to real time; otherwise, it has no value. This has led, down the road, to building a streaming architecture rather than a batch job. The data volume at production load reaches several GB/s, generated by several million mobile customers, 24 hours a day, 365 days a year. Performance and stability at that scale is required for the system to reach production.
Project SLA Goals
The application has clear performance requirements based on the known worst-case throughput of the input data. This log data is generated by real-world use of the services of the company. If the application is to be useful at all, as a real-time streaming application, it must be able to handle this data without getting behind.
In term of numbers, the goal is to handle up to 3GB/min of input data. For this large mobile operator, such throughput represents about 150-200,000 events/second. Ordinarily, the throughput is about half of that value or 1.5GB/min and 60,000-80,000 events/second.
The raw data source are the logs of three remote systems, labeled A, B, and C here, where the log from A comprises about 84-85% of the entries, the log from B about 1-2%, and the log from C about 14-15%. The fact that the data is unbalanced is one of the (many) sources of difficulty in this application.
The raw data is ingested into the system by a single Kafka producer into Kafka running on 6 servers. The producer reads the various logs and adds each log's records into its own topic. As there are three logs, there are three Kafka topics.
The data is consumed by a Spark Streaming application, which picks up each topic, does a simple filter to cut out unnecessary fields, a map operation to transform the data, and then a foreachRDD operation (each micro-batch generates an RDD in Spark Streaming) that saves the data to Ignite and to HDFS as Hive tables for backup.
A second batch Spark application runs once per hour on the data stored in-memory in Ignite to join the records from the three separate logs into a single table. The batch job has a maximum data size of about 100GB. The cluster CPU resources should be sufficient to process this amount of data in one hour or less.
Ignite stores 3 hours' worth of data at all time to account for calls that begin in one hour and end in the hour getting processed, as well as calls that begin in the target hour and end in the next one. The telecom operator judges that calls that are so long they aren't captured in this scheme can be ignored, as they are very rare.
It's worth noting that a better all-streaming architecture could have avoided the whole issue with the intermediate representation in the first place. An illustrative, real-world case with more time and thought upfront can make the entire project end faster than just rushing headlong into coding the first working solution that comes to mind.
System Hardware and Software: At the Bleeding Edge of Open Source Big Data
The cluster has a lot of CPU and memory resources. It has 12 nodes of enterprise-grade servers, each equipped with two E5 Xeon CPUs (16 physical cores), 256GB memory, and eight 6TB spinning HDD (2 for OS in RAID 1). Each server has one 10GbE network interface.
The technology stack selected for this project are centered around Kafka 0.8 for streaming the data into the system, Apache Spark 1.6 for the ETL operations (essentially a bit of filter and transformation of the input, then a join), and the use of Apache Ignite 1.6 as an in-memory shared cache to make it easy to connect the streaming input part of the application with joining the data. Backup is done to HDFS, as Hive ORC tables are also used to serve as a just-in-case backup for Ignite and to serve future need for other analytics use cases (none at the time).
The Spark applications are both coded in Scala 2.10 and Kafka's direct approach (no receivers). Apache Ignite has a really nice Scala API with a magic IgniteRDD that can allow applications to share in-memory data, a key feature for this system to reduce coding complexity.
The cluster is running Apache Hadoop's HDFS as a distributed storage layer, with resources managed by Mesos 0.28. Finally, HBase is used as the ultimate data store for the final joined data. It will be queried by other systems outside the scope of this project. The cluster design with all relevant services is shown in the table above.
Performance Issues
The original system had several issues:
First Spark Streaming job is not stable
Second Spark batch job can't process 1 hour of data before the next hour of data arrives
Stability: The application crashes under load
A Spark Streaming application is said to be stable if the processing time of each micro-batch is less than or equal to that micro-batch time. In this case, the application processes each 30 seconds of data in as much as 6 minutes. We need a 12x speedup.
Second, there is a batch process to join data one hour at a time that was targeted to run in 30 minutes but was taking over 2 hours to complete.
Third, the application was randomly crashing after running for a few hours. Stability of such a complex, fully open-source stack should never be assumed. Rather, it is the result of a constant effort by the team to better understand the system. We can expect that there will still be a lot of learning required to keep the system up and running once it is moved to production as well.
In my opinion, all performance and stability issues stem from the terrible idea of management to push a very good POC project developed on AWS into production on some on-premises hardware. It's hard to believe, but they fully expected the POC code to run as-is on a production system it was never tested on.
Regardless, the task was set, and we had only a few short days to identify what could be done and get the system up to production speed. Final QA testing of the system was barely 1 week away, and management wasn't in the mood to accept delays. We got to work...
First target: Improve Spark Streaming Performance
At maximum load, the Spark Streaming application is taking between 4.5 to 6 minutes for each micro-batch of 30 seconds. We need to find 9-12x speedup worth of improvements.
Spark has a lot of moving parts, but it will always be true that fast algorithms beat tweaking the configuration. In this case, there is nothing to get from the code; it's all very parallelizable with no obvious issues, like doing two computations separately when they could be combined or any O(n^2) loop-in-another loop issues. The job is nothing more than a filter and a map.
What we need to determine, then, is whether the job is indeed being processed in parallel to make the most of all those CPU cores. In a Spark Streaming job, Kafka partitions map 1 to 1 with Spark partitions.
Increase Parallelism: Increase Number of Partitions in Kafka
A quick check of the Spark UI shows 36 partitions. As each server has 6 physical disks, I assume the choice of partitioning was selected by the formula node * physical disks = partition count per topic. Quickly checking online reveals that partitioning is quite a bit more complex than that and the formula to decide on partition number isn't from any known Kafka best practices guide. (Ref: https://www.confluent.io/blog/how-to-choose-the-number-of-topicspartitions-in-a-kafka-cluster/ )
The input data was unbalanced and most of the application processing time was spent processing Topic 1 (with 85% of the throughput). Kafka partitions are matched 1:1 with the number of partitions in the input RDD, leading to only 36 partitions, meaning we can only keep 36 cores busy on this task. To increase the parallelism, we need to increase the number of partitions. What we did was split topic 1 into 12 topics each with 6 partitions for a total of 72 partitions. The way it was done was a simple modification to the producer to evenly divide the data from the first log into 12 topics instead of just one. Zero code needed to be modified on the consumer side.
We also right-sized the number of partitions for the two other topics, in proportion to their relative importance in the input data, so we set topic 2 to two partitions and topic 3 to eight partitions.
Running more tasks in parallel. Before tuning, each stage always had 36 partitions!
Fix RPC Timeout Exceptions
When looking at the application logs, we could see a lot of RPC timeout exceptions. We do a web search and find what we believe is the relevant JIRA (SPARK-14140 in JIRA). The recommended fix is to increase the spark.executor.heartbeatInterval from 10s (default) to 20s.
I think this could be caused by nodes getting busy from disk or CPU spikes because of Kafka, Ignite, or garbage collector pauses. Since Spark runs on all nodes, the issue was random (see the cluster services layout table in the first section).
The configuration change fixed this issue completely. We haven't seen it happen since. (Yay!)
Increase Driver and Executor Memory
Out of memory issues and random crashes of the application were solved by increasing the memory from 20g per executor to 40g per executor as well as 40g for the driver. Happily, the machines in the production cluster were heavily provisioned with memory. This is a good practice with a new application, since you don't know how much you will need at first.
The issue was difficult to debug with precision and reliable information, since the Spark UI reports very little memory consumption. In practice, as this setting is easy to change, we empirically settled on 40g being the smallest memory size for the application to run stably.
Right Size the Executors
The original application was running only 3 executors with 72 total cores. We configured the application to run with 80 cores with a maximum of 10 cores per executor, for a total of 8 executors. Note that with 16 real cores per node on a 10 node cluster, we're leaving plenty of resources for Kafka brokers, Ignite, and HDFS/NN to run on.
Increase the Batch Window from 30s to 1m
The data is pushed into Kafka by the producer as batches every 30s, as it is gathered by FTP batches from the remote systems. Such an arrangement is common in telecom applications due to a need to deal with equipment and systems from a bewildering range of manufacturers, technology, and age.
This meant that the input stream was very spiky, when looking at the processing time from the Spark UI's streaming tab.
Increasing the window to 1m allowed us to smooth out the input and gave the system a chance to process the data in 1 minute or less and still be stable.
To make sure of it, the team had a test data which simulated the known worst-case data, and with the new settings, the Spark Streaming job was now indeed stable. We also tried it on real production data, and everything looked good. Win!
Drop Requirement to Save Hive Tables to HDFS
Discussion with the project managers revealed that Hive was not actually part of the requirements for the streaming application! Mainly, this is because the other analytics, mostly SQL requests, could be serviced from the data in HBase.
Considering the goal of the system, the worst-case scenario for missing data is that a customer's call quality information cannot be found... which is already the case. In other words, the consequence of data loss is not negative; rather, the consequence of gaining data is additional insights. If the great majority of the data is processed and stored, the business goals can be reached.
There wasn't much point in saving the data to Hive mid-flight for increased fault-tolerance either, as once the data is in Ignite, it's safe even if the Spark application crashes. This made Ignite an even more critical part of the application, despite it having some issues of its own. It was a difficult decision that we made entirely due to the advanced stage of the project. As we'll explain in more detail in the conclusion, the architecture itself was problematic, and it's not time to play with architecture when you're a week or two from production.
Spark Performance Tuning Results
The Spark Streaming application finally became stable, with an optimized runtime of 30-35s.
As it turns out, cutting out Hive also sped up the second Spark application that joins the data together, so that it now ran in 35m, both now well within the project requirements.
With improvements from the next part, the final performance of the Spark Streaming job went down in the low 20s range, for a final speedup of a bit over 12 times.
Second target: Improve System Stability
We had to work quite hard on stability. Several strategies were required, as we will explain below.
Make the Spark Streaming Application Stable
The work we did to fix the performance had a direct impact on system stability. If both applications are stable themselves and running on right-sized resources, then the system has the best chance to be stable overall.
Remove Mesos and Use Spark Standalone
The initial choice of Mesos to manage resources was forward-looking, but ultimately we decided to drop it from the final production system. At the onset, the plan was to have Mesos manage all the applications. But the team never could get Kafka and Ignite to play nice with Mesos, and so they were running in standalone mode, leaving only Spark to be managed by Mesos. Surely, with more time, there is little doubt all applications could be properly configured to work with Mesos.
Proposing to remove Mesos was a bit controversial, as Mesos is much more advanced and cool than Spark running in standalone mode.
But the issue with Mesos was twofold:
Control over executor size and number was poor, a known issue (SPARK-5095) with Spark 1.6 and now fixed in Spark 2.X.
Ignite and Kafka aren't running on Mesos, only Spark is. Given the schedule pressure, the team had given up trying to get those two services running in Mesos.
Mesos can only ever allocate resources well if it controls resources. In the case of this system, Kafka and Ignite are running outside of Mesos' knowledge, meaning it's going to assign resources to the Spark applications incorrectly.
In addition, it's a single purpose cluster, so we can live with customizing the sizing of the resources for each application with a global view of the system's resources. There is little need for dynamic resource allocations, scheduling queues, multi-tenancy, and other buzzwords.
Change the Ignite Memory Model
It is a known issue that when the Heap controlled by the JVM gets very big (> 32GB), the cost of garbage collection is quite large. We could indeed see this when the join application runs, where the stages with 25GB shuffle had some rows with spikes in GC time from 10 seconds range up to more than a minute.
The initial configuration of Ignite was to run ONHEAP_TIERED, with 48GB worth of data cached on heap, then overflow drops to 12GB of off-heap memory. That setting was changed to the OFFHEAP_TIERED model. While slightly slower due to serialization cost, OFFHEAP_TIERED doesn't rely on the JVM's garbage collection. It still runs in memory, so we estimated it would be a net gain.
With this change, the run time for each batch dutifully came down by about five seconds, from 30 seconds down to about 25 seconds. In addition, successive batches tended to have much more similar processing time, with a delta of 1-3 seconds, whereas it would vary by over 5 to 10 seconds, previously.
Update the Ignite JVM Settings
We followed the recommended JVM options as found in Ignite documentation's performance tuning section (http://apacheignite.gridgain.org/docs/jvm-and-system-tuning).
Improve the Spark Code
Some parts of the code assumed reliability, like queries to Ignite, when in fact there was possibility of the operations failing. These problems can be fixed in the code, which now handles exceptions more gracefully, though there is probably work left to increase the robustness of the code. We can only find these spots by letting the application run now.
Reassign ZooKeeper to Nodes 10-12
Given the cluster is of medium size, it's worth spreading the services as much as possible. We moved the ZooKeeper services from nodes 1-3 to nodes 10-12.
Final System Architecture
Tuning this application took about 1 week of full-time work. The main information we used was Spark UI and Spark logs, easily accessible from the Spark UI. The view of Jobs and Stages as well as the streaming UI are really very useful.
Essential Takeaways
Migrating a streaming application from a prototype on AWS to an on-site cluster requires schedule time for testing
Not testing the AWS prototype with realistic data was a big mistake
Including many "bleeding-edge" OSS components (Apache Ignite and Mesos) with expectations of very high reliability is unrealistic
A better architecture design could have simplified the system tremendously
Tuning a Kafka/Spark Streaming application requires a holistic understanding of the entire system; it's not just about changing parameter values of Spark. It's a combination of the data flow characteristics, the application goals and value to the customer, the hardware and services, the application code, and then playing with Spark parameters.
The MapR Data Platform would have cut the development time, complexity, and cost for this project.
This project was a hell of a dive in the deep end of the pool for a telecom operator with very little experience with the open-source enterprise big data world. They should be applauded for ambition and desire to take up such a challenge with the goal of benefiting their customers. But a better choice of platform and application architecture could have made their life a lot easier.
A Converged Platform is the Correct Approach
In fact, the requirements for this project show the real-world business need for a state-of-the-art converged platform with a fast distributed file system, high performance key-value store for persistence and real-time, and high performance streaming capabilities.
A MapR-based solution would have been a lot easier to build and maintain, absolutely for sure. Since MapR Event Store is built-in, there is one less cluster to manage (bye bye, Kafka brokers). The Spark application could run with the same code but without needing to rely on a speculative open-source project like Apache Ignite.
Saving to MapR Database uses the same HBase API, so likely no code change there either, and you're saving to a DB that's built into the native C MapR XD, so that's going to be super fast as well. Finally, sharing the resources is simplified by running only Spark on YARN or standalone-mode, while the platform is left to deal with the resource requirements of the MapR Event Store, MapR XD, and MapR Database with reliability and performance, guaranteed, since highly trained support engineers are available 24/7 to support every single part of this application.
Given this system is heading into production for a telecom operator with 24/7 reliability expectation, I'd argue that built-in simplicity, performance, and support are pretty compelling and hopefully will be adopted by this customer for the next iteration of the system. (Stay tuned!)
Read: Big Data Opportunities for Telecommunications
Read: How to Get Started with Spark Streaming and MapR Event Store Using the Kafka API by Carol McDonald
Download: Complimentary copy of "MapR Guide to Big Data in Telecommunications"


text:
Nick Young suspended one game for throwing punch at Goran Dragic
By Brett PollakoffJan 16, 2014, 5:16 PM EST
Nick Young has been suspended one game without pay for throwing a punch at Goran Dragic during Wednesday night's game against the Suns, the league announced via official release.
Alex Len, who was ejected for his flagrant-two foul against Young, has been fined $15,000, and Marcus Morris has been fined $25,000 for escalating the altercation.
Young said afterward he believed it was "one against five," and felt like if his teammates had come to his defense, the incident wouldn't have ended up with him throwing punches — which, of course, is complete nonsense.
Young will serve his suspension on Friday, Jan. 17 when the Lakers are in Boston to face the Celtics.


text:
Coprosma fatuhivaensis ist eine Pflanzenart aus der Gattung Coprosma in der Familie der Rötegewächse (Rubiaceae). Sie kommt endemisch auf einer Insel der im südlichen Pazifik gelegenen Marquesas-Inseln vor.

Beschreibung

Vegetative Merkmale
Coprosma fatuhivaensis wächst als Baum, der Wuchshöhen von etwa 7 Meter erreichen kann. Die Rinde von jungen Zweigen ist fein behaart.

Die gegenständig an den Zweigen angeordneten Laubblätter sind in einen Blattstiel und eine Blattspreite gegliedert. Der Blattstiel ist 0,7 bis 1,1 Zentimeter lang. Die einfache, dünn-ledrige Blattspreite ist bei einer Länge von 5,3 bis 6,7 Zentimetern sowie einer Breite von 0,9 bis 1,8 Zentimetern schmal-elliptisch. Die Spreitenbasis läuft spitz zu, die Spreitenspitze ist zugespitzt und der Spreitenrand ist ganzrandig. Sowohl die Blattoberseite als auch die -unterseite sind kahl. Von jeder Seite des breiten Blattmittelnerves zweigen acht bis neun Sekundärnerven ab. Entlang des Blattmittelnerves kann man kleine, meist halbrunde Domatien finden. Die interpetiolaren Nebenblätter ähneln den Laubblättern, werden 0,2 bis 0,25 Zentimeter lang und sind etwa zu vier Fünftel ihrer Gesamtlänge miteinander verwachsen. Sowohl Ober- als auch Unterseite der Nebenblätter ist kahl und sie haben gezähnte und mit wenigen Haaren bewimperte Blattränder.

Generative Merkmale
Die seitenständigen, halb aufsitzenden zymösen Blütenstände enthalten drei Einzelblüten. Die Blütenstiele sind bei weiblichen Blüten bis zu 4,2 Millimeter lang.

Die eingeschlechtigen Blüten sind radiärsymmetrisch und fünf- oder sechszählig mit doppelter Blütenhülle. Die fünf oder sechs Kelchblätter sind bei den weiblichen Blüten röhrenförmig verwachsen und vom 0,5 bis 0,6 Millimeter langen Kelch entfallen etwa 0,1 bis 0,2 Millimeter auf die Kelchröhre und 0,3 bis 0,4 Millimeter auf die dreieckigen Kelchzähne. Die fünf oder sechs Kronblätter sind trichterförmig miteinander verwachsen und die Kronröhre endet in fünf oder sechs Kronlappen. Bei den weiblichen Blüten ist die Kronröhre rund 2 Millimeter und die Kronlappen zwischen 1,2 und 1,3 Millimeter lang. Über die männlichen Blüten ist nichts bekannt.

Über die Steinfrüchte sowie über die Samen ist nichts bekannt.

Verbreitung
Das natürliche Verbreitungsgebiet von Coprosma fatuhivaensis liegt auf den Marquesas-Inseln im südlichen Pazifik. Coprosma fatuhivaensis ist ein Endemit, der nur auf der Insel Fatu Hiva vorkommt, wobei dieses Vorkommen bisher nur von einer einzelnen, im südlichen Teil der Insel durchgeführten Sammlung bekannt ist.

Coprosma fatuhivaensis gedeiht in Höhenlagen von 870 Metern. Diese Art wächst dort an entlang eines Gebirgskamms, in einem von Wind umtosten Wald. In diesem Wald wachsen unter anderem Crossostylis biflora, Freycinetia impavida und Metrosideros collina.

Taxonomie
Die Erstbeschreibung von Coprosma fatuhivaensis erfolgte 2011 durch Warren L. Wagner und David H. Lorence in PhytoKeys. Das Artepitheton fatuhivaensis verweist auf das Verbreitungsgebiet der Art.

Einzelnachweise

Weblinks

Rötegewächse
Rubiaceae

redpajama_set_name: RedPajamaWikipedia


The UN will investigate how human rights are violated in the UK. People who live in (extreme) poverty are asked to formulate how their situation is and how it might change. The eminent international human rights lawyer and UN rapporteur Philip Alston want to determine "the most significant human rights violations experienced by people living in poverty and extreme poverty in the UK" (The Guardian, August 22). But the UN is also expecting to get responses throughout the UK from other parties, such as charities and think-tanks. The upcoming research is political sensitive, but even though approved and facilitated by government.


text:
Drake, Britney Spears to Headline iHeartRadio Music Festival
Other performers include U2, Sia, Sting
Joe Otterson | July 25, 2016 @ 7:52 AM
This year's iHeartRadio Music Festival lineup will include huge stars like Drake, Britney Spears, and Ariana Grande, iHeartMedia announced on Monday.
Other performers on the roster are as follows: U2, Sting, Sam Hunt, Twenty One Pilots, Billy Idol, Florida Georgia Line, OneRepublic, Sia, Cage the Elephant, Zedd, Tears for Fears, Pitbull and Usher. The iHeartRadio Music Festival will also include performances from this year's Macy's iHeartRadio Rising Star winner, Los 5.
"After five years of producing some of the best lineups to ever take the stage, we're excited to unveil one of the strongest iHeartRadio Music Festival rosters to date," said Tom Poleman, president of national programming at iHeartMedia. "This year's show is a complete cross section of the best artists from every genre of music. The weekend will be a true representation of the diveristy of our iHeartRadio stations across the country as well as the music you find on the iHeartRadio app."
Also Read: Jason Derulo to Host 2016 iHeartRadio Music Awards
Each night, the iHeartRadio Music Festival will broadcast live for fans via iHeartMedia radio stations throughout the country across 150 markets. The CW Network will also exclusively livestream both nights of the festival via CWTV.com and The CW App, and then broadcast a two-night television special on October 6 and October 7.
The iHeartRadio Music Festival is co-produced by John Sykes, president of entertainment enterprises and Poleman.
15 Highest Paid Music Stars of 2016, From The Weeknd to Taylor Swift (Photos)
Forbes' annual ranking of the top-paid entertainers includes some stand-out musicians. The totals are based on earnings from June 2015 to June 2016, with figures from Nielsen, Pollstar, Songkick, Box Office Mojo and other sources.
15. The Weeknd - $55 million
Can the Canadian-born singer still feel his face? He catapulted into arena tour status with his 2015 hit album "Beauty Behind the Madness."
15. U2 - $55 million
The Irish rockers may have lost some steam since their record-shattering 360 tour from 2009-2011, but they still can pack in fans.
13. Kenny Chesney - $56 million
The country star has become a fixture on the summer arena tour circuit, supplementing his income with endorsements for Corona beer, Costa sunglasses and his own brand of rum.
13. Justin Bieber - $56 million
The Biebs had a very good year, with a hit album, "Purpose," arena concerts, merchandise sales and a Calvin Klein modeling gig.
12. Paul McCartney - $56.5 million
The former Beatle continues to be a prolific touring artist, and he earns a fortune from music publishing rights.
11. Bruce Springsteen - $60.5 million
The Boss makes a mint touring with the E Street Band and plans a new solo album for late 2016.
10. Diddy - $62 million
Though he's planning a Bad Boy Reunion tour for the second half of 2016, the rapper makes the bulk of his money from his clothing line and a big-bucks deal with Diageo's Ciroc vodka.
9. Calvin Harris - $63 million
The Scotsman (and T. Swift ex) is the top-grossing deejay in the world, with the bulk of his revenue coming from high-paying Las Vegas gigs.
8. Rolling Stones - $66.5 million
The British rockers played only 27 gigs in the period Forbes studied -- but mostly to near sell-out crowds in humongous U.S. stadiums.
7. AC/DC - $67.5 million
The metal giants only seemed to boost the success of their concert tour when they replaced ailing lead singer Brian Johnson with Axl Rose.
6. Garth Brooks - $70 million
The 54-year-old country star is now on the second year of his comeback concert tour, with international dates planned well into 2017.
5. Rihanna - $75 million
Her album "Anti" was another No. 1 hit, and she boasts endorsement deals with Dior, Puma and Samsung.
4. Madonna - $76.5 million
The Material Girl's Rebel Heart tour grossed more than $170 million; she also has successful clothing and perfume lines.
3. Adele - $80.5 million
In addition to sell-out arena concert performances, the British singer sold a record 3 million-plus copies of her album "25" in its first week of release last November.
2. One Direction - $110 million
Despite the exit of Zayn Malik in March 2015, the now four-man British boy band benefited from its On the Road Again tour.
1. Taylor Swift - $170 million
Her North American tour last year smashed the record set by the Rolling Stones, plus she raked in additional cash by promoting products such as Apple, Diet Coke and Keds.
Forbes' annual ranking of the top-earning entertainers includes some stand-out musicians
By Thom Geier | February 12, 2017 @ 5:37 PM
Rihanna Rocks an Alien Face Tattoo in 'Star Trek'-Inspired 'Sledgehammer' Music Video
By Rasha Ali | June 30, 2016 @ 9:24 AM
Essence Festival Expands Beyond Music to Lure Stars of 'Empire,' 'Underground' and 'The Real'
By Rasha Ali | June 29, 2016 @ 4:53 PM


text:
El tiro con arco en los Juegos Europeos se realiza desde la primera edición. El evento es organizado por los Comités Olímpicos Europeos, junto con la confederación World Archery Europe (WAE).

Ediciones

Medallero
Actualizado a Minsk 2019.

Enlaces externos
Pág. de los Juegos Europeos .

Tiro con arco
Juegos Europeos


Montana is a state filled with breathtaking nature and stretches of sweeping scenery, but making the change from city to true country life can be a difficult challenge for many. Even if you're excited about your move to Montana, there's definitely a bit of culture shock to be expected when you swap sneakers for boots and find that your "local" supermarket is now miles away instead of just a few blocks.
If you've decided to make the move and are gearing up to head to Montana, here are 10 tips to make the transition a little smoother.
Montana is home to a little over 1 million people and spans 147,040 square miles. The state's diverse terrain includes broad expanses of vast wilderness, cozy small towns and some cities, too. Billings is the largest city in the state with more than 170,000 residents.
Country life is rooted in community, and it's not uncommon for everyone to be on a first-name basis in small towns. For a city-dweller, this adjustment can be difficult as it feels invasive and strange to suddenly be having a personal heart-to-heart with your cashier, but people from small towns value relationships within the community.
It's a lot harder to go without friendships in a small town than the city, so you want to make a good first impression. When you're the new face in a small place, it's natural for people to be curious about you. If you catch them staring, don't be afraid to smile and introduce yourself.
Enjoy the incomparable view of the sunset each morning while drinking a steaming cup of coffee and hearing the world wake around you without the intrusion of traffic. Get a chicken coop and start a garden. Country living has a way of transforming your priorities and teaching you how to enjoy life without the constant need for constant stimulus.
You'll definitely need a car to do it, but that's okay. Montana is packed with plenty of interesting sights to see from ghost towns to national parks. Entertainment in the county takes more effort, but it's possible.
In Montana, you can expect smooth, uninterrupted driving with beautiful views. There isn't much public transit, so a car is a requirement, but your commutes won't be bogged down by backed-up streets and constant red lights.
Montana has harsh winters, which often leads to a lot of road closures. Summer is the most popular time for construction, so you might be surprised to find your moving route completely blocked. Consider fall or spring to make your move and double check that there are no major closures before you start your journey.
While Montana's cities are small in comparison to others in America, there are still some bustling spots you can call home like Bozeman, Missoula, Billings and Great Falls.
Montana's cost of living is 6.29 percent than the national average. Median annual income is around $36,000, and low tax rates make it much easier to afford real estate and vehicles. You can also get a much bigger home for your money in Montana. The median home value is $225,100.
From festivals to rodeos, hiking and bike trails, Montana has plenty to explore. Attend as many social events as you can when they spring up since this is the best way to meet people in the country.
While you'll need time to adjust to rural living, take your move as an opportunity to embrace the foreign and unexpected. You might feel like you've wound up in a completely different world when you first arrive in Montana, but by following some of the tips above and going out of your way to make the experience fun, you'll create lasting memories that will make Montana feel like home in no time.


text:
Jan Owen
Board Director
Jan is a highly regarded social entrepreneur, innovator, commentator and author who has spent the past 25 years growing the youth, social enterprise and innovation sectors.
In 2012 she was named Australia's inaugural Australian Financial Review and Westpac Woman of Influence. Jan has been awarded honorary degrees (honoris causa) from the University of Sydney (DLitt) and Murdoch University, Western Australia (DUniv); and was awarded membership to the Order of Australia in 2000. She is the author of Every Childhood Lasts a Lifetime (1996) and The Future Chasers (2014).
Jan is currently the CEO of the Foundation for Young Australians; was previously Executive Director of Social Ventures Australia; and Founder and CEO of the CREATE Foundation.
Email Jan
Merger with NZ social change agency Innovate Change
On 1 July 2018, Innovate Change will merge with Innovation Unit, a not-for-profit social enterprise that creates new solutions for thriving societies.
News 08 Jun
Innovation Unit spins out Australian organisation
Innovation Unit Australia will offer disciplined approaches to social innovation aimed at tackling the increasing inequality experienced across Australia and further strengthening our international capacity.
News 02 May
Engaging in work that matters
In the first of two posts, Stacey Quince, Principal at Campbelltown Performing Arts High School, reflects on the journey her school is taking to transform the purpose and nature of learning.
Blog 18 Jul


If you need donor eggs to have a baby you may consider going abroad for IVF treatment. There is the perception that donor eggs aren't available in the UK, and that clinics that do offer donor eggs have long waiting lists.
This isn't the case at Complete Fertility Centre where we have donor eggs available right now.


Love the look on the caps player behind the fight, who is that?
Round 1 playoff ticket thread!
Ovi doesn't care about age.
I guess I'm putting this back in the closet until the Fall.
The Book of Orpik: The answer to all questions.
I got this tattoo in 2010 because my dad used to take my brother and I to caps games as kids and I knew the caps would be a piece of my life I'd never regret. Now I'm thinking I may need to add some Stanley cup flair to it... any suggestions?
Anyone have the video of May calling out the ref tonight?
Anyway to stream the game tonight?
What to do with Rally Towels after the game?
[Off-day Post] Who are you guys watching in the west?
Can someone please find Kuzy!
So wait a minute. Now I have to root for the Pens, so that the series takes longer and the Islanders are worn down a little more ?
Upon further review, there's not a chance Ovechkin didn't break Svechnikov's nose.
The @Capitals have won six consecutive playoff games dating to Game 2 of the 2018 #StanleyCup Final (a franchise record).
I WIN OT UPVOTE PARTY BABES!!!
Went to my first ever hockey game with my Dad. It sure was a good one!
Best game I've ever been to! I have no voice today and that's perfectly fine with me. Let's finish this in Raleigh, boys!
How are we feeling, Babes?!
Our View of Batya Scorpik's Post-Victory Recognition.
Brooks Orpik will finish this playoffs with more goals than Sydney Crosby.
You know whats better than watching the Pens get whooped?
Ovi: ARE YOU NOT ENTERTAINED?
Does anyone know how to watch the Caps game from a foreign country?
Idk about you guys but I'm happy we had to beat CBJ, PIT, and TBL to win last year.
The hot lap is back.
Anyone tailgating at PNC for tomorrow's game?
My husband decided he needed to rep the Caps on our honeymoon in Italy... IT'S GAMEDAY WORLDWIDE MY BABES!!!
I need a drink, anyone else?
Going to school in enemy territory, hoping to witness a sweep!
We got our asses kicked. Good.
Anyone have a cut up from Games 1 and 2 of the moments Svetch is taking whacks at Ovi?
Clocking in from 407 lads.
When was the last time two Russian-born NHL players fought one another?


Have you cleared the IBPS RRB Scale I Officer Prelims Exam 2017 and fear of attending the interview increases the peer pressure. Don't worry we are here to assist you for your interview preparations. We have conducted the Mock Interview for the IBPS RRB Scale I officer and if you have missed that, Don't worry we still have an option to assist your preparations. We are launching a 6 Days Interview superbatch for all the aspirants (who have missed the Mock Interview and also for the one who have attended the Mock Interview) who have cleared the Mains Examination. This Interview Superbatch happens in our Madurai Branch. You will learn the nuances of the interview and the ways to tackle the questions asked in the interview. If you are really worried about the negatives of yours , Don't worry we will help you to launch your career in the right direction in the interview.


text:
Go Home «» News «» Vital Signs App (VS App) «» A detection blood test could soon discover asymptomatic early stage cancer 2 2
A detection blood test could soon discover asymptomatic early stage cancer 2 2
September 14, 2021 Femi Taiwo
Everyone has been touched by cancer in some way, whether it's a friend or family member facing a diagnosis, or their own worry about susceptibility to the disease.
This year alone, roughly 1.8 million people will be diagnosed with cancer in the United States, according to the National Cancer Institute. Nearly 1,700 lives are lost to cancer every day.
Despite numerous advances in oncology — the field of medicine that treats cancer — cancer is the second-leading cause of death in the U.S., according to the Centers for Disease Control and Prevention, and is projected to become the first.
That's in large part because most cancers go undetected until it is too late because there is no early screening available today for the majority of deadly cancers.
The current guideline-recommended screenings in the U.S., while critical, test for just five cancers and screen for a single cancer at a time. In fact, cancers without available screening tests account for 71% of all cancer deaths in the U.S.
The importance of early detection
Medical experts agree that early detection of cancer saves lives and directly correlates with the ability to treat the disease successfully.
Because screenings exist for only five types of cancer when there are more than 100 types in total, the most pressing unmet need in cancer early detection is to identify cancers for which there are no existing recommended screening tests.
Joshua Ofman, MD, MSHS, chief medical officer and external affairs at GRAIL, a company whose mission is to detect cancer early, when it can be cured said
Late stage cancer detection is deadly. The five-year survival rate of a person diagnosed with cancer once it has already spread is just 21%, compared to an 89% survival rate of someone whose cancer is found in early stages.
There is a significant opportunity to reduce cancer deaths through early detection.
With the introduction of Galleri, we are approaching a long-awaited and pivotal moment in cancer care, and we are dedicated to bringing this potentially life-saving technology into the hands of patients, providers, and communities.
We are thrilled to be making a blood test that can detect multiple deadly cancers early a reality.
Potentially game-changing technology expected in 2021
Fortunately, medical advances are poised to change how cancer can be detected in the near future. Researchers have been working hard on a single blood test capable of finding many cancers.
The novel multi-cancer early detection blood test, called Galleri, is developed by GRAIL and expected to be commercially available for the first time in 2021.
In a clinical validation study, an earlier version of the test demonstrated the ability to detect more than 50 types of cancers — over 45 of which have no recommended screening today — including at early stages, with a very low false positive rate of less than 1%.
When a cancer signal is detected, Galleri is able to determine where in the body the cancer signal is located with high accuracy.
Minetta Liu, MD, research chair and professor, Department of Oncology, Mayo Clinic explains that
A simple blood test capable of detecting more than 50 types of cancer is a ground-breaking and potentially life-saving advancement that could have a tremendous human and economic benefit.
Recent modeling data suggests if all cancers currently diagnosed at stage IV could be detected earlier, evenly distributed across stages I-III, cancer deaths could fall by 24%.
A new era in early cancer detection
Biomedical innovation is evolving, and this new breakthrough blood test has the potential to save many lives through early detection.
How to Do an Intervention for Drugs and Alcohol
Pregnancy and Health – Things You Should Never Ignore
A Guide to Healthy Lifestyle and Practices in Home Living
APAP Login – All You Need To Know
Top 8 Ways to Personalize Your Baby's Diaper Bags
Facts and Myths You Should Know About Skin Whitening Soaps
All you need to know about crystal healing the complete practitioner's guide!
Risk of developing heart failure is significantly greater in rural settings than in metropolitan ones
NIH launches intramural bioengineering center to promote agency-wide technology collaboration
Get the Facts on Epilepsy!
WAEC Chemistry Practical Alternative A D Question And Answer
2021 WAEC Chemistry Practical Question Answer Specimen


If you look around the offices and labs at most biotechnology companies in Cambridge, Boston or Worcester, you'll see roughly an equal number of men and women. At least in the lower- and mid-tier jobs.
But enter the executive office suite — and you'll see a marked difference. According to the Massachusetts Biotechnology Council (MassBio), only one of every top four managers is a woman.
In the boardroom, there's on average just one woman among every 10 board members.
When it comes to racial and ethnic diversity, the problem largely stems from not enough minority candidates entering biotech in the first place. One report finds recipients of doctoral degrees in life sciences in the U.S. in 2015 were 74.9 percent white, 11.4 percent Asian, 7.8 percent Hispanic or Latino, and 5.6 percent black or African-American.
MassBio is starting an initiative to change this. The group is partnering with historically black colleges and universities to try to attract young people to careers in biotech. On the local level, MassBio is also working with other life sciences organizations in the state in hopes of steering kids from Boston Public Schools toward those jobs.
The trade association studied gender diversity in the industry last year. It has advised biotech companies on how to bring more women into the highest ranks.
"We're not doing it just to have diversity of numbers for window dressing," Edie Stringfellow, MassBio's new director of diversity and inclusion, said. "We're doing it because if you're excluding those voices from the table ... you're excluding people that can actually help bring therapies and cures to help have a healthier community."
WBUR's All Things Considered host Lisa Mullins spoke with Stringfellow and Paula Soteropoulos, founding CEO of Akcea Therapeutics. Akcea is a biotech company in Cambridge that's developing drugs to treat rare diseases. Soteropoulos said having women in the upper ranks of her company changes the way it does business.
Paula Soteropoulos: We early on brought in some patients into our company and spent the time to listen to their stories. I will tell you, it was very emotional. Most of us were in tears, listening to what they go through. But in the course of that we understood that they had far more manifestations of their disease that they were living with every day and struggled with that we weren't capturing in our clinical study. So it changed how we then conducted our clinical studies. It also helped us assess how well is our medication was working.
Lisa Mullins: But what difference does having women on a board make for that kind of process?
Soteropoulos: I think that just bringing the type of management style that requires more collaboration ... and really empathy, as well. I will add, women can be very tough when they need to be, and I have to be decisive. But the point of it is really being inclusive and listening to other perspectives ... And what we've done in our company is ... today we have 50 percent of our board is women, almost 50 percent of our management team, women. It was a conscious effort. And it's not about quotas and trying to meet a number. It really is opening up the pool of talent.
So do things break down because management is not bringing women into higher positions, or, as you found, Edie, in the study for MassBio Council, a lot of women have children and that gets them off the track?
Edie Stringfellow: We get penalized when we take time off to have children and have families. So one thing that we look at how we can address that is encouraging shared parental leave at organizations and encouraging our male counterparts to take that leave. So that requires less time for the woman to be out of the workplace and to also ensure that there are mechanisms in place that she still is keeping in touch with her team to the best of balancing, not falling out of touch with what's going on at work, but also focusing on taking care of a healthy little baby.
Paula where, for you, do you find the breakdown?
Soteropoulos: So it's all of the things that you talked about. It is the time of taking off to start a family. But there's other things I have found as I looked back at my career, and where are the places that made a difference for me. I grew up in a very traditional family, traditional role. The cooking, cleaning, cleaning up after my older brother because that was expected of me. And [advancing in my career] started with, really, my husband, who was not raised that way. ... And he supported me more than I actually did myself in the sense, that I could do more than I thought I could.
The defining element that changed my career is people who took risks on me and taught me to take risks myself. ... I was at Genzyme for 20 years, and the company did foster a lot of risk-taking. That came from the late former CEO, Henri Termeer. ... It was never about gender for him — ever. And he encouraged people to take on roles that were a stretch — stretch goals — and I think I've seen a lot of companies lose that.
But it's not just a matter of self-esteem. And to what extent are there real barriers that are created by men at the highest levels?
Stringfellow: I can only list what we saw. And some of the barriers were the zero sum game, like, 'What's in it for me if we promote more women?' Also, 'Do I feel as if she is as qualified to do this role? Do I feel I'm confident in her abilities?' ... Unconscious bias: 'Can I depend on her to do something if she has to get a call and come home for school, or an emergency or something?' "
Paula, when did you find this in your career?
Do you have to convince [companies] that [becoming more balanced in terms of gender diversity] is the right thing to do? And do you have to show, because you have the data to prove this, that it's good for the bottom line?
Stringfellow: We've made our business case for it. We have a lot of work to do as an industry, as a whole, but we are making strides. ... Most of our member organizations have embraced this change, this sense and this drive."
Soteropoulos: I'm very encouraged that things are moving and changing. It feels somewhat of a groundswell. Several years ago, earlier in my career, I think when you were the only woman on a management team, what I saw is women weren't helping women. It was almost like a badge of honor. I made it here, and they weren't helping other women. It is very different now. Women are helping women. And I, and I can see from recruiters — I get a lot of calls with opportunities for board, CEO types of positions because they're looking — more companies are looking for women. We've created a network in passing those opportunities on. It wasn't something I was seeing 10, 15 years ago.
This segment aired on June 7, 2018.


Best bottom waterproof washable training pants.
Medium blueberry, grape, bubblegum, and panda , Hedgehog small, medium and Extra large in stock end April.
Best bottom training pants are a waterproof sized pull on pants that look like real pants they can be used with either the best bottom feel wet training pants inserts that are ideal for little accidents if you todder is just starting potty training then the small or medium best bottom stay dry or hemp inserts can be used, all inserts popper in to the pants so your child can easily pull the pants up and down.
Through thorough testing, toddlers chose the Best Bottom Training Pant because it looks and feels like REAL underwear!
The soft and stretchy cotton outer makes it easy for them to pull up and down on their own.
The waterproof zone on the inner protects from accidents and allows you to snap out the wet insert and snap a new one in, reusing the training pant and saving you even more money!
The training pant is sized (potty trainers rarely change sizes during the time they are training) and we found that a one-size training pant with snaps on the front was labeled as a diaper by toddlers.
Why no snaps on the sides? Side snapping training pants were also called out by toddlers as diapers. For the occasional #2 accident, simply have your toddler stand while you slip the trainer to their ankles and snap out the soiled insert.
X-Large (5T) 35-50 lbs. 18"-26" 14.5"-15.5"
Most leak-proof yet but not perfect!
I am using these pants overnight on my two boys both of whom are still wet at night. The 2 1/2 year old is in size M with Medium stay dry insert, and the nearly 5 year old is in L with Medium stay dry insert. They are quite close fitting so you wouldn't fit any bigger inserts in, in fact the M pants would be best with a small insert I think. So the bottom (!) line is that they are fairly leak proof - one day in three PJs get wet, but the bedclothes are saved. Given that they used to leak out of disposable pull ups I'm quite happy with that!
Bought these for my daughter to use at night when we were concerned she might not wake for a wee. Told her they were her big girl knickers as she could pull them up and down like the ones she used in the day time. Used with the inserts that key my daughter know if she was wet, making they were absorbing the accident but making her aware of it for the future!
These are great. We use them with small best bottom inserts and hemp doublers we already had for overnight. This means if we put him on the toilet overnight we can pull them down easily but they have enough absorbency to last the night unlike normal training pants.


Confused about where to go for answers?
Finding the right contact may save you time. Sometimes it's easy to know where to go for assistance. At other times, it's less clear. Use this reference guide to help guide you to the best point of contact for your answer.


text:
Q: How to draw photo with correct orientation in canvas after capture photo by using input[type='file'] in mobile web browser? I am making a simple web app in mobile which allow visitor to capture photo by using html5 input[type=file] element. Then I will display it on the web for preview, and then visitor can choose to upload the photo to my server for other purpose(ie: upload to FB)
I find a problem on the orientation of photo when I take photo using my iPhone and hold vertically.The photo is in a correct orientation in  tag.
However, when I try to draw it into canvas by using drawImage() method, it is drawn 90 degree rotated.
I have tried to take photo in 4 orientations, only one of them can draw a correct image in canvas, others are rotated or even flipped upside down.
Well, I am confused to get the correct orientation to fix this problem...
Thanks for helping...
here is my code, mostly copy from MDN

Camera API

A demo of the Camera API, currently implemented in Firefox and Google Chrome on Android. Choose to take a picture with your device's camera and a preview will be shown through createObjectURL or a FileReader object (choosing local files supported too).

                    <form method="post" enctype="multipart/form-data" action="index.php">
                        <input type="file" id="take-picture" name="image" accept="image/*">
                        <input type="hidden" name="action" value="submit">
                        <input type="submit" >
                    </form>

Preview:

                <canvas id="c" width="640" height="480"></canvas>

A: You'll need to read the exif data and check if exif.Orientation is one of the following:
fileReader.onloadend = function() {

    var exif = EXIF.readFromBinaryFile(new BinaryFile(this.result));

    switch(exif.Orientation){

       case 8:
           ctx.rotate(90*Math.PI/180);
           break;
       case 3:
           ctx.rotate(180*Math.PI/180);
           break;
       case 6:
           ctx.rotate(-90*Math.PI/180);
           break;

    }
};

A: Ben's great answer pointed me in the right direction but as far as I can tell the actual rotations are incorrect (at least they were for me) and don't cover all possible cases. The solution below worked for me. It is based on the one found in the JavaScript-Load-Image library (which I found via this great SO question). Note that I also had to translate the Canvas context to the center as it originates from the top left corner when rotating).
fileReader.onloadend = function() {

    var exif = EXIF.readFromBinaryFile(new BinaryFile(this.result));

    switch(exif.Orientation){

        case 2:
            // horizontal flip
            ctx.translate(canvas.width, 0);
            ctx.scale(-1, 1);
            break;
        case 3:
            // 180° rotate left
            ctx.translate(canvas.width, canvas.height);
            ctx.rotate(Math.PI);
            break;
        case 4:
            // vertical flip
            ctx.translate(0, canvas.height);
            ctx.scale(1, -1);
            break;
        case 5:
            // vertical flip + 90 rotate right
            ctx.rotate(0.5 * Math.PI);
            ctx.scale(1, -1);
            break;
        case 6:
            // 90° rotate right
            ctx.rotate(0.5 * Math.PI);
            ctx.translate(0, -canvas.height);
            break;
        case 7:
            // horizontal flip + 90 rotate right
            ctx.rotate(0.5 * Math.PI);
            ctx.translate(canvas.width, -canvas.height);
            ctx.scale(-1, 1);
            break;
        case 8:
            // 90° rotate left
            ctx.rotate(-0.5 * Math.PI);
            ctx.translate(-canvas.width, 0);
            break;

    }
};

A: If you just want the Orientation tag, using exif.js:
EXIF.getData(file, function () {
    alert(this.exifdata.Orientation);
});

In my tests, iOS camera only returns 1,3,6 or 8.

A: add exif.js to your project, then:
EXIF.getData(file,function() {
  var orientation = EXIF.getTag(this,"Orientation");
  var can = document.createElement("canvas");
  var ctx = can.getContext('2d');
  var thisImage = new Image;
  thisImage.onload = function() {
    can.width  = thisImage.width;
    can.height = thisImage.height;
    ctx.save();
    var width  = can.width;  var styleWidth  = can.style.width;
    var height = can.height; var styleHeight = can.style.height;
    if (orientation) {
      if (orientation > 4) {
        can.width  = height; can.style.width  = styleHeight;
        can.height = width;  can.style.height = styleWidth;
      }
      switch (orientation) {
      case 2: ctx.translate(width, 0);     ctx.scale(-1,1); break;
      case 3: ctx.translate(width,height); ctx.rotate(Math.PI); break;
      case 4: ctx.translate(0,height);     ctx.scale(1,-1); break;
      case 5: ctx.rotate(0.5 * Math.PI);   ctx.scale(1,-1); break;
      case 6: ctx.rotate(0.5 * Math.PI);   ctx.translate(0,-height); break;
      case 7: ctx.rotate(0.5 * Math.PI);   ctx.translate(width,-height); ctx.scale(-1,1); break;
      case 8: ctx.rotate(-0.5 * Math.PI);  ctx.translate(-width,0); break;
      }
    }

    ctx.drawImage(thisImage,0,0);
    ctx.restore();
    var dataURL = can.toDataURL();

    // at this point you can save the image away to your back-end using 'dataURL'
  }

  // now trigger the onload function by setting the src to your HTML5 file object (called 'file' here)
  thisImage.src = URL.createObjectURL(file);

});

The orientation block (using translate and rotate) is copied from https://github.com/blueimp/JavaScript-Load-Image/blob/master/js/load-image-orientation.js and so I consider it well proven. It certainly worked perfectly for me, whereas other approaches didn't.

A: Based on your answers, I created a function to auto rotate iphone photo to right direction.
Just pass in an input.files[0] and an optional max width or height, it'll output a blob used for form submit.
https://github.com/gonnavis/iphone_photo_rotation_adjust

redpajama_set_name: RedPajamaStackExchange


text:
Gymnopholus lichenifer é uma espécie de escaravelho da família Curculionidae.

É endémica da Papua-Nova Guiné.

Referências
  World Conservation Monitoring Centre 1996.  Gymnopholus lichenifer.   2006 IUCN Red List of Threatened Species.   Dados de 9 de Agosto de 2007.

Fauna da Papua-Nova Guiné
Gymnopholus
Coleópteros descritos em 1966


text:
L'année 1422 est une année commune qui commence un jeudi.

Événements
 20 janvier : le prétendant au trône ottoman Mustafa embarque pour l'Anatolie sur des vaisseaux Génois. Il rencontre  qui le bat puis l'élimine lors de sa fuite à Edirne et s'impose comme seul sultan ottoman (fin de règne en 1451).

 17 avril : l'empereur de Chine Yongle part de Pékin pour une troisième expédition militaire en Mongolie. Il parvient dans la région du Dalaï Nor mais Arouktaï s'enfuit dans la steppe (juillet). Il est de retour à Pékin en septembre.

 Avril : début du règne de Barsbay, sultan mamelouk burjite d'Égypte (fin en 1437).
 10 juin :  déclare la guerre à l'empire Byzantin.
 13 juin : les ottomans assiègent Thessalonique.

 24 août :  attaque Constantinople mais doit se retirer devant la résistance des Byzantins le 6 septembre.
 Août : début du règne de Deva , empereur du Vijayanagar (fin en 1446). Déclin de la dynastie de Sangama au Vijayanagar après la mort de Deva .
 22 septembre : abdication du sultan Firuz Shah. Début du règne de son frère Ahmad Shah Vali, sultan des Bahmanî (fin en 1436).

 Le khan des Ossètes Arouktaï rétablit Oldjeitémur comme grand khan des Mongols à Karakorum (fin en 1424).

Europe

 8 janvier : victoire des Hussites sur les croisés à Německý Brod (Deutschbrod).
 16 février : le parlement de Bretagne condamne à mort les Penthièvre, déjà déchus de leurs biens par le duc de Bretagne.
 22 avril : le dauphin Charles épouse Marie d'Anjou à Bourges.
 2 mai : prise de Meaux par les Anglais.
 17 mai : Sigismond Korybutovic, neveu de , candidat au trône de Bohême contre empereur Sigismond, entre dans Prague redevenue monarchiste. Il est proclamé roi mais ne parvient pas à se faire couronner.
 30 juin : bataille d'Arbedo entre les troupes du duc de Milan et les cantons suisses ; victoire des Milanais qui récupèrent ainsi les possessions helvétiques au sud des Alpes.
 24 août - 6 septembre : attaque de Constantinople par les Ottomans.
 31 août : mort de .
  : début du premier règne de , âgé de neuf mois (fin en 1461). Tutelle de Humphrey de Lancastre, duc de Gloucester en Angleterre.
 21 octobre : mort de .
 25 octobre : annonce du mariage de Jacqueline de Bavière (Hollande, Zélande, Hainaut) avec le duc de Gloucester, oncle d'. Jacqueline rompt ainsi son serment à  de ne plus se remarier.
 30 octobre : , reniant le traité de Troyes se proclame roi de France à Mehun-sur-Yèvre, près de Bourges (fin en 1461).
 19 novembre : le duc de Bedford, nommé régent de France pour son neveu le roi d'Angleterre  (fin en 1429), après que  a refusé la régence, demande au Parlement de Paris la prestation du Serment général de fidélité au jeune roi.
 27 décembre : paix du lac de Melno entre la Pologne-Lituanie et l'ordre Teutonique.

 Venise envisage l'annexion de la Morée.

Naissances en 1422

 vers 1422 : Victor von Carben, rabbin allemand

Décès en 1422

Notes et références

Liens externes

Année du XVe siècle


Description: 5 Napkin Burger is not only filled with a wide range of burgers but also have sushi, appetizers and salads. Choosing what to eat may not be a tough decision to make, what's tough is selecting a drink. Here, you have 50 beers, 100 wines and 10 cocktails to choose from. No matter what you choose to eat or drink, get ready to have the time of your life.


and Humidity Monitoring and recording with phone call, SMS and email alert system for various server rooms and data centers.
The device is a standalone device with own battery back up with one combined sensor for monitoring Humidity and Temperature. A SIM card has to be inserted into the device and the device can be programmed using USB cable to set the upper and lower limits for Humidity and Temperature.
When the temperature or humidity goes beyond the programmed limits, it will activate a local alarm and after a defined duration if the problem is not attended or if not reset, it will make phone calls to 4 operators and deliver a voice message indicating the location and type of faults. The phone calls will be made continuously until one of them picks up the phone, listen to the voice message and press the # button on the mobile phone to acknowledge the call. Additionally if the problem is not attended after a certain duration eg. 15 minutes, the phone calls will be made once again and so on. Apart from the phone calls, SMS and Email alerts also can be programmed. The Email alert will show exactly the present temperature and Humidity condition. The sensor of this Temperature & Humidity Monitoring device is with a accuracy of 0.3 Degree Centigrade.
Thermal Time Constant: Approx. 75sec.
Response Time (90%): Approx. 190sec. Response Time (90%): Approx. 7min. Response Time (90%): Approx. 7min. Response Time (90%): Approx. 20sec.
Measurements (alternating display), Power Warning Mark, etc.
Vacker presently operates directly or through associates in UAE,Saudi Arabia,Kuwait,Oman,Qatar,Nigeria,India,Sudan,Ethiopia,Djibouti and other African countries.


Salon is featuring this article titled "New York lockdown" about the planned and unplanned protests for the Republican National Convention later this month, and what the city plans to do about them. I'm not too worried about terrorists that week, but after reading this I'm more concerned that protesters are going to do something stupid that provokes a rash reaction from the police. I had hoped to avoid all of the mishegoss of the convention, since I live on the Upper East Side and commute to work on the Lexington Avenue subway line. But some of the protesters plan to go where the police aren't and disrupt things. I can just see me walking several blocks out of my way because some idiots have chained themselves together across lower Broadway, blocking my access to my office. City Hall is just a few blocks north of my office; I'm sure there will be a protest presence there at some point. Don't get me wrong: I don't disagree with these protesters or their right to express themselves, but I'd prefer it if they kept themselves and their expressions out of my neighborhood.
This terrifies Bush opponents, who worry that violence on the streets of New York will help the Republicans by making them look like Middle American moderates besieged by nutty radicals. They note that the Chicago '68 debacle helped cement Richard Nixon's reputation as the law-and-order candidate.
One of the organizers thinks that ordinary New Yorkers will see the protests and join in. I can guarantee that I won't be among them. I stood on the fringe of the anti-war protest in Washington Square Park in March 2003 and had zero desire to get any closer. When i saw police in riot gear run past I went straight home until the whole thing was over. If the convention week is anything like that anti-war protest, it actually won't be that bad -- there were only a few arrests in an otherwise peaceful crowd. Unfortunately, based on this article and some other things I've read and heard, I think the outrage at the Bush administration is at such a high level that this time protests will be long, loud, and combative.