About &

Fail Fast

There’s one true, irreplaceable principle in business: fail fast.

It means that you must be able to identify failures as early as possible. Persevering in the wrong direction is just dumb, so if you can stop and say, “wait, this is not going the way I thought it would,” then you have a chance to correct your course, or even quit doing what you are doing.

Today I discovered that this is also applies when writing stories.

I have spent the past several weeks plotting and writing the first draft of what I considered my next novel. I was almost through chapter 6 when something happened.

  1. I ground to a halt. I could only write a few paragraphs per day, and it was increasingly more difficult moving the story forward. My fingers just failed to produce meaningful words.
  2. My protagonist was being dragged around by events and her decisions were not really hers. A main character that is 99% passive is maybe fine at the beginning of a story, but if it still is in chapter 6… well, that’s not good.
  3. The plot didn’t hold. As the plot I originally outlined turned into action, dialog and descriptions, sentence after sentence, I grew bored with it, and it gradually looked weaker than I thought.

Truth be told, I liked the setting. It was gloomy and decadent, just like I wanted it to be. Additionally, I liked one of the secondary characters. A lot.

I tried reworking the story structure, but I figured that the concept I had in mind, while it could still get me excited, was not solid enough to sustain the weight of an entire novel.

Hard decision to make, but I killed the project. Despite it was dreading to watch almost two months of work going down the drain, I could not see it going any further.

Fail fast, and go back to the whiteboard. Of course, I will cannibalize the good parts in the next endeavor – or perhaps I will get back to the story in a few months.

Aftermath of a “Free on Kindle” Weekend

Since the beginning, I enrolled White Dwarf One in KDP Select. Basically you give your ebook in exclusive to Amazon, and you get a couple promotional advantages, namely the possibility to set your book as free for 5 days in each 90-day enrollment period.

I set White Dwarf One free during last weekend – forgetting that it was a 4th of July weekend – and scheduled a few tweets and Facebook posts with Buffer. I also advertised the promotion on 4 websites that list free Kindle ebooks (I had a list of twenty-something, but many require a certain number of positive reviews, which I don’t have, or simply ask money, which I don’t want to spend right now).

In total, readers downloaded 139 copies of the ebook: 96 on Saturday, and 43 on Sunday.

Accidentally, WDO reached #6 in Top Free sci-fi First Contact books, and #9 in Top Free sci-fi Space Exploration, as these two fantastic screenshots will document to eternity.

Top Free - Sci-fi First Contact   Top Free - Sci-fi Space Exploration

Given the amount of marketing was close to zero, I think it’s a satisfactory result. After all, potentially, more than a hundred people are reading my book now.

Agile Team Leading for Dummies

In the past several months I seldom wrote code. I wrote emails, I had conf calls on Hangouts, I wrote specs, with various degrees of detail. But code, almost never, unless it was an itch that I desperately needed to scratch now.

What I do is paving the way for others, so they can find neat, freshly-laid tarmac, proper sidewalks, streetlights, and so on, so they can run fast and smooth. I don’t do the work myself, I just give directions. I lead (or I try to). I have been tasked with designing a new software architecture,  and I did, and then we built a prototype, and now we are about to deploy it to production. That’s cool, you might say. It is, but…

The problem is that, more often than not, I find myself lagging behind others. I see them turn in the distance, set against a blazing sun, and ask me things – perfectly legitimate things. “How should this work?” “Should this be sync or async?” “Do we already have something for this?”

My answers always come late, because I have too many questions to answer – and this is the first warning sign. Let’s just assume that I do not delegate enough, which might be the problem.

Then, I get up in the morning, and I have absolutely no idea about what I’m going to do during the day. “Anything necessary to get the project to completion” is a good definition. At 6 pm, I get up from my desk, and I have no idea on what I did all day. I’m not joking, this is for real.

In a way, I feel like I’m stealing money from my employer. I feel like an impostor.

Enter agile.

The place I work at is, like any other largish IT organization, a mammoth with zero agility, pretending to be agile. This is fine, probably, it’s just the way it is everywhere. No surprise.

Deep down, beneath the facade of enthusiasm and goodwill, we all know agile is just a myth (or form of a cargo cult), and that software just can’t be considered a product by itself, very much like a building’s blueprint cannot be considered a product by itself. You cannot industrialize software development. When they tell you otherwise, call it bullshit and move on.

In this context, I constantly fluctuate between two states: a feeling of utter uselessness, and a feeling of helplessness.

  1. “What am I doing?”
  2. “What am I supposed to be doing?”
  3. “What I’m doing is useless.”
  4. “We are going to fail miserably.”
  5. Goto 1.

You might argue that we are doing agile the wrong way. That’s right, I say, tell me how to do something that doesn’t exist. Because agile, in its essence, is trying to do something complex quickly by breaking it down in small pieces. Nice finding! That’s called divide et impera, and Ceasar invented it quite some time ago. The problem is that his divide et impera was based on a rigid chain of command, while agile is based on people functioning flawlessly in each of their roles, and in every social aspect, to work together like a happy family. The word utopia comes to mind. But I digress.

With a non-zero number of bumps along the way, I do manage to get projects to completion, more or less on time, more or less working reasonably well, sometimes hitting the brick wall hard.

But, this constant state of mediocrity is slowly killing me. This constant, floor-rounded tendency to compromise is stripping energy away from me, one deploy at a time, one “we’ll do it in the next sprint” at a time. The backlog becomes a strictly increasing function of time. This constant just-below-total-chaos status is dragging me down one “damn, this is wrong! Fuck it, let’s change it on the afternoon of the last day of the sprint” at a time.

And I keep asking, “is it me? Is it my fault? Am I doing something wrong?” Yes, in part at least, but what bugs me is that I can’t know for sure, there are too many moving targets to track, too many unknowns. I know that I’m working at too many levels – from architecture down to implementation details – on multiple projects at the same time, but I also suspect that I can’t do otherwise. As I said, I do whatever is necessary. Duck and run, yell orders, open fire, dress wounds – in both armies.

When someone asks you, “do you have a couple of minutes for X?” and you never do, that’s the final, ultimate sign that what you’re doing cannot work. You’re going to break down, soon. You’re going to fail.

I don’t have a conclusion, I thought I had one, but I don’t – see how messed up I am? I couldn’t even come up with a proper title.

The Fallacies of Science Fiction

If you pay attention to some of the details that normally don’t matter much in a sci-fi story, and that are just ancillary aspects – narrative sugar, if you like the definition – you’ll notice several fallacies and mistakes that are so common that they have become invisible to your eyes. This is particularly true in sci-fi from the Seventies and Eighties.

And I’m not talking about flying cars here.

The first and most obvious absurdities are computers. 99% of stories get them wrong on two different ends of the spectrum.
One is the bulky, enormous computer with hundreds of blinking lights, green-phosphor screens, and monster keyboards with above a million keys. Ah, the Seventies.
On the other side, there are computers so advanced that can understand human language and act upon it, no matter the inflections of the characters’ voice, the accent, and the dialect. I believe this version is from a time when progress in electronics and software went so fast that something like that sounded possible, if not probable. We’re almost there with voice recognition, but that’s the easy part. Machines are still like cavemen in terms of understanding the infinite semantics of human language. Perhaps one day…

The second evident mistake, especially in movies, is the pervasive, panacea-style use of servo-motors.
You see automatic doors everywhere, for starters. You see motorized drawers or wardrobe doors. The funny thing is that a simple action like opening a door takes much more time when you have to wait for it to open by itself!

The last fallacy is humanoid robots (which are computers with servo-motors, sprinkled with sensors).
The point with robots is that they can do a certain limited, well-defined task  faster or more accurately than a human. A welder robot is just an arm with as many degrees of freedom (joints) as possible, with as precise mechanics as possible. A soldier robot might have threads to move on uneven terrain, or even better it might fly to get a vantage point on its target (BTW, military flying drones have been in use for quite some time).
The shape of the human body is as it is because, over hundreds thousands of years, it evolved to survive in an environment that requires a very high level of flexibility – for example, walking and holding something at the same time (an object, a weapon, etc.), thus legs and arms. We have frontal eyes because we tend to be more hunters than preys. Human hands are a wonderful piece of mechanics: they are very precise and versatile, but not really strong, and not exactly resistant to injuries.
Building a human-like robot certainly helps in integrating it with real people, but at the same time it hinders its versatility and therefore its usefulness. In a way, a robot trapped inside a human body sounds like a sad concept.

And the list could go on… what other wrong patterns did you notice in sci-fi stories and movies?

Are Blogs Dead?

And with dead I mean “no longer engaging readers.”

I would say yes. I didn’t run the numbers and my observation is purely based on anecdotal evidence (assuming such thing exists), but the majority of interactions with readers happens now on social media.

Blogs are just a way to dump lengthy content and then link to it from Facebook/Twitter/Google+.

I would even dare suggesting that turning off comments in blogs would make little difference.

Feed readers/aggregators are flourishing lately, probably because of the death of Google Reader, but they do not favor direct comments to blogs, instead they promote social sharing of the content. Ergo, blogs are just empty shells. The real action happens elsewhere, which is just fine.

Or is it?