Big phone, small tablet or in-between 'phablet'? It's a question that gets less and less important the more you get to grips with the Samsung Galaxy Note 2. With its whopping 5.5in display it gives you more screen real estate than even Samsung's own Galaxy S3 or the HTC One X and the kind of Web-browsing, game-playing, video-watching usability you'd expect from a 7in tablet. Yet it's still (just about) small enough to wedge in a jacket pocket. Throw in Samsung's S-Pen technology, and you have a device that won't suit some users, but will prove indispensable to others. Most of all, it's still a device unlike any other.
There's no getting away from the fact that the Galaxy Note 2 is big. Measuring 151 x 80.5 x 9.4mm, it's slightly wider and taller (though a little thinner) than the original Note, and over a centimetre wider and taller than the Galaxy S3 – hardly the least obtrusive phone itself. You do feel a bit silly holding the thing up to your ear while making or taking calls, and even if you could cram it into your jeans pocket, you wouldn't look or feel comfortable walking around with it in there.
Get over the size, however, and it's surprising how light and comfortable the Galaxy Note 2 feels. Despite the flexible, strip-away plastic back it never feels lightweight or plasticky, it's all nicely curved for the hand, and the metallic edge gives it extra weight and substance. It's a good-looking, robust-feeling device.
Controls and connections are all in place, but discrete. There's a volume rocker on the left-hand-edge, a power button on the right and a standard micro USB port at the bottom. The only control button on the front is a single pill-shaped home button, with touch-sensitive menu and back buttons to the left and right that only light up when activated. To find the micro SIM card slot and micro SD card slot, you have to peel away the back, also allowing you to get at and replace the battery. The Note 2 ships in 16, 32 and 64GB variations, but it's always good to be able to upgrade it with a micro SDXC card, and you don't need to remove the battery to get at it either.
While it won't be challenging the iPhone 5 in the pixel density stakes, the 5.5in AMOLED screen is a beauty. The 1,280 x 720 pixel resolution is actually lower than the 1,280 x 800 resolution of the original Note, but there's compensation in the fact that there's no pentile sub-pixel arrangement here, making everything look that little bit sharper. It's a fantastically bright, fantastically clear screen, and if the colours sometimes look a little too vibrant, at least they're consistently punchy and always hold up well, no matter what the lighting. If you're playing games, browsing photo albums or watching movies, then this is a brilliant device to do so on, offering a bigger screen experience than any normal smartphone, but without the added size and weight of a tablet.
Of course, there are a few more questions when it comes to apps or browsing the Web; with the same resolution as the Galaxy S3, does the bigger screen of the Note 2 actually bring any benefits? On balance, we'd say so. It's just that bit easier to read text without zooming in to the same degree, or to navigate around a page without prodding the wrong bit. The Note 2 also works better as an eBook reader, because you can see more text without decreasing the font size to the point of being illegible.
Overall, that larger screen helps make the Note 2 an incredibly versatile device.
Sound is another strength. While we've heard some 7in tablets deliver more powerful and better-rounded sound, the Note 2 fares better than most smartphones while watching films or playing games. Call quality is good, and the Note 2 works well to record voices or double up as a speakerphone. Samsung also gets kudos for shipping a half-decent pair of in-ear headphones in the box. They won't stand up to a set of budget IEMs from Shure or Klipsch, but when combined with Samsung's music player app and its SoundAlive EQ technology, you can get some very listenable results.
The reason the original Note caught the public imagination was its S-Pen stylus, which transformed the device from an oddball smartphone/tablet into something people wanted to work and play with. It all comes down to a combination of software and hardware, with Wacom providing digitiser technology to recognise the proximity of the stylus and sense the pressure with which it's being applied (with support for up to 1,024 levels), while Samsung has provided software to harness these features to useful effect.
The stylus now resides in a slot at the bottom of the device, and it's a slim but very manageable effort with a nice, rounded profile. The Note 2 actively recognises when you've pulled the stylus from its sheath and takes you to a gallery of templates for the S Note note-taking app, where you can doodle, list or annotate to your heart's content.
The app has some very smart handwriting recognition technology built in, which did an impressive job of converting the scrawl that once appalled my teachers into normal text (albeit with the assistance of some heavy autocorrect), and while you couldn't mistake S Note for an art package, there are enough line and colour options to keep most doodlers busy in their next endless meeting. There's also a neat screen recorder function, so that you can watch your notes and annotations appearing later in the order that you added them.
But the functionality doesn't end there. Open up the S-Planner calendar app and you can hover the pen over an event to see more detailed information, and there's a similar preview feature in the email application. Hold the button on the pen down while you have another app open, and you get a screenshot you can annotate using S-Note's tools before saving it to use or email later.
Beyond this, Samsung also includes an entertaining little app called Paper Artist, which enables you to take a photo or open up a new one then add a range of artistic filters locally using finger or stylus, with the effects happening as you watch in real time. I'd be hard pressed to say that it did anything useful or even that artistic, but it's fun – and the Note 2 isn't all about hard work by any means.
The Note 2 combines Android 4.1 Jelly Bean with Samsung's own email, contacts and browser apps, plus the usual TouchWiz UI enhancements. These don't radically alter the Android UI, mainly adding a different lock screen, a slick clock and weather widget and widgets for Samsung's Music Player and Video Hub apps, the S Suggest App recommendation service and the Flipboard news and social update app.
How useful you'll find Samsung's own apps will depend on how willing you are to get immersed in Samsung's own high-tech ecosystem. Meanwhile, the S Voice feature – effectively Samsung's take on Apple's Siri – still isn't quite ready for prime-time. In rough tests it managed basic queries on weather, public figures and history, but still diverted a lot of questions to a straight Web search. Names also seem to be a major problem, with S Voice struggling to parse many common English monikers.
Thanks to Google's Project Butter initiative, Jelly Bean consistently delivers a smooth, responsive experience, and it's no different on the Note 2. There are no long pauses or awkward waits, and everything happens as fast as you might want it to. And when you try it with demanding apps, the Note 2 doesn't falter. Its quad-core Exynos 4412 runs 200MHz faster than the same CPU on the Galaxy S3 or Note 10.1, and with 2GB of RAM it's an extremely fast performer. High-end games like Dead Trigger and Real Racing 2 run smooth as silk, and the Geekbench score of 1,968 puts the Note 2 ahead of the S3 and the iPhone 5. The Mali-400MP GPU means it's not as fast in 3D as the iPhone 5, but it gives Tegra 3 handsets a good run for their money, and a 17fps result in the Egypt HD benchmark is nothing to be sniffed at.
The Note 2 combines an 8-megapixel rear-facing camera with a 1.9-megapixel front-facing effort. The lens has a fixed f/2.6 aperture – which isn't the fast on a phone – but there's an LED flash for low light situations. Image quality isn't bad at all. The camera struggles inside in poor lighting, but it's fine outside in reasonable conditions, and it did a surprisingly good job of capturing sunsets. The camera app has the obligatory built-in effect modes, plus a surprisingly useful HDR setting which comes in handy if you're trying to get properly exposed skies and landscapes at the same time – though you need to make sure you hold this hefty smartphone still while you take them.
It's always good to see a straight micro USB connection for easy transfer of files to and from PC, and with an MHL cable it can also transfer HD video and surround sound to a compatible TV. However, the Note 2's more exciting connection options are all wireless. The Note 2 has NFC, and also S-Beam – a Samsung technology that uses NFC to make the initial connection between two Samsung devices before transferring data over WiFi. Without a device to test with we can't confirm how well this works, so we'll have to take Samsung's word for it. Meanwhile, Samsung's AllShare technology works as a wrapper for DLNA streaming, making it easier to stream music and video to and from a Samsung TV or other media playback device.
Just as you can't expect a Range Rover to have the fuel efficiency of a Mini, so you can't expect the Galaxy Note 2 to run for days from a single charge. It will, however, manage more than you might expect. I ran it for a weekend of reasonably light use and didn't have to charge it up between Friday evening and Sunday night, and it managed a more intensive day of video playback, games, email-checking and Web browsing with nine per cent in the tank at 1am. This beats some tablets, not to mention a few big-screen smartphones we could mention.
The original Note almost nailed the whole "phablet" concept, but the Note 2 finishes the job. It's undeniably too big to be many people's smartphone, while being too small – and too expensive – to be a credible rival to the Google Nexus 7 or the Kindle Fire HD. However, it does an exceptionally good job of finding a middle ground between the two, becoming a device that can handle both smartphone and tablet duties without too many compromises either way. It's lighter than a tablet, but better for browsing, gaming, reading and media playback than a smartphone, and for many people that will be enough.


The Ohio State University (USA), Educational Psychology, Ph.D.
The Ohio State University (USA), Applied Statistics, M.A.S.
The Ohio State University (USA), Education, M.A.
Yao, J. (2016). Deterrent effects of road traffic safety laws. Paper presented at the 2016 annual meeting of Chinese Psychological Society, Engineering Psychology Special Forum: "Applications of engineering psychology in aviation and driving research". Shanxi Normal University, Xian, Shanxi.
Yao, J. (2016). Risky behaviors of youth related to road traffic safety. Paper presetned at the 2016 annual meeting of Chinese Sociology Society: Forum on youth life and value in the "New Normal". Lanzhou University, Lanzhou, Gansu.
Kelley-Baker, T., Yao, J., & Pollini, R. (2014). Prescription drug use in a national sample of female drivers. Poster presented at 2014 College on Problems of Drug Dependence (CPDD) annual meeting. San Juan, Puerto Rico.
Pollini, R., Yao, J., & Kelley-Baker, T. (2014). Prescription drug use, impairment warnings, and perceived risks among U.S. drivers. Poster presented at 2014 College on Problems of Drug Dependence (CPDD) annual meeting. San Juan, Puerto Rico.
Voas, R. B., Yao, J., Romano, E., and Lacey, J. (2013). The significance of alcohol: Crash involvement versus crash responsibility. Poster presented at 20th International Council on Alcohol, Drugs and Traffic Safety Conference. Queensland, Australia.
Yao, J. (2013). Investigating general deterrence of DUI laws on college students. Paper presented at Society for Prevention Research (SPR) 21st annual meeting. San Francisco, CA.
Yao, J. (2013). Effects of general-deterrence-based policies on prevention of drinking and driving. Poster presented at Alcohol Policy 16. Washington, DC.
Kelley-Baker, T., Voas, R. B., Romano, E., & Yao, J. (2012). Age of licensure and alcohol use disorders. Poster presented at 2012 SRCD Themed Meeting: Transitions from Adolescence to Adulthood. Tampa, FL.


text:
Kina building bank of future for Lae: Pawson
May 31, 2019 The National Business
Kina Bank is building a bank of the future for Lae, says chief executive officer Greg Pawson.
At a customer event in Lae on Tuesday, Pawson and his ANZ PNG counterpart Mark Baker met with the customers to provide an update on Kina Bank's acquisition of ANZ PNG's retail, small and medium enterprises and commercial business.
"We have introduced a new network and two new data centres to provide a fast and secure service," he said.
"It means, we have a far more robust and stable network and our customers in Lae can expect a dramatic improvement in customer service."
Pawson also announced a suite of new products and services the bank would launch throughout the year as the bank was dedicated to serve Lae community and would launch even more new products and services for customers.
"We are looking at online retail FX service, contactless payment options such as Google Pay as well as introducing tap and go credit cards for customers to be able to bank anywhere, anytime."
Pawson said last year the bank introduced online loan applications and accounts opening which were a huge hit with the customers.
The bank has about 85 separate digital-based projects being developed at the moment and has been investing significantly in technology behind the scenes.
The bank's belief is that banking should be simple, convenient and easy to access.
Improving agriculture vital: Official
Chamber looking forward to work with new PM

redpajama_set_name: RedPajamaCommonCrawl


text:
The Muslim world
The war for Islam's heart
Extremists declare that Muslims are the victims of the war on terror and must fight back. Liberals try to save their faith from being hijacked
Middle East & AfricaSep 18th 2004 edition
THREE years after the attacks on New York and Washington, the anguish among the world's 1.2 billion Muslims has not diminished. Other Muslim fanatics have carried out other fearful crimes in the name of Islam. And non-Muslim armies have stomped into Muslim-populated lands to prosecute a war on terror that some perceive as a war on Islam.
The result is that ordinary Muslims find themselves confronted with increasingly fierce claims for possession of their faith. Rival narratives have emerged at either end of the extremely broad Muslim spectrum, and they could scarcely be more different. Expressing one view, a prominent Arab columnist decries the fact that while it is obvious that all Muslims are not terrorists, it is sadly apparent that these days nearly all terrorists happen to be Muslims. The spokesman for a jihadist group in Iraq dissents. Wherever you cast your eye, he writes in a recent posting to the internet, you find only one truth, which is that infidels are slaying Muslims "in every way, in every land, and with overspilling hatred."
The two views produce radically different conclusions. With growing stridency, Muslim liberals are saying that it is high time for Muslims to act, to stop their faith from being hijacked and turned into a cult-like vehicle for a clash of civilisations. Their sense is that the violence of a radical minority is not merely ruining sympathy for just Muslim causes in such contested places as Chechnya and Palestine, it is beginning to threaten Muslims' peaceful coexistence with others everywhere.
For their part, the jihadists voice the conviction that sympathy for Muslim causes never existed in the first place. Islam, they say, is so imperilled that fighting for its survival is not merely right, but a sublime duty. And so vicious are its enemies that any means may be used to deter them, the more shockingly cruel, the more effective. Ultimately, they believe, Islam will triumph only if all foreign influence is chased from a vast, unified Islamic state.
To the non-Muslim world, there is little doubt which view is more realistic. Three years ago, it was only Americans who asked Why Do They Hate Us? The same question is now being asked by Indonesians, Spaniards, Turks, Australians, Nepalese, French, Italians, Russians and others whose citizens have fallen victim to jihadist "vengeance". The puzzle is how so many Muslims could for so long remain oblivious to the extremism in their midst.
Egypt's leading newspaper, the government-owned daily Al Ahram, provided a clue recently. On September 1st, it relegated to inside pages the brutal massacre of 12 Nepalese kitchen workers by Iraqi guerrillas, who claimed to be "executing God's judgment" against "Buddhist invaders". A day later, Al Ahram put on its front-page news that rioters in Katmandu, the Nepalese capital, had attacked a mosque—but did not explain what they were angry about. A slip, perhaps, but the omission reflected a pattern, repeated across the Muslim world, of harping on Muslim injury.
There is nothing abnormal in rooting for your own. American coverage of, say, Iraq, is hardly exemplary in even-handedness. The trouble comes with the cumulative effect of repeating a tale of Muslim victimhood, of amplifying it through mosque sermons and manipulating it for short-term political gain. All too many governments have found it convenient to direct their own peoples' grievances into offshore arenas, such as Iraq, and so deflect demands for empowerment closer to home.
Seeing the world through a lens of victimhood has grown into a comfortable habit. So it is that some Arab commentators have explained the kidnapping and murder of foreign civilians in Iraq as the work of American agents. The agents' aim, says Galal Duweidar, who edits Cairo's mass-circulation daily, Al Akhbar, is to "demonstrate the barbarism of Arabs and Muslims and so justify Washington's war on Iraq and its purported war on 'terror'."
Conspiracy as a way of life
Such conspiratorial views seem to reflect a need to sustain coherent plot-lines to explain what are, in fact, rather messy situations. America's occupation of Iraq must be seen to be just as wicked as Israel's occupation of the West Bank, or Russia's of Chechnya. Resistance to all these onslaughts must therefore be noble, however ugly its manifestations may appear.
The desire to paint Muslim resistance with glory leads to peculiar equivocations. Yusef Qaradawi, the most popular television preacher in the Arab world, says that while Islam distinguishes between soldiers and civilians in war, it is hard to make this distinction in practice. Killing prisoners is sometimes justified, he argues, but disfiguring their bodies is a sin. Adel al-Muada, an Islamist radical who is the deputy speaker of Bahrain's parliament, recently declared that while he personally condemned the attacks on New York and Washington, he could not condemn Osama bin Laden because there was "no proof" that he was responsible.
Such wilful blurring of lines is made easier by the way the war on terror has been conducted. The lumping of a range of movements that happen to have a Muslim colouring—some of them at root ethnic, some national, some indeed religious—under the single rubric of terrorism can perhaps be portrayed as "moral clarity", but it tramples on the real grievances behind many of the causes.
Scandals at Abu Ghraib and Guantánamo have made it difficult to maintain that there exist universal notions of human rights, rather than particularist and discriminatory ones. America's record in Iraq is not pretty. The past week's imagery alone has included a bombed ambulance, a dead infant being removed from a shelled building, and the on-camera killing of an Arab television journalist.
Even so, the sheer nastiness of jihadist violence has begun to generate a powerful groundswell of angry Muslim opposition. The coincidence of the anniversary of September 11th 2001 with the horrific slaughter of schoolchildren at Beslan provoked a chorus of condemnation. This was not only against terrorism, but also against the clerics whose extremist interpretations support that terrorism.
Why, demands a former Kuwaiti minister writing in the Saudi daily Al Sharq al Awsat, have we not heard a single fatwa against Osama bin Laden, when Muslims fell over themselves to condemn Salman Rushdie for writing a "vapid" novel? Who has done more damage to Islam? Muslims must no longer remain silent, declares an editorial in the Egyptian weekly Rose al-Yusef; our fear of speaking out has become the terrorists' fifth column.
This article appeared in the Middle East & Africa section of the print edition under the headline "The war for Islam's heart"


text:
The Perceptual MegaPixel (P-MP) is a proprietary ranking of lens-camera combinations, created by DxO Labs. It is intended to express the resolution of which a combination of camera and lens is capable. Complete scientific or technical documentation of the process used to compute P-MP values has never been published, and P-MP measurements have never been made without the cooperation of DxO Labs. The name of the measurement is a trade mark.

The P-MP meant for photographers to consider when comparing the sharpness of a combination of camera and lens.
DxO Labs claims that P-MP is a more accurate and relevant value for photographers to consider when weighing-up camera sharpness.

As of March 2017, the "Canon EF 300mm f/2.8L IS II USM" lens mounted on a "Canon EOS 5Ds R" has the highest measured P-Mpix value in the DxO Labs lens database, a value of 44.7. On the lens' summary pages this figure is rounded to an integer value of 45 P-Mpix

References

Photography

redpajama_set_name: RedPajamaWikipedia


text:
Leveraging Gradle for Accelerating Product Development
Build tools are programs or libraries that automate the creation of executable applications from the source code. Building incorporates compiling, linking and packaging the code into a usable or executable form. Basically, build automation is the act of scripting or automating a wide variety of tasks that the software developers perform in their day-to-day activities like:
Downloading dependencies
Compiling source code into binary code
Packaging that binary code
Deployment to production systems
There are various build tools available based on programming language or framework. For example, NAnt is a build tool for .NET Framework, MSBuild is a build tool for C# and Ant, Maven and Gradle are build tools for Java. In this article, you get to delve deeper into Gradle, Gradle project set-up and involvement of Gradle in automation.
Gradle – An Open Source Build & Automation Tool
Gradle is an open-source build and automation tool for java-based projects. By using Gradle, you can reduce project development time and increase productivity. Gradle is available as a plug-in along with Eclipse, IntelliJ IDEA. Gradle is highly customizable, fast and powerful. The main motto of Gradle is "Make the impossible possible, make the possible easy, and make the easy elegant".
Gradle does not use XML. Instead, it has its own DSL based on Groovy (one of JVM languages). As a result, Gradle build scripts which tend to be much shorter and clearer than those written for Ant or Maven. Initially, Gradle used Apache Ivy for its dependency management. Later on, it moved to its own native dependency resolution engine.
Advantages of Gradle over Ant & Maven
Nowadays, all the projects are using Gradle as a build tool. Gradle provides the following advantages compared to Ant and Maven.
Easy to use and enables implementation of custom logic in the project.
Expressive, declarative, and a maintainable build tool.
Supports dependency management.
Provides standard project layout and lifecycle, and is flexible. You have the option to fully configure the defaults. This is where it proves to be better than Maven.
Provides very scalable and high-performance builds.
Supports the project structure that consists of more than one project to build deliverable.
Easy to integrate existing Ant/Maven project with Gradle.
Easy to migrate from existing Ant/Maven project to Gradle.
Gradle combines most of the popular build tool plus points into a single build tool. In simple terminology, Gradle is built by the accumulation of the positives from Ant, Maven, Ivy and Gant.
When you develop a software, you write, compile, test, package, and finally, distribute the code. You can automate these steps by using a build system. Gradle is one such build system and a tool for build automation. With Gradle, you can automate compiling, testing, packaging, and deployment of your software or any other type of project. It is flexible and already used by large open source projects.
In the recent years, Gradle has gained the status of being one of the powerful build tools. Gradle supports a lot many features for all the developers, based on their requirement.
This article aims to emphasize on the importance of Gradle in terms of Automation.
To know more about the important steps to set up and execute Gradle project in Automation, please click here
Sanoj S
Test Architect, RapidValue


Never Ending Silence stands 5 feet 10 inches tall, with a sort of lean muscularity about him. He is extremely strong, yet compact. His hair is a glossy black, roughly cropped in the Chevosian style, and his skin is a chalky, corpse pale, white, with very little of it's former living hue. His lips are shiny and black, and black circles around his eyes give him a piercing stare. His eyes have no whites, but are instead black, with the only color being his red irises. He wears his black burial wrappings as his clothing, with sleeves of blood-red silk slipped on, and armor of bone and steel over that. He wears a dark cape, cut from the burial wrappings of his Ghostlord mistress. He behaves in a cold, haughty manner, considering the living and the spectres to be beneath him, and only his mistress, the Ghostlord known as Frozen Priestess Adorned With Bloody Feathers, is above him, in his world view. His is coldly murderous, vicious and meticulous in the extreme. He almost never smiles, and when on the unthinkable occasion that he laughs, it is a chilling noise.
Rain fell, wetting the boy. He no longer wept for his four brothers, nor his sister, nor his mother or father, all felled in the Great Devil Plague. The boy was the apprentice to the gravedigger, a job he recieved due to his fascination with death. "They're dead, boy. Their spectres are in the Underworld, now." his master had told him one day, spitting on the graves of his family. For breaking the ash jars, the boy had been sent out in this rain, and nobody had brought him back in. He lay, near frozen, before a mausoleum, as a gray dawn rose. Rain still. Nobody cared about the boy. Dying in the rain, the boy thought "Now I will join my family." But no. A voice from the mausoleum, or the graves, or was it the air around him? A seductive voice, female, light, ethereal, inticing, arousing. "You are the one…You know the truth, don't you? You know the truth…You see the sadness, the truth of death. Join me. Be my Death-Knight." said the voice. The boy felt invisible arms, delicate and female, warm yet cold at the same time, sliding down his loose shirt, feeling his face and arms. The boy sold his true name to the Ghostlord that day, joined the ranks of the Underworld. He forgot his family, forgot his loss. He was given a new name, Never Ending Silence, to bind him forever to his mistress.
Never Ending Silence woke with a start, leaping from dreams of his former living existence. "I awaken!" he called, snapping for his slaves. The spectres appeared, carrying an ornate redware bowl, carved with serpentine channels, filled with implements for his bathing. The slaves filled his bathing pool with perfumed, warmed water, though the warmth made no difference to the dead. Never Ending Silence roused from his sleep couch, piled high with black and red pillows. It was all for show, for the richness of it. The dead had no need for sleep. The Death-Knight stepped into his bath, laying back and letting the water lap over him. His mistress was calling for him. He would serve her well.
-As the best Death-Knight of Frozen Priestess Adorned With Bloody Feathers, Never Ending Silence is often dispatched on missions of exceeding importance to the Ghostlord.
-Never Ending Silence often trafficks with and uses demons in his endeavors. In fact, through bargaining with the demon-lord Morgladiir, he has acquired a kennel of erymanthoi demons as his personal slaves.
What is with the slash marks?!
Could you define what his sword does or submit it as an item?
I voted on this once, but it seems to have vanished!!
What an excellent death knight and not a word on his powers. Crunch is easy. Character is hard, and you have it here.
Corporeal death knights - love it.
AutoMedon – A mechanical poet of renown not for his vast catalog of poetry, but for his complete lack of anything written or spoken, having had no output in his programmed profession. His creator is unknown or at least unaccredited, and there are those in great number in the artistic world who wonder and marvel at his inability to produce poetry, crediting that flaw to his creator who is unknown or at least un-credited. There is also a small faction of scholars who believe that when he finally, finally speaks, it will be the most beautiful or sorrowful verse ever spoke or will ever be spoken. Whether his creator is among either group or dead is unknown. AutoMedon sits alone under a tin roofed enclosure, upon a stone chair, with his gaze off in the distant as if thinking.


text:
Apple Inc. Shareholders Vote Down Proposed Corporate Name-change
November 6, 2017 December 17, 2017 ~ FauxNews Today
CUPERTINO, CA – A fractious annual general meeting of the tech giant Apple Inc. nearly ended in what one corporate insider called "potential disaster". After a fierce debate, the shareholders voted today to reject a proposal to change the name of the iconic forty-year-old corporation to Orange Inc. The no vote was carried by a narrow margin of one percent.
Apple, with worldwide sales of $229 billion, has been consistently ranked as the most valuable brand on the globe, so the proposal to change the name pitted traditionalists against new age thinking.
"I'm deeply disappointed" said Alvin Holstead, a shareholder from Los Angeles, who proposed the name change and led the discussion from the floor. "I mean, let's get with it, people! Why must we always remain in lockstep with the past?"
Holstead, who called himself an "activist", a "foodie" and an "advocate for oranges everywhere" said that he owns ten shares of stock in Apple Inc. His impassioned speech caught the attention of another like-minded shareholder at the meeting. James Archer from Tampa, Florida, who owns thirty shares of Apple stock, seized upon the idea and threw his full support behind it.
"It's really all about personal choice," said Archer. "I've always liked oranges better than apples, and anyway, they're better for you, with all that vitamin c and such."
As the news of the debate over the name spread to the public before the vote, the stock price of Apple Inc. dipped sharply and temporarily wiped billions of dollars of investment capital off the NASDAQ.
The financial media have termed the controversy: FruitGate. The market has now recovered, but uncertainty lingers about the future.
Holstead and Archer were unrepentant about the Apple contretemps. They have formed an organization they are calling Change-for-the-sake-of-Change, and are signing up names for their cause.
"Well we may have lost round one, but we'll be back here at the annual meeting again next year," Holstead said. "I mean, if orange is the new black, why can't it be the new Apple?" Source: FNT Staff
Photo credit: Original images by: Linkedin Learning/Apple Inc. , School of Thinking, and Zurb Foundation
Posted in United States	Apple Inc.NASDAQ
‹ PreviousNASA Sending Giant Darning Needle Into Space to Patch Hole In Earth's Ozone Layer
Next ›Canada to Regulate Internet- Coming Soon: Speed Limits, Traffic Lights and Tolls


No one will get in your direction when you're wearing these peep-toe plat shape siphons. "Boulimina 120" is done with our exceedingly requested, penetrating, thin metal heel. In dark cowhide, this is definitely not your great pump.


The Sajik Girls' High-school asked us to design a cafeteria where students can be served for both lunch and dinner. The biggest challenge of the project was the tight design schedule to complete the CD package in two months to get the fund from the Busan Public Education Department on top of the low construction budget.
After the review of the examples of other school cafeterias and came to a strategy to follow the most common construction method; RC structure with provision for vertical expansion in the future while providing views towards the west, the sports ground and beautiful mountains. We proposed new site location on the east side instead of expanding the existing annex on the west suggested by the school. This enables to receive the students' flow coming out of the east exit of the main school building and enclose the sports ground from the apartment buildings. In addition to main entrance on northern side connected to main school building, direct connection to/from the sports ground is provided for uncluttered movement of the crowd in peak time and kitchen staffs. The dining area has windows on all four sides with 2.6 meter ceiling height .


SkinnyPop® | White Cheddar (1 oz. Bag) | FAST 1-3 Day Delivery SkinnyPop® White Cheddar (1 oz. Bag) | Guilt-free snacking with a dairy-free white cheddar flavor.
Popcorn, sunflower oil, natural flavors, rice flour, lactic acid and salt.


To request a Section 106 compliance letter for a proposed project from the Wyoming SHPO you will need to provide the following information. Based on a file search and our review of the project area, we will provide written comments on the potential for the project to affect historic properties and recommendations for further cultural resource investigations.
If a cultural resource inventory report has already been prepared for a specific project, it should first be reviewed by the lead permitting agency for the project. That agency will then send a copy of the report to the SHPO with their comments and determinations and a request for SHPO review. If the permitting agency has authorized a project proponent or cultural resource consultant to send a copy of the report directly to the SHPO, send a cover letter along with the report that explains the situation, requests SHPO review and comment, and provides information about who should receive the SHPO response letter.
Please be sure to include your name, return address, and phone number. Be aware that it may take up to 30 days for a response depending on our current workload, so be sure to allow adequate advance time for SHPO review and comment.


text:
import { keys, without } from "lodash"
import Artist from "../artist"
import {
  GraphQLString,
  GraphQLObjectType,
  GraphQLNonNull,
  GraphQLList,
  GraphQLInt,
  GraphQLEnumType,
  GraphQLBoolean,
  GraphQLFieldConfig,
} from "graphql"
import { ResolverContext } from "types/graphql"

export const TrendingArtistsType = new GraphQLObjectType<any, ResolverContext>({
  name: "TrendingArtists",
  fields: () => ({
    artists: {
      type: new GraphQLList(Artist.type),
      resolve: (deltaResponse, _args, { artistLoader }) => {
        const ids = without(keys(deltaResponse), "cached", "context_type")
        return Promise.all(ids.map(id => artistLoader(id)))
      },
    },
  }),
})

const TrendingMetricsType = new GraphQLEnumType({
  name: "TrendingMetrics",
  values: {
    ARTIST_AUCTION_LOT: {
      value: "artist_auction_lot",
      description:
        "Cumulative price achieved at auction. Base time period: 12 weeks",
    },
    ARTIST_FAIR: {
      value: "artist_fair",
      description: "Number of artworks in fairs. Base time period: 12 weeks.",
    },
    ARTIST_FOLLOW: {
      value: "artist_follow",
      description: "Base time period: 2 weeks",
    },
    ARTIST_INQUIRY: {
      value: "artist_inquiry",
      description: "Base time period: 1 month",
    },
    ARTIST_SAVE: {
      value: "artist_save",
      description: "Base time period: 1 month",
    },
    ARTIST_SEARCH: {
      value: "artist_search",
      description: "Base time period: 2 weeks",
    },
  },
})

const TrendingArtists: GraphQLFieldConfig<void, ResolverContext> = {
  type: TrendingArtistsType,
  description: "Trending artists",
  args: {
    doubleTimePeriod: {
      type: GraphQLBoolean,
      description:
        "Fetch the top artists for each metric within double the base time period",
      defaultValue: false,
    },
    method: {
      type: GraphQLString,
      description: "Trending method",
      defaultValue: "fetch",
    },
    name: {
      type: new GraphQLNonNull(TrendingMetricsType),
      description: "Trending metric name",
    },
    size: {
      type: GraphQLInt,
      description: "Number of results to return",
      defaultValue: 40,
    },
  },
  resolve: (
    _root,
    { method, name, size, doubleTimePeriod: double_time_period },
    { deltaLoader }
  ) =>
    deltaLoader({
      method,
      n: size,
      name: name + (double_time_period ? "_2t" : ""),
    }),
}

export default TrendingArtists

redpajama_set_name: RedPajamaGithub


text:
// For conditions of distribution and use, see copyright notice in license.txt

#pragma once

#include "EnvironmentModuleApi.h"
#include "IComponent.h"
#include "Math/float3.h"
#include "Transform.h"
#include "AssetReference.h"
#include "AssetFwd.h"
#include "AssetRefListener.h"
#include "OgreModuleFwd.h"

namespace Ogre { class Matrix4; }

/// Adds a heightmap-based terrain to the scene.
/**

Terrain

Adds a heightmap-based terrain to the scene. A Terrain is composed of a rectangular grid of adjacent "patches".
Each patch is a fixed-size 16x16 height map.

Registered by Environment::EnvironmentModule.

Attributes:

Transform: nodeTransformation

Specifies the transformation matrix of the terrain.

int: xPatches

The number of patches to generate in the terrain in the horizontal direction, in the range [0, 256].

int: yPatches

The number of patches to generate in the terrain in the vertical direction, in the range [0, 256].

QString: material

Specifies the material to use when rendering the terrain.

Note that the way the textures are used depends completely on the material. For example, the default height-based terrain material "Rex/TerrainPCF"
only uses the texture channels 0-3, and blends between those based on the terrain height values.

Does not emit or react on any actions.

Does not depend on any other components. Currently Terrain stores its own transform matrix, so it does not depend on the Placeable component. It might be more consistent
to create a dependency to Placeable, so that the position of the terrain is editable in the same way the position of other placeables is done.

*/
class ENVIRONMENT_MODULE_API EC_Terrain : public IComponent
{
    Q_OBJECT
    COMPONENT_NAME("EC_Terrain", 11)

public:
    /// Do not directly allocate new components using operator new, but use the factory-based SceneAPI::CreateComponent functions instead.
    explicit EC_Terrain(Scene* scene);
    virtual ~EC_Terrain();

    Q_PROPERTY(Transform nodeTransformation READ getnodeTransformation WRITE setnodeTransformation);
    DEFINE_QPROPERTY_ATTRIBUTE(Transform, nodeTransformation);

    Q_PROPERTY(int xPatches READ getxPatches WRITE setxPatches);
    DEFINE_QPROPERTY_ATTRIBUTE(int, xPatches);

    Q_PROPERTY(int yPatches READ getyPatches WRITE setyPatches);
    DEFINE_QPROPERTY_ATTRIBUTE(int, yPatches);

    Q_PROPERTY(float uScale READ getuScale WRITE setuScale);
    DEFINE_QPROPERTY_ATTRIBUTE(float, uScale);

    Q_PROPERTY(float vScale READ getvScale WRITE setvScale);
    DEFINE_QPROPERTY_ATTRIBUTE(float, vScale);

    Q_PROPERTY(AssetReference material READ getmaterial WRITE setmaterial);
    DEFINE_QPROPERTY_ATTRIBUTE(AssetReference, material);

    Q_PROPERTY(AssetReference heightMap READ getheightMap WRITE setheightMap);
    DEFINE_QPROPERTY_ATTRIBUTE(AssetReference, heightMap);

    /// Returns the minimum and maximum extents of terrain heights.
    void GetTerrainHeightRange(float &minHeight, float &maxHeight) const;

    /// Each patch is a square containing this many vertices per side.
    static const int cPatchSize = 16;

    /// Describes a single patch that is present in the scene.
    /** A patch can be in one of the following three states:
        - not loaded. The height data nor the GPU data is present, but the Patch struct itself is initialized. heightData.size() == 0, node == entity == 0. meshGeometryName == "".
        - heightmap data loaded. The heightData vector contains the heightmap data, but the visible GPU vertex data itself has not been generated yet, due to the neighbors
          of this patch not being present yet. node == entity == 0, meshGeometryName == "". patch_geometry_dirty == true.
        - fully loaded. The GPU data is also loaded and the node, entity and meshGeometryName fields specify the used GPU resources. */
    struct Patch
    {
        Patch():x(0),y(0), node(0), entity(0), patch_geometry_dirty(true) {}

        /// X-coordinate on the grid of patches. In the range [0, EC_Terrain::PatchWidth()].
        int x;

        /// Y-coordinate on the grid of patches. In the range [0, EC_Terrain::PatchHeight()].
        int y;

        /// Typically this will be a 16x16 array of height values in world coordinates.
        /// If the length is zero, this patch hasn't been loaded in yet.
        std::vector<float> heightData;

        /// Ogre -specific: Store a reference to the actual render hierarchy node.
        Ogre::SceneNode *node;

        /// Ogre -specific: Store a reference to the entity that is attached to the above SceneNode.
        Ogre::Entity *entity;

        /// The name of the Ogre Mesh resource that contains the GPU geometry data for this patch.
        std::string meshGeometryName;

        /// If true, the CPU-side heightmap data has changed, but we haven't yet updated
        /// the GPU-side geometry resources since the neighboring patches haven't been loaded
        /// in yet.
        bool patch_geometry_dirty;

        /// Call only when you've checked that this patch has been loaded in.
        float GetHeightValue(int x, int y) const { return heightData[y*cPatchSize+x]; }
    };

    /// @return The patch at given (x,y) coordinates. Pass in values in range [0, PatchWidth()/PatchHeight[.
    Patch &GetPatch(int patchX, int patchY)
    {
        assert(patchX >= 0);
        assert(patchY >= 0);
        assert(patchX < patchWidth);
        assert(patchY < patchHeight);
        return patches[patchY * patchWidth + patchX];
    }

    /// @return The patch at given (x,y) coordinates. Pass in values in range [0, PatchWidth()/PatchHeight[. Read only.
    const Patch &GetPatch(int patchX, int patchY) const
    {
        assert(patchX >= 0);
        assert(patchY >= 0);
        assert(patchX < patchWidth);
        assert(patchY < patchHeight);
        return patches[patchY * patchWidth + patchX];
    }

    /// Calculates and returns the vertex normal for the given terrain vertex.
    /// @param patchX The patch to read from, [0, PatchWidth()[.
    /// @param patchY The patch to read from, [0, PatchHeight()[.
    /// @param xinside The vertex inside the patch to compute the normal for, [0, cPatchSize[.
    /// @param yinside The vertex inside the patch to compute the normal for, [0, cPatchSize[.
    float3 CalculateNormal(int x, int y, int xinside, int yinside) const;

    float3 CalculateNormal(int mapX, int mapY) const { return CalculateNormal( (int) mapX / cPatchSize, (int) mapY / cPatchSize, mapX % cPatchSize, mapY % cPatchSize); }

public slots:
    /// Returns true if the given patch exists, i.e. whether the given coordinates are within the current terrain patch dimensions.
    /** This function does not tell whether the data for the patch is actually loaded on the CPU or the GPU. */
    bool PatchExists(int patchX, int patchY) const
    {
        return patchX >= 0 && patchY >= 0 && patchX < patchWidth && patchY < patchHeight && patchY * patchWidth + patchX < (int)patches.size();
    }

    /// Returns true if all the patches on the terrain are loaded on the CPU, i.e. if all the terrain height data has been streamed in from the server side.
    bool AllPatchesLoaded() const
    {
        for(int y = 0; y < patchHeight; ++y)
            for(int x = 0; x < patchWidth; ++x)
                if (!PatchExists(x,y) || GetPatch(x,y).heightData.size() == 0 || GetPatch(x,y).node == 0)
                    return false;

        return true;
    }

    /// Returns the height value on the given terrain grid point.
    /// @param x In the range [0, EC_Terrain::PatchWidth * EC_Terrain::cPatchSize [.
    /// @param y In the range [0, EC_Terrain::PatchHeight * EC_Terrain::cPatchSize [.
    float GetPoint(int x, int y) const;

    /// Sets a new height value to the given terrain map vertex. Marks the patch that vertex is part of dirty,
    /// but does not immediately recreate the GPU surfaces. Use the RegenerateDirtyTerrainPatches() function
    /// to regenerate the visible Ogre mesh geometry.
    void SetPointHeight(int x, int y, float height);

    /// Returns the point on the terrain in world space that lies on top of the given world space coordinate.
    /// @param point The point in world space to get the corresponding map point (in world space) for.
    float3 GetPointOnMap(const float3 &point) const;

    /// Returns the point on the terrain in local space that lies on top of the given world space coordinate.
    /// @param point The point in world space to get the corresponding map point (in local space) for.
    float3 GetPointOnMapLocal(const float3 &point) const;

    /// Returns the signed distance (in world space) of the given point to the corresponding map point on the terrain.
    /// @param point The point in world space to test.
    /// @return The signed distance to the terrain. If the given point is above the terrain, the distance test returns a positive number.
    /// If the point is below the terrain, a negative number is returned. The above/below concept is measured along the
    /// local up axis of the terrain (not the global world space up axis).
    float GetDistanceToTerrain(const float3 &point) const;

    /// Returns true if given point in world space is on top (in terms of the local terrain up axis) of, or lying on, the terrain.
    bool IsOnTopOfMap(const float3 &point) const;

    /// Returns the interpolated height value of the terrain at the given fractional coordinate.
    /// @param x In the range [0, EC_Terrain::PatchWidth * EC_Terrain::cPatchSize-1.0f ].
    /// @param y In the range [0, EC_Terrain::PatchHeight * EC_Terrain::cPatchSize-1.0f ].
    float GetInterpolatedHeightValue(float x, float y) const;

    /// Returns the triangle and barycentric UV of the triangle at the given map coordinate, in local space.
    /// @param n1 [out]
    /// @param n2 [out]
    /// @param n3 [out]
    /// @param u [out]
    /// @param v [out]
    void GetTriangleNormals(float x, float y, float3 &n1, float3 &n2, float3 &n3, float &u, float &v) const;

    /// Returns the vertices and barycentric UV of the triangle at the given map coordinate, in local space.
    /// @param n1 [out]
    /// @param n2 [out]
    /// @param n3 [out]
    /// @param u [out]
    /// @param v [out]
    void GetTriangleVertices(float x, float y, float3 &v1, float3 &v2, float3 &v3, float &u, float &v) const;

    /// Computes the terrain plane normal (uninterpolated triangle normal) at the given map coordinate.
    float3 GetPlaneNormal(float x, float y) const;

    /// Returns the triangle normal of the given triangle on the map, given the local space 2D map coordinates for the point.
    /// The normal is returned in *world* space.
    float3 GetInterpolatedNormal(float x, float y) const;

    /// Helper function, which returns for given world coordinate point terrain rotation in Euler angles.
    /// @note This assumes that "mesh" which is rotation for terrain is searched is orginally authored to look -y - axis.
    /// \todo This function will be deleted.
    float3 GetTerrainRotationAngles(float x, float y, float z, const float3& direction) const;

    /// Removes all stored terrain patches and the associated Ogre scene nodes.
    void Destroy();

    /// Releases all GPU resources used for the given patch.
    void DestroyPatch(int patchX, int patchY);

    /// Makes all the vertices of the given patch flat with the given height value.
    /** Dirties the patch, but does not regenerate it. */
    void MakePatchFlat(int patchX, int patchY, float heightValue);

    /// Makes the whole terrain flat with the given height value.
    /** Dirties the whole terrain, but does not regenerate it. */
    void MakeTerrainFlat(float heightValue);

    /// Performs an 1D affine transform on the height values of the whole terrain, i.e. maps each vertex h' = scale*h + offset.
    /** Dirties the whole terrain, but does not regenerate it. */
    void AffineTransform(float scale, float offset);

    /// Affinely remaps the height values of the whole terrain in such a way that after the transform, the lowest point of
    /// the terrain has the height value of minHeight, and the highest point of the terrain has a height value of maxHeight.
    /// Dirties the whole terrain, but does not regenerate it.
    void RemapHeightValues(float minHeight, float maxHeight);

    /// Returns how many patches there are in the terrain in the x-direction.
    /// This differs from the xPatches attribute in that the PatchWidth tells how many patches there
    /// are *currently initialized*, whereas xPatches tells the number of patches wide the terrain is
    /// going to be, as soon as we get a chance to update the new geometry data.
    int PatchWidth() const { return patchWidth; }

    /// Returns how many patches there are in the terrain in the y-direction.
    /// This value is understood in the similar way as above.
    int PatchHeight() const { return patchHeight; }

    /// Returns the number of vertices in the whole terrain in the local X-direction.
    int VerticesWidth() const { return PatchWidth() * cPatchSize; }

    /// Returns the number of vertices in the whole terrain in the local Y-direction.
    int VerticesHeight() const { return PatchHeight() * cPatchSize; }

    /// Saves the height map data and the associated per-vertex attributes to a file. This is a binary
    /// dump file, and as a convention, use the file suffix ".ntf" for these.
    /// @return True if the save succeeded.
    bool SaveToFile(QString filename);

    /// Loads the terrain height map data from the given binary dump file (.ntf).
    /** You should prefer using the Attribute heightMap to recreate the terrain from a terrain file instead of calling this function directly,
        since this function only performs a local (hidden) change, whereas the heightMap attribute change is visible both
        locally and on the network.
        @note Calling this function will not update the 'heightMap' attribute. If you want to load the terrain from a file
            in such a way that is synchronized to the network, just set the 'heightMap' source attribute in a replicated way.
        @return True if loading succeeded. */
    bool LoadFromFile(QString filename);

    /// Loads the terrain height map data from the given in-memory .ntf file buffer.
    bool LoadFromDataInMemory(const char *data, size_t numBytes);

    void NormalizeImage(QString filename) const;

    /// Loads the terrain from the given image file.
    /** Adjusts the xPatches and yPatches properties to that of the image file,
        and clears the heightMap source attribute. This function is intended to be used as a processing tool. Calling this
        function will get the terrain contents desynchronized between the local system and network. The file is loaded using Ogre, so
        this supports all the file formats Ogre has codecs loaded for(you can see a list of those in the console at startup).
        Calling this function will regenerate all terrain patches on the GPU. */
    bool LoadFromImageFile(QString filename, float offset, float scale);

    /// Saves the terrain to an image file.
    /** The file format is determined from the suffix. The file is saved using Ogre, so
        this supports all the file formats Ogre has codecs loaded for(you can see a list of those in the console at startup).
        By default, the height range of the terrain is fitted into the [0.0, 1.0] range, i.e. the smallest position of the terrain
        gets the 0.0 grayscale pixel value in the image, and the largest position gets the 1.0 value.
        The file that is saved will be a three-channel color image, but will only contain grayscale values. */
    bool SaveToImageFile(QString filename, float minHeight = -1e9f, float maxHeight = 1e9f);

    /// Converts the given Ogre Mesh to a terrain grid.
    /** This function will raycast the contours of the mesh to generate the height map data points.
        Uses the default identity matrix for the transform.
        @note The Mesh resource must be previously loaded into the Ogre Mesh resource pool.
        Use AssetAPI::SanitateAssetRef() for the asset's name in order to generate the proper resource name.
        @param ogreMeshResourceName Internal Ogre resource name. */
    void GenerateFromOgreMesh(QString ogreMeshResourceName);

    /// This is an overloaded function.
    /** @param ogreMeshResourceName Internal Ogre resource name.
        @param transform Desired tranform for the generated terrain. */
    void GenerateFromOgreMesh(QString ogreMeshResourceName, const Ogre::Matrix4 &transform);

    /// Converts entity's mesh to a terrain grid.
    /** @note Then entity has to have EC_Name, EC_Mesh and EC_Placeable present.
        @param entityName Name of the entity. */
    void GenerateFromSceneEntity(QString entityName);

    /// Marks all terrain patches dirty.
    void DirtyAllTerrainPatches();

    void RegenerateDirtyTerrainPatches();

    /// Returns the minimum height value in the whole terrain.
    /** This function blindly iterates through the whole terrain, so avoid calling it in performance-critical code. */
    float GetTerrainMinHeight() const;

    /// Returns the maximum height value in the whole terrain.
    /** This function blindly iterates through the whole terrain, so avoid calling it in performance-critical code. */
    float GetTerrainMaxHeight() const;

signals:
    /// Emitted when the terrain data is regenerated.
    void TerrainRegenerated();

private slots:
    /// Emitted when the parrent entity has been set.
    void UpdateSignals();

    /// Emitted when some of the attributes has been changed.
    void OnAttributeUpdated(IAttribute *attribute);

    void MaterialAssetLoaded(AssetPtr asset);
    void TerrainAssetLoaded(AssetPtr asset);

    /// (Re)checks whether this entity has EC_Placeable (or if it was just added or removed), and reparents the rootNode of this component to it or the scene root.
    /** Additionally re-applies the visibility of each terrain patch that is currently attached to the terrain node. */
    void AttachTerrainRootNode();

private:
    /// Creates the patch parent/root node if it does not exist.
    /** After this function returns, the 'root' member node will exist, unless Ogre rendering subsystem fails. */
    void CreateRootNode();

    void CreateOgreTerrainPatchNode(Ogre::SceneNode *&node, int patchX, int patchY);

    /// Sets the given patch to use the currently set material and textures.
    void UpdateTerrainPatchMaterial(int patchX, int patchY);

    /// Updates the root node transform from the current attribute values, if the root node exists.
    void UpdateRootNodeTransform();

    /// Readjusts the terrain to contain the given number of patches in the horizontal and vertical directions.
    /** Preserves as much of the terrain height data as possible. Dirties the patches, but does not regenerate them.
        @note This function does not adjust the xPatches or yPatches attributes. */
    void ResizeTerrain(int newPatchWidth, int newPatchHeight);

    /// Updates the terrain material with the new texture on the given texture unit index.
    /// @param index The texture unit index to set the new texture to.
    /// @param textureName The Ogre texture resource name to set.
    void SetTerrainMaterialTexture(int index, const char *textureName);

    void GenerateTerrainGeometryForOnePatch(int patchX, int patchY);

    boost::shared_ptr<AssetRefListener> heightMapAsset;

    /// For all terrain patches, we maintain a global parent/root node to be able to transform the whole terrain at one go.
    Ogre::SceneNode *rootNode;

    int patchWidth;
    int patchHeight;

    /// Specifies the asset source from which the height map is currently loaded from. Used to shadow the heightMap attribute so that if
    /// the same value is received from the network, reloading the terrain can be avoided.
    QString currentHeightmapAssetSource;

    /// Specifies the Ogre material name of the material that is currently being used to display the terrain.
    QString currentMaterial;

    /// Stores the actual height patches.
    std::vector<Patch> patches;

    /// Ogre world for referring to the Ogre scene manager
    OgreWorldWeakPtr world_;
};


Discover interesting facts and information about the weapons, including the Bows and Arrows, used by Native American Indian tribes.
The Stone Age life style of Native Americans ranged from nomadic, semi-nomadic to static across the vast continent of North America and despite this many of them shared similar culture and weapons such as the Bows and Arrows. The basic components of the majority of their their weapons including the Bows and Arrows was stone and wood.
Bows and Arrows. Discover the interesting facts and information which relate to the History of Native Americans and the weapons they used such as the Bows and Arrows. The pictures on this site show the weapons and tools that were used by various Native Indian tribes that can be used as a really useful educational history resource for kids and children of all ages. We have included pictures and videos to accompany the main topic of this section - Bows and Arrows. The videos enable fast access to the images, paintings and pictures together with information and many historical facts. All of the articles and pages can be accessed via the Native Indian Tribes Index - a great educational resource for kids providing an unusual insight into their culture.


Trauma Balm | Living Earth Herbs - Organic Bulk Herbs, Essential Oils, Tinctures and more.
Deeply penetrating balm for sore muscles, bruises, aches, and strains. Not for use on open wounds or sensitive areas of skin.
Ingredients: Northwest-grown herbs (Arnica, St. John's Wort, Calendula) and organic cayenne infused in olive oil, local beeswax, fair trade shea butter, menthol and organic essential oils.


text:
Chloe Tilley
Two-time Sony award-winning BBC Presenter, first class Moderator and Facilitator
Current Events Environment Sustainability
Check Chloe's availability
Chloe Tilley: Biography highlights
Chloe Tilley is a two-time Sony award-winning presenter, with over 15 years of experience presenting live news programmes for BBC Television and Radio. Chloe has a track-record of delivering dynamic and innovative shows across the BBC News Channel, BBC World News, Radio 5 Live and the World Service.
TV Presenters and Broadcasters
Full biography of Chloe Tilley
Chloe Tilley's background
From 2016 Chloe regularly hosted the BAFTA award-winning Victoria Derbyshire programme on BBC 2 and the BBC News Channel. At the same time she has been a regular presenter at 5 Live on Drive and the Emma Barnett Show. Since its creation in 2015, Chloe has also hosted OS, a news and discussion programme on the BBC World Service.
It's not just studio based programmes where Chloe is at ease, she has anchored BBC news programmes from Donald Trump's inauguration in Washington, to the last four General Elections and two Royal weddings. In 2018 she was part of the presenting team that won a Sony Gold for the live coverage of the wedding of the Duke and Duchess of Sussex.
For the last two General Elections Chloe toured the four home nations hosting audience debates with voters. She has also moderated numerous debates in the BBC's Radio Theatre for the BBC News Channel on topics ranging across the future of China, ten years on from the Iraq war and whether faith and feminism are compatible.
For 7 years from 2010 Chloe anchored her own TV and radio programme, World Have Your Say, for BBC World News and the BBC World Service – a news debate programme that gave a voice to ordinary people around the globe. This included a special edition with Bill Gates from a school in East London, linking with pupils in Beijing, Nairobi and beyond, to ask him questions.
Chloe has travelled extensively presenting live news programmes, from the UN General Assembly in New York, to a community garden in the Bronx, a bar in Louisville, Kentucky and a migrant camp on the Austrian /Slovenian border.
Starting in 2013 Chloe was part of the inaugural BBC 100 Women series, presenting TV and radio programmes with influential women from around the world, with debates that ran across multimedia platforms.
Chloe combines the authority and agility of an experienced live news presenter – adept at working off script in a breaking news environment, holding, decision makers to account, while providing a warm and welcoming presence that puts guests at their ease and engages the viewers at home.
Moderating and Emcee
TV and Media
Watch Chloe in action
Chloe Tilley TV Showreel
Chloe's speaking topics
COVID-19 challenges for businesses and society
Climate Change/The Environment
Check Chloe Tilley's availability
To enquire about booking Chloe Tilley, email info@speakersassociates.com or complete this form.


text:
MEDVAL > blog > Medicare Set-Aside Blog > FDA > Gabapentin Abuse on the Rise
Gabapentin Abuse on the Rise
FDA, MSAs, Rx/Pharmacy	on April 25, 2019
Posted by Leah King, PharmD, JD, Independent Pharmacy Consultant
All of the focus on the opioid crisis may have overshadowed a growing trend of abuse and misuse for another drug that's well known to those of us in the workers' compensation industry . . . gabapentin. Ironically, the growing trend of gabapentin abuse is related to the opioid crisis. In an effort to adhere to revised prescribing guidelines that express a preference for non-opioid analgesics, physicians have been prescribing gabapentin more often. A report by IMS Health indicated that 57 million prescriptions for gabapentin were written in 2015, which represents a 42% increase since 2011.[1] In 2016, the number of gapapentin prescriptions in the United States rose to 64 million.[2]
Gabapentin is FDA approved to treat certain types of seizures and neuralgia that follows an episode of shingles. However, due to its effects on the central nervous system, it is widely utilized in an off-label capacity to treat certain types of chronic pain and mental health conditions. Use of gabapentin as an analgesic is particularly common in cases where pain arises due to nerve damage, as often occurs in workers' compensation cases. Gabapentin in its most common and generic form is an inexpensive drug, when included in Medicare Set-Asides and while the cost is relatively low, there are other emerging concerns associated with use of this drug. In addition to its pain relieving qualities, large doses of gabapentin can produce feelings of euphoria in certain users, similar to that of cannabis. It can also produce a calming sensation, along with feelings of increased sociability. Gabapentin is nowhere near as potent as opioids and as a result, it is not often misused or abused by itself but rather it is mixed with other drugs to enhance the effects of those drugs. Most commonly, it is combined with other central nervous system depressants such as opioids, anti-anxiety medications and muscle relaxants. In some cases, gabapentin is used in an effort to reduce the symptoms of withdrawal from substances such as alcohol. Rates of gabapentin abuse are relatively low in the general population, trending at about 1%. These rates of abuse and misuse increase dramatically in those patients utilizing opioids, to about 22%. On the street, gabapentin is known by various names such as "morontin," "johnnies" or "gabbies."
Statistics from all over the country support the idea that gabapentin abuse is growing. In certain states such as Kentucky and West Virginia where the opioid epidemic has hit particularly hard, gabapentin has been surfacing at alarming rates in overdose situations. Data from the coroner's office in Louisville suggests that gabapentin is found in nearly one-fourth of all overdose events.[3] Across the entire state of Kentucky, gabapentin is detected in about 1 in 3 overdose deaths.[4] The Charlestown Gazette-Mail reported that the number of fatal overdoses related to gabapentin in West Virginia jumped from 3 in 2010 to 109 in 2015.[5]
Several states have initiated prescription drug monitoring programs to track gabapentin prescribing, including Ohio, Minnesota, Virginia, Illinois, Wyoming and Massachusetts. Kentucky has gone one step further, by designating gabapentin as a schedule V controlled substance. The FDA issued a press release in February of 2018, where the Commissioner acknowledged that abuse and misuse of drugs such as pregabalin (Lyrica) and gabapentin (Neurontin) may be growing. At that time, the FDA Commissioner also indicated that the FDA will have more to say about it following a thorough investigation. We'll continue to follow FDA efforts to curb abuse and misuse of this drug, and post updates here.
[1] https://www.wkyt.com/content/news/Spike-in-number-of-Gabapentin-prescriptions-sparks-state-action-483229321.html
[2] https://www.healthline.com/health-news/gabapentin-latest-pain-medication-in-opioid-overdoses#4
[4] Id.
[5] https://medshadow.org/gabapentin-opioid/


I used Techsmith Capture to record a Skype meeting but it didn't capture any audio. Is this normal for this app or have I don't something incorrectly? Is there a way to retrieve the audio from the recording?


text:
package org.apache.thrift.transport.sasl;

import java.util.Map;
import javax.security.auth.callback.CallbackHandler;

/** Contains all the parameters used to define a SASL server implementation. */
public class TSaslServerDefinition {
  public final String mechanism;
  public final String protocol;
  public final String serverName;
  public final Map<String, String> props;
  public final CallbackHandler cbh;

  public TSaslServerDefinition(
      String mechanism,
      String protocol,
      String serverName,
      Map<String, String> props,
      CallbackHandler cbh) {
    this.mechanism = mechanism;
    this.protocol = protocol;
    this.serverName = serverName;
    this.props = props;
    this.cbh = cbh;
  }
}


This is a world of computer and electronics devices. But there are still many people who are tired of typing on the keyboard. They can change their job profile by becoming a courier. This can be very refreshing and an excellent option. By becoming a courier, you can be your own boss and can also decide your own working hours according to your comfortability level. You can take your time out from your professional work and spend time with your family as well. A large number of people are now taking the open road to become a professional courier. To be on the road of being a courier, you need to have a Courier insurance. If you want to try this profession, you should continue reading.
The first step in starting a business is to make a business plan beforehand. Becoming a self-employed courier is a good option. You need to make an outline of your total expected costs versus the total profit that you need to earn. It may be either on a weekly basis or even a monthly basis. The estimation you make would greatly help your business to work out for you.
Advertising is the second step of expanding your services further. In fact, advertising is one of the means which will let the world know about your business. It will help in generating business and revenue to keep your company flying. There are other ways of expanding your companies. You could take the help of your friends, family, relatives, and your colleagues to help you spread the word about your business. You could also invest in attractive business cards with innovative ideas. These cards are sure to attract a lot of people and if you are lucky investors may also be interested in investing in your business.
Courier service requires tons of vehicle to help assist with the deliveries. However, vehicles require commercial insurance and license to actually drive the car on the road to make deliveries. This is bounded by the law of the respective countries. The basic insurance that you require to drive on the road of the UK is Road Risk Only Motor Insurance. There are much more insurances to choose from and all vary depending on the security the insurer provides you with.
We have provided enough reasons on our part as to why you should choose courier as a business. Now, it is up to you whether you are convinced with the reasons or not.
What kind of benefits comes with cheap fleet insurance?


text:
package io.joshworks.restclient.http;

/*
 * The contents of this file are subject to the terms
 * of the Common Development and Distribution License
 * (the "License").  You may not use this file except
 * in compliance with the License.
 *
 * You can obtain a copy of the license at
 * http://www.opensource.org/licenses/cddl1.php
 * See the License for the specific language governing
 * permissions and limitations under the License.
 */

/*
 * MediaType.java
 *
 * Created on March 22, 2007, 2:35 PM
 *
 * Modified on March 13 2017 22:14 PM by Josue Gontijo
 *
 */

import io.joshworks.restclient.http.utils.MimeMappings;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.StringJoiner;
import java.util.TreeMap;

/**
 * An abstraction for a media type. Instances are immutable.
 *
 * @see HTTP/1.1 section 3.7
 */
public class MediaType {

    /**
     * The value of a type or subtype wildcard: "*"
     */
    public static final String MEDIA_TYPE_WILDCARD = "*";
    /**
     * "*/*"
     */
    public final static String WILDCARD = "*/*";
    /**
     * "*/*"
     */
    public final static MediaType WILDCARD_TYPE = new MediaType();
    /**
     * "application/xml"
     */
    public final static String APPLICATION_XML = "application/xml";
    /**
     * "application/xml"
     */
    public final static MediaType APPLICATION_XML_TYPE = new MediaType("application", "xml");
    /**
     * "application/atom+xml"
     */
    public final static String APPLICATION_ATOM_XML = "application/atom+xml";
    /**
     * "application/atom+xml"
     */
    public final static MediaType APPLICATION_ATOM_XML_TYPE = new MediaType("application", "atom+xml");
    /**
     * "application/xhtml+xml"
     */
    public final static String APPLICATION_XHTML_XML = "application/xhtml+xml";

    // Common media type constants
    /**
     * "application/xhtml+xml"
     */
    public final static MediaType APPLICATION_XHTML_XML_TYPE = new MediaType("application", "xhtml+xml");
    /**
     * "application/svg+xml"
     */
    public final static String APPLICATION_SVG_XML = "application/svg+xml";
    /**
     * "application/svg+xml"
     */
    public final static MediaType APPLICATION_SVG_XML_TYPE = new MediaType("application", "svg+xml");
    /**
     * "application/json"
     */
    public final static String APPLICATION_JSON = "application/json";
    /**
     * "application/json"
     */
    public final static MediaType APPLICATION_JSON_TYPE = new MediaType("application", "json");
    /**
     * "application/x-www-form-urlencoded"
     */
    public final static String APPLICATION_FORM_URLENCODED = "application/x-www-form-urlencoded";
    /**
     * "application/x-www-form-urlencoded"
     */
    public final static MediaType APPLICATION_FORM_URLENCODED_TYPE = new MediaType("application", "x-www-form-urlencoded");
    /**
     * "multipart/form-data"
     */
    public final static String MULTIPART_FORM_DATA = "multipart/form-data";
    /**
     * "multipart/form-data"
     */
    public final static MediaType MULTIPART_FORM_DATA_TYPE = new MediaType("multipart", "form-data");
    /**
     * "application/octet-stream"
     */
    public final static String APPLICATION_OCTET_STREAM = "application/octet-stream";
    /**
     * "application/octet-stream"
     */
    public final static MediaType APPLICATION_OCTET_STREAM_TYPE = new MediaType("application", "octet-stream");
    /**
     * "text/plain"
     */
    public final static String TEXT_PLAIN = "text/plain";
    /**
     * "text/plain"
     */
    public final static MediaType TEXT_PLAIN_TYPE = new MediaType("text", "plain");
    /**
     * "text/xml"
     */
    public final static String TEXT_XML = "text/xml";
    /**
     * "text/xml"
     */
    public final static MediaType TEXT_XML_TYPE = new MediaType("text", "xml");
    /**
     * "text/html"
     */
    public final static String TEXT_HTML = "text/html";
    /**
     * "text/html"
     */
    public final static MediaType TEXT_HTML_TYPE = new MediaType("text", "html");
    /**
     * Empty immutable map used for all instances without parameters
     */
    private static final String SUBTYPE_SEPARATOR = "/";
    private static final String PARAMETERS_SEPARATOR = ";";
    private static MimeMappings mimeMappings = MimeMappings.builder().build();
    private String type;
    private String subtype;
    private Map<String, String> parameters = new HashMap<>();

    /**
     * Creates a new instance of MediaType with the supplied type, subtype and
     * pathParameter.
     *
     * @param type       the primary type, null is equivalent to
     *                   {@link #MEDIA_TYPE_WILDCARD}.
     * @param subtype    the subtype, null is equivalent to
     *                   {@link #MEDIA_TYPE_WILDCARD}.
     * @param parameters a map of media type pathParameter, null is the same as an
     *                   empty map.
     */
    public MediaType(String type, String subtype, Map<String, String> parameters) {
        this.type = type == null ? MEDIA_TYPE_WILDCARD : type;
        this.subtype = subtype == null ? MEDIA_TYPE_WILDCARD : subtype;
        if (parameters == null) {
            this.parameters = new HashMap<>();
        } else {
            Map<String, String> map = new TreeMap<>(String::compareToIgnoreCase);
            for (Map.Entry<String, String> e : parameters.entrySet()) {
                map.put(e.getKey().toLowerCase(), e.getValue());
            }
            this.parameters = Collections.unmodifiableMap(map);
        }
    }

    /**
     * Creates a new instance of MediaType with the supplied type and subtype.
     *
     * @param type    the primary type, null is equivalent to
     *                {@link #MEDIA_TYPE_WILDCARD}
     * @param subtype the subtype, null is equivalent to
     *                {@link #MEDIA_TYPE_WILDCARD}
     */
    public MediaType(String type, String subtype) {
        this(type, subtype, new HashMap<>());
    }

    /**
     * Creates a new instance of MediaType, both type and subtype are wildcards.
     * Consider using the constant {@link #WILDCARD_TYPE} instead.
     */
    public MediaType() {
        this(MEDIA_TYPE_WILDCARD, MEDIA_TYPE_WILDCARD);
    }

    /**
     * Creates a new instance of MediaType by parsing the supplied string.
     *
     * @param type the media type string
     * @return the newly created MediaType
     * @throws IllegalArgumentException if the supplied string cannot be parsed
     *                                  or is null
     */
    public static MediaType valueOf(String type) throws IllegalArgumentException {
        if (type == null || type.trim().isEmpty() || type.startsWith(SUBTYPE_SEPARATOR) || type.endsWith(SUBTYPE_SEPARATOR)) {
            throw new IllegalArgumentException("Invalid mime type '" + type + "'");
        }
        String[] splitType = type.split(SUBTYPE_SEPARATOR);
        if (splitType.length == 2) {
            nonEmpty(type, splitType[0]);
            nonEmpty(type, splitType[1]);
            Map<String, String> parameters = new HashMap<>();
            String subType = splitType[1];
            if (splitType[1].contains(PARAMETERS_SEPARATOR)) {
                String[] subTypeWithparameter = splitType[1].split(PARAMETERS_SEPARATOR);
                String paramString = subTypeWithparameter[1].trim();
                subType = subTypeWithparameter[0];
                parameters = parseParameters(paramString);
            }
            return new MediaType(splitType[0].trim(), subType.trim(), parameters);
        }
        if (!type.contains(SUBTYPE_SEPARATOR)) {
            String mimeType = mimeMappings.getMimeType(type);
            if (mimeType != null) {
                return valueOf(mimeType);
            }
        }
        throw new IllegalArgumentException("Invalid mime type '" + type + "'");
    }

    private static void nonEmpty(String original, String val) throws IllegalArgumentException {
        if (val == null || val.trim().isEmpty()) {
            throw new IllegalArgumentException("Invalid mime type '" + original + "'");
        }
        if ((val.length() - val.replace("/", "").length()) > 0) {
            throw new IllegalArgumentException("Invalid mime type '" + original + "'");
        }
    }

    private static Map<String, String> parseParameters(String paramString) {
        Map<String, String> parameters = new HashMap<>();
        String[] split = paramString.split(" ");
        for (String kv : split) {
            String[] keyValue = kv.split("=");
            if (keyValue.length == 2) {
                parameters.put(keyValue[0], keyValue[1]);
            }
        }
        return parameters;
    }

    public static MediaType getMimeForFile(String fileExtension) {
        if (fileExtension == null || fileExtension.isEmpty()) {
            return MediaType.APPLICATION_OCTET_STREAM_TYPE;
        }
        String mimeType = mimeMappings.getMimeType(fileExtension);
        if (mimeType == null || mimeType.isEmpty()) {
            return MediaType.APPLICATION_OCTET_STREAM_TYPE;
        }
        try {
            return valueOf(mimeType);
        } catch (Exception e) {
            return MediaType.APPLICATION_OCTET_STREAM_TYPE;
        }
    }

    /**
     * Getter for primary type.
     *
     * @return value of primary type.
     */
    public String getType() {
        return this.type;
    }

    /**
     * Checks if the primary type is a wildcard.
     *
     * @return true if the primary type is a wildcard
     */
    public boolean isWildcardType() {
        return this.getType().equals(MEDIA_TYPE_WILDCARD);
    }

    /**
     * Getter for subtype.
     *
     * @return value of subtype.
     */
    public String getSubtype() {
        return this.subtype;
    }

    /**
     * Checks if the subtype is a wildcard
     *
     * @return true if the subtype is a wildcard
     */
    public boolean isWildcardSubtype() {
        return this.getSubtype().equals(MEDIA_TYPE_WILDCARD);
    }

    /**
     * Getter for a read-only pathParameter map. Keys are case-insensitive.
     *
     * @return an immutable map of pathParameter.
     */
    public Map<String, String> getParameters() {
        return parameters;
    }

    /**
     * Check if this media type is compatible with another media type. E.g.
     * image/* is compatible with image/jpeg, image/png, etc. Media type
     * pathParameter are ignored. The function is commutative.
     *
     * @param other the media type to compare with
     * @return true if the types are compatible, false otherwise.
     */
    public boolean isCompatible(MediaType other) {
        if (other == null)
            return false;
        if (type.equals(MEDIA_TYPE_WILDCARD) || other.type.equals(MEDIA_TYPE_WILDCARD))
            return true;
        else if (type.equalsIgnoreCase(other.type) && (subtype.equals(MEDIA_TYPE_WILDCARD) || other.subtype.equals(MEDIA_TYPE_WILDCARD)))
            return true;
        else
            return this.type.equalsIgnoreCase(other.type)
                    && this.subtype.equalsIgnoreCase(other.subtype);
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null)
            return false;
        if (!(obj instanceof MediaType))
            return false;
        MediaType other = (MediaType) obj;
        return (this.type.equalsIgnoreCase(other.type)
                && this.subtype.equalsIgnoreCase(other.subtype)
                && this.parameters.equals(other.parameters));
    }

    @Override
    public int hashCode() {
        return (this.type.toLowerCase() + this.subtype.toLowerCase()).hashCode() + this.parameters.hashCode();
    }

    @Override
    public String toString() {
        StringJoiner joiner = new StringJoiner(" ");
        for (Map.Entry<String, String> kv : parameters.entrySet()) {
            joiner.add(kv.getKey() + "=" + kv.getValue());
        }
        String params = joiner.toString();
        String type = this.type + SUBTYPE_SEPARATOR + subtype;
        return (params != null && !params.isEmpty()) ? type + "; " + params : type;
    }
}


text:
Kin (stylised in all lowercase) is the debut studio album by Swedish audiovisual project iamamiwhoami, led by singer and songwriter Jonna Lee. It was released on 11 June 2012 on Lee's label To whom it may concern. and distributed by Cooperative Music. Formats include digital, CD, LP and DVD. The album's lead single "Sever" was released digitally on 15 February 2012, followed by the release of each of the album's tracks once every fortnight throughout the spring of 2012. The physical DVD of Kin contains all the music videos which play together as a 45-minute film.

Background
Kin is iamamiwhoami's first full-length album, about two years after releasing two series of music videos (dubbed the "Preludes" and "Bounty" series) on YouTube. Additionally, during the Grammis in 2011, an anonymous woman accepted the Innovator of the Year award on behalf of iamamiwhoami and opened an envelope to reveal a blank piece of paper, hinting that the album had been in production since 2011. The album was eventually confirmed by Cooperative Music in February 2012. Unlike most traditional albums which only release singles after the album is out, singles from Kin were released on their YouTube channel, with a new song and an accompanying music video every two weeks. The music video is released one day before the single. The music videos from Kin are set as a film, with each music video linking directly to the next. They feature Jonna Lee (the only prominent human being throughout) along with five other hairy figures who later vanish, and are set in differing landscapes, ranging from a high-rise apartment building to the middle of a desert.

Kin gained attention on the Internet due to video chapters from the album being released online beginning since December 2009. Each time a new single is released, iamamiwhoami emails various music blogs to alert them, and there are no accompanying press releases or offers of interviews.

Multiple lyrics from the tracks of Kin were given as responses to questions posted in an interview with Bullett magazine in November 2011. The article also features a photo shoot featuring Lee posing in parts of a forest, and a room filled with styrofoam.

On 25 May 2012, rumours began to circulate that iamamiwhoami was still shooting videos with the announcement of ninth single "Goods", originally intended to be exclusive to the album. Iambountyfan stated that Kin had been pushed back to 4 September 2012 on their Facebook page, all of which was false. Release dates continued to fall in line with their original intention, "Goods" having a tentative release of 5 June 2012. On 30 May 2012, a cryptic video titled "iamamiwhoami; kin 20120611" was uploaded on iamamiwhoami's YouTube channel, which featured a blank sheet of paper kept within a noticeboard, as well as the name of the album, release date and ending with a logo of their label, Cooperative Music. However, on this same date, Base, iMusic and other sites withdrew all methods of buying Kin on their website. People pre-ordering the album from iMusic received an email saying that the album had been delayed until September, so all back-orders had to be cancelled.

On 6 June 2012, To whom it may concern. was updated and a shop segment was included. It was announced there that Kin would be released in two versions (CD/DVD or vinyl LP) via the website on 11 June, and Cooperative Music released it on 4 September. A merchandise section with T-shirts, socks and briefs opened. A free digital download link of Kin is included when purchasing the physical copy of the album.

Concept

The creative process behind Kin started after iamamiwhoami played their first live show at Way Out West Festival in 2011, which Lee described as "a close encounter with the audience". In an interview with Dazed magazine, Lee stated that Kin "refers to the kinship with the audience and how it is created in a shape that the audience will be able to embrace—where our previous releases were more fluid [...] The whole kin album is tied together both musically and visually." She also elaborated on the visual aspect of the album and the videos, saying, "Everything has been done in real time so every time a production starts, it's being released very soon after to keep the conversation with the audience in the present. It's a chronological storyline of an evolution, from the very beginning up to now. I think the Internet is the place where you can do that. kin is tying those two works together in the sense that it's a physical thing that you can touch also."

The core of iamamiwhoami is the music, where the lyrics are "the script for the story happening and being shared in real time". "Blending them together they create a new way of communicating for me. kin can be experienced either sonically, visually or merged depending on what is preferred", Lee said. She defines iamamiwhoami as a multimedia "entity", which also includes directors, designers and close friends. "Leaving space for everyone's imagination to run free is a big part of it, both in terms of how we communicate and also in not being overly clear what the message is. It's kind of like receiving a script for a movie and reading it while you're watching it." According to Lee, the reason behind iamamiwhoami's initial anonymity is that she was unsure as to what she wanted the project to be. "I wanted to create undisturbed away from the noise together with my collaborators. It was necessary to work in the quiet for iamamiwhoami to be able to continue to have a life. My identity was not hidden but neither articulated by me because what is relevant is the work we have done and the audience reflection of my identity." She added that she did not give interviews earlier because she felt "[i]t would have all looked like a big promotional campaign. I would have been a sad person for a long time. I can't say that I would have been here now. But it's evolved in a way that we can still do it."

When questioned about the plain black cover of Kin in an interview with PopMatters, Lee commented that the album was "packaged in a shape suited for consumption. The shape iamamiwhoami needed to adopt to be able to deliver it. The cover of kin is the portrait of the black box [featured at the end of the video for 'Goods', and the end of the Kin film proper]. The simple may not seem grand at first glance but looking closer at its contents can be rewarding, depending on if you choose to experience it from the inside or the outside of its boundaries."

Critical reception

Kin received generally positive reviews from music critics. At Metacritic, which assigns a normalised rating out of 100 to reviews from mainstream publications, the album received an average score of 74, based on 10 reviews. AllMusic editor Heather Phares commented that "[w]hile there's a similarly Scandinavian air of witchy electro-pop mystery akin to Björk and [Karin] Dreijer's work on many of [the album's] songs, Lee finds her own niche within this territory", adding that the album "shows that there's more than just gimmickry to iamamiwhoami." Alex Yau of DIY wrote, "Having created a brilliantly slick debut of dance and electro-pop, Jonna Lee has thrust herself out of the shadows and directly into the limelight. Kin is a hypnotic album on its own merit and needs no elaborate campaign to stand out." Jon Hadusek of Consequence of Sound opined that Lee and Björklund's production "darts stealthily between Portishead-style trip hop and pulsing techno", concluding that "iamamiwhoami is a powerhouse, and they have the songs (and videos) to prove it." Ben Hogwood of musicOMH compared Lee's voice to those of Elizabeth Fraser and Siouxsie Sioux, while noting that "[t]he only caveat with the music of iamamiwhoami is that there is now a lot of R&B influenced electronic pop music around, increasingly from Scandinavia, and it seems to be the 'go to' sound of left of centre pop music in the middle of 2012. The good news for the duo, however, is that their particular take on it puts them right near the front of a crowded field." Evan Sawdey of PopMatters depicted kin as an experimental pop album.

Kim Taylor Bennett of Time Out London stated that "each glacial electro-pop track is matched by an equally unsettling video. Crucially, though, these elegant songs stand up even when stripped of their filmic storylines. In either form, they're really quite magical." Pitchforks Katherine St. Asaph found that "Kin is not an assertive album, nor is it surprising, but it's as solid an aesthetic as you can expect of two artists mostly new to this genre." Sputnikmusic's Nick Butler expressed that the album's sequencing "doesn't make the most of its strengths, making some of the repetition seem like a lack of ideas rather than thematic consistency", but claimed that "in all other regards, this is a beautiful album to stick on and just drift away to—this is music of impressive texture and depth [...] This is a highlight of 2012, but if she stays on this path, the next one could well be a highlight of the decade." Danny Wadeson of The Line of Best Fit commented, "Flowing smoothly through playful and jubilant to more sinister, pulsing, and tense, [Lee's] ear for an arresting arrangement is matched only by her flair for surprising you with a dramatic change from one track to the next without it ever feeling contrived or jarring." BBC Music's Alex Denney wrote that Kin "must be judged on its merits as an album, and it's a fine if not especially memorable set of off-beam synth-pop tunes", but felt that "while kin is solidly crafted throughout, there's nothing to justify the lofty artistic conceits surrounding it." Similarly, Terence Caron of State argued that "musically Iamamiwhoami is far from being the far-out innovative girl she tries to present on screen, though she does have talent for pushing Swedish fellow artist Fever Ray's dark synthetic sounds into more danceable grounds and make straight-forward pop tunes. Without watching her videos, the songs of Iamamiwhoami jolt the imagination."

Accolades
The album was nominated for "The Best Tease of the Past 12 Months" by the BBC 6 Music Blog Awards, with fellow contenders being Lana Del Rey, Elliphant, Battlekat, Savoir Adore and The Sound of Arrows. On 2 March 2012, iamamiwhoami were announced as the winners of the award. Bryan Konietzko, the co-creator of the American animated television series Avatar: The Last Airbender, praised the "Sever" video on his Tumblr page, commenting, "Watching all of their videos and their site-specific performance is like getting a rare view into a world where art isn't hindered by economics and time constraints. I want to go to that world." In June 2012, iamamiwhoami won the Digital Genius Award at the O Music Awards. Kin was featured as BBC 6 Music's Album of the Day on 6 September 2012. PopMatters ranked the track "Play" at number 55 on its list of The 75 Best Songs of 2012, calling it "an emotionally naked track that sounds like absolutely nothing else before it [...] 'Play' is a stone cold classic that you only have to hear once before falling under its incredible charms."

Promotion
In June 2012, iamamiwhoami's website To whom it may concern. was updated to include a tour section, revealing a European tour with live performances in Sweden, Germany, Poland and the United Kingdom. The music videos of Kin were screened as a film at festivals and cinemas throughout parts of Europe. This was iamamiwhoami's first tour and first performances since their Way Out West Festival live debut in August 2011. iamamiwhoami's sold-out debut in the United Kingdom for the Ether Festival at London's Southbank Centre received an encore and standing ovation from the audience.

Tour dates

Track listing
All lyrics are written by Jonna Lee; all tracks are written by Lee and Claes Björklund.

Notes
 All track titles are stylised in all lowercase.

Personnel
Credits adapted from Cooperative Music Italy's Twitter page and To whom it may concern. website.

Music
 Jonna Lee – vocals
 Claes Björklund – production
 Dan Smith – mastering

Visuals
 Jonna Lee – production
 Robin Kempe-Bergman – direction
 Agustín Moreaux – costume design, makeup, set design
 Klara Bjärkstedt – costume design
 John Strandh – cinematography, still photography

Release history

References

External links

2010s musical films
2012 albums
2012 video albums
Visual albums
Electronic music films
Electropop video albums
Iamamiwhoami albums
Swedish musical films
2010s Swedish films


text:
The Catholic Commentator :: The World & The Nation
From OUr Commentator Staff
Father Johnson sees progress in racism among Catholics
- Catholic News Agency
Father Josh Johnson, pastor at Sacred Heart Church in Baton Rouge, said he has seen progress in terms of Catholics being willing to listen to the experiences of those who have experienced racism and an openness among many Catholics to acknowledge racism as a sin and as a continued problem in U.S. society.
Thousands present in St. Peter's Square for Pope Benedict's funeral
ROME – Tens of thousands of people were present in St. Peter's Square for the funeral Jan. 5 of Pope Emeritus Benedict XVI, a leading theologian of the 20th century and the first pope to resign from office in nearly 600 years.
Pope says Advent is a special time
- Pope Francis
St. John the Baptist reminds us that Advent is a privileged time to turn back toward God — something it is never too late to do.
Michigan church sues to retain hiring policy
(CNA) — A Catholic parish in central Michigan is suing the state attorney general over the state Supreme Court's recent redefinition of "sex" discrimination as encompassing sexual orientation and gender identity, arguing that the redefinition, among other things, threatens the parish's ability to hire people who model the church's teachings.
Wrapup of USCCB fall meeting
Here's a summary of key actions taken at the United States Conference of Catholic Bishops' (USCCB) fall plenary assembly recently in Baltimore
The United States of America
The documentary "Lourdes," showing in theaters on Feb. 8 and 9, follows the experiences of sick and disabled pilgrims who often seek consolation rather than cures. / Bosco Films Washington...
Meet the 'Lone Survivor' priest and 'Grunt Padre' author who's now the head chaplain of the Coast Guard
Father Daniel L. Mode, chaplain of the Coast Guard, stands in the large atrium of the Coast Guard headquarters in Washington, D.C., in front of a massive wall of flags and insignia of the...
Investigation into FBI, fed agencies' targeting of Christians and pro-lifers to begin next week
An FBI agent stands outside the Houck residence in Kintnersville, Pennsylvania, on Sept. 23, 2022. Mark Houck was arrested that day and charged with assaulting a Planned Parenthood escort...
'There is power in suffering': Meet the bishop who ordained the real-life Father Stu
Mark Wahlberg starts as Father Stuart Long in "Father Stu: Reborn." / Credit: Sony Pictures Denver Newsroom, Feb 4, 2023 / 04:00 am (CNA). Is anyone beyond redemption? Last year's sleeper hit...
Charges dropped, for now, against woman arrested for praying silently outside UK abortion clinic
Isabel Vaughan-Spruce / ADF UK Denver, Colo., Feb 3, 2023 / 15:45 pm (CNA). Authorities in the U.K. have dropped charges against a woman arrested for silent prayer in a "buffer zone" that...
Television station rediscovers lost interview with priest who developed Big Bang theory
Father Georges Lemaitre. / Credit: VRT/YouTube CNA Newsroom, Feb 1, 2023 / 14:00 pm (CNA). A Belgian television station has rediscovered a 20-minute video in which Father Georges Lemaitre...
Thousands mourn Cardinal Pell at Sydney funeral: 'Be not afraid' was his motto
Cardinal George Pell's funeral Mass drew thousands of mourners to Sydney's St. Mary's Cathedral Feb. 2, 2023. / Credit: Giovanni Portelli/The Catholic Weekly Denver, Colo., Feb 2, 2023 ...
Cardinal Zen hospitalized in Hong Kong after returning from Benedict XVI's funeral
Cardinal Joseph Zen, former bishop of Hong Hong, attends the funeral Mass for Pope Emeritus Benedict XVI on Jan. 5, 2023, in St. Peter's Square. / Credit: Diane Montagna Rome Newsroom, Feb 1...
More than 100 pilgrims cross the Andes in a show of love for the Virgin Mary
More than 100 pilgrims arrived at the Bellavista Shrine in Santiago, Chile, Feb. 2, 2023. / Credit: Instagram Cruzada de María CNA Newsroom, Feb 5, 2023 / 06:00 am (CNA). With the theme...
Costa Rican priest shares his journey from intelligence agent to the Catholic priesthood
Father Luis Enrique Guillén. / Credit: Archdiocese of San José CNA Newsroom, Feb 1, 2023 / 16:30 pm (CNA). Father Luis Enrique Guillén left a police career in the National Intelligence and...
Pope Francis greets a young boy a Mass in Juba, South Sudan on Feb. 5, 2023. / Vatican Media Rome Newsroom, Feb 5, 2023 / 05:00 am (CNA). At a Mass in South Sudan on Sunday, Pope Francis...
Pope Francis at ecumenical prayer service in Sudan: Those who choose Christ choose peace
The Archbishop of Canterbury, Justin Welby; Pope Francis; and the Moderator of the Church of Scotland, Iain Greenshields, lead a prayer service for Catholic, Anglican and Presbyterian...