14 November 2015

An Open Letter to the Western World (RE: Paris)

In the aftermath of the recent attacks in Paris and Beirut, my heart goes out to the survivors and the families of the victims. Islamic State, which has taken responsibility for the attacks, has perpetrated yet another horrible and vicious act of terrorism, which will no doubt be retaliated against.

But, from the reactions I'm seeing, they have already won.

Terrorism, is, by definition, the use of violence and intimidation in the pursuit of political aims. It is the act of terrorizing other people. Make no mistake, they want us to be afraid. Because our fear is the best recruitment tool they have. Because fear breeds hate. And the hate that fear breeds has a wider target than the fear it stems from. Even before the identities of the attackers were confirmed, internet comment sections and watercooler discussions were filled with fingerpointing and calls for all Muslims to be expunged, regardless of who they are or what they want. After each act of terrorism or mass shooting, regardless of who the culprit turns out to be, too many members of the western world voice mistrust or hatred of the entire religion.

With so much hate directed towards them when they have done nothing wrong, done nothing at all but be born into, and continue to follow a major world religion, is it really any wonder so many young Muslims from the western world have gone over to IS? When our culture treats them as terrorists, treats them as evil by default, how can we still be perplexed when they decide the whole world is against them with the lone exception of a solitary hate group?

We have all fallen into IS' trap. We are right where they want us, doing exactly what they want us to do. They want us to equate all who follow Islam with them. Because when we do, it makes many Muslims feel like IS is the only place that will have them. Our fear makes us hate them, which makes them hate us, which in turn causes them to commit acts for IS that cause more fear. In my field this is called a positive feedback loop - one achievement makes subsequent achievements easier. Only in this case, the "achievement" is war.

By acting exactly as they expect us to, we have continually made IS closer to its goal. They played us like a fiddle, and everyone, whether they know it or not, is dancing to the tune.

That tune has to stop. It has to stop now. We have to look IS in the eye and say "We are wise to your game. And we are no longer afraid." We have to respond to their attacks, not with fear, not with hate, but with only compassion for the victims. We have to stop viewing People of Arabic descent as Arabs first, People second.
If we are to defeat IS, either militarily or politically, we must first defeat our prejudices. Because our prejudices are directly feeding them new blood.

So it's time to stop. No more fear. No more blind hate. If you must hate, do it with open eyes. Hate the leadership of IS directly. The religion is not to blame, it has been twisted. The average IS foot soldier is not to blame, he has been duped. It is IS' leaders, and their propaganda machine, that are to blame.

So let's stop feeding that machine. If we give it love instead of hate, it will surely choke.

25 January 2015

Enough with the command-line tools!

There's a large subset of the game development industry (and any software creation, really) that thinks "nobody but me is going to use this, and I know how it works, so I don't need to do any documentation or make a UI for this."
I don't like this way of thinking. It's naive to think that, if you make something really cool or useful, that others aren't going to want to use or license your tech and use the same tools you used to do so. It's even more naive to think that down the line, when you want to re-use or expand upon your code, you'll remember exactly how everything works. I could take a look at something I wrote 3 months ago, sans comments, and only have a vague idea of how it works.

And even the best developers fall victim to this. Valve software, who have in the past have made their games very mod friendly, have a directory full of hard to use, barely documented command line tools, which effectively lock off some of their coolest engine features. In some cases, such as their material system, it was necessary for the community to use, so some of the more code-minded members reverse engineered the material tools and created gui-based tools to use them. In other cases, such as their flowmap technology introduced in Left 4 Dead 2, there is literally no support in the tools. By reports, Valve uses a plugin for the software Houdini to generate the textures that store flowmaps. Houdini is commercial software, so its understandable that they can't release that with the free SDK. But their custom plugin could have been, and the community could have then reverse-engineered it to work with other, more accessible softwares.

But I'm sick of seeing bad tools that are bad simply because people thought "Eh, nobody else will use it". By the simple virtue of me seeing it, that has been proven untrue.

So make your tools under the assumption that you're releasing it, fully compiled, to the public in some way, shape, or form. It will take a teeny bit more effort to make the GUI and write the documentation, but when other people potentially use it down the line, they'll get more out of it, and, more importantly to you, your workflow will be boosted by the fact that you have an easier to use process for whatever it is your tool does.