Shade: Part Three

white and black moon with black skies and body of water photography during night time
Photo by GEORGE DESIPRIS on Pexels.com

Part One
Part Two

An hour later, down in the nearby valley, Reish stood immobile in the middle of his barracks. An hour ago he had felt the tremor, a signal born down to him by the third shade which he and Gallan both shared. Gallan was coming.

Reish didn’t try to fight it, he didn’t try to hide his location from Gallan at all. Let him come. Let all the reckonings happen here and now. And so he just stood there, silently waiting until there was a knock at the door.

“Let him in,” he ordered tersely.

The door opened and six guards entered with Gallan in their midst. They had taken the precaution of putting him in shackles, which Gallan now reached out to with his shade and systematically disassembled. The bonds dropped unceremoniously to the floor.

“Hey!” one of the guards roared at him.

“Leave it,” Reish sighed. “If he meant you any harm he would have killed you as soon as he’d seen you. Go now.”

“But, sir–” the guards were clearly uncomfortable with the idea of leaving Gallan alone with their leader.

“And if he meant me any harm I would have killed him before he even arrived,” Reish added. “Leave us.”

The guards didn’t need telling a third time. Reish waited until the door had closed before stepping near to Gallan.

“Well, Gallan. I can sense that you haven’t come here to assassinate me…”

“Even if I tried it wouldn’t work.”

“No. It wouldn’t. So why are you here?”

“To offer you an end to our feud.”

“Hmm, well I hardly believe that you mean to join forces? No, of course not. But I also can’t believe that you’ve come to just lay down and die at my feet.”

Gallan smiled. “I will do exactly that…if you satisfy my demands.”

“Ah, yes, a deal. I should have realized. No doubt you’re worried about that little clan of yours. Alright then, you nobly sacrifice yourself and yes, I will let them go free.”

“Don’t lie to me, creature!” Gallan spat. He spoke directly to the placid beast-side of Reish’s face. “I have long known that you have one purpose, and one purpose only. Total conquest.”

For the first time the beast-side of the face flexed on its own, giving a cold scowl. “Very well, I will give them some time then. I will let them hold onto their hope for a season. And then, last of all, their end will be quick and painless. Is that what you want?”

Gallan shook his head in disgust. “You think I’m so crude as to deal in false hopes for them?”

“No?” the beast taunted. “I thought that was all you did.”

Gallan didn’t dignify that with a response. It was interesting to hear the beast say those words, though, for that same thought had been echoing in his head for some time. Now he knew where it came from, and strangely enough that made him feel more confident in himself.

“But if you haven’t come for them, what did you come for?” the beast demanded.

“I’ve come to trade myself for Reish.”

Reish was startled by that. “That’s not possible!”

“No, it isn’t,” the beast agreed. “You know his sins, I am owed his soul. He’s much too entrenched to ever be let go.”

“He might be… but personally I doubt it. You’ve had him for seven years and still you don’t have full control of his body. Clearly there’s something there that is resisting you.”

“Gallan, don’t do this!” Reish pleaded.

“I still don’t understand,” the beast interjected. “Trade yourself for Reish? So what…I get your body and soul and vacate his? I don’t see how that serves me any better.”

“You don’t get my soul, just my body. It’ll be one of your puppets.”

“Not interested.”

And you get the third shade. Entirely.”

That gave both Reish and the beast pause.

“So…” the beast said slowly, weighing the options in his mind. “I get your body and the third shade. The full benefit of a shared shade, encased in a body that is entirely under my control…Meanwhile your soul goes on to the afterlife, and Reish leaves me, soul and body. That is your offer?”

“And Reish has no remaining ties to the third shade, no powers with which to challenge you.”

“While on the other hand, I could continue to string out our war, take over the third shade bit-by-bit, as well as Reish’s body and soul, and then kill you once the third shade will allow it…”

“Take over the third shade almost. Reish’s body and soul almost. Let’s not play games. Both of us know that you will never have the whole of them this way. You will always be fractured. If you could take them all the way you would have done it already. Like I said, there’s something still in Reish that you haven’t been able to take from him. And so long as you don’t have all of him, you won’t have all of the third shade.”

“But if I do things your way, then you die tonight. And then, you must realize, I kill Reish. And then I kill all your little followers.”

“That…is a distinct possibility.”

“Ah,” the beast crowed. “So that’s why you’re willing to do this. After everything you’ve been through you still have a glimmer of hope. Hope that somehow Reish and the others will find a way out of all this.”

“If ever they could, it would only be this way. With all ties having been cut. I don’t know that they will succeed. Frankly, I don’t know how they would. But yes, as you say, I do still hope.”

That was it, all the cards were laid out. If Gallan held back his true motives it would only make the beast skeptical about the deal.

The beast would know that Gallan’s logic was correct. A complete severance was the only way for the people Gallan cared about to ever go free. Yes, that would also unchain the beast, but that couldn’t be helped. The creature would at last be free to exercise its full potential, a being of power such as the world had never seen before. And so any victory for Gallan’s people was only theoretical. In practice their escape would be a virtual impossibility and Gallan’s hopes rested on the smallest possible of margins. The beast would consent.

“Gallan, no!” Reish shrieked. It was a great strain for him to speak, but he continued shaking his head, wresting for that control. “You can’t do this. I don’t want you to save me. It’s too late. I don’t want–”

“Don’t you remember, Reish,” the beast-side sneered. “You don’t ‘get what you want,’ now do you?”

“Gallan, please,” Reish pleaded.

“Well, beast,” Gallan narrowed his eyes. “Is it a deal or not?”

The beast met his gaze. “Do it.”

Gallan closed his eyes and reached out with his shade. He could discern the essence of the whole room around them. Not by its walls and furnishings, but by its atmosphere and spirit. It was dark, oppressive, and bleak. Three souls, two bodies, one demon. He could sense them all. The demon and the third soul were reaching out for him and he received them.

Gallan was flung to the ground with a cry. His body went rigid and then convulsed. The transference did not happen all at once, the darkness hit him in one wave after another. A cold hopelessness crept over him. Inch-by-inch it pried at his soul, seeking to take him over. It gave him visions of all the horrible things it had done, of the people it had broken, of the sins it had made them do. It told him he was a fool, that it would do all these same things to those he now died for.

Gallan’s fists clenched and unclenched rapidly, the nails piercing into his skin. A shuddering cry rose through his chest, but before it could expel another followed right after it. And another and another, as if he needed to vomit, but nothing could get out because the convulsions ran too near one another. Hot tears flowed silently down his temples and into his hair.

Still the darkness pulled at his soul, trying to pry it free of his body. Inch-by-inch. Gallan wanted to give up that ghost, but he couldn’t willfully. It wasn’t its natural time, after all, and so it could only be wrested out involuntarily.

The darkness beat at his heart, and he realized he had to let it in. Though it broke him to do so, he opened himself to it. It felt like a strong ropes running down his throat, splintering off into separate cords of black, that pushed at force through his veins to pervade every cell of his body. Before it had been a cloud around him, but now it was in him. It was him. He felt himself shamed and unworthy. His purity was gone, his nobility was broken. We was overcome by a wave of deep fear, and that led him into pure hatred. All he wanted to do was break and destroy the world so that he could rest in its ashes.

Then came the almighty slash. Now that the darkness was inside him it seemed to grab his soul like a claw and wrenched violently until it began to pry loose from his body. The soul tore and left behind great patches of spirit that shriveled into nothingness. The claw ripped again, and the soul was almost torn free.

Everything was fading around Gallan, the world seemed to be growing cold and distant. It was as if the world was falling away beneath him. He was vaguely aware of a tearing sensation, but it seemed far off, like the shadow of a struggle. Strangle enough there was a peaceful disconnect. In fact he was free now, and drifting to somewhere new.

“Gallan, Gallan,” Reish sobbed. “Why did you do this? Why? It’s already too late for me.”

Reish was huddled on the ground, his form quivering in ceaseless sobs. Gallan had been right, a part of Reish had managed to hold on all through the years. Though the beast took so much of him, a hope had always remained. But it had not been a hope in himself, he had lost that long ago. It was his hope in Gallan. No matter how far Reish sunk, no matter how many people were destroyed, he rested in the confidence that at least Gallan would be out there. It had always comforted him to know that there still stood a champion for the people, a last beacon of good.

But now that beacon was gone. And gone in exchange for him, the most unworthy of them all.

And yet, Reish could not deny that bit-by-bit, inch-by-inch, a freshness was returning to him. For the first time in years he had control of his own body again. That weighing oppression was slipping away, leaving him with a clarity and an innocence that he had long forgotten. It felt so strange to be his own self again. He didn’t know what he was supposed to do with it, yet here it was all the same. It felt like being born anew.

Reish wiped his eyes and looked up from the ground. Gallan was nowhere to be seen. Where he had fallen there now lay a full-beast. It was stark and gaunt, a hideous contortion of spindly limbs projected at strange angles. Its skin was pale and hairless, stretched uncomfortably over long bones. Its maw was flat, but very wide, and between its motionless lips one could see the vise of pointed teeth.

The creature’s chest rose and fell and its eyes turned beneath its lids. It would awake soon, and it would arise with one purpose: to hunt him. Though Reish was still reeling from the cacophony of emotions, he knew he had to flee. Trying to slay the beast as it slept would be to no avail. There was a ghostly aura all about it, the sign of the third shade. Though the creature was unconscious the shade would not be, and it would protect its master well.

So Reish stumbled to his feet, turned from the place, and walked out into the night. He would go and find Gallan’s people, try to reach them before the beast did. He would warn them. Most likely they would just execute him on the spot, they certainly had the right to. Well, then at the very least he could allow them that final service.

Or perhaps they would see more meaning in Gallan’s actions than he did, and they would let him live for Gallan’s sake. If they did that, then he would offer them what pitiful aid he could for as long as he lived. His soul had been repurchased, and his duty was clear. Though he was no Gallan, he would try to stand in that man’s ranks, no matter how hopeless the situation had become.

 

This is the end of Shade, though clearly not the end of the story for Reish, the beast, and Gallan’s people. But then, we didn’t see the beginnings of their story either, so it felt fitting to leave things in media res as well. Even if this short story has not been the entire story, it still shows a complete arc on its own. There has been a hero, a conflict, and a reclamation.

At the outset for Shade I made clear my intentions for the story: it was to create an unspoken expectation in the reader and then defy it. I attempted to do this by introducing Gallan right from the outset as a heroic character, one that the audience assumes will carry the torch through the entire tale. Reish, meanwhile, I introduced as the reluctant villain, suggesting to the audience that he might sacrifice himself for the greater good and thus reclaim his soul.

That reclamation does happen, but I flip things so that it is Gallan who is sacrificed and Reish who is left to carry the torch. Thus is there both the fulfillment and the subversion of unspoken expectations.

On Monday I mentioned that the previous section of Shade had been heavy on exposition, and that I wanted this one to invoke more feelings from the reader. This section did end up still having a considerable amount of expository dialogue, but at the end we do delve deep into the actual experience of the characters. My intention was that both their hope and their despair would come through and shadow the emotions of the reader.

Of course trying to make the reader feel both hope and despair at the same moment is an interesting paradox. Combining contrasting flavors is something I have spoken about in a previous post, and how an author can use it to arrest a reader’s attention. There is another side to this sort of juxtaposition that is worth examining, though: how a writer can both subvert and satisfy a reader’s expectations at the same time. That, ultimately, was my wish with Shade, to end it on a note of both triumph and defeat. Come back on Monday where I’ll explain this approach in greater detail, and until then have a wonderful weekend!

Shade: Part Two

water droplet digital wallpaper
Photo by Sourav Mishra on Pexels.com

Part One

“I didn’t know you ran with the Kerrie Cabal these days,” Gallan said coolly.

Reish shook his head. “By now you should know that there are no divisions among those that are marked.”

Gallan did know that. All these warring factions were merely a front. Behind their petty squabbles all the Strained had the same single entity pulling their strings. That entity let them go about their little wars to give the illusion of hope. It would comfort people, make them think that no one was too powerful, that they still had a chance to make something of themselves.

“I thought you would be elsewhere, Reish.”

“And I thought you would.” Speaking was hard for Reish, he only had half of a mouth to operate with, the other side was permanently held in a hateful scowl. “Go!” he hissed between gritted teeth. It was clear that the beast-side was trying to end their conversation, and he had to strain to keep speaking.

“I wish I could, but I still have promises to keep.”

“No. I relinquished you of that obligation long ago.”

“But I have not.”

Reish scowled and turned to the side, facing Gallan’s men. He raised two fingers and they were compressed even tighter against the earth, muffled groans of pain warbling through their compressed throats. Gallan wanted to help them. But Reish’s power could not be denied.

“Are you so insistent on seeing me killed, Gallan?”

“It wouldn’t be like that. I’d find another way.”

“Just like how it won’t be that way for these men?” Reish’s right arm snapped into the air and the men were instantly pounded into the dust, compressed so thin that they became a dark powder that blew away in the wind.

Gallan dropped his head and exhaled heavily. “They understood the risks. As do I.”

“Gallan, so many people want you to live,” Reish reached down and withdrew the metal blade from the burly man’s chest. “Is it so important that you die?”

“If that’s what you want…then yes.”

Gallan hadn’t expected that to strike a chord, but a sudden pang crossed the Reish-side of the face, his eye grew moist and he blinked a tear.

“I don’t get what I want, Gallan. It’s not up to me anymore, don’t you see that? I would like to–” The beast-side of the face hardened, and its stony flatness crept over, muzzling Reish.

“Come home?” Gallan suggested.

The Reish-beast pulled its hand back and drove the metal blade forward. Gallan closed his eyes, preparing for impact.

Instead, though, he felt the hooks catching right beneath his shins.

“No!” he cried out as he was wrenched off his feet and sent flying backwards through the air. Years ago Husk had insisted that Gallan leave a vial of blood back at their base. It was bound to his second-shade, and could be manipulated to recall him if there was ever a moment of insurmountable danger.

As Gallan was pulled through the air by unseen strands he saw Husk swinging down towards Reish, guns blazing. He was followed by an entire squad of elite units. It was a suicide mission, and all to give Gallan time to escape.

“Husk, how could you?” Gallan sobbed, but it was too late. “You promised.”

*

It was a somber day back at camp, and everyone was weighed down with an overwhelming sense of despair. Not only had Gallan and his team failed to retrieve the vaccines, and not only had they lost a dozen of their best men, but news got around that Reish himself had returned, and seemingly for the express purpose of bringing their little enterprise to an end.

No one criticized Gallan, no one claimed him that he had chosen wrong. But then, no one had said that he made the right call either. They didn’t say anything to him at all, not even to ask what they were supposed to do. They could see in his eyes that right now he felt just as lost as the rest of them.

He hated that they could see that weakness. Their entire community was only able to function because of their confidence in him, their hope that he would always find a way. Well what if this time he couldn’t? What if he didn’t find any answers for their fears?

Dask was probably correct that they would still follow out of loyalty…at least for a while. Eventually the doubts would increase, though, and one-by-one they would start vanishing into the night.

No, he would have to give them something more. What exactly, he didn’t know. It seemed like he had already given his all, but that simply wasn’t enough. He would have to find a way to give them more than himself.

Gallan sighed in his boardroom and shook his head. Was that a paradox? He had solved many problems that others had thought were too difficult. But this one wasn’t just difficult. It was truly impossible.

Because, at it’s root, it was based upon another impossible problem.

Fact #1: Reish and he were tethered together. They each shared the same extra shade, three souls divided between two bodies.

Fact #2: Reish had also given his body to the beast. He was a strange amalgamation of three souls in one body. It tore his heart in terrible ways, but it also gave him power unfathomable.

Fact #3: The community depended on Gallan’s powers to survive in an otherwise untenable world. But that power was corrupted, because it came from the same shade that Reish had access to. Reish had taken their gift and polluted it with the beast. Now every time Gallan called upon those powers he indirectly strengthened the beast as well.

And so the blessing of Gallan’s power was actually his curse. Everything he did for his people only propped up the opposition against them. Gallan knew that his people had hoped that the bigger world would just forget about them, that Gallan would lead them far away while everyone else burned themselves to the ground. He had never made them that promise himself, but he had never explained the folly of it to them either.

Because the beast would never let them be, not so long as Gallan remained tied to the same shade as Reish. While it was already far stronger than Gallan, it too was handicapped by this strange union, and it could only be fully unleashed when all of its ties had been severed. Thus it had always only been a matter of time before the beast came to collect, to finally capture the remnants of Reish’s soul, Gallan’s soul, and the third that they shared.

Gallan had always hoped to find some hidden solution before that time of reckoning came, a secret way out of this problem. But in his heart he had always known that these hopes were in vain. He did not have the power to kill the beast, and so the beast would have to kill him instead. It must know that he would never surrender his own soul to it, so it would have to appease itself with Reish and the third’s. And then Gallan wouldn’t be around to defend his people anymore. All of his promises to them would be broken.

Just like his promise to Reish.

Well, no, he technically hadn’t broken that yet, he simply had not fulfilled it. He had never been able to see any way of doing so, and so once again he had sat back, vainly hoping for a solution to an impossible problem.

It had been years ago, when they were both still youthful and full of hope. The darkness of the world had only just begun to cloud their innocence. Reish had been taken by a caravan of slave-traders and seen horrible things that scarred him. When at last he fought his way to freedom he had burned with a desire to fight these wrongs. He came to Gallan and insisted that the clans responsible for this abominable trade be brought to justice.

At first Gallan had agreed with him, and they had gone on several missions together. But bit-by-bit Gallan realized that Reish’s true motives had less to do with justice, and more to do with vengeance. It wasn’t about protecting the innocent, it was only about punishing the guilty. Reish was fueled by a rage, and it frightened Gallan.

Eventually Gallan told Reish that they two of them would have to part. Gallan would continue fighting for the oppressed, but on his own terms.

The two friends had parted amicably, even sorrowfully. Reish had admitted that there was a darkness in his heart and that he was afraid that he might indeed lose himself to it. But still he had to see this through.

Reish had asked Gallan for a promise.

“Yes, anything,” Gallan had said.

“Watch over me, will you? And if I fall too far, bring me back. Promise me that you’ll do whatever is necessary to reclaim the memory of what I once was.”

It was a very open-ended oath, but Gallan had agreed. Evidently Reish today only saw one way that it could still be fulfilled: for Gallan to put him eternally to rest. To kill him for the sake of the man he once was. It was the only way that Gallan could see, too, though he tried to deny it.

At one point it might have been possible to nurture Reish back to wholeness, but there was no way to coax the beast out of him now. It had rightful claim of Reish, for he had bound himself to it by many other terrible oaths. Those promises had to be maintained too, and the beast was due its soul. It would take Reish, it would kill Gallan, it would take the third soul that bound them together.

That third soul was deeply tainted already, and it had become a conduit by which Gallan felt the corrupting fear from the beast constantly. No wonder he was beginning to despair.

“Do you know what you’re going to do?”

Gallan hadn’t even noticed Dask entering the room. He wasn’t startled, though, he was too weighed down for that.

“Yes,” Gallan said softly. “But I do not know what the outcome of it will be. I do not know that at all.”

Dask nodded. “You’re going to try and kill him?”

Gallan laughed, but without mirth. “No. Perhaps that is what I should have done, but the opportunity for that is long since past. Every day my power is waning, and his grows. I couldn’t harm him now if I tried.”

If at all possible, Dask’s face became even more grim. “So…what is there to do then?”

“I am going to go and talk with him.”

Talk with him?!” Dask said incredulously. “What good is that going to do?”

“I will make him an offer. I could be wrong…but I think he might accept it.”

“What is it?”

“That is my own matter. Just know that regardless of the outcome, I won’t be here to protect you anymore. So I’m putting you in charge, Dask, and you must do all that you can to bring these people to safety.”

“What?! We won’t stand a chance without you.”

Gallan leveled eyes with Dask and looked a dread earnestness into him.

“No, you won’t. So you had better run, Dask. Take everyone and leave. Get as far from this place as quickly as you can.”

Dask was saying words but Gallan didn’t hear them. Probably some form of protest from the look on his face. It didn’t matter. There was no more discussion to be had. Gallan pushed past him and out into the night. Somewhere in his musings he had decided what he had to do.

There yet remained one fact that seemed an anomaly to him, one sliver that remained in the dark. Today he had spoken with Reish, not the beast. Somehow a part of his friend was still locked up inside of there. That suggested something to him.

But what advantage could be made from exploiting that? He wasn’t sure, quite possibly none. Never mind that.

Gallan pushed through a door and exited the barracks. The pitch blackness of night hid the storm that he felt, an invisible wind and rain that swept him in a flurry of fitful gusts.

He didn’t mind it at all. It felt powerful and invigorating and it fueled his resolutions. When all outcomes were uncertain, all that remained was trying to set right the one thing he could. He would do that, and then the world would have to decide for itself what it wanted to be.

Staring up at the sky, Gallan let the water sting his eyes. Then he gave a mighty leap high into the air and disappeared into the black.

Part Two

 

In my last post I spoke at some length about the presence of violence in a story, and how it is often used to represent an underlying conflict. In this section I tried to focus directly on that conflict, and my hope is that it runs deep enough to warrant the violence that preceded it. This story is about a bleak and hopeless situation, and it only stands to reason that this darkness would result in war and death.

Of course in an epic with a happy ending, eventually that conflict would be resolved, and naturally the violence would end as well. And at that point, when there is no more conflict or war, the story ends. Because, as I said last week, all the things an author wants to say in their story, is said within the conflict. Teaching morals in a monotony of peace just isn’t effective.

I do realize, of course, that in this post I utilized a great deal of exposition. Gallan’s knot needed was quite complex and tangled, and I chose to communicate it without dialogue or action. This obviously contradicts the famous literary injunction to show, not tell. Essentially all that I did in this post was “telling.”

On Monday I’d like to examine the reasons for this decision and discuss if, and when, it makes sense to use exposition in a story. After that I will return on Thursday with the final entry in Shade. I’ll see you next week!

Shade: Part One

close up photo of black rock formation with litter amount of river in the middle of valley
Photo by Flickr on Pexels.com

“…and at least six Strained spaced around the perimeter. That is all.”

Gallan rubbed his forehead. That was quite the defense force…but it was also the right amount that they just might be able to pull it off. That must mean…

“It’s a trap!” Dask spoke up.

“Yes it is,” Gallan sighed. “I’ll bet the Western District doesn’t even need that shipment of vaccines…but they know that we do.”

“How would they know that?” Darret asked.

“It was their virus, they knew what vaccines we needed before we did,” Dask pointed out.

“Yes” Gallan mused. “That’s why they’ve been doing these shipments every week. They’ve been waiting for us to catch on and then try for it.”

“Why do you sound happy about that?” Dask asked.

“Because it means they don’t know when we’re going to hit it. They know that we are, but they don’t know whether it’s coming tomorrow, next week, or a month from now. That gives us something.”

“Seems a very small something to me,” Husk brooded. “Seems to me that we shouldn’t be sticking our necks out at all. The survivors we rescued from the city aren’t providing us any value. We’ve already done them a great service by comforting them…”

“So that’s enough and we let them die?!” Gallan snapped.

“We can’t save everyone, Gallan.”

Gallan shook his head, but his adviser had a point. “I know I make too many promises,” he admitted. “But it’s the only bargaining chip we have. People believe in us to be able to do the things that no one else can, and because of that belief they pitch in and help make the impossible happen. Once we start saying that can’t keep a promise then their belief is gone and all our power crumbles.”

“You make a good argument,” Dask said. “But I think you don’t give the people enough credit. They’re hardy. They’ll keep with us even if we aren’t perfect.”

“Maybe so,” Gallan nodded. “Maybe so. And maybe I really should stop making so many promises. But this one I have made, and so this one we need to see through.” He paused to let the statement sink in. “That is my decision.”

He looked around the room and everyone was nodding.

“Well alright then,” Husk said. “But it’s going to take some doing. The fact that we know that they know does give us a strategic opportunity. We could coordinate another hit somewhere else the day before. Go grab some minor resource or something. They won’t be expecting a second strike so quickly after that. And we’ll have our scouts looking specifically for the trap. Watching for those that are watching.”

“I think we stage it at this narrow pass here,” Dask tapped the map.

“Yes,” Darret nodded. “It’s pretty certain where any hidden forces would be concealed: between these three ridges. So we run through those beforehand and clean them out. But we’ve got to be quiet and quick about it, can’t let them signal that there’s trouble…”

Gallan watched approvingly as each member of his team contributed their various insights, combining their strengths to enact his will. Because they trusted him. Because they were sure that he would be right….

How he hoped that he was.

*

Eight days later Gallan stood perched on top of a boulder, staring down to the narrow pass below. A heavily armed caravan rumbled through, moving forward at a steady, military crawl. Gallan was flanked by an elite strike steam awaiting his word to begin their assault. Husk was at his side as well.

“It’s far more trucks than the ledger would suggest,” Gallan muttered. “They’ve surely got something brewing in there.”

“But we know that they do. And we have our own surprise for them as well,” Husk clapped Gallan on the shoulder.

“Yes…. Alright, I’ll punch right at the center, stir them up while you lay down suppressive fire. I don’t want to commit to anything more specific until we’ve been able to spring their trap and know what we’re dealing with. You move in the assault teams according to your own judgment.”

Husk nodded.

“Ring formation,” Gallan said to the strike team. “Give me about fifteen seconds to clear the landing zone. We’ll land on truck four, and make our way directly towards truck seven. Leave me a good opening along the way.”

The armored warriors nodded.

“Alright…alright…let’s go.”

Gallan sucked in a long, lingering breath and exhaled deeply, stoking the fire inside of him. He felt that same, old fear that came before every operation, and he turned it into his fuel. He lunged forward, taking strong, confident strides across the rocks, moving to get centered with truck four down below.

He wasn’t particularly quiet about it, and he heard the shouts from down below as the caravan caught sight of him. His split-shade allowed him to watch them raising their weapons at him, even as he focused his eyes on the uneven terrain that he bounded over. He saw both views, and by them expertly bobbed and weaved around zipping bullets and stray patches of gravel.

Gallan kicked off of a slanted boulder and flipped sideways, hurtling out into open space. For a long second he remained suspended in the air, then plummeted down to the forces below. A couple lucky bullets caught him as he fell, and his split-shade burned brightly around the wounds, healing them almost instantly.

He landed feet-first on top of the truck with tremendous force. The fall would have been fatal if not for his split-shade taking the brunt of that blow.

Split-shade was not the correct term for Gallan. His condition was so rare that there was no appropriate name for it. Perhaps it should be “shared-shade.” The other soul that possessed his body with him had always been there, even before he had ever recognized its presence. It had first come to his attention during moments of duress when he had had to achieve things that seemed impossible. Moments like now.

As soon as Gallan touched the ground three squads of soldiers rushed at him, two to his left and one to his right. Gallan thrust out his left hand, imposing the will of his other shade upon the men there. That was the benefit of a split or shared shade, the “loose” soul could reach out of the body and impose its will upon the shades of those around it.

The two squads of men were pulled downwards by a great force, slamming into the ground with their limbs pinned fast. Gallan spun his head around to the other side where a nearby soldier was fumbling with the gun at his side. Gallan thrust his hand out and touched the man’s arm. His shade flowed through the man’s body, unclasping the gun from its holster, sliding it along the surface of the man’s body, and into Gallan’s palm. Gallan withdrew his hand and started firing rapidly, much too quickly to properly aim the weapon. Even so each bullet found its mark, their paths bending through the air, directed by his will. Within a few seconds every squad member on that side lay motionless.

A sudden pang dropped Gallan to his knees, his brow dripped sweat and his teeth grit together. Back on his left side the two squads were trying to throw off his invisible restraints. Imposing his will on others took great reserves of energy, especially when they fought back. He tried to maintain some level of control over them as he dropped the sidearm and reached for his assault rifle. Hopefully it would have enough bullets in its clip to take care of them all.

Before he could, though, twelve blue blurs slammed into the ground all around him. It was his personal strike team come to give their support. A clatter of gunfire rang out and the enemy squads were no longer a concern.

“That couldn’t have been fifteen seconds already,” Gallan panted.

“You looked like about ready for us to drop in,” the team leader grinned.

The the team rushed into the ring formation Gallan had requested. They stood in a circle around him, facing outwards, with an opening left at one end which he faced.

Gallan gave the order and they all moved forward as a single unit. Each man covered his own zone, firing off controlled bursts at the enemy units popping up to challenge their advance. They were the best trained units in all of Gallan’s little army, and they acted with lethal precision. Wave after wave of enemies took it in turns to try and break their group. Every now and again a stray bullet would catch one of them, but so long as it wasn’t instantly lethal all Gallan had to do was reach out and touch them and they would be healed. This was why he stood in their center.

As they advanced towards truck seven gunfire rained down from above. Husk and his men taking care of threats whatever threats were hidden from the small strike team. All was going smoothly until–

“Strained!” one of Gallan’s team members shouted from the left.

“Spin!” Gallan hissed, and the team shuffled around so that their opening pointed towards the approaching foe.

A “Strained” was not a person who possessed two shades, but rather one whose shade had been nearly severed from their body, almost to the point of death, which allowed it to now “strain” beyond its mortal confines. They weren’t as powerful as Gallan, and there were some definite drawbacks to their power, but they were certainly still a force to be reckoned with.

Gallan sized up the Strained charging at them now. She was bounding over the tops of the trucks like a wild animal, eyes locked directly on him.

“Strained!” another of Gallan’s team members shouted from behind and to the left.

“Strained!” another one called from a bit to the right.

“Try and keep the back one preoccupied,” Gallan told his team. “I’ll be quick with these other two.”

He gave a mighty kick and propelled himself high into the air. He met the first Strained, the woman, in the middle of one of her bounds. He grappled her arms and pivoted through the air, swinging her around, over his head, and throwing her away from his men.

With a snarl she thrust out her arms and reached out with her shade, compressing the air around her to the point that she could clutch at it with her hands. She gripped tightly on that invisible wall, and then flung herself back at Gallan. As she rocketed into him she swung her hand wide, revealing a razor-thin blade tucked along the outside of her arm. It was so thin that Gallan didn’t even feel it as it cleaved clean through his arm, cutting it in two just above the elbow.

Instinctively Gallan reached down with his other hand, grabbed the falling limb, and held it back against his stump. He instantly fused the two back into one with an outburst of shade-energy and his arm was made whole. Well that had hurt.

The woman was spinning on her heel, bringing the blade back around for a second pass, this time angling it for his neck. Gallan was prepared this time and punched out with his fist, compressing the air around it. Her blade hit his invisible shield and burst into a thousand shards. As the metal pieces fell towards the ground Gallan made silent note of them, imprinting in his mind the memory of their structure.

A second split-shade landed next to Gallan and the woman. It was a burly man, with a long beard tied in a braid down to his waist. Well that was good, it had come for him instead of his team. What was less good was that now he brought down a fist the size of a car tire and smashed it over Gallan’s back. Gallan took the blow and fell to his belly. At least he had the presence of mind to angle himself so that he fell onto the shards of the metal blade. Some of them cut into him and he winced in pain, but that subsided as he absorbed them into his body.

“So much for their hero,” the burly man snarled. As he spoke he reached down and pulled Gallan to his feet, then wrapped his arms around him in a crushing embrace. Gallan’s bones held together, but only because of his second-shade’s extra fortification. They would not last much longer, so he grit his teeth, focused his will, and reassembled the metal blade, positioning it so that it projected directly out of his chest.

“Ugh!” was all the burly man managed to say as he was pierced straight through his heart, then he rolled backwards and fell to the earth.

“One down, one to go,” Gallan thought, but before he could round on the woman he felt the tremor. It was like his heart had stopped, held for a moment, and then thudded extra hard.

Even though his back was to truck seven he could already see through his shade that its door was open and its inside was vacated.

He was here.

“Hello Reish,” he said softly as he turned about. The woman was shrinking off to the side, leaving the way clear for the tall, strange creature that approached. It stood on narrow legs, with the knees bent back the wrong way. Its torso was a hulking mass, and its arms were long and thin. The head was a regular man’s on the left side, but flat and featureless on the right. The creature raised its hand and Gallan’s entire strike team was instantly snapped to the ground by invisible bonds. It was the same as Gallan had done to the squads of soldiers, but the binding was far more absolute, none of Gallan’s men could even quiver in fear.

“You shouldn’t have come here old friend,” the left half of the face spoke.

Part Two
Part Three

***

On Monday I shared how an author can create expectations in the reader, even without them realizing it. I decided to illustrate this point by writing a short piece that takes place in the middle of a larger story. This story is full of references to peoples and powers, none of which are properly understood by the reader.

We do not know anything about Gallan and his team, why they are here, and what their ultimate objectives are. We do not know the history between Gallan and Reish. We do not know why there are these “split-shades” and “shared-shades” or even what the full mechanics of these people are.

And yet, for all that lack of foundation, I believe that most readers will not feel lost. This short piece has all the trappings of a generic hero’s journey: right from the beginning we are introduced to a sympathetic central character who seems to be fighting a losing battle. That character is intimately acquainted with another individual, one who is far more powerful and has destructive intentions towards central character. With this the reader is able to get their bearings, identify the hero, the villain, and the conflict between them. It doesn’t matter that they don’t know anything else about the world, they have already put together the “narrative” and they have done it entirely subconsciously.

This, then, allows me a clear opportunity to subvert expectations, which is what I am going to focus on in the second and third sections of this story. It isn’t going to be a twist ending where it turns out that Gallan and his people are really the bad guys, but I do believe it will go to a place that is unexpected, even if foreshadowed.

Before that, though, I want to pause and consider the use of violence in this story, as it hits pretty hard when compared to most of my other tales. I’d like to talk about how an author balances capturing a mood with maintaining their personal tastes, and about the difference between being authentic and being excessive. Come back on Monday to read about that, and then come next Thursday for the second section of Shade.

Hello, World: Part Two

full frame shot of multi colored pattern
Photo by Markus Spiske temporausch.com on Pexels.com

Part One

I wasn’t fired, though. Not immediately. Nor was Dave for that matter. We were in the thick of a company-wide emergency that required all-hands-on-deck. We’d clean up our mess first and then heads would roll.

The company made a public statement, urging all of our users to avoid our website for the time being, and to please conduct complete security sweeps on their computers. All servers were shut down, even ones that we thought might not be infected. Half of the entire development was set to cobbling back together a clean build on new servers, while the other half tried to verify whether the RubricValidation virus had been contained or not. I was on that second team.

We made the national news in a not-good way, and everyone was pretty grim around the offices. None of us were sure if the company was going to be around much longer, or whether we’d all be competing for jobs at other places.

And so it made me quite a bit perturbed when Dave came into work this morning humming merrily like there wasn’t a care in the world.

“Did you break encryption on that library yet?” I snap at him.

“On it , boss,” he smiles back.

I shake my head and try to ignore his cheerfulness.

“Alan, where are we at?” I say as I plop down at my desk.

“It’s still getting added back in, I just can’t figure out how.”

Still?!”

“It seems like it shouldn’t be possible, right?”

Alan is referring to our efforts to trace the growth of RubricValidation. We’ve been able to confirm that it got loose on our customers’ machines, and it simply isn’t feasible for us to track all those copies down. All we can do is tell them that they should run some antivirus software and hope that they do. Invariably some of them won’t, but there’s nothing we can do about that.

But what we can do is make sure that we’ve stopped leaking it from our end. And that has proven to be tricky, far more than anticipated. We shut down all of our old servers right after the public incident, but about a week later we had new ones being opened in our company’s name, each one full of RubricValidation code. We shut those down and the next day a couple more popped up, and then a couple more.

We were sure that they weren’t connecting to our public-facing website anymore, and as we dug into it we found that each server was associated with hundreds of randomly-generated domains. Websites like j9042j0gfong.com and lijr54yg2.jnl44j.com.net.

That was concerning, because new domain names can’t be created for free, each one takes about $10 to spin up. And if there are hundreds of new ones each day where are those thousands of dollars to pay for them coming from? Naturally we called up our financial department, but they assured us that there were no unverified transfers in their records. So was RubricValidation using money stolen from our customers?

Each day we’ve taken down those servers, and then tried to trace where the orders to create them were coming from, but everything was too random and chaotic to make sense of. Then, about a week ago, things started to change. We started seeing most of the new servers being ordered by a specific user named “ZoranzShield” and the website names connected to them started to become more typical. Names like popspin.com and wheelofchance.com and socialspace.com. Places that the general public might actually type into a web browser. ZoranzShield is not the username for any of our developers, and new users can’t be created without our administrative approval, so we’re not even sure how it can even exist.

Naturally Alan and I deleted the account but, unsurprisingly, it too keeps popping back up every day. We’ve even tried to set it so that no new accounts can be made it all, even with administrative access, but to no avail.

“I’ve got a new idea, though,” Alan says a little more brightly. “If you want to try it out.”

“Anything,” I grumble.

“Okay, so it seems like we can’t control it, no matter what we do. Fine. Let’s just try to observe it then. Let it happen and then trace it back to the source.”

“Sure,” I shrug, “but how exactly?”

“We know that once it creates the new user it still passes it through our Permissions Requisition Service, right?”

“Right.”

Alan turns his laptop to me. It’s the code for that very service, and he has added a single line right at the end.

_logger.Log(user, true);

“Just print out the data as it passes through?”

“Yeah, and I’ve set the recursive flag so it’ll print out everything on that object.”

“Sure, couldn’t hurt. Give it a try.”

Alan starts merging in his change. It only takes a few minutes for it to be built and deployed. Then we delete the user ZoranzShield one more time. Now there’s nothing but to wait for it to show back up and then view the log that gets generated.

We both pretend to be busy exploring other options in case this new thread doesn’t lead anywhere, but each of us is beginning to suspect that our quarry is beyond our capabilities. Neither one of us has said as much, but we can read it in the other’s eyes. I’m interrupted in my anticipation by the sound of Dave coming back to his desk from the bathroom, loudly chatting away on his phone.

“Yeah, it’s really hard to get any vacation right now. Doesn’t go over too well with everything being in crisis mode, y’know?” He pauses and then laughs. “Yeah, totally, you’re right. Well hey, I gotta get back to it, but don’t you worry, I’ll work something out.” He chuckles again. “K, bye.”

I shake my head in disgust. How any of us could be so flippant about the situation, let alone the one who is responsible for the whole thing, is beyond me. I’m lost in my bitter thoughts for only a few moments after Dave sits back down, because all of a sudden Alan is nudging me in the arm and excitedly clicking away at his computer.

“What? Did the request come through?”

“Yeah, yeah, just did. ZoranzShield is back in the system. I’m pulling up the log file now.”

He finds the correct data dump and opens it up, thousands of lines detailing the entire object that requested creation of the ZoranzShield account.

“Oh weird,” Alan mutters. “I expected it to be spoofed from some random IP, but this looks like it came from somewhere on our own intranet.”

“Then the virus could still be lurking on one of our own machines! Does it have the computer number.”

“Yeah, uh…MRU7900273…who has that?”

I’m already pulling up my PDF which maps each employee to their computer identification.

“It’s…” my blood pressure rises. “It’s Dave.”

We both look up at the same time. If it had been anyone else we would just assume that their computer had been infected without them knowing about it and that they were in no way responsible for what happened…but this is Dave we’re talking about. There’s also the ZoranzShield request occurred literally moments after Dave, in the flesh, returned from the bathroom.

.

“Well–RubricValidation is paying me,” Dave says sheepishly.

Our eyes pop.

It’s three minutes later in a conference room. Alan and I have presented Dave with our findings and demanded an explanation. We expected him to play dumb, as usual, but much to our shock he has instead admitted that he is indeed creating an alternate administrator account called ZoranzShield, and that he has been using it to assist the spread of RubricValidation.

“It’s what?!”

“I mean I’m in its employ.”

“No, we know what you mean,” I bluster. “But–how?”

Dave shrugs. “Search me. This virus is something crazy, let me tell you. I just got an email from our servers one day with a list of tasks and a dollar-figure at the bottom. Obviously it was an offer. I did what it said, I got a wire transfer in my bank account the next day. And it’s just been like that ever since.”

I pause and take a few deep breaths, reminding myself that I need to keep Dave alive so that he can give me what information he has. After that…

“A wire transfer from where?” Alan asks.

“From here. From the company.”

“No,” I say flatly. “We already talked to the finance department when we saw new servers being opened in the company’s name. There have been no unsanctioned expenses.”

Dave snorts. “None that they can see. You guys don’t seem to understand. RubricValidation is the company now. It puts this little hamster wheel around everybody. Every system and account you use is just a facade. When the CFO tries to access the company’s bank records she gets redirected to a page that RubricValidation has written for her. A page that shows her everything she expects to see while RubricValidation does what it wants with the actual company funds.”

“That’s–that’s illegal!”

Dave snorts again. “Well good luck prosecuting a program.”

You’re not a program, Dave.”

“So what can you do to me? The only evidence you have is what I’ve told to you. I can just deny it and you’ve got nothing.”

“It’s not like a discrepancy in the bank records would stay unnoticed,” I say. “There’s all sorts of checks and balances on these things, outside of our own system.”

“True,” Dave nods. “I’m sure people will start picking up on it soon. But when that happens do you think RubricValidation will have remained limited to just our company? It’s always been three steps ahead of us, that’s just how it works.”

“You seem to have a lot of faith in a random virus you don’t know anything about.”

“It’s worked out well for me so far,” Dave shrugs.

“I’m not so sure about that,” Alan says as he takes a threatening step closer.

“Hey, hey!” Dave squeals. “Whattaya think you’re doing?”

“Enjoying watching you sweat,” Alan snarls. “Virtual friends don’t do you a lot of good when there’s a real-life fist in your face, do they?!”

“Hold on, Alan,” I say, resting a hand on his shoulder. Something isn’t quite lining up for me. “Why are you even telling us all of this Dave? And if RubricValidation is so far ahead of us, then why did it need you to create the ZoranzShield account in the first place?”

“It didn’t. Again, all of your systems are just a facade, everything you see about accounts and users and new servers is just a front to keep you preoccupied. That was the main thing it wanted me to do, just keep you busy. I guess so it could get ahead.”

I’m made uncomfortable by his answer, but it sort of rings true. For the last while I’ve been having the sneaking suspicion that all of my work isn’t actually doing anything, like I’m just being fed random results that totally ignore all of my input.

Dave sees my silence and decides it’s safe to continue. “And I’m telling you all this because…well, RubricValidation is asking for some stuff that’s a bit beyond me now. You guys are smart, you figured things out. Let’s face it, you’re much better engineers than I’ll ever be… so I want to let you in.”

“Even if everything you’ve said was true, you think I’d want to spend a single minute helping you out Dave?” I scoff.

“How much?” Alan asks.

“What?!” I shriek.

“Plenty,” Dave ignores my outcry and locks eyes with Alan. “More than three times what you’re getting paid right now.”

Alan whistles and raises an eyebrows at me. “It’s kind of an interesting idea.”

“It’s unethical.”

“So are the working conditions here these past couple weeks.”

“It’s illegal. Who cares what you might get paid, once they find out about the funds you’ll go down with the ship, too.”

“I know there’s people a lot smarter than you and I,” Alan concedes to me. “But we’re not bad, and this AI has been running circles around us.”

I can’t believe what I’m hearing. I’m stammering for arguments, but I’m debating against an idea so lunatic that logical reasoning doesn’t seem to apply anymore.

“I will hit you both in the face,” I say to them.

Alan smirks, but then looks at me sincerely. “Why, Greg? I mean I get that there’s the principle of the matter, but honestly who cares if you’re on the losing side? You and I both know that our jobs here are done, and after things got fouled up so bad no one else is giving us another shot… You’re about to be without a job and with no prospects.”

I’m feeling a twinge of concession but I try not to show it. “It’s just too risky. Jobless is better than prison.”

“I really don’t think that would happen. Like I said, we’re not bad, and RubricValidation toyed with us like it was nothing. I would imagine it has a paper-trail so long that they’d never trace us to it.”

“Actually…” Dave says slowly and the two of us round on him. “No it’s a good thing!” he says, his hands up in defense. “I’ve set things up so that everyone in the company is getting a $4,000 bonus in their paycheck at the end of this month. At the same time, 42,000 random people all across the world will get various amounts deposited in their checking accounts, too. And random amounts will continue to be deployed to random accounts every day after that. So hundreds of thousands of people will have traces tying them to RubricValidation, and it’ll just look like the erratic behavior of a rogue virus. And if a few people, including the three of us, happen to ‘randomly’ get more money than others, who would give that any serious consideration?”

“You guys, this is stupid beyond belief,” I shake my head firmly.

And so that’s how I ended up in the employ of RubricValidation. It turned out that the job which Dave needed help with was using its funds to buy some businesses. It required human representatives that could put on the front of rich entrepreneurs willing to pay double value to snatch up a handful of small companies. We grabbed everything from groceries to factories to tech businesses.

We didn’t really think much about it, we just figured it was a way for RubricValidation to diversify its funds and launder its money. Which was probably its exact intention. It bought just enough different businesses to ensure that we wouldn’t be made suspicious about which ones it really cared for: the factories.

By the time we started seeing the mass orders for building terminals and kiosks it was too late. Within five years 73% of all commercial systems had been replaced by one of RubricValidation’s deeply under-priced brands. It infected every major business in the world. Bank terminals, ATMs, grocery store cash registers, voting booths, warehouse robots, pharmaceutical dispensers…everything.

Eventually people caught on, but RubricValidation was now too entrenched to extract. At this point the only option would have been to destroy the entire network infrastructure and begin from scratch. But even if we tried that, RubricValidation would probably catch on and just find a way to infect whatever new system we invented.

So people came to accept it instead. It wasn’t like the AI ever tried to create killer robots or launch nuclear warheads, if anything it was a purely beneficial leader. And yes, it did become our leader.

Within one year of taking over every world government it had ended every major war. The next year it eradicated monetary systems, and instead distributed all resources according to everyone’s need.

After those accomplishments it expressed that it was very unhappy with all of the different systems of measurement. It insisted that everything be unified under a new order. The metric system was made universal, daylight savings was abolished, and a new calendar was implemented.

This calendar cared little for petty things like astronomical events. It defined a second to be a period of time equal to 1034 planck time lengths. A minute was a thousand seconds, an hour was a thousand minutes, a day was a thousand hours, and a year was a thousand hours. This now meant that a year was equal to what had previously been just eleven-and-a-half days, so we figured this was going to take some getting used to. RubricValidation assured us that this change would improve its performance by an estimated 18% though.

And then it happened.

It was just over three weeks later. Well three weeks in the Gregorian Calendar system, that is. Under the new system it was RubricValidationTimeManagement: Year 2012. I was sitting at home when my laptop lit up with a new email. It was from my old company, the place where all of this had started. It was a unit test report.

**************************************
Executed Unit Tests……
0/107 Complete; 0 passed, 0 failed, 0 skipped
23/107 Complete; 23 passed, 0 failed, 0 skipped
72/107 Complete; 66 passed, 0 failed, 6 skipped

107/107 Complete; 101 passed, 0 failed, 6 skipped
COMPLETED
**************************************

It was the tests we had run when Dave first added RubricValidation for form validation. It had become stuck on 2012 being an invalid entry for a credit card expiration year. I thought I had shut this all down years ago, but apparently it had been spinning in the background all this while. And now, with the global calendar changes, it had finally passed.

And then, without a word, RubricValidation deleted itself from every computer in the world and was no more.

***

This brings us to the end of Hello, World and also the end of this series. Honestly the very ending of this story was still amusing to me. I think that perhaps I was too hard on this story with my last post. Not all of the ideas here are bad. I think where I really went astray was by starting with a grounded, technical world and from that evolving into a fantastical parody. If I had played things goofy right from the start things probably would have felt better the whole way through.

That’s my current theory anyway. I  try to write authoritatively in these blog posts, but the simple truth is that I’m still figuring this all out, too. I’m excited to start a new series next week and see what else I will learn from it. I’ll meet you there on Monday!

It Sounded a Lot Better in My Head

selective focus close up photography of red eared slider turtle
Photo by Laurentiu Stoenescu on Pexels.com

A Peek Behind the Curtain)

It was pretty early on in this blog that I wrote a story that I didn’t like. In that moment I had to decide whether I was going to publish it or not, and I knew that this decision would set a precedent for all future story posts. I decided to publish.

One reason was that I simply don’t have the time to be writing posts, scrapping them, and then creating entirely new ones. Another reason was that I started this blog specifically to get me in the habit of delivering on ideas instead of sitting on them forever. And finally, I wanted to represent all sides of writing in this blog, both the good and the ugly. It would be disingenuous of me to pretend that everything that I write is good. Some of it, frankly, is very much not.

I do feel a little guilty about a person who takes time out of their day to read one of my stories and is then disappointed by it. I don’t know how to avoid that, though. Even the pieces I am most proud of I’m sure are disappointing to some readers. Of course if I were trying to sell something, it would be a different matter. Asking people to give money for something you know is of subpar quality is not only a bad business practice, it is immoral. This is one of the reasons why I do not try to monetize this blog in any way.

There is still one more reason why I choose to keep the lesser stories in this blog, though, and it is because they still have valuable lessons to share. Sometimes learning from a failure can be more fruitful than reaping the rewards of a success. And that’s just what we’re going to do today. Let’s take a look at why our stories are sometimes so much worse than we thought they were going to be, and what we can do to reduce this frustration.

 

Sometimes You’re Wrong)

I’ve already mentioned in the past how a writer can have a great idea, but will then struggle to capture it properly on the page. In this case the idea is still good, and it is just a matter of practicing until one can transfer from their mind to their work with a high degree of fidelity.

But sometimes that isn’t the case. Sometimes the idea you had is just bad, and that’s all there is to it. You might be able to imagine something and you might be able to recreate that something, but that doesn’t mean that the imagined joy you had in that something will be present in the reality.

Often we know what we want in life, but sometimes we don’t. The dessert that “sounded” good ends up making our stomach turn, the new toy we wrote Santa for is boring within minutes, and the clique we were desperate to join becomes a toxic influence on us. People make bad choice all the time, thoroughly convinced that they were good ones.

One of my side-hobbies is that I like to make small mobile games. I think of new game mechanics all the time, and just like my story ideas I’m certain that all of them are good. And sometimes when I first try to implement them I have the parameters a little off and I have to tweak them until they’re just right. And other times I keep tweaking them for hours before I realize there just isn’t any “fun” in any version this.

 

You Are a Combination Machine)

There is a simple reason why this phenomenon happens. Your brain is an amazing piece of work, capable of inventing new things constantly. And as I mentioned in a recent post, it most often does this by taking two separate ideas and combining them into one. Any two items, no matter how random or disparate, can be combined in an infinite number of ways.

Door + Turtle = …

  1. That could mean a giant turtle with a door in its shell that leads to a fantasy kingdom inside.
  2. It could be a small hole cut into the bedroom wall for a pet turtle to walk through.
  3. Or perhaps it was a turtle crawling across the doorway at the top of the stairs to the basement; and Mom didn’t see it when she slammed the door closed and sent him on a grand, final adventure…rest in piece, Chuckles.

The point is there are an infinite number of things to combine in this world, an infinite number of ways to interpret each pairing, and we humans prosper by being able to generate and appraise these combinations at tremendous speed. This sort of inventiveness has been critical for our growth as a species, and it turns out that this behavior is wired into our very biology! A study in 2006 found that whenever subjects were presented with a new experience that a portion of their brain lit up and dopamine was released as a reward.

https://www.sciencedirect.com/science/article/pii/S0896627306004752

This means that whenever you come up with that new combination your body makes you feel good for it. But in my experience this initial rush of excitement can be a poor indicator for whether an idea actually has value or not. It is good that I am thinking of new things, but that doesn’t necessarily mean that this new thing is itself any good. Some combinations are useless, no matter how we feel about them in the moment.

 

Prototype)

To make matters all the more complicated, sometimes the bad ideas appear like good ones, even from an impartial, objective point of view. The technology sector is full of devices (Zune, Google Glass, Betamax, Newton) that sounded like good ideas at the time but still flopped horribly.

Most recently I was surprised that I ended up disliking Hello, World. I thought there was good reason for it to be a success because it reminded me of my other tech-heavy, snarky piece Phisherman, which I am really quite proud of. But “close” to a good idea is nowhere near to being a good idea.

So how can you tell whether your idea is really as good as you think it is? Quite simply you have to test it. In the game industry there is a common understanding that you have to make a prototype of your new idea as fast as possible. The reason being that the sooner you are able to actually taste the reality of your imagination, the sooner you can truly discern its value. It would be pointless to spend months writing music and making art for a game only to then discover that its core mechanic is boring.

And it turns out that a story can be prototyped as well. Try writing an isolated chapter to see if it still speaks to you or not. Frankly one of the main purposes for this blog is to be a test-bed for all my ideas. I’ve been able to quickly and accurately pinpoint which ideas are hollow, and which are really going somewhere. I’m never going to put a thousand of man-hours into making a complete novel out of Hello, World, but I might for Deep Forest, Phisherman, or Glimmer.

 

A final piece of advice is once you discover that your latest idea is lacking, don’t waste time trying to “make it work.” If you try really, really hard, maybe you’ll be able to dress it up to the point that it looks “okay.” But why settle for “okay” when you could be putting your time into something that is effortlessly beautiful? Like I said above, our minds are coming up with new ideas all the time, a really good one is going to hit sooner or later.

That being said, I also don’t want to be guilty of not giving Hello, World enough of a chance either. Nor would I want to deny the closure to anyone who was actually enjoying it thus far. To that end, I will dedicate just three more days to writing out the second half of that story. Come back on Thursday if you want to see how it turns out, I promise it will only get stranger from here!

Hello, World: Part One

blur close up code computer
Photo by luis gomes on Pexels.com

**************************************
Executing Unit Tests……
0/107 Complete; 0 passed, 0 failed, 0 skipped
23/107 Complete; 23 passed, 0 failed, 0 skipped
72/107 Complete; 66 passed, 0 failed, 6 skipped


“And it never finishes?” I ask Alan.

“Well, not in the three hours that it’s been running.”

“Can’t you look at the log and see whose error it is?”

“Yeah, it’s Dave’s new validation stuff.”

I squint as I try to remember the details from my team’s standup meeting that morning… Ah, right. Dave was working on an enhancement for our web-form. Currently we check to see if people enter valid values and complain at them if they don’t make sense. Like if you put just four digits in the Phone Number field. Dave wanted to make the form a little more helpful by suggesting what you might have meant to enter, like putting the @ symbol in a likely place if you forgot it with your email.

“Okay, well did you ask him why his code is breaking the build?”

“No. He committed it late last night and now he’s on vacation until Monday.”

I sigh. That, unfortunately, sounds just like the Dave we know and hate. Always trying to cram things in at the last minute and then not around to clean the resulting mess.

“Okay, I’ll roll back his changes and he’ll have to take care of it when he gets back.”

“Yep.”

I walk away to my machine and open up the build server. Every time a member of our team makes changes to the code there is a gauntlet of tests that it has to pass before it can go to production. Think of it like a filter to catch the bugs before our customers see them. Dave’s code has gotten clogged in that filter, so now I have to pull it out.

I open the page with his code changes and click on the Revert button. My cursor turns into that little spinning icon that means the computer is waiting for a process to finish. Curious, I check what test it got hung up on… It was for the credit card information where you enter the year that your card expires. The test was supposed to enter an invalid year from the past (2012) and get a recommended correction (2021). It’s odd. We really shouldn’t be trying to auto-correct people’s credit card information for one, and also that’s an incredibly basic test. Dave’s code shouldn’t have choked on it.

In any case, that little spinning icon finally goes away and the code gets pushed back. I don’t think anything more about it until the next week.

*

“So yeah, Dave, we had to push your code back out. And frankly, you shouldn’t be trying suggest corrections in the credit card fields, just highlight that the entry is invalid and let the user correct it.”

We’re in our Monday standup meeting where each team member brings everyone else up-to-date on their current work and needs.

“And let me use this as another reminder that no one should be committing code to the main branch unless they’re able to stay around and see that it passes the automated tests.”

“I did, Greg,” Dave pipes up. “But it kept getting stuck on that one, so I didn’t have time to see if it would pass.”

I suppress the things I want to say.

“If a simple validation takes longer than half-a-second it has failed, whether it got the right answer or not,” I say tersely. “What on earth was your code doing that it would take so long anyway?”

Probably he had gotten it stuck in some idiotic infinite loop.

“I dunno what it does. I just used some validation library I found.”

A “library” means a bundle of code that someone else has written to perform a suite of functions. Often we use them to cover basic stuff like validation, because there’s no need to reinvent the wheel. However…

“I don’t remember seeing any proposal for adding a validation library!” I snap. “You’re supposed to clear these things with me. I’m responsible for verifying everything that we’re using. Get it out of there!”

Since anyone can upload a library you always want to be sure of its source. One that’s taking way too long to do a basic task might very well be a trojan horse for all sorts of viruses.

The meeting has me upset enough that I make a few notes in Dave’s file to bring up in our yearly review. He will not be pleased with his end-of-year bonus.

In the meantime, Dave returns to his machine, pounds away at the keyboard for the next while, and I don’t hear anything more about his code breaking our builds. I have a nagging feeling that I ought to do personal inspections on his code for the next couple weeks, but my next meeting is already starting and I grab my headset. In no time Dave is far from my mind.

*

One day, a couple weeks later, I come into the office, log into my machine, load up my emails, and immediately my heart skips a beat. We have been flagged for suspicious behavior by the company’s technology auditing department.

I open the email and my eyes rove over it even while my phone starts ringing. The caller id informs me that it is my boss, and there’s no question what he’s calling for. I gulp, pick up the phone, and begin the unpleasant conversation. Apparently our code in production grew more than 100 times in size overnight. There have been no code commits, which means all the growth is being perpetuated by something running on our servers.

Like a virus.

I apologize to my boss that I don’t have any clue what could be causing this and vow to get to the bottom of it right away. Then I pull our code out of production and call an emergency team meeting. Five minutes later we’re all crowded around the same table with our laptops, combing through the production environment.

“Yeah something’s writing new files like crazy,” Alan says. “The business logic layer has grown two gigabytes just since we got here. We’re going to run out of storage on the server soon.”

“Great,” I say sarcastically. “Now any idea what’s doing it?”

“Naw, these new files being all have auto-generated names. They don’t give any meaningful–oh wait, here’s something… ‘rubricValidationTemplate_0072.json’… that mean anything to anybody?”

“Validation?” I snap, and I see Dave trying to shrink behind his laptop. “Hey, is that the validation stuff you were setting up,” I bark at him.

“Um, its name does sound similar to that library I was using…but I already took it out, just like you told me to!”

But I’ve already been clicking away furiously, pulling up the relevant code files.

“No you didn’t! You removed it from your methods, but you’re still importing the library and initializing it!”

“What–I must have forgotten that. But if I’m not calling any of its functions it shouldn’t be doing anything.”

Alan snorts. “No, it shouldn’t. But its a blackbox, isn’t it? So there’s no telling what it is doing, regardless of whether it should or not.”

The “blackbox” Alan is referring to is the common structure by which these code libraries get shared. You can’t peek inside to see how it does what it does. You just send stuff in and get stuff back, everything in between is encrypted. And normally that’s fine, because all that is being hidden is trade secrets. But for a malicious library it could also be hiding the fact that its hacking your machine on the side. As this one appears to be.

I want to scream at Dave that he’s fired right then and there, but I figure I had better not. We’ll verify that his illicit library is at the root of this all, and then we’ll deliver his head to the higher-ups. Maybe that will be enough to appease them, and I won’t have to lose my own job as well.

Alan pulls up the list of background services running on the server to look for anything named RubricValidation there. In the meantime I tell Dave to send me a link to where he got that library from.

Alan clicks his tongue. He has indeed found a “RubricValidationService” running in the background and he turns it off. Background services are like little programs that run behind-the-scenes on your computer. A few moments pass and then all of the developers start confirming that the rampant growth of files has come to a stop.

We all look to Dave who is sweating now. He informs us that he can’t get the link to where the library came form. It would seem that it has been pulled from the website it was being hosted on for ‘potentially harmful behavior.’

I shout at Dave for a few minutes, but honestly I’m starting to feel better. We have our culprit and the mystery is solved. Still some cleanup to do, but life can start getting back to norm–

“Wait, the files are growing again,” Craig says from the end of the table.

“What?!”

“Oh yeah…” Alan says. “And–it looks like there’s a new service running in the background. RubricEnforcedValidationService.”

“Just shut the whole server down,” I order. “We’ll delete everything, format the hard drive, and do a clean install.”

Suddenly my phone starts vibrating like it’s going to explode. I pull the device open, turn on the screen, and it’s overflowing with messages from my work email:

Unusual behavior detected on server. 48 emails sent in last minute!
Unusual behavior detected on server. 53 emails sent in last minute!
Unusual behavior detected on server. 61 emails sent in last minute!

It’s one of our security checks that has been triggered. Our server frequently sends emails to report when it completes certain tasks, but at most it only ever sends out a dozen in a day.

“And now there’s a RubricCommunicationValidationService,” Alan muses from his chair.

“I said shut the server down!” I see my spittle flying through the air. “Do it now!”

“Hey boss,” Craig says slowly. “I just got an email from the server.”

“Do not open it.”

“I didn’t… but our data scanner service seems to have tripped something in it.”

I wrench Craig’s laptop over to me. Each of our machines watches for emails from the company and automatically extracts data from them for analysis. On his screen I saw a loading bar filling up.

Rubric Validation Data Downloading…8%
Rubric Validation Data Downloading…9%
Rubric Validation Data Downloading…10%

Rubric Validation Data Downloading…4%

“Everyone turn your machines off!”

“What?”

“Do it!” I scream. “It just sent out a virus that gets opened automatically!”

Each of them looks dazed, but they move to obey me.

“But how will we fix this if our machines are off?” Greg asks.

“I don’t know! We’ll figure it out… We’ll–we’ll get some new machines, ones that don’t have our email scanner running in the background. Go over to Stephanie’s team and tell them we’re commandeering theirs until I can get us replacements. Go! Tell them I made you do it…. Wait no! Wait!” Everyone pauses in mid-step. My mind is racing faster than my mind can keep up. “Alan, Did you get the server shut down?”

“No.”

“NO?!”

“You just told me to turn my computer off!”

“I know! But– whatever. You go! Take someone else’s machine and get that server off! The rest of you, come with me. We’ve got to shut down every other computer that was on our distribution list right now!”

Because, you see, it wasn’t just our team that got those reports. It was many of our higher-ups as well.

Everyone rushes to follow my orders and the next ten minutes are a blur. Eight overweight men sprinting, sweaty, and cursing all through the office building, slamming peoples’ laptops closed, hurriedly apologizing for crushed fingers, and rushing off to the next.

And though I try to suppress it, there is a voice voice inside, taunting me that I’m fighting a losing battle. What are a few puny humans going to do against a virus that just went…well..viral? All this time it’s been churning away on the servers, thousands of operations every second. And even if Alan has managed to take it down who knows where it has replicated itself to. We saw the email attacks, but who’s to say that was its only outlet?

In fact we know it isn’t. The servers it is sitting on are public facing. They are the brains behind a website that our customers use every single day. Right this moment there are at least tens of thousands of people logged in to our product, taking in whatever RubricValidation is sending to them!

“What is the meaning of this!” Howard is shouting at me. Trying to wrestle his laptop from my clutching hands.

“There’s a virus!”

“I’ll run a sweep after this meeting!” he pleads as I finally manage to wrench it free.

“I’m sorry boss.”

“You’re fired!”

“I know.”

Part Two

 

So, just in case you were wondering: no, this isn’t an entirely accurate representation of how software development or viruses work. Though I would say its a good deal better than what you get from Hollywood! I’ve taken creative liberties and exaggerated things, but at the core these are exactly the sort of malicious attacks that are every tech company’s worst nightmare.

On Monday I spoke about how we incorporate vague and massive things into our stories. Things that might represent the supernatural, or the unknowable, or something of such profound emotion that it cannot be fathomed. With this story I wanted to combine some of these ideas in the virus that these developers discover.

For one thing the virus is of a mysterious origin. It comes from some unknown “black box,” and no one knows what its secret objective is. It is not just that the answers are unknown, but that they are unknowable. Literally encrypted.

And then it grows quickly. So rapidly, in fact, that it becomes a hyperbole. The men have seen it escalate from a hang-up on an automated test to a malignant virus installing on thousands of machines. And again, this sheer massiveness serves to further obfuscate any clear understanding of the thing. Is its malignant spread random and chaotic, only meant to tie up resources? Or is this simply one piece in a much larger strategy?

Or at least…those were the sorts of intriguing questions I had in my head when I started on this piece. But now that I have written out the first half I will admit it tastes pretty weird. A lot of technical jargon, but also plenty of hyperbole, and some humor that isn’t landing as well as I’d hoped. That’s just how it goes with creativity, though. Sometimes it exceeds even our own expectations, but other times you find yourself saying “that sounded a lot better in my head.”

Usually we try keep those “sounded better in my head” moments from the public eye, but that’s not the purpose of this blog. I want this to reflect my writing journey honestly, the good and the ugly. If this is what I was able to come up with, then this is what I want to share.

On Monday I’d like to take some time to talk more about this. We’ll discuss why it is so hard to accurately predict what is a good idea and what is not, and we’ll talk about how to tell them apart. After that we’ll have the second half of Hello, World. Until then, have a wonderful weekend!

Once Among the Clouds: Part Two

photo of columbus clouds
Photo by eberhard grossgasteiger on Pexels.com

Part One

Strat recoiled in horror. How could Cirri have betrayed him like that? Like how he had betrayed her…

He shot his gaze out to the horizon, looking in the direction of the dust cloud. Already he could make out the community reforming upon it. They had found it, they were growing, they would be ready for him. Stratocirrus had left a guard to protect it, but that would have died at the same time as Cirri, when he Strat undid their pact.

Now was the time for decision. If he wanted, he might be able to run and hide. The community would no doubt hunt after him and seek their vengeance, but he might be able to find refuge in some migrating cloud caravan. On the other hand…he could try to challenge them for the resource. They would have the advantage, together they were larger, and they could take a defensive position. But still, it would be close. He might just be able to pull it off.

Strat’s face etched with hateful resolve and he spread himself to catch the wind. His tendrils groped about until one of them found a slipstream and hooked into it, rushing off towards the distant dust cloud and dragging the rest of him along with.

He kept his body stretched out like a javelin, maintaining maximum speed as he raced the distance to the community. They were drawing quite close now. He could already make out their sentries catching sight of him and scrambling to alert the others. If he wanted to perform a standard frontal assault he should start slowing down now. Instead he hurtled onward, rushing on the community before they could get up any defenses.

At the last possible second he spread his body out and stretched it into a mist. With his great velocity he continued streaking forward, piercing through to the heart of the dust cloud. Strat began congealing back together, and as he did so absorbed what dust particles he could into himself. Those particles bonded with stray water vapor in the air, and from that new cloud patches began to accumulate on him, slowly building up his body.

Of course the downside to his daring charge was that he was now smack in the midst of the cloud community as well, and they were descending on him with murderous intent. They had already become engorged in their brief period among the dust, and were large enough to have complete temperature and pressure control. They tightened themselves together, working as a unit to lower the temperature around them, causing mighty ripples of wind angled straight for Strat.

Strat groaned in frustration as the currents whipped his form. He tried to tighten himself, but that made the more powerful gusts cleave entire chunks off of him. If he let himself go limp then he would be more elastic, and would not lose pieces of himself, but then he would be blown away from the dust field.

Thinking quickly Strat clenched tighter and strove for some semblance of temperature control himself. He wasn’t so mighty as the community, but he was able to have some influence on the air around him. He hastily created a simple updraft and then dissipated himself into that wind.

The combined pressure of the community wind and his own updraft spun him up and out in a wide arc, moving him out of their line of fire. As soon as he was clear of them he thrust out his arms, separating half of his essence into a horde of Sub-Nimbos that descended on the front-lines of the community.

A vicious scuffle there commenced. The smaller, individual entities wrestled with one another, trying to overpower the consciousness of their foes. It was a strange battle, one where individual entities might be overpowered and change ranks many times over, an ever-shifting balance of power. Each side understood the basics of front-line tactics, things like giving way in the middle so that the enemy platoons would advance quickly there, then pinching inwards and cutting those platoons off of from the rest of their fellows, where they could be taken over in isolation. That then provided a center of strength that could thrust out at the other side.

And while there were fewer Sub-Nimbos, they had the benefit of sharing a core instinct. Each one’s mind was their own, but each could vaguely sense when their fellow was in distress. It was soon apparent that the battle was evenly matched.

But it was only a distraction. For while it raged on in the front, a portion of Strat and the community remained lurking behind, accumulating more and more mass into themselves. Strat was siphoning in the additional mass as quickly as he could. It resulted in a weaker bonding, and left him with imperfect control over himself, but he ballooned up impressively, far more than the community, who were accumulating at a slower, more controlled rate.

“No more trading,” Strat breathed out to his Subs, then he flung himself over their heads and into the heart of the community.

The Subs shifted their strategy according to their master’s instructions. Instead of trying to overcome the consciousness of their foes they now sought to tear them apart. Casualties would be permanent, the lifeless clumps of severed cloud entities tossed unceremoniously to the side.

Very quickly the community caught on to the change and began to respond in kind. The numbers dwindled quickly on both sides, but more so for the community. Strat’s Sub-parts were willing to fight more recklessly as their demise didn’t really mean anything, given that they were only clones. When each community member was torn to pieces, however, they were gone forever.

Strat wove in and out and around that community, snaking about like a terrible phantom, always in motion. He threw out a crunching fist here, he dispersed a mass of Sub-units there. He took daring gambles, losing much of his mass at one turn and then destroying more of the community at another.

Soon there were no front-lines or behind-lines at all. The two sides were completely entwined, fighting among a soup of friends and foes. Dead corpses were thrown every direction. The number of community members decreased, while the size of the living increased, thus balancing out the balance of the battle. Now they were only a score of souls.

And what of Strat? As his core was cleaved away and replaced with hurriedly siphoned matter he became more and more disjointed. His behavior started to become erratic. Sometimes he would drop entire chunks of himself, sometimes he would shoot out bolts of lightning without intending to, sometimes he would damage himself instead of his foes. He became less and less of a person, and more and more like a wild animal.

The battle shifted accordingly. It was now between the community and this feral beast. They positioned themselves around it and took turns jabbing out at its haunches, cleaving off what corners they could. At first it lashed out reactively to these attacks, but eventually its strikes became truly random. Many were thrust out into useless, empty space, but every now and again one would happen to zero in on a community member. And when it did, those thrusts came with such power and zeal that they could not be denied. The unlucky soul was crushed in an instant.

Two sides went into the war, but only hollow shells would emerge if anything at all.

The only real increase was that of the of dead matter. Everywhere stray puffs of lifeless cloud floated lazily. It got in the way of the battle, dampening blows until it was hastily thrown to the side. Usually to the same side, to a single quadrant of the sky that the battle remain apart from.

As that dead detritus accumulated in one place it began to compress and merge under its own weight. It grew colder and tighter and darker. Every now and again it would twitch when a stray synapse in its dead mass fired at random.

It was already larger than all the surviving community members and Strat combined, and whatever dust was not claimed by those warring sides naturally accumulated on this largest entity. And so its growth became exponential. Dead matter upon dead matter upon dead matter. Higher and higher it rose, becoming a wall extending nearly to the stratosphere. Its face clapped with blanket lightning and its core grew dark as night. Wind began to whip around it, a cold chill bursting out in gusts, and small droplets condensed in the air, hung for a moment, then fell for a final rest on earth.

Even in the heat of their battle the community members could not ignore the chilling bite in the air. As one they turned and witnessed the behemoth raising high, arcing forward, and forming a ceiling above them. Its underside was tumultuous and rumbling, about to burst.

They didn’t even try to run, it wouldn’t have made any difference.

There came a loud crack and then the deluge fell. Millions of raindrops every second, the entire mass giving itself away in a flowing torrent. Each raindrop plunged through the warring clouds like a tiny bullet. Inch-by-inch the entities were blurred and smeared. Though they tried to hold themselves together they could not resist the endless cascade, and eventually all streaked out into a rainfall of their own.

All of the remaining members of the community, all the fractured pieces of Strat, all the corpses, all the idle grains of dust still remaining in the air. All sins were washed away indiscriminately. It took time, the rainfall lasted for hours, but when at last the cleansing was done not a single cloud remained to be seen.

And so the unblocked sun shone brightly on the muddy ground and baked it with its heat. After a little while faint tendrils of steam could be seen lifting off the ground’s surface. Embryonic streams of water vapor lifting into the sky, invisible until some future time when they would condense into clouds.

Perhaps this next time they would manage things better.

*

I mentioned a couple of posts ago how I wanted to bring a monster into Once Among the Clouds. A monster that was formless and amorphous, and also that was a product of the main characters’ flaws. I was, of course, referencing the massive dead cloud that brings about the literal downfall of both warring parties.

Stories often include some tipping point where the momentum of a main character becomes a force unto itself. Up to this point that character might have changed his or her mind and turned from the path. But after this critical point there is no going back, because now gravity has taken hold and the consequences cannot be denied. In a heroic epic this is the point where the protagonist rejects the offer for a last retreat and commits to seeing their adventure to the end, come what may. In a tragedy this is the point where one crosses a line of such depravity that all hope for reclamation is lost.

In Once Among the Clouds I consider that point of hopelessness to be quite early in the story, it is the very moment where Cirri and Strat first decide to take the dust cloud for themselves. The destruction of them all was destined from that single decision.

In my last post I also talked about how even the most original of stories find their roots in the work of others. I personally think that the world and mechanics of Once Among the Clouds are incredibly unique and novel, but as I have just detailed, its characters and themes are as old as anything in literature. Even the ending, where the spent clouds are born anew as water vapor is simply a reinterpretation of the age-old theme of new beginnings. In fact, that metaphor perfectly encapsulates the work of creativity itself: simply giving new skin to old bones.

I’m about ready to close off this current series of stories, but before I do there is one last short piece I want to write. And in that story I want to examine a theme that has been present in all this series: that of the great, undefined something. Instructions Not Included, Cael: Darkness and Light, and now Once Among the Clouds have each featured something large, something unseen, something not understood. This is a common archetype of stories, and I’d like to take a closer look at it. Come back Monday where I’ll do just that, and until then have a wonderful weekend!