Tag Archives: Ficlatte

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.

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.

Weight of the Kraken

Chaz raises the weapon he holds in his left hand. He can feel the Weight of it dragging his arm back toward the earth, but it is that very same Weight that allows him to wield the hand cannon at all. When he first claimed the Kraken, when he first held the Object that had laid him on this path, this disparity had been distracting.

But he has long since made his peace with it. The weapon is now a part of him, an extension of himself that transcends the steel he now holds.

The creature before Chaz barely blinks. It is indifferent to the cold gaze of the Kraken. It knows Objects of this type, has lain waste to their bearers before. Chaz knows this, knows the creature will not be easily dispatched, knows that even with the force of the Weight behind each bullet he fires the creature will not go down easily.

Chaz has no words for the beast. It wouldn’t care even if he did. No, he knows the creature respects only action.

“Ok,” he says.

A deep breath, then, his finger squeezes the trigger, and time stops.