text:
Tag Archives: Battersea Community Group
Love me! Help me! – can art save Battersea Power Station?
Posted on October 1, 2015 by Elina Kuusio
As Chairman of Battersea Power Station Community Group Brian Barnes has fought for the power station for 32 years.
The Battersea Power Station has without a doubt a special place in many Londoners hearts. It has this word presence – not many buildings have been featured in popular culture as much as the iconic building based on a river side site next to Thames.
Now the power station is facing a massive re-generation scheme led by the Battersea Power Station Development Company, a Malaysian consortium in charge of the ambitious building project. The scheme has stormed critique especially among local residents.
One of them is Brian Barnes, a mural artist who have been the fighting for the Battersea Power Station over three decades. Brian is Chairman of Battersea Power Station Community Group which has been campaigning to save the power station and to inform people about what the local community thinks about the redevelopment plans.
The Battersea Power Station has inspired Brian's artwork and the posters made by Brian have been part of the Battersea Power Station Community Group's campaign. One of Brian's posters represent what Pink Floyd did in 1976. A helium filled 45 long pig was anchored to the chimney for the cover of Pink Floyd's Animal album. "Battersea Power Station and the pig go together like peaches and cream" Brian says.
The iconic rock image Pink Floyd's inflatable pig Algie has inspired Brian Barnes' posters. Algie famously flew over Battersea Power Station for Pink Floyd's "Animals" album cover in 1976.
However the pig isn't the only animal Brian has used in his artwork. Orangutangs have also been a common feature in Brian's art inspired by the power station. This is because one of the companies that owns the power station, Sime Darby – one of the biggest palm oil producers in the world – is cutting down a rainforest in equatorial zones and destroying the natural habitats of orangutangs.
"If they can do that in Borneo and threaten the rainforest and the orangutangs, I don't think they are going to be much bothered about a building of brick", Brian adds.
"On Valentine's day we put up a big 'Love' banner up on the chimneys with a heart on it. That got everyone interested in loving Battersea Power Station", Brian says. The 45 foot long banners which the Community Group members strung up between the chimneys have also said 'Love me' and 'Help me'.
Brian believes that art helps to galvanise people's attention to the power station and what's going on: "Whether the chimneys are coming down or whether there is too much luxury housing around it or whether the tube station is really going to be useful for the local people".
A mural 'Battersea in perspective' was made in 1988. The mural including Battersea Power Station 'is all about the Battersea area and people who are famous of being Battersea residents' Brian says.
"Battersea Power Station missed out being an art gallery because it didn't have a roof" Brian says referring to the Bankside power station which now serves as the Tate Modern.
The chimneys of the Battersea Power Station have been a significant part of Brian's art. "If all the chimneys are down and the present Battersea Power Station Development Company leaves then you would have a box of brick with no chimneys", Brian worries. At the moment the chimneys are indeed going down in order to be rebuild.
Perhaps art cannot save the Battersea Power Station. However it has spread the message of what is happening and helped social change by being a part of a wider campaign. "I used it (Battersea Power Station) as an image to represent Battersea", Brian says and what is sure is that his campaign to save the power station isn't over yet.
Posted in Battersea Power Station	| Tagged battersea, Battersea Community Group, Battersea Power Station, Battersea Power Station Community Group, Battersea Power Station Regneration, Borneo, Brian Barnes, Demostration, Flying pig Algie, landmark, Mural artist, Orangutang, palm oil, pink floyd album cover, Pink Floyd Animals, Pink Floyd flying pig Algie, Posters, protest, rainforest, Regeneration scheme, Sime Darby, st. Valentine's day, Tate Modern, Wandsworth borough, wandsworth borough council	| Leave a reply
Battersea Power Station – "London Only" sales claim is Bogus
Posted on March 11, 2014 by Sarah Page
London, in recent years, has seen a boom in foreign property investment. With various far Eastern economies generating a new class of super-rich, London's property market bubble is seen as a safe cash haven for this elite. According to Savills, international premium property retailer, 50% of the capital's prime central homeowners is now dominated by overseas investors, which is furiously contributing to property price inflation.
Naturally, with Battersea Power Station being such an historically renowned architectural and industrial, Grade II listed, British icon, many are wishing to get a slice of the 400ft riverside views. Malasyian developers, Sime Darby, aim to create 3,500 new homes in 15 years, and have already sold nearly all of the 866 luxury apartments of the initial Circus West (or Phase 1) project, generating $1 billion prior to even being built.
However, much contention surrounded the project when Sime Darby refused to release what percentage of their buyers were domestic or international. With property shows for the Battersea homes, which range from £365,000 per studio flat to £6million per penthouse, advertising in China, Russia and Malaysia it is now clear that around 55% of the homes, went to foreign money before even appearing in the pages of Property Week in Blighty.
This flew in the face of London Mayor, Boris Johnson, who had previously pledged that all property developed within the Power Station would be offered to Londoners first. Slightly perversely, the lack of priortisation for local buyers has been marketed as an apparent strain on London's unaffordable housing problems, despite some penthouse suites retailing for up to £30million. As a result, developers have recently made a big song and dance about the London Launch of the Phase 2 development. These properties are intended to be exclusively on offer to UK residents before they are made globally available. The Battersea Power Station website encourages visitors to "Register an Interest" and Rob Tincknell, CEO of Battersea Power Station Development Company (BPSDC), recently claimed that:
"There has been a lot of comment recently about London's housing problems and we believe the only way to try and solve this is to build great homes and create a community that people actually want to live in"
However, this PR stunt has recently been unearthed with a simple phone call to Battersea Power Station Development Company sales team. Upon being deciphered as an authentic potential buyer, the mole was told categorically that while there is a strict London-only launch of the Phase 2 properties on 1st May 2014, overseas investors are more than welcome to purchase the prospective homes if they are in the country or through their UK based agents. Therefore demonstrating that the press have once again been romanced into believing that developments of one of the greatest icons in British industrial history will be more than a juicy, international investment for oligarchs and millionaires. They have let this charade by developers go unchallenged and have reported it verbatim, letting our beloved Battersea Power Station slip further and further into flipping international hands.
See Battersea Power Station for more blogs
Posted in Battersea Power Station	| Tagged application for review, battersea, Battersea bulletin, Battersea Community Group, Battersea Forum, Battersea history, battersea its past its future, battersea park, Battersea Power Station, Battersea Power Station Community Group, Battersea Power Station Development Company, battersea redevelopment, Battersea Society, Battersea tube station, boris johnson, Burger Bar, Chelsea Bridge, Chelsea Cruise, Circus West, Coffee Stall, demolition, heritage, industrial Battersea, Keith Garner, kiosk, London Launch, Nine Elms, NLE, northen line, Northern Line extension, phase 1, Phase 2, Phase 3, Property Week, queenstown road, Rob Tinchnell, Savills, Sime Darby, Snack Wagon, Susan Ekins, Tea Stall, Tincknell, Urban, Urban Sprawl, Vauxhall Nine Elms Battersea Opportunity Area, Vito, VNEB, wandsworth council	| 1 Reply
A Victory for Vito – The Chelsea Bridge Kiosk is Saved!
Posted on January 30, 2014 by Sarah Page
After a campaign by Keith Garner, Brian Barnes, and lease-holder Renato Di Paola to keep the Chelsea Bridge Coffee Stall on Queenstown Road from closure, their efforts have proven fruitful.
An online petition for the retention of the stall gathered nearly 1000 signatures from locals and "Ex-Bats" (people who were from Battersea, but have since emigrated as far away as Australia), all in support of the kiosk.
Original complaints and a request for the license (which still has a year left to run) to be revoked came from 27 members of the Chelsea Bridge Wharf Residents Association, whose apartments overlook the kiosk. The complaints described noise-pollution, litter and anti-social behaviour, such as urinating on stairs by the river and kicking balls. However, although residents submitted 'photographic evidence' of the litter in November and December, it was pointed out that the same photographs were repeated for each month. A trend that was also repeated in another 11 pages of images that were duplicated.
It was found that alleged complaints about noise were never made to the council. Therefore, the council proposed a litter cleaning every 1.5 hours, but otherwise supported general consensus that Roberto's nighttime license should remain intact.
See our interview with Roberto in 2009 here.
Posted in Battersea Power Station	| Tagged application for review, battersea, Battersea bulletin, Battersea Community Group, Battersea Forum, Battersea history, battersea its past its future, battersea park, Battersea Power Station, Battersea Power Station Community Group, battersea redevelopment, Battersea Society, Burger Bar, Chelsea Bridge, Chelsea Cruise, Coffee Stall, demolition, heritage, industrial Battersea, Keith Garner, kiosk, Nine Elms, NLE, northen line, Northern Line extension, queenstown road, Sime Darby, Snack Wagon, Susan Ekins, Tea Stall, Tincknell, Urban, Urban Sprawl, Vauxhall Nine Elms Battersea Opportunity Area, Vito, VNEB, wandsworth council	| Leave a reply
Licence to Chelsea Bridge Coffee Stall to be revoked?
Wandsworth Council are considering revoking the licence to the 70 year old Chelsea Bridge Tea Stall. Poor owner Vito is on the edge of losing his beloved shop. Watch our 2009 interview with Vito about his stall here. Another attempt to please the rich?
Chelsea Bridge Coffee Stall adjacent Chelsea Bridge, Queenstown Road, London
The 'high class' salesmen seem to look down on the simple and tasty snacks and warming drinks Vito is selling. Before we know it, we will find this stand being replaced by a Michelin star finger food stall.
Susan Ekins, a regular visitor who is fond of the Tea Stand, says:
As you may know, this stand has been there for at least 70 years, and is much appreciated. The residents of the new blocks did not like the biker gatherings, and as I understand it, these have, in general, being closed down and parking kept away from close proximity to the stand. I use that bridge at all hours, but have never noticed any litter or noise – which is not to say that it has not happened.
The application for review has been handed in on the 9th of January 2014. It has been made on the following grounds, according to Wandsworth Council:
"The current conditions on the licence have failed to uphold the licensing objectives of the prevention of public nuisance and the prevention of crime and disorder in the premises is giving rise to unacceptable levels of noise, litter and general anti-social behaviour."
Surely the council is not just cooking up excuses to continue to socially cleanse the area around the so called Vauxhall Nine Elms Battersea "Opportunity" Area. Seems one person's opportunity is another's loss of livelihood.
Find here another objection, from Keith Garner, architect and member of the Battersea Power Station Community Group.
Chelsea Bridge Coffee Stall adjacent Chelsea Bridge, Queenstown Road, London, SW8 2R
I am writing to support the retention and renewal of the licence for the the Chelsea Bridge coffee stall which is a useful local facility for residents and people working in the area, as well as a local landmark and institution in its own right.
I have lived close to Battersea Park for 28 years. As a local resident I know of no grounds for revoking or otherwise refusing to renew or extend the licence. In my experience, the customers of the stall have always been well behaved. This is not to say that there might not be occasional lapses. But is it important in an urban situation that everyone goes that little bit further to be tolerant and understanding.
The stall has been there for as long as I can remember. I went there when the old "Chelsea Cruise" used to happen on Saturday evenings in the seventies and eighties. It certainly pre-dates the riverside flats by many decades. The owners of the flats would have been aware of the stall before the moved in, and had the option to go elsewhere. In any case the flats are some distance from the kiosk which is on the bridge itself.
The management of the riverside flats are being too sensitive. I know from my own recent experience that it is not even possible to stop and look at the view from the riverside walk at night time, without their security guards coming out. The loss of the kiosk would further contribute to the loss of life and vitality on the riverside that these recent luxury flats represent.
The coffee stall makes Battersea more interesting. It should be retained and valued.
Keith Garner
Hopefully the objections will be taken seriously. All we can do now is wait for a final decision.
Posted in Battersea Power Station	| Tagged application for review, battersea, Battersea bulletin, Battersea Community Group, Battersea Forum, Battersea history, battersea its past its future, battersea park, Battersea Power Station, Battersea Power Station Community Group, battersea redevelopment, Battersea Society, Burger Bar, Chelsea Bridge, Chelsea Cruise, Coffee Stall, demolition, heritage, industrial Battersea, Keith Garner, kiosk, Nine Elms, NLE, northen line, Northern Line extension, queenstown road, Sime Darby, Snack Wagon, Susan Ekins, Tea Stall, Tincknell, Urban, Urban Sprawl, Vauxhall Nine Elms Battersea Opportunity Area, Vito, VNEB, wandsworth council	| 9 Replies


text:
Northeastern National Academy of Inventors Chapter Inaugural Event
Thursday, January 26, 2023 5pm
Share Northeastern National Academy of Inventors Chapter Inaugural Event
Share Northeastern National Academy of Inventors Chapter Inaugural Event on Facebook
Share Northeastern National Academy of Inventors Chapter Inaugural Event on Twitter
Share Northeastern National Academy of Inventors Chapter Inaugural Event on LinkedIn
East Village Residence Hall 17th Floor View map
291 Saint Botolph Street, Boston, MA, 02115
https://www.northeastern.edu/cri/programs/national-academy-of-inventors-northeastern-chapter/ #NAI
Embracing our century-long leadership in experiential education, translational research, and global presence, Northeastern's chapter of the National Academy of Inventors serves to empower inventorship and entrepreneurship across the innovation ecosystem by recognizing, inspiring, educating, and connecting, members of the academic and industrial communities. Join us as we launch Northeastern's NAI chapter to celebrate our community's ingenuity and learn more about membership and participation!
Ceremony/Observance
https://www.northeastern.edu/cri/prog...
#NAI
Center for Research Innovation

redpajama_set_name: RedPajamaCommonCrawl


text:
Book Review Of East Of The West by Miroslav Penkov
April 25, 2012 Toni Tileva
My review of East Of The West
Not only are we the only people to reverse the head signals for yes and no, but we Bulgarians also hold the dubitable honor of being really sad people. To some readers, Miroslav Penkov's East Of The West: A Country In Stories may not seem to dispel the idea much. There is a profound difference between sad and melancholic and a large chasm between lugubrious and stoically wistful. Penkov's book is about Bulgaria and a very Bulgarian ethos informs it, but ultimately, it is a thoroughly moving, beautifully-written collection of short stories about love, blood, ideals, and borders. Its stories are the product of exile–literal and metaphorical, yet this homelessness is also the story of a journey–at times a very Odyssian journey to a place that only exists in one's mind and resides in our blood.
Language plays an integral role in East Of The West–like a lot of writers for whom English is a second language, Penkov's love affair with it is palpable and he engages the readers' senses with its richness. He is "lexicon drunk." With great ingenuity, Penkov wryly inserts Bulgarianisms throughout the book [Sinko, for example, refers to a "young son," and is not just a proper name] or yad is defined as "what lines the inside of every Bulgarian soul. Yad is like spite, rage, anger, but more elegant, more complicated. It's like a pity for someone, regret for something you did or did not do, for chance you missed, for an opportunity you squandered."
East Of The West is also an eerily accurate yet non-didactic primer on Bulgarian history–it manages to cover almost all pivotal points such as the Ottoman Empire [or Turkish yoke, as it is commonly referred to], komiti, gorilla fighters living in dugouts, the advent of communism, the Macedonia-Bulgarian separation, the fall of communism. To read it is to inhale and grasp some important milestones in the shaping of the Bulgarian spirit, if you will. At times the "centuries-old wrath of the slave," moves mountains, literally, at other times, these ideals ring hollow and only reaffirm their own meaninglessness as in the story of "East Of The West" where a young couple dies just because they live on the opposite sides of a river separating Bulgaria from Macedonia. As the protagonist's seemingly-communist-for-life Grandfather in "Buying Lenin," says "What kind of a world is this where people and goats die in dugouts for nothing at all? And so I lived as though ideals really mattered." Ideals are simultaneously metaphoric and metamorphic.
One of these ideals is the struggle for freedom/liberation and here the very Bulgarian theme of the mountain really towers. The mountain is where all the freedom fighters hide, where people live in hideouts, but more than its geographical advantage, the mountain is literally the mother that holds anyone in need in her bosom and protects those who call for her help. People move mountains and the mountain is moved by them/moves for them. In "Devshirmeh," the girl beset by the sultan's army begs, "Planino, please hide us in your bosom." The song, "I got no father, I got no mother. Father to scorn me. Mother to mourn me. My father – the mountain. My mother – the shotgun," really underscores its mythical, moving power.
Penkov also uses incredibly evocative metaphors to underscore the pull of that blood–not in a literal genetic sense but in the sense of some ancestral knowledge or visceral call that cannot be erased by distance or time. In "Buying Lenin," he poignantly describes the intense loneliness and longing for [a] home he feels as a student here in the US; he has mastered the language but this knowledge is at times pointless and even worse…poisonous in further removing him from home: "My ears rang, my tongue swelled up. I went on for months, until one day I understood that nothing I said mattered to those around me. No one knew where I was from, or cared to know. I had nothing to say to this world…I cradled the receiver, fondled the thin umbilical cord of the phone that stretched ten thousand miles across the sea." He desperately wants to make anyone hear, or at least feel, what he is experiencing in this exile, but ultimately, he can only reassure himself that "blood is thicker than the ocean." And even though he had rebelled against his Grandpa's seemingly laughable veneration of Lenin, he comes to realize that he and Lenin are alike in some small but human sense –"Like me he had spent his youth abroad, in exile. He sounded permanently hungry and cold." In "Devshirmeh," blood literally speaks, underscoring the pride in one's heritage that is so integral to the Bulgarian ethos: "It is your blood you spill. My blood runs in her veins and hers in mine. Blood will make us see."
The life in exile is a thread that runs through many of the stories and is a trenchant commentary on the immigrant limbo. One of the characters yearns to just sit with his Grandfather under the black grapes of the trellised vine. They are all looking back, nostalgic and wistful, to a place that really only lives in their minds, but looking back is dangerously heavy and weighs one down–"you either turn to a pillar of stone or lose your beloved into Hades."
East Of The West's heroes are not heroic in the traditional sense–in an incredibly creative way, the book lauds the "un"heroic cowards, if you will, because "cowardice" is reality and living alone takes courage. In "Makedonjia," a husband bravely reads to his ailing wife letters she had received from her first love–"their love was foolish, childish, sugar-sweet, the kind of love that, if you are lucky to lose it, flares up like a thatched roof but burns as long as you live. I am just her husband and she is my wife." The story is a melancholic but beautiful rumination on aging and love and love's aging as well. "Isn't it good to be so young that you can lose a tooth and not even notice?" it asks. The line "a man ought to be able to undress his wife from all the years until she lies before him naked in youth again" illustrates Penkov's brilliant gift of prose and profound skill at character studies. East Of The West is not a sad book–it is existential yet thoroughly in touch with magical that lives in everything seemingly pedestrian. Ultimately, it is a truly penetrating yet drolly mirthful look into the "deep dark Slavic soul."
best ofbook reviewbrightest young thingsbulgariaeast of the westeastern europe short storiesmiroslav penkov
My Book Review Of Another Bullshit Night In Suck City
My book review
Another Bullshit Night In Suck City [on which the film Being Flynn is based] is Nick Flynn's autobiographical memoir, yet it is as much his story as it is his father's story, especially apropos because his father's "literary masterpiece," will not see the light of day save through his son's pen. It's as though through the chain of words, like a literary trail of crumbs, he is attempting to both know and locate his absentee father. The book simultaneously constructs a father out of letters and words, and masterfully documents Nick's bifurcated take on him—equal parts fascination with this man who or may not be the literary genius he proclaims himself to be and equal parts dread that he may be "like his father."
Another Bullshit Night In Suck City is set in and around Boston, where Nick grows up with his brother, raised by his far-too-overworked Mom, after his father leaves when he is 4. After a stint in jail and a series of alcohol-induced screw ups, Jonathan resurfaces when he comes to the homeless shelter where Nick works. His limited sense of his father up to that point comes from the bravado-laden letters to Nick, filled with Jonathan's self-avowals about his earned spot in the pantheon of great American writers and his always upcoming but never really materializing masterpiece of a novel. While Jonathan manifests as an absence in his son's life, his non-presence couldn't be more momentous to Nick, not the least of which because Nick is a writer. That very absence is ample kindle for the "who am I and what is my blood" fire and the mythos of him can only grow by virtue of his larger-than-life persona. At its most fundamental level, the source of the tension of their father-son relationship is not wanting to be like his "deadbeat Dad" while wondering how much like him he really is, especially if he really is the undiscovered writing genius he says he is. Discovering the family history is, thus, a road to a more complete sense of personhood yet it is littered with emotional potholes and craters.
Nick Flynn is a talented poet and it shines in his prose, which often flows like a Zen koan. For one, the story is not told chronologically and relies on some really interesting devices—there is a play in one of the chapters, a poem in another, extended allegories in several other spots, like the ones about Noah and Dostoevsky. His language is phenomenally rich and vibrant and beats with a life of its own. And more importantly, while the subject matter is sad, it is not lugubrious or self-pitying, nor is it matter-of-fact. A beautifully-written, instantly gripping story, refreshingly devoid of hero-villain dichotomies, Another Bullshit Night in Suck City's title rings especially true–this story could take place in any city, on any night. One gets the sense that this is some kind of archetypal tragi-comic play that has been and will be acted out eternally: "Each man has a role—one will be the lunatic king, one will be the fool. One will offer dire warnings, one will plot against us, one will try to help." And the role of the son will, inevitably, be played by Nick or someone else. The parts of the book that narrate Nick's time at the Pine Street Inn offer a rare glimpse into the lives of the nameless and the faceless. Nick steers clear of moralistic asides, instead opting to offer us a glimpse of the daily but not the pedestrian. "Nothing in this shelter makes more sense, makes me understand my purpose more, than to kill bugs on a homeless man's flesh, to dress him well in donated, cast-off clothes, to see him the next day laughing besides a burning barrel."
Another Bullshit Night In Suck City is, essentially, about homelessness—literally and in the sense of being permanently lost and adrift in the sea of life. Nick Flynn's metaphor of standing in one place, if you are lost, so you may be found is especially poignant when he adds, "but they never tell you what to do if both of you are lost, and you both end up in the same place, waiting." Later on, he continues, "I see no end to being lost. It isn't a station you reach but just the general state of going down." The novel is haunted by the specter of the ever-presence yet utter invisibility of being lost, especially palpable and trenchant when personified by the ghosts of the homeless who are seemingly all around us, yet entirely invisible to us. The vent that his father sleeps on in the winter is no less a prison because it has no walls: "The blower is a room of heat with no walls. My father stands in this room, an invisible man in an invisible room in an invisible city." He has "plenty of places to go, but no place to be."
another bullshit night in suck citybeing flynnbest ofbook reviewbrightest young thingsnick flynn
My Interview With Chef Jacob Hunter from Matchbox
Fashion District Flavors w/Chef Jacob Hunter of Matchbox
Chef Jacob Hunter of Matchbox literally wears his love of cooking on his sleeve–he's got a vibrant, palate-stirring/palette-spanning array of food tattoos on his forearms, including a so, so scandalously delicious giant scanwich. And like a true Atlanta-ite, he references Outkast as one of his favorite groups, who often give nods to Atlanta's rich culinary heritage in their lyrics ["And if you like fish and grits and all that…"].
Growing up in Atlanta, he was cooking with family from an early age–his Mom is Italian and he cooked BBQ and gumbo with his Dad. "In high school, I worked as a busboy and server and eventually, when it was time to go to college, I decided to go to culinary school because it sounded kind of easy–I hadn't really thought about how much work and what long hours chefing is. It's intense."
After attending the Art Institute of Atlanta, Jacob started working with Levy Restaurants, a massive food group that works with most of the major arenas and stadiums. One of the perks of the job was getting to see concerts. Jacob rattles off The Beatles, Pearl Jam, Jane's Addiction, Tool, Bjork, and his hometown Outkast as his favorites. After stints in Chicago, and travel in Florida, California, and Wisconsin, he joined McCormick & Schmick's as executive chef. He was looking to move South until things went south with his girlfriend and he stayed in DC, finding a job with Matchbox as a sous chef. "I turned down a lot of money to start at what seemed like a lower position, but you gotta go with your gut, you know. It just seemed like the right move for me." Working his way up, he is now an executive chef and also serves on the operations board, which allows him to consult on the opening of new locations.
"I still really enjoy cooking Italian, BBQ [we participated in the BBQ Battle last year and it was a lot of fun and a lot of work–there is an art to good BBQ], and Asian. I also really like putting a fine dining spin on comfort food, kind of like what Thomas Keller does at the French Laundry." He laments the lack of a proper taco stand here in DC and cites Little Serow, Toki Underground, Mandu, Mike Isabella's Graffiato, and small noodleshops in Chinatown as some of his haunts.
"Sandwiches are my favorite food and I love Scanwiches so much that I got one of theirs as a tattoo. I also have a beet, fried eggs, a pig, and utensils on my forearms. I plan on getting some peanuts, as well as bottle of wine pouring out a giant wave ala the stylized Japanese waves. I go to Butch at Champion Tattoo. Some of these he did totally freehand–like the beet one, he just drew on there with a Sharpie! I was a little nervous, but it turned out amazing!"
For Fashion District, Chef Hunter will be preparing a tuna tartare in a crispy rice paper cup [fry a rice paper wrapper normally used for spring rolls], with some sesame, sriracha, soy sauce, nori, and a diced apple and golden beet.
cheffashion districtinterviewjacob huntermatchboxted's bulletin readysetdc


text:
Q: Justify buttons with Bootstrap v4 Bootstrap v4 drops the .btn-group-justified class, see https://github.com/twbs/bootstrap/issues/17631
How to justify the button for:

   Left
   Middle
   Right

A: For anyone finding this after Bootstrap 4 Beta was released...

   Previous
   Next

A: Indeed the nav-justify class is missing. You can add it yourself based on TB3's code for now:
SCSS code
// Justified button groups
// ----------------------

.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  .btn,
  .btn-group {
    float: none;
    display: table-cell;
    width: 1%;
    .btn {
      width: 100%;
    }
    .dropdown-menu {
      left: auto;
    }
  }
}

compiled CSS code
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate; }
  .btn-group-justified .btn,
  .btn-group-justified .btn-group {
    float: none;
    display: table-cell;
    width: 1%; }
    .btn-group-justified .btn .btn,
    .btn-group-justified .btn-group .btn {
      width: 100%; }
    .btn-group-justified .btn .dropdown-menu,
    .btn-group-justified .btn-group .dropdown-menu {
      left: auto; }

HTML

   Left
   Middle
   Right

The above HTML code now will look like that shown in the figure beneath:

Handling borders

*

*Due to the specific HTML and CSS used to justify buttons (namely display: table-cell), the borders between them are doubled. In regular button groups, margin-left: -1px is used to stack the borders instead of removing them. However, margin doesn't work with display: table-cell. As a result, depending on your customizations to Bootstrap, you may wish to remove or re-color the borders.

Links acting as buttons

*

*If the  elements are used to act as buttons – triggering in-page functionality, rather than navigating to another document or section within the current page – they should also be given an appropriate role="button".

Dropdowns
Use the following HTML code for dropdown buttons:

   Left
   Middle

      <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        Action
      </button>

        Action
        Another action
        Something else here

        Separated link

The justified button group with dropdown button should look like that shown in the figure below:

With <button> elements

*

*To use justified button groups with <button> elements, you must wrap each button in a button group. Most browsers don't properly apply our CSS for justification to <button> elements, but since we support button dropdowns, we can work around that.

HTML

     <button type="button" class="btn btn-secondary">Left</button>

     <button type="button" class="btn btn-secondary">Middle</button>

     <button type="button" class="btn btn-secondary">Right</button>

The above HTML code used to justified button groups with <button> elements should look like that shown in the figure beneath:

A: Building on Bass Jobsen's great answer, here is the same functionality using flexbox instead of display: table;
SCSS code
// Justified button groups
// ----------------------

.btn-group-justified {
  display: flex;
  width: 100%;
  .btn,
  .btn-group {
    flex: 1;
    .btn {
      width: 100%;
    }
    .dropdown-menu {
      left: auto;
    }
  }
}

HTML

   Left
   Middle
   Right

Please refer to Bass Jobsen's answer for more details on usage with dropdowns, HTML Links and more.

A: When using with class="dropdown-menu" with Bootstrap V4.0, based on Chris Baswell' solution above and Bootstrap Documentation: https://getbootstrap.com/docs/4.0/components/button-group/#nesting

    <button type="button" class="btn btn-secondary">1</button>
    <button type="button" class="btn btn-secondary">2</button>

        <button type="button" class="btn btn-secondary dropdown-toggle-no-carret w-100" title="MANAGE ENTRIES" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Drop Down
        </button>

            Previous
            Next

redpajama_set_name: RedPajamaStackExchange


text:
#ctrsoccer
Frank Rizzi
President/Owner
Campioni Soccer / CTR Soccer: 2000 - Present
As president and co-founder of CTR Soccer, Frank Rizzi understands the competitiveness of local organizations being that he played in the very same leagues as a youth soccer player. His understanding of your child's needs and training can be focused on and improved through his own experiences. Frank has reached the pinnacle of success by way of playing for several MLS preseason teams, including the Tampa Bay Mutiny, Dallas Burn and New England Revolution. With over 15 years of experience as a coach and professional trainer, Frank has combined and aligned his company's unique training philosophy with the principles and objectives of the U.S. Soccer curriculum to create a detailed and specific player and program developmental curriculum specific to CTR Soccer. With a highly-experienced and well-trained staff implementing this new curriculum, the possibilities for CTR Soccer and local club soccer organizations are endless.
"Our main objective is to help each player develop his or her individual skills and make progress towards mastering the game. We guarantee a quality learning experience for players of all ages and abilities. At CTR Soccer, we pride ourselves on creating a learning environment conducive to maximizing player, team and program improvement and development. The success and reputation of our training programs can be directly linked to the outstanding ability and attitude of our professional coaching staff." - Frank Rizzi
ACADEMY COACHING EXPERIENCE:
- Cedar Stars Academy FC - 2015-present
- 2001 Cedar Stars Pre-Academy Head Coach
- U16 Developmental Academy Boys Team assistant coach
- NJSA 04 - 2004-2010
- NJSA 04 Gunners – Assistant Coach/Trainer
- 2007 National Champions
- NJYS State Champions: 2005, 2006, 2007
- U.S. Club State Champions: 2005, 2006, 2007
- Regional Champions: 2005, 2006, 2007
- Assistant Coaching Experience:
- NJSA 04 Pre-academy '94
- NJSA 04 Academy '93
CLUB COACHING EXPERIENCE:
- Marlboro Warriors: 2009 - Present
- 2017 US Club Soccer National Cup Finalists
- 2017 US Club Soccer State Cup Champions
- 2014 NJYS State Cup Champions
- 2016 US Club Soccer National Cup Champions
- 2015 Disney Showcase Finalists
- 2016 Jefferson Cup Champions
- 2016 Manhattan Cup Champions
- 2016 Pottomac Cup Champions
- Marlboro Lightning: 2005-2011
- 2011 NJYS State Cup Finalist
- 2010 Disney Showcase Champions
- 2010 Dallas Cup Champions
- 2009 PDA Tournament Champions
- 2009 Delco Tournament Champions
- Marlboro Galaxy: 2008 - 2012
- 2010 NJYS/US Club Soccer State Cup Finalist
- USSF Nationally Licensed Coach
PLAYING EXPERIENCE:
- Preseason MLS
- '96, '97, '98 Tampa Bay Mutiny
- '98 Dallas Burn
- '99 New England Revolution
NOTABLE COACHING EXPERIENCE:
2017 US Club Soccer National Finalists with MSA/CSA Warriors
2017 US Club Soccer New Jersey tate Champions with MSA/CSA Warriors
2013-2014: Worked alongside legendary great Ruben Sosa (former Inter Milan & Uruguayan World Cup star)
2004-2010: Served as an assistant coach to U.S. Men's National Team assistant coach Tab Ramos
- NJSA 04 Academy '93 & Pre-academy '94
2004-2005: Served as an assistant to Richard Williams with NJSA 04 (former MLS coach)
Frank Rizzi has developed many long lasting relationships with his former players, many of whom have gone on to play at the highest levels of soccer. Some of the players include professional soccer players Sean Davis (New York Red Bulls), Dan Metzger (New York Red Bulls), Brandon Allen (New York Red Bulls), RJ Allen (New York City FC), Hunter Gorskie (formerly of the New York Cosmos and now playing in Poland), and Alex DeJohn (currently playing in Norway).
"Frank has instilled in me an exceptional level of skill, competitiveness and passion for the game that has carried me through every level of competition throughout my career. I trained many years with Frank to become the most complete soccer player I could be."
- Hunter Gorskie (New York Cosmos)
"I have been training with Frank ever since I started youth soccer. His passion, enthusiasm, and love for the game has rubbed off on me and remains with me as a professional. Now Frank provides me with guidance and mentors me through my career."
- Alex DeJohn (Turun Palloseura – Finland)
Nike Soccer Logo
Elite Sports Physical Therapy
© CTR Soccer. All rights reserved.


text:
hilton grand vacations to build new tower in center of waikiki
Hilton Grand Vacations To Build
10/3/2018 Lauren George
Hilton Grand Vacations Inc. has purchased a site in the center of Waikiki where it plans to develop a 32-story, 191-unit time-share tower from where a partnership of Hawaii investors and developers who scrapped plans for their own tower nearly two years ago.
It will be the sixth property in Honolulu for Hilton Grand Vacations (NYSE: HGV), which completed The Grand Islander by Hilton Grand Vacations at the Hilton Hawaiian Village Waikiki Beach Resort in March 2017. The purchase price was not disclosed.
BSC KVSC LLC, the partnership between BlackSand Capital, The MacNaughton Group, Kobayashi Group and others, had planned to build a 32-story, 246-unit condominium hotel on the 1.05-acre King's Village site, which also includes the Hale Waikiki Apartments and Price Edward Apartments, but said in early 2017that they were placing the project on hold because of rising construction costs. The four parcels of land, which they bought for about $41 million in 2012, are located directly behind the Hyatt Regency Waikiki Beach Resort & Spa on a block bounded by Kaiulani and Kona avenues and Prince Edward Street.
"Building on our local development history that started with the Lagoon Tower in 2000, our latest project in Waikiki will assure that HGV continues to offer lifetime vacation experiences to our next generation of owners," Mark Wang, president and CEO of Hilton Grand Vacations, said in a statement. "We're also excited that this project will be the first Hawaii location for our Hilton Club, which offers premium levels of design and amenities."
Following the completion of the new building, Hilton Grand Vacations will have a total of 1,429 time-share units on Oahu.
"We are glad to see the project moving forward under the current approvals, as we believe it will be good for the neighborhood, the Waikiki area and our local economy," Bryan Li of BSC KVSC LLC said in a statement. "Hilton Grand Vacations has a strong track record of operating exceptional properties in Hawaii, and we wish them continued success."
Construction on the project is expected to begin in the second quarter of 2019, with a completion date targeted for the first quarter of 2022. Sales are expected to start in mid-2020.
Meanwhile, OliverMcMillan is also planning to start construction on its Waikiki rental apartment project two blocks away in mid-2019. The Lilia Waikiki project, a 28-story mixed-use tower on the block bounded by Kuhio Avenue and Kanekapolei and Walina streets, will have 402 units, including 38 affordable studios. The developer is also renovating four older buildings along Kanekapolei Street, which will have 53 one- and two-bedroom affordable rentals.
Source: Pacific Business
News View article as PDF
Hilton Grand Vacations To Build New Tower In Center Of Waiki


text:
Living > Royals
See New, Adorable Portraits of Archie Mountbatten-Windsor's Christening
Photo: Chris Allerton / Courtesy of SussexRoyal
Today, the Duke and Duchess of Sussex released two new portraits of their son Archie Mountbatten-Windsor's christening.
One photo shows Prince Harry and Meghan Markle surrounded by their family, including grandparents Prince Charles, the Duchess of Cornwall, and Meghan's mother Doria Ragland. Princess Diana's sisters, Lady Sarah McCorquodale and Lady Jane Fellowes, stand alongside uncle and aunt Prince William and Kate Middleton. The other portrait is a closer, outdoor shot of a blissful Archie being cradled by Meghan and Harry. The photos were taken by photographer Chris Allerton. In both, Archie wears a replica of the Honiton christening gown. The Honiton was commissioned by Queen Victoria, but by 2004, the white silk and lace garment was deemed to fragile for continued use. Since then, a newer version has been used for royal christenings.
"The Duke and Duchess of Sussex are so happy to share the joy of this day with members of the public who have been incredibly supportive since the birth of their son," the Instagram caption read. The christening ceremony occurred at Windsor Castle, with a small number of close family and friends in attendance. Baby Archie's godparents were kept private, as keeping with Prince Harry and Meghan Markle's wishes.
The event was held in the Queen's private chapel, a more intimate space then the grand St. George's, where Prince Harry and Meghan Markle's May 2018 wedding was held.
Archie was blessed over the Lily Font, which has been used for every Windsor family baby since 1841.


Numark'''s Red Wave Carbon gives you exactly what you need in a DJ headphone set: full-range frequency response, ear pads that deliver all-night comfort, swiveling ear cups for convenient monitoring, and a detachable cable with 1/8-inch adapter for use with virtually any gear.
The drivers are 50mm neodymium-powered units, compared to the more common 40mm headphone driver size found in most other headphones. This gives Red Wave Carbon a deep, potent bass response that really brings the music to life.
Combined with their high-temperature/high-power voice coils, the overall effect is dynamic, realistic music, reproduced with detail and accuracy.
We also paid close attention to comfort and convenience. The ear pads are a special breathable leather, which stay comfortable and cool, with no ''"sweating,''' during extended sessions. For a perfect finishing touch, we include a custom carrying pouch to store the headphones, cable and adapter.
Red Wave Carbon sounds really great, and they have the comfort and versatility that meets all the unique demands of a professional DJ.


Here's where I really lost my gay membership card. When my friends and I used to go out regularly (roughly a million years ago), the clubs all played hip-hop and funk. Loved it. After a couple of years, they all switched to house. Hated it. Which is a bit ironic, given my teen love of disco and how closely the two styles are related. On the other hand, I never said I was consistent.


Move away from the traditional to this contemporary stylish property with an abundance of stunning facilities. It benefits from an interior design which is modern and thoughtful, from the smoked oak flooring to the striking copper sculptures weaving across the high ceilings – always with a nod towards nature.
The estate plays the part of the peaceful country hideaway perfectly but it is much more than a city escape. Light and bright function rooms provide a space to stamp your mark without the clutter of books, paintings and other distractions. Reception rooms have beautiful sweeping views over the estate through large Georgian windows. Each room has a refined and elegant décor of light wood and creams, with natural furnishings, giving a relaxed fresh summer feel. Outside there are wonderful meadows of wild flowers, woodland, lakes, landscaped gardens and terraces to delight even the most jaded of travellers.
Bedrooms also complement the natural surroundings, some with some four poster beds resembling trees and a free standing copper roll top bath. Others have a more rustic feel with oak flooring, leather touches, groove panelling and materials like wool, linen and cashmere amidst the natural furnishings.
A surprise feature in the grounds is the eco spa, which will win the hearts of anyone visiting this venue; partially submerged in the grounds the two level building is a stunning piece of architecture and design, offering modern luxury relaxation in the heart of the countryside.
The estate offers an exclusive but friendly atmosphere and is the perfect place to celebrate with friends and family for a wedding or special event, or to hold business meetings with a difference. An abundance of activities are available making it also an ideal incentive destination. It really is an unforgettable venue for exclusive use.


Does bad luck always come in sets of three? Please tell me it doesn't… I'm on two strikes already today, and I really don't have the wherewithal to deal with anything more.
First, my toaster exploded, which I hadn't known was a thing. Did you know that that can happen? Well, it can, and I'm here to tell the tale. There's not a huge amount to said tale, but it was a bit of a stressful start to the day. Then, my car broke down on the motorway, and now here I am waiting for roadside assistance instead of nailing that property deal down on the coast.
What's the third thing going to be? The client thinks I'm flaky and backs out on the whole meeting? I find out that my engine has conked it? Or perhaps something completely unrelated, like tripping over a stray brick and twisting my ankle?
Whatever. Right now I need to focus on getting hold of a decent car mechanic. Mornington locals, who's good for this type of thing? I suppose I should wait for the RACV person to point me in the right direction. I just feel like I don't have that much time to wait around for them to get here.
While I have very limited knowledge of Mornington, car repair workshops included, I do know that my client isn't going to be stoked about the delay, even though it's clearly not my fault. I mean, maybe it is – I have put off having an annual car service for a couple of years now. But the client doesn't need to know that.
Maybe I need to put a different spin on this. Maybe I'm actually having a bout of good luck. The toaster exploding when and where it did might have been the difference between my house burning down or not, and I got away with barely singed eyebrows. Similar logic could apply to the car breakdown – the outcome could have been a lot worse.


text:
Q: How to make an animation of a body when I know its coordinates in time as a table I'm trying to numerically solve a system of differential equations describing two pendula connected to each other by a spring, and then make an animation of their evolution in time. What I have now, is a "Table" including their Cartesian coordinates at successive instances.
How can I show them in a plane? And how can I animate it?

A:
I'm trying to numerically solve a system of differential equations
  describing two pendula connected to each other by a spring, and then
  make an animation of their evolution in time

Here is something to get you started. You can do all this in Mathematica directly by solving the equations of motion and then use NDSolve to solve them and then do the animation. This below gives you everything you need, but I did not do the actually animation itself. This will take a little more time. May be later when I have more time will add 2D graphics and Manipulate. I made this small diagram to help derive the Lagrangian.

The only thing to do is find the Lagrangian, then Mathematica will do the rest of the algebra.
Assuming both springs have the same relaxed length of $L$. Starting by finding
the Lagrangian $
\mathcal{L}
=T-V$. For $m_{1}$
\begin{align*}
T_{1}  & =\frac{1}{2}m_{1}\left(  \dot{x}_{1}^{2}+\left(  \left(
L+x_{1}\right)  \dot{\theta}_{1}\right)  ^{2}\right)  \\
V_{1}  & =-m_{1}g\left(  L+x_{1}\right)  \cos\theta_{1}+\frac{1}{2}k_{1}
x_{1}^{2}
\end{align*}
And for $m_{2}$
\begin{align*}
T_{2}  & =\frac{1}{2}m_{2}\left(  \left(  \dot{x}_{2}+\dot{x}_{1}\cos\left(
\theta_{1}-\theta_{2}\right)  \right)  ^{2}+\left(  \dot{x}_{1}\sin\left(
\theta_{1}-\theta_{2}\right)  \right)  ^{2}\right)  \\
& +\frac{1}{2}m_{2}\left(  \left(  \left(  L+x_{2}\right)  \dot{\theta}
_{2}+\left(  L+x_{1}\right)  \dot{\theta}_{1}\cos\left(  \theta_{1}-\theta
_{2}\right)  \right)  ^{2}+\left(  \left(  L+x_{1}\right)  \dot{\theta}
_{1}\sin\left(  \theta_{1}-\theta_{2}\right)  \right)  ^{2}\right)  \\
V_{2}  & =-m_{2}g\left(  \left(  L+x_{1}\right)  \cos\theta_{1}+\left(
L+x_{2}\right)  \cos\theta_{2}\right)  +\frac{1}{2}k_{2}x_{2}^{2}
\end{align*}
Hence
$$
\mathcal{L}
=\left(  T_{1}+T_{2}\right)  -\left(  V_{1}+V_{2}\right)
$$
There are 4 generalized coordinates, $x_{1},x_{2},\theta_{1},\theta_{2}$. Now
Mathematica is used to obtain the four equations of motion to help with the
algebra. Once $x_{1},x_{2},\theta_{1},\theta_{2}$ are solved for, the position
of each mass $m_{1},m_{2}$ is fully known at each time instance, and each mass
motion can be animated. The four equations of motion are
\begin{align*}
\frac{d}{dt}\left(  \frac{\partial
\mathcal{L}
}{\partial\dot{x}_{1}}\right)  -\frac{\partial
\mathcal{L}
}{\partial x_{1}}  & =0\\
\frac{d}{dt}\left(  \frac{\partial
\mathcal{L}
}{\partial\dot{x}_{2}}\right)  -\frac{\partial
\mathcal{L}
}{\partial x_{2}}  & =0\\
\frac{d}{dt}\left(  \frac{\partial
\mathcal{L}
}{\partial\dot{\theta}_{1}}\right)  -\frac{\partial
\mathcal{L}
}{\partial\theta_{1}}  & =0\\
\frac{d}{dt}\left(  \frac{\partial
\mathcal{L}
}{\partial\dot{\theta}_{2}}\right)  -\frac{\partial
\mathcal{L}
}{\partial\theta_{2}}  & =0
\end{align*}
Now we jump to Mathematica for help and ask it to solve the equations and make some plots.
ClearAll[x1, x2, θ1, θ2, t,m1,m2,L]
T1 = 1/2 m1 (x1'[t]^2 + ((L + x1[t]) θ1'[t])^2);
V1 = -m1 g (L + x1[t]) Cos[θ1[t]] + 1/2 k1 x1[t]^2;
T2 = 1/2 m2 ((x2'[t] + x1'[t] Cos[θ1[t] - θ2[t]])^2 +
     (x1'[t] Sin[θ1[t] - θ2[t]])^2) + 1/2 m2 (((L + x2[t]) θ2'[t]
     + ((L + x1[t]) θ1'[t] Cos[θ1[t] - θ2[t]]))^2
     + ((L + x1[t]) θ1'[t] Sin[θ1[t] - θ2[t]])^2);
V2 = -m2 g ((L + x1[t]) Cos[θ1[t]] + (L + x2[t]) Cos[θ2[t]]) + 1/2 k2 x2[t]^2;

Find the Lagrangian and equations of motion
(lag = (T1 + T2) - (V1 + V2)) // Simplify

eq1 = D[D[lag, x1'[t]], t] - D[lag, x1[t]] == 0;
eq2 = D[D[lag, x2'[t]], t] - D[lag, x2[t]] == 0;
eq3 = D[D[lag,θ1'[t]],t]-D[lag,θ1[t]]==0;
eq4 = D[D[lag,θ2'[t]],t]-D[lag,θ2[t]]==0;

Numerically solve the equations of motion, using some values for spring constants and masses. (these can be changed in animation)
pars={L->1,m1->1,m2->2,g->9.8,k1->10,k2->30};
ic={θ1[0]==5 Degree,θ1'[0]==0,θ2[0]==3 Degree, θ2'[0]==0,x1[0]==0,x1'[0]==0,x2[0]==0,x2'[0]==0};
eqs=Flatten[{eq1,eq2,eq3,eq4}]/.pars;
numericalSolution=First@NDSolve[{eqs,ic},{x1,x2,θ1,θ2},{t,0,20}]

That is all. Make some plots
Plot[Evaluate[({θ1[t],θ2[t]}/.numericalSolution)*180/Pi],{t,0,20},
     PlotRange->All,AxesLabel->{"time","Angle (in degree)"},
     ImageSize->400,PlotLegends->{"mass 1","mass 2"}]

Plot[Evaluate[{x1[t], x2[t]} /. numericalSolution], {t, 0, 20},
 PlotRange -> All,
 AxesLabel -> {"time", "spring extensions in meters"},
 ImageSize -> 400, PlotLegends -> {"mass 1", "mass 2"}]


text:
Weld RE-4 School District voters reject $3…
NewsColorado News
Weld RE-4 School District voters reject $3 million mill levy override; vote closer on $179 million bond
Weld RE-4 School District administration building in Windsor. Weld RE-4 School District serves students in Windsor, Severance and west Greeley.
By Anne Delaney | adelaney@greeleytribune.com | Greeley Tribune
PUBLISHED: November 2, 2021 at 11:21 p.m. | UPDATED: November 6, 2021 at 10:09 p.m.
After a year-long delay because of COVID-19, the Weld RE-4 School District learned the results of its much-discussed initiatives — including a $179 million bond aimed at managing the growing school system.
Windsor, Severance and west Greeley appeared to reject both ballot measures to increase taxes for district residents — all with the purpose to generate funds to build and renovate schools, according to results from the Weld County Clerk and Recorder's website on Tuesday night.
As of 10:30 p.m., the $179 million bond on ballot issue B generated more 'no' votes by a margin of 51.47% to 48.5% (4,775 to 4,502 votes).
Ballot issue 4A, allowing for a tax increase of up to $3 million to be phased in over two years for operational funds, sustained a larger defeat. The 'no' votes topped those in favor by 56.8% to 43.18%.
Neither RE-4 superintendent Dan Seegmiller nor board president Jennifer Lieber, who could be the subject of a recall election early next year, were available to comment on the results of the bond and MLO measures, the district said earlier in the week.
No reason was given on why neither Seegmiller nor Lieber would not comment.
Board member Lance Nichols, who defeated challenger Trent Leisy for one of two opens seats on the RE-4 board, said he was disappointed in the apparent failure of the measures.
"We'll put out a statement in the next day or two with it not passing and we'll try to get it on the ballot again," Nichols said. "We can't maintain the level of education without these because we're going to be overcrowded."
District leaders started to plan for a bond measure to include on the 2020 ballot, but they pulled the option in the spring citing the economic impact of the COVID-19 pandemic.
The district re-started conversations and plans to introduce the large bond and capital project for this year, saying the growth in the district leading to overcrowded schools continued despite the pandemic.
"It's a need and that need hasn't changed," Weld RE-4 Chief Operating Officer Jason Seybert said in March.
After months of conversations with community members in Windsor and Severance — including town officials, business owners and residents — the Weld RE-4 Board of Education voted in August to include the bond and $3 million MLO on the ballot.
The bond measure was being sought to:
Build two new elementary schools: Peakview and RainDance at a combined cost of $63 million.
Build a new 900-student middle school to replace Windsor Middle School at a cost of $63 million.
Expand Severance Middle School to accommodate 900 students at a cost of $18 million;
A $14.5 million expansion at Windsor Charter Academy;
A new Career and Technical Education building at Severance High School and facility projects at all schools for $20.5 million.
This summer, the district revised the bond package to relocate a new Windsor Middle School to a 140-acre property in northwest Windsor with a projected opening date in 2024.
Windsor Mayor Paul Rennemeyer said it's the first time in his 15 years in the town that he can recall school measures failing to pass voter approval.
So, it's kind of surprising in one respect," Rennemeyer said. "But, you want to respect the integrity of the votes that were cast. And, obviously, the school board is going to need to regroup on where they go from here."
Greeley Tribune reporter Bobby Fernandez contributed to this story
MyWindsor
Severance High School
Weld RE-4 School District
Anne Delaney | Anne Delaney covers education and writes features
Anne Delaney is reporter who covers education and writes features for the Greeley Tribune.
adelaney@greeleytribune.com
Follow Anne Delaney @AnneGDelaney
Colorado woman struck by train while trapped in police cruiser sues department, officers
CSP cites 9,643 people in three years for speeding in construction, school zones


text:
Skittles & Kia Tease Super Bowl 50 Ads: Skittles Gets Steven Tyler & Kia Nabs … – Marketing Land
Skittles & Kia Tease Super Bowl 50 Ads: Skittles Gets Steven Tyler & Kia Nabs ... - Marketing Land
As game day draws closer, more brands are releasing sneak-peeks of their Super Bowl 50 ads. Today, both Skittles and Kia shared minor details on the creative behind their upcoming campaigns.
In its second appearance as a Super Bowl advertiser, Skittles will be airing a spot with Aerosmith front-man Steven Tyler.
According to a report from AdWeek, the spot was produced by Chicago-based agency DDB and will be the first Wrigley ad ever to feature a celebrity.
Wrigley, Skittles' parent company, told Adweek it gifted the Skittles-bedazzled microphone stand to Tyler so that he can "… rock on with The Rainbow leading up to the Super Bowl and beyond." However, the brand clarified that the microphone will not be part of its Super Bowl ad.
Here's the two-second teaser gif Skittles shared with AdWeek:
AdWeek also got a first look at Kia's Super Bowl spot featuring Christopher Walken.
"Christopher Walken — and a very colorful sock — will add pizzazz to Kia Motors' 60-second Super Bowl commercial for the all-new 2016 Optima midsize sedan," a Kia representative told AdWeek, "The new ad will continue to spotlight the next-generation Optima as the vibrant alternative for those determined not to blend in."
Produced by ad agency David & Goliath, Kia's Super Bowl ad is scheduled to run during the third quarter of the game. While no videos — or gifs — were made available, Kia did share the following image from the shoot.
Kia's Super Bowl 50 Ad Campaign Featuring Christopher Walken
Be sure to check out Marketing Land's list of Super Bowl 50 advertisers: Super Bowl 50 Advertisers: These Brands Are Ready To Play The Commercial Game. We are keeping it updated as brands release more details around their campaigns.
(Photo credit: AdWeek)
Amy Gesenhues is Third Door Media's General Assignment Reporter, covering the latest news and updates for Marketing Land and Search Engine Land. From 2009 to 2012, she was an award-winning syndicated columnist for a number of daily newspapers from New York to Texas. With more than ten years of marketing management experience, she has contributed to a variety of traditional and online publications, including MarketingProfs.com, SoftwareCEO.com, and Sales and Marketing Management Magazine. Read more of Amy's articles.
(Some images used under license from Shutterstock.com.)
Source: Google News Super Bowl Commercials
2011 VOLKSWAGEN – The Force
1999 APPLE – Hal
2021 Reddit – 5 Seconds
2017 Kia Super Bowl 51 (LI) TV Commercial "Hero's Journey" Starring Melissa McCarthy
2015 PG ALWAYS – Like a Girl
1996 PEPSI – "Sparky" the Trained Goldfish


Could Node.x unseat Node.js? Event driven asynchronous server side platform duel in the making?
Take a look at the project site however and we see immediately that the project is squarely in the stage where the originator is building a proof of concept to see if it's feasible. Node.js was at this stage 2 years ago. First observation is that they have a heap of a lot of catching up to do.
puts "hit enter to stop server"
This has some promise. Of course there's more to Node than just succinct coding, there's also performance and the growing ecosystem of modules. In terms of performance I'm confident the JVM will match or beat V8 especially considering that Hotspot has perhaps 10 years of development maturity behind it. However as I noted earlier, the Node community is moving ahead at warp speed in building the ecosystem of modules, and Node.x isn't even to the starting gate. One key value of a programming platform is the ecosystem of libraries or tools with which developers build their applications; the more of these the more valuable the platform.
A general purpose framework that uses an asynchronous event based style for building highly scalable network or file system aware applications and Everything is asynchronous. Embraces the style of node.js and extends it to the JVM. Think node.js on steroids. Plus some.: That's quite a mouth-full, but basically they're saying they're going to implement Node on the JVM. That sentence is basically describing Node, and obviously the name (Node.x) is a very large hint they're taking a cue from Node.js.
Goes with the recent developments with InvokeDynamic in Java 7 and bets on the JVM being the future premier runtime for dynamic languages.: Hm, I have my doubts about the future of the JVM being very bright but I'm not willing to bet that it will die. In any case the JVM is today a robust very mature platform with a ton of excellent features and stability already baked in due to the 15 years or so of refinement.
True threading. Unlike node.js, Python Twisted or Ruby EventMachine, it has true multi-threaded scalability. No more spinning up 32 instances just to utilise the cores on your server.: Here's a strong departure from Node.js. Node doesn't support multiple threads so to fill out all the cores on your server you have to spin up multiple Node processes. The JVM has supported threading from the beginning and has Doug Lea's Concurrency library baked in.
There is a trade-off here however. Thread based concurrency increases the complexity of the system. Node.js modules don't have to worry about other threads mucking with data structures while executing code inside the module, because there aren't other threads. But a Node.x module would face that issue because the JVM uses threads, and they plan to exploit threads.
On the other hand, in Node.js concurrency is implemented in part by the asynchronous event loop, and in part by spinning up multiple processes. The multiple processes don't share memory which has several effects. One effect is that there's no chance for deadlocks or race conditions other issues with concurrent updates to data structures. Another effect is that, assuming the multiple processes are working together to implement the same service, any shared data has to be kept in some shared data store like a database.


text:
Phosphorescent dye-based supramolecules for high-efficiency organic light-emitting diodes
Kwon Hyeon Kim, Sunghun Lee, Chang Ki Moon, Sei Yong Kim, Young Seo Park, Jeong Hwan Lee, Jin Woo Lee, June Huh, Youngmin You, Jang Joo Kim
Department of Chemical and Biological Engineering
Organic light-emitting diodes (OLEDs) are among the most promising organic semiconductor devices. The recently reported external quantum efficiencies (EQEs) of 29-30% for green and blue phosphorescent OLEDs are considered to be near the limit for isotropically oriented iridium complexes. The preferred orientation of transition dipole moments has not been thoroughly considered for phosphorescent OLEDs because of the lack of an apparent driving force for a molecular arrangement in all but a few cases, even though horizontally oriented transition dipoles can result in efficiencies of over 30%. Here we use quantum chemical calculations to show that the preferred orientation of the transition dipole moments of heteroleptic iridium complexes (HICs) in OLEDs originates from the preferred direction of the HIC triplet transition dipole moments and the strong supramolecular arrangement within the co-host environment. We also demonstrate an unprecedentedly high EQE of 35.6% when using HICs with phosphorescent transition dipole moments oriented in the horizontal direction.
https://doi.org/10.1038/ncomms5769
10.1038/ncomms5769
Dive into the research topics of 'Phosphorescent dye-based supramolecules for high-efficiency organic light-emitting diodes'. Together they form a unique fingerprint.
Iridium Medicine & Life Sciences 100%
iridium Physics & Astronomy 61%
Dipole Moment Chemical Compounds 57%
dyes Physics & Astronomy 54%
Coloring Agents Medicine & Life Sciences 51%
light emitting diodes Physics & Astronomy 49%
dipole moments Physics & Astronomy 45%
Light Medicine & Life Sciences 44%
Kim, K. H., Lee, S., Moon, C. K., Kim, S. Y., Park, Y. S., Lee, J. H., Lee, J. W., Huh, J., You, Y., & Kim, J. J. (2014). Phosphorescent dye-based supramolecules for high-efficiency organic light-emitting diodes. Nature communications, 5, [4769]. https://doi.org/10.1038/ncomms5769
Phosphorescent dye-based supramolecules for high-efficiency organic light-emitting diodes. / Kim, Kwon Hyeon; Lee, Sunghun; Moon, Chang Ki; Kim, Sei Yong; Park, Young Seo; Lee, Jeong Hwan; Lee, Jin Woo; Huh, June; You, Youngmin; Kim, Jang Joo.
In: Nature communications, Vol. 5, 4769, 2014.
Kim, KH, Lee, S, Moon, CK, Kim, SY, Park, YS, Lee, JH, Lee, JW, Huh, J, You, Y & Kim, JJ 2014, 'Phosphorescent dye-based supramolecules for high-efficiency organic light-emitting diodes', Nature communications, vol. 5, 4769. https://doi.org/10.1038/ncomms5769
Kim KH, Lee S, Moon CK, Kim SY, Park YS, Lee JH et al. Phosphorescent dye-based supramolecules for high-efficiency organic light-emitting diodes. Nature communications. 2014;5. 4769. https://doi.org/10.1038/ncomms5769
Kim, Kwon Hyeon ; Lee, Sunghun ; Moon, Chang Ki ; Kim, Sei Yong ; Park, Young Seo ; Lee, Jeong Hwan ; Lee, Jin Woo ; Huh, June ; You, Youngmin ; Kim, Jang Joo. / Phosphorescent dye-based supramolecules for high-efficiency organic light-emitting diodes. In: Nature communications. 2014 ; Vol. 5.
@article{7772958b0baf4516ac7db66245c77b81,
title = "Phosphorescent dye-based supramolecules for high-efficiency organic light-emitting diodes",
abstract = "Organic light-emitting diodes (OLEDs) are among the most promising organic semiconductor devices. The recently reported external quantum efficiencies (EQEs) of 29-30% for green and blue phosphorescent OLEDs are considered to be near the limit for isotropically oriented iridium complexes. The preferred orientation of transition dipole moments has not been thoroughly considered for phosphorescent OLEDs because of the lack of an apparent driving force for a molecular arrangement in all but a few cases, even though horizontally oriented transition dipoles can result in efficiencies of over 30%. Here we use quantum chemical calculations to show that the preferred orientation of the transition dipole moments of heteroleptic iridium complexes (HICs) in OLEDs originates from the preferred direction of the HIC triplet transition dipole moments and the strong supramolecular arrangement within the co-host environment. We also demonstrate an unprecedentedly high EQE of 35.6% when using HICs with phosphorescent transition dipole moments oriented in the horizontal direction.",
author = "Kim, {Kwon Hyeon} and Sunghun Lee and Moon, {Chang Ki} and Kim, {Sei Yong} and Park, {Young Seo} and Lee, {Jeong Hwan} and Lee, {Jin Woo} and June Huh and Youngmin You and Kim, {Jang Joo}",
note = "Funding Information: This work (2014R1A2A1A01002030) was supported by the Mid-career Researcher Program through an National Research Foundation grant funded by theMinistry of Science, ICT and Future Planning. Publisher Copyright: {\textcopyright} 2014 Macmillan Publishers Limited. All rights reserved.",
doi = "10.1038/ncomms5769",
journal = "Nature Communications",
T1 - Phosphorescent dye-based supramolecules for high-efficiency organic light-emitting diodes
AU - Kim, Kwon Hyeon
AU - Lee, Sunghun
AU - Moon, Chang Ki
AU - Kim, Sei Yong
AU - Park, Young Seo
AU - Lee, Jeong Hwan
AU - Lee, Jin Woo
AU - Huh, June
AU - You, Youngmin
AU - Kim, Jang Joo
N1 - Funding Information: This work (2014R1A2A1A01002030) was supported by the Mid-career Researcher Program through an National Research Foundation grant funded by theMinistry of Science, ICT and Future Planning. Publisher Copyright: © 2014 Macmillan Publishers Limited. All rights reserved.
N2 - Organic light-emitting diodes (OLEDs) are among the most promising organic semiconductor devices. The recently reported external quantum efficiencies (EQEs) of 29-30% for green and blue phosphorescent OLEDs are considered to be near the limit for isotropically oriented iridium complexes. The preferred orientation of transition dipole moments has not been thoroughly considered for phosphorescent OLEDs because of the lack of an apparent driving force for a molecular arrangement in all but a few cases, even though horizontally oriented transition dipoles can result in efficiencies of over 30%. Here we use quantum chemical calculations to show that the preferred orientation of the transition dipole moments of heteroleptic iridium complexes (HICs) in OLEDs originates from the preferred direction of the HIC triplet transition dipole moments and the strong supramolecular arrangement within the co-host environment. We also demonstrate an unprecedentedly high EQE of 35.6% when using HICs with phosphorescent transition dipole moments oriented in the horizontal direction.
AB - Organic light-emitting diodes (OLEDs) are among the most promising organic semiconductor devices. The recently reported external quantum efficiencies (EQEs) of 29-30% for green and blue phosphorescent OLEDs are considered to be near the limit for isotropically oriented iridium complexes. The preferred orientation of transition dipole moments has not been thoroughly considered for phosphorescent OLEDs because of the lack of an apparent driving force for a molecular arrangement in all but a few cases, even though horizontally oriented transition dipoles can result in efficiencies of over 30%. Here we use quantum chemical calculations to show that the preferred orientation of the transition dipole moments of heteroleptic iridium complexes (HICs) in OLEDs originates from the preferred direction of the HIC triplet transition dipole moments and the strong supramolecular arrangement within the co-host environment. We also demonstrate an unprecedentedly high EQE of 35.6% when using HICs with phosphorescent transition dipole moments oriented in the horizontal direction.
U2 - 10.1038/ncomms5769
DO - 10.1038/ncomms5769
JO - Nature Communications
JF - Nature Communications


text:
Radio Patrol is a 1937 Universal movie serial based on the comic strip Radio Patrol.

Premise
Pat O' Hara, a police officer cop, joins forces with Molly Selkirk to try and stop an international criminal gang from getting their hands on the formula for a new flexible metal.

Cast
 Grant Withers as Officer Pat O'Hara
 Adrian Morris as Officer Sam Maloney
 Kay Hughes as Molly Selkirk
  Mickey Rentschler as Pinky Adams
 Silver Wolf as Irish, the German Shepherd
 Gordon Hart as W.H. Harrison
 Frank Lackteen as Mr. Tahata/Warner the Great
 C. Montague Shaw as Mr. Wellington
 Harry Davenport as John P. Adams, inventor
 Wheeler Oakman as Stevens, gang chemist
 Max Hoffman Jr. as Harry Selkirk
 Jack Mulhall as Desk Sergeant
 Earl Dwire as Jeremiah Crockett
 Leonard Lord as Franklin, the real Tahata
 Dick Botiller as Zutta, a henchman
 Tom London as Eddie Lewis (uncredited)
 Ray Teal as Perkins (uncredited)

Production
Radio Patrol was based on the comic strip by Eddie Sullivan and Charles Schmidt.

Stunts
 George Magrill
 Eddie Parker (doubling Grant Withers)
 Tom Steele

Chapter titles
 A Million Dollar Murder
 The Hypnotic Eye
 Flaming Death
 The Human Clue
 The Flash of Doom
 The House of Terror
 Claws of Steel
 The Perfect Crime
 Plaything of Disaster
 A Bargain with Death
 The Hidden Menace
 They Get Their Man
Source:

See also
 List of film serials
 List of film serials by studio

References

External links

1937 films
1937 crime films
American black-and-white films
1930s English-language films
Films based on comic strips
Films based on American comics
Films directed by Ford Beebe
Universal Pictures film serials
American crime films
1930s American films

redpajama_set_name: RedPajamaWikipedia


text:
package se.mah.elis.services.users.impl.test;

import static org.junit.Assert.*;

import java.util.Properties;
import java.util.UUID;

import org.joda.time.DateTime;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import se.mah.elis.data.OrderedProperties;
import se.mah.elis.impl.services.users.PlatformUserImpl;

public class PlatformUserImplTest {

	@Before
	public void setUp() throws Exception {
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void testPlatformUserImpl() {
		PlatformUserImpl pu = new PlatformUserImpl();

		assertNotNull(pu);
	}

	@Test
	public void testSetUserId() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		UUID uuid = UUID.randomUUID();

		try {
			pu.setUserId(uuid);
		} catch (Exception e) {
			fail("This shouldn't happen");
		}
	}

	@Test
	public void testSetUserIdNull() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		UUID uuid = UUID.randomUUID();

		try {
			pu.setUserId(uuid);
		} catch (Exception e) {
			fail("This shouldn't happen");
		}
	}

	@Test
	public void testGetUserId() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		UUID expected = UUID.randomUUID();
		UUID actual = null;

		pu.setUserId(expected);
		actual = pu.getUserId();

		assertEquals(expected, actual);
	}

	@Test
	public void testSetUserIdNotSet() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		UUID actual = null;

		actual = pu.getUserId();

		assertNull(actual);
	}

	@Test
	public void testSetPassword() {
		PlatformUserImpl p = new PlatformUserImpl();
		p.setPassword("batman");

		assertEquals("batman", p.getPassword());
	}

	@Test
	public void testSetPasswordWithWhitespaces() {
		PlatformUserImpl p = new PlatformUserImpl();
		p.setPassword("  batman ");

		assertEquals("batman", p.getPassword());
	}

	@Test
	public void testSetPasswordNull() {
		PlatformUserImpl p = new PlatformUserImpl();

		try {
			p.setPassword(null);
		} catch (IllegalArgumentException e) {
			fail("Shouldn't throw an IllegalArgumentException");
		}
	}

	@Test
	public void testSetEmptyPassword() {
		PlatformUserImpl p = new PlatformUserImpl();
		p.setPassword("batman");

		assertEquals("batman", p.getPassword());
		try {
			p.setPassword("");
			fail("Should've triggered an exception.");
		} catch (IllegalArgumentException e) {}

		assertEquals("batman", p.getPassword());
	}

	@Test
	public void testSetBlankPassword() {
		PlatformUserImpl p = new PlatformUserImpl();
		p.setPassword("batman");

		assertEquals("batman", p.getPassword());
		try {
			p.setPassword(" ");
			fail("Should've triggered an exception.");
		} catch (IllegalArgumentException e) {}

		assertEquals("batman", p.getPassword());
	}

	@Test
	public void testSetPasswordAgain() {
		PlatformUserImpl p = new PlatformUserImpl();
		p.setPassword("batman");

		assertEquals("batman", p.getPassword());
		p.setPassword("superman");

		assertEquals("superman", p.getPassword());
	}

	@Test
	public void testSetUsername() {
		PlatformUserImpl p = new PlatformUserImpl();
		p.setUsername("batman");

		assertEquals("batman", p.getUsername());
	}

	@Test
	public void testSetUsernameWithWhitespaces() {
		PlatformUserImpl p = new PlatformUserImpl();
		p.setUsername(" batman   ");

		assertEquals("batman", p.getUsername());
	}

	@Test
	public void testSetUsernameNull() {
		PlatformUserImpl p = new PlatformUserImpl();

		try {
			p.setUsername(null);
			fail("Should throw an IllegalArgumentException");
		} catch (IllegalArgumentException e) {}
	}

	@Test
	public void testSetEmptyUsername() {
		PlatformUserImpl p = new PlatformUserImpl();
		p.setUsername("batman");

		assertEquals("batman", p.getUsername());
		try {
			p.setUsername("");
			fail("Should've triggered an exception.");
		} catch (IllegalArgumentException e) {}

		assertEquals("batman", p.getUsername());
	}

	@Test
	public void testSetBlankUsername() {
		PlatformUserImpl p = new PlatformUserImpl();
		p.setUsername("batman");

		assertEquals("batman", p.getUsername());
		try {
			p.setUsername("");
			fail("Should've triggered an exception.");
		} catch (IllegalArgumentException e) {}

		assertEquals("batman", p.getUsername());
	}

	@Test
	public void testSetUsernameAgain() {
		PlatformUserImpl p = new PlatformUserImpl();
		p.setUsername("batman");

		assertEquals("batman", p.getUsername());
		p.setUsername("superman");

		assertEquals("superman", p.getUsername());
	}

	@Test
	public void testGetFirstName() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setFirstName("Bruce");

		assertEquals("Bruce", pu.getFirstName());

	}

	@Test
	public void testGetFirstNameNoName() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setFirstName("");

		assertEquals("", pu.getFirstName());
	}

	@Test
	public void testSetFirstName() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setFirstName("Bruce");

		assertEquals("Bruce", pu.getFirstName());
	}

	@Test
	public void testSetFirstNameEmptyName() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setFirstName("Bruce");
		pu.setFirstName("");

		assertEquals("", pu.getFirstName());
	}

	@Test
	public void testSetFirstNameNull() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setFirstName("Bruce");
		pu.setFirstName(null);

		assertEquals("", pu.getFirstName());
	}

	@Test
	public void testGetLastName() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setLastName("Wayne");

		assertEquals("Wayne", pu.getLastName());

	}

	@Test
	public void testGetLastNameNoName() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");

		assertEquals("", pu.getLastName());
	}

	@Test
	public void testSetLastName() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setLastName("Wayne");

		assertEquals("Wayne", pu.getLastName());
	}

	@Test
	public void testSetLastNameNoName() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setLastName("Wayne");
		pu.setLastName("");

		assertEquals("", pu.getLastName());
	}

	@Test
	public void testSetLastNameNull() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setLastName("Wayne");
		pu.setLastName(null);

		assertEquals("", pu.getLastName());
	}

	@Test
	public void testGetEmail() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setEmail("batman@gotham.net");

		assertEquals("batman@gotham.net", pu.getEmail());
	}

	@Test
	public void testGetEmailNoAddress() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");

		assertEquals("", pu.getEmail());
	}

	@Test
	public void testSetEmail() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setEmail("batman@gotham.net");

		assertEquals("batman@gotham.net", pu.getEmail());
	}

	@Test
	public void testSetEmailNoAddress() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setEmail("batman@gotham.net");
		pu.setEmail("");

		assertEquals("", pu.getEmail());
	}

	@Test
	public void testSetEmailBadAddress() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setEmail("batman@gotham.net");
		pu.setEmail("batman@gotham");

		assertEquals("", pu.getEmail());
	}

	@Test
	public void testSetEmailNull() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		pu.setEmail("batman@gotham.net");
		pu.setEmail(null);

		assertEquals("", pu.getEmail());
	}

	@Test
	public void testToString() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");

		assertEquals("PlatformUser batman (null)", pu.toString());
	}

	@Test
	public void testEqualsSameId() {
		UUID uuid = UUID.randomUUID();
		PlatformUserImpl pu1 = new PlatformUserImpl("batman", "superman");
		PlatformUserImpl pu2 = new PlatformUserImpl("fred", "barney");

		pu1.setUserId(uuid);
		pu2.setUserId(uuid);

		assertTrue(pu1.equals(pu2));
	}

	@Test
	public void testEqualsSameName() {
		UUID uuid = UUID.randomUUID();
		PlatformUserImpl pu1 = new PlatformUserImpl("batman", "superman");
		PlatformUserImpl pu2 = new PlatformUserImpl("batman", "superman");

		pu1.setUserId(uuid);
		pu2.setUserId(uuid);

		assertTrue(pu1.equals(pu2));
	}

	@Test
	public void testEqualsSameNameAndId() {
		PlatformUserImpl pu1 = new PlatformUserImpl("batman", "superman");
		PlatformUserImpl pu2 = new PlatformUserImpl("batman", "superman");

		assertFalse(pu1.equals(pu2));
	}

	@Test
	public void testEqualsDifferentStuff() {
		PlatformUserImpl pu1 = new PlatformUserImpl("batman", "superman");
		PlatformUserImpl pu2 = new PlatformUserImpl("fred", "barney");

		assertFalse(pu1.equals(pu2));
	}

	@Test
	public void testCompareToABeforeB() {
		PlatformUserImpl pu1 = new PlatformUserImpl("batman", "superman");
		PlatformUserImpl pu2 = new PlatformUserImpl("fred", "barney");

		assertTrue(pu2.compareTo(pu1) < 0);
	}

	@Test
	public void testCompareToAAfterB() {
		PlatformUserImpl pu1 = new PlatformUserImpl("batman", "superman");
		PlatformUserImpl pu2 = new PlatformUserImpl("fred", "barney");

		assertTrue(pu1.compareTo(pu2) > 0);
	}

	@Test
	public void testCompareToAEqualToB() {
		PlatformUserImpl pu1 = new PlatformUserImpl("batman", "superman");
		PlatformUserImpl pu2 = pu1;

		pu2.setUsername("fred");
		pu2.setPassword("barney");

		assertEquals(0, pu1.compareTo(pu2));
	}

	@Test
	public void testGetServiceName() {
		PlatformUserImpl pu = new PlatformUserImpl();
		String expected = "se.mah.elis.services.users.PlatformUser";
		String actual = pu.getServiceName();

		assertEquals(expected, actual);
	}

	@Test
	public void testCreated() {
		PlatformUserImpl pu = new PlatformUserImpl();
		DateTime now = DateTime.now();

		assertNotNull(pu.created());
		assertFalse(now.isBefore(pu.created().getMillis()));
	}

	@Test
	public void testGetPropertiesTemplate() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		Properties expected = new OrderedProperties();
		Properties actual = pu.getPropertiesTemplate();

		expected.put("username", "256");
		expected.put("password", "256");
		expected.put("first_name", "32");
		expected.put("last_name", "32");
		expected.put("email", "256");

		assertNotNull(actual.get("uuid"));
		assertTrue(actual.get("uuid") instanceof UUID);
		actual.remove("uuid");

		assertNotNull(actual.get("created"));
		assertTrue(actual.get("created") instanceof DateTime);
		actual.remove("created");

		assertEquals(expected, actual);
	}

	@Test
	public void testGetProperties() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		Properties expected = new Properties();
		Properties actual = null;
		UUID uuid = UUID.randomUUID();

		pu.setUserId(uuid);

		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "Bruce");
		expected.put("last_name", "Wayne");
		expected.put("email", "batman@gotham.gov");

		pu.setFirstName("Bruce");
		pu.setLastName("Wayne");
		pu.setEmail("batman@gotham.gov");

		actual = pu.getProperties();

		assertNotNull(pu.getUserId());
		actual.remove("uuid");

		assertNotNull(pu.created());
		assertFalse(DateTime.now().isBefore(((DateTime) actual.get("created")).getMillis()));
		actual.remove("created");

		assertEquals(expected, actual);
	}

	@Test
	public void testGetPropertiesEmptyFirstName() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		Properties expected = new Properties();
		Properties actual = null;
		UUID uuid = UUID.randomUUID();

		pu.setUserId(uuid);

		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "");
		expected.put("last_name", "Wayne");
		expected.put("email", "batman@gotham.gov");

		pu.setLastName("Wayne");
		pu.setEmail("batman@gotham.gov");

		actual = pu.getProperties();

		assertNotNull(pu.getUserId());
		actual.remove("uuid");

		assertNotNull(pu.created());
		assertFalse(DateTime.now().isBefore((DateTime) actual.get("created")));
		actual.remove("created");

		assertEquals(expected, actual);
	}

	@Test
	public void testGetPropertiesEmptyLastName() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		Properties expected = new Properties();
		Properties actual = null;
		UUID uuid = UUID.randomUUID();

		pu.setUserId(uuid);

		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "Bruce");
		expected.put("last_name", "");
		expected.put("email", "batman@gotham.gov");

		pu.setFirstName("Bruce");
		pu.setEmail("batman@gotham.gov");

		actual = pu.getProperties();

		assertNotNull(pu.getUserId());
		actual.remove("uuid");

		assertNotNull(pu.created());
		assertFalse(DateTime.now().isBefore((DateTime) actual.get("created")));
		actual.remove("created");

		assertEquals(expected, actual);
	}

	@Test
	public void testGetPropertiesEmptyEmail() {
		PlatformUserImpl pu = new PlatformUserImpl("batman", "superman");
		Properties expected = new Properties();
		Properties actual = null;
		UUID uuid = UUID.randomUUID();

		pu.setUserId(uuid);

		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "Bruce");
		expected.put("last_name", "Wayne");
		expected.put("email", "");

		pu.setFirstName("Bruce");
		pu.setLastName("Wayne");

		actual = pu.getProperties();

		assertNotNull(pu.getUserId());
		actual.remove("uuid");

		assertNotNull(pu.created());
		assertFalse(DateTime.now().isBefore((DateTime) actual.get("created")));
		actual.remove("created");

		assertEquals(expected, actual);
	}

	@Test
	public void testPopulate() {
		PlatformUserImpl pu = new PlatformUserImpl();
		Properties props = new Properties();
		Properties expected = new Properties();
		Properties actual = null;
		DateTime now = DateTime.now();
		UUID uuid = UUID.randomUUID();

		props.put("uuid", uuid);
		props.put("username", "batman");
		props.put("password", "superman");
		props.put("first_name", "Bruce");
		props.put("last_name", "Wayne");
		props.put("email", "batman@gotham.gov");
		props.put("created", now);

		pu.populate(props);

		expected.put("uuid", uuid);
		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "Bruce");
		expected.put("last_name", "Wayne");
		expected.put("email", "batman@gotham.gov");
		expected.put("created", now);

		actual = pu.getProperties();

		assertEquals(expected, actual);
	}

	@Test
	public void testPopulateFlatIdentifier() {
		PlatformUserImpl pu = new PlatformUserImpl();
		Properties props = new Properties();
		Properties expected = new Properties();
		Properties actual = null;
		DateTime now = DateTime.now();
		UUID uuid = UUID.randomUUID();

		props.put("uuid", uuid);
		props.put("username", "batman");
		props.put("password", "superman");
		props.put("first_name", "Bruce");
		props.put("last_name", "Wayne");
		props.put("email", "batman@gotham.gov");
		props.put("created", now);

		pu.populate(props);

		expected.put("uuid", uuid);
		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "Bruce");
		expected.put("last_name", "Wayne");
		expected.put("email", "batman@gotham.gov");
		expected.put("created", now);

		actual = pu.getProperties();

		assertEquals(expected, actual);
	}

	@Test
	public void testPopulateNoId() {
		PlatformUserImpl pu = new PlatformUserImpl();
		Properties props = new Properties();
		Properties expected = new Properties();
		Properties actual = null;
		DateTime now = DateTime.now();

		props.put("username", "batman");
		props.put("password", "superman");
		props.put("first_name", "Bruce");
		props.put("last_name", "Wayne");
		props.put("email", "batman@gotham.gov");
		props.put("created", now);

		try {
			pu.populate(props);
		} catch (IllegalArgumentException e) {
			fail("This shouldn't happen.");
		}

		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "Bruce");
		expected.put("last_name", "Wayne");
		expected.put("email", "batman@gotham.gov");
		expected.put("created", now);

		actual = pu.getProperties();

		assertEquals(expected, actual);
	}

	@Test
	public void testPopulateMissingIdentifier() {
		PlatformUserImpl pu = new PlatformUserImpl();
		Properties props = new Properties();
		DateTime now = DateTime.now();

		props.put("first_name", "Bruce");
		props.put("last_name", "Wayne");
		props.put("email", "batman@gotham.gov");
		props.put("created", now);

		try {
			pu.populate(props);
			fail("Shouldn't get this far.");
		} catch (IllegalArgumentException e) {
			// This should happen.
		}
	}

	@Test
	public void testPopulateMissingFirstName() {
		PlatformUserImpl pu = new PlatformUserImpl();
		Properties props = new Properties();
		Properties expected = new Properties();
		Properties actual = null;
		DateTime now = DateTime.now();
		UUID uuid = UUID.randomUUID();

		props.put("uuid", uuid);
		props.put("username", "batman");
		props.put("password", "superman");
		props.put("last_name", "Wayne");
		props.put("email", "batman@gotham.gov");
		props.put("created", now);

		pu.populate(props);

		expected.put("uuid", uuid);
		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "");
		expected.put("last_name", "Wayne");
		expected.put("email", "batman@gotham.gov");
		expected.put("created", now);

		actual = pu.getProperties();

		assertEquals(expected, actual);
	}

	@Test
	public void testPopulateMissingLastName() {
		PlatformUserImpl pu = new PlatformUserImpl();
		Properties props = new Properties();
		Properties expected = new Properties();
		Properties actual = null;
		DateTime now = DateTime.now();
		UUID uuid = UUID.randomUUID();

		props.put("uuid", uuid);
		props.put("username", "batman");
		props.put("password", "superman");
		props.put("first_name", "Bruce");
		props.put("email", "batman@gotham.gov");
		props.put("created", now);

		pu.populate(props);

		expected.put("uuid", uuid);
		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "Bruce");
		expected.put("last_name", "");
		expected.put("email", "batman@gotham.gov");
		expected.put("created", now);

		actual = pu.getProperties();

		assertEquals(expected, actual);
	}

	@Test
	public void testPopulateMissingEmail() {
		PlatformUserImpl pu = new PlatformUserImpl();
		Properties props = new Properties();
		Properties expected = new Properties();
		Properties actual = null;
		DateTime now = DateTime.now();
		UUID uuid = UUID.randomUUID();

		props.put("uuid", uuid);
		props.put("username", "batman");
		props.put("password", "superman");
		props.put("first_name", "Bruce");
		props.put("last_name", "Wayne");
		props.put("created", now);

		pu.populate(props);

		expected.put("uuid", uuid);
		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "Bruce");
		expected.put("last_name", "Wayne");
		expected.put("email", "");
		expected.put("created", now);

		actual = pu.getProperties();

		assertEquals(expected, actual);
	}

	@Test
	public void testPopulateMissingCreated() {
		PlatformUserImpl pu = new PlatformUserImpl();
		Properties props = new Properties();
		DateTime now = DateTime.now();
		UUID uuid = UUID.randomUUID();

		props.put("uuid", uuid);
		props.put("username", "batman");
		props.put("password", "superman");
		props.put("first_name", "Bruce");
		props.put("last_name", "Wayne");
		props.put("email", "batman@gotham.gov");

		try {
			pu.populate(props);
			fail("Shouldn't get this far.");
		} catch (IllegalArgumentException e) {
			// This should happen.
		}
	}

	@Test
	public void testPopulateExcessiveProperties() {
		PlatformUserImpl pu = new PlatformUserImpl();
		Properties props = new Properties();
		Properties expected = new Properties();
		Properties actual = null;
		DateTime now = DateTime.now();
		UUID uuid = UUID.randomUUID();

		props.put("uuid", uuid);
		props.put("username", "batman");
		props.put("password", "superman");
		props.put("first_name", "Bruce");
		props.put("last_name", "Wayne");
		props.put("email", "batman@gotham.gov");
		props.put("horses", "Sleipnir, Shadowfax, Brunte");
		props.put("created", now);

		pu.populate(props);

		expected.put("uuid", uuid);
		expected.put("username", "batman");
		expected.put("password", "superman");
		expected.put("first_name", "Bruce");
		expected.put("last_name", "Wayne");
		expected.put("email", "batman@gotham.gov");

		actual = pu.getProperties();

		assertNotNull(pu.created());
		assertFalse(DateTime.now().isBefore(((DateTime) actual.get("created")).getMillis()));
		actual.remove("created");

		assertEquals(expected, actual);
	}
}

redpajama_set_name: RedPajamaGithub