‘Alien Isolation’ Arrives December 5 on The Nintendo Switch
by Mike WilsonNintendo Switch users: What are you doing on December 5? If you’re keen on getting your Alien fix, then that’s the day that Sega’s Alien Isolation will be landing on the Switch, courtesy of Feral Interactive.
The trailer below seems to indicate that the game will be available from the eShop only, with no retail version available at the moment. Pre-purchases are also available today, so get on it.
The Switch version of the game will come packed with the base game and all 7 of the previously launched DLCs. It will also introduce gyroscopic aiming and HD rumble for added immersion.
Alien Isolation is also available for PC, PlayStation 4 and Xbox One.


A graphic layout where each text item is clickable and leads to a descriptive file. hosted on github pages.
use links below to edit docs. use github editor to edit layout of file editme.dot
link to show-only version
link to editable version


Click the group of Shibas to go back to the home page.
The Shiba Inu is a native Japanese dog breed that dates all the way back around 300 B.C. The fox like looking dog is small and has a thick double coat and curved tail. Shiba Inus were known for being a hunting dog that chased wild prey. Knowing what Shiba Inu means further explains the nature of the dog, "Shiba" meaning brushwood and "Inu" meaning dog.
Dating to around 2013, the Shiba Inu has become a well-known meme "Doge". The image on the left was the popular meme image of the Doge or the Shiba named Kabosu. Shiba Inus have continued growing in popularity over the years coming from Japan to the United States.


WorldViews Flower Garden
Welcome to the flower garden. Here are some links you might try:
Default Garden
Garden with lots of goodies
Peace Tree
Mandala Garden
People Garden
Quire project Garden
(may require granting quire permissions
here
)
Other playthings
Flower Editor


An implementation of routines for solving rate-distortion problems. Rate-distortion theory is a field within information theory that examines optimal lossy compression. That is, given that some information must be lost, how can a communication channel be designed that minimizes the cost of communication error? Rate-distortion theory is concerned with the optimal (minimal cost) solution to such tradeoffs. An important tool for solving rate-distortion problems is the Blahut algorithm, developed by Richard Blahut and described in: Blahut, R. E. (1972). Computation of channel capacity and rate-distortion functions. IEEE Transactions on Information Theory, IT-18(4), 460-473. This package implements the basic Blahut algorithm, and additionally contains a number of ‘helper’ functions, including a routine for searching for an information channel that minimizes cost subject to a constraint on information rate.
| Version: | 1.01 |
| Published: | 2015-08-11 |
| Author: | Chris R. Sims |
| Maintainer: | Chris R. Sims <chris.sims at drexel.edu> |
| License: | GPL-2 |
| NeedsCompilation: | no |
| CRAN checks: | RateDistortion results |
| Reference manual: | RateDistortion.pdf |
| Package source: | RateDistortion_1.01.tar.gz |
| Windows binaries: | r-devel: RateDistortion_1.01.zip, r-release: RateDistortion_1.01.zip, r-oldrel: RateDistortion_1.01.zip |
| OS X binaries: | r-release: RateDistortion_1.01.tgz, r-oldrel: RateDistortion_1.01.tgz |
Please use the canonical form https://CRAN.R-project.org/package=RateDistortion to link to this page.


Arc FAQ
Why do you need to design a new language?
It would be surprising if we didn't still need to design more languages. That would amount to saying that programming language design is now a solved problem, and that the final, perfect language has now been designed. It does not seem that way to me-- not by a long shot. The number of still open questions makes my head spin.
Why is it called Arc?
The name is a reference to bottom-up programming. This means customizing the language to suit your application, yielding a program shaped like an arch, rather than a lintel. Since brevity is another aim, we lopped off the h.
Why did you keep car and cdr?
Because we couldn't think of any better alternatives. It would have been misleading to use first and rest or head and tail, because conses are fundamentally pairs; lists are one thing you can build with them, but not the only thing.
There's no conventional name in English for the first and second halves of a pair. If you have to make up names, car and cdr are pretty good choices, because they're short and the same length and naturally composable (e.g. cadr).
Is Arc object-oriented?
The phrase "object-oriented" means a lot of things. Half are obvious, and the other half are mistakes.
We believe Lisp should let you define new types that are treated just like the built-in types-- just as it lets you define new functions that are treated just like the built-in functions. We don't believe that every program should consist of defining new types.
Why not use some other delimiter than parentheses?
We tried various possibilities. Square and curly brackets lose because they are less directional than parens (left and right differ in fewer pixels); < and > lose because they don't wrap around enough to enclose expressions longer than tokens.
Won't allowing < new possibility > confuse people reading code?
E.g. (a i) could be a function call or an array reference.
If you make a language terser, you necessarily have more possibilities for what an expression might mean. For example, because functions are a data type in Lisp, someone new to Lisp might complain that he can't tell whether a parameter x is a function or an integer. This is an inevitable consequence of making a language more powerful. It is up to the programmer (as it always is) to avoid using the language in a way that confuses readers.
Why not build Arc on top of Java/Parrot/.NET?
We're trying to make something for the long term in Arc, something that will be useful to people in, say, 100 years. (If that sounds crazy, remember that we're already up to 50.) So (a) we're not in a hurry to save effort; when you're trying to make something that will last 100 years, there is plenty of time to work on it, and (b) we don't want to adhere to anything that isn't timeless, lest the whole project curl up like a bimetallic strip.


CSS Tutorial
Save a lot of work with CSS
In our CSS tutorial you will learn how to use CSS to control the style and layout of multiple Web pages all at once.
Save a lot of work with CSS
In our CSS tutorial you will learn how to use CSS to control the style and layout of multiple Web pages all at once.
Learn by 70 examples! With out editor, you can edit CSS, and click on a test button to view the result.
At W3Schools you will find a complete CSS2 reference, listing properties, units of measurements, color, and more.
Test your CSS skills at W3Schools!


Table Tennis Rules
Rules
- The winner of(3 out 5)(5/7 or7/9) shall be declared winner.
- The ball shall be spherical in shape, shall be orange or white in colour.
- Service shall commence with the ball resting freely on the palm of the server, thereby allowing the opponent to be prepared before
serving.
- The rally shall be a let, meaning if the ball touches the net while serving, the service shall be repeated.
- A game shall be won by the player first scoring 11 points, unless both player scores 10 points then shall the game be won by the first gaining a lead point of two
- A match shall be decided between the best of any odd number of games.


Guy Ritchie, Hugh Grant recreate portrait of their dads when they were soldiers in Singapore
by Coconuts SingaporeAs a tribute timed to coincide with Remembrance Day, English filmmaker Guy Ritchie and actor Hugh Grant, among others, got together to recreate an old photo of their fathers back when they were soldiers in Singapore.
Remembrance Day, on Nov. 11, is a memorial day observed in Commonwealth nations since the end of World War I to honor the memory of soldiers who died in the line of duty. Ritchie’s dad, John Ritchie, and Grant’s dad, James Grant, served in the same regiment in Singapore, the filmmaker said on Instagram, where he posted a portrait taken of their dads and three others in the Lion City 65 years ago.
The Sherlock Holmes director also included a photo of himself, the younger Grant, and two others recreating the image on a film set in London, as well as a photo of his father and grandfather, Stewart Ritchie, who died during World War II in France.
“This first picture was taken 65 years ago in Singapore where my dad — Captain John Ritchie — and Hugh Grant’s dad —Captain James Grant — were stationed in the same regiment, the Seaforth Highlanders,” the 51-year-old wrote.
He didn’t reveal who the other two men in the original portrait were, but did reveal that the recreated image featured their grandsons. What’s more, one of the grandsons, as it turned out, just so happened to be working for Ritchie on his upcoming gangster flick The Gentlemen, in which Grant is also appearing.
“The second picture — taken on a film set in London 65 years later, has one grandson and two sons recreating that original image,” Ritchie wrote.
“We’d discovered by coincidence that Rory Gibb, our Production Assistant on the film‘s grandad was in that same original picture. You can see the resemblance.”
He added: “Spare a thought today for the men and women in uniform who have fallen in defence and service of others.”
More news from the Little Red Dot at Coconuts.co/Singapore .


ace. INT. DEATH STAR - CONTROL ROOM Darth Vader strides into the control room, where Tarkin is watching the huge view screen. A sea of stars is before him. TARKIN Are they away? VADER They have just made the jump into hyperspace. TARKIN You're sure the homing beacon is secure aboard their ship? I'm taking an awful risk, Vader. This had better work. INT. MILLENNIUM FALCON - COCKPIT Han, removes his gloves and smiling, is at the controls of the ship. Chewie moves into the aft section to check the damage. Leia is seated near Han. Han Not a bad bit of rescuing, huh?  LEIA That doesn't sound too hard. Besides, they let us go. It's the only explanation for the ease of our escape. Han Easy... you call that easy? LEIA Their tracking us! Han Not this ship, sister. Frustrated, Leia shakes her head. LEIA At least the information in Artoo is still intact. Han What's so important? What's he carrying? LEIA The technical readouts of that battle station. I only hope that when the data is analyzed, a weakness can be found. It's not over yet! Han It is for me, sister! Look, I ain't in this for your revolution, and I'm not in it for you, Princess. I expect to be well paid. I'm in it for the money! LEIA You needn't worry about your reward. If money is all that you love, then that's what you'll receive! She angrily turns, and as she starts out of the cockpit, passes Luke coming in. LEIA Your friend is quite a mercenary. I wonder if he really cares about anything... or anyone. LUKE I care! Luke, shaking his head, sits in the copilot seat. He and Han stare out at the vast blackness of space. LUKE So... what do you think of her, Han? Han I'm trying not to, kid! LUKE (under his breath) Good... Han Still, she's got a lot of spirit. I don't know, what do you think? Do you think a princess and a guy like me... LUKE No! Luke says it with finality and looks away. Han smiles at young Luke jealousy. EXT. SPACE AROUND FOURTH MOON OF YAVIN The battered pirateship drifts into orbit around the planet Yavin and proceeds to one of its tiny green moons. EXT. FOURTH MOON OF YAVIN The pirateship soars over the dense jungle. EXT. MASSASSI OUTPOST An alert guard, his laser gun in Hand, scans the countryside. He sets the gun down and looks toward the temple, barely visible in the foliage. EXT. MASSASSI OUTPOST - JUNGLE TEMPLE Rotting in a forest of gargantuan trees, an ancient temple lies shrouded in an eerie mist. The air is heavy with the fantastic cries of unimaginable creatures. Han, Luke and the others are greeted by the Rebel troops. Luke and the group ride into the massive temple on an armored military speeder. INT. MASSASSI - MAIN HanGAR DECK The military speeder stops in a huge spaceship Hangar, set up in the interior of the crumbling temple. Willard, the commander of the Rebel forces, rushes up to the group and gives Leia a big hug. Every one is pleased to see her. WILLARD (holding Leia) You're safe! We had feared the worst. Willard composes himself, steps back and bows formally. WILLARD When we heard about Alderaan, we were afraid that you were... lost along with your father. LEIA We don't have time for our sorrows, Commander. The battle station has surely tracked us here. (looking pointedly to Han) It's the only explanation for the ease of our escape. You must use the information in this R2 unit to plan the attack. It is our only hope. EXT. SPACE The surface of the Death Star ominously approaches the red planet Yavin. INT. DEATH STAR - CONTROL ROOM Grand Moff Tarkin and Lord Vader are interrupted in their discussion by the buzz of the comlink. Tarkin moves to answer the call. TARKIN Yes. DEATH STAR INTERCOM VOICE We are approaching the planet Yavin. The Rebel base is on a moon on the far side. We are preparing to orbit the planet. EXT. YAVIN - JUNGLE A lone guard stands in a tower high above the Yavin landscape, surveying the countryside. A mist Hangs over the jungle of twisted green. INT. MASSASSI - WAR ROOM BRIEFING AREA Dodonna stands before a large electronic wall display. Leia and several other senators are to one side of the giant readout. The low-ceilinged room is filled with starpilots, navigators, and a sprinkling of R2-type robots. Everyone is listening intently to what Dodonna is saying. Han and Chewbacca are standing near the back. DODONNA The battle station is heavily shielded and carries a firepower greater tHan half the star fleet. It's defenses are designed around a direct large- scale assault. A small one-man fighter should be able to penetrate the outer defense. Gold Leader, a rough looking man in his early thirties, stands and addresses Dodonna. GOLD LEADER Pardon me for asking, sir, but what good are snub fighters going to be against that? DODONNA Well, the Empire doesn't consider a small one-man fighter to be any threat, or they'd have a tighter defense. An analysis of the plans provided by Princess Leia has demonstrated a weakness in the battle station. Artoo-Detoo stands next to a similar robot, makes beeping sounds, and turns his head from right to left. DODONNA The approach will not be easy. You are required to maneuver straight down this trench and skim the surface to this point. The target area is only two meters wide. It's a small thermal exhaust port, right below the main port. The shaft leads directly to the reactor system. A precise hit will start a chain reaction which should destroy the station. A murmer of disbelief runs through the room. DODONNA Only a precise hit will set up a chain reaction. The shaft is ray- shielded, so you'll have to use proton torpedoes. Luke is sitting next to Wedge Antilles, a hotshot pilot about sixteen years old. WEDGE That's impossible, even for a computer. LUKE It's not impossible. I used to bull's- eye womp rats in my T-sixteen back home. They're not much bigger tHan two meters. DODONNA Man your ships! And may the Force be with you! The group rises and begins to leave. EXT. SPACE The Death Star begins to move around the planet toward the tiny green moon. INT. DEATH STAR Tarkin and Vader watch the computer projected screen with interest, as a circle of lights intertwines around one another on the screen showing it's position in relation to Yavin and the forth moon. DEATH STAR INTERCOM VOICE Orbiting the planet at maximum velocity. The moon with the Rebel base will be in range in thirty minutes. VADER This will be a day long remembered. It has seen the end of Kenobi and it will soon see the end of the Rebellion. INT. MASSASSI OUTPOST - MAIN HanGAR DECK Luke, Threepio and little Artoo enter the huge spaceship Hangar and hurry along a long line of gleaming spacefighters. Flight crews rush around loading last-minute armaments and unlocking power couplings. In an area isolated from this activity Luke finds Han and Chewbacca loading small boxes onto an armored speeder. MAN'S VOICE (over loudspeaker) All flight trooper, man your stations. All flight troops, man your stations. Han is deliberately ignoring the activity of the fighter pilots' preparation. Luke is quite saddened at the sight of his friend's departure.  Han That's right, yeah! I got some old debts I've got to pay off with this stuff. Even if I didn't, you don't think I'd be fool enough to stick around here, do you? Why don't you come with us? You're pretty good in a fight. I could use you. LUKE (getting angry) Come on! Why don't you take a look around?  They could use a good pilot like you. You're turning your back on them. Han What good's a reward if you ain't around to use it? Besides, attacking that battle station ain't my idea of courage. It's more like suicide. LUKE All right. Well, take care of yourself, Han. I guess that's what you're best at, isn't it? Luke goes off and Han hesitates, then calls to him. Han Hey, Luke... may the Force be with you! Luke turns and sees Han wink at him. Luke lifts his Hand in a small wave and then goes off. Han turns to Chewie who growls at his captain, Han What're you lookin' at? I know what I'm doing. INT. MAIN HanGAR DECK - Luke SHIP Luke, Leia, and Dodonna meet under a huge space fighter. LEIA What's wrong? LUKE Oh, it's Han! I don't know, I really thought he'd cHange his mind. LEIA He's got to follow his own path. No one can choose it for him. LUKE I only wish Ben were here.  As Luke heads for his ship, another pilot rushes up to him and grabs his arm. BIGGS Luke! I don't believe it! How'd you get here... are you going out with us?! LUKE Biggs! Of course, I'll be up there with you! Listen, have I got some stories to tell... Red Leader, a rugged Handsome man in his forties, comes up behind Luke and Biggs. He has the confident smile of a born leader. RED LEADER Are you... Luke Skywalker? Have you been checked out on the Incom T-sixty- five? BIGGS Sir, Luke is the best bushpilot in the outer rim territories.  RED LEADER I met your father once when I was just a boy, he was a great pilot. You'll do all right. If you've got half of your father's skill, you'll do better tHan all right. LUKE THank you, sir. I'll try. Red Leader hurries to his own ship. BIGGS I've got to get aboard. Listen, you'll tell me your stories when we come back. All right? LUKE I told you I'd make it someday, Biggs. BIGGS (going off) You did, all right. It's going to be like old times, Luke. We're a couple of shooting stars that'll never be stopped! Luke laughs and shakes his head in agreement. He heads for his ship. As Luke begins to climb up the ladder into his sleek, deadly spaceship, the crew chief, who is working on the craft, points to little Artoo, who is being hoisted into a socket on the back of the fighter. CHIEF This R2 unit of your seems a bit beat up. Do you want a new one? LUKE Not on your life! That little droid and I have been through a lot together. (to Artoo) You okay, Artoo? The crewmen lower Artoo-Detoo into the craft. Now a part of the exterior shell of the starship, the little droid beeps that he is fine. Luke climbs up into the cockpit of his fighter and puts an his helmet. Threepio looks on from the floor of the massive Hangar as the crewmen secure his little electronic partner into Luke X-wing. It's an emotional-filled moment as Artoo beeps good-bye. CHIEF Okay, easy she goes! THREEPIO Hang on tight,Artoo, you've got to come back. Artoo beeps in agreement. THREEPIO You wouldn't want my life to get boring, would you? Artoo whistles his reply. All final preparations are made for the approaching battle. The Hangar is buzzing with the last minute activity as the pilots and crewmen alike make their final adjustments. The hum of activity is occasionally trespassed by the distorted voice of the loudspeaker issuing commands. Coupling hoses are disconnected from the ships as they are fueled. Cockpit shields roll smoothly into place over each pilot. A signalman, holding red guiding lights, directs the ships. Luke, a trace of a smile gracing his lips, peers about through his goggles. BEN'S VOICE Luke, the Force will be with you. Luke is confused at the voice and taps his headphones. EXT. MASSASSI OUTPOST - JUNGLE All that can be seen of the fortress is a lone guard standing on a small pedestal jutting out above the dense jungle. The muted gruesome crying sounds that naturally permeate this eerie purgatory are overwhelmed by the thundering din of ion rockets as four silver starships catapult from the foliage in a tight formation and disappears into the morning cloud cover. INT. MASSASSI OUTPOST - WAR ROOM The princess, Threepio, and a field commander sit quietly before the giant display showing the planet Yavin and its four moons. The red dot that represents the Death Star moves ever closer to the system. A series of green dots appear around the fourth moon. A din of indistinct chatter fills the war room. MASSASSI INTERCOM VOICE Stand-by alert. Death Star approaching. Estimated time to firing range, fifteen minutes. EXT. SPACE The Death Star slowly moves behind the massive yellow surface of Yavin in the foreground, as many X-wing fighters flying in formation zoom toward us and out of the frame. EXT. SPACE - ANOTHER ANGLE Light from a distant sun creates an eerie atmospheric glow around a huge planet, Yavin. Rebel fighters flying in formation settle ominously in the foreground and very slowly pull away. INT. RED LEADER STARSHIP - COCKPIT Red Leader lowers his visor and adjusts his gun sights, looking to each side at his wing men. RED LEADER All wings report in. INT. ANOTHER COCKPIT One of the Rebel fighters checks in through his mike. RED TEN Red Ten standing by. INT. BIGGS' COCKPIT Biggs checks his fighter's controls, alert and ready for combat. RED SEVEN (over Biggs' headset) Red Seven standing by. BIGGS Red Three standing by. INT. PORKINS' COCKPIT PORKINS Red Six standing by. RED NINE (over headset) Red Nine standing by. INT. WEDGE'S FIGHTER - COCKPIT WEDGE Red Two standing by. INT. Luke X-WING FIGHTER - COCKPIT RED ELEVEN (over headset) Red Eleven standing by. LUKE Red Five standing by. EXT. Luke X-WING FIGHTER Artoo-Detoo, in position outside of the fighter, turns his head from side to side and makes beeping sounds. INT. RED LEADER'S FIGHTER - COCKPIT RED LEADER Lock S-foils in attack position. EXT. SPACE The group of X-wing fighters move in formation toward the Death Star, unfolding the wings and locking them in the "X" position. INT. BIGGS' COCKPIT READ LEADER (over headset) We're passing through their magnetic field. INT. RED LEADER'S COCKPIT RED LEADER Hold tight! INT. Luke X-WING FIGHTER - COCKPIT Luke adjusts his controls as he concentrates on the approaching Death Star. The ship begins to be buffeted slightly.  EXT. SPACE The fighters, now X-shaped darts, move in formation. The Death Star now appears to be a small moon growing rapidly in size as the Rebel fighters approach. Complex patterns on the metallic surface begin to become visible. A large dish antenna is built into the surface on one side. INT. WEDGE'S COCKPIT Wedge is amazed and slightly frightened at the awesome spectacle. WEDGE Look at the size of that thing! RED LEADER (over headset) Cut the chatter, Red Two. INT. RED LEADER'S COCKPIT RED LEADER Accelerate to attack speed. This is it, boys! EXT. SPACE As the fighters move closer to the Death Star, the awesome size of the gargantuan Imperial fortress is revealed. Half of the deadly space station is in shadow and this area sparkles with thousands of small lights running in thin lines and occasionally grouped in large clusters; somewhat like a city at night as seen from a weather satellite. INT. GOLD LEADER'S COCKPIT GOLD LEADER Red Leader, this is Gold Leader. RED LEADER (over headset) I copy, Gold Leader. GOLD LEADER We're starting for the target shaft now. INT. RED LEADER'S COCKPIT Red Leader looks around at his wingmen; the Death Star looming in from behind. Two Y-wing fighters bob back and forth in the background. He moves his computer targeting device into position. RED LEADER We're in position.  The X-wings dive towards the Death Star surface. A thousand lights glow across the dark grey expanse of the huge station. INT. DEATH STAR Alarm sirens scream as soldiers scramble to large turbo- powered laser gun emplacements. Electronic drivers rotate the huge guns into position as crew adjust their targeting devices. EXT. SPACE AROUND THE DEATH STAR Laserbolts streak through the star-filled night. The Rebel X- wing fighters move in toward the Imperial base, as the Death Star aims its massive laser guns at the Rebel forces and fires. INT. MASSASSI OUTPOST - WAR ROOM Princess Leia listens to the battle over the intercom. Threepio is at her side. WEDGE (over war room speaker system) Heavy fire, boss! Twenty-degrees. RED LEADER (over speaker) I see it.  INT. WEDGE'S COCKPIT Wedge maneuvers his fighter toward the menacing Death Star. EXT. SPACE X-wings continue in their attack course on the Death Star. INT. Luke X-WING FIGHTER - COCKPIT Luke nosedives radically, starting his attack on the monstrous fortress. The Death Star surface streaks past the cockpit window. LUKE This is Red Five; I'm going in! EXT. SPACE Luke X-wing races toward the Death Star. Laserbolts streak from Luke weapons, creating a huge fireball explosion on the dim surface. INT. Luke X-WING FIGHTER - COCKPIT Terror crosses Luke face as he realizes he won't be able to pull out in time to avoid the fireball.  EXT. SURFACE OF DEATH STAR Luke ship emerges from the fireball, with the leading edges of his wings slightly scorched. INT. BIGGS' COCKPIT BIGGS Are you all right? INT. Luke X-WING FIGHTER - COCKPIT Luke adjusts his controls and breathes a sigh of relief. Flak bursts outside the cockpit window. LUKE I got a little cooked, but I'm okay. EXT. SURFACE OF THE DEATH STAR Rebel fighters continue to strafe the Death Star's surface with laserbolts. INT. DEATH STAR Walls buckle and cave in. Troops and equipment are blown in all directions. Stormtroopers stagger out of the rubble. Standing in the middle of the chaos, a vision of calm and foreboding, is Darth Vader. One of his Astro-Officers rushes up to him. ASTRO-OFFICER We count thirty Rebel ships, Lord Vader. But they're so small they're evading our turbo-lasers! VADER We'll have to destroy them ship to ship. Get the crews to their fighters. INT. DEATH STAR Smoke belches from the giant laser guns as they wind up their turbine generators to create sufficient power. The crew rushes about preparing for another blast. Even the troopers head gear is not adequate to protect them from the overwhelming noise of the monstrous weapon. One troopers bangs his helmet with his Hand in an attempt to stop the ringing. INT. READ LEADER'S X-WING FIGHTER - COCKPIT - TRAVELING Red Leader flies through a heavy hail of flak. RED LEADER Luke, let me know when you're going in. INT. Luke X-WING - COCKPIT - TRAVELING The Red Leader's X-wing flies past Luke as he puts his nose down and starts his attack dive. LUKE I'm on my way in now... RED LEADER Watch yourself! There's a lot of fire coming from the right side of that deflection tower. LUKE I'm on it. EXT. SURFACE OF THE DEATH STAR Luke flings his X-wing into a twisting dive across the horizon and down onto the dim grey surface. EXT. Luke X-WING TRAVELING A shot hurls from Luke guns. Laserbolts streak toward the onrushing Death Star surface. Several small radar emplacements erupt in flame. Laserfire erupts from a protruding tower on the surface. INT. Luke X-WING - COCKPIT - TRAVELING The blurry Death Star surface races past the cockpit window as a big smile sweeps across Luke face at the success of his run. Flak thunders on all sides of him. EXT. SURFACE OF THE DEATH STAR The Death Star superstructure races past Luke as he maneuvers his craft through a wall of laserfire and peels away from the surface towards the heavens. INT. DEATH STAR The thunder and smoke of the big guns reverberate throughout the massive structure. Many soldiers rush about in the smoke and chaos, silhouetted by the almost continual flash of explosions. INT. BIGGS' COCKPIT - TRAVELING Biggs dives through a forest of radar domes, antennae, and gun towers as he shoots low across the Death Star surface. A dense barrage of laserfire streaks by on all sides. INT. DEATH STAR Imperial star pilots dash in unison to a line of small auxiliary hatches that lead to Imperial TIE fighters. INT. MASSASSI OUTPOST - WAR ROOM Princess Leia, surrounded by her generals and aides, paces nervously before a lighted computer table. On all sides technicians work in front of many lighted glass walls. Dodonna watches quietly from one corner. One of the officers working over a screen speaks into his headset. CONTROL OFFICER Squad leaders, we've picked up a new group of signals. Enemy fighters coming your way. INT. Luke X-WING - COCKPIT - TRAVELING Luke looks around to see if he can spot the approaching Imperial fighters. LUKE My scope's negative. I don't see anything. INT. RED LEADER'S X-WING - COCKPIT - TRAVELING The Death Star's surface sweeps past as Red Leader searches the sky for the Imperial fighters. Flak pounds at his ship. RED LEADER Keep up your visual scanning. With all this jamming, they'll be on top of you before your scope can pick them up. EXT. SURFACE OF THE DEATH STAR Silhouetted against the rim lights of the Death Star horizon, four ferocious Imperial TIE ships dive on the Rebel fighters. Two of the TIE fighters peel off and drop out of frame. Pan with the remaining two TIE ships. INT. BIGGS' COCKPIT - TRAVELING Biggs panics when he discovers a TIE ship on his tail. The horizon in the background twists around as he peels off, hoping to lose the Imperial fighter. INT. RED LEADER'S COCKPIT RED LEADER Biggs! You've picked one up... watch it! BIGGS I can't see it! Where is he?! EXT. SPACE AROUND THE DEATH STAR Biggs zooms off the surface and into space, closely followed by an Imperial TIE fighter. The TIE ship fires several laserbolts at Biggs, but misses. INT. BIGGS' COCKPIT - TRAVELING Biggs see the TIE ship behind him and swings around, trying to avoid him. BIGGS He's on me tight, I can't shake him... I can't shake him. EXT. SPACE AROUND THE DEATH STAR Biggs, flying at high altitude, peels off and dives toward the Death Star surface, but he is unable to lose the TIE fighter, who sticks close to his tail. INT. X-WING FIGHTER - COCKPIT - TRAVELING Luke is flying upside down. He rotates his ship around to normal attitude as he comes out of his dive. LUKE Hang on, Biggs, I'm coming in. EXT. SPACE AROUND THE DEATH STAR Biggs and the tailing TIE ship dive for the surface, now followed by a fast-gaining Luke. After Biggs dives out of sight, Luke chases the Imperial fighter. EXT. SURFACE AROUND THE DEATH STAR In the foreground, the Imperial fighter races across the Death Star's surface, closely followed by Luke in the background. INT. Luke X-WING FIGHTER - COCKPIT - TRAVELING There is a shot from Luke X-wing of the TIE ship exploding in a mass of flames. LUKE Got him! INT. DEATH STAR Darth Vader strides purposefully down a Death Star corridor, flanked by Imperial stormtroopers. VADER Several fighters have broken off from the main group. Come with me! INT. MASSASSI OUTPOST - WAR ROOM A concerned Princess Leia, Threepio, Dodonna, and other officers of the Rebellion stand around the huge round readout screen, listening to the ship-to-ship communication on the room's loudspeaker. BIGGS (over speaker) Pull in! Luke... pull in! WEDGE (over speaker) Watch your back, Luke! INT. Luke X-WING FIGHTER - COCKPIT WEDGE (over headset) Watch your back! Fighter's above you, coming in! EXT. SPACE Luke ship soars away from the Death Star's surface as he spots the tailing TIE fighter. INT. TIE FIGHTER'S COCKPIT The TIE pilot takes aim at Luke X-wing. EXT. SPACE The Imperial TIE fighter pilot scores a hit on Luke ship. Fire breaks out on the right side of the X-wing. INT. Luke X-WING FIGHTER - COCKPIT Luke looks out of his cockpit at the flames on his ship. LUKE I'm hit, but not bad. EXT. Luke X-WING FIGHTER Smoke pours out from behind Artoo-Detoo. Luke VOICE Artoo, see what you can do with it. Hang on back there.  INT. Luke X-WING - COCKPIT Luke nervously works his controls. RED LEADER (over headset) Red Six... INT. MASSASSI OUTPOST - WAR ROOM In the war room, Leia stands frozen as she listens and worries about Luke. RED LEADER (over speaker) Can you see Red Five? RED TEN (over speaker) There's a heavy fire zone on this side. Red Five, where are you? INT. Luke X-WING - COCKPIT Luke spots the TIE fighter behind him and soars away from the Death Star surface. LUKE I can't shake him! EXT. SURFACE OF THE DEATH STAR Luke ship soars closer to the surface of the Death Star, an Imperial TIE fighter closing in on him in hot pursuit. INT. WEDGE'S COCKPIT The Death Star whips below Wedge. WEDGE I'm on him, Luke! INT. Luke X-WING - COCKPIT WEDGE (over headset) Hold on! EXT. SURFACE OF THE DEATH STAR Wedge dives across the horizon toward Luke and the TIE fighter. INT. WEDGE'S COCKPIT Wedge moves his X-wing in rapidly. INT. Luke X-WING - COCKPIT Luke reacts frantically. LUKE Blast it! Wedge where are you? INT. TIE FIGHTER - COCKPIT The fighter pilot watches Wedge's X-wing approach. Another X- wing joins him, and both unleash a volley of laserfire on the Imperial fighter. EXT. SPACE The TIE fighter explodes, filling the screen with white light. Luke ship can be seen far in the distance. INT. Luke X-WING - COCKPIT Luke looks about in relief. LUKE THanks, Wedge. INT. MASSASSI OUTPOST - WAR ROOM Leia, Threepio, Dodonna and other Rebel officers are listening to the Rebel Fighter's radio transmissions over the war room intercom. BIGGS (over speaker) Good shooting, Wedge! GOLD LEADER (over speaker) Red Leader... INT. GOLD LEADER'S Y-WING - COCKPIT Gold Leader peels off and starts toward the long trenches at the Death Star surface pole. GOLD LEADER This is Gold Leader. We're starting out attack run. EXT. SPACE AROUND THE DEATH STAR Three Y-wing fighters of the Gold group dive out of the stars toward the Death Star surface. INT. MASSASSI OUTPOST - WAR ROOM Leia and the others are grouped around the screen, as technicians move about attending to their duties. RED LEADER (over speaker) I copy, Gold Leader. Move into position. EXT. SPACE AROUND THE DEATH STAR Three Imperial TIE ships in precise formation dive toward the Death Star surface. INT. DARTH VADER'S COCKPIT Darth Vader calmly adjusts his control stick as the stars whip past in the window above his head. VADER Stay in attack formation! INT. MASSASSI OUTPOST - WAR ROOM Technicians are seated at the computer readout table. GOLD LEADER (over speaker) The exhaust post is... INT. GOLD LEADER'S Y-WING - COCKPIT GOLD LEADER ...marked and locked in! EXT. SPACE AROUND THE DEATH STAR Gold Leader approaches the surface and pulls out to skim the surface of the huge station. The ship moves into a deep trench, firing laserbolts. The surface streaks past as laserfire is returned by the Death Star. INT. GOLD FIVE'S Y-WING - COCKPIT - TRAVELING Gold Five is a pilot in his early fifties with a very battered helmet that looks like it's been through many battles. He looks around to see if enemy ships are near. His fighter is buffeted by Imperial flak. INT. GOLD LEADER'S Y-WING - COCKPIT Gold Leader races down the enormous trench that leads to the exhaust port. Laserbolts blast toward him in increasing numbers, occasionally exploding near the ship causing it to bounce about. GOLD LEADER Switch power to front deflector screens. EXT. SURFACE OF THE DEATH STAR Three Y-wing skim the Death Star surface deep in the trench, as laserbolts streak past on all sides. EXT. DEATH STAR SURFACE - GUN EMPLACEMENTS An exterior surface gun blazes away at the oncoming Rebel fighters. INT.  Some on the surface, some on the towers. Leia, Threepio, and the technicians view the projected target screen, as red and blue target lights glow. The red target near the center blinks on and off. MASSASSI INTERCOM VOICE (over speaker) Death Star will be in range in five minutes. EXT. SURFACE OF THE DEATH STAR The three Y-wing fighters race toward camera and zoom overhead through a hail of laserfire. INT.  Laserbolts continue to batter the Rebel craft. GOLD LEADER Switching to targeting computer. INT. GOLD TWO'S Y-WING - COCKPIT Gold Two, a younger pilot about Luke age, pulls down his targeting eye viewer and adjusts it. His ship shudders under intense laser barrage. GOLD TWO Computer's locked. Getting a signal. As the fighters begin to approach the target area, suddenly all the laserfire stops. An eerie clam clings over the trench as the surface whips past in a blur. GOLD TWO The guns... they've stopped! EXT. GOLD FIVE'S COCKPIT Gold Five looks behind him. GOLD FIVE Stabilize your read deflectors. Watch for enemy fighters. INT. GOLD LEADER'S Y-WING - COCKPIT GOLD LEADER They've coming in! Three marks at two ten. EXT. SPACE AROUND THE DEATH STAR Three Imperial TIE ships, Darth Vader in the center flanked by two wingmen, dive in precise formation almost vertically toward the Death Star surface. INT. DARTH VADER'S COCKPIT Darth Vader calmly adjusts his control stick as the stars zoom by. VADER I'll take them myself! Cover me! WINGMAN'S VOICE (over speaker) Yes, sir. EXT. SPACE AROUND THE DEATH STAR Three TIE fighters zoom across the surface of the Death Star. INT. DARTH VADER'S COCKPIT Vader lines up Gold Two in his targeting computer. Vader's Hands grip the control stick as he presses the button. INT. GOLD LEADER'S Y-WING - COCKPIT The cockpit explodes around Gold Two. His head falls forward. EXT. SPACE AROUND THE DEATH STAR As Gold Two's ship explodes, debris is flung out into space. INT. GOLD LEADER'S Y-WING - COCKPIT Gold Leader looks over his shoulder at the scene. EXT. DEATH STAR TRENCH The three TIE fighters race along in the trench in a tight formation. INT. GOLD LEADER'S Y-WING - COCKPIT Gold Leader panics. GOLD LEADER (into mike) I can't maneuver! INT. GOLD FIVE'S Y-WING - COCKPIT Gold Five, the old veteran, trys to calm Gold Leader. GOLD FIVE Stay on target. INT. GOLD LEADER'S Y-WING - COCKPIT The Death Star races by outside the cockpit window as he adjusts his targeting device. GOLD LEADER We're too close. INT. GOLD FIVE'S Y-WING - COCKPIT The older pilot remains calm. GOLD FIVE Stay on target! INT. GOLD LEADER'S Y-WING - COCKPIT Now he's really panicked. GOLD LEADER Loosen up! INT. DARTH VADER'S COCKPIT Vader calmly adjusts his targeting computer and pushes the fire button. INT. GOLD LEADER'S Y-WING - COCKPIT Gold Leader's ship is hit by Vader's laser. EXT. SURFACE OF THE DEATH STAR Gold Leader explodes in a ball of flames, throwing debris in all directions. INT. GOLD FIVE'S Y-WING - COCKPIT Gold Five moves in on the exhaust port. GOLD FIVE Gold Five to Red Leader... INT. Luke X-WING FIGHTER - COCKPIT Luke looks over his shoulder at the action outside of his cockpit. GOLD FIVE (over headset) Lost Tiree, lost Dutch. INT. RED LEADER'S COCKPIT RED LEADER I copy, Gold Five. INT. GOLD FIVE'S Y-WING - COCKPIT GOLD FIVE They came from behind... EXT. SURFACE OF THE DEATH STAR One of the engines explodes on Gold Five's Y-wing fighter, blazing out of control. He dives past the horizon toward the Death Star's surface, passing a TIE fighter during his descent. Gold Five, a veteran of countless campaigns, spins toward his death. INT. Luke X-WING FIGHTER - COCKPIT Luke looks nervously about him at the explosive battle. INT. DEATH STAR - CONTROL ROOM Grant Moff Tarkin and a Chief Officer stand in the Death Star's control room. OFFICER We've analyzed their attack, sir, and there is a danger.  TARKIN Evacuate? In out moment of triumph? I think you overestimate their cHances! Tarkin turns to the computer readout screen. Flames move around the green disk at the center of the screen, as numbers read across the bottom. VOICE (over speaker) Rebel base, three minutes and closing. INT. READ LEADER'S COCKPIT Red Leader looks over at his wingmen. RED LEADER Red Group, this is Red Leader. INT. MASSASSI OUTPOST - WAR ROOM Dodonna moves to the intercom as he fiddles with the computer keys. RED LEADER (over speaker) Rendezvous at mark six point one. WEDGE (over speaker) This is Red Two. Flying toward you. BIGGS (over speaker) Red Three, standing by. INT. RED LEADER'S COCKPIT DODONNA (over headset) Red Leader, this is Base One. Keep half your group out of range for the next run. INT. Luke X-WING FIGHTER - COCKPIT RED LEADER'S VOICE (over headset) Copy, Base One. Luke, take Red Two and Three. Hold up here and wait for my signal... to start your run. Luke nods his head. EXT. SPACE AROUND THE DEATH STAR The X-wing fighters of Luke, Biggs, and Wedge fly in formation high above the Death Star's surface. INT. Luke X-WING FIGHTER - COCKPIT Luke peers out from his cockpit. EXT. SURFACE OF THE DEATH STAR Two X-wings move across the surface of the Death Star. Red Leader's X-wing drops down to the surface leading to the exhaust port. INT. RED LEADER'S COCKPIT Red Leader looks around to watch for the TIE fighters. He begins to perspire. RED LEADER This is it! EXT. SPACE Red Leader roams down the trench of the Death Star as lasers streak across the black heavens. EXT. DEATH STAR SURFACE - GUN EMPLACEMENTS A huge remote-control laser cannon fires at the approaching Rebel fighters. EXT. DEATH STAR TRENCH The Rebel fighters evade the Imperial laser blasts. INT. RED TEN'S COCKPIT Red Ten looks around for the Imperial fighters. RED TEN We should be able to see it by now. EXT. DEATH STAR TRENCH From the cockpits of the Rebel pilots, the surface of the Death Star streaks by, with Imperial laserfire shooting toward them. INT. RED LEADER'S COCKPIT RED LEADER Keep your eyes open for those fighters! INT. RED TEN'S COCKPIT RED TEN There's too much interference! EXT. SPACE - DEATH STAR TRENCH Three X-wing fighters move in formation down the Death Star trench. RED TEN'S VOICE Red Five, can you see them from where you are? INT. Luke X-WING FIGHTER - COCKPIT Luke looks down at the Death Star surface below. LUKE No sign of any... wait! INT. RED TEN'S COCKPIT Red Ten looks up and sees the Imperial fighters. LUKE (over headset) Coming in point three five. RED TEN I see them. EXT. SURFACE OF THE DEATH STAR Three TIE fighters, Vader flanked by two wingmen, dive in a tight formation. The sun reflects off their dominate solar fins as they loop toward the Death Star's surface. INT.  RED LEADER I'm in range. EXT. SURFACE OF THE DEATH STAR Red Leader's X-wing moves up the Death Star trench. INT.  Red Leader looks at his computer target readout screen. He then looks into his targeting device. RED LEADER Just hold them off for a few seconds. INT. DARTH VADER'S COCKPIT Vader adjusts his control lever and dives on the X-wing fighters. VADER Close up formation. EXT. DEATH STAR TRENCH The three TIE fighters move in formation across the Death Star surface. INT. RED LEADER'S COCKPIT Red Leader lines up his target on the targeting device cross hairs. EXT. SURFACE OF THE DEATH STAR Vader and his wingmen zoom down the trench. INT. DARTH VADER'S COCKPIT Vader rapidly approaches the two X-wings of Red Ten and Red Twelve. Vader's laser cannon flashes below the view of the front porthole. the X-wings show in the center of Vader's computer screen. EXT. SPACE Red Twelve's X-wing fighter is hit by Vader's laserfire, and it explodes into flames against the trench. INT. RED TEN'S COCKPIT Red Ten works at his controls furiously, trying to avoid Vader's fighter behind him. RED TEN: You'd better let her loose. INT. RED LEADER'S COCKPIT Red Leader is concentrating on his targeting device. RED LEADER Almost there! INT. RED TEN'S COCKPIT. Red Ten panics. RED TEN I can't hold them! EXT. SURFACE OF THE DEATH STAR Vader and his wingmen whip through the trench in pursuit of the Rebel fighters. INT. DARTH VADER'S COCKPIT Vader cooly pushes the fire button on his control stick. INT. RED TEN'S COCKPIT Darth Vader's well-aimed laserfire proves to be unavoidable, and strikes Red Ten's ship. Red Ten screams in anguish and pain. EXT. SPACE AROUND THE DEATH STAR Red Ten's ship explodes and bursts into flames. INT. RED LEADER'S COCKPIT Grimly, Red Leader takes careful aim and watches his computer targeting device, which shows the target lined up in the cross hairs, and fires. INT. RED LEADER'S COCKPIT RED LEADER It's away! INT. DEATH STAR An armed Imperial stormtrooper is knocked to the floor from the attack explosion. Other troopers scurrying about the corridors are knocked against the wall and lose their balance. INT. MASSASSI OUTPOST - WAR ROOM Leia and the others stare at the computer screen. RED NINE'S VOICE (over speaker) It's a hit! RED LEADER (over speaker) Negative. INT. RED LEADER'S COCKPIT Red Leader looks back at the receding Death Star. Tiny explosions are visible in the distance. RED LEADER Negative! It didn't go in. It just impacted on the surface. EXT. SPACE AROUND THE DEATH STAR - TIE FIGHTER Darth Vader peels off in pursuit as Red Leader's X-wing passes the Death Star horizon. INT. DARTH VADER'S COCKPIT Vader swings his ship around for the next kill. INT. RED LEADER'S COCKPIT LUKE (over headset) Red Leader, we're right above you. Turn to point... INT. Luke X-WING FIGHTER - COCKPIT Luke tries to spot Red Leader. He looks down at the Death Star surface. LUKE ...oh-five; we'll cover for you. RED LEADER (over headset) Stay there... INT. RED LEADER'S COCKPIT A wary Red Leader looks about nervously. RED LEADER ...I just lost my starboard engine. INT. Luke X-WING FIGHTER - COCKPIT Luke looks excitedly toward Red Leader's X-wing. RED LEADER (over headset) Get set to make your attack run. INT. DARTH VADER'S COCKPIT Vader's gloved Hands make contact with the control sticks, and he presses their firing buttons. INT. RED LEADER'S COCKPIT Red Leader fights to gain control of his ship. EXT. SPACE AROUND THE DEATH STAR Laserbolts are flung from Vader's TIE fighter, connecting with Red Leader's Rebel X-wing fighter. Red Leader buys it, creating a tremendous explosion far below. He screams and is destroyed. INT. Luke X-WING FIGHTER - COCKPIT Luke looks out the window of his X-wing at the explosion far below. For the first time, he feels the helplessness of his situation. INT. DEATH STAR Grand Moff Tarkin casts a sinister eye at the computer screen. DEATH STAR INTERCOM VOICE Rebel base, one minute and closing. INT. MASSASSI OUTPOST - WAR ROOM Dodonna and Princess Leia, with Threepio beside them, listen intently to the talk between the pilots. The room is grim after Red Leader's death. Princess Leia nervously paces the room. LUKE (over speaker) Biggs, Wedge, let's close it up. We're going in. We're going in full throttle. INT. WEDGE'S COCKPIT The horizon twists as Wedge begins to pull out. WEDGE Right with you, boss. EXT. SPACE AROUND THE DEATH STAR The two X-wings peel off against a background of stars and dive toward the Death Star. INT. BIGGS' COCKPIT BIGGS Luke, at that speed will you be able to pull out in time? INT. Luke X-WING FIGHTER - COCKPIT LUKE It'll be just like Beggar's Canyon back home. EXT. SPACE AROUND THE DEATH STAR The three X-wings move in, unleashing a barrage of laserfire. Laserbolts are returned from the Death Star. INT. BIGGS' COCKPIT Luke lifelong friend struggles with his controls. BIGGS We'll stay back far enough to cover you. INT. Luke COCKPIT Flak and laserbolts flash outside Luke cockpit window. WEDGE (over headset) My scope shows the tower, but I can't see the exhaust port! Are you sure the computer can hit it? EXT. DEATH STAR - GUN EMPLACEMENTS The Death Star laser cannon slowly rotates as it shoots laserbolts. INT. Luke X-WING FIGHTER - COCKPIT Luke looks around for the Imperial TIE fighters. He thinks for a moment and then moves his targeting device into position. LUKE Watch yourself! Increase speed full throttle! INT. WEDGE'S COCKPIT Wedge looks excitedly about for any sign of the TIE fighters. WEDGE What about the tower? INT. Luke X-WING FIGHTER - COCKPIT LUKE You worry about those fighters! I'll worry about the tower! EXT. DEATH STAR SURFACE Luke X-wing streaks through the trench, firing lasers. INT. Luke X-WING FIGHTER - COCKPIT Luke breaks into a nervous sweat as the laserfire is returned, knicking one of his wings close to the engine. LUKE (to Artoo) Artoo... that, that stabilizer's broken loose again! See if you can't lock it down! EXT. Luke X-WING FIGHTER Artoo works to repair the damages. The canyon wall rushes by in the background, making his delicate task seem even more precarious. EXT. DEATH STAR Two laser cannons are firing on the Rebel fighters. INT. WEDGE'S COCKPIT Wedge looks up and sees the TIE ships. INT. Luke X-WING FIGHTER - COCKPIT Luke targeting device marks off the distance to the target. EXT. SPACE AROUND THE DEATH STAR Vader and his wingmen zoom closer. INT. DARTH VADER'S COCKPIT Vader adjusts his controls and fires laserbolts at two X- wings flying down the trench. He scores a direct hit on Wedge. INT. MASSASSI OUTPOST - WAR ROOM Leia and the others are grouped around the computer board. WEDGE (over speaker) I'm hit! I can't stay with you. LUKE (over speaker) Get clear, Wedge. INT. Luke X-WING FIGHTER - COCKPIT LUKE You can't do any more good back there! INT. WEDGE'S COCKPIT WEDGE Sorry! EXT. SPACE AROUND THE DEATH STAR Wedge pulls his crippled X-wing back away from the battle. INT. DARTH VADER'S COCKPIT Vader watches the escape but issues a command to his wingmen. VADER Let him go! Stay on the leader! EXT. SPACE AROUND THE DEATH STAR Luke X-wing speeds down the trench; the three TIE fighters, still in perfect unbroken formation, tail close behind. INT. BIGGS' COCKPIT Biggs looks around at the TIE fighters. He is worried. BIGGS Hurry, Luke, they're coming in much faster this time. I can't hold them! EXT. SPACE AROUND THE DEATH STAR The three TIE fighters move ever closer, closing in on Luke and Biggs. INT. Luke X-WING FIGHTER - COCKPIT Luke looks back anxiously at little Artoo. LUKE Artoo, try and increase the power! EXT. Luke X-WING FIGHTER Ignoring the bumpy ride, flak, and lasers, a beeping Artoo- Detoo struggles to increase the power, his dome turning from side to side. EXT. SPACE AROUND THE DEATH STAR Stealthily, the TIE formation creeps closer. INT. DARTH VADER'S COCKPIT Vader adjusts his control stick. INT. BIGGS' COCKPIT Biggs looks around at the TIE fighters. INT. Luke X-WING FIGHTER Luke looks into his targeting device. He moves it away for a moment and ponders its use. He looks back into the computer targeter. BIGGS (over headset) Hurry up, Luke! EXT. SPACE AROUND THE DEATH STAR Vader and his wingmen race through the Death Star trench. Biggs moves in to cover for Luke, but Vader gains on him. INT. BIGGS' COCKPIT Biggs sees the TIE fighter aiming at him. BIGGS Wait! INT. DARTH VADER'S COCKPIT Vader squeezes the fire button on his controls. INT. BIGGS' COCKPIT Biggs' cockpit explodes around him, lighting him in red. EXT. SURFACE OF THE DEATH STAR Biggs' ship bursts into a million flaming bits and scatters across the surface. INT. MASSASSI OUTPOST - WAR ROOM Leia and the others stare at the computer board. INT. Luke X-WING COCKPIT Luke is stunned by Biggs' death. His eyes are watering, but his anger is also growing. INT. DEATH STAR - CONTROL ROOM Grand Moff Tarkin watches the projected target screen with satisfaction. DEATH STAR INTERCOM VOICE Rebel base, thirty seconds and closing. INT. DARTH VADER'S COCKPIT Vader takes aim on Luke and talks to the wingmen. VADER I'm on the leader. EXT. SURFACE OF THE DEATH STAR - Luke SHIP Luke ship streaks through the trench of the Death Star. INT. MASSASSI OUTPOST - WAR ROOM Princess Leia returns her general's worried and doubtful glances with solid, grim determination. Threepio seems nervous. THREEPIO Hang on, Artoo! INT. Luke X-WING - COCKPIT Luke concentrates on his targeting device. EXT. SURFACE OF THE DEATH STAR Three TIE fighters charge away down the trench toward Luke. INT. DARTH VADER'S COCKPIT Vader's finger's curls around the control stick. INT. Luke X-WING - COCKPIT Luke adjusts the lens of his targeting device. EXT. SURFACE OF THE DEATH STAR Luke ship charges down the trench. INT. Luke X-WING - COCKPIT Luke lines up the yellow cross-hair lines of the targeting device's screen. He looks into the targeting device, then starts at a voice he hears. BEN'S VOICE Use the Force, Luke. EXT. SURFACE OF THE DEATH STAR The Death Star trench zooms by. INT. Luke X-WING - COCKPIT Luke looks up, then starts to look back into the targeting device. He has second thoughts. BEN'S VOICE Let go, Luke. A grim determination sweeps across Luke face as he closes his eyes and starts to mumble Ben's training to himself. EXT. SURFACE OF THE DEATH STAR Luke fighter streaks through the trench. INT. DARTH VADER'S COCKPIT VADER The Force is strong with this one! EXT. SURFACE OF THE DEATH STAR Vader follows Luke X-wing down the trench. INT. Luke X-WING - COCKPIT Luke looks to the targeting device, then away as he hears Ben's voice. BEN'S VOICE Luke, trust me. Luke Hand reaches for the control panel and presses the button. The targeting device moves away. INT. MASSASSI OUTPOST - WAR ROOM Leia and the others stand watching the projected screen. BASE VOICE (over speaker) His computer's off.  What's wrong? LUKE (over speaker) Nothing. I'm all right. EXT. SURFACE OF THE DEATH STAR Luke ship streaks ever close to the exhaust port. INT. Luke X-WING - COCKPIT Luke looks at the Death Star surface streaking by. EXT. Luke X-WING FIGHTER Artoo-Detoo turns his head from side to side, beeping in anticipation. EXT. SURFACE OF THE DEATH STAR The three TIE fighters, manned by Vader and his two wingmen, follow Luke X-wing down the trench. INT. DARTH VADER'S COCKPIT Vader maneuvers his controls as he looks at his doomed target. He presses the fire buttons on his control sticks. Laserfire shoots toward Luke X-wing fighter. EXT. Luke X-WING FIGHTER A large burst of Vader's laserfire engulfs Artoo. The arms go limp on the smoking little droid as he makes a high-pitched sound. INT. Luke X-WING FIGHTER - COCKPIT Luke looks frantically back over his shoulder at Artoo. EXT. Luke X-WING FIGHTER Smoke billows out around little Artoo and sparks begin to fly. LUKE I've lost Artoo! Artoo's beeping sounds die out. INT. MASSASSI OUTPOST - WAR ROOM Leia and the others stare intently at the projected screen, while Threepio watches the Princess. Lights representing the Death Star and targets glow brightly. MASSASSI INTERCOM VOICE The Death Star has cleared the planet. The Death Star has cleared the planet. INT. DEATH STAR - CONTROL ROOM Tarkin glares at the projected target screen. DEATH STAR INTERCOM VOICE Rebel base, in range. TARKIN You may fire when ready. DEATH STAR INTERCOM VOICE Commence primary ignition. An officer reaches up and pushes buttons on the control panel, as green lighted buttons turn to red. EXT. SURFACE OF THE DEATH STAR The three TIE fighters zoom down the Death Star trench in pursuit of Luke, never breaking formation. INT. Luke COCKPIT Luke looks anxiously at the exhaust port. INT. DARTH VADER'S COCKPIT Vader adjusts his control sticks, checking his projected targeting screen. EXT. SURFACE OF THE DEATH STAR Luke ship barrels down the trench. INT. DARTH VADER'S COCKPIT Vader's targeting computer swings around into position. Vader takes careful aim on Luke X-wing fighter. VADER I have you now. He pushes the fire buttons. EXT. SURFACE OF THE DEATH STAR The three TIE fighters move in on Luke. As Vader's center fighter unleashes a volley of laserfire, one of the TIE ships at his side is hit and explodes into flame. The two remaining ships continue to move in. INT. Luke X-WING FIGHTER - COCKPIT Luke looks about, wondering whose laserfire destroyed Vader's wingman. INT. DARTH VADER'S COCKPIT Vader is taken by surprise, and looks out from his cockpit. VADER What? INT. DARTH VADER'S WINGMAN - COCKPIT Vader's wingman searches around him trying to locate the unknown attacker. INT. MILLENNIUM FALCON - COCKPIT Han and Chewbacca grin from ear to ear. Han (yelling) Yahoo! EXT. SPACE AROUND THE DEATH STAR The Millennium Falcon heads right at the two TIE fighters. It's a collision course. INT. WINGMAN'S COCKPIT The wingman spots the pirateship coming at him and warns the Dark Lord. WINGMAN Look out! EXT. DEATH STAR TRENCH Vader's wingman panics at the sight of the oncoming pirate starship and veers radically to one side, colliding with Vader's TIE fighter in the process. Vader's wingman crashes into the side wall of the trench and explodes. Vader's damaged ship spins out of the trench with a damaged wing. EXT. SPACE AROUND THE DEATH STAR Vader's ship spins out of control with a bent solar fin, heading for deep space. INT. DARTH VADER'S COCKPIT Vader turns round and round in circles as his ship spins into space. EXT. SURFACE OF THE DEATH STAR Solo's ship moves in toward the Death Star trench. INT. MILLENNIUM FALCON - COCKPIT Solo, smiling, speaks to Luke over his headset mike.  Han (over speaker) Now let's blow this thing and go home! INT. Luke X-WING FIGHTER - COCKPIT Luke looks up and smiles. He concentrates on the exhaust port, then fires his laser torpedoes. EXT. SURFACE OF THE DEATH STAR Luke torpedoes shoot toward the port and seems to simply disappear into the surface and not explode. But the shots do find their mark and have gone into the exhaust port and are heading for the main reactor. INT.  INT. DEATH STAR An Imperial soldier runs to the control panel board and pulls the attack lever as the board behind him lights up. INTERCOM VOICE Stand by to fire at Rebel base. EXT. SPACE AROUND THE DEATH STAR Two X-wings, a Y-wing, and the pirateship race toward Yavin in the distance. INT. DEATH STAR Several Imperial soldiers, flanking a pensive Grand Moff Tarkin, busily push control levers and buttons. INTERCOM VOICE Standing by. The rumble of a distant explosion begins. EXT. SPACE AROUND THE DEATH STAR The Rebel ships race out of sight, leaving the moon-like Death Star alone against a blanket of stars. Several small flashes appear on the surface. The Death Star bursts into a supernova, creating a spectacular heavenly display. INT. MILLENNIUM FALCON - COCKPIT Han Great shot, kid. That was one in a million. INT. Luke X-WING FIGHTER - COCKPIT Luke is at ease, and his eyes are closed. BEN'S VOICE Remember, the Force will be with you... always. The ship rocks back and forth. EXT. DARTH VADER'S TIE FIGHTER Vader's ship spins off into space. EXT. SPACE The Rebel ships race toward the fourth moon of Yavin. INT. MASSASSI OUTPOST - MAIN HanGAR Luke climbs out of his starship fighter and is cheered by a throng of ground crew and pilots. Luke climbs down the ladder as they all welcome him with laughter, cheers, and shouting. Princess Leia rushes toward him. LEIA Luke! Luke! Luke! She throws her arms around Luke and hugs him as they dance around in a circle. Solo runs in toward Luke and they embrace one another, slapping each other on the back. Han (laughing) Hey! Hey! LUKE (laughing) I knew you'd come back! I just knew it! Han Well, I wasn't gonna let you get all the credit and take all the reward. Luke and Han look at one another, as Solo playfully shoves at Luke face. Leia moves in between them. LEIA (laughing) Hey, I knew there was more to you tHan money. Luke looks toward the ship. LUKE Oh, no! The fried little Artoo-Detoo is lifted off the back of the fighter and carried off under the worried eyes of Threepio. THREEPIO Oh, my! Artoo! Can you hear me? Say something! (to mecHanic) You can repair him, can't you? TECHNICIAN We'll get to work on him right away. THREEPIO You must repair him! Sir, if any of my circuits or gears will help, I'll gladly donate them. LUKE He'll be all right. INT. MASSASSI OUTPOST - MAIN THRONE ROOM Luke, Han, and Chewbacca enter the huge ruins of the main temple. Hundreds of troops are lined up in neat rows. Banners are flying and at the far end stands a vision in white, the beautiful young Senator Leia. Luke and the others solemnly march up the long aisle and kneel before Senator Leia. From one side of the temple marches a shined-up and fully repaired Artoo-Detoo. He waddles up to the group and stands next to an equally pristine Threepio, who is rather awestruck by the whole event. Chewbacca is confused. Dodonna and several other dignitaries sit on the left of the Princess Leia. Leia is dressed in a long white dress and is staggeringly beautiful. She rises and places a gold medallion around Han's neck. He winks at her. She then repeats the ceremony with Luke, who is moved by the event. They turn and face the assembled troops, who all bow before them. Chewbacca growls and Artoo beeps with happiness. FADE OUT: END CREDITS OVER STARS THE END


@(location: Form[CreateLocationForm], user_id: Long, board_id: Long, locations: List[Location])(implicit request: RequestHeader, messages: Messages) @import helper._ @main("Board Locations") {


Student Historical data Analysis Platform
- Our team focus on students online click and submit actions and show the students behaviour by using charts and tables.
- You can use this platform make further research and deep analysis.
- It's customized service for your business and research.
Notification
Feature function. Unavailable.
Notification
Feature function. Unavailable.


CovTools: Statistical Tools for Covariance Analysis
Covariance is of universal prevalence across various disciplines within statistics.
We provide a rich collection of geometric and inferential tools for convenient analysis of
covariance structures, topics including distance measures, mean covariance estimator,
covariance hypothesis test for one-sample and two-sample cases, and covariance estimation.
For an introduction to covariance in multivariate statistical analysis,
see Schervish (1987) <doi:10.1214/ss/1177013111>.
| Version: |
0.5.0 |
| Depends: |
R (≥ 2.14.0) |
| Imports: |
Rcpp, geigen, shapes, expm, mvtnorm, stats, Matrix, doParallel, foreach, parallel, pracma, Rdpack, utils |
| LinkingTo: |
Rcpp, RcppArmadillo |
| Published: |
2018-09-14 |
| Author: |
Kyoungjae Lee [aut],
Lizhen Lin [ctb],
Kisung You [aut, cre] |
| Maintainer: |
Kisung You <kyou at nd.edu> |
| License: |
GPL (≥ 3) |
| NeedsCompilation: |
yes |
| CRAN checks: |
CovTools results |
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=CovTools
to link to this page.


Pype
Pype - [url]
Simple file sharing server, to upload and download file from CLI
To upload : curl -T file.txt [url]
To download : curl [url]/e5f7/file.txt > files.txt
or
[
Drop a file or click here !
]
Etienne SELLAN


Thank you for your message!
I will reply to you as soon as possible.
You will be redirected to my portfolio page again in 5 seconds.
If not, you can directly click on the image.


| 1 |
You provide a ERD diagram representing the data and its relationships, with at least one transactional and one code table. This may be included in Cloud9 as a picture or from a designer tool |
15 |
| 2 |
Tables in MySQL match the ERD and support the requirements of the application |
25 |
| 3 |
The list of races is pulled from MySQL using AJAX and the API endpoint, and displayed using the specified page design |
35 |
| 4 |
Canceled races do not show up in the Dashboard list |
5 |
| 5 |
Old races do not show up in the Dashboard list |
5 |
| 6 |
A user can add a race to the MySQL using the API endpoint and displayed using the specified modal design |
15 |
|
TOTAL |
100 |
|
This rubric is properly included AND UPDATED (BONUS) |
2 |
| BD |
Add a report that shows the number of racers and number of different cars for each race |
15 |
| BD |
A user can cancel a race in MySQL using the API endpoint |
15 |
| BD |
The user confirms the cancelation using the specified modal design |
10 |
| BD |
The app is deployed to Heroku |
10 |
| BD |
A car image can be uploaded and displayed |
20 |
| BD |
Racers can signup for a race |
20 |
| BD |
When racers signup, they can pick the make, model and year of their car using the API. This does not require adding the race...just integrating the API on the modal. |
35 |
| BD |
The race page shows the list of all racers who have signed up for the race, and the admin can open the race from the dashboard |
25 |
| BD |
The race page is password protected |
10 |
| BD |
Admins can see all the past races |
20 |
| BD |
Users can filter records based on text that is showing |
15 |
| BD |
Login works with a User table and BCrypt |
20 |
| BD |
Google Maps shows the location of the race |
5 |
| BD |
A user can edit a race in using the new race modal or page |
5 |


Filters:
Dates
from
to
Device ID
Origin
Site
Port
Run IDs
Apply
Origins
Sites
Users
Initializing...
Signed in as
,
Sign Out
DAQ version
LSB version
SYS version
Web version


\
Ivy
About Us
Contact
Makeup
Products
{{loggedin}}
Update makeup
ID:
Makeup name:
Product list:
Makeup tags:
Makeup description:
Makeup picture:
Makeup Tutorial:
Save
Delete


--- sort_order: 49 tei_id: rdx_b6zxc.p.idp196302560 annotation_count: 0 images: small-thumbnail: https://readux.ecds.emory.edu/books/emory:b6zxc/pages/emory:h6v2s/mini-thumbnail/ json: https://readux.ecds.emory.edu/books/emory:b6zxc/pages/emory:h6v2s/info/ full: https://readux.ecds.emory.edu/books/emory:b6zxc/pages/emory:h6v2s/fs/ page: https://readux.ecds.emory.edu/books/emory:b6zxc/pages/emory:h6v2s/single-page/ thumbnail: https://readux.ecds.emory.edu/books/emory:b6zxc/pages/emory:h6v2s/thumbnail/ title: Page 45 number: 45 permalink: "/pages/45/" ---


@(map:Map[SettingKey.Value, String])(implicit request: RequestHeader, msgs: MessagesProvider) @scripts = { } @customizationScreen("Manage PolicyModels Server", views.Customization.Texts, scripts, Html("")) { @comps.pageTitleRow("Additional Texts", "Edit short texts that appear in various places throughout the application"){ }


Hello
Thanks for helping out! Well, what is this website for?
I have a project in which I need to be able to tell which sets of colours are nice, and which aren't. But I'd need to do it thousands of times per experiment, for hundreds of experiments. So i kinda have to use a computer...
Computers cannot tell which colour sets are nice and which aren't, so we need to teach them. To make sure they learn the right thing, a large amount of data needs to be collected.
This is where you come in. The aim of this website is to collect data. If you have a spare minute or two, I'd like you to randomly generate some sets of colours, you can do this by using the random button. You can ajust and modify the colours by clicking on the coloured boxes in the sidebar.
Once you found a colour set that you like, click the like button. If there's a set that you do not fancy, click
As more data is collected from different souces, the resulting system will become more reliable.
Thanks a lot!
Baz
<-- Click this button!
Please don't troll, a lot of incorrect data will offset the experiment.


| Properties' Details |
IsPhysical
[ readonly ] boolean IsPhysical;
- Usage Restrictions
- optional
- Description
- determines if a style is physically created.
Built in styles may not be created until they are needed.
To prevent standard style properties from being exported, it may be
useful to check if the style is created first.
|
|
FollowStyle
string FollowStyle;
- Usage Restrictions
- optional
- Description
- contains the name of the style that is applied to the next paragraph.
This property is usually available at paragraph styles only.
|
|
DisplayName
[ readonly ] string DisplayName;
- Usage Restrictions
- optional
- Description
- contains the name of the style as it is displayed in the user interface.
The names of the styles at the API are language independent. The user interface
names are localised.
|
|
IsAutoUpdate
string IsAutoUpdate;
- Usage Restrictions
- optional
- Description
- determines if a style is automatically updated, if the properties of an object
that the style is applied to are changed.
For example, if the style is applied to a paragraph and the properties of the paragraph
are changed then the style will be updated accordingly.
|
|
ParaStyleConditions
sequence< ::com::sun::star::beans::NamedValue > ParaStyleConditions;
- Usage Restrictions
- optional
- Description
- defines the context and styles for conditional paragraphs.
This property is only available if the style is a conditional
paragraph style.
The sequence consists of pairs where the name part of the pair
defines the context where it should be applied and the value part
is a string naming the style to be used in that context.
Assigning an empty string to the style name will disable
the conditional style for that context.
The alowed strings (contexts) for the name part of an entry
of the sequence are:
- TableHeader
- Table
- Frame
- Section
- Footnote
- Endnote
- Header
- Footer
- OutlineLevel1
- OutlineLevel2
- OutlineLevel3
- OutlineLevel4
- OutlineLevel5
- OutlineLevel6
- OutlineLevel7
- OutlineLevel8
- OutlineLevel9
- OutlineLevel10
- NumberingLevel1
- NumberingLevel2
- NumberingLevel3
- NumberingLevel4
- NumberingLevel5
- NumberingLevel6
- NumberingLevel7
- NumberingLevel8
- NumberingLevel9
- NumberingLevel10
- Since
- OOo 2.0.1
|
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


Finally I am done with new version of publishr for Nokia n810. Check out the demo video.
You can install from here. Check out the project page.
--- layout: post title: "Flickr uploads from n810" date: 2008-04-22 comments: false categories: - n810 - nokia - python - cairo - maemo ---


Toggle navigation
doctor know
Engine
Data Analysis
Profile
Linked Accounts
Saved Searches
Signed in as
{{nickname}}
Log Out
Artificial Creativity Engine


Creates a new Training Set. In this wizard you can choose project where to create Training Set, set name and choose type of training set and define how many inputs and outputs it has and their values


{{#>layout page="confirm-account"}}
We just sent a confirmation email to {{user.username}}. Go check it out and enter the code here


{{{_ 'playerDetailItsYou'}}}
{{playerInfos}}
{{breaklines profile.bio}}
{{> playerAction player=this btnClass='button-big'}}


This project is our first website that we developed. It explains the basics of HTML and CSS. The main purpose of this website is to help other learn HTML and CSS while at the same time requiring ourselves to have proficient knowledge about HTML and CSS.


A SCSS-flavored, Twitter Bootstrap-based boilerplate for developing WordPress themes.
2.6.1
When I think of a Sherpa, I think of the locals that help visitors get to the top of Mount Everest. They carry the gear up most of the way, helping the expedition out tremendously.
This is the concept of Sherpa. It’s a boilerplate theme that is built to help you get to the top faster. Its origins are from the work of building many websites, realizing that the same pieces were being used over and over, and starting to collect the pieces into one boilerplate theme.
Sherpa is based on Twitter Bootstrap with some FontAwesome thrown in. It’s also set up to use Typekit, though we can use other font services if requested.
Sherpa was originally intended to be used with Codekit, an excellent compiler for SCSS as well as Javascript, among other things. If you are not going to be using Codekit, you will need to adjust inc/scripts.php to reflect the fact that you are not using main-ck.js.
We are now including a gulp file so that if you are using gulp and all its goodness you can use Sherpa without a hitch. Note that it does require Compass to be installed (as well as Node.js, NPM, and gulp-compass).
Sherpa is not meant to be an end-all; it is meant to be a start-all.
We have started working on documentation in the wiki area, though it is very much still under construction.


Toggle navigation
Priyank
Home
Log out
EXPLORE
News Feed
Events
Groups
Find Friends
Upload Photo
Post
Lab Question
×
Modal
Enter your friend's id


You need to enable JavaScript to run this app.
Glitter Editor
−
✕
Loading...
Projects
Learn
New Project
Open Project
Loading...
v0.0.1


| |
Methods defined here:
- __init__(self, no_of_symbols=0, no_of_states=0, states=None, symbols=None)
- Parameters( no_of_symbols, no_of_states, states, symbols)
no_of_symbols -> No of Symbols in Sigma
no_of_states -> No of states in the DFA
states -> {['state':{'Transitions':[3,2,...], 'Final':1},....]}
symbols -> [ symbol 1, symbol 2, ..]
- validate_dfa(self, string)
- Obtains a String from the user as i/p and the constructed DFA is checked against the input String.
Arguments is the Constructed DFA, the valid symbols and total Strings given.
returns JSON
Keys:
'Valid' : Denotes 0/1 for Valid or Invalid String for the DFA.
'Transitions' : Transitions Parsed for each letter in the String.
'String' : String Parsed against the DFA.
Data and other attributes defined here:
- no_of_states = 0
- no_of_symbols = 0
- states = None
- symbols = None
|


{% extends "base.html" %} {% block container %} {% for article in articles %}
Posted by {{ article.author }} on {{ article.date | human_date }}


This document attempts to provide rudimentary information for a Java developer wishing to add custom support and functionality to the existing SAFS code without modifying the existing code. This is useful when support for custom controls needs to be added, or when other custom features are desired. This requires a Java developer familiar with their own Java development environment having the ability to implement a development project referencing SAFS JARS.
Because this type of customization is intended for experienced Java developers, very little general information for preparing the development environment is provided.
We must note that extending SAFS inside the core source is the most desirable of endeavors for generically useful functionality. That is, if your intended extensions are useful for others, then they should be presented to the community as a proposed enhancement or implemented in the core SAFS code.
If, however, the extension is something very specific to your site or your applications, then this custom extensions feature is what you need to exploit.
There are several different ways to inject customization:
Existing Java-based engines like IBM Rational Functional Tester(RFT) and Selenium 2.0 WebDriver typically implement a subclass of TestRecordHelper allowing them to provide engine-specific processors for things like Driver Commands and Component Functions.
The actual order of Processor instantiation attempted is:
Thus, using the predefined Package naming convention for each engine we can see that Driver Commands and Component Functions would be instanced in this order:
In general, a custom class should be a subclass of the standard processor it is trying to extend. The custom class has the opportunity to enhance, replace, and provide all new functionality while still having access to all existing functionality by invoking superclass methods.
For every custom command you wish to handle, you generally need to define a custom keyword to represent that command, and then the function in the code to handle it.
Below is a sample SAFS Driver Command--record type "C"--that will ultimately get handled by the custom Driver Command processor:
C, MyCustomCommand, AParam, ^MyVar, "Anything At All"
Note in the example above how you can pass any number of parameters to the custom code. Consult your specific superclass JavaDoc or sourcecode to find how they are retrieved in your subclass implementation.
A sample SeleniumPlus TestCase invocation of the same custom command:
Runner.command("MyCustomCommand", AParam, "^MyVar", "Anything At All");
Below is a sample custom Selenium WebDriver Driver Command Processor intended to handle the MyCustomCommand
Driver Command.
We need our default custom subclass Constructor to invoke the superclass Constructor.
The Selenium WebDriver engine implementation suggests we override the superclass localProcess() method, as shown below:
package org.safs.selenium.webdriver.custom;
import org.safs.Log; // The Debug Log
import org.safs.SAFSException;
import org.safs.StatusCodes;
public class DCDriverCommand extends org.safs.selenium.webdriver.DCDriverCommand{
public static final String MY_CUSTOM_COMMAND = "MyCustomCommand";
/**************************
Default Constructor
Must initialize superclass
**************************/
public DCDriverCommand() { super(); }
/******************************************************
localProcess() function
automatically invoked by superclass chain of Processors
*******************************************************/
@Override
protected void localProcess() {
// recommended debug message prefix for this method
String dbg = getClass().getName()+".localProcess ";
// handle the incoming command in much the same way the superclass does
try {
// command and params are already prepared for us
if( MY_CUSTOM_COMMAND.equalsIgnoreCase( command )){
// call our custom function implementation
doMyCustomCommand();
}
// if we didn't recognize the command at all
// our superclass chain will automatically give it a try
// assuming it is NOT a custom command that we have implemented
// gracefully handle Exceptions during our processing
}catch (SAFSException ex) {
Log.error(dbg+"error processing command "+ command, ex); // The Debug Log
issueErrorPerformingAction(command, ex.getMessage());
}
}
/*********************************************
doMyCustomCommand() called from localProcess()
**********************************************/
protected void doMyCustomCommand(){
// recommended debug message prefix for this method
String dbg = getClass().getName()+".doMyCustomCommand ";
Log.info(dbg+"processing "+ command); // The Debug Log
String anArg = null;
// retrieve any parameters if the code expects them
iterator = params.iterator();
if( iterator.hasNext() ){
// assign and validate required and optional parameter(s)
anArg = iterator.next();
}
// do it
boolean success = myWorkOutput();
// set appropriate status code and pass/fail/debug logging
if( success ){
Log.info(dbg+"successful executing "+ command +" using "+ anArg); // The Debug Log
issueGenericSuccessUsing(anArg, null);
}else{
Log.error(dbg+"failed when executing "+ command +" using "+ anArg); // The Debug Log
issueErrorPerformingActionUsing(anArg, "Something terrible happened!");
}
}
}
Extending SAFS in this way can be trivial or exceeding complex. It all depends on what is trying to be done. Some extensions are easier than others. The developer needs to have a good understanding of the SAFS Processor API they are trying to extend, and the volume of utility libraries that come along with each SAFS engine. That generally comes with experience and exposure to the framework details.
Your best source of code samples are the superclass, or any of the other Processor classes provided for the target engine.
Ensuring the new custom classes are visible to SAFS and\or the automation tool that may be executing them is critical. For example, it may be possible the custom classes can reside in their own JAR and simply reside in the CLASSPATH. Some tools--notably IBM Rational Functional Tester using Eclipse--have implemented custom ClassLoaders that may or may not allow the custom extensions to exist in separate JAR files.
Essentially, you have to find what is required (or what works) for your specific tools and environment.
SAFS and SeleniumPlus support the automatic dependency inclusion of:
safscust.jar
You should be able to JAR up the custom classes into safscust.jar. As long as this JAR file is placed in the same directory as the SAFS and/or SeleniumPlus runtime JAR files it should be found along with the custom classes within it.
Read about using the SAFS Debug Log.
A (silent) video tutorial on the SAFS Debug Log is also available.
The debug log will show when (and if) a custom processor was successfully invoked. Below is a sample debug log snippet showing the attempts at custom support invocation for the IBM Rational Functional Tester engine--SAFS/RobotJ:
------------
[INFO 17:41:49.322:SAFS/RobotJ: PROC.IPAP2:Trying processor : org.safs.custom.DCDriverCommand@3e103e10 ]
[INFO 17:41:49.322:SAFS/RobotJ: Custom driver commands, FOR NOW< THERE ARE NONE > ]
[INFO 17:41:49.322:SAFS/RobotJ: DCP.IAPDC:Trying Custom Processors for WaitForGui ]
[DEBUG 17:41:49.338:SAFS/RobotJ: org.safs.rational.RTestRecordData.getCompInstancePath() return package name org.safs.rational. ]
[DEBUG 17:41:49.338:SAFS/RobotJ: PROC.VPCN:trying processor:org.safs.rational.custom ]
[INFO 17:41:49.369:SAFS/RobotJ: PROC.VPCN:org.safs.rational.custom:java.lang.ClassNotFoundException ]
[DEBUG 17:41:49.369:SAFS/RobotJ: org.safs.rational.RTestRecordData.getCompInstancePath() return package name org.safs.rational. ]
[DEBUG 17:41:49.369:SAFS/RobotJ: PROC.VPCN:trying processor:org.safs.rational.custom.DCDriverCommand ]
[INFO 17:41:49.400:SAFS/RobotJ: PROC.VPCN:org.safs.rational.custom.DCDriverCommand:java.lang.ClassNotFoundException ]
[DEBUG 17:41:49.400:SAFS/RobotJ: PROC.VPCN:trying processor:org.safs.rational.custom.custom.DCDriverCommand ]
[INFO 17:41:49.431:SAFS/RobotJ: PROC.VPCN:org.safs.rational.custom.custom.DCDriverCommand:java.lang.ClassNotFoundException ]
[INFO 17:41:49.431:SAFS/RobotJ: DCP.IAPDC:Trying SubClass Processors for WaitForGui ]
[DEBUG 17:41:49.431:SAFS/RobotJ: org.safs.rational.RTestRecordData.getCompInstancePath() return package name org.safs.rational. ]
[DEBUG 17:41:49.431:SAFS/RobotJ: PROC.VPCN:trying processor:org.safs.rational. ]
[INFO 17:41:49.478:SAFS/RobotJ: PROC.VPCN:org.safs.rational.:java.lang.ClassNotFoundException ]
[DEBUG 17:41:49.478:SAFS/RobotJ: org.safs.rational.RTestRecordData.getCompInstancePath() return package name org.safs.rational. ]
[DEBUG 17:41:49.478:SAFS/RobotJ: PROC.VPCN:trying processor:org.safs.rational.DCDriverCommand ]
[DEBUG 17:41:49.478:SAFS/RobotJ: PROC.VPCN:processorClass: org.safs.rational.DCDriverCommand ]
[INFO 17:41:49.478:SAFS/RobotJ: PROC.IPAP2:Trying processor : org.safs.rational.DCDriverCommand@24d024d0 ]
------------
Note that every ClassNotFoundException above is an indication of a custom class that COULD exist, but does not.
You might also note that org.safs.custom.DCDriverCommand did NOT issue a ClassNotFoundException. That is because the class actually exists! It is a do-nothing sample implementation which simply displays the single debug log message shown.


How not to use sealed classes and LiveData for state management
A journey about things that don’t work
A few months ago, I was washing my dishes while listening to episode 148 of the Fragmented podcast. In this episode, Donn Felker and Kaushik Gopal talk about architecture. To be specific, about an MVI-like architecture that Kaushik has been using.
This architecture specifies that each screen has one and only one ViewModel, that exposes a single observable to the Activity or Fragment. This observable emits the screen’s state: when an update is required, the observable emits a new state object, which the view uses to update its state. To emit a state update, the ViewModel has to receive an event. Different events trigger different updates. Events then generate results, which generate the state updates. Each event class has a corresponding result class.
There are many other nuances around the architecture, but these are the ones that matter for this article.
The Epiphany
In the sample repo that Kaushik provides, you can see this example of a view state class:
data class MSMovieViewState(
val searchBoxText: String? = null,
val searchedMovieTitle: String = "",
val searchedMovieRating: String = "",
val searchedMoviePoster: String = "",
val searchedMovieReference: MSMovie? = null,
val adapterList: List<MSMovie> = emptyList()
)
This is quite similar to a presentation model, but without the behavior definition. Also, as you can see, the class is immutable. This means that whenever there’s a new state update, the old values get copied into a new object. This new object also has the updated value for each specific state change. For example, given the events class:
sealed class MSMovieEvent {
object ScreenLoadEvent : MSMovieEvent()
data class SearchMovieEvent(val searchedMovieTitle: String = "") : MSMovieEvent()
data class AddToHistoryEvent(val searchedMovie: MSMovie) : MSMovieEvent()
data class RestoreFromHistoryEvent(val movieFromHistory: MSMovie) : MSMovieEvent()
}
for a “add to history event”, you would have something like (this is an oversimplified version of the repo’s code):
val movie: MSMovie = result.packet.movie
val newState = oldState.copy(
searchedMovieTitle = movie.title,
searchedMovieRating = movie.ratingSummary,
searchedMoviePoster = movie.posterUrl,
searchedMovieReference = movie)
When I saw this, my train of thought was more or less like “OK, this looks nice. Every state detail becomes enclosed in the same object. But this also means I have to redraw the whole UI on each update, even if I just change a simple text label. This seems rather heavy…”.
I was really hyped about the architecture, but this bummed me out a little. There must be another way…
And then it dawned on me: “What if I tried to use sealed classes for this?”
Keep it simple. Also, keep it working correctly
Kaushik makes heavy usage of RxJava in this architecture. I love RxJava and think it’s amazing. Yet, like many, I also think that in most cases it’s an overkill. Especially when the framework already provides similar tools for the most common cases. Instead of using RxJava, I’ll be using LiveData for observability. For async work, I’ll use Coroutines. I also won’t be using events or results. Results seem rather redundant when you have observability. As for the events, they also seem to be superfluous: I have methods causing state changes. As such, observability should take care of everything for me, right? Eh, not quite, but we’ll get to that later.
Before I start explaining what I’m about to do, I want to make something clear: I’m not recommending an architecture of any kind. I’m just testing a different approach to an already well defined architecture, and writing about the results. Nothing more. That being said, let’s get started.
I’ll be implementing a Fragment that displays a RecyclerView with a list of user names. Each row has a checkbox that gets checked/unchecked either when you click on it or on the row itself. A button at the bottom of the view will update its label according to the number of selected users. I could’ve picked an even simpler example, but I really wanted to test the limits of this approach.
So, I have two pieces of state here: the contents of the RecyclerView and the button label. I also have the actual user list internal state, i.e., if rows are checked or not. However, since we can consider this as the RecyclerView’s internal state, I’ll let it slide (otherwise, this approach is already failing…).
I came up with the following sealed class:
sealed class RecyclerViewExampleViewState {
data class UsersListState(val users: List<DisplayedUser>) : RecyclerViewExampleViewState()
data class ButtonLabelState(val numberOfUsers: String) : RecyclerViewExampleViewState()
data class PossibleFailureState(val failure: Failure) : RecyclerViewExampleViewState()
}
The ViewModel that does all the heavy lifting:
class RecyclerViewExampleViewModel @Inject constructor(
private val getUsers: GetUsers,
private val displayedUserMapper: DisplayedUserMapper
) : BaseViewModel() {
val viewState: LiveData<RecyclerViewExampleViewState>
get() = _viewState
private val _viewState: MutableLiveData<RecyclerViewExampleViewState> =
MutableLiveData()
init {
getUsers()
updateButtonLabel(0)
}
fun updateButtonLabel(checkedNumber: Int) {
val label = if (checkedNumber > 0) " ($checkedNumber)" else ""
_viewState.value = ButtonLabelState(label)
}
private fun getUsers() = getUsers(uiScope, UseCase.None()) {
it.either(
::handleFailure,
::handleUserList
)
}
private fun handleFailure(failure: Failure) {
_viewState.value = PossibleFailureState(failure)
}
private fun handleUserList(users: List<User>) {
val usersToDisplay = users.map { displayedUserMapper.mapToUI(it) }
_viewState.value = UsersListState(usersToDisplay)
}
}
And the Fragment that updates its view on each state update:
class RecyclerViewExampleFragment
: BaseFragment(), RecyclerViewRowClickListener<DisplayedUser> {
@Inject
lateinit var viewModel: RecyclerViewExampleViewModel
lateinit var adapter: UsersAdapter
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_recycler_view_example, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
progressBarLoading.show()
setRecyclerView()
viewModel = createViewModel(this) {
observe(viewLifecycleOwner, viewState, ::renderViewState)
}
}
private fun setRecyclerView() {
prepareAdapter()
recyclerViewUsers.layoutManager = LinearLayoutManager(this.context)
recyclerViewUsers.adapter = adapter
recyclerViewUsers.setHasFixedSize(true)
}
private fun prepareAdapter() {
adapter = UsersAdapter(this)
}
private fun renderViewState(state: RecyclerViewExampleViewState) {
when (state) {
is UsersListState -> renderUserList(state.users)
is ButtonLabelState -> renderButton(state.numberOfUsers)
is PossibleFailureState -> renderPossibleFailure(state.failure)
}
}
private fun renderUserList(users: List<DisplayedUser>) {
progressBarLoading.hide()
adapter.submitList(users)
}
private fun renderButton(selectedUsers: String) {
buttonDoStuff.text =
getString(R.string.button_label_do_stuff_with_users, selectedUsers)
buttonDoStuff.isEnabled = !selectedUsers.isBlank()
}
private fun renderPossibleFailure(failure: Failure) {
// TODO computer says no
}
override fun onRowClicked(item: DisplayedUser, position: Int) {
val checkedNumber = adapter.currentList.filter { it.isChecked }.count()
viewModel.updateButtonLabel(checkedNumber)
}
override fun onDestroyView() {
super.onDestroyView()
recyclerViewUsers.adapter = null
}
}
Let me walk you through the code. When the ViewModel inits, it immediately tells the repository to fetch the users (GitHub API). It then updates the button label. The Fragment uses the renderViewState method to observe the LiveData. For each different state update, renderViewState will trigger a different method. The Fragment also implements the RecyclerViewRowClickListener interface. This interface allows us to react to clicks on RecyclerView items. The Fragment does this in the onRowClicked method.
This is the result:
Everything seemingly works as I expected, except for one small (but important) detail. As you may have noticed, the onRowClicked method filters the user list. The filter counts the number of checked rows. Why? Because I can’t use this approach to update state based on a previous state. In other words, because each sealed class is independent. To me, this is the worst disadvantage of using a single LiveData to handle all these state classes: when I create a state update with a certain value, I lose access to it as soon as I set it as the LiveData’s value. Of course, I could always verify the LiveData value on the next state iteration. Unfortunately, I cannot guarantee that the previous update was the one I need. Suddenly, a simple class with the whole state just like Kaushik has seems worth it. Either that or I would need a different LiveData for this specific piece of state. This would also solve the internal RecyclerView state problem I talked about earlier.
Anyway, since the use of another LiveData would solve this, I decided to press on. I wasn’t ready to give up on this sealed classes idea. This time, I rotated the screen. And then this happened:
Dammit. Why?
Well, I forgot a very important aspect of LiveData. Each new observer that subscribes to a LiveData receives its latest value. Here, the Fragment gets destroyed on rotation, and a new Fragment starts observing the LiveData. The last value emitted by the LiveData was the button label update. That’s why the label is correct, but the list is empty. If I rotate the phone before clicking on any rows, the list will appear since the getUsers API request is async and finishes after the updateButtonLabel call. On the other hand, the button label will show the placeholder text instead of the correct value.
So, ways to solve this. One possibility is, again, different LiveData variables for each sealed class. This is not the most desirable solution though. If we keep adding new LiveData variables, both code maintenance and testing complexity might increase. This was one of the motives between Kaushik’s architecture, if I recall correctly. Another, more sane possibility is to trigger view state updates in the Fragment’s onResume method or similar. Suddenly, events make sense. The third option I can think of breaks my heart: use a class for the whole state, instead of sealed classes (Sorry Kaushik, I will never doubt your work again).
Final Thoughts
I ended up using a single class to the whole state . With the LiveData and sealed classes setup, I got to a point where I had a different LiveData for each sealed class, which defeats the purpose of the whole thing. I even had to stop ignoring the RecyclerView’s internal state, since it gets reset on configuration changes.
I’m also using events, although there was no functional need for them in this case: since LiveData will always emit the latest global state for the view, I don’t need to cause an explicit state update on configuration change. Regardless, they do make the code look more structured to me. I like having all state changing events going through the same method. It feels like this should help in keeping things more or less simple on a more complex UI. In the end, the architecture became a simplified version of the one presented in the Fragmented podcast.
Although redrawing the whole UI seems exaggerated, the process is actually very smooth. While this might not hold for a more complex UI, it should be able to handle most cases.
You can find all the code (in its final state) in my
multi module clean architecture template, in the RecyclerViewExample
module.
As I said before, this is not an architecture recommendation. While this might work for some cases, other alternatives such as databinding or multiple LiveData variables managed by a MediatorLiveData (as suggested by Gabor Varadi) might even be a better fit. I’m a fan of this approach, but it’s up to you to figure out what’s best for your specific case.
Thank you very much for reading the article. I really hope it was worth it! Do you have any ideas? Would you do something differently? If so, please leave a comment or reach out on Twitter. See you next time!


Are you curious to find how music and movies are in other countries? Are you looking for out of print domestic music? Whatever your need, All Music Import will greatly satisfy it with high quality products at low, affordable prices. All Music Import has a large, unique collection of music and video by established artists, much sought after out-of-print domestic titles, releases with bonus material (audio and/or video) along with titles that have never been issued in the States. All Music Import offers import music and movie from over 40 countries. Order it today and use our discount coupons to get a great deal
All Music Import has over 350,000 titles in the inventory. You can buy from out of print, Sinatra to music long plays (LP) DVDs, and movie soundtracks, all at very low prices. You will enjoy the great variety of products that are available online. Check it out on www.allmusicimport.com, You can get music and videos from over forty countries including, Europe, South America, and Asia.
All Music Import has over 350,000 music, DVD and movie titles to choose from. It has great music and movies available in all genres of action, comedy, adventure and many others. Check out All Music Import online and have a great time shopping for such great All Music Import products. Use our discount coupons to save money. Check out All Music Import website. It is user friendly and very easy to use.