text:
CELT announces project grant recipients for 2005-06
Stephanie Costa
The Center for Excellence in Learning and Teaching has announced the 2005-06 recipients of the Judge Julian Beck Learning-Centered Instructional Project Grant Award, and next year, students will be witnessing what a difference more than $78,000 in award money can make.
The CELT grants are awarded once a year, and are used to help fund projects developed by CSUN professors. The projects are used in various academic departments so professors can better teach specialized subjects to their students, according to this person, according to Kelly Kroeker, administrative support assistant for CELT.
Each project is eligible for a maximum grant of $5,000.
This year, 17 projects received funding that distributed more than $78,000 to 30 professors. The award money comes from University Corporation endowment funds.
When applying for the grants, teachers are given a deadline by which they must submit their applications, budget requests and project proposals. The grant committee considers the project proposals and then determines if an award should be issued.
Teachers are selected by how well they demonstrate their projects' usefulness in improving student learning, Kroeker said.
All faculty and staff are eligible to create and submit projects, either individually or as a group. Each department may work together to prepare its projects.
Women's Studies, Political Science, Chicano/a Studies, Mathematics, History and Physical Therapy were among the departments that received grants this year, among others.
Women's studies professor Florence Kyomugisha was one of 30 professors who received a project grant.
She proposed "Embracing Diversity through Innovative Pedagogy" with fellow women's studies professor R. Dianne Bartlow.
"I am looking forward to using the grant money in order to create my project," Kyomugisha said. "My plans are currently on hold though, because the grant money has not yet been distributed."
Kroeker said each project must demonstrate a design that will improve students' active and experimental learning practices, improve students' classroom assessment techniques, and display web-based technology to improve student learning.
Cynthia Desrochers, director of CELT, is in charge of the program, but could not be reached for comment.
Stephanie Costa, Author


text:
Riproaring fun historical fiction.
Son of the Sword Omnibus
vol. 1 Son of the Sword Sample
vol. 2, book 1 Outlaw Sword Sample
vol. 2, book 2 Sword of King James Sample
vol. 2, book 3 Sword of the White Rose Sample
Knight Tenebrae Series
Knight Tenebrae Sample
Knight's Blood Sample
Knight's Lady Sample
Kindred Spirits Sample
Interloper at Glencoe Sample
Restoration Mystery Series
The Opening Night Murder Sample
The Scottish Play Murder Sample
The Twelfth Night Murder Sample
Tudor Women
A Question of Guilt Sample
Her Mother's Daughter Sample
The Spanish Bride Sample
History Geek Blog
One last dive, just to make certain. The dig was finished, the equipment returned to the ship along with the find and he figured there wouldn't be anything more, but needed one more dive just to make sure. The expedition had been so fruitful, and so many intact objects found in the silt at the bottom of the firth, he couldn't pack up and leave without taking a last look around for a missed filleting knife or clothing buckle. So while his crew began preparations to return to port he slipped over the side and angled gently down into the dimness of the water.
The Firth of Clyde was a wonderfully complex place, wide and fed by many rivers. It connected with the Sound of Bute, off the Kilbrannan Sound, and was guarded by islands all about. Clear in some places and impossible in others, that the boat had been found at all had been a miracle. And thank God they had been the ones to locate it. He smiled to himself as he thought of the many trinkets and artifacts his crew had recovered from the fishing boat sunk here centuries ago, not to mention the intact hull of the boat itself. Silt from the river had covered and preserved the hull from complete destruction. Much study would be made of the boat structure and everyday items found here by the river mouth. It had been an incredible find, and his career could be made by it. Would be made. The bright future before him now was nearly blinding, and a smile formed around his mouthpiece.
At the bottom of the shifting water not far from shore, shallow enough to see without artificial light, he began sifting through the loose bottom at the spot where the boat had been. Carefully and slowly, to minimize the inevitable clouding, he felt his way here and there among the rocks and mud already disturbed by the raising of the ancient boat. His regulator blowing bubbles in steady rhythm, and his heart keeping time with the breathing, he went methodically, left-to-right, then backward, right-to-left, his hands obscured beneath the swirling mud.
Then he frowned. There was something under here. Not rock, for it was too smooth and even. Unnatural. And there shouldn't be rock here in any case; there should only be more silt. He moved a hand slowly over it, and found the thing to be curved. Not curved like a river rock, nor like a stream bed with dips and channels worn away by running water, but perfect. A perfect, long, smooth, convex curve. Another boat hull? Excitement surged through him. Another, older boat? It wasn't unheard of. A spot risky to navigate was likely to claim more than one craft. One hand dug, dislodging hardened silt to widen the exposure of the surface beneath, and amid the clouding he caught a glimpse of writing.
Writing? A dark-on-dark character came into sight for an instant, then was gone. Like a capital "L". But it was once again beneath the silt, and he wasn't certain it had not been his imagination.
He pulled his hand back and looked, but the cloudiness obscured. He waited for it all to settle and be carried off with the current, listening to his own breathing and trying to keep from gulping his air while a queer, panicky feeling rose. He backed off, flippers waving lazily and hands spread for balance, and he hovered in the dim, rippled light from the surface. The hole he'd made in the silt cleared, and the "L" was still there, accompanied by a lower-case "T". Lt. Slowly the topography of the area before him came into view. He backed off some more, and what he saw made his heart pound in his ears. A line this way, a curve over there, and the thing popped into his vision like an item in a "What's wrong with this picture?" puzzle. His mind raced, unable to completely grasp what his eyes told him he must be seeing. It was huge. And impossible.
For the shape he saw under the silt here in the Firth of Clyde, directly beneath the spot where a Scottish fishing boat had lain undisturbed and mostly intact for more than five centuries, was, unless he missed his guess, that of a modern military fighter jet, and he was hovering over the cockpit.
"Good morning, ma'am, I'm Lt. Alexander MacNeil. I'm told you wish to speak to me." Alex stood nearly at attention, conscious of the appraising look from the young woman before him. She stood from the wardroom table to greet him with a gentle smile and an outstretched hand.
"Lieutenant. Thank you for seeing me." Her voice was low, but soft and lurking beneath the tinny sounds of silverware and crockery about the room. She shook his hand, and they sat opposite each other at the Formica-covered table. She was English, and pronounced his rank "lef-tenant," a habit he found less than enchanting. She was a newspaper reporter, and he was there to give an interview that already was making him uncomfortable, for she was staring at his eyes. He shut them against the intrusion. Women thought his green eyes "mesmerizing," and they always stared. When he opened them again, she was busy with her notebook as if she hadn't been staring at all.
Another reason he wasn't sanguine about this conversation was that saying the wrong thing in print would backlash in ways he couldn't possibly predict. The guys who had encountered her about the ship during her stay on board said she was a pretty weird chick, and Alex didn't figure he wanted to field any weirdness from her while he was speaking on the record.
However, on sight of her he began to think perhaps the risk might be worthwhile, for she was pretty in a tall, dark, angular sort of way. Extremely easy on the eyes, and soft in all the right places. He guessed he could stand to talk to her for a few minutes, particularly since he was under orders to do so.
She took a deep breath and began, "My name is Lindsay Pawlowski. I imagine your captain told you why I'm here."
"My information is you're writing a fluff piece and want to talk to a pilot about what it's like to fly a fighter jet." She'd been on the ship since it left port in Virginia, and they were now just past the Azores on their way to the Mediterranean.
A bemused smile touched her lips and irritation slipped into her voice. "Well, actually, we have our own jet fighters in the Royal Navy, not to mention the RAF, and so we don't really need to annoy you Americans with that sort of thing. Also, it's hardly a fluff piece. Unless, of course, you in the American navy consider yourselves exceptionally fluffy compared to the RAF."
A frown tightened his brow and he pressed his fingers to it to get rid of it. If she kept that up, eventually he wouldn't give a damn how attractive she was. He stood. "Would you care for some coffee, ma'am?"
"Might there be tea?"
He nodded. "Certainly, ma'am." Tea. Of course. He excused himself and went to get it. At the other end of the wardroom a few other aviators, who had just awakened and were there for breakfast, sat at a table before bowls of cereal. Jake was there, hunched over his breakfast and struggling to look like he wasn't listening in, and Alex looked back at the reporter to decide whether she was out of earshot.
Nope, too close. So he maintained silence. Jake was Alex's Naval Flight Officer-"Guy In Back"-and caught Alex's eye with a roll of his eyes at the reporter. Alex discreetly shrugged one shoulder in reply to Jake's unasked query, and proceeded on his mission. On the way back from the counter with the coffee and tea, he swallowed as much of his coffee as he could get down without burning himself.
Bolstered and well-caffeinated by shipboard road tar, he delivered the tea, sat back in the rickety, aluminum tube chair opposite the reporter, and continued the conversation. "With all due respect, ma'am, though it's no bother and I'm happy to talk with you, if this isn't for a fluff piece and you'd rather be talking to a British pilot, why are you here?"
"You've not heard about the recent find in Scotland?" She sipped her tea and didn't grimace at it. A point in her favor.
Alex shook his head and took another careful sip of his coffee as he watched her over the rim of his cup.
"A few months ago there was found an F-18 under some silt at the bottom of the Firth of Clyde and nobody knows how it got there."
He grunted and leaned forward with his elbows on the table. "So…you're here to find out if we've misplaced a plane?"
Now she smiled, and it was a broad one. Her mouth was wide and her lips full, and her teeth were very white. Suddenly she looked too young to be a reporter. "No, actually, I'm here for background on the American navy. I've discussed it with your captain, and some others of your senior officers, and they told me I could talk to you as a typical F-18 pilot. Although, I expect the fact that you have the best flying record on the ship makes you rather atypical." A note of cynicism had crept into her voice, but she smiled brightly again and the impression went away. "Also, I'm told you're quite the spit-and-polish sort of fellow."
Alex turned out the toe of one brown shoe for a look, and decided it was a good job, but still nothing remarkable. "I polish my shoes, ma'am, for the same reason you brush your hair. Because it looks bad if I don't. My father is an Admiral; I was raised to be this way."
"I didn't mean it as a criticism."
He took a long sip of coffee, then set the cup on the table and gazed blandly at her.
Finally, she said, "Very well, your father is an Admiral." She made a note in a small spiral book on the table before her. "If I know my American accents, I'd say you sound like a Southerner. From Texas, perhaps?"
All the Brits Alex ever met thought he was from Texas. "Nope. Born in California, and raised everywhere except Texas. My mother is from Kentucky. When I was a kid I wanted to be a cowboy. Maybe that's why I sound the way I do."
"Ah." She made another note, and consulted something else she'd jotted on another page. "Graduated from the United States Naval Academy."
"Affirmative."
"Honors?"
"No." One corner of his mouth lifted in a grin. "Does that mean you don't want to talk to me now?"
That brought another smile from her, and he liked that. Note to self: keep her laughing.
"Why did you want to join the military?"
"I told you. It's what I was raised for. It's who I am."
"You never considered anything else?"
"Well, there was that cowboy thing." Her smile made him smile, too.
"Political ambition?"
He shrugged. "My father is the one in the family with political sensibilities. For me, it's a job. The pay is good, I see the world, I get shot at every once in a while. Keeps me on my toes."
"You've flown in combat?"
He nodded, but didn't speak.
"Kosovo."
"What did you do there?"
"Most notably, I made a SAM site go away." In response to her puzzled frown he added, "Surface to Air Missile launch site."
"You made it 'go away'?"
"That's what things do when you hit them with a missile." He stared into his cup and waited for the next question. He knew what was coming; he could smell it.
"How did that feel?" There it was.
Alex sighed and looked at her. "It felt like my job."
"To kill people?"
"To follow lawful orders. It's what I do."
"Who you are."
Now he looked at her closely. Her dark blue, nearly almond-shaped eyes had softened. Widened. They had lost the look of challenge, and that had never happened before, no matter who was asking that question. It was almost as if she might be able to grasp the truth of what it was like to kill someone, and that suddenly made him uncomfortable. So he shrugged and said, "It's what we FAGs are paid to do, ma'am."
That made her blink, and she stuttered for a moment while her cheeks blossomed red. Finally she said, "Perhaps my understanding of American slang is faulty…"
"Fighter Attack Guy. I'm a Hornet driver."
"Oh." She sighed and laughed, and now looked at him with new eyes. That gave him a grin, and he took another sip of coffee to hide it. She said, "Nothing lacking in you for self-confidence, is there?"
"No." If there were, he sure wouldn't admit it to her.
A moment passed as she seemed to gawk at her notes while her blush calmed, then another moment. Finally, he said, "What's the deal with that plane they found? Somebody steal it?"
Her voice brightened, relieved to have the interview back on track. "Don't know. Surprisingly, it was an archaeologist who found it. They think it's very old. As in centuries." One vague hand waved in a gesture of approximation.
Alex sat back and blinked. "You're kidding."
"No. As I believe you Americans say, I shit you not. By the levels of corrosion and deterioration of materials, and by the fact that it was found beneath a sunken fishing boat that had lain undisturbed for a very long time, its discoverers are estimating it to be six or seven hundred years old."
A short bark of a surprised laugh escaped him. "Well, then, it's probably not one of ours. Must be one of those medieval F-18s, you know, the really early models."
A snicker burbled from the reporter's nose, and another smile tugged at the corner of his mouth.
"No, seriously, what do they think it is?"
She shrugged. "I really have not the faintest. They insist it's an American F-18. The name of the pilot, painted on the side, has been obscured but they know he was a lieutenant. They haven't found any of the identification plaques from it. Apparently part of it was burned, including one engine, and the other engine is missing entirely."
A realization made Alex's heart sink. "Wait a minute. You're not from one of those tabloid rag-type papers, are you?" His tone was unintentionally harsh, so he blinked and added, "Ma'am."
She sat up and said rather stiffly, "Not unless you consider the London Times a 'rag.'"
He shrugged and shook his head, puzzled. "Well, that's just nuts. Thinking a jet fighter could be that old. Must be in really bad shape, that's all."
"I mean, that's just nuts."
There was another long pause. "Well, then." Miss Pawlowski took a deep breath, glanced at her notes, and said brightly, "In any case, so you've been piloting fighter jets for how many years?"
The interview continued.
Alex felt relieved when it was finished, and he figured he hadn't said anything that would wreck his career. The mystery fighter slipped his mind easily, for the idea was…just nuts. He forgot about it as he changed into shorts and T-shirt in his stateroom and went to work out. Maybe throw off some of the tension of that interview. Exercise always made him feel better.
Tucked into a corner of one of the hangar decks was a slab of carpet on which stood a couple of weight machines and a stationary bike. Alex began by stretching, then warmed up on the bike.
Half an hour later, he was well loosened and had broken a good sweat when he moved to the weights. Sweat was trickling down the middle of his back and made cooling lines from his hairline past his ears by the time he finished up his arm curls and let the weights down to shake out his arms. Then he bent over to stretch and loosen his back muscles and spotted small, sneakered feet standing on the carpet behind him.
He looked around, and caught that Pawlowski woman staring at his ass. Busted, her eyes flickered to his face as he stood and turned, but it was too late. She at least had the good grace for her ears to turn red, and that made him nearly burst out laughing. But he swallowed the smart remark that came to mind and said nothing more than "Hello" as he continued with his workout.
The reporter cleared her throat, leaned into the other weight machine to adjust the pin, took a deep breath, and lay back on the bench press. Alex paused to watch, curious to see what she would do. A mechanic nearby called to a couple of his buddies, and immediately there was a cluster of guys in dungarees on the hangar deck, staring, their speculative chatter an echoing murmur in the hangar. Alex thought idly of ordering them back to work, but found himself staring also, as Lindsay struggled with the bench press.
Though she'd adjusted the pin, she could still barely lift the weight. Her elbows shook. Tendons stood out on her arms and neck. Her face turned red. It seemed to take forever for her to extend fully, pause, then let the weights down properly. Alex found himself tensing to help her, shook his head, and wondered what this woman hoped to achieve with this. The crazy lady was going to hurt herself, and had no business using the equipment if it was that difficult for her.
But then Miss Pawlowski got up from the bench after only one rep, and walked over to the cluster of crewmen with an air of arrogance that puzzled Alex. The first mechanic had a disgusted look on his face and was nodding, shrugging. The woman reached out a hand and he relinquished a wad of bills, which she counted as she sauntered away with a self-satisfied look on her face and a grin for Alex as she passed.
Alex watched her go. What the hell? Then he stepped over to the other machine to check the pin. Two hundred pounds.
He looked around the corner of the bulkhead to continue watching her go, then glanced back at the machine. Whoa.
So it was with curiosity the next day he approached his flight assignment in the morning, for he was to ferry this very strange woman back to Great Britain. She awaited him just outside the island, on the flight deck, wearing a zoombag and mae west, helmet under one arm, eyes bright and looking like she wanted to fly the bird herself. He eyed her, then said loudly over the sea wind and the roar of taxiing jets, "Good morning, ma'am. You're my GIB today?" She gave him a puzzled frown, and he elaborated. "Guy In Back."
Her expression cleared, and she nodded.
"Ever flown in one of these before?"
She shook her head, then tossed back her hair when the wind blew it into her face. "But I'm looking forward to it, very much. I enjoyed the training they required to grant my request and allow me to ride." Quickly she pulled a hair tie from her wrist-one of those poofy cloth ones, white with red stripes-and set her helmet between her knees. Inexplicably, the sight of her knees gripping that headgear caught his attention and held it. She took a moment to tie back her hair, then restored her helmet to the crook of her arm.
Alex's gaze returned to her face. "Enjoyed?" He found he had to clear his throat to get the word out.
"Very much, indeed.
Was this chick for real? He knew how strenuous that training was, just for the sake of riding in one of these planes. A smile tried to curl the corner of his mouth, and without saying anything further he gestured for her to follow, turned, and headed across the deck toward the gray fighter jet that awaited them on the forward catapult. Miss Pawlowski ran a few steps to catch up to him, her dark brown, wavy pony-tail tossed in the Atlantic wind.
"What sort of plane is that, exactly?" Her voice was nearly snatched away by the wind and the various deck noises of taxiing and catapulting jets, but she was loud enough to be understood.
"It's an F/A-18D Hornet." A note of pride crept into his voice though he tried to control it, and he couldn't help adding, "My girl."
"Don't you ever wash your girl?"
"No, ma'am." His was not a new aircraft, and it bore stains here and there on its skin from fuel, oil, and residue from firing the nose gun. "She's clean where she needs to be."
"There don't seem to be any missiles on it."
He threw her a bemused look. "You hot to blow something up?"
Her smile was an embarrassed one, and she shook her head no.
"Well, if it'll make it more exciting for you, some jets of questionable character have been sighted in the area, so the nose gun is loaded. 20mm slugs. 6,000 rounds per minute. Take just a few seconds to cut an enemy plane into little, bitty pieces. I know, 'cause I've done it." He'd meant to amuse her, but when he turned to see the effect of his jibe her lips were pressed together. His grin left and he fell silent.
He didn't speak while he began the pre-flight check, and when she attempted to engage him in conversation he held up a silencing finger. No chatter allowed during this. When he was done with his external walk-around and ready to board, he found her staring up at the fuselage, just under where his name and rank were painted in black just below the canopy. The other writing was in flowing, blue script.
"Brat?" she said.
"My call sign."
She turned to peer at him. "Brat? Are you one, really?"
"My father is an Admiral. I grew up in the Navy. I know you know that, because I saw you write it down in your little book."
The light went on, and she nodded. "Ah. Military brat."
"I shouldn't think having a father in the Navy would especially distinguish you among your peers."
Alex gave a wry smile and held up four fingers. "Fourth generation." Then he ticked off each previous generation one-by-one with his thumb. "Dad flew Intruders over Vietnam. Granddaddy MacNeil manned a battleship in the North Atlantic during World War II. Great-granddaddy MacNeil-"
"Swabbed a wooden deck, I'm sure."
He laughed. "No, but pretty near. I've also got two younger brothers in the Navy. Pete is stationed in San Diego, and Carl is a Midshipman First Class at the Academy."
"Yeah, the whole family is like that. We've got enough MacNeil cousins in various branches of the service to start our own war. We get together for a wedding, and it looks like a Memorial Day celebration."
Miss Pawlowski laughed at that, and Alex again admired her pretty smile.
The plane captain was waiting patiently to sign off on the walk-around inspection, so Alex gestured to the boarding ladder then helped Miss Pawlowski up. Once again his attention was grabbed as he watched her ascend above him, and in his imagination the baggy flight suit was gone, replaced by…well, nothing. He snapped back to himself only when she began letting herself down into the back seat of the cockpit. He shook his head to clear it and said to the guy at his elbow, speaking just under the deck noises, "How pathetic is it when a limey in a zoombag can fire a man's afterburners?"
The plane captain chuckled. "To each his own, sir."
Alex laughed, then climbed up and let himself down into the front seat to begin the cockpit checks. The plane captain climbed up behind him to secure Miss Pawlowski in the seat and help her with her helmet.
Finally Alex snapped on his face mask and said over the com, "All right, back there. Can you hear me?"
Her voice came immediately. "Yes." The plane captain finished with her, retreated down the ladder, and there were thuds as it was folded up and stowed under the wing's leading edge extension. Alex warned her to rig her fingers in, flipped the switch to lower the canopy, and the woman continued, "Nice view from up here. I can't see you, though."
"Lucky you. Are you comfortable? We're about fifteen hundred miles out; we'll be in the air more than an hour." He began punching the instrument panel keypad, entering navigation data. "Hope you brought a book to read."
"Fifteen hundred miles an hour? Your girl is fast."
That brought a smile. "Well, closer to about a thousand. Maybe less on this trip if we dawdle. Hour and a half in the air, probably, give or take."
"Okay. I'm comfortable. More or less."
"They certainly didn't overdo the seat cushion back here."
"No wasted space. See that thing sticking up between your thighs? Don't touch it."
"Will I go blind, then?"
Alex hee-heed into his mask. "That's the ejector seat pull ring. You're not supposed to be able to eject us, but fooling with it is a bad idea on principle. And especially, see all those fun-looking buttons and knobs back there?"
"Don't touch any of them."
"Not even if something frightens you and you think you want to control something."
"Did I mention I rather enjoyed the training they made me take for this trip?"
Alex fired up the engines, and his pulse picked up with that mild surge of adrenaline that always came before a catapult shot. Taking off from a carrier was the Navy's E-ride, and no matter how many times he did it, there was a charge difficult to describe. Maybe because he knew, no matter how many times he accomplished it, there was always the chance of SNAFU and him ending up dead. The vibration of the plane trembling to take off shook his bones. "Okay, ma'am, get ready to pucker." He signaled his readiness to the shooter.
"I beg your-"
The aircraft took a slight dip that felt like a lunge, and Alex's body pressed into his seat at more than three G's as the catapult hauled the twelve-ton aircraft down the length of the flight deck. Zero to 150 m.p.h. in under three seconds, and suddenly there was no ship beneath them. Wings caught the air, and another dip then rising, the Atlantic Ocean zooming past beneath them even as it fell away. Throttles forward, stick eased back, and the jet climbing, Alex chuckled to hear Miss Pawlowski behind him exclaim to herself, "Good God!"
Then, on command of the controller, he took his heading toward Lossiemouth and sang off-key, "…and I'll be in Scotland afore ye!"
The next hour was boring, not just by comparison but by any standard. In between silences, Miss Pawlowski occasionally asked questions about the instrumentation before her.
"May I ask what that thing is in front of you, that looks like a hologram?"
Forgetting she couldn't see him, Alex nodded at the HUD and replied, "Heads Up Display. It tells me stuff I need to know without making me scan the instrument panel."
"It looks like something Luke Skywalker would have. What sort of information does it give you?"
"I could tell you, ma'am, but then I'd have to kill you." She chuckled, and he wished he could see her.
For most of the trip she was quiet. Alex sometimes forgot she was back there as he carried out the routine tasks of the flight, and at other times suspected she'd fallen asleep. After about an hour and a quarter in the air, they came to the western coast of England and their course veered slightly as they began to slow and descend through a clear sky. In only a few minutes they were over Scotland, and they approached a cluster of civilization Alex knew was Glasgow, on their way to Lossiemouth Air Base on the northeast coast. The mountains below were green, looking like crumpled florist paper dotted with brown peaks and blue lakes glistening in the sunshine. To the left the ocean shone like silver, and islands in the distance lay in it like a herd of enormous whales breaking surface.
Alex began to think about getting something to eat once they were on the ground and squared away with the authorities on the subject of armament, and idly wondered whether Miss Pawlowski might consider joining him for some lunch. He opened his mouth to inquire.
But then he shut it as all the electronic displays on his instrument panel went blank. The master caution light blinked on instead.
He grunted. "Crap." He pushed the resets, but nothing happened. Quickly he checked his backup systems, and they were still functioning. He'd have to fly the plane by analog. Yet another pain in the ass thing to take care of on the ground. He glanced at his airspeed indicator as an odd shudder passed through the airframe.
"What's that?" Miss Pawlowski's voice was tinged with alarm.
Alex looked forward, through the blank HUD, and what he saw made his blood freeze. It looked like a hole in the sky, lined with fire. For a second he thought they were flying into the ball of a mushroom cloud, and against all reason it seemed the thing was looking at them with flaming, red eyes as deep as the abyss. Then they were in it. A hard thud shook the plane, and he figured an engine was gone. Still alive, they blew out the other side into a gray cloud, with the artificial horizon wobbling hard. That stabilized, but the compass was still going nuts. Flat spin. Warning lights flashed all over the instrument panel as systems went south. Both engines were dead, and to starboard he saw a reflection of fire from the clouds through which they were spinning. He punched the fire extinguishers, but they did nothing.
"Ffffffuck." His heart thudded wildly in his ears. He knew he had bare seconds to decide what to do, and the presence of a passenger shaved those seconds even shorter. The ailerons weren't moving, the stick frozen in his hand. The rudder pedals were stiff, also unmoving. His plane was going down, and his only choice was to punch out. One more heartbeat, and he called to his passenger, "Eject! Eject! Eject!" He yanked the ejection pull ring between his thighs, and the canopy blew off. Chill wind engulfed him, battered and slammed him about. The rear seat went with a hard thud, then his own. The cold, Scottish wind whipped into every exposed part of him, and he was free-falling, spinning, tumbling end-over-end, spinning through cold clouds.
Clouds?
Attention was required elsewhere as he flew through mist. For one alarmed, disoriented moment he feared his parachute had malfunctioned or that this was a fog bank and he was about to smack into a mountain. But once the chute had deployed, his cockpit seat fallen away, and he knew he would probably live, he looked around in hopes of seeing far enough to control where he would land. He prepared to cut his shroud lines in case of plopping into a lake or the ocean, and hoped Miss Pawlowski was as prepared. Still all he could see were clouds, but after a moment he descended through to clear air. It was overcast, solid as far as he could see, and cold as a witch's tit. Odd, for only a moment ago the day had been utterly clear. Now he looked around for his passenger and spotted her chute not far, just below. She'd made it out okay, and he could see she was conscious and looking around.
Only then did he let the anger come, and he loosed a string of oaths and vulgarisms at full voice. His plane was gone, a trail of black smoke making a line from the cloud ceiling toward a big bay the other side of a range of mountains. His heart sank to his boots as he thought of his father and the ragging he was going to take for the rest of his life. Dad was never going to let him live this down. The admiral had never lost a plane, let alone on a routine flight like this. Not that the old man would ever have admitted to taking any routine flights.
What the hell had happened? There was no fire in the sky now. No mushroom cloud and no evidence of one below. Alex had a brief, panicky moment as he wondered whether it had been an hallucination and he'd just trashed a very expensive piece of government hardware for nothing.
But, no. The engine had flamed. The trail of smoke in the air above was dissipating, but it was there. Something had happened to the plane; it was junk before he'd hung up the "For Sale" sign.
He looked down. They'd descended too far to see Glasgow any more, and the landscape below was remarkably empty of anything but green mountains and blue water. Trees. Lots and lots of trees. He looked for signs of habitation, but saw nothing. No roads. No houses. Just his luck to not only lose his plane but to have to walk all day to a town after bailing. Crap.
The rest of the way down he kept track of Miss Pawlowski's chute. God knew how much control she had over the thing, but Alex noted she was headed for a pasture so he encouraged his own chute in that direction. They landed seconds apart, and he hurried to release himself from the harness so he could check to see if she was all right.
Her canopy wanted to take off and drag her away, and he ran to help her release it so she could regain her feet. She took his hand and he helped her up.
"Are you all right, ma'am?"
She removed her helmet and mae west and nodded, but he could see she was pale and shaken. Her hair tie was gone, and her dark hair flew every which way as she struggled to bring it under control. Alex pressed his mouth shut as he freed her from the parachute harness, and he could feel his ears turning red.
He said, "I don't know what happened."
"It was a gigantic fire."
"You saw it, too?"
She nodded again, and looked up. "But it's gone now."
Alex now turned, looking for a hint of which way to walk, and removing his helmet. "Did you see any buildings or roads on the way down?" He reached into a pocket of his flight suit for the two-way survival radio and set his helmet on the ground at his feet.
"No. I thought we were just short of Glasgow; where are we really? There's nothing here."
He turned to peer at her. "We are just short of Glasgow."
"Not possible. We must have passed it and gone into the Highlands." She looked around, and grimaced. "Except that these hills aren't high enough for us to have gone that far. This makes no sense."
Alex turned a complete circle. "I don't see any sign of habitation. They do have roads in Scotland, don't they?"
"Last time I was here they did." A smile came and she shrugged. "You never can tell with the Scots, though. Maybe they're staging another rising and they've dismantled all the roads." A wobbly chuckle, then she added, "And everything else as well."
That made him chuckle. "You live here, don't you?"
She looked around and sighed. "No, I live in London; I'm only here for the assignment. But I've been here a number of times. While we were in the air I thought I could tell where we were. We came in over the West March and crossed Galloway I think. I thought we were flying over the Garnock River. That would be it over there." She pointed down the slope toward a narrow river. "But if that's the Garnock, then there should be a road beside it. And train tracks as well. And houses, and shopping centers, and schools. So that can't be the Garnock. We must have come much farther than we thought."
Alex turned on the radio and keyed it to inform anyone listening that he was in need of assistance. But in return he received only static. Rather lazy, weak static. He hoped the battery wasn't about to crap out on him. Another try, and still nothing. He tried another channel. Nada. Now he wished Miss Pawlowski had been issued a survival vest so there would be another radio. He stared at the piece of junk again, frustration rising, and tried it all once more. Nothing.
"Nuts." He looked around some more, then discerned a thin line of gray smoke coming from the depths of forest not far away. Smoke could mean anything, but there was a good chance it might be somebody burning something and that meant the presence of someone who might have a clue where they were. He returned the radio to his pocket. "Come on." Leaving the parachutes and helmets where they lay, he led the way, and she followed across the heavily-tufted pasture.
Alex found a dim track into the woods, and began to smell the wood smoke. Easy enough to locate, for the track led straight to it. No road, not even stepping stones, but there was a clear enough dirt trail.
They came upon a small thatched house, and Alex had a weird frisson up his back as he flashed on Hansel and Gretel coming upon the witch's cottage. Bare-branched vines grew up all over it, and the thatching was dark with mold in spots. Miss Pawlowski stopped in her tracks, and Alex held up to find out what was the matter.
"That's got to be the worst hovel I've ever laid eyes on."
He nodded. "Roger that."
She peered at him. "You can't possibly know what that means in English."
Alex frowned, then replied, "That's okay, so long as you know what it means in American." He pondered the house a moment, and said, "It looks like it's made of dirt."
"Peat. I saw a house like this once, but it was a museum and had a car park and walkways outside. This place is uninhabitable, but looks lived in nevertheless."
It did. A wood pile lay tumbled in the yard, and a goat grazed nearby. Chickens pecked at the dirt or roosted here and there, according to their mood. As he and Miss Pawlowski approached, the tiny wooden door of the house opened and a ragged man ducked out through the low frame. When he saw them he stopped cold, unmoving for a long moment. He seemed half-dressed, hairy legs bare beneath a tunic sort of garment belted at the waist. There were no shoes on his feet. The mouse-brown hair was shaggy, and his face bore a two-day growth of beard.
Alex raised his hand in greeting and said, "Hi. You all wouldn't have a phone here, would you?" He could have answered his own question, for there were no wires to the house and no poles anywhere that he could see.
The Scottish man's jaw fell open, and he uttered something completely incomprehensible to Alex, who then looked to Miss Pawlowski to interpret for her countryman.
But a puzzled frown creased her forehead, and her head tilted. "Pardon?"
The short speech was repeated, and she replied, "I'm sorry, I don't speak Gaelic."
Then the man said something else, and Alex thought he heard the word "welcome" in there somewhere, an impression strengthened by the gesture toward the door of the hovel. His was the most heavily accented English Alex had ever heard. Normally he could glean meaning from just about any dialect, but this was gibberish to him. He murmured to Miss Pawlowski, "Is this one of those places where they get people to actually live like they did in the past? There's one in upstate New York like that, where they've got sheep and stuff."
Miss Pawlowski said something to the Scot in that same odd accent, and Alex couldn't make heads or tails from it. Then she smiled and said, "He's speaking Middle English." By her voice he could tell she was impressed by it.
"I'm a journalist; words are my life. My course of study at university was the English language, and I had a full year of Medieval literature. I've read Chaucer in the original and had to memorize and recite parts of The Canterbury Tales out loud. It's not that far off from modern English; the variant vocabulary can be picked up like slang, and once you get past the appallingly archaic accent it becomes perfectly understandable."
"Well, you know, engineering major though I was, I've studied literature, too, and can't make out what he's saying."
"We were required to hear it spoken, and were taught something of how to converse in it ourselves. It's different from simply reading it."
She turned to the ragged man, and said something that included the word "telephone." But that only brought a puzzled squint even though she made a handset gesture to her ear when she said it. Then she said, "You do speak modern English, don't you?"
The man said something like, "Ye beent me rrayt welcome herteleh." He gestured to the house again. "Ah leck rrayt nowt fa soper." He nodded toward the door, where Alex now noticed a woman looking out. Three small children crowded at her feet to see the strangers, all of them dirty and ragged.
Alex said, half to himself, "You know, that's serious verité."
Miss Pawlowski said to the man, "This is a fascinating thing you're doing. Is it an anthropological experiment?"
The man repeated his gesture, this time with a measure of frustration.
She said to Alex, "I think he's inviting us to eat with him." Then she repeated her request for a phone, and still got only a puzzled face. The man came to herd them into the house. They went, not knowing what else to do.
Inside, the house was as authentic as it was outside. Not a sign of modernity. The hearth was a flat, gray stone at one end of the room, the fire vented through a hole in the ceiling, and over it was spitted a piece of meat that looked like a leg of something. It was still pink, but was beginning to smell pretty good, the greasy, smoky aroma permeating the room. Alex's stomach rumbled and reminded him it was time for lunch.
For furniture there were only a table and a few stools, and off in a dark corner Alex could see a stack of rough-hewn wooden bunk beds. Wooden boxes stood along the walls, heaped with belongings. The floor was dirt, scattered with dead grass and ferns that had been trampled to mush underfoot. He and Miss Pawlowski were offered two of the stools, and they sat at the table. Perched, really, for the stool Alex sat on was nearly too rickety to hold his weight. With care, he balanced so to avoid a collapse. Miss Pawlowski continued talking to the man, and Alex was only able to snag a word here and there. He watched his passenger's face as she chattered, smelling the meat on the spit and the grease that dripped from it and flared in the fire. But what should have been a homey scene only disturbed him. There was something wrong. The very realness of this family gave him the creeps.
Miss Pawlowski continued trying to communicate with the family, particularly the man, who didn't seem to understand much of what she said. He frowned and repeated himself often, and his barely contained patience with Lindsay's lack of fluency with the language showed in his voice. Her hands were all over the place, gesturing in attempts to supplement her vocabulary.
At one point she muttered to Alex, "He keeps calling me 'boy.' It's beginning to annoy me."
Alex sure couldn't see how she could be mistaken for a boy, but nodded to the woman in the long, ragged dress and said, "Maybe he's a religious nut and thinks anyone wearing pants must be male."
"Oh, he's an odd one, all right. He's saying all sorts of strange things." Then she addressed the man again.
Alex could see communication was happening nevertheless. Every so often a light would go on in the man's eyes as understanding came. Then he would frown again when she asked another question. As Alex watched Miss Pawlowski talk to the family, he noticed her begin to grow pale.
"Now he's telling me his first wife was killed by the English ten years ago. She was raped and then cut open with daggers, stem to stern, and left to die. She was then burnt, along with their house. He was made to watch, then they let him go. He says for a long time he would rather have died with his wife, but now he lives to see the English all killed."
Alex peered at the guy, who appeared to be sincerely grieving for a murdered wife, sagging, old eyes glistening with unshed tears. "The English? I thought you all were one big country."
"I suppose he blames all English for the actions of one criminal. But daggers, though…" Her eyes darted around the room, and rested often on the children who were now playing and talking amongst themselves on the dirt floor. At one point she addressed them. "Hello," she said with a bright smile, "what are your names?" They only stared blankly at her, eyes wide and mouths open, until she repeated herself in the archaic English. Then they each replied with their names: William, Catharine and James.
Alex was even more unsettled now. The children spoke Middle English, but not modern English? That was way more than verité. There was something very warped about that; even more warped than telling stories about English murderers with daggers.
Meanwhile, Miss Pawlowski grew more walleyed and apprehensive. As she spoke to the man again, her tone became more pointed and soon her voice was wobbly. She was plainly shaken.
"What's wrong?" Alex asked.
She raised a finger for him to wait a moment, asked one more question of the Scottish man, and on his reply she stood. "Alex, come."
"What?" He would rather have stayed for lunch. Or dinner, depending on when that meat would be ready.
"Just come with me." Her voice was trembling, and she was now as pale as anyone he'd ever seen. Rather than argue in front of these people, he followed her from the house and trotted to catch up with her as she plunged into the forest down the trail.
"Something has happened."
"Yeah. Our plane went down for no apparent reason, and we can't find a phone."
"We can't find a phone because there aren't any."
"Well, no, we're going to have to walk some more-"
"No, there aren't any. Anywhere."
"No phones in-"
"Anywhere. Something has happened. I don't know what." They came out on the pasture again, and she stopped to look around. The surrounding mountains were still and green, and the pasture sloped gently to the forest opposite. Other than some birds in the distance, nothing moved. "Listen."
Alex listened, but heard nothing and shrugged. "Listen to what? I don't hear anything."
"Exactly. You hear nothing whatsoever. No engines, nothing. No planes in the sky. When was the last time you looked up in the sky and didn't see a plane somewhere overhead?"
"I'm a pilot, ma'am."
"All right, if you were the average person, would you have ever not seen a plane overhead?"
He thought about it, then shuddered. "September 11, 2001."
"Right. One single day. An empty sky is strange and unnatural, because we're accustomed to seeing planes every day. Do you see any here? Have you seen any since we got here?"
He looked up, and felt that same uneasiness he'd felt four years ago when all commercial air traffic had been grounded for several days. An uneasiness akin to the realization he'd made of the children in that weird house.
Miss Pawlowski continued, "Smell the air. Take a deep breath and tell me if you don't think it smells different. Did you happen to see any roads while we were parachuting down? I didn't."
Alex shook his head. No roads.
"There should have been roads. That over there is Garnock River. I asked, and that man confirmed it. But there is no road near it. There's no indication there ever was a road. And there are no houses. We're supposed to be near Glasgow. There should be houses here. People. Lots of people. Right along in here there should be condominiums on that hill there." She pointed. "I remember them."
"You saw the plane go down. You saw where it was headed."
"A small bay."
"The Firth of Clyde." She paused a moment to let that sink in, but it only puzzled him.
"Yeah. So?"
"Remember the medieval F-18?"
A charge skittered up his spine as he remembered, but he said nothing.
She continued, "That man in there just told me the year is 1306. That plane they found, more than five centuries old, was piloted by a lieutenant. It was painted on the side." She reached out and poked his chest with an insistent finger, punctuating each word as she spoke. "I'm betting it originally said Lieutenant Alexander MacNeil. It was your name and rank painted on the side of that plane."
"But that doesn't mean-"
"They found the plane before it was crashed. Explain that."
Of course, he couldn't. Except… "It's not my plane."
"So the United States Navy loses a lot of aircraft in Scottish waters? I suppose, though, that over the centuries the numbers can add up."
"But that's just-"
"Nuts. I know. It's madness. It's…" Her voice trailed off as something behind Alex caught her eye and she looked away from him. He turned to see, and was astonished to find men on horseback coming from the trees at the other side of the pasture. At this distance they weren't particularly identifiable, but even so Alex could see they weren't ordinary riders. For one thing, they were all men. Alex had never in his life seen a group of pleasure riders with no women along. For another, the horses were fitted with faceplates, and the men wore dark chain mail. They carried painted shields that shone brightly in spite of the overcast day. And when they spotted him and Miss Pawlowski, instead of minding their own business as most pleasure riders would have done, they veered toward the two on foot and kicked into a gallop.
Alex said, "Let's get out of here."
Buy now on Bookview Café…because you can never have too many ebooks.
Friend me on Facebook,

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Java fork-join Performance I have sample implementations for Merge-Sort, one using Fork-Join and other is straight recursive function.
It looks like fork-join is slower than straight recursive, why?
import java.util.Arrays;
import java.util.List;
import java.util.Random;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.RecursiveTask;

class DivideTask extends RecursiveTask<int[]> {
    private static final long serialVersionUID = -7017440434091885703L;
    int[] arrayToDivide;

    public DivideTask(int[] arrayToDivide) {
        this.arrayToDivide = arrayToDivide;
    }

    @Override
    protected int[] compute() {
        //List<RecursiveTask> forkedTasks = new ArrayList<>();

        /*
         * We divide the array till it has only 1 element.
         * We can also custom define this value to say some
         * 5 elements. In which case the return would be
         * Arrays.sort(arrayToDivide) instead.
         */
        if (arrayToDivide.length > 1) {

            List<int[]> partitionedArray = partitionArray();

            DivideTask task1 = new DivideTask(partitionedArray.get(0));
            DivideTask task2 = new DivideTask(partitionedArray.get(1));
            invokeAll(task1, task2);

            //Wait for results from both the tasks
            int[] array1 = task1.join();
            int[] array2 = task2.join();

            //Initialize a merged array
            int[] mergedArray = new int[array1.length + array2.length];

            mergeArrays(task1.join(), task2.join(), mergedArray);

            return mergedArray;
        }
        return arrayToDivide;
    }

    private void mergeArrays(int[] array1, int[] array2, int[] mergedArray) {

        int i = 0, j = 0, k = 0;

        while ((i < array1.length) && (j < array2.length)) {

            if (array1[i] < array2[j]) {
                mergedArray[k] = array1[i++];
            } else {
                mergedArray[k] = array2[j++];
            }

            k++;
        }

        if (i == array1.length) {
            for (int a = j; a < array2.length; a++) {
                mergedArray[k++] = array2[a];
            }
        } else {
            for (int a = i; a < array1.length; a++) {
                mergedArray[k++] = array1[a];
            }
        }
    }

    private List<int[]> partitionArray() {
        int[] partition1 = Arrays.copyOfRange(arrayToDivide, 0, arrayToDivide.length / 2);

        int[] partition2 = Arrays.copyOfRange(arrayToDivide, arrayToDivide.length / 2, arrayToDivide.length);
        return Arrays.asList(partition1, partition2);
    }
}

public class ForkJoinTest {
    static int[] numbers;
    static final int SIZE = 1_000_000;
    static final int MAX = 20;

    public static void main(String[] args) {
        setUp();

        testMergeSortByFJ();
        testMergeSort();
    }

    static void setUp() {
        numbers = new int[SIZE];
        Random generator = new Random();
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] = generator.nextInt(MAX);
        }
    }

    static void testMergeSort() {
        long startTime = System.currentTimeMillis();

        Mergesort sorter = new Mergesort();
        sorter.sort(numbers);

        long stopTime = System.currentTimeMillis();
        long elapsedTime = stopTime - startTime;
        System.out.println("Mergesort Time:" + elapsedTime + " msec");
    }

    static void testMergeSortByFJ() {
        //System.out.println("Unsorted array: " + Arrays.toString(numbers));
        long t1 = System.currentTimeMillis();
        DivideTask task = new DivideTask(numbers);
        ForkJoinPool forkJoinPool = new ForkJoinPool();
        forkJoinPool.invoke(task);
        //System.out.println("Sorted array: " + Arrays.toString(task.join()));
        System.out.println("Fork-Join Time:" + (System.currentTimeMillis() - t1) + " msec");
    }
 }

class Mergesort {
    private int[] msNumbers;
    private int[] helper;

    private int number;

    private void merge(int low, int middle, int high) {

        // Copy both parts into the helper array
        for (int i = low; i <= high; i++) {
            helper[i] = msNumbers[i];
        }

        int i = low;
        int j = middle + 1;
        int k = low;
        // Copy the smallest values from either the left or the right side back
        // to the original array
        while (i <= middle && j <= high) {
            if (helper[i] <= helper[j]) {
                msNumbers[k] = helper[i];
                i++;
            } else {
                msNumbers[k] = helper[j];
                j++;
            }
            k++;
        }
        // Copy the rest of the left side of the array into the target array
        while (i <= middle) {
            msNumbers[k] = helper[i];
            k++;
            i++;
        }

    }

    private void mergesort(int low, int high) {
        // Check if low is smaller then high, if not then the array is sorted
        if (low < high) {
            // Get the index of the element which is in the middle
            int middle = low + (high - low) / 2;
            // Sort the left side of the array
            mergesort(low, middle);
            // Sort the right side of the array
            mergesort(middle + 1, high);
            // Combine them both
            merge(low, middle, high);
        }
    }

    public void sort(int[] values) {
        this.msNumbers = values;
        number = values.length;
        this.helper = new int[number];
        mergesort(0, number - 1);
    }
}

A: IMHO the main reason is not the overhead due to thread spawning and pooling.
I think the multi-threaded version runs slow mainly because you are continuously creating new arrays, all the times, millions of times. Eventually, you create 1 million of arrays with a single element, a headache for the garbage collector.
All your DivideTasks can just operate on different portions of the array (the two halves), so just send them a range and make them operate on that range.
Furthermore, your parallelization strategy makes it impossible to use the clever "helper array" optimization (notice the helper array in the sequential version). This optimization swaps the "input" array with a "helper" array on which merges are made, so that a new array shouldn't be created for every merge operation: a memory-saving technique that you can't do if you don't parallelize by level of the recursion tree.
For a classwork, I had to parallelize MergeSort and I managed to get a nice speedup by parallelizing by level of the recursion tree. Unfortunately the code is in C and uses OpenMP. If you want I can provide it.

A: As gd1 points out, you're doing a lot of array allocation and copying; this is going to cost you. You should instead work on different sections of the same one array, taking care that no subtask works on a section that another subtask is working on.
But beyond that, there's a certain amount of overhead that comes with the fork/join approach (as with any concurrency). In fact, if you look at the javadocs for RecursiveTask, they even point out that their simple example will perform slowly because the forking is too granular.
Long story short, you should have fewer subdivisions, each of which does more. More generally, any time you have more non-blocked threads than cores, throughput is not going to improve, and in fact overhead will start to chip away at it.

A: Without looking too deeply at your code, spawning a new thread is costly. If you haven't got much work to do, then it's not worth it for performance reasons alone. Very generally talking here, but a single thread could loop thousands of times before a new thread is spawned and starts running (especially on Windows).
Please refer to Doug Lea's paper (under 2. DESIGN) where he states:
"However, the java.lang.Thread class (as well as POSIX pthreads, upon which Java threads are often based) are suboptimal vehicles for supporting fork/join programs"

A: Also found following information about working with Fork/Join
Dan Grossman's Introduction to Fork/Join

A: I encountered the same issue. In my implementation of merge sort I only copy the right part which might be shorter than the left part. Also I skip possible max elements in the right part while copying and merging. Even with that optimization the parallel implementation is still slower than an iterative implementation. According to Leetcode, my iterative approach is faster than 91.96%, my parallel implementation is faster than 56.59%.

*

*https://leetcode.com/problems/sort-an-array/submissions/878182467/.
https://leetcode.com/problems/sort-an-array/submissions/877801578/.

import java.util.concurrent.RecursiveAction;

class Solution {

    public static class Sort extends RecursiveAction {
        private int[] a;
        private int left;
        private int right;

        public Sort(int[] a, int left, int right) {
            this.a = a;
            this.left = left;
            this.right = right;
        }

        @Override
        protected void compute() {
            int m = (left + right) / 2;
            if (m >= left + 1) {
                Sort leftHalf = new Sort(a, left, m);
                leftHalf.fork();
                Sort rightHalf = new Sort(a, m+1, right);
                rightHalf.compute();
                leftHalf.join();
            }
            merge(a, left, right, m);
        }

        private void merge(int[] a, int left, int right, int mid) {
            if (left == right || left + 1 == right && a[left] <= a[right])
                return;
            // let l point to last element of left half, r point to last element of right half
            int l = mid, r = right;
            // skip possible max elements
            while (l < r && a[l] <= a[r])
                r -= 1;
            // size of remaining right half
            int size = r-l;
            int[] buf = new int[size];
            for (int i = 0; i < size; i++){
                buf[i] = a[mid + 1 + i];
            }
            int i = size-1;
            while (i >= 0) {
                if (l >= left && a[ l] >buf[i]) {
                    a[r] = a[l];
                    l -= 1;
                } else {
                    a[r] = buf[i];
                    i -= 1;
                }
                r -= 1;
            }
        }
    }

    public int[] sortArray(int[] a) {
        ForkJoinPool threadPool = ForkJoinPool.commonPool();
        threadPool.invoke(new Sort(a, 0, a.length-1));
        return a;
    }
}

Iterative implementation:
class Solution {
    public int[] sortArray(int[] a) {
        int[] buf = new int[a.length];
        int size = 1;
        while (size < a.length) {
            int left = 0 + size - 1;
            int right = Math.min(left + size, a.length-1);
            while (left < a.length) {
                merge(a, size, left, right, buf);
                left += 2 * size;
                right = Math.min(left + size, a.length-1);
            }
            size *= 2;
        }
        return a;
    }

    private void merge(int[] a, int size, int l, int r, int[] buf) {
        int terminal1 = l - size;
        int right = r;
        while (l < right && a[l] <= a[right])
            right--;
        r = right;
        int rsize = right - l;
        for (int i = rsize-1; i >= 0; i--) {
            buf[i] = a[right--];
        }
        int i = rsize-1;
        while (i >= 0) {
            if (l > terminal1 && a[l] > buf[i]) {
                a[r--] = a[l--];
            } else {
                a[r--] = buf[i--];
            }
        }
    }
}

redpajama_set_name: RedPajamaStackExchange


More than £8 million of government funding will create new woodlands and deliver safer roads on the route of Britain's new railway, HS2 Minister Nusrat Ghani has announced.
Speaking at the launch of HS2's 'Green Corridor' in Kenilworth, the minister backed HS2's ambitious plan for connected wildlife habitats and native woodlands the length of the route, ensuring HS2 sets a new environmental standard for construction projects.
To support this vision, the minister announced an additional £2 million for theHS2 Woodland Fund, to help landowners along the route between Birmingham and Crewe plant new trees native to the area.
HS2 Minister Nusrat Ghani said: "As we deliver the new high speed railway our country needs, driving forward economic growth and better journeys for passengers, it is imperative we set a new standard for protecting and enhancing our diverse woodlands and wildlife.
"HS2's 'Green Corridor' is one of the most significant tree-planting and habitat creation projects ever undertaken in this country. That's why the government is backing it with an additional £2 million for the Woodland Fund to support the creation of native woodland and restore existing ancient woodland sites between Birmingham and Crewe.
Committing £6.5 million to HS2 Road Safety Fund for the Birmingham to Crewe phase means that towns and villages on the route from London to Crewe will now share more than £35 million of cash to deliver improvements for pedestrians, cyclists and drivers.
HS2's 'Green Corridor' will include 7 million new trees and shrubs on Phase One of the railway alone, comprising native UK species such as oak, silver birch, wild cherry, hornbeam and holly.
This will result in over 9 square kilometres of new native woodlands, alongside tailor-made habitats for species including bats, badgers and great crested newts.


text:
Founding Journal Advisor's Welcome Message
Founding Journal Advisor's Welcome Message
January 18, 2021 by Jyoti Nanda comments (0)
Import of the Race, Gender, Sexuality, & Social Justice Law Journal in 2021
The launch of the Race, Gender, Sexuality and Social Justice Law Journal is no small feat and I applaud our student leaders for their fortitude in the middle of a year unlike any other. In 2020, our country underwent a national reckoning on race trigged by the unlawful death by police of several unarmed African American women and men while grappling with a global pandemic that halted life as we knew it. Our GGU law students, like all students everywhere, persevered – shifting to remote learning and remaining focused. Their longstanding goal to create a space at GGU Law to lift legal issues largely neglected by traditional legal scholarship remained remarkably steadfast. This Journal is a testament to their dedication to a project bigger than them and something that will outlive their time at GGU Law. I am deeply humbled to serve as their faculty advisor.
The import of launching an academic Journal that is by definition focused on scholarship that addresses issues of race, gender, sexuality, and social justice, in this moment, is especially noteworthy. As someone who has spent her entire academic and professional career focused on addressing the unmet rights of children and youth who intersect with our criminal justice system, I am overwhelmed by the historic significance of this achievement. We are living in a critical moment in our history. Deep engagement with difficult issues about race, gender, and sexuality are essential for our survival as a democratic society. The responsibility to engage falls heavily on legal scholars and students who will be the workers who help rebuild the deep fractures in our legal and political landscape. Not only do we have a deeply divided country, many in power have attempted to silence the exact issues that spurred the genesis of this Journal. In September 2020, President Trump's Department of Education attempted to censor Critical Race Theory (CRT), announcing that it would review training materials to eliminate this allegedly "un-American propaganda." The focus of CRT is on the ways that race is baked into the current political, economic, and social system so that racial subordination is reproduced through normal operations, often without regard to intent. The attempt to silence is described most aptly by Professor Cheryl Harris, a leading CRT scholar (and my friend and mentor) when she writes that the Administration's attempt to censure CRT is "Trump's version of anti-anti-racism remix in which anti-racism is demonized as the enemy, rather than racial oppression."
The naming of this oppression is critical to its demise. Our country's history has taught us that denial of racism, ableism, sexism, genderism, and economic inequalities are dangerous practices that lead to political turmoil and the deep racial and economic divides we face in 2021, and the same ones that continually test the limits of the law. Thus it is especially critical for the Journal to provide an avenue to ensure that rigorous legal scholarship is diverse in thought and engaged with varied viewpoints from a range authors on cutting edge topics while also reimagining an equitable and just future.
GGU Law is particularly well situated to be the home of these legal conversations given its history, diverse study body, and mission as a school of opportunity. In many ways, thus, the Race, Gender, Sexuality & Social Justice Law Journal represents the future. And the future is now.
Jyoti Nanda
Inaugural Faculty Advisor, GGU RGS & Social Justice Law Journal
Associate Professor of Law, GGU School of Law
Interim Law Dean's Welcome Message
Written by Jyoti Nanda


Merry Christmas! X cube II is very popular in market and always get good responses from SMOK users since it was released. In order to repay all users and let users get a better vaping experience on additional functions of X cube II, Smok decided that there is no charge for the added-value service (Ti & SS temperature control) of X cube II from Christmas Day. Both of them will become totally free from 2015/12/25.
For you, who had bought the added-value service of X cube II before, we give away a limitless $5 cash coupon here. You can use it to buy any products on our official website. The $5 cash coupon will become invalid on 2016/03/31.
Please follow SMOK, and we'll try our best to bring you a better vaping experience!


text:
Q: Cakephp how to create virtual field based on another virtual field I have
Contact Table : id, first_name, last_name, company_id
Company Table : id, name

I would like to create virtual field in Contact Table so it will appear "contactInCompany"
"first_name last_name - Company.name" e.g: Andre Robin - Google

How can I achieve this, I try this way but it does not work, it does not accept another virtual field as input
public $virtualFields = array(
    'companyName' => 'SELECT name FROM companies where id = Contact.company_id',
    'customerWithCompany' => "CONCAT(Contact.first_name, ' ',
                              Contact.last_name, ' ', Contact.companyName, '')"
    );

I also tried it this way and it does not work
'customerWithCompany' => "CONCAT(Contact.first_name, ' ', Contact.last_name, '-',
                         SELECT name FROM companies where id = Contact.company_id)"

I need this quite often, I will use this to put in dropdown selectbox to select contact, so I would like to have the contact name shown together with the company

A: You can not do this with virtual fields as the keys in virtual fields are just the alias
Example:
class Contact extends AppModel {

  public $virtualFields = array(
      'companyName' => 'SELECT name FROM companies where id = Contact.company_id',
      'customerWithCompany' => "CONCAT(Contact.first_name, ' ',
                                 Contact.last_name, ' ', Contact.companyName, '')"
       );

    public function getContacts() {
      return $this->find('all', array(
                   'fields'=>array(
                            'Contact.id',
                            'Contact.first_name',
                            'Contact.companyName',
                            'Contact.customerWithCompany'
                           )
                    )
               );
    }

}

If the getContacts() method is called from ContactsController
The above code will form this query:
SELECT Contact.id, Contact.first_name,
       (SELECT name FROM companies where id = Contact.company_id) AS Contact__companyName,
       CONCAT(Contact.first_name, ' ', Contact.last_name, ' ', Contact.companyName, '') AS Contact__customerWithCompany
FROM contacts AS Contact;

This query is will not be executed on mysql as it is not possible to access the alias of 1 column for another column.
To achieve this you have to use sub queries like below: Cake php converts virtual fields name to Model__ (In below example it is Contact__)
SELECT
SubQuery.id,
SubQuery.first_name,
SubQuery.Contact____companyName,
CONCAT(SubQuery.first_name, ' ', SubQuery.last_name, ' ', SubQuery.Contact____companyName, '') AS Contact__customerWithCompany

FROM
(SELECT Contact.id, Contact.first_name, (SELECT name FROM companies where id = Contact.company_id) AS Contact__companyName
FROM contacts AS Contact) AS SubQuery;

If you want to build sub query in cake php use buildStatement Method of DataSource
Note : Using Joins is another better solution for above query to achieve the same results without using sub queries.
With Joins:
public function getContacts() {
    $this->virtualFields['customerWithCompany'] = "CONCAT(Contact.first_name, ' ', Contact.last_name, ' ', Company.name)";
    return $this->find('all', array(
            'fields'=>array(
                'Contact.id',
                'Contact.first_name',
                'Contact.last_name',
                'Company.name',
                'Contact.customerWithCompany'
            ),
            'joins'=>array(
                array(
                    'table'=>'companies',
                    'alias'=>'Company',
                    'type'=>'LEFT',
                    'conditions'=>array(
                        'Contact.company_id = Company.id'
                    )
                )
            )
        )
    );
}

A: In your Contact model write following:
 public $belongsTo = array(
        'Company' => array(
            'className' => 'Company',
            'foreignKey' => 'company_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        )
    );

In Company model write:
 public $hasMany = array(
            'Contact' => array(
                'className' => 'Contact',
                'foreignKey' => 'company_id',
                'dependent' => false,
            ),
  }

Now when you search for any Contact it will contain information of the concerned company too. Print the array and you will see a Company index.
PS: If I've got your question incorrect then let me know the exact problem, I might be able to help you.

A: you don't need virtualField. Use JOIN LEFT for this simple query.
$users= $this->Contact->query('SELECT CONCAT(first_name," ",last_name," - ", companies.name) AS customerWithCompany FROM users
                           LEFT JOIN companies on contact.company_id = companies.id');

to read the data:
            $userList = array();
            foreach ($users as $user) {
                $userList[] = $user[0]['customerWithCompany'];
            }

            var_dump($userList);

output:
 array(
        (int) 0 =>  'Harts Jackson - Google'
        (int) 1 =>  'Emo Rock - Yahoo'
            ...
)

And also The implementation of virtualFields has a few limitations. First you cannot use virtualFields on associated models for conditions, order, or fields arrays. Doing so will generally result in an SQL error as the fields are not replaced by the ORM. This is because it difficult to estimate the depth at which an associated model might be found.
if you don't have associated models (which as I can see you have and you want to assign condition) then you have to create a constructor method in your Contact model and set your virtualFiled in a constructor. here is How to create $virtualFields

A: In your Concact model just try th following:
public $belongsTo = array('Company');

public $actsAs = array('Containable');

public $virtualFields = array(
    'customerWithCompany' => "CONCAT(Contact.first_name, ' ',
                              Contact.last_name, ' ', Company.name, '')"
    );

and in your controller do something like:
$this->Contact->find(
    'list',
    array(
        'fields' => array('Contact.id', 'Contact.customerWithCompany'),
        'contain' => array('Company')
    )
);

A: I am not sure, but try to set your virtual fields in respective constructor of models.

A: this is not the subject, but this virtual field with related models works:

Orderitem hasMany Necessary
Necessary hasMany Recipe
Necessary hasMany Storage

'inrecipe' =>   'SELECT COUNT(Necessary.id)
        FROM necessaries AS Necessary
        INNER JOIN recipes AS Recipe
        ON Necessary.recipe_id = Recipe.id
        WHERE Orderitem.id = Necessary.orderitem_id ',

this works too

'instorage' =>  'SELECT COUNT(Necessary.id)
        FROM necessaries AS Necessary
        INNER JOIN recipes AS Recipe
        ON Recipe.id=Necessary.recipe_id
        INNER JOIN storages AS Storage
        ON Storage.id=Necessary.storage_id
        AND Recipe.quantity = Storage.quantity
        WHERE Orderitem.id = Necessary.orderitem_id ',

and more complicated...

'resolution' => 'SELECT IF(
        (SELECT COUNT(Necessary.id)
        FROM necessaries AS Necessary
        INNER JOIN recipes AS Recipe
        ON Recipe.id=Necessary.recipe_id
        INNER JOIN storages AS Storage
        ON Storage.id=Necessary.storage_id AND Recipe.quantity=Storage.quantity
        WHERE Orderitem.id = Necessary.orderitem_id )
         =
        (SELECT COUNT(Necessary.id)
        FROM necessaries AS Necessary
        INNER JOIN recipes AS Recipe
        ON Necessary.recipe_id = Recipe.id
        WHERE Orderitem.id = Necessary.orderitem_id )
        ,"YES", "NO") ',


Police are questioning four suspects in connection with the murder of Parika pensioner, Ramroop Rameshwar, who was bound, beaten and strangled in his home.
One of the detained men is said to be a suspect in another murder case.
Ramroop, 54, called 'Old Boy,' and 'Isaac', was found dead in his house at Parika Squatting Area, Essequibo, around 07.00 hrs last Tuesday.
A post mortem revealed the cause of death as asphyxiation due to compression strangulation, compounded by blunt trauma to the head and chest.
Relatives believe that the killers made off with a large quantity of jewellery the pensioner had in his possession.
The dead man's niece said that just a few days prior to the murder , Ramroop had shown neighbours and persons at the Parika Market a large quantity of jewellery, which he said he wanted to sell to buy a boat and engine for his grandchildren.
Ramroop had originally lived at Wakenaam, but had been residing alone, for over a year, in a shack located in the shantytown community.
Jean Halley, the slain man's next door neighbor, said she heard him screaming for 'help' about 21:30hrs on Monday, but she assumed that he was merely drunk.
She became suspicious around 06.00 hrs on Tuesday, when she noticed that the top half of Ramroop's door was open.
Residents then looked inside and saw the body.


text:
University of Portsmouth UK
The University of Portsmouth would welcome applications from students who have completed any level 4 or level 4&5 course at Severn Business College which can enable you to progress to our suite of undergraduate courses. If you have completed any level 7 course at Severn Business College, we also accept this as progression to our suite of Masters courses. Our Learning at Work courses are ideal for busy professionals who can remain working and achieve a University qualification without taking a career break. The flexibility of the course allows you to set your own objectives and deadlines, and tailor your learning to suit you and your employer.
BA (Hons) Business, BA/BSc (Hons) Professional Studies, MA Business Management, MA/MSc Professional Studies.
Learn more or apply at:
Learning at Work Team
Email - learningatwork@port.ac.uk
Telephone - 0044 23 9284 6260
Webpage - click
Brochure - click
Buckinghamshire New University UK
MCC offers flexible distributed learning BA (Hons) Business Management Top-Up awarded by the Buckinghamshire New University UK. Applicants with Level 4&5 qualification 240 credits (Pearson/Qualifi) are eligible. The course consists of 4 modules: Strategic Marketing, Managing Innovation in Business, Leading and Managing Change, and Corporate Strategy and Governance.
MCC offers flexible distributed learning International Master Of Business Administration (MBA) Top-Up awarded by the Buckinghamshire New University UK. Applicants with Level 7 qualification 120 credits (Pearson/Qualifi) are eligible. The course consists of module Dissertation only.
University of Essex Online UK
The University of Essex Online would look at direct entry onto the UG degree top-up programmes on a case by case basis providing the students have 120 credits at L4 and 120 credits at L5. Would look on a case by case basis at Level 7 up to a maximum of 60 credits for MSc programmes.
Edinburgh Napier University UK
Edinburgh Napier University offers a number of online programmes including top-up degrees as well as Masters programmes. Severn Business College students would be welcome to apply to join these programmes.
University of Lincoln UK
WINC offer Online BA (Hons) Business Studies Top-Up awarded by the University of Lincoln UK. Applicants with Level 5 qualifications (for example Higher National Diploma) from approved awarding bodies are eligible. Other equivalent qualifications may be accepted for entry to this programme.
University of Bolton UK
WINC offer Online MBA Top-Up awarded by the University of Bolton UK. Applicants will have both of the following: significant (minimum 2 years) work experience in a business or management capacity; and a HE Level 7 qualification with at least 100 credits (minimum) in a relevant subject (for instance, Postgraduate Diploma in Management, Edexcel DMS, ABE Level 7 Extended Diploma).
Staffordshire University UK
Staffordshire University would welcome applications from students who have completed the course at Severn Business College; students can apply to any Staffordshire University course via the Staffordshire University website.
University of Sunderland UK
Progression opportunities to the University of Sunderland are:
Progression to (University Programme)
Pearson BTEC Level 5 Higher National Diploma in Business (Accounting & Finance) - 240 credits BA (Hons) Accounting & Financial Management Stage 3
Pearson BTEC Level 5 Higher National Diploma in Business (Business Management) - 240 credits BA (Hons) Business Management Stage 3
Pearson BTEC Level 5 Higher National Diploma in Business (Marketing) - 240 credits BA (Hons) Business & Marketing Stage 3
Pearson BTEC Level 7 Extended Diploma in Strategic Management and Leadership - 120 credits MBA (top up – 60 credits)
EBMA Level 7 Postgraduate Diploma in Business Administration - 135 credits MBA (top up – 60 credits)
EBMA Level 5 Advanced Diploma in Business Administration - 240 credits Student applications would be considered on a case by case basis
EBMA Level 4 Diploma in Health and Social Care Management + Level 5 Advanced Diploma in Health and Social Care Management - 240 credits Student applications would be considered on a case by case basis
CPD Level 4 Diploma in Human Resource Management + Level 5 Advanced Diploma in Human Resource Management - 240 credits Student applications would be considered on a case by case basis
CPD Level 4 Diploma in Marketing Management + Level 5 Advanced Diploma in Marketing Management - 240 credits Student applications would be considered on a case by case basis
EBMA Level 7 Postgraduate Diploma in Health and Social Care Management - 135 credits Student applications would be considered on a case by case basis
CPD Level 7 Postgraduate Diploma in Human Resource Management - 120 credits Student applications would be considered on a case by case basis
CPD Level 7 Postgraduate Diploma in Marketing Management - 120 credits Student applications would be considered on a case by case basis
Please Note: The University of Sunderland may offer places to students applying to the above programme to suitably qualified students, subject to a place being available. However, where the student's first language is not English, additional evidence of language competency will be required.
Additional Universities UK
Additional universities, where SBC students may progress on to (based on a case by case basis):
Progress on to
Level 4 & Level 5 with 240 credits Final Year of Bachelors Degree
Level 7 with 120 credits Final Stage of Masters Degree
Anglia Ruskin University, University of Derby, University of Northampton, Arden University, Bangor University, Leeds Beckett University, University of South Wales, York St John University, University of Plymouth, Cardiff Metropolitan University, University of Gloucestershire, De Montfort University, University of Huddersfield, University of Worcester, Teesside University, London Metropolitan University, Oxford Brookes University, University of Gloucestershire and more.
Thank you, Severn Business College for all the support during level 7 course and guidance for admission to masters degree top up. After completing my level 7 qualification, I progress to the Master degree top-up and now I have achieved the Master Degree. Again, thank you for the support and for helping me to achieve my dreams. (J S)
Progression to Degree Application Form


Amoxicillin is a semi-synthetic aminobenzyl penicillin. It has a bactericidal action due to its inhibition of the synthesis of the bacterial cell wall. It exerts a bactericidal effect against many Gram-positive and Gram-negative microorganisms.
Infection of the following organisms are generally sensitive to the bactericidal action of amoxicillin in vitro.
Susceptible Gram-positive aerobes include: Enterococcus faecalis. Streptococcus pneumoniae, Streptococcus pyogenes. Streptococcus viridans. Streptococcus agalactiae. Streptococcus bovis, Staphylococcus aureus. Corynebacterium species. Bacillus anthracis. Listeria monocytogenes.
Susceptible Gram-negative aerobes include: Haemophilus influenzae. Haemophilus parainfluenzae, Escherichia coli. Proteus mirabilis. Salmonella species. Shigella species. Bordetella pertussis. Brucella species. Neisseria gonorrhoeae. Neisseria meningitidis. Pasteurella septica. Helicobacter pylori. Leptospira spp. Vibrio Cholerae Susceptible anaerobes include: Bacteroides melaninogenicus. Clostridium species. Fusobacterium species, Peptostreptococci Other susceptible organisms include Borrelia burgdorferi.
For upper respiratory tract infections due to streptococci, pneumococci, non-penicillinase-producing staphylococci and H, influenzae) or Genito-Urinary Tract Infections (due to Escherichia coli. Proteus mirabilis and Streptococcus faecalis or Skin and Soft Tissue Infections due to streptococci, sensitive staphylococci and Escherichia coli. Adults: 250 mg every 8 hours.
For lower respiratory tract infections (due to streptococci, pneumococci, non-penicillinase producing staphylococci and H, influenzae. Adults: 500 mg every 8 hours.
Please see label. For more detailed information please consult specialist. Do not take more of Amoxicillin Cap than it is indicated at the label without consulting your doctor.
Do not violate instructions. Report adverse effect. Dosage should be adjusted in patients with renal impairment.
I haven't believed in drugs that can reduce your weight and stay slim and slender. After starting taking Herbal Phentermine once or twice a day before a meal I felt marvelous: my appetite decreased, started to feel full and I am not thinking about food anymore!


Are you ready to take to the skies? Then welcome to Angelic Airlines! Come join the adventures of Captain Frankie and the Angelic Airlines flying angel as they travel across the world to the Seven Natural Wonders of the Earth. Captain Frankie is waiting for you to book your ticket, safely stow your bags, and open your eyes to the beautiful places created for all of us to visit in My First Travel Books. This is Anna Othitis's second trip with Captain Frankie and the crew. Originally from Zimbabwe, Africa, her home port is now Wanaque, New Jersey, and she has flown across the world in her travels.
The second book in the author's MY FIRST TRAVEL BOOKS series is a treat for children and adults alike.This fun, fact-filled book was gifted to me in exchange for an honest review. The appealing illustrations and accessible language would be a great addition for any classroom library. Well done!


Gorgeous Milk Goddess 拏LADY KAY拏- Available DT this Week! - NEW Photoshoot!
Thread: Gorgeous Milk Goddess 拏LADY KAY拏- Available DT this Week! - NEW Photoshoot!
Feeling cooped up in this weather???? You don't have to be. Let me unleash you!
Now that Valentines is over.. let the games begin!
Last edited by LadyKay054; 02-17-2019 at 12:15 AM.


The 'Internet of Things' is Big.
But The Internet of Actions is Infinite.
There is a vast, yet limited number of 'things' that can be connected to networks. But each thing can have an endless number of actions associated with it. Our concept of an 'internet of actions' includes not only things but people, places, ideas, and much more.
When the proper incentives are in place, anything is possible.
We can do that with OTOL tokens.
In the Matrix of OTOL, a myriad of intention meets a myriad of ability. Each 'search query' can easily become a request for the crowd to fulfil an intention, driven by the desire for the bounty that awaits the best response.
"...it is only when we enable users to employ the same powerful model for their own benefit that Goodomy will make the greatest economic impact."
As a special QE bonus to those who held GOOD throughout periods 4-12, we will take the lowest number of GOOD you held during periods 4-12 and add 150% in OTOL.
In the above example, the lowest held was 275,000 GOOD.
This translates into an additional 412,500 OTOL for a grand total of 3,787,500 OTOL tokens.
Note: In order to receive the airdrops you need to actually own your wallet that your GOOD tokens are in.
That means that you will not receive entanglements for GOOD held on exchanges.
For information about GOOD tokens refer to CoinMarketCap or CoinExchange.
"We do not imagine an intelligent future where humans aren't an essential part of the equation. We aren't looking to create machines that control everything, but make human lives better, easier, and more interesting by filtering out all the noise and being able to find value more easily."
The information contained on this website is for informational purposes only and does not constitute an offer or solicitation to sell shares or securities in the Company or any related or associated company or entity. Any such offer or solicitation will be made only by means of the Company's confidential Offering Memorandum and in accordance with the terms of all applicable securities and other laws. None of the information or analyses presented are intended to form the basis for any investment decision, and no specific recommendations are intended. Accordingly the information contained on this website does not constitute investment advice or counsel or solicitation for investment in any security.
This information does not constitute or form part of, and should not be construed as, any offer for sale or subscription of, or any invitation to offer to buy or subscribe for, any securities, nor should it or any part of it form the basis of, or be relied on in any connection with, any contract or commitment whatsoever. Goodomy and its agents expressly disclaims any and all responsibility for any direct or consequential loss or damage of any kind whatsoever arising directly or indirectly from: (i) reliance on any information contained in the website, (ii) any error, omission or inaccuracy in any such information or (iii) any action resulting therefrom.


Lenovo, the China-based company that acquired Motorola Mobility from Google for $2.91 billion in January, has introduced four new affordable Android-powered tablets with displays measuring between 7 and 10 inches diagonally.
With the new devices Lenovo aims to refresh their A-series line-up. Just like their predecessors the recently-announced Lenovo A7-30, A7-50, A8, and A10 are Android-powered budget tablets with somewhat similar technical specifications.
The Lenovo A7-30 features a 7-inch screen screen and a quad-core processor of unknown provenance, support for SIM cards and Dolby-enhanced dual-front speakers. Fortunately, the Chinese PC giant provided more details about the technical specifications of the Lenovo A7-50. The slate sports a 7-inch almost-HD (1024 x 600) screen, quad-core 1.3 GHz MT8382 (which might be shared with the A7-30), 8 GB of native storage, 3,500 mAh battery, 2 MP rear-mounted camera, VGA user-facing shooter, Bluetooth 4.0, and WiFi b/g/n. Lenovo also mentioned there's a WiFi+3G variant of the A7-50.
On the other hand, the Lenovo A8 and A10 come with similar hardware components but different displays as follows: the A8 packs an 8-inch screen with 1208 x 800 resolution, while A10 has a 10.1-inch 1280 x 800 resolution. Both devices will be available with quad-core 1.3 GHz MTK 8121 or MTK 8382 processors, 5 MP primary camera, 2 MP secondary camera, WiFi b/g/n, Bluetooth 4.0. Both tablets will be available with WiFi-only or WiFi+3G.
Lenovo A8 packs a 4,200 mAh battery, while the bigger A10 is powered by a 6,340 mAh cell.
While the technical specifications won't attract to many customers, the pricing of the new Lenovo tablets might. The cheaper one will definitely be the A7-30, but Lenovo failed to mention its price. The A7-50 price will start from £99.99 ($166) in the UK, the A8 will cost as low as £139.99 ($233), while the Lenovo A10 is the most expensive starting from £169.99 ($283).
The China-based company revealed that A7-30, A7-50, A8, and A10 will become available in select markets in Q2 2013. There's no information whether the four tablets will debut in the US, but if they do expect them to be cheaper than in the UK.
I never realised Lenovo had bought Motorola! Oops, silly me. However, these are just cheap and cheerful tablets. Lenovo haven't made a tablet that's impressed me so far.