text:
Streaming Action/AdventureStreaming Reviews
'Red Notice' Might Be the Worst Movie of the Year
Heed my words: this film is really that bad.
by Chris van Dijk November 17, 2021
written by Chris van Dijk November 17, 2021
Red Notice is an action-comedy starring Dwayne Johnson, Ryan Reynolds, and Gal Gadot — three people whose movies I generally avoid.
Dwayne 'The Rock' Johnson might have definite star power but he has a track record of starring in terrible films, usually mindless Disney fluff or inoffensive PG-13 action vehicles (gone are the days when he would take an actual risk, like starring in Richard Kelly's goofy dystopian science fiction film, Southland Tales).
I've enjoyed the occasional Ryan Reynolds film, but honestly, I think I've had enough of his comedy schtick. Maybe in a decade or so, I'll watch Deadpool 25, or something.
Gal Gadot, bless her heart, has never impressed me as a performer. Sure, she looks convincing in an action sequence, but her acting range, at least from what I've seen, seems limited to 'looking cool'. Admittedly, I've only seen her in a few films. I've seen her in some forgettable comedy with Jon Hamm (at least I think it was Jon Hamm). I think she was in one of the Fast and Furious films — no idea which one, and I honestly don't care. I do remember seeing her in Batman v Superman, and I remember she was throwing a lasso around. I've also seen her in the baffling theatrical cut of Justice League. (Sorry guys, I'm not going to watch the four-hour Zack Snyder cut, I simply cannot do that to myself.) Reportedly, she's much better in Wonder Woman, the first film at least.
Then why did I watch Red Notice? Well, occasionally I go against my better judgment. I figured it was Saturday night, the perfect time for some throwaway entertainment. Perhaps it wouldn't be so bad. There was a murmur of this being Netflix's most 'expensive' movie — a report that surely wasn't some marketing ploy from Netflix itself. But the point still stands: if they threw away this much money on a film, it can't be that bad, can it?
Oh yes, it can. It's so bad in fact that I'm actively writing this review just to dissuade people from watching it. I wasn't supposed to write a review, but after seeing it, I just can't bear the thought of it receiving anymore streaming attention. You could say that this review is my way of doing a public service.
Whatever you do, don't watch Red Notice. It's not worth it. It's nearly two hours of your life you can never get back — I just realized I could have finally watched David Fincher's Mank instead! What in God's name am I doing with my life?
The MacGuffins of the plot are three golden eggs, which used to belong to the legendary queen Cleopatra. The three eggs are scattered all over the globe. One of the eggs is the subject of a museum unveiling in Rome. FBI Profiler, John Hartley (Johnson), knowing the egg will be the target of master thieves, arrives there to keep an eye on it.
In front of a crowd of onlookers, Hartley proves that the golden egg has already been switched, thanks to the mechanizations of wise-cracking master criminal Nolan Booth (who is naturally played by Reynolds). For some inexplicable reason, Nolan runs away from the crowd of people, making him immediately a suspect.
Eventually, Nolan is caught in his remote hideout in Bali. Since he's been wanted in numerous countries all over Europe, he's taken to a secluded prison somewhere in the mountains of Russia. Soon enough, the egg is stolen once again by another master thief, called The Bishop (Gadot).
Not only that, Hartley is framed as a secret accomplice and put inside the same prison as Booth — very convenient. To escape and clear his name, Hartley has no choice but to work together with Nolan. And they must do that before the Bishop can get her hands on the remaining eggs. Lame comedy and action ensue.
For how much Dwayne Johnson is touted for his charisma, none of it shows in Red Notice. Understandably, he plays the straight man to the comic relief, yet he doesn't so much play the straight man, more so a man who's perpetually annoyed of being in this movie. Johnson seems strangely disengaged throughout the movie. It's been a while since I've seen a talented performer look so frustrated in having to be in a movie.
The worst part of all, and the one thing that could have possibly salvaged this movie: there's zero chemistry between Johnson and Reynolds. Reynolds does his thing, providing 'quick-witted' snarky comments, but there's never any memorable moment of banter. Johnson gives Reynolds nothing to work with. Just because they are two megastars, doesn't mean they automatically gel on screen.
One could blame it on bad directing, yet Johnson has worked with Rawson Marshall Thurber numerous times. And though I haven't seen any of these films, and certainly will never see them, Johnson is reportedly one of the best things about those movies.
Perhaps there was some behind-the-scenes tension between Johnson and Reynolds. Perhaps he couldn't keep up with Reynold's improvisational talents, and felt a little threatened. Or perhaps The Rock was just exhausted from all the mediocre, forgettable movies he's been starring in.
Reynolds plays the role exactly as how you can imagine it. Except nothing of what he says remotely is funny. Here are a few of his 'hilarious' lines: (in reference to the sultry leather jacket Dwayne Johnson is wearing) "somewhere there's a very nude cow out there, whispering, 'worth it'"; (when a heavily armed SWAT team invades his hideout) "hi guys, don't take your shoes off or anything); (responding after being told he will be sent to the worst prison in the world) "your Instagram account?"
Yeah, absolutely hilarious. Reynolds is just on autopilot here. Since the film is PG-13, Reynolds is also relegated to keep his snark to a more politically correct level.
The script attempts to infuse some emotional background to the two main characters, as they confess to each other that they both have had a troubled relationship with their father. The notion of two crooks sharing a troubled childhood and bonding because of it is an obvious yet usually effective tool for a mismatched buddy comedy. But here, these scenes feel shoehorned in. Almost as if the screenwriter realized that both these characters have nothing going with them. Did I mention that these scenes are cheesy and forced? I probably don't need to.
Gal Gadot is miscast as the seductive master criminal, The Bishop. She's fine in the action sequences but when it comes to providing some comedy, she fails miserably. Take the scene in which she opens up emotionally, like a patient to a therapist, to a tied-up hostage. It's obvious that the scene is supposed to be funny, but it's not. It is, however, clear evidence of Gadot's lack of comedic timing. I couldn't help but imagine how a more comedic performer, like Kristen Wiig for instance, could have handled that scene.
2016's Ghostbusters proved that great comedians can't save a bad script. You need a good script as well as talented comedians. Maybe it isn't Gadot's fault. If you're hoping for a fight scene between her and The Rock, well, you get one, but it's so poorly edited that you can hardly enjoy it. The film also tries to pretend there's some sexual chemistry between the two, but there's not. I've seen more sexual chemistry between Dwayne Johnson and Jason Statham in the trailer for Hobbs and Shaw.
The action scenes range from forgettable to unforgivably sloppy. One chase scene seems like a badly copied version of the jungle chase scene in Indiana Jones and The Crystal Skull — which is a very bad film to try to emulate.
The fight scenes are a mishmash of quick cuts. It's hard to see what's going on. Other times you can clearly see that most of the action scenes were done by a second-unit team, using obvious stunt doubles. If you've seen any John Wick movie, you realize quickly how little this film has to offer on the action department.
I can moan about the plot holes in this film, how little makes sense but that's the least of its problems. The supposed twist later in the film is supposed to 'blow your mind', but all it does is make me wonder about the director/screenwriter Rawson Marshall Thurber's intentions: did he actually think he was smart? Does he think that having a twist in the film automatically makes it smart? Or did he know he was making a hack script all along and was he just amusing himself by throwing in the occasional ridiculous twist?
While the film takes place in several exotic locations throughout, most of it is portrayed via shoddy green screen magic or obvious sets. It's honestly shocking how bad a lot of it looks. The film supposedly cost a whopping $200 million. Besides the obvious — the gratuitous paychecks to the three main stars — nothing on screen justifies the cost. Supposedly this film cost more than this year's Dune and just look at the difference between the two.
Maybe they wanted to start a new franchise. It feels as cynical as 2017's The Mummy — Universal's attempt at making a Marvel-like franchise named the Dark Universe, starring their Universal monster line-up. Similar to that, you have a bland, piece of corporate junk masquerading as a movie. Inoffensive, uninspired, and easily marketable overseas.
Red Notice is an expensive piece of lifeless filmmaking. It represents the worst of the modern blockbuster; it's riskless, bloated, filled with cheap humor, lacking personality, and banking everything on star power and digital wizardry.
I seriously thought 2017's Baywatch would be the worst movie I would ever see starring Dwayne Johnson (granted, I've avoided most of them). And don't get me wrong, Baywatch is a miserable experience from beginning to end. But upon retrospect, I think I'd rather watch Baywatch than Red Notice. I thought I would never live in a world where I would write these words, but here I am.
Follow MovieBabble on Twitter @MovieBabble_.
Thank you for reading! What are your thoughts on Red Notice? Comment down below!
Art HeistBad MoviesChris DiamantopoulosComedyDwayne JohnsonGal GadotHeist MoviesNetflixRawson Marshall ThurberRitu AryaRyan ReynoldsTwists
Chris van Dijk
A thirty-something writer currently living in Poland. One day he dreams about writing, directing, and starring in his own movie. In order to stop it from becoming a snoozefest, he's planning to fill the screen with excessive nudity and gore. And chainsaw duels. Why not? Chris loves high-art cinema and pure unadulterated schlock. He can talk just as much about the brilliance of Ingmar Bergman's Wild Strawberries as he can about Miami Connection. When he's not writing for MovieBabble, he's working on his own stories. These stories star a host of dysfunctional characters that in no way resemble his own fractured psyche. He hopes everyone will be good to each other. He rightly believes dogs are superior to humans, and that all dogs will go to heaven.
'Christmas Bloody Christmas': Won't Somebody Please Think of the...
'Sr.': Father and Son Share the Spotlight
The Mysteries Continue in 'Glass Onion: A Knives Out...
'Stutz': Peeling Back the Layers
London Film Festival 2022 Review: 'Bardo, False Chronicle of...
'Guillermo del Toro's Cabinet of Curiosities: The Murmuring' –...
'Guillermo del Toro's Cabinet of Curiosities: The Viewing' –...
'Guillermo del Toro's Cabinet of Curiosities: Dreams in a...
'Guillermo del Toro's Cabinet of Curiosities: Pickman's Model' –...
Aimer Boyz November 17, 2021 - 11:04 pm
LOL! So, you're saying you didn't like the movie? :)
Great review. BTW, I did see Mank :)
thosestubbornwaves November 18, 2021 - 6:41 am
Damn, I wasn't clear enough in the review ;) And I should watch Mank too. It's one of those movies I tell myself I will watch but then never do.
But thanks for the kind comment, much appreciated :)
Nick Kush November 17, 2021 - 6:17 pm
elmarinero77 November 27, 2021 - 4:02 pm
This is becoming a Ryan Reynolds festive tradition
https://moviebabble.com/2019/12/15/6-underground-makes-a-late-bid-for-worst-film-of-the-decade/
Brennan Dubé's Top 10 Best Movies of 2022
The Mysteries Continue in 'Glass Onion: A Knives Out Mystery'
Illumination Entertainment Sucks: Change My Mind
'Stop! or My Mom Will Shoot!': Is This...
Quarantine Staff Picks: Part 12


text:
Home PERSONALIZE events TCT Magazine + Personalize Partners With CEA on CES Unveiled LONDON and 2014 International CES
TCT Magazine + Personalize Partners With CEA on CES Unveiled LONDON and 2014 International CES
CES + TCT Magazine
TCT Magazine + Personalize — the de facto source of information and intelligence for 3D printing, additive manufacturing and product development technologies — is proud to announce a partnership with the Consumer Electronics Association (CEA)®.
Kicking off TCT Magazine + Personalize's involvement with International CES® and to set the tone for 2014 International CES in Las Vegas in the January, TCT Magazine + Personalize will be at CES Unveiled LONDON on October 1st. This invitation-only event will showcase the dynamism of the technology industry and serve as a precursor to the 2014 International CES, the world's gathering place for all who thrive on the business of consumer technologies. CES Unveiled LONDON will present global research, announce CES news and showcase cutting-edge products and technologies.
Building on this at International CES 2014, TCT Magazine + Personalize will be running a conference track, entitled "Don't Believe the Hype? - 3D Printing Uncovered" that will feature a stellar line up of 3D printing industry heavyweights drawing on TCT Magazine + Personalize's extensive industry contacts and its reputation.
3D printing is an overnight sensation that has been around for 30 years. Consisting of tens of technologies processing hundreds of materials, there's more to it than meets the eye. By gathering together thought leaders from across the ecosystem including 3D printer manufacturers, champions of 3D printing-enabled business models and industrial super users the CES conference track will highlight the power of 3D printing today and in the future.
TCT Magazine + Personalize will also be the official sponsor of the new 3D Printing TechZone at the 2014 International CES, and will exhibit in this new exhibit area dedicated to showcasing the latest 3D printing technology to the 150,000 visitors that International CES attracts.
Duncan Wood, COO of Rapid News Communications Group, which owns the TCT Magazine + Personalize brands, commented: "We are thrilled to announce this partnership, we are delighted to bring our expertise to bear at International CES and look forward to continuing to spread the 3D printing gospel at such a prestigious event as International CES. We are working to bring together a truly world class line up for visitors at the Las Vegas event, one that will open the eyes of all attendees to the possibilities afforded by this incredible technology."
"The International CES has always been the global venue to highlight the most exciting and innovative developments in consumer technology. Continuing this grand tradition, we are excited that 2014 is the year that 3D printing will take a spotlight position at our event, via the TechZone and partnerships like our new alliance with Rapid News," said Karen Chupka, senior vice president of the International CES and corporate business strategy, CEA. "Rapid News' expertise is a great addition to the 3D printing lineup at the 2014 CES. We look forward to working with them, in London and Las Vegas, to highlight the benefits of this remarkable technology to the world."
For further information about exhibiting or attending CES Unveiled LONDON please contact : Madalene Whitson, madalene@prpr.co.uk, +44 (0) 1442 245030
To exhibit at the 3D Printing TechZone International CES please contact: Aurelie Cornett, ACornett@ce.org, +1 703-907-5245
Note to Editors: The official name of the global technology event is "International CES." Subsequent references to the show can be shortened to "CES." Please do not use "Consumer Electronics Show" to refer to the International CES.
About TCT Magazine + Personalize:
Inspire. Design. Make. With more than 21 years in the game TCT Magazine + Personalize is the de facto source of information and intelligence for 3D printing, additive manufacturing and product development technologies across the consumer, enterprise and industrial sectors. Through print, digital and live events TCT + Personalize delivers insight on how these cutting-edge technologies are being utilised from hackerspace through to aerospace. Follow TCT Magazine + Personalize online at www.tctmagazine.com and www.prsnlz.me and through social media.
About CEA:
The Consumer Electronics Association (CEA)® is the preeminent trade association promoting growth in the $209 billion U.S. consumer electronics industry. More than 2,000 companies enjoy the benefits of CEA membership, including legislative advocacy, market research, technical training and education, industry promotion, standards development and the fostering of business and strategic relationships. CEA also owns and produces the International CES – The Global Stage for Innovation. All profits from CES are reinvested into CEA's industry services. Follow CES online at www.CESweb.org and through social media.
About CES:
The International CES is the world's gathering place for all who thrive on the business of consumer technologies. It has served as the proving ground for innovators and breakthrough technologies for more than 40 years—the global stage where next-generation innovations are introduced to the marketplace. As the largest hands-on event of its kind, CES features all aspects of the industry. And because it is owned and produced by the Consumer Electronics Association (CEA), the technology trade association representing the $203 billion U.S. consumer electronics industry, it attracts the world's business leaders and pioneering thinkers to a forum where the industry's most relevant issues are addressed. Follow CES online at www.CESweb.org and through social media
IMPORTANT NOTICE: The contents and any files transmitted with this email are confidential to the intended recipient at the email address to which it has been addressed. They may not be disclosed to or used by anyone other than this addressee, nor may it be copied in any way. If received in error, please contact Rapid News Communications Group on +44 (0) 1244 680222 quoting the name of the sender and the addressee, then delete it from your system. Unless stated to the contrary, any opinions or comments are personal to the writer and do not represent the official view of the Rapid News Communications Group or any Group product or company. Whilst precautions are taken it is the responsibility of the recipient to virus scan this email and any attachments. Rapid News Communications Group does not accept liability for any virus transmitted in or with this message.
Rapid News Communications Group is comprised of Rapid News Publications Ltd, Euro Publishing Consultancy Ltd, Rapid Plastics Media Ltd, Sales Initiative Ltd, Rapid Web Publishing Ltd and Rapid Life Sciences Ltd.
Events 3D Printing News CEA Las Vegas event 3D Printing TCT Magazine 3D Printing at CES

redpajama_set_name: RedPajamaCommonCrawl


text:
'America's Got Talent' Results: All the Contestants Who Made It Through the Third Quarter-Final
By Molli Mitchell On 8/26/21 at 4:18 AM EDT
Culture TV NBC Simon Cowell
America's Got Talent (AGT) 2021 has wrapped up its quarter-final stages, with the first semi-final set to take place on September 1. Last night (August 25), the final seven acts joining the 14 already through to the semi-finals were announced.
Overnight, the public had been voting for their favorite acts, choosing for an array of talent including singers, dance troupes, magicians and unique acrobatics.The third quarter-final also included singer Storm Large, the winner of the Wild Card public vote who took place earlier this month—but was her performance enough to secure a spot in the semis next week? Newsweek has the full list of all the contestants who made it through the third quarter-final.
All of the Acts Through to the 'AGT' Semis from Quarter-final 2
How to Vote on This Year's 'America's Got Talent'
'America's Got Talent' 2021 Quarterfinal 1 Results
All The Contestants Who Made it Through the Third 'AGT' Quarter-Final
The show began with host Terry Crews announcing the three acts who were up for the Instant Save Vote.
Voice artist Michael Winslow, singer Storm Large, and unicycling act Unicircle Flow had another shot at being sent through the semis and the decision lay in the hands of the public.
After 30 minutes passed, Winslow secured his spot in the semis after winning 40% of the Instant Save Vote.
Winslow joined the five other acts who received the most vote from the public overnight but Unicircle Flow's and Storm Large's journey is not over just yet.
The five other acts safely through to the semis are:
Rialcris
Columbian trio Rialcris wowed the judges and audiences with their incredible hand-balancing act.
Heidi Klum's Golden Buzzer act Lea Kyle impressed the judges and audiences at home with her mind-blowing quick-change routine.
Chapkidz
Dance group ChapKidz delivered an incredible performance during the quarter-finals and they even managed to spell out AGT initials with their bodies as part of the routine.
The group, consisting of 12-to-18-year-olds, even received a standing ovation from the judges.
Singer Brooke Simpson was overwhelmed to be sent through to the semi-finals after her performance of "Lost Cause" by Billie Eilish.
Even better, judge Simon Cowell said Simpson was "absolutely amazing" and could be a "real surprise going forward."
World Taekwondo Demo. Team
Terry Crew's Golden Buzzer act World Taekwondo Demo Team did not disappoint with their gripping routine.
After the public vote results were announced, it was down to the judges to decide between Instant Save acts Unciricle Flow and Storm Large.
For the first time this season, the judges did not come to a deadlock decision and the results of the bottom two did not have to go down to the public vote.
Sofia Vergara voted to save Unicircle Flow alongside Simon Cowell and Howie Mandel, with Heidi Klum being the only judge to cast the vote for Storm Large.
The five acts that sadly did not make it through to the semis from the last America's Got Talent quarter-final were Klek Entos, Keith Apicary, The Curtis Family C-Notes, ANIKA and Storm Large.
The first America's Got Talent Semi-Final takes place September 1 at 8 p.m. ET on NBC.
The AGT judges during the third America's Got Talent Quarter-final Trae Patton/NBC)


I was at a prophetic gathering recently, where a man was painting a picture during the worship. The painting was of a feather in the Lord's hand. I was sitting nearby and watched the painting form, watched the artist labor over it.
Toward the end of the conference, the keynote speaker took public note of the painting, commented on the feather, and offered prophetic perspective.
Then he went on to tell the story that stuck with me; I don't know whether he spoke of a real practice, or of a vision he had had. He told of an Eskimo who needed to feed his family in the winter, so he travelled out on the ice, where he found an air hole for a seal, the seal that he wanted to bring home to feed his hungry family.
He waited for the seal by the air hole, but he knew that the seal would see him waiting there, harpoon in hand, so he brought out a feather, and put it on the surface of the water in the air hole. The feather may distract the seal, or it may obscure his vision, but those are not the real purpose of the feather on the water.
When the seal came near its air hole, the feather would vibrate from the changing pressure in the water, from the bubbles under the ice of the seal's exhalation as he prepares to inhale in his private air hole.
The feather is also a lesson for us in trust. The Eskimo never saw the seal he was hunting until (and unless) the successful conclusion of the hunt.
I believe that we are in a day when we need to learn how to obey when God says, "It's time to strike" even when we don't see what we're striking. It's time for us to move forward with what God is doing in us, what he's calling us to, even if we don't know what that is or where it will take us.


text:
XVIII. sjezd KSČS byl sjezd Komunistické strany Československa konaný v ČSFR ve dnech 3.–4. listopadu 1990.

Šlo o poslední sjezd celostátní komunistické strany před jejím zánikem. Navazoval na mimořádný sjezd KSČ z prosince 1989 a reagoval na zásadní politické změny spuštěné sametovou revolucí. Již během roku 1990 strana změnila svou oficiální zkratku na KSČS na základě tlaku slovenských komunistů. Zároveň prošla symetrickou federalizací. Kromě již existující Komunistické strany Slovenska se v březnu 1990 ustavila Komunistická strana Čech a Moravy. Sjezd prohlásil KSČS za federaci dvou samostatných politických subjektů, vůči nimž neměla KSČS pravomoci nadřízeného orgánu. Její úlohou mělo být pouze společné zastupování obou republikových komunistických stran vůči federálním úřadům apod. Rozvolňování vazeb mezi českými a slovenskými komunisty pokračovalo i po sjezdu a v září 1991 se poslanecký klub KSČS ve Federálním shromáždění rozdělil na dvě části. Slovenská KSS se transformovala na Stranu demokratické levice. V prosinci 1991 pak zcela opustila KSČS. KSČS zanikla právním výmazem z registru politických subjektů k 23. dubnu 1992.

Odkazy

Reference

Sjezdy Komunistické strany Československa
Události roku 1990
Politika v roce 1990
Československo v roce 1990

redpajama_set_name: RedPajamaWikipedia


Chalet Juliette is an absolute delight: a gem of a historic chalet, with two double bedrooms, which has just been refurbished. This romantic small free standing chalet is very centrally located in Zermatt's oldest and most picturesque street – in winter sheep are kept in the mazots (wooden stalls) next to the nearby fountain and Fabi Lauber's new après-ski mazot is opposite. You are 10 seconds away from the bus stop and 4 minutes on foot from the Sunnegga Express base lift station.


A powerful second-half performance ensured Warwickshire pulled away from Longford to enjoy a famous victory in the Lory Meagher Cup final.
Warwickshire, who led by four points at the break, were the slicker, sharper unit and Seán Hennessey's excellent place-striking gradually edged them clear in the second half.
Scorers for Warwickshire: S Hennessy 0-6 (3fs, 2 65s), E Lyons 1-3, E Gleeson 1-0, P Duggan, M Bermingham 0-2 each, C Maskey, C Robbins, A Morrissey 0-1 each.
Scorers for Longford: E Donnellan 0-7 (6fs), J O'Brien 0-2, E Daly 0-1f.
WARWICKSHIRE: T Goulding; B Bermingham, L Knocker, C Brough; D Kennedy, E Gleeson, C Maskey; M Bermingham, A Morrissey; C Robbins, P Duggan, C Behan; S Hennessy, A O'Neill, E Lyons.
Subs: R McEntee for O'Neill (49), S Wallace for Kennedy (55-61), E McCabe for Robbins (59), Wallace for M Bermingham (61) D Sheedy for Behan (68), D Kelly for Morrissey (69).
LONGFORD: E Daly; P McGarry, T Stakem, B Stakem; C Egan, T Roche, D Corcoran; R Donnellan, C Finucane; E Donnellan, K Connelly, D Tanner; K Murray, J O'Brien, J Newman.
Subs: M Coyle for R Donnellan (21), M Farrell for Newman (47), R Breslin for Murray (70+2), K Cox for Corcoran (70+2).


text:
<?php

declare(strict_types=1);

namespace Tests\Core\Security\Vault\Application\UseCase\UpdateVaultConfiguration;

use Assert\InvalidArgumentException;
use Centreon\Domain\Common\Assertion\AssertionException;
use Centreon\Domain\Contact\Interfaces\ContactInterface;
use Core\Application\Common\UseCase\{
    ErrorResponse,
    ForbiddenResponse,
    InvalidArgumentResponse,
    NoContentResponse,
    NotFoundResponse
};
use Core\Infrastructure\Common\Presenter\PresenterFormatterInterface;
use Core\Security\Vault\Application\Exceptions\VaultConfigurationException;
use Core\Security\Vault\Application\Repository\{
    ReadVaultConfigurationRepositoryInterface,
    ReadVaultRepositoryInterface,
    WriteVaultConfigurationRepositoryInterface
};
use Core\Security\Vault\Application\UseCase\UpdateVaultConfiguration\{
    UpdateVaultConfiguration,
    UpdateVaultConfigurationRequest,
    VaultConfigurationFactory
};
use Core\Security\Vault\Domain\Model\{Vault, VaultConfiguration};

beforeEach(function (): void {
    $this->readVaultConfigurationRepository = $this->createMock(ReadVaultConfigurationRepositoryInterface::class);
    $this->writeVaultConfigurationRepository = $this->createMock(WriteVaultConfigurationRepositoryInterface::class);
    $this->readVaultRepository = $this->createMock(ReadVaultRepositoryInterface::class);
    $this->presenterFormatter = $this->createMock(PresenterFormatterInterface::class);
    $this->factory = $this->createMock(VaultConfigurationFactory::class);
    $this->user = $this->createMock(ContactInterface::class);
});

it('should present ForbiddenResponse when user is not admin', function (): void {
    $this->user
        ->expects($this->once())
        ->method('isAdmin')
        ->willReturn(false);

    $vault = new Vault(1, 'myVaultProvider');

    $vaultConfiguration = new VaultConfiguration(
        1,
        'myConf',
        $vault,
        '127.0.0.1',
        8200,
        'myStorage',
        'myRoleId',
        'mySecretId',
        'mySalt'
    );

    $presenter = new UpdateVaultConfigurationPresenterStub($this->presenterFormatter);
    $useCase = new UpdateVaultConfiguration(
        $this->readVaultConfigurationRepository,
        $this->writeVaultConfigurationRepository,
        $this->readVaultRepository,
        $this->factory,
        $this->user
    );

    $updateVaultConfigurationRequest = new UpdateVaultConfigurationRequest();

    $useCase($presenter, $updateVaultConfigurationRequest);

    expect($presenter->getResponseStatus())->toBeInstanceOf(ForbiddenResponse::class);
    expect($presenter->getResponseStatus()?->getMessage())->toBe('Only admin user can create vault configuration');
});

it('should present NotFoundResponse when vault provider does not exist', function (): void {
    $this->user
        ->expects($this->once())
        ->method('isAdmin')
        ->willReturn(true);

    $this->readVaultRepository
        ->expects($this->once())
        ->method('findById')
        ->willReturn(null);

    $presenter = new UpdateVaultConfigurationPresenterStub($this->presenterFormatter);
    $useCase = new UpdateVaultConfiguration(
        $this->readVaultConfigurationRepository,
        $this->writeVaultConfigurationRepository,
        $this->readVaultRepository,
        $this->factory,
        $this->user
    );

    $updateVaultConfigurationRequest = new UpdateVaultConfigurationRequest();
    $updateVaultConfigurationRequest->vaultConfigurationId = 1;
    $updateVaultConfigurationRequest->name = 'myVault';
    $updateVaultConfigurationRequest->typeId = 3;
    $updateVaultConfigurationRequest->address = '127.0.0.1';
    $updateVaultConfigurationRequest->port = 8200;
    $updateVaultConfigurationRequest->storage = 'myStorage';
    $updateVaultConfigurationRequest->roleId = 'myRole';
    $updateVaultConfigurationRequest->secretId = 'mySecretId';

    $useCase($presenter, $updateVaultConfigurationRequest);

    expect($presenter->getResponseStatus())->toBeInstanceOf(NotFoundResponse::class);
    expect($presenter->getResponseStatus()?->getMessage())->toBe(
        (new NotFoundResponse('Vault provider'))->getMessage()
    );
});

it('should present NotFoundResponse when vault configuration does not exist for a given id', function (): void {
    $this->user
        ->expects($this->once())
        ->method('isAdmin')
        ->willReturn(true);

    $vault = new Vault(1, 'myVaultProvider');
    $this->readVaultRepository
        ->expects($this->once())
        ->method('findById')
        ->willReturn($vault);

    $this->readVaultConfigurationRepository
        ->expects($this->once())
        ->method('findById')
        ->willReturn(null);

    $presenter = new UpdateVaultConfigurationPresenterStub($this->presenterFormatter);
    $useCase = new UpdateVaultConfiguration(
        $this->readVaultConfigurationRepository,
        $this->writeVaultConfigurationRepository,
        $this->readVaultRepository,
        $this->factory,
        $this->user
    );

    $updateVaultConfigurationRequest = new UpdateVaultConfigurationRequest();
    $updateVaultConfigurationRequest->vaultConfigurationId = 1;
    $updateVaultConfigurationRequest->name = 'myVault';
    $updateVaultConfigurationRequest->typeId = 3;
    $updateVaultConfigurationRequest->address = '127.0.0.1';
    $updateVaultConfigurationRequest->port = 8200;
    $updateVaultConfigurationRequest->storage = 'myStorage';
    $updateVaultConfigurationRequest->roleId = 'myRole';
    $updateVaultConfigurationRequest->secretId = 'mySecretId';

    $useCase($presenter, $updateVaultConfigurationRequest);

    expect($presenter->getResponseStatus())->toBeInstanceOf(NotFoundResponse::class);
    expect($presenter->getResponseStatus()?->getMessage())->toBe(
        (new NotFoundResponse('Vault configuration'))->getMessage()
    );
});

it('should present InvalidArgumentResponse when one parameter is not valid', function (): void {
    $this->user
        ->expects($this->once())
        ->method('isAdmin')
        ->willReturn(true);

    $vault = new Vault(1, 'myVaultProvider');
    $this->readVaultRepository
        ->expects($this->once())
        ->method('findById')
        ->willReturn($vault);

    $vaultConfiguration = new VaultConfiguration(
        2,
        'myVaultConfiguration',
        $vault,
        '127.0.0.2',
        8201,
        'myStorageFolder',
        'myRoleId',
        'mySecretId',
        'mySalt'
    );
    $this->readVaultConfigurationRepository
        ->expects($this->once())
        ->method('findById')
        ->willReturn($vaultConfiguration);

    $presenter = new UpdateVaultConfigurationPresenterStub($this->presenterFormatter);
    $useCase = new UpdateVaultConfiguration(
        $this->readVaultConfigurationRepository,
        $this->writeVaultConfigurationRepository,
        $this->readVaultRepository,
        $this->factory,
        $this->user
    );

    $invalidName = '';

    $updateVaultConfigurationRequest = new UpdateVaultConfigurationRequest();
    $updateVaultConfigurationRequest->vaultConfigurationId = 1;
    $updateVaultConfigurationRequest->name = $invalidName;
    $updateVaultConfigurationRequest->typeId = 3;
    $updateVaultConfigurationRequest->address = '127.0.0.1';
    $updateVaultConfigurationRequest->port = 8200;
    $updateVaultConfigurationRequest->storage = 'myStorage';
    $updateVaultConfigurationRequest->roleId = 'myRole';
    $updateVaultConfigurationRequest->secretId = 'mySecretId';

    $this->factory
        ->expects($this->once())
        ->method('create')
        ->with($updateVaultConfigurationRequest)
        ->willThrowException(
            new InvalidArgumentException(
                AssertionException::minLength(
                    $invalidName,
                    strlen($invalidName),
                    VaultConfiguration::MIN_LENGTH,
                    'VaultConfiguration::name'
                )->getMessage(),
                1
            )
        );

    $useCase($presenter, $updateVaultConfigurationRequest);

    expect($presenter->getResponseStatus())->toBeInstanceOf(InvalidArgumentResponse::class);
    expect($presenter->getResponseStatus()?->getMessage())->toBe(
        AssertionException::minLength(
            $invalidName,
            strlen($invalidName),
            VaultConfiguration::MIN_LENGTH,
            'VaultConfiguration::name'
        )->getMessage()
    );
});

it(
    'should present InvalidArgumentResponse when update request matches different existing vault configuration with '
        . 'same vault provider',
    function (): void {
        $this->user
            ->expects($this->once())
            ->method('isAdmin')
            ->willReturn(true);

        $vault = new Vault(1, 'myVaultProvider');
        $this->readVaultRepository
            ->expects($this->once())
            ->method('findById')
            ->willReturn($vault);

        $vaultConfiguration = new VaultConfiguration(
            2,
            'myVaultConfiguration',
            $vault,
            '127.0.0.2',
            8200,
            'myStorageFolder',
            'myRoleId',
            'mySecretId',
            'mySalt'
        );
        $this->readVaultConfigurationRepository
            ->expects($this->once())
            ->method('findById')
            ->willReturn($vaultConfiguration);

        $this->factory
            ->expects($this->once())
            ->method('create')
            ->willReturn($vaultConfiguration);

        $existingVaultConfiguration = new VaultConfiguration(
            1,
            'myExistingVaultConfiguration',
            $vault,
            '127.0.0.1',
            8200,
            'myStorageFolder',
            'myAnotherRoleId',
            'myAnotherSecretId',
            'MyAnotherSalt'
        );

        $this->readVaultConfigurationRepository
            ->expects($this->once())
            ->method('findByAddressAndPortAndStorage')
            ->willReturn($existingVaultConfiguration);

        $updateVaultConfigurationRequest = new UpdateVaultConfigurationRequest();
        $updateVaultConfigurationRequest->vaultConfigurationId = $vaultConfiguration->getId();
        $updateVaultConfigurationRequest->name = $vaultConfiguration->getName();
        $updateVaultConfigurationRequest->typeId = $vault->getId();
        $updateVaultConfigurationRequest->address = $existingVaultConfiguration->getAddress();
        $updateVaultConfigurationRequest->port = $existingVaultConfiguration->getPort();
        $updateVaultConfigurationRequest->storage = $existingVaultConfiguration->getStorage();
        $updateVaultConfigurationRequest->roleId = $vaultConfiguration->getRoleId();
        $updateVaultConfigurationRequest->secretId = $vaultConfiguration->getSecretId();

        $presenter = new UpdateVaultConfigurationPresenterStub($this->presenterFormatter);
        $useCase = new UpdateVaultConfiguration(
            $this->readVaultConfigurationRepository,
            $this->writeVaultConfigurationRepository,
            $this->readVaultRepository,
            $this->factory,
            $this->user
        );

        $useCase($presenter, $updateVaultConfigurationRequest);

        expect($presenter->getResponseStatus())->toBeInstanceOf(InvalidArgumentResponse::class);
        expect($presenter->getResponseStatus()?->getMessage())->toBe(
            VaultConfigurationException::configurationExists()->getMessage()
        );
    }
);

it('should present ErrorResponse when an unhandled error occurs', function (): void {
    $this->user
        ->expects($this->once())
        ->method('isAdmin')
        ->willReturn(true);

    $this->readVaultRepository
        ->expects($this->once())
        ->method('findById')
        ->willThrowException(new \Exception());

    $presenter = new UpdateVaultConfigurationPresenterStub($this->presenterFormatter);
    $useCase = new UpdateVaultConfiguration(
        $this->readVaultConfigurationRepository,
        $this->writeVaultConfigurationRepository,
        $this->readVaultRepository,
        $this->factory,
        $this->user
    );

    $updateVaultConfigurationRequest = new UpdateVaultConfigurationRequest();

    $useCase($presenter, $updateVaultConfigurationRequest);

    expect($presenter->getResponseStatus())->toBeInstanceOf(ErrorResponse::class);
    expect($presenter->getResponseStatus()?->getMessage())->toBe(
        VaultConfigurationException::impossibleToCreate()->getMessage()
    );
});

it('should present NoContentResponse when vault configuration is created with success', function (): void {
    $this->user
        ->expects($this->once())
        ->method('isAdmin')
        ->willReturn(true);

    $vault = new Vault(1, 'myVaultProvider');
    $this->readVaultRepository
        ->expects($this->once())
        ->method('findById')
        ->willReturn($vault);

    $vaultConfiguration = new VaultConfiguration(
        2,
        'myVaultConfiguration',
        $vault,
        '127.0.0.2',
        8201,
        'myStorageFolder',
        'myRoleId',
        'mySecretId',
        'mySalt'
    );
    $this->readVaultConfigurationRepository
        ->expects($this->once())
        ->method('findById')
        ->willReturn($vaultConfiguration);

    $presenter = new UpdateVaultConfigurationPresenterStub($this->presenterFormatter);
    $useCase = new UpdateVaultConfiguration(
        $this->readVaultConfigurationRepository,
        $this->writeVaultConfigurationRepository,
        $this->readVaultRepository,
        $this->factory,
        $this->user
    );

    $updateVaultConfigurationRequest = new UpdateVaultConfigurationRequest();
    $updateVaultConfigurationRequest->vaultConfigurationId = 1;
    $updateVaultConfigurationRequest->name = 'myVaultConfigurationName';
    $updateVaultConfigurationRequest->typeId = 1;
    $updateVaultConfigurationRequest->address = '127.0.0.1';
    $updateVaultConfigurationRequest->port = 8200;
    $updateVaultConfigurationRequest->storage = 'myStorage';
    $updateVaultConfigurationRequest->roleId = 'myRole';
    $updateVaultConfigurationRequest->secretId = 'mySecretId';

    $this->readVaultConfigurationRepository
        ->expects($this->once())
        ->method('findByAddressAndPortAndStorage')
        ->willReturn(null);

    $useCase($presenter, $updateVaultConfigurationRequest);

    expect($presenter->getResponseStatus())->toBeInstanceOf(NoContentResponse::class);
});

redpajama_set_name: RedPajamaGithub


text:
Arts|Spare Times for Children for Oct. 30-Nov. 5
https://nyti.ms/1Gzz17g
Spare Times for Children for Oct. 30-Nov. 5
A visitor at the Día de los Muertos celebration at the Smithsonian's National Museum of the American Indian.Credit...Joshua Stevens/Smithsonian's National Museum of the American Indian
By Laurel Graeber
Día de los Muertos/Day of the Dead
Pity the poor departed. They'll be everywhere this weekend — as ghosts, zombies, mummies and other unlovable beings. Doesn't anyone care that the deceased used to be, well, people?
The indigenous inhabitants of Mexico and Central America did. They began Día de los Muertos, or the Day of the Dead, a holiday now enjoyed in many Latin communities in the United States.
"The timing is the same, but it has nothing to do with Halloween," said Shawn Termin, cultural arts manager for the Smithsonian's National Museum of the American Indian, which will honor the occasion at both its Lower Manhattan and Washington branches this weekend. "It's a celebration of your ancestors in a very traditional way. It's a joyous time."
The joy comes on Saturday in Manhattan, where the free celebration will center on a large ofrenda, or altar, where families place mementos of dead loved ones. The spirits of the deceased are said to rejoin their relatives at this time, and the altar welcomes them with treasured objects, flowers (especially marigolds) and even treats like a special bread. (Apparently, traveling from the afterlife can cause you to work up an appetite.)
Ms. Termin said the museum was encouraging visitors to make their own contributions to the altar. "This year, we have a table with pieces of paper in frames, where people can write notes to those they've lost," she said.
But expect dancing, not grieving. The troupe Cetiliztli Nauhcampa Quetzalcoátl in Ixachitlán (the Group of the Four Directions on the East of the Continent) will conduct traditional music and dance processions twice during the festivities. Some of the performers may be decked out as skeletons, but that's just part of the fun. Bones, in fact, appear everywhere as decorations during the Day of the Dead, but they tend to be comical, and even sweet. (Calaveras, or sugar skulls, are popular.)
Skeletons will be a dominant motif at museum craft workshops, too, where children can paint and embellish plaster versions and create pendants from foil skulls, left. They can also make paper flowers and decorate skull masks.
These come in handy during the processions, when young visitors can bring their masks and join in the dancing. It may be the Day of the Dead, but, Ms. Termin emphasized, it's "a lively event."
(Saturday, noon to 5 p.m., George Gustav Heye Center, 1 Bowling Green, 212-514-3700, americanindian.si.edu.)
'Alice in Wonderland'(Saturday and Sunday) Literally Alive Theater, which adapts books into children's productions, has followed the White Rabbit to Greenwich Village, where it has revived this musical — using video projections and over 30 instruments — based on Alice's adventures. Written by Michael Sgouros and Brenda Bell, the show is preceded by a workshop in which young theatergoers learn about Lewis Carroll's work and make a story-related craft to take home. (Through Nov. 8.) Saturday at 11 a.m..; Sunday at 11 a.m. and 2 p.m.; workshop one hour before the performance. Players Theater, 115 Macdougal Street, at Minetta Lane, 212-352-3101, literallyalive.com.
'Archaeology Zone: Discovering Treasures From Playgrounds to Palaces'(Continuing) Children will step into the shoes of an explorer like Indiana Jones in this permanent exhibition at the Jewish Museum, but the adventures will be purely scholarly. Still, there is plenty of excitement in analyzing Middle Eastern artifacts like a jar handle, a clay jug and a bangle and figuring out the purpose behind ancient pieces like a Greek helmet and a bull-shaped vessel. This interactive show, for ages 3 to 10, also includes a recreated room from the Ottoman period (around 1900) where young archaeologists can dress in costume and portray early-20th-century immigrants to Palestine. 1109 Fifth Avenue, at 92nd Street, 212-423-3200, thejewishmuseum.org.
Ascarium Weekend(Saturday and Sunday) No, that's not a typographical error. The New York Aquarium is calling itself the Ascarium for this celebration, which focuses on ocean spookiness, often neglected in typical Halloween festivities. Attractions, which will emphasize how scientists solve the puzzles of undersea life, will include the "Marine Mystery and Mischief Magic Show"; the Wildlife Theater's "Under Sea Mysteries"; and Marine Animal Mystery and Mischief Stations. The fun will also include crafts, trick-or-treat stations and a Halloween theme for the daily sea lion shows. From 11 a.m. to 4:30 p.m., Surf Avenue and West Eighth Street, Coney Island, Brooklyn, 718-265-3474, nyaquarium.com.
Asphalt Screams!(Friday) With its emphasis on candy, Halloween doesn't qualify as the healthiest of holidays. But Asphalt Green, the sports and fitness nonprofit, tries to celebrate the occasion with energy instead of excess. At both its Upper East Side and Lower Manhattan locations, the organization will host Asphalt Screams!, a free Halloween party with fitness activities like sports games, a spooktacular soccer shootout and a haunted maze. Young guests are encouraged to come in costume, and the first 500 will receive gift bags. From 4 to 6 p.m., 555 East 90th Street, Manhattan, and 212 North End Avenue, at Murray Street, Battery Park City; asphaltgreen.org/screams. An online R.S.V.P. is advised.
Boo at the Zoos(Saturday and Sunday) The Queens Zoo is now joining the Bronx Zoo in helping visitors celebrate the wilder side of Halloween. From 11 a.m. to 4 p.m., this zoo in Flushing Meadows-Corona Park will offer spooky crafts; treat-filled Halloween pumpkins for the pumas (1 p.m.) and the Andean bears (2:30 p.m.); a haunted habitat; spooky animal presentations involving snakes and other creatures; and trick-or-treat stations, among other attractions. (Costumed children 12 and under get free admission.) In the Bronx, where the theme is "Mystery and Mischief," the schedule, from 10 a.m. to 5 p.m., includes animal-theme magic shows; a hay maze; creature mystery stations; an Extinct Animal Graveyard; the Jack-O'-Lantern Illumination, a walk filled with creatures carved from pumpkins; and a twice-daily costume parade. Queens Zoo, 53-51 111th Street, Flushing Meadows-Corona Park, 718-271-1500, queenszoo.com. Bronx Zoo, Bronx River Parkway and Fordham Road, Fordham, 718-367-1010, bronxzoo.com.
'Brooklyn Sewers: What's Up Down There?'(Through May 29) When it comes to subterranean infrastructure projects, New York City's subway system seems to get all the attention. But a group of teenage curators at the Brooklyn Historical Society would like to introduce you to another underground marvel: Brooklyn's sewer system, one of the city's oldest and most extensive infrastructure projects. This exhibition explores engineering conundrums and courtroom battles and tells the story of the sewer system through photographs, drawings and maps. 128 Pierrepont Street, near Clinton Street, Brooklyn Heights, 718-222-4111, brooklynhistory.org.
'Connected Worlds'(continuing) Human choices and actions have an impact on the world's ecosystems, but people usually can't see the effects as they happen. That isn't true in this new permanent exhibition in the renovated Great Hall of the New York Hall of Science. Consisting of huge screens (one is 38 feet tall), the show depicts six interconnected environments with a shared water supply. With the help of technology that responds to gestures, "Connected Worlds" allows children to use simple motions to plant, harvest, cut trees, create clouds and make other changes in the projected landscapes — and see how the native flora and fauna fare. 47-01 111th Street, Flushing Meadows-Corona Park, Queens, 718-699-0005, nysci.org.
'Cooking With Frida'(Saturday and Sunday) The New York Botanical Garden is honoring the Mexican artist Frida Kahlo (1907-1954) in its exhibition "Frida Kahlo: Art, Garden, Life," which closes this weekend, and it offers programs to introduce its youngest visitors to this famous Latina. In this one, at the Ruth Rea Howell Family Garden, children can explore the raw ingredients of Mexican cuisine and enjoy cooking demonstrations inspired by Kahlo's entertaining. This weekend, the Howell garden will also offer "Dig! Plant! Grow!: Goodnight, Garden!," a program from 1:30 to 5:30 p.m. that will focus on getting the place ready for winter. Children will rake leaves, bury bulbs and learn how to save seeds. It is Día de los Muertos Weekend on the grounds, too, celebrating the Mexican Day of the Dead. Highlights include a huge procession with skeletons and puppets (noon to 4 p.m.) and a giant pumpkin display. "Cooking With Frida" workshops are on Saturday and Sunday at 2 and 4 p.m., Bronx River Parkway (Exit 7W) and Fordham Road, the Bronx, 718-817-8700, nybg.org.
'Fashion Academy, the Musical'(Saturday) Vital Theater Company's latest show for children over 7, closing on Saturday, focuses on a middle-schooler, MacKenzie Williams, known as Mickey. When her colorful and completely original style doesn't go over well at her new school, Fashion Academy of Brooklyn, she decides to make over not only her wardrobe, but also herself. Based on the book "Fashion Academy," by the mother-daughter team of Sheryl Berk and Carrie Berk, this adaptation, by the elder Ms. Berk and Sabrina Chap, asks whether Mickey's new persona, Kenzie, is really worth the sacrifice. At 3:30 p.m., Marjorie S. Deane Little Theater, 10 West 64th Street, Manhattan, 212-579-0528, vitaltheatre.org.
'Flight School, the Musical'(Saturday) If you want to fly, and you're a bird, you should be all set, right? Well, not if you happen to be a penguin. That's the challenge confronting the little hero of this new musical from Vital Theater Company, adapted from "Flight School," a picture book by Lita Judge. With a script by Cara Lustik, lyrics by Joshua H. Cohen and a score by David Mallamud, the show, closing on Saturday and recommended for ages 2 through 7, chronicles Penguin's determination to remove the technical obstacles between him and the sky. At 1 p.m., Marjorie S. Deane Little Theater, 10 West 64th Street, Manhattan, 212-579-0528, vitaltheatre.org.
'Frolic!' at the Children's Museum of Manhattan(Through Dec. 31) You're never too young to rock — and this space proves it. A new pop-up installation at the museum, "Frolic!" uses rock music and a themed décor to stimulate sensory play and learning in visitors ages 5 and under. In addition to a stage, a pretend ticket booth and '70s-style props — including a Volkswagen mini-van to climb into — the 1,500-square-foot area has programs of workshops and live performances to help little ones get into the groove. The Tisch Building, 212 West 83rd Street, 212-721-1223, cmom.org.
'The Gazillion Bubble Show: The Next Generation'(Friday through Sunday) Children love bubbles, and this interactive show promises not just a gazillion but also some of the largest ever blown, along with light effects and lasers. The stars are the members of the Yang family: Fan and Ana Yang and their son Deni and others, who rotate as M.C.s for the production. Audience members may even find themselves in bubbles of their own. (The run is open-ended.) Fridays at 7 p.m.; Saturdays at 11 a.m. and 2 and 4:30 p.m.; Sundays at noon and 3 p.m.; 340 West 50th Street, Clinton, 212-239-6200, gazillionbubbleshow.com.
'Goodnight Moon' and 'The Runaway Bunny'(Sunday) You could say that the Big Red Chair is meeting the great green room: The Big Red Chair, the family series at the Skirball Center for the Performing Arts at New York University, is presenting theatrical adaptations of two classic children's books by Margaret Wise Brown, one of which is set in a great green room. That's "Goodnight Moon," Brown's sweet, low-key bedtime story that gathers all surrounding objects in its embrace. The other, "The Runaway Bunny," deals playfully with the mother-child bond. Recommended for ages 2 through 5, the show, from the Mermaid Theater of Nova Scotia, features the company's signature huge puppets. At 10 a.m. and 2 p.m., 566 La Guardia Place, at Washington Square South, Greenwich Village, 212-992-8484, nyuskirball.org.
Halloween Celebration at the American Museum of Natural History(Saturday) This is a real "night at the museum" — or at least an afternoon. The American Museum of Natural History will open its halls to young trick-or-treaters for Halloween crafts; live performances (including the Big Nazo Intergalactic Creature Band, Louie Miranda and his band, and David Grover and his Grover's Gang); costumed characters like Curious George and Clifford the Big Red Dog; and, of course, goodies. From 2 to 5 p.m., Central Park West and 79th Street, 212-769-5200, amnh.org.
'Halloween: Spooky City' and 'Halloween Grab Bag' (Friday and Saturday) New York can be scary even when it's not Halloween, and these celebrations will highlight its more ghostly aspects at a place that knows them well: the Museum of the City of New York. During "Spooky City," on Friday from 2:30 to 6 p.m., children will be invited on a scavenger hunt in which they'll hear Halloween stories throughout the museum and take home treats that originated in New York. They can also make masks (or come in costume) and decorate pumpkins using the museum shows as inspiration. (Registration is encouraged but not required.) On Saturday, from noon to 2 p.m., "Halloween Grab Bag" will include the scavenger hunt, as well as an opportunity to design personalized tote bags for trick or treating. Fifth Avenue at 103rd Street, 212-534-1672, mcny.org/families.
'Hansel and Gretel's Halloween Adventure'(Friday and Saturday) This pair already know how to deal with a witch, and they have encounters with many more fantastical creatures in this puppet musical at the Swedish Cottage Marionette Theater. Geared to ages 3 through 9 (and appropriately tame), the show is a sequel to the theater's original "Hansel and Gretel," introducing characters like mermaids, cute monsters, charming vampires and valiant pirates. Friday at 10:30 a.m. and noon; Saturday at 11 a.m. and 1 and 2:30 p.m. At 79th Street and the West Drive, Central Park, 212-988-9093, cityparksfoundation.org/arts. Reservations required. (The noon show on Friday is sold out.)
'The Hunger Games: The Exhibition'(Through Jan. 3) What enterprising 12- or 13-year-old wouldn't like to foment a little rebellion? Such a visitor can do so vicariously at this attraction at Discovery Times Square, stepping into the role of Katniss Everdeen, the teenage heroine of "The Hunger Games" and the ultimate leader of the resistance against her nation's totalitarian government. Based on the Lionsgate film adaptations of Suzanne Collins's novels, the show includes costumes and artifacts from the movies, as well as re-creations of Katniss's journey and interactive, role-playing elements like a gamesmaker's table and a chance to learn and practice stunt choreography. 226 West 44th Street, Manhattan, 866-987-9692, discoverytsx.com, thehungergamesexhibition.com.
'If You Lived Here, You'd Be Home'(Through Jan. 17) Maps present facts, but they can also engage the imagination. This new exhibition at the Children's Museum of the Arts explores the intersection of cartography and art, showing work that expands upon, redefines or simply refers to maps. Among the eight artists represented are Matthew Cusik, who makes collages from map fragments; Joyce Kosloff, who layers images and textured paint onto maps; Loren Munk, who adds plaques of color and information to street maps; and Nikki Rosato, who subtracts from maps, cutting away all but roads and rivers. In the museum's Cynthia C. Wainwright Gallery, 103 Charlton Street, between Hudson and Greenwich Streets, South Village, 212-274-0986, cmany.org.
An Irish Halloween/Oiche Shamhna: 'The Banshee's Sound Garden'(Saturday) Forget about moaning and rattling chains. No supernatural being makes a scarier noise than the Irish banshee, a howling wraith whose wails foretell death. The connotations promise to be much more pleasant, however, at this event at the Irish Arts Center, where the banshee will inspire a children's celebration of sound. Young visitors can enjoy an instrument-making workshop, a concert with the music educators Stomp and Shout, an interactive sound installation and Banshee face painting and dress-up. It's all part of "Oiche Shamhna" (pronounced EE-huh HOW-nuh) — "Happy Halloween" in Irish. From noon to 4 p.m., 553 West 51st Street, Clinton, 866-811-4111, irishartscenter.org/kids.htm.
Jazz for Kids(Sunday) Every Sunday during most of the school year, Jazz Standard presents not just jazz for kids, but also jazz by kids: The featured players at its Sunday brunches are the members of the Jazz Standard Youth Orchestra, a group of talented young people ages 11 to 18. In this free series (donations are requested for the Jazz Standard Discovery Program, an initiative that brings musical performances to city schools), beginning its 14th season this weekend, the musicians play new arrangements of big-band classics while listeners enjoy barbecue offerings purchased from a menu that includes children's fare. (Through mid-May.) Doors open at 1 p.m.; shows are from 2 to 3 p.m.; 116 East 27th Street, Manhattan, 212-576-2232, discoverjazz.org/upcoming.
'Jean-Michel Cousteau's Secret Ocean'(Friday through Thursday) Ever encounter a goby or a blenny? How about a Christmas tree worm? These small marine species, often unnoticed and uncelebrated, are among the stars of this new Imax movie at the American Museum of Natural History. Filmed by Jean-Michel Cousteau, son of the ocean explorer Jacques Cousteau, and Holly Lohuis, a marine biologist, the film captures 30 species that are among the tiniest to inhabit the seas. (Through Jan. 10.) Hourly from 10:30 a.m. to 4:30 p.m., with 2-D screenings at 11:30 a.m. and 4:30 p.m.; all other screenings are 3-D. Central Park West and 79th Street, 212-769-5200, amnh.org.
'LARD: Life's a Real Dream'(Saturday) This show about LARD, the concept, has nothing to do with lard, the substance. An acronym for "Life's a Real Dream," "LARD" is the title of a rollicking musical production starring Lard Dog, who also happens not to be a dog. The alter ego of the multimedia artist Steven Erdman, Lard is a gregarious out-of-this-world character who has flown in from the planet Belopio on a giant pretzel. He and his Band of Shy perform this hourlong entertainment, which includes cartoon graphics and a pretzel toss. (Through Jan. 2.) Saturdays at 11 a.m., 13th Street Repertory Theater, 50 West 13th Street, Greenwich Village, houseoflard.com.
LC Trick-or-Treat: 'Monsters and Music'(Saturday) You can always count on Lincoln Center for music, and this weekend it will welcome monsters, too, as children are invited to trick-or-treat around the campus and take part in Halloween activities. The free events, part of the newly expanded LC Kids program, will include a noon costume parade around the Revson Fountain. At 1 p.m., in the David Rubenstein Atrium, Broadway between 62nd and 63rd Streets, visitors ages 3 to 6 can enjoy a reading of the new picture book "The Little Shop of Monsters," by R.L. Stine and Marc Brown, who will discuss and sign their work. (Seating is limited; tickets, first come first served, can be picked up at the atrium's Broadway entrance, starting at 11 a.m.) Also at 1 p.m., older children can experience the thrills of the 1931 classic "Frankenstein," at the Elinor Bunin Munroe Film Center Amphitheater, 144 West 65th Street. What do you mean, who's Boris Karloff? (Tickets will be available starting at noon, first come first served.) Festivities start at 11 a.m., kids.lincolncenter.org.
'The Lion, the Witch and the Wardrobe'(Saturday) If the children of the Pevensie family could travel to the magical land of Narnia through something as simple as a wardrobe, why shouldn't two hard-working actors be able to play them and all the characters found there? That's what Chris Boerner and Erin Layton are attempting in the Off Broadway Family Theater's first production, le Clanché du Rand's adaptation of C. S. Lewis's classic novel. (The run is open-ended and continues on Saturdays.) At 11 a.m., St. Luke's Theater, 308 West 46th Street, Clinton, 212-239-6200, narniaoffbroadway.com.
'Monster Gras' With Jazzy Ash and the Leaping Lizards(Saturday) Mardi Gras has a certain Halloween-like spirit, so why not combine the two? That's what Ashli Christoval, a.k.a. Jazzy Ash, has planned for this concert, part of the Just Kidding series at Symphony Space. Ms. Christoval and her New Orleans-style band, the Leaping Lizards, will celebrate their new album, "Bon Voyage," with an hourlong set of jazzed-up Halloween-theme songs. They invite young listeners to arrive in costume. At 11 a.m., Lenoard Nimoy Thalia Theater, Symphony Space, 2537 Broadway, at 95th Street, 212-864-5400, symphonyspace.org.
Music in Motion(Saturday) That motion is the gentle rocking of a boat for this series of family neighborhood concerts presented by Bargemusic, the floating barge at the foot of the Brooklyn Bridge. As always, the material — announced just before the performance — is chamber music, but these programs differ in important ways from the regular Bargemusic fare: With unreserved seating, they last only an hour, include a post-show question-and-answer session with the musicians and are free. (Through Nov. 28.) At 4 p.m. (doors open at 3:45), Fulton Ferry Landing, next to the Brooklyn Bridge, Brooklyn, 800-838-3006, bargemusic.org.
'NYC & Me: A Little Bite of the Big Apple'(Through Jan. 18) There's one place where little citizens can safely run loose on the streets of New York: the Children's Museum of Manhattan. This new interactive 3,000-square-foot gallery is a city microcosm for small visitors, allowing them to pretend to be taxi drivers, bus drivers, construction workers, street performers and, most impressively, the mayor. Activities include directing traffic, erecting a skyscraper, "ice skating" in their socks and investigating urban tales on the steps of the New York Public Library. The Tisch Building, 212 West 83rd Street, 212-721-1223, cmom.org.
Obake Family Day: 'Experience Japan's Ghosts and Goblins'(Sunday) Imagine a lost umbrella that becomes vengeful and goes after its careless owner. Or a monster called the bathtub licker, which you'd rather not have cleaning your bathroom. These are just some of the weird characters to be found among Japanese obake (pronounced oh-BAH-kay), or shape-shifters, and yokai (yoke-EYE), or spirits and monsters. Japan Society will celebrate them all in this second annual festival, whose centerpiece is a haunted circus tent, where Charan-Po-Rantan, a Japanese pop sister act, will perform two concerts, and where children can explore a creature-infested maze, hear Japanese ghost stories and play spooky games. Other activities include making monster masks and going on an obake scavenger hunt. From 11 a.m. to 4 p.m., 333 East 47th Street, Manhattan, 212-715-1258, japansociety.org.
'Rock or Treat'(Saturday) You're heard of rocking around the clock — this Halloween show is all about rocking around the world. Developed by Funikijam, an organization devoted to early-childhood entertainment and education, "Rock or Treat" offers high-energy tunes and movement that are globally inspired for ages 3 through 10. The interactive 45-minute musical, closing this weekend, is not frightening, despite its location — Times Scare — and encourages children to come dressed for the holiday and to participate in a costume parade. (Through Oct. 31.) Saturdays at 11 a.m. and 1 p.m., Cabaret Theater, Times Scare, 669 Eighth Avenue, near 43rd Street, funikijam.com.
'Skeletons … A Day of the Dead Bedtime Story'(Saturday and Sunday) According to Mexican tradition, the spirits of deceased loved ones are revived on the Day of the Dead, a holiday that is joyous rather than ghoulish. In this production from Teatro SEA, the Latino children's theater, Jimmy is in mourning for his grandfather, who actually comes back to life for one night. Written by Richard Marino, the company's managing director, "Skeletons," which closes this weekend, portrays the comical adventures that result when Grandpa and other departed relatives try to help Jimmy get on with his life. At 3 p.m., Los Kabayitos Puppet and Children's Theater, Clemente Soto Vélez Cultural Center, 107 Suffolk Street, at Rivington Street, Lower East Side, 212-529-1545, teatrosea.org.
'Sleepy Hollow'(Friday and Sunday) Ichabod Crane and the Headless Horseman are off and riding again in this musical revival from Be Bold! Productions. Inspired by Washington Irving's "The Legend of Sleepy Hollow" and recommended for theatergoers older than 9, this show, by Michael Sgouros and Brenda Bell, focuses on the love triangle and the mystery inherent in Irving's tale. It also explores a darkness beyond the story's fearsome woods: that of the human heart. Friday at 7 p.m.; Sunday at 2 p.m.; Players Theater, 115 Macdougal Street, at Minetta Lane, Greenwich Village, 866-811-4111, hollowthemusical.com.
Superheroes/Supernatural Halloween Bash(Friday) The New York Historical Society is renaming itself the New York Haunted Society for this evening of Halloween revelry, which centers on the museum's new exhibition, "Superheroes in Gotham." Children will be able to make their own scary superheroes, have their superhero fortunes told and test their knowledge of supervillains. Other activities include creating a "graveyard goop" dessert and making silhouette trick-or-treat bags. A bonus: This day the society is also opening its annual show "Holiday Express: Trains and Toys From the Jerni Collection," an interactive display of antique playthings that recreates the golden era of toy trains. From 5 to 7 p.m., 170 Central Park West, at 77th Street, 212-873-3400, nyhistory.org.
Tinkerbell Theater(Saturday and Sunday) Despite the title, don't expect to see Peter Pan. This double bill at the Workshop Theater consists of "Cinderella" and "The Tinderbox," presented in repertory by Frog and Peach Theater Company. Both adaptations are written and directed by Lynnea Benson, who has reimagined these classic tales: Cinderella plays Crazy Eights and discusses ornithology with the Prince, and "The Tinderbox," about a soldier who wins a princess's heart with the help of the object of the title, has as much humor as drama. Soft puppets play the villains in both pieces, which include songs by Ted Zurkowski and are followed by a puppet-making workshop; each theatergoer should bring an old sock, or parents can buy an optional puppet kit for $10. (Through Nov. 15.) "Cinderella" at noon; "The Tinderbox" at 1 p.m.; 312 West 36th Street, fourth floor, Manhattan, 212-868-4444, frogandpeachtheatre.org.
'The Velveteen Rabbit'(Saturday and Sunday) There's a long fictional tradition of toys wanting, or trying, to become real, but few such tales are more poignant than Margery Williams Bianco's story "The Velveteen Rabbit," in which a beloved stuffed animal undergoes a magical transformation. Atlantic for Kids, the children's theater division of the Atlantic Theater Company, has produced this imaginative musical version, by Cormac Bluestone and Anya Saffir. Closing this weekend, the beautifully played work underscores that love can indeed hurt, but that to deny love is to be less than fully alive. At 10:30 a.m., Linda Gross Theater, 336 West 20th Street, Chelsea, 866-811-4111, atlantictheater.org.
'A Voyage Through Jewish History'(Continuing) This journey involves not just miles, but years. In this permanent interactive exhibition at the Jewish Children's Museum, young visitors can travel from Abraham and Sarah's tent to the Western Wall in contemporary Jerusalem and beyond. Activities along the way include giving water to Rebecca's camels, playing the strings on David's harp (a high-tech version with beams of light that emit sounds when struck) and taking part in the exodus from Egypt. 792 Eastern Parkway, at Kingston Avenue, Crown Heights, Brooklyn, 718-907-8833, jcm.museum.


text:
/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.facebook.presto.proxy;

import com.facebook.airlift.bootstrap.Bootstrap;
import com.facebook.airlift.bootstrap.LifeCycleManager;
import com.facebook.airlift.http.server.HttpServerInfo;
import com.facebook.airlift.http.server.testing.TestingHttpServerModule;
import com.facebook.airlift.jaxrs.JaxrsModule;
import com.facebook.airlift.jmx.testing.TestingJmxModule;
import com.facebook.airlift.json.JsonModule;
import com.facebook.airlift.log.Logging;
import com.facebook.airlift.node.testing.TestingNodeModule;
import com.facebook.presto.execution.QueryState;
import com.facebook.presto.jdbc.PrestoResultSet;
import com.facebook.presto.jdbc.PrestoStatement;
import com.facebook.presto.plugin.blackhole.BlackHolePlugin;
import com.facebook.presto.server.testing.TestingPrestoServer;
import com.facebook.presto.tpch.TpchPlugin;
import com.google.inject.Injector;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Path;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Base64;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicReference;

import static com.facebook.airlift.concurrent.Threads.daemonThreadsNamed;
import static com.facebook.presto.execution.QueryState.FAILED;
import static java.lang.String.format;
import static java.nio.charset.StandardCharsets.US_ASCII;
import static java.util.concurrent.Executors.newCachedThreadPool;
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;

public class TestProxyServer
{
    private Path sharedSecretFile;
    private TestingPrestoServer server;
    private LifeCycleManager lifeCycleManager;
    private HttpServerInfo httpServerInfo;
    private ExecutorService executorService;

    @BeforeClass
    public void setupServer()
            throws Exception
    {
        byte[] sharedSecret = Base64.getMimeEncoder().encode("test secret".getBytes(US_ASCII));
        sharedSecretFile = Files.createTempFile("secret", "txt");
        Files.write(sharedSecretFile, sharedSecret);

        Logging.initialize();
        server = new TestingPrestoServer();
        server.installPlugin(new TpchPlugin());
        server.createCatalog("tpch", "tpch");
        server.installPlugin(new BlackHolePlugin());
        server.createCatalog("blackhole", "blackhole");
        server.refreshNodes();

        Bootstrap app = new Bootstrap(
                new TestingNodeModule("test"),
                new TestingHttpServerModule(),
                new JsonModule(),
                new JaxrsModule(true),
                new TestingJmxModule(),
                new ProxyModule());

        Injector injector = app
                .strictConfig()
                .doNotInitializeLogging()
                .setRequiredConfigurationProperty("proxy.uri", server.getBaseUrl().toString())
                .setRequiredConfigurationProperty("proxy.shared-secret-file", sharedSecretFile.toString())
                .quiet()
                .initialize();

        lifeCycleManager = injector.getInstance(LifeCycleManager.class);
        httpServerInfo = injector.getInstance(HttpServerInfo.class);

        executorService = newCachedThreadPool(daemonThreadsNamed("test-%s"));

        setupTestTable();
    }

    @AfterClass(alwaysRun = true)
    public void tearDownServer()
            throws Exception
    {
        server.close();
        lifeCycleManager.stop();
        executorService.shutdownNow();
        Files.delete(sharedSecretFile);
    }

    @Test
    public void testMetadata()
            throws Exception
    {
        try (Connection connection = createConnection()) {
            assertEquals(connection.getMetaData().getDatabaseProductVersion(), "testversion");
        }
    }

    @Test
    public void testQuery()
            throws Exception
    {
        try (Connection connection = createConnection();
                Statement statement = connection.createStatement();
                ResultSet rs = statement.executeQuery("SELECT row_number() OVER () n FROM tpch.tiny.orders")) {
            long count = 0;
            long sum = 0;
            while (rs.next()) {
                count++;
                sum += rs.getLong("n");
            }
            assertEquals(count, 15000);
            assertEquals(sum, (count / 2) * (1 + count));
        }
    }

    @Test
    public void testSetSession()
            throws Exception
    {
        try (Connection connection = createConnection();
                Statement statement = connection.createStatement()) {
            assertFalse(statement.execute("SET SESSION query_max_stage_count = 10"));
            try (ResultSet rs = statement.executeQuery("SELECT row_number() OVER () n FROM tpch.tiny.orders")) {
                long count = 0;
                long sum = 0;
                while (rs.next()) {
                    count++;
                    sum += rs.getLong("n");
                }
                assertEquals(count, 15000);
                assertEquals(sum, (count / 2) * (1 + count));
            }
        }
    }

    @Test(timeOut = 10_000)
    public void testCancel()
            throws Exception
    {
        CountDownLatch queryStarted = new CountDownLatch(1);
        CountDownLatch queryFinished = new CountDownLatch(1);
        AtomicReference<String> queryId = new AtomicReference<>();
        AtomicReference<Throwable> queryFailure = new AtomicReference<>();

        try (Connection connection = createConnection();
                Statement statement = connection.createStatement()) {
            // execute the slow query on another thread
            executorService.execute(() -> {
                try (ResultSet resultSet = statement.executeQuery("SELECT * FROM blackhole.test.slow")) {
                    queryId.set(resultSet.unwrap(PrestoResultSet.class).getQueryId());
                    queryStarted.countDown();
                    resultSet.next();
                }
                catch (SQLException t) {
                    queryFailure.set(t);
                }
                finally {
                    queryFinished.countDown();
                }
            });

            // start query and make sure it is not finished
            queryStarted.await(10, SECONDS);
            assertNotNull(queryId.get());
            assertFalse(getQueryState(queryId.get()).isDone());

            // cancel the query from this test thread
            statement.cancel();

            // make sure the query was aborted
            queryFinished.await(10, SECONDS);
            assertNotNull(queryFailure.get());
            assertEquals(getQueryState(queryId.get()), FAILED);
        }
    }

    @Test(timeOut = 10_000)
    public void testPartialCancel()
            throws Exception
    {
        try (Connection connection = createConnection();
                Statement statement = connection.createStatement();
                ResultSet resultSet = statement.executeQuery("SELECT count(*) FROM blackhole.test.slow")) {
            statement.unwrap(PrestoStatement.class).partialCancel();
            assertTrue(resultSet.next());
            assertEquals(resultSet.getLong(1), 0);
        }
    }

    private QueryState getQueryState(String queryId)
            throws SQLException
    {
        String sql = format("SELECT state FROM system.runtime.queries WHERE query_id = '%s'", queryId);
        try (Connection connection = createConnection();
                Statement statement = connection.createStatement();
                ResultSet rs = statement.executeQuery(sql)) {
            assertTrue(rs.next(), "query not found");
            return QueryState.valueOf(rs.getString("state"));
        }
    }

    private void setupTestTable()
            throws SQLException
    {
        try (Connection connection = createConnection();
                Statement statement = connection.createStatement()) {
            assertEquals(statement.executeUpdate("CREATE SCHEMA blackhole.test"), 0);
            assertEquals(statement.executeUpdate("CREATE TABLE blackhole.test.slow (x bigint) " +
                    "WITH (" +
                    "   split_count = 1, " +
                    "   pages_per_split = 1, " +
                    "   rows_per_page = 1, " +
                    "   page_processing_delay = '1m'" +
                    ")"), 0);
        }
    }

    private Connection createConnection()
            throws SQLException
    {
        URI uri = httpServerInfo.getHttpUri();
        String url = format("jdbc:presto://%s:%s", uri.getHost(), uri.getPort());
        return DriverManager.getConnection(url, "test", null);
    }
}


Due to an internal promotion we have an opportunity for an experienced Claims professional to move in to a Senior role. You would be responsible for day-to-day management of complex claims and providing coaching and mentoring support to the team.
If you would like more information on the role please call Becky on 03 8637 7312. If you feel you meet the selection criteria please hit apply today.


The rumored Motorola One Vision will come with 6GB RAM while running Android 9 Pie out-of-the-box.
Almost half a year after the launch of the Motorola One Power, it looks like Motorola is working on yet another Android One smartphone. According to new information online, a yet-to-be-launched smartphone dubbed Motorola 'Vision' was spotted online. However, according to a listing on Geekbench, the new device comes with a somewhat unusual addition. The unusual factor that we are talking about here is the Exynos 9610 SoC in the device instead of a Snapdragon SoC.
A number of key aspects were revealed about the "Motorola One Vision" in the Geekbench listing, MSP reports. The rumored device will come with 6GB RAM while running Android 9 Pie out-of-the-box. The listing revealed that the device scored 1,599 in the single core test, and 5,328 in the multi-core benchmark test. The report noted that this new device listing comes about a month before initial reports emerged that Motorola was planning to launch two Exynos-equipped smartphones in the market.
Previous reports indicate that one of the two Exynos-powered devices was likely to be the Motorola P40, a successor to the P30 that launched last year. Renders of the anticipated device already leaked on the internet last year indicating that it will come with a punch-hole camera in the display for the front camera and a dual camera setup on the back with a 48-megapixel primary sensor. The render also indicated that the device will come with a rear fingerprint scanner with an embedded Motorola logo.
As previously reported, the Moto P40 will come with a 6.2-inch display along with up to 4GB RAM and 128GB internal storage. Motorola is likely to launch three different storage and RAM variants in two colors, Gold, and Blue. The company has not revealed any information about the Moto P40 or this mystery device.


Latin Name: Centella asiatica syn. Hydrocotyle asiatica, Hydrocotyle cordifolia, Hydrocotyle repanda.
Other Names: Gota Cola, Indian Pennywort, Marsh Penny, White Rot, Brahmi Booti, Daun Pegaga, Hydrocotyle, Thick-leaved Pennywort & Indian Ginseng.
Description: Gota Cola is a creeping, aquatic, perennial plant native to Indian and parts of the southern United States; it can also be found growing in south Africa and Australia. It grows to a height of 50cm; the leaves have long stalks, are fan-shaped and green in colour. The small flowers are rosy-red and grow out from stem nodes.
The bitter leaves are used in salads and cooked as a vegetable. The herb is used in the cosmetic industry for creams to soothe irritated skin.


My wife and I had a baby while we were here, so here's some of our stuff for sale. Some was given to us by an outgoing student (thanks a ton! you know who you are!), and that stuff we've tried to pass on free to other students, so don't think we're trying to rip anyone off here. I think all of the stuff remaining we have brought here or bought here ourselves. It may be difficult to understand the prices, since baby stuff here is EXPENSIVE! heck, everything here's expensive, lol. And we paid US prices and shipped it all here, which comes out roughly the same cost. So if the prices seem high to you, I'm sorry, maybe some nice Irish family will be happy to get it as a charity donation.
We didn't intentionally wait until the last minute to put stuff up for sale, we just found out we have to leave 3 months ahead of our plan. My wife and I are leaving this week, but we can arrange for the storage of the items with another student until you come in for your Feb start date. Payment would probably have to be through PayPal, as we don't have time to make other arrangements (aka personal check, M.O., etc.) before we leave. We NEED to decide what we're doing with this stuff in the next 48-72 hours. If someone local shows up at my door wanting an item before your PayPal payment hits my account, then I'm sorry, I gotta go with the 'bird in the hand' if ya know what I mean.
I don't check this board anymore, although I'll try to check it once or twice a day. By far the best way to reach me is through my email which is tRdoc21 at gmail dot com.
If this stuff is of help to anyone, let me know, there are pics up there, as well as a downloadable Word document for prices. Thanks!
Hi, i am interested in baby things...infant car seat with fixed base. Bouncy chair. Excersaucer. Girl clothes(newborn). Toys.


text:
Q: Find the radius of convergence and interval of covergence of the series. I'm in the process of trying to learn about the topic of series, power series, etc. (when I say learn I mean self-teach... everything urgh). My general understanding of the topic of Series as a whole is quite low, so a little more insight would be appreciated. Either I don't really take in much from reading or my book does an awful job of explaining it, however...
We have... Find the radius of convergence and interval of convergence of the series...
$\sum^\infty_{n=1}(-1)^nnx^n$
So to do this I try the ratio test (since they used this in the book for most of the examples)...
$|\frac{a_{n+1}}{a_n}| = |\frac{(-1)^{n+1}(n+1)x^n}{(-1)^n(n)x^n}| = |\frac{-1(n+1)}{n}| = |\frac{-n-1}{n}|= |-1 -\frac{1}{n}|$
Hence, this tends towards $|-1|$ or simply $1$ as $n  \rightarrow \infty$
Ratio test says the series converges if 1 < 1 or diverges if 1 > 1. Since 1 = 1 this means the ratio test doesnt work right?
It looks like it is an "Alternating Series" but I again, I have no idea how to apply this...
Can anyone help me out... this is supposedly a basic question but nothing's clicking for me.

A: Why don't you take "the whole thing" and apply the quotient test to the absolute value?:
$$\left|\frac{A_{n+1}}{A_n}\right|=\left|\frac{(n+1)x^{n+1}}{nx^n}\right|=\frac{n+1}n|x|\xrightarrow[n\to\infty]{}|x|$$
so the series converges absolutely for $\;|x|<1\;$ ...
For the radius of convergence apply the Cauchy-Hadamard formula...which gives $\;1\;$ , of course.

redpajama_set_name: RedPajamaStackExchange


- Vols. 3-4 never published.
- COGNITIVE PROCESSING presents the latest results obtained in the manifold disciplines concerned with the different aspects of cognitive processing in natural and artificial systems.


United States President Donald Trump on Wednesday (nearby time) derided Indian Prime Minister Narendra Modi for financing a library in Afghanistan, recommending that a library was of no utilization.
Trump raised India's guide amid a press appearance at a Cabinet meeting as he shielded his push for the United States to contribute less abroad.
"You know what that is? That resembles five hours of what we spend, and we should state, 'Gracious, thank you for the library.' I don't realize who is utilizing it in Afghanistan," the US President said.
The Trump organization a month ago had arranged the withdrawal of around 7,000 troops from Afghanistan sooner rather than later.
The Afghan experts have been asking for the US to not make such a stride as it would hamper its tasks against the Taliban and ISIS-like components.
Against the background of the US' choice to chop down its military nearness in Afghanistan, Afghan National Security Advisor (NSA) Hamdullah Mohib is required to visit India not long from now to talk about security ties between New Delhi and Kabul.
India has been contributing intensely for Afghanistan country building exertion and has given security and military preparing to a substantial number of its residents in the two India and Afghanistan.


Helps in making bowel movements easier.
Facilitates expulsion of toxins out of the body.
Helps maintain healthy digestive functions.
Helps maintain healthy digestive functions help in making bowel movements easier facilitates expulsion of toxins out of the body. This product is not intended to diagnose, treat, cure or prevent any disease.


We can really use your help.
Dennison's tradition of celebrating the last day of school at Lakeside Amusement Park is almost here. Your help with selling tickets before / after school, donating delicious treats (homemade or otherwise) for the bake sale, or even working a shift at the bake sale would be greatly appreciated. Please click on this link, or the button above to view and sign up for volunteer opportunities.
Bring a picnic, come early, and enjoy dinner in the pavilion, but save room for dessert!
Amazing baked goods will also be there for sale!
Look for tickets being sold outside the school.