text:
Call Me a Cab
Donald E. Westlake
We are thrilled to reveal the cover of Call Me a Cab, the last, never-published novel of Donald E. Westlake, available on February 1st, 2022, for the very first time from Hard Case Crime. Read our exclusive excerpt here.
She hailed me on East 62nd Street, not far from Bloomingdale's. She was an attractive girl, wearing big-lensed sunglasses against the June glare, and carrying two plaid suitcases, one of which she waggled at me as I rolled down the street. "Say 'Kennedy,' " I whispered, and eased the cab to a stop.
Opening the rear door, she shoved the suitcases in first, then followed, slammed the door, shoved the sunglasses up on top of her head, and said, "Kennedy."
"You got it," I said, and started the meter with a smile. Not only is the long expensive run from Manhattan out to John F. Kennedy International Airport in Queens one of the joys of a cabby's life, but there's no pleasanter way to drive anywhere than with a good-looking woman in the rearview mirror.
Unless, of course, she's crazy. And in this instance the early signs were not good. This girl did not sit back in the seat as I started off, nor did she cross her legs and look out at the passing world, nor did she take a compact from her shoulder bag so she could study the present condition of her face; all the normal things a good-looking young woman does when settling down alone for a long cab ride. What she did do was talk to herself, muttering phrases I couldn't quite hear. And she kept putting her hands up to both sides of her face like the blinkers on a horse, running her fingers through her long brown hair and then tossing the hair backward in a heavy double wave. And she frowned a lot, and made strange unpleasant faces, and stared at the floor or at the back of my neck. And sat forward on the seat, very tense and upset.
Part of the reason this behavior discomfited me was the lack of a safety partition between the back of my head and the passenger space. In New York City, all the major-company cabs are required to install that safety partition, but the law says private cab owners can decide for themselves, and the private owner of this particular Checker (who just happened to be my own father) had decided not to go the expense. Normally I like it that way, preferring the increased opportunity for friendly conversation and other human contact, but human contact with a crazy person is where I draw the line.
I endured it all the way down Second Avenue and through the Midtown Tunnel, but after I'd paid the toll and accelerated up to speed on the Expressway and she still hadn't settled down I felt I had to do or say something to alter the situation. Frankly, she was making me nervous. So I looked in the mirror and I called, "Excuse me!"
She flashed a quick, irritable, distracted look. "What?" I said, "You a jumper?"
At least I had her attention. "What?"
"Friend of mine had one in his cab," I explained. "A suicide, you know? She wanted to jump off a building, but she was afraid of heights."
She was staring now like Medusa. "A suicide?"
That was the wrong subject. "Afraid of heights," I corrected her. "Try to keep up, will you? This girl's idea was, she could get the same effect if she jumped out of a cab doing sixty."
"I'm not a suicide," she said. And it was true she now looked more outraged than despondent.
"That's good," I said, "because it won't work. There's too much air pressure against the door at this speed, you couldn't get it open."
She glanced at the door, then rather angrily at me. "I'm not a suicide," she repeated.
I continued to drive, she continued to brood, and then I became aware that she was staring at the back of my neck; fixedly, the way I imagine a vampire would.
After that she settled back in the seat at last, obviously thinking things over, and I concentrated on the traffic until she herself picked up the conversation, out past the cemeteries, telling me, "I just have a decision to make, that's all."
So I gave her my philosophy, in a nutshell. "Don't do it."
"Don't do what?"
"Don't make decisions. They can only cause trouble."
"But I promised," she said. "And I always keep my promises. Always."
"Then don't make promises."
She smiled, a bit ruefully; meaning, it's too late not to make this particular promise. Well, it wasn't too late to break it, but who am I to lead another person out of confusion and into the light? I kept my advice to myself, and once again the conversation lapsed.
And once again she was the one to pick it up, just as I made the transfer from the Expressway to the Van Wyck, saying as though there hadn't been any pause at all, "It's about getting married."
"Married?" I don't believe in marriage. "Good luck," I said, and some irony may have crept into my voice.
"It isn't right," she said. "I just keep turning the poor guy down."
"Maybe he's the wrong guy."
"He's the right guy," she insisted. "He's sweet and understanding, he's handsome and rich, he loves me and I love him—what more could I possibly want?"
"Thursdays off?"
"I don't know what I want," she said, shaking her head. "It's just such a big decision, that's all."
"Mm hm." I'd already given my advice on decisions.
"For two years I've been trying to marry him," she said. "That poor guy, I've left him waiting at the marriage license bureau, at the church, and on the JP's front porch."
"He puts up with a lot."
"He's very understanding. That's why I love him so much.
But now he says he can't wait anymore."
"Oh, yeah?"
"He says he wants to marry me, but he says he also just wants to get married."
"Determined fella."
"So I promised him, faithfully, just now on the phone, I'm coming out to Los Angeles—"
"That's where he is, huh?"
"And when I get off the plane, I'll either say yes or no. If it's yes, we'll get right in his car and drive straight to Nevada and be married today."
"Wow," I said.
"If it's no," she said, "he says we'll shake hands and part, and I can take the next plane back to New York."
"So it's do or die. The crunch. Down to the bottom line. This is the nitty gritty."
"That's right," she said. "Five hours from now I'll be in Los Angeles, and I have to be sure by then." She shook her head fiercely, agitating her heavy hair. "How can a person make a decision for their whole life in five hours?"
"I don't know," I said. "With me the question has never come up."
And once more the conversation waned, as she settled back in the seat, biting on the knuckle of her right thumb and brooding about this crisis point in her life. I continued to drive, she continued to brood, and then I became aware that she was staring at the back of my neck; fixedly, the way I imagine a vampire would. I was beginning to get nervous again when she called out: "Say."
"This sign here," she said. "Ask Driver For Out Of Town Rates."
Ah; that was the notice glued to the back of my headrest, so it wasn't my throat she'd been studying after all. I said, "Yeah?"
And she said, "How much to Los Angeles?"
"A hundred million dollars," I said.
"No, I mean it," she said.
She couldn't possibly mean it. A little annoyed, I said, "Come on, Miss."
"Listen, umm—" she said, and leaned forward to look at the license mounted in front of the glove compartment. She wanted my name. "Thomas," she said. "Listen, Thomas, I'm serious. I told Barry I'd make up my mind by the time I got to Los Angeles, and I promised him I'd leave today, but I just can't do it in five hours. How long would it take to drive there? Five or six days?"
I was reluctant to be in this conversation at all. "Probably," I said.
Her expression became almost dreamy. "Away from all distractions," she said. "Away from the office, just driving, plenty of time to think. By the time we got there I'd know, I'd be sure of myself."
It was time to bring her down from the clouds, so she could catch her plane. "It'd be goddam expensive," I said.
"You want me to find out?"
So I switched on the two-way radio. We belong to one of the radio-dispatch outfits—Speediphone Cabs—but unless a fare leaves me in some outlandish backwater I prefer to cruise and find my customers on the street. The kind of people who phone for a cab instead of going outside and hailing one usually live in outlandish backwaters themselves, where there aren't any cabs to hail. In any event, the radio had been off, but now I switched it on, and immediately the cab filled with the harsh voice of Hilda The Dispatcher: "…to Madison and 35th. One-eight."
Pressing the button on its side, I spoke into my mike, giving my call number: "Two-seven."
"One-eight," Hilda insisted, that being the guy she'd decided to talk to next.
Phooey. "Two-seven!" I said, more forcefully. "One-eight!" she said, much more forcefully.
So I tried tact. "I'll be one-eight if you want me to be one- eight, Hilda," I said, "but I'm really two-seven."
"Tom? Get off, I'm trying to talk to one-eight."
"But I'm ready to talk now."
Hilda's sigh came across the airwaves like static. "All right, Tom," she said. "What is it?"
"I got an out of town, she wants a price."
"Los Angeles," I said.
There was a little silence, and then Hilda said, "One-eight!"
"Listen, Hilda," I said, "this is on the level."
"A cab to Los Angeles?" She remained dubious, for which I could hardly blame her.
"That's right," I said. "The customer's in the cab, she wants a price."
"Jesus," Hilda said. "Shut up, one-eight, I got a problem. Tom? I'll get back to you."
"Right," I said, cradled the microphone, and turned the receiver volume down to where I could barely hear it.
The passenger said, "Shouldn't we head the other way now?" Were we really going to Los Angeles? So far everything was still on the meter, so it didn't matter where we went. "Sure," I said.
We were at that moment arriving at the junction of the Van Wyck and the Belt Parkway, just before the airport, and we did a sweep-around of rare and singular beauty, hardly slowing down at all. I took the second Parkway exit (northbound), looping down and to the right away from the Van Wyck like a fighter plane peeling off in a World War Two movie, then swept around onto the Belt, ran under the Van Wyck, took the next exit curving up and to the right, came out onto the Van Wyck in the opposite direction, and laid out toward Manhattan.
The passenger was very excited. She kept looking out the rear window, as though to see the plane she wasn't catching, and she kept saying things like, "It's the only way. It's the only thing that makes sense. I can be sure of myself. Barry will under- stand." That last part was said with a little less excitement and conviction, but she quickly rallied and repeated some of the other sentences some more.
It was perhaps eight minutes before the intermittent tiny squawking of the radio squawked my call number, and then I turned up the receiver volume, grabbed the mike, and said, "Right here."
"Four thousand dollars," Hilda said. "Plus your expenses." Her tone of voice said, There. Now leave me alone with all this nonsense.
I looked in the rearview mirror. "Did you hear it?"
"Four thousand dollars." She'd heard it, all right; she was pale and worried. "I have that much," she said, more to herself than me. "In my savings account, for income tax. I could stall, just pay the interest—" She frowned and chewed her lower lip, working it out, while I drove not too rapidly westward. Then all at once she sat up straighter, her expression full of determination, and said, "Yes."
"You're sure?"
"It's worth it," she said. "For peace of mind, the rest of my life? It's cheap. The IRS can wait."
"Okay." Into the mike I said, "She says it's a go. Tell my father, will you?"
"Cash, or certified check," Hilda said.
"That's fine," the passenger said. "We'll just stop by my bank, and we'll be on our way."
From Call Me a Cab by Donald E. Westlake. Used with the permission of the publisher, Hard Case Crime. Copyright © 2020 by Donald E. Westlake.
10 New Books Coming Out This Week
8 Thrillers Featuring Dysfunctional Families
Call Me a CabDonald E WestlakeHard Case Crime
10 New Books Coming Out This Week Another week, another batch of books for your TBR pile. Happy reading, folks. * Silvia Moreno-Garcia, Velvet Was the Night...


text:
WE'RE HIRING:
Come work with us to defend our rights & freedoms!
Check out our latest job postings and please help us spread the word.
ACLU of Virginia
Páginas en Español
Follow @ACLUVA
Become a Member/Renew Membership
Make a Tax-Deductible Gift
Equality & Sex Discrimination
Free Speech & Religious Liberty
Privacy & Technology
Reproductive Freedom
2018 Voters' Rights
Students' Rights: Speech, Walkouts, and Other Protests
Your Right to Take Photographs and Recordings
More Know Your Rights
ACLU-VA Annual Report (2018)
Rights for All of Us (Spring 2019)
2019 Virginia Legislative Report
Mobile Justice
Advocacy Toolkits
10 Tips for Becoming an Effective Advocate
Prosecutorial Reform: Commonwealth's Attorney
Advocacy Toolkit: Bringing Smart Justice to Prosecutions
Virginia Voters Are Ready for Criminal Justice Reform. It's Time for Elected Officials to Catch Up.
More Campaigns
Tun-Cos, et al. v. Perrotte, et al. (Amicus)
HOME of Virginia, Inc. v. Wisely Properties, LLC and Multifamily Management Services, Inc.
Thorpe, et al. v. Virginia Department of Corrections, et al.
More Legal
Current Session
Pre-trial Justice: Restoring the Presumption of Innocence (2019)
United States Constitution - Ratifies Equal Rights Amendment (2019)
More Legislation
ACLU-VA Puts Law Enforcement on Notice that Warrantless Dragnet Surveillance is Illegal
ACLU-VA Supports Lawsuit Demanding Damages for Immigrants Whose Rights Were Violated by ICE
ACLU Statement on Metro Transit Police Officer's Use of Taser on Bystander
Blog Posts and Op-Eds
James Boyd & Bill Farrar: Transparency needed at regional jail
Juneteenth: The fight for equality, equity and human rights in Virginia is far from over.
Celebrate Pride Month and the 50th Anniversary of Stonewall with Actions
More Blog Posts and Op-Eds
Online Intake Form
Opportunities to Work with Us
Northern Virginia Chapter
But what else can I do?
Note: The views expressed here are the writer's and not necessarily those of the ACLU of Virginia. This article was originally published here.
By Valley Haggard, a Richmond-based writer; teacher; founder of Richmond Young Writers, a writing camp for kids; and the brain behind Life in 10 Minutes project.
My mother has always been a rebel and an activist, with deep roots in the Jewish tradition of social justice, of never forget. At my mother's house there's always room for one more at the table, there's always a meal to bring somewhere, a person or a cause to uplift. My mother brought me to my first march in Washington and she continues to show up at marches and rallies and protests again and again. She told me as she grows older she's convinced her job is to be a body, to show up, to be counted.
Sometimes I'm ready to march, to protest, to call, to write, to rally. Sometimes the most revolutionary thing I can do in a day is figure out how to survive and take care of myself.
Sometimes I'm called to advocate for others, sometimes I have to learn to advocate for myself. Sometimes the healing work I'm called to do in the world is on the outside, sometimes it's deep within.
Because of my 13 year-old son's passionate and prolific activism, this weekend my family was gifted the opportunity to listen to, learn from and meet some of the greatest social justice warriors of our time at the national ACLU Conference 2018: Bryan Stevenson, Elizabeth Warren, Patrisse Cullors, Andrea Ritchie, and about 100 other ridiculously smart and luminous revolutionaries. It was humbling, mind blowing, and deeply inspirational.
While Henry walked around with his briefcase confidently handing out business cards and introducing himself to Harvard Law Professors, Executive Directors of the ACLU, New York Times journalists, and the godparents of Yolanda Renee King, I hung back, proud as hell, but uncertain, too. It's fun and easy to imagine what this up and coming spunky go-getter young person and others like him will do to save the world, but what about the rest of us non-Harvard grads? What else can I do?
At least part of my answer, the kind that swoops through your gut and unfurls in your chest like wings, came during the last workshop on the last day with during a lecture by iconic civil rights activist Marshall Ganz, senior lecturer in public policy at the Kennedy School of Government at Harvard University (I swear to GOD, everyone at this conference was AT THE VERY LEAST a Harvard Law School grad). Marshall Ganz's #2 strategy for organizing, after relationship-building, was storytelling. "Emotion is not to be feared or marginalized," he told us. "It is to be learned from. It's the emotional learning that enables us to turn reactions into responses. Story is how we do this." And there it was. There it IS. This deep truth that I KNOW. Stories teach. Stories heal. Stories connect and educate and inspire. Personal stories destroy stereotypes and ignite compassion, for others, for our selves and for the world we live in. My passion is already providing a safe and sacred space for stories to be written and providing a platform where those stories can be heard.
And now I'm ready to take it to the next level. I have some ideas. I've made some phone calls. Some things are in motion. I hope you'll consider telling me your story while mine continues to unfold. Stay tuned.
Government Officials should Preserve Public Forums for Free Speech
ACLU-VA Urges Henry County to Reconsider Panhandling Ban
Irony is Dead: Woman Depicting Peace Triumphing Over Tyranny Jailed...
It's No Trick — These Virginia Cities Are Criminalizing Halloween
The art and science of activism depend on each other. Without one,...
Black students deserve more inclusion in the conversation on gun...
ACLU-VA to Loudoun County Public Schools: The national student...
The Students are Right: Taking action on gun violence does not...
ACLU of Virginia is part of a network of affiliates
Learn more about ACLU National
miACLU
This is the website of the American Civil Liberties Union of Virginia and the ACLU Foundation of Virginia.
Learn more about these two components of the ACLU.
© 2019 ACLU of the Virginia

redpajama_set_name: RedPajamaCommonCrawl


It was widely seen as a diversion from the Kyoto programme (see below), but the work programme Bush launched is due to lead to a meeting this summer, with presumably some results to show. So maybe its worth looking at what Bush expected.
And he then indicated his favourites- 'advanced clean coal technology' and 'clean safe nuclear power', along with wind and solar power and for vehicles 'sustainable biofuels like cellulosic ethanol', plus hydrogen.
He said that to make these technologies more widely available, especially in the developing world he proposed 'that we join together to create a new international clean technology fund. This fund will be supported by contributions from governments from around the world, and it will help finance clean energy projects in the developing world.' At the same time, he said 'we also must promote global free trade in energy technology. The most immediate and effective action we can take is to eliminate tariff and non-tariff barriers on clean energy goods and services.' Lastly he said 'we must also address another major factor in climate change, which is deforestation'. Quite an agenda. And all by voluntary means. We wonder what will emerge later this year when the final meeting is held..
Meanwhile the UNFCC programme grinds on, with the Bali meeting in Dec. trying to set the agenda for a post-2012 Kyoto II. That has to be agreed by 2009 to be workable, but progress was slow, despite Australia's shift. But at least a timetable was set.
As carbon sinks fill, the US journal PNAS, says climate change could be 'stronger than expected and sooner than expected'. In the journal Nature, Gwyn Prins from LSE and Steve Rayner from Oxford, say forget Kyoto, 'investment in energy R&D should be placed on a wartime footing,' to create clean energy options.
'It seems reasonable to expect the world's leading economies and emitters to devote as much money to this challenge as they currently spend on military research'. But not likely..
According to Achim Steiner, director of the UN Environment Program and UN Under-Secretary General, the alleged link between biofuel production and increased food prices is mere speculation and it is unlikely that biofuels play a role. Far more important factors are bad harvests in the major food producing regions, violent weather conditions induced by climate change, and rapidly growing demand from China. While further study is needed to understand the impact of biofuels on crop markets, he said it was unlikely that biofuel crops are responsible for price increases of tortilla flour in Mexico or of pasta in Italy- but, he noted, some journalists and those with an anti-biofuel agenda have tried to make a link.
But, increasingly violent weather did pose a real danger to crops and to food supplies, particularly for the world's poorest. This much greater threat to the supply and price stability of food and agricultural products comes from climate change and the expected increase in floods, droughts and other crop-damaging weather. He felt that Biofuels, which reduce carbon emissions offer an opportunity to mitigate this threat.
Other views: BBC News 24 on line 27th Oct reported that UN special rapporteur on the 'right to food', Jean Ziegler, said he feared biofuels would bring more hunger and called for a 5 year ban: diverting arable land to the production of crops which are then burned for fuel was he said a crime against humanity. And leading science journal Nature (11/10/07) said 'Biofuels need new technology, new agronomy and new politics if they are not to do more harm than good'.
The IEA's new 'Solar Heat Worldwide' review says by 2006 there was 118GW(Th) of solar heat collector capacity in place. China led with over 52 GW.
The prospects for Concentrating Solar Power (CSP) are also looking up. www.emerging-energy.com says that 'Parabolic trough and central receiver projects installed in 2007 represent the beginning of the 5,800 MW pipeline CSP projects planned to come on line by 2012'.


There has been word that there will be a Westworld remake or a series adaptation for television for the past couple of years, and Jonathan Nolan and J.J. Abrams names are tied to the project.
Westworld was the first film that made me fear the dawn of the robot age – that computer embedded and wired life-like human operational machines can take over. Notice that I didn't mention android or artificial intelligence? The reason being is because this film was released in theaters in 1973. It was very rare that anyone referred an intelligent robot as an android or artificial intelligence to some extent; the terms were far-fetched to the greater public at the time and not widely used.


Adobe Lightroom expert Dan Moughamian demonstrates the complete workflow and common settings for the Adjustment Brush, Graduated Filter, and the brand new Radial Filter in Lightroom 5. These local adjustments make it possible to isolate your tonal and color changes to specific regions of an image, leaving the remaining pixels unaffected.
While the look that each creates can be very different, the Adjustment Brush, Graduated Filter, and Radial Filter in Lightroom 5 all share some common traits. The most obvious trait is that they all share a common set of tone, color, and detail controls for manipulating a specific region of pixels in the photo.
The big difference among them is that each of the three tools isolates (or masks) pixels in unique ways, and that's really the trick to learning each and knowing which one to use in a particular situation, or whether to use all three! The Adjustment Brush (shortcut: K), shown in Figure 1, allows you to paint a mask over the areas you want to modify, which makes it great for applying changes to areas with random shapes or boundaries.
Figure 1 An example of an image with an Adjustment Brush mask applied and visible. For this tool, the mask denotes the area that will be modified.
Figure 2 The Graduated Filter in action.
The new Radial Filter (shortcut: Shift+M), shown in Figure 3, is similar in some respects to the Graduated Filter in that you create a geometric overlay that defines the boundaries of the changes you wish to make—except here, the intent is to create vignette-like effects. A common example is darkening the bright details the surround a subject, but that's far from the only use, as we'll see.
Figure 3 The new Radial Filter in Lightroom 5 allows simple creation of vignette-like effects using the full range of local adjustment controls.
There's no concrete rule about which tool to use first, but when combining their effects, it's usually best to leave the Adjustment Brush work for last. Brushed adjustments are the most precise, and you can create them already knowing what the combined effect of the two filters are, should there be some overlap. You can use stronger or more faintly applied adjustments as necessary, and in a precise way.
For this example, we will look at a small waterfall scene that needs certain details to be emphasized, while others would benefit from less emphasis. For example, as shown in Figure 4, the top and bottom of the frame should be darker than the central part of the scene (Graduated Filter), while the waterfall and leaves need their own local color treatments (Radial Filter), and some of the mossy rocks need their details handled differently than the surrounding pixels (Adjustment Brush).
Figure 4 The lighting and details in this shot can benefit from the Radial Filter and other local adjustments in Lightroom 5.


text:
/* @flow */
/* eslint max-lines: 0 */

import { assert } from 'chai';

import { onHashChange, uniqueID, generateECToken, CHILD_REDIRECT_URI, IE8_USER_AGENT, createElement, createTestContainer, destroyTestContainer, getElement } from '../common';

for (let flow of [ 'popup', 'iframe' ]) {

    describe(`paypal legacy checkout flow with hybrid hijack/startFlow on ${ flow }`, () => {

        beforeEach(() => {
            createTestContainer();
            window.paypal.Checkout.contexts.iframe = (flow === 'iframe');
        });

        afterEach(() => {
            destroyTestContainer();
            window.location.hash = '';
            window.paypal.Checkout.contexts.iframe = false;
        });

        it('should render a button into a form container and click on the button, with a custom listener and immediate startFlow', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.startFlow(token);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=${ token }&PayerID=YYYYYYYYYYYYY`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener and immediate startFlow, and a cancel', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.startFlow(token);
                });

                window.__test__ = { action: 'cancel' };

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#cancel?token=${ token }`);
                });
            });
        });

        it('should render a button into a link and click on the button, with a custom listener and immediate startFlow', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testLink = createElement({
                tag:       'a',
                id:        'testLink',
                container: 'testContainer',
                props:     {
                    href: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                }
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testLink'

            }).then(() => {

                getElement('button', testLink).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.startFlow(token);
                });

                getElement('button', testLink).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=${ token }&PayerID=YYYYYYYYYYYYY`);
                });
            });
        });

        it('should render a custom button into a form container and click on the button', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    },

                    {
                        tag: 'button',
                        id:  'testButton'
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                button: 'testButton'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.startFlow(token);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=${ token }&PayerID=YYYYYYYYYYYYY`);
                });
            });
        });

        it('should render a custom link and click on the link', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testLink = createElement({
                tag:       'a',
                id:        'testLink',
                container: 'testContainer',
                props:     {
                    href: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                }
            });

            return window.paypal.checkout.setup('merchantID', {

                button: 'testLink'

            }).then(() => {

                testLink.addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.startFlow(token);
                });

                testLink.click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=${ token }&PayerID=YYYYYYYYYYYYY`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener and immediate startFlow with a url', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.startFlow(`${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=${ token }&PayerID=YYYYYYYYYYYYY&hash=${ hash }`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener and immediate startFlow with a url in an ineligible browser', () => {

            let token = generateECToken();
            let hash = uniqueID();

            Object.defineProperty(window.navigator, 'userAgent', {
                value:        IE8_USER_AGENT,
                configurable: true
            });

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.startFlow(`#fullpageRedirectUrl?token=${ token }`);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#fullpageRedirectUrl?token=${ token }`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, initXO and immediate startFlow', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.initXO();
                    window.paypal.checkout.startFlow(token);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=${ token }&PayerID=YYYYYYYYYYYYY`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, initXO and immediate startFlow with a url', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.initXO();
                    window.paypal.checkout.startFlow(`${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=${ token }&PayerID=YYYYYYYYYYYYY&hash=${ hash }`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, initXO and immediate startFlow with a url in an ineligible browser', () => {

            let token = generateECToken();
            let hash = uniqueID();

            Object.defineProperty(window.navigator, 'userAgent', {
                value:        IE8_USER_AGENT,
                configurable: true
            });

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.initXO();
                    window.paypal.checkout.startFlow(`#fullpageRedirectUrl?token=${ token }`);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#fullpageRedirectUrl?token=${ token }`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, initXO and startFlow', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.initXO();
                    setTimeout(() => {
                        window.paypal.checkout.startFlow(token);
                    }, 200);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=${ token }&PayerID=YYYYYYYYYYYYY`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, initXO and startFlow with a url', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.initXO();
                    setTimeout(() => {
                        window.paypal.checkout.startFlow(`${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`);
                    }, 200);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=${ token }&PayerID=YYYYYYYYYYYYY&hash=${ hash }`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, initXO and startFlow with a url in an ineligible browser', () => {

            let token = generateECToken();
            let hash = uniqueID();

            Object.defineProperty(window.navigator, 'userAgent', {
                value:        IE8_USER_AGENT,
                configurable: true
            });

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.initXO();
                    setTimeout(() => {
                        window.paypal.checkout.startFlow(`#fullpageRedirectUrl?token=${ token }`);
                    }, 200);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#fullpageRedirectUrl?token=${ token }`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, initXO and startFlow with a url with no token', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.initXO();
                    setTimeout(() => {
                        window.paypal.checkout.startFlow(`${ CHILD_REDIRECT_URI }#${ hash }`);
                    }, 200);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=EC-XXXXXXXXXXXXXXXXX&PayerID=YYYYYYYYYYYYY&hash=${ hash }`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, initXO and startFlow with a url with no token in an ineligible browser', () => {

            Object.defineProperty(window.navigator, 'userAgent', {
                value:        IE8_USER_AGENT,
                configurable: true
            });

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.initXO();
                    setTimeout(() => {
                        window.paypal.checkout.startFlow(`#fullpageRedirectUrl?token=${ token }`);
                    }, 200);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#fullpageRedirectUrl?token=${ token }`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, and call closeFlow', (done) => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();

                    setTimeout(() => {
                        window.paypal.checkout.closeFlow();

                        if (flow === 'iframe') {
                            if (window.paypal.checkout.win.closed) {
                                return done();
                            } else {
                                return done(new Error('Expected iframe to be closed'));
                            }
                        }
                    }, 200);
                });

                if (flow === 'popup') {
                    let open = window.open;
                    window.open = function overrideWindowOpen() : CrossDomainWindowType {
                        window.open = open;

                        let win = window.open.apply(this, arguments);

                        let close = win.close;
                        win.close = function overrideWindowClose() : void {
                            let result = close.apply(this, arguments);
                            done();
                            return result;
                        };

                        return win;
                    };
                }

                getElement('button', testForm).click();
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, and call closeFlow with a url', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();

                    setTimeout(() => {
                        window.paypal.checkout.closeFlow('#closeFlowUrl');
                    }, 200);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#closeFlowUrl`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, and call closeFlow immediately with a url', () => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();

                    window.paypal.checkout.closeFlow('#closeFlowUrl');
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#closeFlowUrl`);
                });
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, and call closeFlow immediately', (done) => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();

                    window.paypal.checkout.closeFlow();

                    if (flow === 'iframe') {
                        if (window.paypal.checkout.win.closed) {
                            return done();
                        } else {
                            return done(new Error('Expected iframe to be closed'));
                        }
                    }
                });

                if (flow === 'popup') {
                    let open = window.open;
                    window.open = function overrideWindowOpen() : CrossDomainWindowType {
                        window.open = open;

                        let win = window.open.apply(this, arguments);

                        let close = win.close;
                        win.close = function overrideWindowClose() : void {
                            let result = close.apply(this, arguments);
                            done();
                            return result;
                        };

                        return win;
                    };
                }

                getElement('button', testForm).click();
            }).catch(done);
        });

        it('should render a button into a form container and click on the button, with a custom listener, initXO and closeFlow', (done) => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();

                    window.paypal.checkout.initXO();
                    setTimeout(() => {
                        window.paypal.checkout.closeFlow();

                        if (flow === 'iframe') {
                            if (window.paypal.checkout.win.closed) {
                                return done();
                            } else {
                                return done(new Error('Expected iframe to be closed'));
                            }
                        }
                    }, 200);
                });

                if (flow === 'popup') {
                    let open = window.open;
                    window.open = function overrideWindowOpen() : CrossDomainWindowType {
                        window.open = open;

                        let win = window.open.apply(this, arguments);

                        let close = win.close;
                        win.close = function overrideWindowClose() : void {
                            let result = close.apply(this, arguments);
                            done();
                            return result;
                        };

                        return win;
                    };
                }

                getElement('button', testForm).click();
            });
        });

        it('should render a button into a form container and click on the button, with a custom listener, initXO and closeFlow immediately', (done) => {

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();

                    window.paypal.checkout.initXO();
                    window.paypal.checkout.closeFlow();

                    if (flow === 'iframe') {
                        if (window.paypal.checkout.win.closed) {
                            return done();
                        } else {
                            return done(new Error('Expected iframe to be closed'));
                        }
                    }
                });

                if (flow === 'popup') {
                    let open = window.open;
                    window.open = function overrideWindowOpen() : CrossDomainWindowType {
                        window.open = open;

                        let win = window.open.apply(this, arguments);

                        let close = win.close;
                        win.close = function overrideWindowClose() : void {
                            let result = close.apply(this, arguments);
                            done();
                            return result;
                        };

                        return win;
                    };
                }

                getElement('button', testForm).click();
            }).catch(done);
        });

        it('should render a button into a form container and click on the button, with a custom listener and immediate startFlow, with a post-bridge', () => {

            window.paypal.postRobot.CONFIG.ALLOW_POSTMESSAGE_POPUP = false;

            let token = generateECToken();
            let hash = uniqueID();

            let testForm = createElement({
                tag:       'form',
                container: 'testContainer',
                id:        'testForm',
                props:     {
                    action: `${ window.paypal.config.checkoutUrl }&token=${ token }#${ hash }`
                },

                children: [
                    {
                        tag:   'input',
                        props: {
                            name:  'token',
                            value: token
                        }
                    }
                ]
            });

            return window.paypal.checkout.setup('merchantID', {

                container: 'testForm'

            }).then(() => {

                getElement('button', testForm).addEventListener('click', (event : Event) => {
                    event.preventDefault();
                    window.paypal.checkout.startFlow(token);
                });

                getElement('button', testForm).click();

                return onHashChange().then(urlHash => {
                    assert.equal(urlHash, `#return?token=${ token }&PayerID=YYYYYYYYYYYYY`);
                });
            });
        });
    });
}

redpajama_set_name: RedPajamaGithub


Though it sounds complex, this recipe takes about 15 minutes of prep work, then bakes for about an hour, leaving plenty of time to step away and (hopefully) relax before dinner's on the table.
If desired, peel the tomatoes before using. To do this, bring a large pot of water to a boil. Insert the tomatoes and boil for 2 minutes. Put a colander in the sink and pour the tomatoes into the colander to drain. Rinse briefly with cold water. The skins will slip right off.
Put the chopped tomatoes, green pepper, onion, and basil in a large pot. Bring to a boil, then reduce to medium-low heat and simmer until vegetables are cooked through and the mixture has slightly thickened, about 30 minutes. If preparing with the casserole, I just simmer the mixture until the casserole is finished.
Note: To make the vegan buttermilk, put 2 tablespoons (30mL) cider vinegar in a measuring up. Add nondairy milk to total 2 1/4 cups (520mL). Let stand 3 minutes, until curdled.
Fragrant matcha gets a dose of summer flavor when serve chilled with a drizzle of syrup. If you opt for the Ice Syrup route, check out icesyrup.com where you can see where to pick up the unique, local ingredient.
Put the hot water in a small bowl. Add the matcha and whisk until smooth. Stir in the coconut syrup or ice syrup until it dissolves. Pour the mixture into a glass. Add the nondairy milk, vanilla extract, and ice cubes. Mix well. Serve chilled.
Note: Both syrups lend a different flavor to the drink, so be sure to mark your preference before you pour it in. Give it a taste and sample as you add it for your own level of sweetness.


The application stores sensitive information in cleartext in an executable.
Attackers can reverse engineer binary code to obtain secret data. This is especially easy when the cleartext is plain ASCII. Even if the information is encoded in a way that is not human-readable, certain techniques could determine which encoding is being used, then decode the information.
Architecture and Design OMISSION: This weakness is caused by missing a security tactic during the architecture and design phase.
Product stores RSA private key in a DLL and uses it to sign a certificate, allowing spoofing of servers and MITM attacks.
Different people use "cleartext" and "plaintext" to mean the same thing: the lack of encryption. However, within cryptography, these have more precise meanings. Plaintext is the information just before it is fed into a cryptographic algorithm, including already-encrypted text. Cleartext is any information that is unencrypted, although it might be in an encoded form that is not easily human-readable (such as base64 encoding).


MEET the 16-year-old New Zealand schoolboy being chased by NRL and Super Rugby clubs on both sides of the Tasman.
Christian Tuipulotu is so talented he has been part of the Warriors system since a young age but is coming off-contract, opening the door for an eye-popping battle for his signature.
Almost every club in the NRL is chasing him.
A centre who looks equally at home in the back row, Tuipulotu started meeting with potential suitors last week.
In fact, foxsports.com.au can reveal the Roosters flew the prospect to Queenstown to join the team while they were in New Zealand for a pre-season training camp.
The meetings will continue with both codes this month.
While he's a strong defender, it's his late footwork at the line which has clubs so excited.
A similar player to Kiwi international Tohu Harris, aside from his freakish talents, his leadership qualities are equally impressive.
While his manager Daniel O'Loughlin was reluctant to discuss his client's future, he did confirm there's been no shortage of interest in the young gun.
"He's with the Warriors and in his last year at school," O'Loughlin told foxsports.com.au.
A cross-code star, Tuipulotu captained the New Zealand under 16s last season, claiming the Auckland player of the year award for the second straight year.
A product of famed New Zealand rugby league school St Paul's College, Warriors general manager Brian Smith has started talks to keep the gun in Auckland.
"We're reluctant to discuss contracts in the public domain," Smith told foxsports.com.au.
"What I will say is we are vitally interested in him. His brother is already part of our club. We're keen for him to join his brother.
"That opened the door to the Auckland Blues where he was recently involved with their academy squad.
While the Super Rugby franchise is keen on the gun, who'll celebrate his 17th birthday this month, it's understood they're resigned to not being able to compete with cashed up NRL clubs.
Earlier this month, Tuipulotu was named as a finalist for the NZRL under 16s player of the year.
On Monday, he was declared the winner.
Not only has Tuipulotu been blessed with freakish talents on the field, he's also academically gifted.
With the young man's studies of the utmost importance, O'Loughlin stressed there's no hurry to finalise his future.
There is that many Kiwi's/Islander boys coming out of NZ playing NRL now that they should have their own comp.
The NRL is going to be like the EPL soon. There will be more overseas players than Aussie players. I think they have to bring in a rule where each club can only have 5 or 6 non Australians in their squads.
But what about the 'Dreamers'?
Aussie players should get better if they want spots in the squad.
Bingo. I don't want the best players getting forced out by some stupid protectionist policy. I don't wanna see soft, white kids dominating clubs while gun islanders/kiwis struggle to find contracts.
If anything, I highly value ethnic diversity in the NRL. With rugby becoming an olympic sport, I kinda hope we're gonna see some gun players coming out of China, Russia, USA...etc. There's so much potential if more countries can start teaching people how to handle a footy from a young age!!
And sorry but faaaark me... a 16y/o who looks fit and makes Cords look tiny is insane!!! Very impressive physique there.
Last edited by ism22; 02-13-2018, 09:09 PM.
I was more coming from that NZ need to have their own comp. I think they would have a better standard of players than England & it would be a better world club challenge if the teams finishing in both comps played off to be named the champion RL team.
Yeah who can also apparently play center? So you'd assume he's athletic too, not just huge.
And that's 100% it, the more diversity in the game, the better the product gets, I want to see the best players possible, who cares where they're from.
WOW. 16 years old and that big all ready.
Sign him quick. Centre for us for a few years.
Can he defend in the NRL at centre?
Is he a prodigy or is he just bigger than everyone else his age aka Tony Williams.
Or he could end up like Latrell, gotta take some risks.


One of the best parts of what I do here at UNE is talking to MPH students. Every grad student at UNE that I've ever spoken to has been passionate. Passionate about a job well done, passionate about a new program or initiative that they've been able to start directly because of what they've learned in class, passionate about their field. Grad students seem to have a laser focus on what they want, and they are determined to get there.
At UNE, the two years it takes to get your MPH online is an intense time period and a sizable amount of sacrifice. But you finish with far more than a piece of paper. Your hard work results in a broader view of the world and a sharpened set of tools to help you achieve your goals.
I met with Christina Melvin on the phone today, and I got to get a great insight as to how, exactly, she has incorporated her MPH into her life. The field of public health is so broad, it's always interesting to see what someone does with their Master's degree, what motivated them to get their MPH in the first place, and to talk frankly about whether the time and dollar investment is worth it.
Can you tell me a little about yourself, and what encouraged you to get your MPH?
I've always been involved in public health, I just haven't always known it. As a vet tech in 1998, I didn't even realize that I was practicing public health by letting pet owners know how to care for their animals. That's how wide the field of public health is.
You know how one thing leads to the next… well, I looked into public health options in order to marry my love of vet medicine and helping the public, and life just took off from there. I was in pre vet school for a number of years, and now I teach out of the veterinary clinic attached to the high school.
What did you like about UNE and your program?
I loved meeting people from around the world! I enjoyed the variety of MPH courses, and felt that I was exposed to a wide variety of topics and issues in public health. The instructors were helpful and encouraged us to get out of our comfort zones and learn about something new.
I have to say my favorite class was Health Literacy with Dr. Denali. I never knew how vital Health Literacy was, and I will be writing an article about Veterinary Health Literacy this Fall/Winter. It's a simple concept, but so powerful. We learned how to get your point across effectively in order to communicate to your population by recognizing and allowing for literacy and cultural differences. It's so important to keep your audience in mind while you're developing public health programs.
My Practicum was also absolutely amazing. I learned so much, and I was very lucky to work with a great group of people!
How did you choose your Practicum topic?
I had already known that I wanted to do something related to One Health. One of my teacher colleagues had connections with folks at the USDA and put me in contact with someone at the USDA APHIS Wildlife services in Sutton. That's how I learned about the Cape Cod Oral Rabies Vaccination Project.
My Practicum was an awesome experience. I was able to choose something that I was already passionate about, animals, and I was able to work with the USDA to work to eliminate rabies on Cape Cod. Originally the State of Massachusetts tried to see what they could do to eliminate rabies, but their funding ran out, so the USDA took the program over.
I worked with Wildlife Biologist Brian Bjorklund throughout the Practicum. In March and April, we set bait for raccoons, skunks, and possums. First, we used fishy-smelling food blocks to attract the animals. The animals would eat the food block, which was laced with an oral rabies vaccination, and they would become inoculated against rabies. To test how effective our vaccination attempts were, we did a follow up later in the year.
For the second phase, we set humane traps using marshmallows with a cherry and fish smell as bait. When animals entered the trap and were detained, we would sedate the animal and collect a blood sample. We would test the blood sample for a specific titer that would tell us if the animal was exposed to the bait, which told us whether or not the animals were eating the bait and whether or not the program was working. We also did species DNA testing. Then we released animals back where they found them.
We had to get permission to bait and trap wildlife on landowners properties, which people were more than willing to cooperate with. But when we explained that we had to re-release the animals back onto their properties, the landowners were not very happy about it. They didn't want the raccoons and skunks back and asked if we could just transport them somewhere else and release them into the woods there.
Moving animals from one geographical location to the next is called translocation/relocation – and that's actually the reason why we have rabies in the Northeast today. Raccoon hunting used to be a very popular sport, and people relocated raccoons to the northeast for hunting. Those relocated raccoons brought rabies with them. So it's in that way that translocation spreads disease, and is dangerous. Introducing new diseases into an area harms the native species, disrupts the balance of things and harms peoples' health.
You mentioned that you teach in high school. What subject do you teach?
I am dually licensed in Animal Science and Biology, and I am also a Certified Veterinary Technician (CVT) in MA. I am currently the Instructor-in-Charge of our Veterinary Assisting program at Worcester Technical High School. It's a trade school, with 23 trades available. At the beginning of their high school career, freshmen are required to pick eight trades that they're interested in, and they explore through them. There are currently 48 students in the veterinary program.
I started the program in 2007 and watched it blossom into a model program. Prior to teaching, I worked as an Assistant Supervisor at Cummings School of Veterinary Medicine at Tufts University (formerly just called Tufts Veterinary School). I was able to help start a partnership with Tufts, and in return, they opened a low-cost veterinary clinic at our school that offers care for pets of those with limited means. They handle 400 cases a month, mostly of animals that haven't received veterinary care.
This presented a wonderful opportunity to teach my students about the importance of keeping pets healthy so we can help people stay healthy. Clients that had not been able to afford veterinary care for their pets are now able to get them the care they need and learn about zoonotic diseases that can be prevented (i.e. rabies).
During the summer I teach Biology/Science for an outreach program – the High School Health Careers Program (HSHCP) at UMass Medical School in Worcester, MA.
Do you feel that having the knowledge gained from your MPH studies helps on a day to day basis?
Yes! I have incorporated my knowledge into my lessons for all my students. Having the clinic really helps my students to learn about the importance of educating our clients about preventative veterinary care. I always tell my students that in veterinary medicine we are not just helping animals, but helping people as well via public health.
I decided to get my MPH because I am really interested in being well rounded. I found that the program has also opened eyes to public health policy-type issues too.
Was getting your MPH directly related to getting a pay raise?
As a teacher, we get raises as we increase our education level, so getting a pay raise is directly linked to getting a Master's degree. It's in our contract. I looked into getting my Master's in Education, but when I looked at the job market, I felt that getting my Master's in Public Health made me more marketable in the larger job market, beyond the field of education.
So, in 2012 I started my MPH, and I feel that this degree has opened many doors for me going forward.
What did you find was the most challenging aspect of the getting your MPH online?
Keeping myself focused and having self-discipline. I am a mother, a wife, and I run a very successful and challenging program! It's so easy to just say "oh I will do that tomorrow…" I had to really train myself to stay on track. I made a schedule centered around due dates, and I stuck to it. The workload is very heavy, and I was really challenged. This program is not for procrastinators.
I have to say that online programs are HARD. Also, I am used to working face to face and in groups, and the lack of that was difficult to adjust to.
If you had a magic wand, would you do it all over again?
I would. I feel as though I had a thorough, solid education. If I had one wish, though, it would be that there were concentrations. I would have LOVED to concentrate solely in Epidemiology or Environmental Health. I also wish there was a Ph.D. program.
What was your favorite part of the online MPH program?
I liked the eight-week format. I also liked that the program is designed to take one class at a time, and you do not feel pressured to take two classes simultaneously unless you are trying to finish faster. I took one class at a time, except for in the summer, and then I took two.
Getting my MPH has opened up a lot of doors for me, especially in the Education field. I feel that I have more options, which allow me to be flexible.


This may well be true, but come Spring my fancy turns to thoughts of asparagus and how many times a week I can eat it during it's all too brief season. Everyone's got their thing. My roommate more or less patiently puts up with my 4 week obsession with asparagus because I keep promising her that it precedes the arrival of local strawberries, in which I shall also luxuriate.
I took my winter coat to the dry cleaners this past weekend. The girl behind the counter worriedly told me that they wouldn't be able to get the coat back to me in 24 hours, that it would take a couple of days. I reassured her that I wasn't planning on needing my heavy wool coat again for a couple of months and I could probably wait until Tuesday or Wednesday to get it back.
This is to say, Massachusetts has finally achieved Spring. If the presence of asparagus and rhubarb weren't evidence enough of Spring, I can bring in any number of witnesses – myself included – who are suffering from the metric tonnage of pollen that has been dumped on us. This, incidentally, is not really a complaint. I will accept the pollen as a reasonable price to pay for being able to feel the sun on my skin – the first time I walked out of my house in a tank top I felt like I was indecent it had been so long since I'd worn that little clothing. That said, as I told a friend recently, if the dire winter and the excessive amounts of pollen this spring are harbingers of the ecological apocalypse I'd like to opt out now.
Anyway, this is the asparagus season roundup for 2014. I have pan fried it, grilled it, roasted it, pureed it, steamed it, and tomorrow I plan to pickle it. Given more time I'd experiment with turning it into pesto, or making a thai inspired spicy soup, but asparagus's time with us is all too fleeting and unless the weather shifts dramatically from predictions (which given that this is the Northeast is not outside the realm of possibility) we're at the end of the season. I shall just have to bear these thoughts in mind for next year, and refocus my attentions on the upcoming strawberry and sugar snap pea crops.


QRP-L 950401: MIZUHO MX-14S Info?
Next message: Hank Kohl: "MI QRP Club - The 5 Watter"
Previous message: Tim Stabler: "QRPp"
can help with the following questions.
attachment on the other. Which do I undo?
of this in the info I have.
would be helpful. I'm hoping to take this on a trip to Scotland this Summer.


The following are the reviews for the Sharyland High School Credit By Exams. Contact your counselor to obtain details.
Students must provide their own #2 pencils and calculators (for math and science) exams.
Reviews for exams can be found on the Reviews for Credit by Exam Tab.


Thomas - Vocalist, Guitar, Bass, Drums, Harmonica (and pretty much everything else at one time or another)!
With hard work and dedication, Thomas Link (aka Mister Link) is proving out Rudyard Kipling's poetic assertion. Granted, he may be moving at a measured pace in pursuit of a successful music career, but after giving the old traditional rock band model several valiant attempts, Mister Link now has bragging rights to a full-length recording under its belt, and another one on the way. Link is quickly realizing that individualistic self-reliance may have been his missing link all along.
"Most of my music is rock," he says, "with elements of classic, modern, country-rock, folk..." A reviewer for We Are Listening agreed, saying Link's "voice has great qualities and color to it! Of course, reminiscent of Jim Morrison, but also it has its own unique expression to it." This reviewer also heard traces of R.E.M., The Doors, The B-52s and Led Zeppelin in Link's early efforts.
Ultimately, Link describes himself as "dedicated and determined, maybe even a little obsessed with my music and writing." Such individualized obsession should make Kipling proud, listeners pleased, and Mister Link's journey fulfilling.


This year, Urban Fondue wants to help you plan the perfect evening: dinner, dessert, and a 2-hour limo to the lights! Perfect for a party of two or a party of up to 40.
Gift $50, Get $5 when you buy an Urban Restaurants Universal Gift Card.


Efficient route planning is key not only to competitiveness but to meeting the Smart Metering targets for utilities.
This is where route optimisation software solutions from ISL really makes a difference! Route optimisation and route planning software from ISL is helping utility companies to reduce and/or cap costs through the production of optimised routes that can be created daily as and when required or strategically for the modelling of roll-out programmes, such as Smart Meters, as well as meter reading and maintenance programmes.
Geographic Information System (GIS) technology is now part of most modern utility services. But when it comes to route or territory planning for field service crews, meter operations and related geospatial activities such as inspections programmes, meter swap-outs and maintenance service activities, many utilities continue to use manual techniques or rely on scheduling software.
RouteSmart for ArcGIS route optimisation software operates within the ESRI ArcGIS technology platform and uses highly accurate street data from the Ordnance Survey and/or HERE (formerly NAVTEQ). ISL maintains official business partner status with both ESRI and the OS to ensure solutions are up-to-date and compatible with the latest releases and updates.
ISL solutions can be deployed in a desktop environment, externally hosted or in the Cloud. The RouteSmart Cloud deployment (Routing-as-a-Service or "RaaS" for short) is accessed via an API through a web services call and is therefore ideal when companies have an ERP system that lacks route optimisation / route planning functionality.


The notification report provides a merchant with a detailed breakdown of what notifications were sent via email or SMS to their consumers. To access the report click the Reporting link in the left navigation panel and select Notifications.
Begin Date – Used to select the first day of transactions the report will display.
End Date – Used to select the last day of transactions the report will display.
Template Name – This drop down allows merchants to narrow the results based on specific templates.
Phone Number – This field can be used to search for a specific consumer by last name.
Email Address – This field can be used to search for a specific consumer by last name.
Once the desired filter criteria has been chosen the merchant can click the submit button to view the results of the report.
The merchant will be able to see a total number of records displayed at the bottom of the screen.


Ports of SamSho and SamSho II on a single disc. They look great and sound great, the only problems are very long load times (a PS2 with Fast Loading enabled is almost a requirement) and slowdown, particularly in the first game. For the second game the port team lowered the detail of some graphic effects, particularly those seen during special moves, so they look super-chunky but you get less slowdown and fewer hitches during gameplay. Obviously the port team wanted to maintain very high fidelity to the MVS versions, even if it cost a little performance. I guess I can't fault them in that but even so the load times are pretty inexcusable.
You can't freely map the controls (boo!) but at least the "Arcade" setting maps them halfway-decently (along the bottom row L2 X 0 R2; my preference is for the top row L1 Square Triangle R1). There's a training mode and you can even get the computer to demonstrate some short (this is SS, after all) combos for you, and there's the odd "Crossmatch" mode that is kind of a survival thing where you're ranked based on number of consecutive victories and total time--kind of odd, but I guess one shouldn't complain too much when getting unexpected extras.
It isn't the perfect arcade port of SS2 for which all boys and girls pray fervently to this day, but it's pretty good so long as you have the aforementioned Japanese PS2 and enable Fast Loading. I've also heard this called the "Fencing Pack," dunno if that's what "Kenkaku Yubinan" means.