Yesterday, my friend texted me a pretty big "House of Cards" spoiler. It wasn't malicious; he just thought I had finished all the episodes. While a lot of people would be extremely upset if a major plot point had been spoiled for them, I can honestly say that I didn't care. In fact, I often go out of my way to find spoilers.
When I read the sixth "Harry Potter" book, I flipped ahead to see who died. When I watched "Donnie Darko" last week, I pulled up Wikipedia to read about the ending. I've read extensively online about most of the things that happened in "A Song of Ice and Fire," the book series "Game of Thrones" is based on, and I tend to read recaps of shows before I watch them.
My strange habit is partially vindicated by a study from UC San Diego that found people enjoy things more when they already know what's going to happen. This lines up well with Alfred Hitchcock's theory of suspense: He believed that it was much more terrifying for the audience to know what was coming in his movies.
This makes sense to me. Reading "Harry Potter and the Half-Blood Prince" knowing that — spoiler alert — Snape kills Dumbledore made me more attentive to the way J.K. Rowling was building up to that plot point. The tragedy of the loss was more intense as I saw Harry and Dumbledore's relationship grow, knowing that Harry would be left on his own so soon. My foreknowledge frequently makes watching "Game of Thrones" incredibly intense and occasionally unbearably sad.
This isn't only applicable to shows with more dramatic and over-the-top plot points. The first episode of "The Office" I ever watched was Jim and Pam's wedding. The knowledge that it would all work out for those two crazy kids made all their interactions a little sweeter when watching previous episodes.
Some works are upfront about how they'll end from the very beginning. At the start of "(500) Days of Summer," we learn that it's not going to end with the duo together. It's a testament to the movie's power that I still thought their relationship might work out. Similarly, "How I Met Your Mother" makes it clear that Ted will marry someone, but that his wife will not be Robin, the ex-girlfriend he can't get over. Both use the knowledge of the characters' fates in intriguing ways.
If spoilers really ruin a plot, then it wasn't very good to begin with. After all, the best books, movies and television shows are the ones that can be enjoyed multiple times. One of my friends is currently watching "Friday Night Lights" for the first time and knowing what happens to Coach, his wife and the town of Dillon has only heightened my enjoyment in watching the series with her. They say and do things that I know they'll regret later, but not yet.
I'm not discounting the value of a truly shocking moment. I didn't know about the twist in the first episode of the second season of "House of Cards," and screaming about it with my roommate was fun. But I think we've become too obsessed with guarding ourselves from plot points. And if more television moves toward the Netflix model, anti-spoiler decrees will become untenable.
When is it appropriate to talk about "House of Cards" without a massive SPOILER ALERT warning? With the traditional model, after a week, you can be sure that almost everyone knows what happened.
Then again, my argument about spoilers making things more enjoyable might just be an excuse for my impatience. I may have sped through "The Hunger Games," but I couldn't go fast enough to quench my thirst for plot. I want to know what happens as soon as possible, even if the traditional method will only take a few hours; or if I'm watching a movie, even less. Perhaps it's because I've gotten so used to a world where limitless information is at my fingertips. If I want the weather, there's an app for that. If I want the plot to "Lord of the Rings," there's an app for that, too.
I also might just be uncomfortable with uncertainty. When I like the characters, I want to know that they're going to be OK, the same way that I worry about my friends — and myself — in real life. The only difference is that I can't google my friends to make sure the boy they're chasing will eventually return their feelings or that they won't get murdered by a conniving politician.
In the meantime, I will probably keep embracing spoilers. To help you do that too, here are a few spoilers: Frank Underwood becomes supreme dictator of the universe, Sansa Stark steals Daenerys' dragons to become queen of Westeros and Walter White was Gossip Girl. Oh, and Snape killed Dumbledore.
Victoria Edel is a senior in the College. GIRL MEETS WORLD appears every other Friday in the guide.


Cost of Melasma Treatment in Rajouri Garden,West Delhi:Book Appointment.
Melasma is a tan or dark skin discoloration. Melasma is particularly common in women, especially pregnant women and those who are taking oral or patch contraceptives or hormone replacement therapy (HRT) medications. The symptoms of Melasma are dark, uneven well demarcated hyper pigmented patches commonly found on the upper cheek, nose, lips, upper lip, and forehead. Every person has a different skin type and hence needs different treatment so it is very essential to find the right dermatologist. Dr. Nivedita Dadu's Dermatology clinic – an ultra modern skin clinic in West Delhi, is trusted for meticulously providing all kind of skin oriented treatment with wonderful results. Our primary focus is your comfort.
Contraceptive pills – can also cause Melasma. So, as soon as you spot the symptoms, rush to your dermatologist because early detection prevents severity and also, with the advice of your doctor you can stop consuming the same contraceptive pills.
HRT can also cause Melasma.
Treatment: Dr. Dadu provides a variety of Melasma Treatment in Rajouri Garden, Delhi at her skin Clinic, but not all treatments are recommended for everyone. So, a thorough examination of the condition is followed by a customized treatment for every individual patient.
Medicated sunscreen lotion for protection from sun.
Microdermabrasion – exfoliates and removes the Melasma affected top layer of skin to give you a new and perfect facial skin.
Laser Therapy – is the most ideal treatment if Melasma is caused due to hormonal imbalance.


text:
Henry James (1843–1916)
From Henry James: Complete Stories 1892–1898
"The Art of Henry James: Kinship Between Literature and Visual Art" (Michelle Marder Kamhi, Aristos)
"'A Most Noble Old Village': John Singer Sargent and the Broadway Art Colony, 1885–1886" (Lisa Bush Hankin, AFA News)
• "The Tree of Knowledge," Henry James
• "W. L. S.," Theodore Dreiser
• "The Namesake," Willa Cather
• "Miss Grief," Constance Fenimore Woolson
The Real Thing | The Death of the Lion | The Turn of the Screw | 18 other stories
Save 20%, free shipping
"Mrs. Monarch went through her paces before me, and did it quite well." Illustration by the Belgian-born British artist Rudolf Blind (1850–1916) for "The Real Thing," Black & White, April 16, 1892.
In his memoir A Small Boy and Others, Henry James recalled how, as a child, he would pore over the "steel-plate volumes" in the family library, particularly one tome devoted to Shakespeare, "in which the plates were so artfully coloured and varnished, and complexion and dress thereby so endeared to memory, that it was for long afterwards a shock to me at the theatre not to see just those bright images, with their peculiar toggeries, come on." Similarly, his memory of Oliver Twist was "more Cruikshank's than Dickens's," referring to the twenty-four illustrations created by George Cruikshank for the novel, "all marked with that peculiarity of Cruikshank that the offered flowers or goodnesses, the scenes and figures intended to comfort and cheer, present themselves under his hand as but more subtly sinister, or more suggestively queer, than the frank badnesses and horrors. The nice people and the happy moments, in the plates, frightened me almost as much as the low and the awkward."
When James began publishing his own stories and novels in magazines and books, he became preoccupied with how the accompanying pictures might overwhelm the text itself. "He greatly admired the work of the illustrators," notes his biographer Leon Edel, "but he was not altogether happy at having his own prose illustrated." He wrote in frustration to an editor of The Century Illustrated Monthly Magazine, "Ah, your illustrations—your illustrations; how, as a writer, one hates 'em; and how their being as good as they are makes one hate 'em more! What one writes suffers essentially, as literature, from going with them, and the two things ought to stand alone." He struck a similar note when he sent his novel The Other House to be serialized in The Illustrated London News: "I like so little to be illustrated (I resent it so, amiably speaking, on behalf of good prose and real writing)."
His ambivalence about magazine illustrations was complicated by his friendships with several of the most prominent artists. He wrote an entire book, Picture and Text (1893), containing appreciations of the art of "black and white," with essays focusing on its leading practitioners, several of whom would gather each summer in the English village of Broadway, where James would join them for a few days. Among the artists profiled by James is George du Maurier, who had illustrated James's novel Washington Square when it appeared in 1880 and who gave James the idea for "The Real Thing," perhaps the most anthologized of any of his short stories.
In February 1891, shortly after he had begun drafting the tale, he recorded in his notebook that it was based on an incident related to him by du Maurier involving a "lady and gentleman" sent to him by landscape painter William Powell Firth: "an oldish, faded, ruined pair—he an officer in the army—who unable to turn a penny in any other way, were trying to find employment as models." Du Maurier had been for a quarter century one of the lead illustrators for the British humor magazine Punch, and the couple apparently hoped that they might earn money by posing as models for the upper-crust characters depicted in his society illustrations. James was struck by the "pathos" of their situation; two "good-looking gentlefolk" who were "now utterly unable to do anything, had no cleverness, no art nor craft to make use of as a gagne-pain [livelihood]." What James wrote next is fascinating for how he worked through the direction of the story once he became stuck on what to do with the idea:
I thought I saw a subject for very brief treatment in this donnée—and I think I do still; but to do anything worth while with it I must (as always, great Heavens!) be very clear as to what is in it and what I wish to get out of it. I tried a beginning yesterday, but I instantly became conscious that I must straighten out the little idea. It must be an idea—it can't be a 'story' in the vulgar sense of the word. It must be a picture; it must illustrate something. . . . One must put a little action—not a stupid, mechanical, arbitrary action, but something that is of the real essence of the subject. I thought of representing the husband as jealous of the wife—that is, jealous of the artist employing her, from the moment that, in point of fact, she begins to sit. But this is vulgar and obvious—worth nothing. What I wish to represent is the baffled, ineffectual, incompetent character of their attempt, and how it illustrates once again the everlasting English amateurishness—the way superficial, untrained, unprofessional effort goes to the wall when confronted with trained, competitive, intelligent, qualified art—in whatever line it may be a question of. It is out of that element that my action and movement must come. . . .
Years later, when Henry James was collecting his stories and novels in the uniform New York Edition, he added in a preface that du Maurier's married couple thought that "their not having to make believe would in fact serve them" and would also make the illustrator's job easier because he wouldn't have to depend on the "comparatively sordid professionals" who could only pretend to be what the husband and wife were: "the real thing."
James's story about an illustrator and his hopeful models would itself be illustrated, both when it was syndicated by S. S. McClure to numerous American newspapers in early April 1892 and when it appeared, later that month, in the British magazine Black & White. Yet the story is not merely a tale on the art of illustration. Earlier in his career, like many American writers of the late nineteenth century, James had been greatly influenced by the French literary realists. Yet by the 1890s, the late literary scholar George Monteiro has pointed out, James "was much closer to claiming the supremacy of the fiction-writer's imagination in the creation of literary reality. Actual reality (experience) might be the necessary basis—the starting place—for the writer's exercise of his art but his imagination realized the people and action of his tale." In literature, too, the "real thing" isn't enough. Or, as James himself put it in his preface to a different story, "We can surely account for nothing in the novelist's work that hasn't passed through the crucible of his imagination, hasn't in that perpetually simmering cauldron his intellectual pot-au-feu, been reduced to savoury fusion. . . . Thus it has become a different and, thanks to a rare alchemy, a better thing."
Notes: A "sunk" piece of painting is one on which the colors have spread or sunk into the paper, losing their effect. Among the French expressions used by James are bêtement (stupidly), profils perdus (literally, lost profiles; portraits in which the head is turned more than halfway away from the painter), and sentiment de la pose (James's own coinage denoting a feel for posing). A lazzarone is a vagabond or beggar. "Ce sont des gens qu'il faut mettre à la porte" translates as "These are people you have to throw out of the house." When Jack Hawley repeats "those who know" in Italian (coloro che sanno), he is making a reference to Dante's epithet for Aristotle in the Inferno: 'l maestro di color che sanno, the master of those who know.
When the porter's wife (she used to answer the house-bell), announced "A gentleman-with a lady, sir," I had, as I often had in those days, for the wish was father to the thought, an immediate vision of sitters. . . . If you don't see the full selection below, click here (PDF) or click here (Google Docs) to read it—free!
Labels: George du Maurier, Henry James
Posted on Sunday, April 11, 2021 at 2:00 AM

redpajama_set_name: RedPajamaCommonCrawl


New Ski Lifts and Terrain at Resorts Across the U.S.
According to the National Ski Areas Association, the number of U.S. ski areas has dropped from 546 in the 1991-92 ski season to 477 in the 2012-13 season. However, most of the dearly departed areas were tiny local hills, so skiers and snowboarders still have plenty of resort terrain. In fact, many destination resorts have significantly grown in skiable acreage during the past couple decades. High-speed lift installations make more vertical feet on that acreage possible during a day on the slopes.
The 2013-14 season has brought another slate of terrain expansions and new ski lifts. In some cases, the trend of bringing "side-country" in-bounds offers the flavor of rugged backcountry skiing, minus any serious avalanche concerns.
Sugar Bowl Resort in California has installed the $3 million Crow's Peak Chairlift to access more than 150 new acres of advanced and expert steeps and glades. Bucking the high-speed quad and six-pack trend, the new lift is a fixed-grip triple due in part to the lack of space for the top terminal. The fixed-grip lift also can better handle wind. Factoring in the sheltered nature of that portion of the resort, Crow's Peak should be spinning even on most storm days.
In Colorado, Breckenridge Resort has added a major expansion of 543 acres on Peak 6 with two new lifts. Vail Mountain, meanwhile, put in a six-pack lift to replace the Mountain Top Express Lift.
Changes at Copper Mountain involve two surface ski lifts. The Colorado resort upgraded the Storm King surface lift that had been installed in 1985. The brand-new Celebrity Ridge surface lift runs at the top of the Sierra chairlift to improve access to Union Peak, Union Meadows, West Ridge and Copper Bowl.
Winter Park Resort did not build a new lift, but the Colorado ski area made access to its taste of backcountry skiing much easier. Although reminiscent of a backcountry experience, the 1,332 acres of the Cirque were in-bounds and avalanche-controlled in previous seasons. Reaching the area, however, required a fairly flat hike that was more time-consuming than technical. This season, the "Cirque Sled," a 48-passenger snowcat, will eliminate that slog. A $10 pass covers unlimited rides on the Cirque Sled for the entire season.
While the Cirque Sled will just attract experts, a wide range of ability levels should appreciate the new Treasure Stoke Lift at Colorado's Wolf Creek Ski Area. A major artery coming out of the ski area's main base, the new detachable high-speed quad replaces the Treasure Lift, a triple chair.
In Utah, the only new lift is the replacement at Snowbird of the original Gad 2 double chairlift that goes back to 1971. The new high-speed detachable quad will cut the ride time in half.
Whitefish Mountain Resort has cut a few new blue runs as part of the Flower Point Project. Although the Montana resort's new trails are already lift-served, a new lift in the 2014-15 season will directly access the north-facing Flower Point area. Whitefish, formerly known as Big Mountain, is unusual among U.S. ski areas in that the "front" of the resort faces south. Therefore, more north-facing terrain means more trails with better snow preservation in the spring.
Crystal Mountain in Michigan installed a new high-speed quad called the Buck Quad. Along with the new lift, the area increased its skiable terrain to 48 trails with three new runs: Buckaroo, Buck Glades and Gorge Glades.
With the snow falling, it's time to get out there and enjoy those new lifts and trails.


You're reading Werewolf Breeding Vol.1 Chapter 98 : Companion at Mangakakalot.com.
You just finished reading Werewolf Breeding Vol.1 Chapter 98 : Companion online. The Bookmark button is a very simple way to get notifications when your favorite manga have new updates. It's very useful to anyone who loves reading manga. Let's us guide you to find your best manga to read. And if you find any errors, let us know so we can fix it as soon as possible!
Werewolf Breeding Vol.1 Chapter 97 : Did I Keep You Waiting?
You're reading Werewolf Breeding. This manga has been translated by Updating. Author: Yoon Joon-sik already has 2322 views.
Current Time is Apr-18-2019 18:15:27 PM.


With the demand for wireless technologies constantly increasing, the pressure is on to increase the quantity of sites that can service this demand. Sites like GSM tower base stations, repeater stations for microwave and radio frequency technologies and wireless distribution points are constantly being rolled out to meet these demands.
Would it not be great to know exactly what the statuses of these almost always unmanned sites are? As they are vulnerable to fault conditions, security breaches and downtime this can be eliminated with the use of environmental element monitoring utilizing points of presence sensors and security threats that can be detected with the applicable sensors. One of the largest threats is loss of power feeds to these sites and with sites that have backup power generators that the diesel fuel runs out or the generators fail.
The addition of various sensors at these remote sites increases the visibility of events at the specific site and increases the time available to react to conditions that could cause downtime. Handy sensing devices for high site shelters and perimeters then comprise of power presence detection, electrical generator conditions (starter battery, fuel levels, power delivery, cooling fluids temperature and vibration), environmental conditions (temperature, humidity and flooding) in the high site shelter, perimeter security detectors and monitored access control.
These events should create instantaneous remote alarm indications to minimize the reaction time of dispatching of services personnel or remote controlled actions to eliminate failure. All events must be logged and saved to a centralized database for analysis.


text:
Our Place in the Expanding Universe
Published by Armagh Observatory and Planetarium on October 20, 2011 October 20, 2011
Our galaxy, the Milky Way, is just one of an enormous number of galaxies spread throughout a vast Universe, which is expanding.Everyone knows these facts now, but how do we actually know about our place in the Universe?
Sky field near some of the brighter galaxies in the Virgo Cluster.This image was obtained with the Wide Field Imager (WFI) at the La Silla Observatory.The large elliptical galaxy at the centre is Messier 84; the elongated image of NGC 4388 (an active spiral galaxy, seen from the side) is in the lower left corner.(Image credit:ESO)
Light travels through space as a wave, and hence light has a wavelength.If you imagine waves on the ocean, their wavelength is the distance between each crest.Just for a moment think about the familiar colours of the rainbow (or spectrum).At one side we start with red which has a long wavelength, next orange with slightly shorter wavelength, moving through the colours to blue and violet the wavelengths get smaller and smaller.
Travelling as a wave has an important consequence for light.Light waves from moving sources are stretched or compressed by the motion.If an object is coming towards you its light is blueshifted meaning the light waves are squeezed together, making them appear more bluish, similarly if it is receding the light is redshifted.The speeds would have to enormous for this effect to be noticeable to the eye, so approaching car headlights will never appear blue!This phenomena is called the Doppler Effect and is very useful in many aspects of astronomy.For example, by studying the light from a star we can tell if it is coming in our direction (blueshift) or moving away (redshift), or we can use the Doppler Effect to measure its speed.
Between 1912 and 1917, astronomer Vesto Slipher (1875-1969) was using the Doppler Effect to measure the speed of 'nebulae', at the time still believed to be nearby objects inside our own galaxy.To his surprise, of twenty five nebulae, four were blueshifted (and therefore coming towards us) and the rest were redshifted and hence moving away from us.Edwin Hubble (1889-1953) had heard of this and was fascinated.However he was not able to begin investigating immediately due to his military service in the First World War amongst other distractions.By the late 1920s Hubble was using the 100 inch Mount Wilson telescope, the largest in the world at the time, to look at distant galaxies.By 1929 he had catalogued 46 galaxies by their distance and speed (measured by the Doppler Effect).
The conclusions were unmistakable and confirmed Slipher's results.Firstly most galaxies are redshifted, implying that they are receding from our galaxy, secondly, the degree of redshift (and therefore the galaxy's velocity) is directly proportional to its distance away.In other words, if a galaxy was twice as far away as another, it would appear to be travelling twice as fast.This is now called Hubble's Law, and it made his name.Soon after he was being referred to as "the world's greatest astronomer".Hubble's Law opened up a new way of determining intergalactic distances.If you measure the redshift of a galaxy, you will know its velocity, and by Hubble's Law, you will automatically know its distance away.
Things are getting bigger!Hubble's Law can be graphically demonstrated.(Image credit:via Ned Wright's cosmology tutorial http://www.astro.ucla.edu/~wright/cosmolog.htm)
Why are the galaxies receding?
Other galaxies are not moving away because they are recoiling in disgust from the Milky Way, but appear to be receding because the Universe is expanding. The very fabric of space is stretching, carrying the galaxies with it. Observers in any galaxy will see every other galaxy as redshifted, so there is nothing special about the Milky Way. There is another important consequence of the fact than the Universe is expanding. If the Universe is expanding today, that implies that in the past the galaxies would have been closer together and the Universe was much smaller than it is now. Further back in time there would have been a time when they were squeezed closer together still and ultimately there would have been a time when everything was at a single point. Today there is extensive evidence that the Universe burst from a massive explosion, the "Big Bang", some 13.8 billion years ago and has been expanding ever since.
We live in an expanding cosmos, let us with a look at the wider Universe and how our galaxy fits into it.We are not alone.Galaxies congregate as their enormous gravitational pulls slowly draw them together, locally defying the expansion of space.This happening to both our own galaxy and the much larger Andromeda Galaxy, both are hurtling together and will in fact collide in the distant future.The two galaxies are expected to absorb each other and merge into a new gigantic galaxy.This has probably happened many times before, the Milky Way contains remnants of other smaller galaxies it has consumed over the aeons.
The Milky Way and the Andromeda Galaxy are the two largest members of a collection of 35 galaxies, imaginatively called the Local Group.This dumbbell-shaped gaggle of galaxies is spread over 10 million light years of space.The Local Group is itself part of the much bigger Virgo Supercluster which contains about 100 groups and clusters of galaxies spanning more than 100 million light years.Yet we are nowhere near the end of the story, the Virgo Supercluster is just one of many such gigantic swarms of galaxies.
Large scale maps of the cosmos show it to be uneven, with great spongy concentrations of superclusters of galaxies brought together by gravity separated by huge voids of almost completely empty space.
The Big Picture.A panoramic view of the entire near-infrared sky reveals the uneven distribution of galaxies beyond the Milky Way.(Image credit:IPAC/Caltech, by Thomas Jarrett)
In the next decades as telescopes improve we ought to get an even clearer idea of our place in the Universe.The great astronomers of the past who laid the foundations on which our knowledge of the Universe has been built would be astonished, awed and delighted by what the astronomers of today have found.
Categories:	Cosmology
Tags: astronomy historyBig BangcosmologyDoppler EfffectEdwin HubblegalaxieslightM31physicsredshiftVesto SlipherVirgo Supercluster
Star Older Than the Universe | Astronotes	· October 15, 2013 at 03:49
[…] 4.6 billion years ago. The Universe itself appears to be some 13.8 billion years old based on its observed rate of expansion and the properties of the Cosmic Microwave Background. That means, perhaps surprisingly, that the […]
The deepest view of the X-ray sky
The eROSITA telescope has provided a new, sharp view of hot and energetic processes across the Universe. The eROSITA X-ray telescope has completed its first full sweep of the sky. This new map of the Read more…
astronomers
The IAU: An Introduction
To kick off our new weekly series on the Technical Applications of Astronomy to Society, inspired by a recent publication of the IAU (The International Astronomical Union), our Director Michael Burton has written a brief Read more…
How Big is the biggest Black Hole we know of?
Before addressing Black Hole sizes, we should first go back to see what astronomers mean when they use the term "Black Hole". This may be easiest to understand when considering the end products of stars.


text:
Llista de monuments de Mediona inclosos en l'Inventari del Patrimoni Arquitectònic de Catalunya dins del terme municipal de Mediona (Alt Penedès). Inclou els inscrits en el Registre de Béns Culturals d'Interès Nacional (BCIN) catalogats com a monuments històrics i els béns culturals d'interès local (BCIL) de caràcter arquitectònic.

|}

Enllaços externs

 Cercador de l'Inventari del Patrimoni Arquitectònic

Mediona
Mediona

redpajama_set_name: RedPajamaWikipedia


Under Armour has been named Ad Age's Marketer of the Year primarily for its novel approach marketing to women. The success Under Armour has enjoyed with its I Will campaign underscores why Title IX — while generating lots of positive results — has been an abject failure in reshaping opportunities for women in sports marketing and redefining the way our society treats and values women's sports. Now Puma has followed suit by signing Rhianna as the face of its women's fitness line and giving her the title of "creative director." When Under Armour debuted its Gisele TV commercial, while acknowledging its effectiveness, I offered the opinion that a double standard has been created by the media, and that double standard has shaped viewing habits, public opinion and marketing. I concluded that this trend does not bode well for the growth of women's sports nor does it help top-tier female athletes. https://www.youtube.com/watch?v=H-V7cOestUs The starting point of all this is that women's sports get a fraction of the respect and audience that men's sports do. The media have not historically promoted or distributed women's sports. And most women athletes grew up looking up to male athletes as their "role model." Title IX was supposed to change all that. But while girls got to "play" instead of "cheerlead," our sports viewing habits did not change. Why? The reason is that, while schools had to change and let girls play sports, the media were allowed to continue their old ways of ignoring women's sports. A primary reason why we do not perceive men and female athletes equally is that the media treat them like second-class citizens — and advertisers only follow suit. Bottom line, our attitude toward women's athletes is shaped by sport media and Madison Avenue. And Madison Avenue sets the standard for our double standard of social currency among men (rich/winner/athletic) and women (attractive/youthful). When it comes to male athletes, all that matters is whether you win at one of the major sports. The general rule is that if you are a winner — the best in the business — then you will be rewarded handsomely with endorsements or marketing deals (Shaq, Kobe, LeBron, Kevin Durant). In marked contrast, the sports brands realized over the years that you don't have to pay top women athletes the big bucks no matter what. For example, when we represented Lisa Leslie, the best player in the WNBA, Nike kept reducing its offers to Lisa even as she got better and more dominant as a player. The reasoning was that Nike discovered that male athletes were "still" driving the sales of the shoes anyway (girls looked up to the male athletes more because of the additional exposure and promotion that they received). More recently, as women have been wearing workout gear or athletic apparel throughout the day (as men have done for years), the sports brands have started to experiment with different approaches seeing this as a growth market. Now there is much more emphasis on whether a female athlete is attractive and youthful, rather than the best in the world. In fact, it is arguably better to be an athletic youthful model rather than athlete who happens to be attractive (at least from Under Armour's perspective). All of this is completely in line with Madison Avenue's view of how to market women. There was quite a bit of chatter around Under Armour's signing Gisele to a reportedly whopping deal to be the face of its women's athletic footwear and apparel line. Obviously, Gisele is super attractive and even athletic and perhaps even a remarkable lady — but she certainly is not considered a world-class athlete or more importantly she is not best in the world at a sport that large numbers of girls play (i.e. soccer, basketball or volleyball). But who can argue with Under Armour's results in light of the growth for its women's business as a result of the I Will campaign. I appreciate attractive female athletes, but I don't think that being physically attractive (usually models or actresses win this battle) should be the initial criterion when a sports brand is deciding whether to sign a woman endorser. But it seems the women that are buying the product don't really care about this. If we really want to see change, the sports media, starting with the major distributors like ESPN, Fox and NBC, should be required to promote and distribute a certain amount of women's sports on TV. Girls and women need to be conditioned to watch women's sports. They make up more than half the viewing audience for goodness sake. Not only should sports companies should apply the same standard to female athletes as they do to men, they should make women's sports just as relevant to women as men's sports are to men. I'm interested in your thoughts, please comment below.


text:
Q: is there a mtrace with full stack trace? or can it be simply modified to have this functionality? During analysis mem consumption of huge app I use mtrace from glibc. But the problem is it gives just source of malloc call, but not full stack trace. So if I use malloc in method that is used in many places I have only one indistinguishable source of malloc reported. Another problem is standard c library and generic objects like CSimpleArray. I only know that somebody used huge array, but don't know who exactly.
So I thought I need full stack trace to know who exactly used malloc. Do you know if such a variant of mtrace exist? or can it be simply modified to do that?
Just a remark: my mtrace.out log contains 300k lines, after processing it with mtrace script it has 10k entries. It is anough for me if I localize only 10% biggest chunks.

redpajama_set_name: RedPajamaStackExchange


You have probably heard or read about the need to create a sales funnel – a series of touchpoints for potential customers to become aware of your business and eventually buy from you.
However, if you just create a sales funnel you have only done half a job – and missed the most important part!
Acquiring new customers is important – especially when you have a new business. But to grow a strong, sustainable business you need those customers to stay, buy from you again and refer others to you.
On average it costs as much to acquire 1 new customer as it does to keep 12 existing ones – plus it is easier to sell to existing customers and, on average, they spend more than 50% more than a first-time customer would each time they buy from you again.
A customer journey map doesn't just map out your sales funnel, it maps out all the touchpoints throughout the whole time a customer is with you. By mapping the full customer journey, you will not only make sure you maximise sales from enquiries, you will also make sure you have lots of repeat sales and happy customers who refer others to you.
If you search online for customer journey maps, you will find thousands of different formats. You will also find experts, tools, templates and books that can help you. Don't get confused – just find a format that works for you, try it yourself first and use a tool or expert if you find you need help.
Whichever format you use, you need to list all the touchpoints a customer could see during 4 stages of their relationship with you.
Make it easy – how obvious is it for the customer to understand your message? How many steps are there to go to the next stage of the relationship?
Keep your promises – check what you promise at each stage – do future touchpoints match up to them?
Then all you need to do is to make the changes, improve processed, amend blockages, etc!
Mapping customer journeys is a powerful process that helps you reduce customer churn and improve customer experience – find an expert who can help you through the process.
Now you've read our article on customer journeys – have you any more questions?


text:
Britain ready to Brexit without Agreement, says Theresa May
30th May 2017 30th May 2017 Jason PlantLeave a Comment on Britain ready to Brexit without Agreement, says Theresa May
Theresa May reiterated on Monday that it was ready to leave the negotiating table on the Brexit without obtaining agreement with the European Union and called on voters to support the government against "aggression" exhibited, according to her, the Europeans towards Britain.
"We will be there to negotiate the deal that suits but, as I said, no deal is better than a bad deal . We must be prepared to disengage . The statement of Prime Minister Theresa May on Monday on the television channel Sky News , has the merit of being clear ..
In a speech she is to deliver Tuesday and excerpts of which were released on Monday, the ruling Prime Minister appealed to his countrymen to support her action.
"An aggressive position"
"They (the Europeans) take an aggressive stance in negotiations that can only be compensated by a strong government of Britain" , she explains. "If we do not succeed the next five years, our economic prosperity will suffer, employment and living standards will be threatened, and with them the security and peace of mind of working families" , she believes.
These statements by Theresa May intervene with just ten days before early elections as head of the British government convened with the hope of getting an enhanced majority in the House of Commons.
"There will be an agreement"
Opinion polls show a narrowing of the gap between the Conservative Party Theresa May still leading, and the Labor Party Jeremy Corbyn.
Evoking the Brexit which is the main issue of this election, Corbyn said on Monday evening and that if his party won, he would ensure that an agreement is reached for a separation from the European Union.
Asked about the prospect of a lack of agreement between the British and Europeans, Corbyn said: "there will be an agreement. We will ensure that there is an agreement " .
Tagged Brexit Britain EU Europe Theresa May United Kingdom
Charente: Fuel Shortage Fear Closes Pumps
Weather in Charente: Cloudy, Return of Thunderstorms Tonight
Thunderstorms: 5 Departments on Orange Alert
8th August 2017 8th August 2017 spanner44
Weather: 27 Departments on Orange alert, New Snow on Friday
8th February 2018 9th February 2018 spanner44
Snow and Ice: Thirty Departments Placed in Orange Alert in Northern France
7th January 2017 7th January 2017 spanner44


A 5% plunge in Yahoo (NasdaqGS: YHOO) shares on Friday hurt Internet exchange traded funds that count the stock as a top holding while investors continued to worry about the restructuring of a Chinese company in which Yahoo has a stake.
Earlier this week, Yahoo in a filing said the ownership of Alibaba Group's online payment business, Alipay, was restructured. Yahoo has an ownership stake in Alibaba.
Yahoo is a large component in Internet HOLDRS (AMEX: HHH) and First Trust Dow Jones Internet (NYSEArca: FDN). Both ETFs were lower Friday.
Jefferies analysts in a note Friday said Alibaba has literally pulled the carpet out from under Yahoo. "The acute lack of clarity around the Alipay issue is calling into question the value and monetization potential of Yahoo's Chinese assets in general," they said in a note.
The Alipay development "raises serious concerns about Yahoo's ability to retain this asset or monetize it fairly without potentially a long drawn out process that could include litigation," Jefferies added.


Preheat the oven to 350°F. Grease a loaf pan with nonstick spray. Prepare the fruit: In a medium-size heat-safe bowl, toss the apricots with the cranberries, cherries and raisins. In a small pot, bring the bourbon to a simmer. Pour it over the fruit and let sit for 10 minutes. Drain the fruit, reserving the bourbon. Transfer the fruit to another medium bowl and toss with the pistachios, hazelnuts, pecans and almonds. Set aside. Make the batter: In the bowl of an electric mixer fitted with the paddle attachment, cream the butter and brown sugar until light and fluffy, 4 to 5 minutes. Add the eggs one at a time, scraping the side of the bowl well after each addition. Beat in the vanilla extract, orange zest and cinnamon. Add the flour and baking powder; mix just until combined. Bake the cake: Add the fruit-and-nut mixture to the batter and mix to combine. Pour the batter into the prepared pan and smooth the surface. Garnish with a sprinkle of turbinado sugar, then bake until golden and cooked through, 2 to 2½ hours. While the cake is baking, bring the reserved bourbon to a simmer and reduce to about ¼ cup. Pour the reduced bourbon over the warm cake as soon as it comes out of the oven. Let the cake cool completely before slicing and serving. The uncut cake will keep for up to two weeks in an airtight container.
In a large saucepan melt the butter over medium heat and add the raisins, dates, prunes, currents, brown sugar, molasses, spices, coffee liqueur (or coffee) and the orange zest and juice. Bring to a gentle boil and very slowly simmer for 10 minutes. Remove from heat and allow to cool for 30-45 minutes. When cool stir in the beaten eggs. Sift together, flour, cocoa, baking powder, baking soda. Add the ground nuts and fold through the boiled mixture. Fold in cherries, citrus peel and pecans. Pour into prepared baking pan. You can decorate the top with additional pecan halves, cherries etc., if you like. Bake at 300 degrees F for 1 ½ to 2 hours depending upon the size of your pan. Mine took the full two hours in a 10 inch spring form pan.The cake should feel firm to the touch at the center and a wooden toothpick inserted into the center should come out clean. The cake should be cooled completely in the pan on a wire rack before removing. At this point you can poke small holes in the top and bottom of the cake with a fork and pour on 4 ounces of dark rum or your favorite whiskey, half on the top, wait ten minutes, then flip it over and pour the remaining half on the bottom. Soak several layers of cheesecloth in additional rum if you like and wrap completely around the cake, then cover with several layers of plastic wrap and store in a COOL place. When serving, you can add a layer of marzipan or if you have decorated the top with fruit and nuts, brush with a simple glaze of equal parts water and sugar boiled together for about 10-15 minutes.
Grease and flour two 9 x 5 x 3-inch loaf pans. Line the bottoms with waxed paper; grease and flour the paper. Set aside. Or you may use a well greased 10" tube pan. Sift flour, baking powder, cinnamon, salt and nutmeg together. In a separate large bowl, combine butter and sugar, cream until fluffy. Add brown sugar and mix well. Beat in eggs, one at a time. Stir in vanilla extract. Add dry ingredients (from step 2) alternately with bourbon (or water). Stir in nuts, raisins and cherries. Turn mixture into well greased pan(s). Bake at 300 degrees F. for 2 hours or until toothpick or knife inserted in center of cake comes out clean. Remove from oven and let stand in pan for 20 minutes. Remove from pan and cool on rack. Wrap in foil or put in an air tight container. Keeps well.


text:
Q: Reverse animation when button is pressed for second time in Table View I know this has been asked before but did could not figure-out how to achieve this in the shortest possible way in my case.
When I click on "Add" button (see GIF below), the animation function  animates "imageView" (in this case the galaxy image) to fly to cart i.e. "notificationButton". Also "Add" button changes to "Remove"  and button color changes from black to red (see GIF below). Fine with that.

Now, when I click the button for the second time i.e deselect it i.e. make it to default state, everything reverses, but the image still flies to the cart !

Now, I want to reverse the animation flying imageView animation to its original position  when I push the button back to its default position second time, and again original flying animation, if the button is pushed again as many times as I want.
Though I have added complete ProductViewController code here but you skip everything and look at the last extension ProductViewController
I know this most likely has two steps -
i) Identifying that "buttonHandlerAddToCart"  button is pressed second time i.e. from selected/isselected step to default step.
ii) Reversing the  animation function "func animation" in ProductViewController.
How to go about it?
Relevant code:
SSBadgeButton:-
import UIKit
class SSBadgeButton: UIButton {

  var badgeLabel = UILabel()

   var badge: String? {
    didSet {
        addBadgeToButon(badge: badge)
    }
   }

   public var badgeBackgroundColor = UIColor.red {
    didSet {
        badgeLabel.backgroundColor = badgeBackgroundColor
    }
   }

   public var badgeTextColor = UIColor.white {
    didSet {
        badgeLabel.textColor = badgeTextColor
    }
  }

public var badgeFont = UIFont.systemFont(ofSize: 12.0) {
    didSet {
        badgeLabel.font = badgeFont
    }
}

public var badgeEdgeInsets: UIEdgeInsets? {
    didSet {
        addBadgeToButon(badge: badge)
    }
}

override init(frame: CGRect) {
    super.init(frame: frame)
    addBadgeToButon(badge: nil)
}

func addBadgeToButon(badge: String?) {
    badgeLabel.text = badge
    badgeLabel.textColor = badgeTextColor
    badgeLabel.backgroundColor = badgeBackgroundColor
    badgeLabel.font = badgeFont
    badgeLabel.sizeToFit()
    badgeLabel.textAlignment = .center
    let badgeSize = badgeLabel.frame.size

    let height = max(18, Double(badgeSize.height) + 5.0)
    let width = max(height, Double(badgeSize.width) + 10.0)

    var vertical: Double?, horizontal: Double?
    if let badgeInset = self.badgeEdgeInsets {
        vertical = Double(badgeInset.top) - Double(badgeInset.bottom)
        horizontal = Double(badgeInset.left) - Double(badgeInset.right)

        let x = (Double(bounds.size.width) - 10 + horizontal!)
        let y = -(Double(badgeSize.height) / 2) - 10 + vertical!
        badgeLabel.frame = CGRect(x: x, y: y, width: width, height: height)
    } else {
        let x = self.frame.width - CGFloat((width / 2.0))
        let y = CGFloat(-(height / 2.0))
        badgeLabel.frame = CGRect(x: x, y: y, width: CGFloat(width), height: CGFloat(height))
       }

    badgeLabel.layer.cornerRadius = badgeLabel.frame.height/2
    badgeLabel.layer.masksToBounds = true
    addSubview(badgeLabel)
    badgeLabel.isHidden = badge != nil ? false : true
   }

  required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    self.addBadgeToButon(badge: nil)
    fatalError("init(coder:) has not been implemented")
   }
 }

The ProductViewController code:
import UIKit

class ProductViewController: UIViewController, UITableViewDataSource,
                             UITableViewDelegate {
    let notificationButton = SSBadgeButton()
    let rightbarbuttonimage = UIImage(named:"ic_cart")
    fileprivate var cart = Cart()
    let scrollView = UIScrollView()
    let sections = ["Section A", "Section B","Section C", "Section D","Section   E","Section F","Section G","Section H", "Section I","Section J","Section K","Section L"]
    let rowspersection = [2,3,1,2,2,3,3,1,4,2,1,2]

    @IBOutlet weak var tableView: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.delegate = self
        tableView.dataSource = self
        self.tableView.backgroundColor = UIColor.gray

        //Add and setup scroll view
        self.tableView.addSubview(self.scrollView)
        self.scrollView.translatesAutoresizingMaskIntoConstraints = false;

        //Constrain scroll view
        self.scrollView.leadingAnchor.constraint(equalTo: self.tableView.leadingAnchor, constant: 20).isActive = true;
        self.scrollView.topAnchor.constraint(equalTo: self.tableView.topAnchor, constant: 20).isActive = true;
        self.scrollView.trailingAnchor.constraint(equalTo: self.tableView.trailingAnchor, constant: -20).isActive = true;
        self.scrollView.bottomAnchor.constraint(equalTo: self.tableView.bottomAnchor, constant: -20).isActive = true;

        // customising rightBarButtonItems as notificationbutton
        notificationButton.frame = CGRect(x: 0, y: 0, width: 44, height: 44)
        notificationButton.setImage(UIImage(named: "ic_cart")?.withRenderingMode(.alwaysTemplate), for: .normal)
        notificationButton.badgeEdgeInsets = UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 15)
        self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: notificationButton)

        //following register is needed because I have rightbarbuttonitem customised as   uibutton i.e.  notificationbutton
        notificationButton.addTarget(self, action: #selector(self.registerTapped(_:)), for: .touchUpInside)
    }
    @objc func registerTapped(_ sender: UIButton) {
        self.performSegue(withIdentifier: "showCart", sender: nil)
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        //Workaround to avoid the fadout the right bar button item
        self.navigationItem.rightBarButtonItem?.isEnabled = false
        self.navigationItem.rightBarButtonItem?.isEnabled = true

        //Update cart if some items quantity is equal to 0 and reload the product table and right button bar item
        cart.updateCart()

        //self.navigationItem.rightBarButtonItem?.title = "Checkout (\(cart.items.count))"
        notificationButton.badge = String(cart.items.count)// making badge equal to no.ofitems in cart

        tableView.reloadData()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    // this segue to transfer data
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "showCart" {
            if let cartViewController = segue.destination as? CartViewController {
                cartViewController.cart = self.cart
            }
        }
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return productMap.count
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return productMap[section]?.count ?? 0
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let product = productMap[indexPath.section]![indexPath.row]
        let cell = tableView.dequeueReusableCell(withIdentifier: "ProductTableViewCell") as! ProductTableViewCell
        cell.imageView?.image =  product.imagename
        cell.delegate = self as CartDelegate
        cell.setButton(state: self.cart.contains(product: product))
        return cell
    }

    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 44
    }
    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {

        switch(section) {
        case 0: return "Section A"
        case 1: return "Section B"
        case 2: return "Section C"
        case 3: return "Section D"
        case 4: return "Section E"
        case 5: return "Section F"
        case 6: return "Section G"
        case 7: return "Section H"
        case 8: return "Section I"
        case 9: return "Section J"
        case 10: return "Section K"
        case 11: return "Section L"
        default: return ""
        }
    }
}

extension ProductViewController: CartDelegate {

    // MARK: - CartDelegate
    func updateCart(cell: ProductTableViewCell) {
        guard let indexPath = tableView.indexPath(for: cell) else { return }
        let product = productMap[indexPath.section]![indexPath.row]

        //Update Cart with product
        cart.updateCart(with: product)
        // self.navigationItem.rightBarButtonItem?.title = "Checkout (\(cart.items.count))"
        notificationButton.badge = String(cart.items.count) // making badge equal to noofitems in cart

    }
}

***// Most relevant code begins here -***

extension ProductViewController {

    @IBAction func buttonHandlerAddToCart(_ sender: UIButton) {

        let buttonPosition : CGPoint = sender.convert(sender.bounds.origin, to: self.tableView)

        let indexPath = self.tableView.indexPathForRow(at: buttonPosition)!

        let cell = tableView.cellForRow(at: indexPath) as! ProductTableViewCell

        let imageViewPosition : CGPoint = cell.imageView!.convert(cell.imageView!.bounds.origin, to: self.view)

        let imgViewTemp = UIImageView(frame: CGRect(x: imageViewPosition.x, y: imageViewPosition.y, width: cell.imageView!.frame.size.width, height: cell.imageView!.frame.size.height))

        imgViewTemp.image = cell.imageView!.image

        animation(tempView: imgViewTemp)
    }

    func animation(tempView : UIView)  {
        self.view.addSubview(tempView)
        UIView.animate(
            withDuration: 1.0,
            animations: {
                tempView.animationZoom(scaleX: 1.5, y: 1.5)
            }, completion: { _ in

                UIView.animate(withDuration: 0.5, animations: {

                    tempView.animationZoom(scaleX: 0.2, y: 0.2)
                    tempView.animationRoted(angle: CGFloat(Double.pi))

                    tempView.frame.origin.x = self.notificationButton.frame.origin.x
                    tempView.frame.origin.y = self.notificationButton.frame.origin.y

                }, completion: { _ in

                    tempView.removeFromSuperview()

                    UIView.animate(withDuration: 1.0, animations: {

                        self.notificationButton.animationZoom(scaleX: 1.4, y: 1.4)
                    }, completion: {_ in
                        self.notificationButton.animationZoom(scaleX: 1.0, y: 1.0)
                    })

                })

            }
        )
    }
}

extension UIView{
    func animationZoom(scaleX: CGFloat, y: CGFloat) {
        self.transform = CGAffineTransform(scaleX: scaleX, y: y)
    }

    func animationRoted(angle : CGFloat) {
        self.transform = self.transform.rotated(by: angle)
    }
}

I have also included ProductTableViewCell code, just in case:
import UIKit

protocol CartDelegate {
    func updateCart(cell: ProductTableViewCell)
}

class ProductTableViewCell: UITableViewCell {

    weak var myParent:ProductViewController?

    @IBOutlet weak var imagename: UIImageView!
    @IBOutlet weak var addToCartButton: UIButton!

    var delegate: CartDelegate?

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code

        addToCartButton.layer.cornerRadius = 5
        addToCartButton.clipsToBounds = true
    }

    func setButton(state: Bool) {
        addToCartButton.isUserInteractionEnabled = true
        addToCartButton.isSelected = state
        addToCartButton.backgroundColor = (!addToCartButton.isSelected) ? .blue : .red
    }

    @IBAction func addToCart(_ sender: Any) {
        setButton(state: !addToCartButton.isSelected)
        self.delegate?.updateCart(cell: self)
    }
}

Edit: on @aheze's request :
struct Product: Equatable {
    let imagename: UIImage
}

var productMap = [
    0: [ Product(imagename:#imageLiteral(resourceName: "blue")), Product( imagename:#imageLiteral(resourceName: "CakeImage")) ]
    1: [ Product(imagename:#imageLiteral(resourceName: "vectorlogo")), Product(imagename:#imageLiteral(resourceName: "PeasImge")), Product(imagename:#imageLiteral(resourceName: "castle"))],
    2: [ Product( imagename:#imageLiteral(resourceName: "scoobydoo")),Product(imagename:#imageLiteral(resourceName: "ufo"))] ,
    3: [ Product( imagename:#imageLiteral(resourceName: "wolfsky")),Product( imagename:#imageLiteral(resourceName: "universe")) ],
    4: [ Product(imagename:#imageLiteral(resourceName: "werewolf")),Product(  imagename:#imageLiteral(resourceName: "galaxy")) ]
]

Edit 2: class Cart, on @aheze's request:
import Foundation

class Cart {
    var items : [CartItem] = []
}

extension Cart {

    var totalQuantity : Int {
        get { return items.reduce(0) { value, item in
            value + item.quantity
        }
        }
    }
    func updateCart(with product: Product) {
        if !self.contains(product: product) {
            self.add(product: product)
        } else {
            self.remove(product: product)
        }
    }
    func updateCart() {

        for item in self.items {
            if item.quantity == 0 {
                updateCart(with: item.product)
            }
        }
    }

    func add(product: Product) {
        let item = items.filter { $0.product == product }

        if item.first != nil {
            item.first!.quantity += 1
        } else {
            items.append(CartItem(product: product))
        }
    }

    func remove(product: Product) {
        guard let index = items.firstIndex(where: { $0.product == product  })     else { return}
        items.remove(at: index)
    }

    func contains(product: Product) -> Bool {
        let item = items.filter { $0.product == product }
        return item.first != nil
    }
}

Further information you need, feel free...

A: Does this work? (the gif was too big)
https://imgur.com/a/jrcwEWv
I made separate functions for adding and removing from the cart.
extension ProductViewController: CartDelegate {

    // MARK: - CartDelegate
    func updateCart(cell: ProductTableViewCell) {
        guard let indexPath = tableView.indexPath(for: cell) else { return }
        let product = productMap[indexPath.section]![indexPath.row]

/// `var selectedIndexPaths = [IndexPath]()` defined inside `ProductViewController`, to keep track of the selected products
        if selectedIndexPaths.contains(indexPath) {
            if let index = selectedIndexPaths.firstIndex(of: indexPath) {
                selectedIndexPaths.remove(at: index)
                removeProductFromCart(indexPath: indexPath)
            }
        } else {
            selectedIndexPaths.append(indexPath)
            addProductToCart(indexPath: indexPath)
        }

//        addProductToCart(indexPath: indexPath)
        ///  **I commented this out because I don't have the code for `Cart`**
        //Update Cart with product
//        cart.updateCart(with: product)
        // self.navigationItem.rightBarButtonItem?.title = "Checkout (\(cart.items.count))"
//        notificationButton.badge = String(cart.items.count) // making badge equal to noofitems in cart

    }
}

func addProductToCart(indexPath: IndexPath) {
    if let cell = tableView.cellForRow(at: indexPath) as? ProductTableViewCell {
        if let imageView = cell.imagename {

            let initialImageViewFrame = imageView.convert(imageView.frame, to: self.view)
            let targetImageViewFrame = self.notificationButton.frame

            let imgViewTemp = UIImageView(frame: initialImageViewFrame)
            imgViewTemp.clipsToBounds = true
            imgViewTemp.contentMode = .scaleAspectFill
            imgViewTemp.image = imageView.image

            self.view.addSubview(imgViewTemp)

            UIView.animate(withDuration: 1.0, animations: {
                imgViewTemp.transform = CGAffineTransform(scaleX: 1.5, y: 1.5)
            }) {  _ in
                UIView.animate(withDuration: 0.5, animations: {
                    imgViewTemp.transform = CGAffineTransform(scaleX: 0.2, y: 0.2).rotated(by: CGFloat(Double.pi))
                    imgViewTemp.frame = targetImageViewFrame
                }) { _ in
                    imgViewTemp.removeFromSuperview()

                    UIView.animate(withDuration: 1.0, animations: {
                        self.notificationButton.transform = CGAffineTransform(scaleX: 1.4, y: 1.4)
                    }, completion: {_ in
                        self.notificationButton.transform = CGAffineTransform.identity
                    })
                }
            }
        }
    }
}

func removeProductFromCart(indexPath: IndexPath) {
    if let cell = tableView.cellForRow(at: indexPath) as? ProductTableViewCell {
        if let imageView = cell.imagename {

            let initialImageViewFrame = self.notificationButton.frame
            let targetImageViewFrame = imageView.convert(imageView.frame, to: self.view)

            let imgViewTemp = UIImageView(frame: initialImageViewFrame)
            imgViewTemp.clipsToBounds = true
            imgViewTemp.contentMode = .scaleAspectFill
            imgViewTemp.image = imageView.image

            self.view.addSubview(imgViewTemp)

            var initialTransform = CGAffineTransform.identity
            initialTransform = initialTransform.scaledBy(x: 0.2, y: 0.2)
            initialTransform = initialTransform.rotated(by: CGFloat(Double.pi))

            UIView.animate(withDuration: 0.5, animations: {
                self.notificationButton.animationZoom(scaleX: 1.4, y: 1.4)
                imgViewTemp.transform = initialTransform
            }) {  _ in
                UIView.animate(withDuration: 1, animations: {
                    self.notificationButton.animationZoom(scaleX: 1, y: 1)
                    imgViewTemp.transform = CGAffineTransform.identity
                    imgViewTemp.frame = targetImageViewFrame
                }) { _ in
                    imgViewTemp.removeFromSuperview()
                }
            }
        }
    }
}

Some things that you should fix:

*

*Instead of using imagename (the image view that you added to your table view cell), you used cell.imageView! which is the built-in image view that all cells have. Don't use this.

*Inside ProductTableViewCell, you should make a separate property for keeping track of selected/not selected state instead of using UIButton's isSelected. This way, you won't run into unwanted behavior when changing the button color (currently, a red rectangle will appear behind the button's text for a moment)

*If you're combining transforms, you should do this:

var initialTransform = CGAffineTransform.identity
initialTransform = initialTransform.scaledBy(x: 0.2, y: 0.2)
initialTransform = initialTransform.rotated(by: CGFloat(Double.pi))
tempView.transform = initialTransform

instead of:
tempView.animationZoom(scaleX: 0.2, y: 0.2)
tempView.animationRoted(angle: CGFloat(Double.pi))

Here's the full project (added some more comments too).


text:
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/support_tool/system_log_source_data_collector_adaptor.h"

#include <map>
#include <memory>
#include <string>
#include <utility>

#include "base/files/file_enumerator.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "base/memory/scoped_refptr.h"
#include "base/task/task_traits.h"
#include "base/task/thread_pool.h"
#include "base/test/task_environment.h"
#include "base/test/test_future.h"
#include "chrome/browser/support_tool/data_collector.h"
#include "components/feedback/pii_types.h"
#include "components/feedback/redaction_tool.h"
#include "components/feedback/system_logs/system_logs_source.h"
#include "testing/gmock/include/gmock/gmock-matchers.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/abseil-cpp/absl/types/optional.h"

using ::testing::ContainerEq;

struct TestData {
  // Name of the data in the log source and the file that the logs will be
  // exported into.
  std::string data_source_name;
  // The logs that will be collected.
  std::string test_logs;
  // The version of the logs that has PII sensitive data redacted.
  std::string test_logs_pii_redacted;
};

const TestData kTestData[] = {
    {/*data_source_name=*/"test-log-source-ip",
     /*test_logs=*/
     "Collected data for testing:\n"
     "Will contain some PII sensitive info to test functionality.\n"
     "Some IP addresss as PII here: 0.255.255.255, ::ffff:cb0c:10ea\n",
     /*test_logs_pii_redacted=*/
     "Collected data for testing:\n"
     "Will contain some PII sensitive info to test functionality.\n"
     "Some IP addresss as PII here: <0.0.0.0/8: 1>, <IPv6: 1>\n"},
    {/*data_source_name=*/"test-log-source-url",
     /*test_logs=*/
     "More data for testing for this log source:\n"
     "For example some URL address that could be visited by user\n"
     "is chrome-extension://nkoccljplnhpfnfiajclkommnmllphnl/foobar.js?bar=x "
     "and this will be considered as PII.\n",
     /*test_logs_pii_redacted=*/
     "More data for testing for this log source:\n"
     "For example some URL address that could be visited by user\n"
     "is <URL: 1> and this will be considered as PII.\n"},
};

// The PII sensitive data that the test data contains.
const PIIMap kPIIInTestData = {
    {feedback::PIIType::kIPAddress, {"0.255.255.255", "::ffff:cb0c:10ea"}},
    {feedback::PIIType::kURL,
     {"chrome-extension://nkoccljplnhpfnfiajclkommnmllphnl/foobar.js?bar=x"}}};

namespace {

class TestLogSource : public system_logs::SystemLogsSource {
 public:
  TestLogSource() : SystemLogsSource("Test Log Source") {}

  TestLogSource(const TestLogSource&) = delete;
  TestLogSource& operator=(const TestLogSource&) = delete;

  ~TestLogSource() override = default;

  // SystemLogsSource override.
  void Fetch(system_logs::SysLogsSourceCallback callback) override {
    std::unique_ptr<system_logs::SystemLogsResponse> response =
        std::make_unique<system_logs::SystemLogsResponse>();
    // Add some test data to the response. We add two entries to make sure all
    // entries are collected by the corresponding DataCollector instance.
    for (const auto& data : kTestData) {
      response->emplace(data.data_source_name, data.test_logs);
    }
    std::move(callback).Run(std::move(response));
  }
};

}  // namespace

class SystemLogSourceDataCollectorAdaptorTest : public ::testing::Test {
 public:
  SystemLogSourceDataCollectorAdaptorTest() {
    // Set up task runner and container for RedactionTool. We will use these
    // when creating the SystemLogSourceDataCollector instance for testing.
    task_runner_for_redaction_tool_ =
        base::ThreadPool::CreateSequencedTaskRunner({});
    redaction_tool_container_ =
        base::MakeRefCounted<feedback::RedactionToolContainer>(
            task_runner_for_redaction_tool_, nullptr);
  }

  SystemLogSourceDataCollectorAdaptorTest(
      const SystemLogSourceDataCollectorAdaptorTest&) = delete;
  SystemLogSourceDataCollectorAdaptorTest& operator=(
      const SystemLogSourceDataCollectorAdaptorTest&) = delete;

  void SetUp() override { ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); }

  void TearDown() override {
    if (!temp_dir_.IsValid())
      return;
    EXPECT_TRUE(temp_dir_.Delete());
  }

  // Traverses the files in `directory` and returns the contents of the files in
  // a map.
  std::map<base::FilePath, std::string> ReadFileContentsToMap(
      base::FilePath directory) {
    std::map<base::FilePath, std::string> contents;
    base::FileEnumerator file_enumerator(directory, /*recursive=*/false,
                                         base::FileEnumerator::FILES);
    for (base::FilePath path = file_enumerator.Next(); !path.value().empty();
         path = file_enumerator.Next()) {
      std::string logs;
      EXPECT_TRUE(base::ReadFileToString(path, &logs));
      contents[path] = logs;
    }
    return contents;
  }

 protected:
  base::FilePath GetTempDirForOutput() { return temp_dir_.GetPath(); }

  base::test::TaskEnvironment task_environment_;
  base::ScopedTempDir temp_dir_;
  scoped_refptr<base::SequencedTaskRunner> task_runner_for_redaction_tool_;
  scoped_refptr<feedback::RedactionToolContainer> redaction_tool_container_;
};

TEST_F(SystemLogSourceDataCollectorAdaptorTest, CollectAndExportData) {
  // Initialize SystemLogSourceDataCollector for testing.
  SystemLogSourceDataCollectorAdaptor data_collector(
      "System Log Source Data Collector for testing",
      std::make_unique<TestLogSource>());

  // Test data collection and PII detection.
  base::test::TestFuture<absl::optional<SupportToolError>>
      test_future_collect_data;
  data_collector.CollectDataAndDetectPII(test_future_collect_data.GetCallback(),
                                         task_runner_for_redaction_tool_,
                                         redaction_tool_container_);
  // Check if CollectDataAndDetectPII call returned an error.
  absl::optional<SupportToolError> error = test_future_collect_data.Get();
  EXPECT_EQ(error, absl::nullopt);
  PIIMap detected_pii = data_collector.GetDetectedPII();
  EXPECT_THAT(detected_pii, ContainerEq(kPIIInTestData));

  // Check PII removal and data export.
  base::test::TestFuture<absl::optional<SupportToolError>>
      test_future_export_data;
  base::FilePath output_dir = GetTempDirForOutput();
  // Export collected data to a directory and remove all PII from it.
  data_collector.ExportCollectedDataWithPII(
      /*pii_types_to_keep=*/{}, output_dir, task_runner_for_redaction_tool_,
      redaction_tool_container_, test_future_export_data.GetCallback());
  // Check if ExportCollectedDataWithPII call returned an error.
  error = test_future_export_data.Get();
  EXPECT_EQ(error, absl::nullopt);
  // Read the output file.
  std::map<base::FilePath, std::string> result_contents =
      ReadFileContentsToMap(output_dir);

  std::map<base::FilePath, std::string> expected_contents;
  for (const auto& data : kTestData) {
    expected_contents[output_dir.AppendASCII(data.data_source_name)
                          .AddExtension(FILE_PATH_LITERAL(".log"))] =
        data.test_logs_pii_redacted;
  }
  EXPECT_THAT(result_contents, ContainerEq(expected_contents));
}

redpajama_set_name: RedPajamaGithub


Scarborough CPA is an Ohio limited liability company that offers a full range of accounting, tax, and advisory services.
Scarborough CPA, LLC , is a member of the S|CPA Network.
To help people and organizations balance their financial lives and realize their highest potential.
The mission of Scarborough CPA, LLC, and all of the S|CPA Network firms is to help people and organizations balance their financial lives and realize their potential. We do that by working with our clients to leverage each other's strengths. We do that by caring about our clients and our co-workers. We do that by working together to be great at what we do, both individually and collectively. We do that by providing expert accounting, tax, audit, payroll, and advisory services. We do that by charging a fair price for the services we provide our clients because great work merits fair compensation. We do that by helping our clients become and remain highly successful. We do that by being a friend to others and sharing hope when people need hope.
We specialize in all the taxes to which your organization is subject. Our goal is tax minimization and regulatory compliance. We meet regularly with our clients to identify tax planning opportunities.
We perform both external and internal audits. We have a long track record of efficient and effective audits and other assurance services that strengthen an organization's system of internal control and board governance.
Our payroll service is a low-cost alternative to doing it in-house. We make the conversion process easy and efficient. Our clients rest easy that payroll processing and regulatory reporting are in our hands.
We offer different levels of financial reporting assistance--everything from annual compilations to monthly financial reports.
We help out clients develop five-year financial plans and annual operating and capital budgets.
We help our clients solve problems when they arise--financial problems, operational problems, and regulatory problems.
Download Our FREE Mobile App to Make Tax Preparation Easy!
Use this Apple iPhone app to ask your CPA a question or easily photo and send tax or other financial documents to your CPA.
Use this Android mobile phone app to ask your CPA a question or easily photo and send tax or other financial documents to your CPA.
Scott Scarborough is the CEO of the S|CPA Network. He is a graduate of three University of Texas institutions and the Ohio Christian University.
Jeff Canady is President of Canady & Canady in Houston, Texas. He is a graduate of The University of Georgia and leads the firm's Houston office and nonprofit practice.
Crystal Chang is Managing Director of Canady & Canady in Houston, Texas. She is a graduate of The University of Houston and leads the firm's national audit practice.
Paul Herold is Managing Director of Scarborough CPA, LLC, in Fairlawn, Ohio. He is a graduate of The University of Akron and leads the firm's national advisory practice.
Pam Roberts is Managing Director of Costanzo and Co. in Stow, Ohio. She is a graduate of The University of Akron and leads the firm's national tax practice and payroll service.
Cole Roessler is Director of Sales and Marketing for the S|CPA Network. He is a graduate of The University of Akron and leads the Network's national marketing function.
Sign up to hear from Scarborough CPA about important developments in the for-profit and not-for-profit worlds.
Scarborough CPA has helped organizations--big and small--develop strategies and implement plans that have improved their operational and financial performance. Firm leadership and staff work hard to be trusted advisors who help their clients succeed. Our staff are accounting experts in the areas of audit, tax, payroll, and advisory services.
Call Scarborough CPA today at 855-360-7272 for a free consultation.


The rubber cable gland is easy to mount, Thread diameter: 25, 20 mm. This two component cable gland can be mounted on a wide range of enclosures. non-armored cable cable gland / nickel-plated brass / IP67 / explosion-proof OSNJ A2F series. Make a request. non-armored cable cable gland.
The IP68 rated, PG nylon gland can be used in areas where cables and wires need to be inserted safely into housings. The cable glands are ideal for using in machine and equipment manufacturing, photovoltaic and automation technology.
Find great deals on eBay for Cable Gland in Electrical Connectors. Shop with confidence.
Max-Loc® Cord-Sealing Grip, Strain Relief, 90° Angle Male, Nylon Body, Thread Size: 3/4 Inch NPT, Cable Diameter Range: 0.625 Inch - 0.750 Inch.
* Black Plastic Waterproof Cable Glands Joints 10 Pcs * Used for fixing cables, waterproof IP67. * Special design of the clamping die and rubber part, wide clamping range, strong stretching resistance, no damage to cables and devices.
Cable Mounting & Accessories are available at Mouser Electronics. Mouser offers inventory, pricing, & datasheets for Cable Mounting & Accessories.


Belozeroff, V., Berry, R.B. & Khoo, M.C.K. (2003). Model-based assessment of autonomic control in obstructive sleep apnea syndrome.Sleep, 26, 65-73.
Jo, J.A., Blasi, A., Valladares, E., Juarez, R., Baydur, A. & Khoo, M.C.K. (2003). Model-based assessment of autonomic control in obstructive sleep apnea syndrome during sleep.American Journal of Respiratory and Critical Care Medicine, 167, 128-136.
Blasi, A., Jo, J., Valladares, E., Juarez, R., Baydur, A. & Khoo, M.C.K. (2006). Autonomic cardiovascular control following transient arousal from sleep: A time-varying closed-loop model. IEEE Transactions on Biomedical Engineering, 53, 74-82.
Jo, J., Blasi, A., Valladares, E., Juarez, E., Baydur, A. & Khoo, M.C.K. (2007). A nonlinear model of cardiac autonomic control in obstructive sleep apnea syndrome. Annals Biomedical Engineering, 35,1425-1443.
Khoo, M.C.K. (2008).Modeling autonomic control in sleep-disordered breathing.Cardiovascular Engineering, 8, 30-41.
Khoo, M.C.K.Quantitative models of periodic breathing and Cheyne-Stokes respiration. In: Sleep Disorders and Cardiovascular and Cerebrovascular Disease, 2nd Edition, eds. T.D. Bradley and J.T. Floras, p.275-301, Lung Biology in Health and Disease Series, Marcel Dekker, New York, 2009.
Lesser DJ, Bhatia R, Tran WH, Oliveira F, Ortega R, Keens TG, Mittelman SM, Khoo MC, & Davidson Ward SL. (2012) Sleep fragmentation and intermittent hypoxemia associated with decreased insulin sensitivity in obese adolescent Latino males.Pediatr Res 72(3):293-298.
Wang W, Redline SA, & Khoo MC (2012). Autonomic markers of impaired glucose metabolism: Effects of sleep-disordered breathing.J Diabetes Sci Technol 6(5):1-13.


text:
Q: bcp imports data as base 256? When I import the following lines from a datafile:
DATAFILE1:

1,2,3,4,5,6.789
10,11,12,13,14,15.6789

into SQL Server 2008 R2, The data comes in as though it is interpreting the data as ascii values base 256 (ie. 12337 = (48 * 256) + 49 where '0' = 48 and '1' = 49)
FIELD1  FIELD2  FIELD3  FIELD4  FIELD5  FIELD6       FIELD7
49      50      51      52      53      0.00000000   NULL
12337   12593   12849   13105   13361   0.00000000   NULL

The command I'm using
bcp TABLE1 in DATAFILE.csv -S SERVER1 -d DB1 -U sa -f bcp.fmt

Everything returns successfully without errors, but when I look in the table, everythings all wrong.  Here's the bcp.fmt file (non-xml)
10.0
6
1       SQLINT              0       0       ","   1     FIELD1                  ""
2       SQLSMALLINT         0       0       ","   2     FIELD2                  ""
3       SQLBIGINT           0       0       ","   3     FIELD3                  ""
4       SQLBIGINT           0       0       ","   4     FIELD4                  ""
5       SQLBIGINT           0       0       ","   5     FIELD5                  ""
6       SQLDECIMAL          0       0       "\n"  6     FIELD6                  ""

The DDL for the table:
CREATE TABLE [dbo].[TABLE1](
    [FIELD1] [int] NOT NULL,
    [FIELD2] [smallint] NOT NULL,
    [FIELD3] [bigint] NOT NULL,
    [FIELD4] [bigint] NULL,
    [FIELD5] [bigint] NULL,
    [FIELD6] [decimal](18, 8) NOT NULL,
    [FIELD7] [decimal](18, 8) NULL
)

A: Finally found the answer here:
http://www.codeproject.com/Messages/3531341/bcp-and-int-ASCII-code-conversion-modified.aspx
The problem was in the bcp.fmt file.  The data types should be specified.  To quote one of the responses "Just mark the damn field as SQLCHAR, and let db do conversion and all good."


text:
Reports: Manchester United agree deal for £39.7 million superstar
Anirudh Menon
Modified 12 Jun 2017, 17:34 IST
Manchester United are all set to make another excellent signing! They will be a force to reckon with come the 2017-18 season!
What's the story
The Express and Sun are carrying reports that Manchester United have already agreed on a £39.7m fee for Monaco's midfield mainstay Fabinho. Emanuele Giulanelli is, in fact, reporting that the deal has already been done for a price of 45 million euros and that it'll be made official in two weeks, the delay coming because the Brazilian is on holiday. The reporter has had mixed results with transfer predictions in the past, although it has to be noted that it was he who broke the news of Skhodran Mustafi signing for Arsenal last year
In case you didn't know
The 23-year-old was pivotal in Monaco's charge to Ligue 1 glory – where they beat out clear favourites PSG – and the unlikely run to the UEFA Champions League semifinals that captured the football world's imagination. He started off at right-back in the beginning of the season but had converted to an all-action central midfielder by the business end of the whole shebang.
The Brazilian rose through the Paulinia and Fluminense youth systems before moving to Real Madrid (where he spent the duration on loan to their B side Castilla – he had only appearance for the senior side when he played 14 minutes vs Malaga). Monaco signed him on a loan in 2013 before the deal was made permanent in 2015. A set-piece specialist, he is often the clubs designated penalty-kick taker (in case Radamel Falcao isn't around, that is) and he has a mean delivery on him.
Fabinho had earlier stated vague intentions of one day turning out for United: "My objective is to get to a club with the dimension of Manchester United. I have no clue if one day I'll be a United player, but I'll keep working so it stops being a rumour and becomes reality."
That rumour might actually be becoming a reality. His versatility, comfort on the ball and undoubted ability to play at right-back or central midfielder with equal ease will only endear him to Jose Mourinho. This could well turn out to be a key component of the United plan.
Fabinho's strength and composure has a certain beauty to it:
A midfield trio of Paul Pogba, Ander Herrera, and Fabinho is certainly a mouth-watering prospect for United fans.
Author's take
Jose Mourinho's team would certainly be strengthened by the addition of Fabinho, there is next to no doubt about that. United have lacked a solidity in the centre of midfield that Fabinho will readily address, while not compromising on the ball-playing ability of the entire team (like what happens when Marouane Fellaini plays central midfield)
The thing that saddens me about this transfer window, though, is the state of Monaco. Sure, I understand it's inevitable, and that Monaco could well use the money to re-build and re-invest, but the scavenger-ish nature of the big Premier League and La Liga clubs circling around the principality club just fills me up with a disgust I just can't get over. But then, that's business. That's football.
Premier League 2020-21 Manchester United Jose Mourinho


"Work Hard in Silence, Let Your Success Be Your Noise"
For the TCS company, 34 students of our college selected, which made our college NO.1 in Nellore district & 5th place in rayalaseema region.
On September 12th, MPHASIS, one of the top 5 software companies conducted placement drive in our college within which 13 students got selected. Congratulations to the selected students.
One of the fortune 500 companies,GLOBALEDGE conducted placement drive on September 28th during which 5 of our students got selected to the company.SVCN, the best college in providing the placements.
Kodavaluru (V&M), Golden Nagar,North Rajupalem.
+ 91 7032642099, +91 9177747937.


text:
New theater planned for Corning
Group plans to purchase former Scottish Rites Cathedral and Elks Club for new use
New theater planned for Corning Group plans to purchase former Scottish Rites Cathedral and Elks Club for new use Check out this story on stargazette.com: http://stargaz.tt/1tzm1Ht
Jeff Murray, jmurray@stargazette.com | @SGJeffMurray Published 8:00 a.m. ET Oct. 17, 2014 | Updated 8:01 a.m. ET Oct. 17, 2014
StageNet Inc., a local company that specializes in developing entertainment projects, plans to buy the former Scottish Rites Cathedral and Elks Club in Corning and convert the space into a theater.
A local group plans to buy the former Scottish Rites Cathedral and adjacent Elks Club building on Walnut Street in Corning and convert it into a theater for live stage performances, music and films. (Photo: JEFF MURRAY / STAFF PHOTO )Buy Photo
Former Scottish Rites Cathedral could soon be a theater for live performances and films
Group will also try to attract outside filmmakers to the area to use their facility
An online crowd funding campaign is underway
CORNING – A historic landmark in Corning that has been vacant for several years could get new life in the form of a theater and performing arts center.
StageNet Inc., a local company that specializes in developing entertainment projects, plans to raise funds to buy the former Scottish Rites Cathedral on Walnut Street in Corning, built in 1921, and the adjacent Elks Club building.
StageNet would then convert the space into the Little Apple Theater, which would offer live theater, music, and film presentations.
The company will also produce professional theater and motion pictures, according to StageNet President Brian Little, who was inspired by the former Corning Summer Theater, where he apprenticed years ago.
"The reason for creating this project Little Apple Theater is to bring back to this area professional internships that were available with Corning Summer Theater. That started my career in this industry," Little said. "Since that closed it's been missed in our community, not just by theater-goers but by young people in the community.
"In our efforts we've also found internship opportunities in the television market greatly needed and are really supported," he said. "It's an opportunity to give people a chance to work alongside professionals in the industry. Our facility will be equipped to record for video and audio and we'll have live events and series productions. We will market to a global market."
The Scottish Rites Cathedral has been vacant for about four years. The Elks Club is still occupied but the Elks plan to sell the building and move to a smaller facility, Little said.
The cost to purchase and renovate the buildings is about $5 million, he said. StageNet is launching an Indiegogo.com crowd funding campaign to raise $500,000, and the rest will come from community partners, grants and tax credits.
StageNet is working with several partners, including preservation architect Elise Johnson-Schmidt, who will not only help marry the old with the new, but also has extensive experience seeking historic preservation grants.
"They will preserve space for a performance hall, which is a pretty special auditorium due to the acoustics and sight lines, as well as its history as a Masonic cathedral," Johnson-Schmidt said. "It's a very ambitious project which would be wonderful to see the building used for that purpose. Because it's listed on the National Register as part of the Southside Historic District, it also qualifies for tax credits."
StageNet hopes to purchase the properties by the end of the year, Little said. The new facility could open late in 2016, he said.
"Time is of the essence. The owner of the theater building has given me to the end of this year," Little said. "I wrote a business plan that shows a profit. Dawn Burlew at Corning Enterprises says that's the only way this can be a success. I believe it can make a profit. It can be sustainable entity in our community."
Follow Jeff Murray on Twitter @SGJeffMurray.
• To learn more about the Little Apple Theater project, including how to participate in the fund-raising effort, call (607) 937-6212 or go to stagenetinc.com.
Read or Share this story: http://stargaz.tt/1tzm1Ht
Elmira man charged with selling heroin


Say hello to Top Gear's brand-new Electric Issue. Whether it's for a city car or a hypercar, manufacturers all over the world are beginning to shun internal combustion and opt for battery power. This month we've dedicated our entire feature run to the EV marketplace – beginning with in-depth looks at the new HONDA E PROTOTYPE and PININFARINA BATTISTA | Elsewhere, we take the hydrogen-powered HYUNDAI NEXO on a Norwegian road trip | Meet the Croatian Elon Musk – Mate Rimac | Go on a British seaside holiday in the JAGUAR I-PACE, AUDI E-TRON and TESLA MODEL X | Discover everything there is to know about the POLESTAR 2 and answer all of your EV-related questions.


Forty years ago, I was in graduate school at Duke University, in over my head, studying hard and learning as much as I could to catch up with my better-prepared classmates. It paid off – I earned my Ph.D. four years later.
Wisdom is truth to live your life by, thoughts that can guide you to make the best decisions, find joy and fulfillment, take advantage of opportunities, and overcome the challenges and the adversity of life.
I've been collecting wisdom ever since, thousands of quotes that have guided my life. I share many of these quotes in the Strong for Parenting program.
As I collected these quotes through the years, I was always aware that it would have made a big difference if I had had access to some of this wisdom when I was young.
Teens aren't stupid. They can handle the truth. In fact, they need wisdom. In my opinion, the more the better. I think adults should be sharing more of this with teenagers than they do. With more wisdom, maybe kids would make fewer of the kind of mistakes they're famous for.
Helping your child develop vital thinking skills for processing this wisdom is perhaps the best way to prepare them for leaving the nest. My new book: How Your Teen Can Grow a Smarter Brain.


Those with relatively modest earnings will find that a SIMPLE IRA Plan lets them contribute (invest) and deduct more than other plans. With a SIMPLE IRA Plan, you can put in and deduct some or all of your self-employed business earnings. The limit on this "elective deferral" is $12,500 in 2016 (same as 2015).
Catch up contributions. Owner-employees age 50 or over can make a further deductible "catch up" contribution as employee of $3,000 in 2016 (same as 2015).
Example: An owner-employee age 50 or over in 2016 with self-employment earnings of $40,000 could contribute and deduct $12,500 as employee plus an additional $3,000 employee catch up contribution, plus a $1,200 (3 percent of $40,000) employer match, for a total of $16,700.
Low-income owner-employees in SIMPLE IRA Plans may also be allowed a tax credit up to $2,000 in 2016 for single filers ($4,000 married filing jointly). This is known as the "Saver's Credit" and income must not be more than $61,500 for married filing jointly, $30,750 for singles and $46,125 for heads of household.
An individual 401(k) plan, however, could allow you to contribute more, often much more, than SIMPLE IRA Plan. For example, if you are less than 50 years old with $50,000 of self-employment earnings in 2016, you could contribute $12,500 to your SIMPLE IRA PLAN plus an additional 3 percent of $50,000 as an employer contribution, for a total of $14,000. A 401(k) plan would allow a $31,000 contribution.
Other plans for self-employed persons allow a deduction for one year (say 2016) if the contribution is made the following year (2017) before the prior year's (2016) return is due (April 2017 or later extensions). This rule applies to SIMPLE IRA Plans, for the matching (3 percent of earnings) contribution you make as an employer. But there's no IRS pronouncement on when the employee's portion of the SIMPLE IRA Plan is due where the only employee is the self-employed person. Those who want to delay contribution would argue that they have as long as it takes to compute self-employment earnings for 2016 (though not beyond the 2016 return due date, with extensions).
Then there's this problem if the SIMPLE IRA Plan is intended for a sideline business and you're already in a 401(k) plan in another business or as an employee. In this scenario, the total amount you can put into the SIMPLE IRA Plan and the 401(k) plan combined can't be more than $18,000 in 2016 (same as 2015)–$23,500 if catch-up contributions are made to the 401(k) by one age 50 or over.
Here's an example: If someone who is less than age 50 puts $9,000 in her 401(k), he or she can't put more than $9,000 in her SIMPLE IRA Plan in 2016. The same limit applies if you have a SIMPLE IRA Plan while also contributing as an employee to a "403(b) annuity" (typically for government employees and teachers in public and private schools).
Deduction ceiling: For defined contribution, lesser of $53,000 or 20% of earnings (25% of earnings after contribution). 401(k) elective deferrals not subject to this limit. For defined benefit, net earnings.
Lesser of $53,000 or 20% of earnings (25% of earnings after contribution). Elective deferrals in SEPs formed before 1997 not subject to this limit.


text:
NYPD boosts security after ISIS threat to attack Macy's Thanksgiving Day Parade
By Jim Dolan
NEW YORK (WABC) -- The NYPD plans to beef up security for next week's Macy's Thanksgiving Day Parade after a recent edition of a magazine published by the Islamic State called the event an "excellent target."
The ominous threat is hanging over one of the biggest public events in New York City.
ISIS, in the latest edition of its new English-language magazine, is pushing for lone wolves to use trucks as weapons to attack major outdoor gatherings.
An article included a picture of the Macy's Parade, saying it would be an excellent target. The NYPD insisted that there is no credible threat against the parade, but security will be tight as always.
John Miller, the NYPD'S deputy commissioner of intelligence and counterterrorism, says police had already implemented precautionary measures for such an attack.
Miller says he goes to the parade every year and he advises both New Yorkers and visitors alike to still show up on Nov. 24.
Police Commissioner James O'Neill says the NYPD handles events of a similar magnitude almost daily and the parade will be the safest place in New York City.
new york cityparadeterror threatisisthanksgivingterrorismmacy's thanksgiving day parade


text:
Kačiukas sniege
May the stars become my eyes
New Nokia 3310 — a lame play on nostalgia
Everyone probably heard about re-release of iconic Nokia 3310. There's nothing wrong with some nostalgia, except in this case it's not a nostalgia but a lame and lazy marketing trick. New Nokia 3310 has absolutely nothing in common with the original 3310 except for the name and somewhat similar curvature on the front face — that's it. Otherwise, it's a completely unrelated phone with totally different screen, totally different OS, totally different features and even totally different colors, texture and materials. If anything, it's much more similar to current cheap Nokia feature phones such as Nokia 105 than to original 3310. Except Nokia 105 costs 19€ new while Nokia 3310 costs 52€ — that's more than 2.5 times bigger price just to get that nostalgic name. Even "Snake" game looks nothing like on original model (hint: original was much better and easier to play).
So, in short, new Nokia 3310 is no good for nostalgia as it has nothing nostalgic apart from the name and front face a bit reminiscent of original. It's also no good as a cheap feature phone as it's not cheap. If you want cheap feature phone, you get Nokia 105 or any of the other cheap feature phones for half the price. If you want nostalgia, you'd better get original Nokia 3310 — you can still find those used in a good condition for maybe 10€.
And who is the new 3310 for?.. Well, no one in particular, really. It was just a lame marketing stunt and an attempt at money-grab by throwing around an iconic name and watching people get all worked up for nothing. Maybe it's for hipsters who want to "use it ironically"? So far that's the only market for it that I can think of.


text:
Q: How to create a Range object with same area, but different initial (top-left) cell reference I created a 'RefEdit' user form to create a new range object based on the user's input. Now, I need to create another Range object which refers to the same column(s), but to different predetermined rows. The new range object needs to maintain same area (same amount of rows and columns).
For example:

*

*user selects Range("J12:L14")

*There is a predetermined initial (top-left) row: Row number 5

*So, I need to create another range object which refers to ("J5:L7")

I have no idea to solve this. Does anyone have any idea? Thanks in advance.

A: You can use the Range.Resize property to start at your desired cell Cells(RowNo, SelRng.Column) and resize it to the same size of the other range SelRng.
Option Explicit

Sub test()

    Dim SelRng As Range
    Set SelRng = Range("J12:L14")

    Dim RowNo As Long
    RowNo = 5

    Dim NewRng As Range
    Set NewRng = Cells(RowNo, SelRng.Column).Resize(SelRng.Rows.Count, SelRng.Columns.Count)

    Debug.Print NewRng.Address(False, False) '<-- J5:L7

End Sub