Little Black Boxes

The refactoring of Ficlatte has begun. I don’t expect this to mean anything to any of you, not even the ones who frequent the site on a regular basis. The work I’m doing right now is 100% completely behind the scenes, hidden by the large curtains that lead to the cold and drafty back rooms of the castle. Let me just put it this way — if I do my job correctly, no one will notice that I’ve even done a thing.

And that’s as it should be. But despite the fact that no one will see the changes, they are necessary ones to make. Right now, it’s a fair comparison to say that all the code that runs Ficlatte, if it was poured into a large, black box, would look like a messy tangle of colored wires looping in and around each other, making snarls here and there, and generally just looking like an entire troop of monkeys got in there and started mucking around with things.

And it gets worse every time one of us on the development team adds a new feature or tweaks a little bit of code. We just keep adding new wires to the box that link existing things together in new and interesting ways and other wires that do new things they’ve never done before. Looking at it right now, for example, you’d probably see a bunch of blue wires in there. Those go to all the authors and users who come to the site. The white wires link to all the stories and interconnect a fair few of them together in long chains of storytelling logic. The green wires are the prompts, there to spark new and creative ideas. And the red wires — well, those are the dangerous ones. You don’t want to go playing with those. No, sir. They lead to the challenges, where some of the heaviest lifting gets done. And somewhere in that tangled mess are these little copper wires. They looks haphazard and random, but they’re really not. They connect some of the most important bits of logic together that keep the site running smoothly. Pull any one of them, and the whole thing comes to a screeching halt. Probably with flames. And smoke.

All that to say, someone has to sort this mess out. The more things we add, the worse the mess gets and the harder it is to maintain. So I’m working on a little project called refactoring, where I take this large, black box of tangled wires and carefully pull it apart — without breaking anything, mind you — and tear it down into several smaller black boxes that are all connected together. The blue wires go into their own box, and I write something like ‘Authors’ or ‘Profiles’ in white Sharpie on the lid. The white wires go into a different box, which gets its own appropriate label. The same goes for the green wires and the red wires. And when I’m all done I should have a separate box for each modular function where the wires inside are all neatly patched together and organized and easy to see where they go and what they do. The copper wires stay in the central box, of course. That’s the beating heart of the whole thing. And all these newer, smaller boxes have new wires that lead back to the primary box, as well, because everything still has to be able to talk to each other. But what that leaves me with is a system that’s clean, neat, and tidy, easier to maintain if something does break, and even easier to add on to as we develop new features for the site.

Fortunately, it’s not overly difficult work. It’s just a matter of doing it, and as I said earlier, I’ve already started on it. In a day or two, the whole refactoring process will be complete and no one but myself and the other two developers on the team will even know I’ve been in here working. But I’m excited about it, because we have some really neat new things planned for Ficlatte, and this refactoring process is going to make it so much easier to implement those features. Some of them are even done already; they just haven’t quite made it down the pipe to the site yet. (And frankly they’re part of the reason why this whole refactoring is even necessary in the first place; we kinda made a little bit of a mess back in these cold, drafty rooms, so now we have to clean up after ourselves a little).

Stay tuned, folks. I love the work we’ve done already for Ficlatte, and I’m excited about what else we have planned. And if you haven’t checked out Ficlatte yet, this is a great time to do so. It looks a little drab and grey around the castle yet, but the interior decorators have already been hard at work to give the place a little more color, I assure you. And it’s a great place to meet some great folks who love words and for you to practice your use of words, as well.

Corners

I drag a finger along a wall as I walk around the room. I can feel the grainy surface of drywall and paint. Approaching the corner, my fingertips lift off the surface slightly, pulling further away as I draw closer to the junction of the adjoining wall.

“Why’d you do that, Linds?” Jubal is watching my progress, at my request. I need a witness.

“Just watch,” I breathe quietly. I step closer, and the laws of physics break and bend. The closer I step the further away the corner gets. My hand draws closer, but the corner pulls even further away.

“Whoa,” I hear Jubal say from behind me. I can hear the shock in his breathless tone. It mirrors my own the first time I experienced this.

I press closer still, and now the space between hand and corner visibly distorts. My fingers twist and the walls warp, and no matter how hard I try, I cannot touch that corner seam. Nor any other. They are all beyond my reach.

“What. The. Hell,” Jubal whispers.

I pull my hand back and rub my fingers. “An excellent question.”

ɹəɥʇᴂN

Grey mist sails past his face, and it is enough to shake him from his reverie. His mind is sluggish, slow, as though he is awakening from a dream. Perhaps he is, but then he has woken into a nightmare.

He looks down at his hands, outstretched before him, palms up. His skin is grey, wrinkled, gnarled. He doesn’t remember being old, but he understands that there is much he does not remember.

Past his fingers, the ground is an even deeper shade of grey. Anywhere else, it would be green, but here the grass, like everything else, holds no color at all.

At his back a dark building looms, blacker than shadow. This he knows — somehow — without even looking. Entry is forbidden, and impossible. A fence of smoke encloses him in this tiny yard, and again he knows, without quite understanding how, that to cross that line would expose him further to the nightmares of this place.

But cross it he will, eventually. He must. There is… SOMETHING… out in those mists, and its call will allow him to do nothing else.

Everywhere I Go

You’ve heard the expression, “Everywhere you go, there you are.” Well, I’ve got a variation for you.

“Everywhere I go, there you are.”

Frankly, I’m getting tired of it. At first I thought it was just me. You know, how you see a familiar face in a crowd, only to look again and it’s not who you thought at all and the resemblance is only passing. Thing is, it was clearly your face.

It happened infrequently at first, then with increasing regularity, to the point where it was unsettling. And I don’t get unsettled easily. But you already know that.

I tried catching up to you once, to confront you, but by the time I got to you, you were gone.

And then things got really strange.

I had a day recently where I saw you, through a glass storefront, then glanced to the side and saw you again, across the street. Moments later, I saw you twice, walking side by side, holding hands with yourself, having a conversation.

Has the world gone crazy, or have I? All I know is this:

Everywhere I go now, there you are.

Ficlatte, Code, and Making Use of All This Free Time

For the last three or four weeks, I’ve been coding away feverishly. This, by itself, is notable. I haven’t had the energy or the mental focus to work on any project like this for so long in a very long time. It’s been exciting and fulfilling to finally feel like I’ve reconnected with a part of myself that’s been missing for so long. I’ve also been doing some writing again, micro-fiction of course, but I’ve done more writing since the first of the year than I think I’ve done in the last couple of years combined. And it’s the writing that’s led directly into the coding.

Back in the days when Ficly was still in business, I’d wanted to help contribute to that site’s code base. The site’s owner was the original developer of Ficlets, which was, in turn, owned by AOL. And when AOL effectively all but went the way of the dodo, Kevin migrated Ficlets into the daughter site Ficly. I wasn’t fortunate enough to learn about Ficlets until far too late, but I was an active member of Ficly for a number of years. I wrote quite a few stories during my tenure there, including some really fun collaborative series with a couple of other users.

Active development and maintenance of the site was slim, unfortunately, and for good reason. Kevin had a job, family, and other life responsibilities, and I think Ficly ultimately got relegated to a hobby project and a labor of love for him over time. As a result the code base became somewhat stagnant and outdated, as the Ruby on Rails framework it was built on moved forward and left our little realm of micro-fiction behind. I’d offered at one point to help contribute to the site’s development, knowing I’d have to learn Rails in order to do so. But I ran into technical difficulties setting up a development environment at home, due in no small part to the fact that several of the packages that powered Ficly no longer existed. So the result was that Kevin opted to shutter the site rather than bringing the code up to spec, which would involve basically rebuilding the site from the ground up.

And so we as a community were forced to move on.

There were several of us from that community who made attempts to work up replacements. The one that got off the ground fastest and most completely was Ficlatte. A handful of us from the Ficly community migrated there, but since its inception, Ficlatte has been more of a shell of Ficly. It’s had the basic tools to write stories and interact marginally with other users, but many of the key features that Ficly a community have been missing.

Until recently.

I haven’t particularly enjoyed being unemployed for the better part of a year, but one of the advantages I’ve discovered is that right now I have the opportunity to add to my knowledge and programming skillset. Ficlatte is built on Python and Django. Both are frameworks that would be useful for me to be familiar with, and so a few weeks ago I offered to contribute to Ficlatte’s development and thereby enhance my own skillset.

I’ve plunged in with both feet. Writing code these last three or four weeks has become almost a kind of addiction for me. It’s filled almost all of my free time, supplanting even most of the other hobbies I’ve engaged in the last few months to deal with my anxiety. I’ve always found it thrilling to put together strings of code and watch them come together to do something useful and practical.

I’ve come to love this little community of micro-authors, so it gives me great pleasure to be able to add to the site in this way while developing some new skills that make me more marketable as I search for work.

As always, if you like to write — or think you might like to write — I highly encourage you to visit Ficlatte and check out our little community. All the stories are short, so there’s no pressure to jump straight into writing long fiction. And we now have a development team actively working on new features, so the site is about to change for the better in the coming days.

Dream Mist

“Anything?” Bantu asked.

“Gimme a sec,” replied Shari. With a gloved hand she reached into the mist hovering before her, dipping a small test tube into it and filling it as best she could. With the other hand she stoppered it before withdrawing it and gently placing it into the analyzer set up on the path next to her.

Shari pulled off the gloves and glanced over at Bantu, who was engaged in his own work. “It’s going to be a few minutes, but I don’t expect the results are going to be any different here than they were at any of the other three sites we’ve been to today.”

Bantu grunted in acknowledgement. “Vapor, not unlike smoke but with properties of mist, that hangs in the air like a bubble over the site of the detonation. Right.”

Shari nodded. “And prolonged contact with it results in very specific types of entropy, depending on material and mass.” She glanced at her discarded gloves, which were already beginning to break down and crumble.

She sighed, troubled. “I just wish we knew what it was.”

Pieces of Me

I broke,
Shattered into a thousand little pieces.
And the world broke with me,
And around me.
Or at least so it seemed.
I remained broken for a time,
Fragments of myself lying all about,
The quiet after a great trauma.
But after a time,
And little by little,
I began to gather myself,
Scooping up the shards,
The pieces of me,
And I gathered them into a pile.
With time, and help,
I began to fit them back together,
Piece by little piece.
And in so doing,
I learned something new.
It has taken time,
And courage,
And not a little pain.
But after a while,
I came to a realization,
An understanding, of sorts.
Those pieces,
The pieces of me,
They fit together a little differently
Than they did before.
They had taken on new shapes,
New dimensions,
And some pieces, even,
Were no longer needed at all.
It has taken weeks,
Months, even,
And I’m still working on it,
But I am mostly whole again,
Mostly complete.
But I am not the same.
I look a little different now.
I have a new shape,
A new definition of self.
But I guess that only makes sense
For someone who was as broken as I.
You might not recognize me now.
You might not know me.
In fact, it’s likely.
But I know myself,
Better than I did before,
Because I have picked up
The pieces of myself,
Those jagged little shards.
I have examined each one of them,
Cut myself on them,
And learned where they go.
I have fit each one into place.
No, I do not look entirely the same,
And parts of me are still broken,
Remain to be reassembled.
But I am me,
For perhaps the first time in years.
The cracks are still there,
The gaps still showing,
Scars of my breaking
That may not ever completely go away.
But for all that
I am more whole than ever,
More complete,
And I am stronger than I have ever been.

In Presence Exalted

At long last, Orthael returned the sword to its guard position and stood quietly for several seconds before realising there were no foes left to slay. That was not to say that he was alone, however. There was someone in the clearing beyond the trees, a silhouette that knelt low at the very centre of a circle of destroyed bodies.

Lycans, thought he. Not the Dead. Ashmar’s touch lies not on these.

The flame that tugged was still now, burning low. Neither spark nor smoke nor ember spoke, and so Orthael approached. The figure was slight, young, female. She rose to a full kneel, lifting and displaying a sword that rang clear with power.

Orthael strode on until he reached the very edge of the clearing and waited, for though he could not see her tears he could feel the grief within her crackle – fierce and hard like the wrath of the Fire. He stood, patiently.

Surely the Fire had brought him here, moving through the world on its mysterious and benevolent dance. There was no need to rush the moment.

Distant Whispers

Onwards and forwards, path guided by faith, Orthael strode on. He did not see where his feet feel, he did not know where the end of his journey lay, he did not drive the weapon that tugged him onwards on its lethal dance. The golden light at the tip of the sword traced across the hearts and throats and claws of the Lesser Dead that swarmed from the trees as if to overwhelm him with the weight of their bodies.

Now and again he murmured prayers of supplication and delivery, words of comfort and delight that kept the darkness within at bay. Then he would shout promises of retribution and redemption to assault the darkness without.

All throughout, the Dead were returned. Scores were flung backwards or even vaporised where they stood by scintillating bolts of flame. Some were swept away by sword and mailed fist. Others yet dissolved where they stood, the Fire’s divine presence sufficient to send them on.

This way, tugged the fire in his heart. The night is not yet over.

A True Beginning

She heaved, great, gasping, shuddering sobs, still clutching the sword in her hand. Her tears that fell on the blade glistened and glowed blue, etching fine, dark lines into the metal as they traveled along it. She was oblivious of the carnage she had left around her. She only knew the pain inside.

Eventually, her weeping subsided and she pushed herself upright again, though still on her knees. She had fulfilled her purpose for entering this gods-forsaken forest. She held the sword up before her eyes, examining the now-perfect metal, fresh and new as the day it had been forged. The blood of these beasts had fed it, restored it, returned it to its former glory.

As if in acknowledgement, a voice spoke in her mind. Mistress, it said. It is time. There is work to be done.

Malika nodded. “I know,” she replied. “This task that has been given me is great, perhaps too great. Just allow me this time with my grief.”

Would that I could, Mistress, came the sword’s reply, but another approaches.

Jack-of-All-Trades, Master of Words