Friday, September 30, 2005

Elegance in software

Should software be written elegantly simply for the sake of it? I thought the answer would very much have to be a resonding "Yes!", but of late, I have come across trying to convey my belief to other people in an actual project, where time and productivity are measurable and very much not on our side. This experience has led me to question the extent my own stance, in terms of how much it compromises the overall worth of the software - I still can't help but think that the answer is still yes, but I wonder what we can say about the software in question - if one takes the artistic approach and look at the grand, sweeping notion of "generalized software", then the question is, I think, the same as asking whether art should be beautiful for the sake of it. But if one looks at the dark, grimy (no, I'm just being facetious!), practical component of software, then things don't seem so clear.

In the wonderful software project I have wasted my last few weeks on, we have come towards the finishing stages, which, given the somewhat unusual nature of our project, meant that we had to in essence "throw away" (Brooks all the way!) three of our four code bases. We were faced with a seemingly simple decision - go with an approach that offers structure over trivialities (again, half-serious) such as actual features, or go with one where there is considerably more that can actually be done, in terms of viewable output, but where the structure was definitely of secondary importance (which, as it goes with these things, led to a relatively weak structure). Two guesses which way I wanted to go! (Although, I have a tendency to wax lyrical about anything, so it should come as no surprise that I fear that I have lost any shred of respect among my group well before the ensuing discussion)

The others thought it better to proceed with the tool that looked like it could do more, and I thought it would be simple enough to try and convince them of why I thought that wouldn't necessarily be a bad idea. But, as I proceeded to do so, I realized that I wasn't getting anywhere - my arguments were being countered on the basis of pure pragmatism. After all, who cares what's down underneath, as long as it works, right? The "do whatever makes it work" idea, which I am not a fan of.

I initially thought it to be all too easy to demonstrate why this was an unhealthy approach, but it wasn't working. I slowly started to imagine myself as a passive observer of my own comments, and they started to strike me as hopelessly idealistic - not that that's a problem as of itself. No, the problem was that I started to see things clearer from the other point of view, and it became worrying that the more pragmatic view began nullifying my arguments. After all, with my head-in-the-clouds approach, searching for the lost pattern and the house of four doors (pick up that reference - go on, try!) and what have you, the very pertinent question is this - with the finite amount of time available, and with the very real hurdle of assessment at the end, what can this approach produce that is of directly observable value? Hey, hold on, this can't be - they were starting to make sense here...!

The key here is how exactly its worth is measured - classicist or romanticist, you take your pick. I think I somehow feel it is being measured by no-one in particular, as though there's some fundamental spirit to whom we owe elegance to be strived for. But hey, is that any kind of talk you can make to a group of normal people!?! In the hum-drum world of assessment, unfortunately, more worth is invariably placed on what can be seen. It's very much the practical side of software that is stressed on, which is good, since otherwise they wouldn't be doing their job. But what I see to be the more interesting side of it is somehow deferred, as if it is either of little importance, or it is somehow intuitively obvious. So, knowing this, it seems pretty fair to say that the logical choice is the one where more can be shown, right? Ahhh, but if only you knew what was going on below the surface...! As you can see, I haven't fully wrestled out this problem.

The more I thought about it, the more I realized that I was in a discussion with people who have completely different - but, surely, equally valid - views about software than I do - people who, quite justifiably, take the more utilitarian view. Functionality over form. (Not to suggest that form is entire meaningless to them, but rather, given a choice between the two, functionality takes precedence)

Thing is, both views seem to have their place, in different contexts. The safest answer seems to be that one must strike a balance between the two, but one can't really strike a balance between choosing one of two options (which is quite literally what we had to do - this is no false dichotomy, so there is no way we could reject the choices as being incomplete!). But really, I am beginning to worry that the practical concerns are much larger than I had anticipated. Can one really justify taking the artistic view to the software as a whole (not restricting onesself to a single module or anything) where there is an actual client waiting for something (s)he can see do whatever is required?

How funny that this allegorical divide for two different approaches to software should rear its head at a time where I began to wonder if there is any resolution between the two!

I'm probably taking it all too seriously ("That's the story of my life / That's what Billy said / Both those words are dead", etc.). After all, I don't know that they would say the same thing had we been given all the time in the world (and, for some reason, decided to work on this very strange project...!). They're just being pragmatic, right? Well, yes, but I still can't come to terms with the attitude - alas, I seem overly fixated on these pristine notions, which probably have no place in practice.

Tuesday, September 27, 2005

"Open-source won't last for long anyway, I don't see how people can stand it". I don't think I've read a funnier statement (in the context of things) in a long time - it was so deliciously mad that we were in the middle of something that seemed to go to great lengths to actively promote the open-source model, and show that it was in fact viable. All the hours spent researching tools available, scouring on SourceForge, compiling source, ...then, from nowhere, this! Ahh, simple pleasures.
James, what happened? There is no Zen, no Tao, no anything with what you're doing anymore; is it just me? Without something underpinning it, there is little hope for a subject to be taken seriously by me in my current state of mind, overworked and always in the mood for a rant.

With my limited experience in teaching, I've often stood at the front of the class and thought to myself "They must think all this pointless, but I'd have loved for someone to have told me this when I was first learning all these things". I suspect that's what he thinks as well - it's so sad to see him rest his chin on his hand in between lectures, and I sometimes presume to know what he must be thinking. He strikes me as someone who knows a great deal, and is an invaluable source of information on just about anything related to the magic world of software, but is forced to preach to people who perhaps don't appreciate it all so much. Starting off the way I did with this post, I'm probably one of them, eh?

Sunday, September 25, 2005

I have to say, for an experimental game, Facade sure seems well known. I found out about it through (who else?) dear old Oluseyi, care of the GameDev forums. For the uninitiated, it's an attempt at an interactive drama, where you are in an apartment with two old friends whose marriage is breaking up (it's a facade, hence the name). The "goal" is pretty much to try and make the situation have some sort of resolution, be it them splitting up, or getting back together. I've been surprised by the number of reviews that I've seen on the net of this game (I have to admit, I initially thought I would be among an elite few of people who had even heard of it), but that's actually a good thing - games like this should get some sort of exposure.

You're going to see a lot of these people

My initial reaction is one of slight disappointment, although this just means that like many, I love the idea, but feel that the execution is somewhat lacking. I am reminded, strangely enough, of my experiences with Ultima IX - I wanted to love the game, but the technical frustrations proved just too much. I was initially taken in by some of the comments I'd read about the game, not the least of which being that it was "probably the most important game of the last ten years". In terms of a statement of intent, that very well may be the case, but it's hard to love the game in its current form.

It's frustrating at times to try and get a word in - invariably, when I said something, one of the characters would start off on another topic, and I would cut them short, making my reply seem like it was to something totally different. Also, the interpreter is still a ways from being truly impressive - it seems far too keen to spot keywords, and as such some things can be horribly misinterpreted.

What is nice is that the dialogues are mixed around a bit, so playing the game five or six times in a row is not as much of a pain as you might expect. However, there is still only so much you can do in one sitting - after a point, I simply get too frustrated to continue.

In a lonely apartment she dwells...

As one can make out, the graphics don't by any means push the boundaries of modern computing hardware, but really, that's not the point of this kind of game. All that syrup can no doubt be poured on later, once the real meat is filled in over the next decade or so. The characters, though simply drawn, do show a range of emotions on their faces, so it's easy to pick up their mood, and hence to pick out when it's a bad idea to talk about something potentially touchy. However, you do get used to them interpreting what you say in a completely different way to what you mean, and so it's not uncommon for innocuous questions to be greeted by wide eyes and nervous sammering.

This is where I tried to say nothing at all - but the kind folks got worried that something was wrong (and subsequently kicked me out for being a bore - go figure)

What's sad is that the technological limitations actually make me empathise less with the characters - heck, I want to be drawn in, and I want to actually care about helping them, but sometimes it's hard. At times when I ask what I think is an appropriate question, but get told something like "We already talked about that", I just get frustrated. Pretty soon, I start playing the game in crazy mode, injecting meaningless nonsense in my dialogue ("So, how are you?" / "I believe there is room for one, maybe two computers"). This just devalues the whole thing, and I feel guilty and quit.

I guess it's one of those that may well be important, but it may not be something that is actually likeable - I can admire it greatly for what it is trying to do, but I can't see myself actually liking this. Hey, maybe White Light/White Heat was the start of proto-punk, but that doesn't mean I have to listen to it! Games probably have a ways to go before they can truly become pieces of serious artistic worth, but every little step counts.

Saturday, September 24, 2005

I remember that terrible, suffocating day, where I lay at the mercy of the heavens, sitting still on my living room floor as the phone rang. There was no electricity in my house that day, and the summer heat was making things seem twice as bad as they probably were. Minutes later, my head in my hands, I remember the sinking feeling that there was no solution to this, and that I had started something I could not stop. All the while, I kept thinking that there was something else that was the cause of all this; I thought it all to be some madness that only summer could bring. It was like Meursault said - the Sun killed him.

It is quite hard to convey just how bad things were getting. Of course, they are all trivial when sufficient abstraction is placed, but most emotional turmoil can be reasoned away, no? By far the worst thing was the feeling that no-one was understanding me, and that something said in good intent could be (unknowingly) twisted so as to have its meaning totally altered. A feeling that there was no-one to turn to, you say? Well, something like that. But it was also accompanied by a worry that I had a serious flaw in the way I conducted myself, and that perhaps all my interactions were doomed to some sort of failure due to an off-hand remark by me, most likely in jest.

It is now a memory, one that I remembered so vividly today, as the heat slowly made itself felt. I remember afternoons spent where my mind was literally withering away, and where I thought that just some time away and I could conquer this madness...and yes, that was the one true thing in this affair. Time spent stepping outside my small world helped bring in a new perspective, and, would you believe it, most things worked out for the better. What of the lessons learned from the experience, one might ask. They are sufficiently personal so as to be omitted here. But yes, it happened, and will forever be.

Friday, September 23, 2005

This Charming Man

Oh Morrissey, if you are racist, you're the most charming one I know. It's hard to get a clear picture on what the truth is in this matter, helped in no small part by Morrissey's own delight in maintaining ambiguity. With no straight answers from him, I guess we are left to find out for ourselves, as the man put it - he probably feels that we either just believe that it can't be true, and go with that, or we think it is true, in which case he doesn't care anyway.

My personal opinion is that he isn't racist, but it is motivated by little more than gut feeling, and selective snippets of interviews I've read ("All lies and jest", etc.). Overlooking all this is of course that it's oh-so-hard to separate the artist from the person - "How can you write "How Soon Is Now?" but have such views? No way!"* It is truly hard to read "Bengali In Platforms" and say unequivocally that he is not projecting his views in the song - even as I write this, the "It's hard enough when you belong" line comes back and gnaws away at me. What does he mean? Is it, as some have put it, a unique attack on racism itself by trying to speak through the eyes of the enemy, so as to speak? If so, I don't think it's particularly successful, and at best it is a horribly misdirected effort. Is it just something that is meant to be indicative of a particular point of view, one that was growing in popularity in the '70s? Possibly, but it seems uncharacteristic for there not be something underneath it all. Or, is it (as I believe Morrissey said) about people who simply can't fit into society, no matter how hard they try (make the song more a consolation than anything)? I think this last one is probably closest to the intended meaning, but as for how far he takes the idea, I'm not sure. Comment on society though it may be, I think it was very dangerous to record something like that and hope that people would just "get it" (assuming of course there's something to get), and not to take the lines at face value.

It seems so very Morrissey-ian of him to not have gone and tried to flat out deny it - I remember reading somewhere that he thought it would have made no difference at all, and that it was all a smear campaign led by people who wanted to bring him down from the very beginning (an interesting set of posts by someone claiming to be a staff member in NME at the time of the incident can be found here, but of course, like all things, it's hard to discern its authenticity).

As pointed out here though, it was mighty dangerous to flirt with these things and hope that people would get the "true" message (I'd like to think his union jack incident really was him "reclaiming" the flag - but who knows apart from the man himself?). Some say it's possible that he purposely lets it go on because he thrives on things like this, but I can't (don't want to) believe that (if this is the case, then he doesn't have no "shyness that is criminally vulgar", I'll tell you that!). But considering how long the other debate about him has been going on (I'm not touching that one with a ten foot pole!), I don't think the man will ever be free of some sort of controversy. Oh, but put on "Back To The Old House" once more - we're not talking about the same person, are we?

On a side note, it's almost a year since I encountered the guy, what with that strange post quoting "I Know It's Over". I wonder how things would have turned out if Morrissey had filled the gap Morrison did at that point - hmm, for starters, I think my first words on staring at the moon and the night sky would have been "You're the one for me, fatty", say what?

* I had the same problem with Rudyard Kipling, incidentally. And, would you believe it, Eric Clapton. Sigh...
I was about to say that I somehow deserve better, because I see the artistic aspects of software rather than the utilitarian, but that's all nonsense I think. I think it's probably very true that you haven't seen someone quite like me - I doubt many have been sufficiently moved to write something like this. Oh, isn't that enough for me to deserve better?!, I almost asked, but it's all starting to strike me as a bit crazy. Oh Jim! I think it's probably all just this headache, and that soon this dull screen will light up and then it will all be better, but sometimes, well, I don't know. I hate the thought of it going down like it did last year, but can I really figure it out in time? It's funny, I could've easily walked up to you and resolved it all then and there, but...I respect you too much. By which I mean I feared an innocuous remark from you, which I would take far too seriously; you don't deserve what would follow as a result.

Oh, I can't help it, I must get this off my chest - yes, I think it impossibly unfair that A got what he did, even though he doesn't seem to apply any of it in his actual work. This actually strikes at something fundamentally problematic with the subject, really - it gives the opportunity for people to waffle on about things they don't believe in and never actually go about doing, yet receive no penalty. (As for who I am to talk about something like this, being a gross offender on more than one count over the years, well...)

Monday, September 12, 2005

Being both impossibly funny yet infinitely disgusting, I am inclined to dismiss the whole matter as being no more than the display of the true power of a Wiki. What it managed to do was take twenty pages of information, and over the course of two days, convert it into no fewer than ninety pages. It was sometime in the afternoon today that I realized this, initially paying no mind to it, thinking that it was merely a great reflection on the effort that had been put into it. But ever so slowly, doubts have started creeping in - and people tell me there is no way anyone is going to sift through so many words and not have something to say about it. "One can't be punished for too much work" has been replaced by "Alright, so that's 20% off, what's next?"!

No doubt whichever poor soul comes across this report will initially be repulsed in horror - if not, then I am equally confident that someone higher up will ask to see it, with the pre-conceived notion that this is some sort of "statement" by my group, a deliberate attention-seeking mechanism; which, of course, means that it is pretty much required that we be shot down. I don't know if I can actually blame them, really. If I asked for twenty pages but were given ninety, I might be sympathetic, but "Ah, if you want to know the truth it's that people they..."

I place the blame squarely on the Wiki, of course - sure, there are four of us, but did we really write ninety pages? Editing individual documents in isolation gave the illusion of something that in its gory, expanded form would struggle to top forty, but here we find ourselves with this behemoth in front of us, threatening to crush us all!

I actually won't be all that fussed if I am accused of being a poor software manager, by which I mean I will still get upset, but as a criticism it will not be all that biting. My response would surely have to be that what I have been doing is not managing, it's whatever's required to get through. I don't think anyone would accept this statement, but that's unfortunate, really. It again leads me to wonder how I get into these tangles where I have to go defend myself to usually indifferent arbiters, where I feel like everything can be solved if everyone just listened and became rational...but I've concluded that it's wasted time wishing for things like this.

But hey, this is all great! Very much in the vein of this post from last year, eh? Like I said, it really is impossibly funny on some level, if you're sufficiently detached from the situation. The consolation is that the other unfortunate members of my group don't seem to be as worried as I am by half; which would make it all the worse if things were to go bad due to my own incompetence (funny word to describe this, but true, isn't it?!).

Yes, I know, deep breaths and all that, but I'm getting too old for this nonsense.

Update: Hey now! Things panned out in a way no-one expected - no penalty for length (or so we think), but it seems like the darn thing might have gone unread! Ah well, my fireplace could use some paper anyway.

Friday, September 09, 2005

"It seems clear enough to me that the problem is that you are far too fickle, my friend!", he says, taking a certain delight in slowly drawling out the last bit. It is unfortunate for him that he has caught me in a mood that places no value on the opinions of others. An image flashes by in my head - I dislike arguments..often convincing. Something like that. Bob Dylan said something like that. It is now a stream, and I can't stop it. "Can't, or don't want to?", he slyly asks. Pshaw, why bother asking, it's not as though I care. "As though it even matters!", I say, immediately regretting it. I am in absolutely no mood to get drawn into any sort of argument at the moment, certainly not over something so absolutely inconsequential. "Fickle, I told you!", he says, with a triumphant smirk, and this time I know he is right. I'm surprised I'm able to admit this, and I feel as though my senses are slowing down as my blood stops rising, and things become a little clearer.

Of course, I am foolish to think that this will make him ease up; no, he's only getting started here. Whenever I'm in one of these moods, it seems pretty much destined that we will have tedious conversations that drift nowhere. "And so you really think it's true, what you read?", he asks, and I struggle to remember what he is talking about. It comes back, slowly, and yes, now that I recall it, I think it to be very much true. Extraordinary men, yes, I think I must be one of them. But..he doesn't realize why I think it true. Frankly, as I write this, I think it perfect nonsense, but no one can see that when I walk through a quiet street in the evening, that the world is open and that I can believe anything.

But this is all a joke to him, really. This doesn't really surprise me in the least, nor does it fill me with any desire to defend myself. Sometimes I think that maybe he is right after all, but such days are blemished from the moment the sun rises. Oh, what use is of talking about this any further? His mind is made up, as is mine, as it is every day; whether or not we are drawn into conflict is irrelevant. I can try to take my mind off it, but it can't be done; believe me, I've tried.

It is now time for him to truly go on the offence, and he asks "You suppose that you have the right to hold grudges when others do what you do every day?". He is stirring me up, I know it, but lord help me, I want to be stirred. I think he can sense that, we have a strange sort of relationship where our conflicts actually feed some needs of the other. "No doubt this is the time for your moral indignation, and mass condemnation", he laughs, and of course he is correct, but that is no surprise, he really does know me too well. But just because I think him right doesn't mean that I will let it pass, as I cry out "But I possess some basic decency! I would never put anyone in that situation!", again giving voice to my hurried pulse and pounding heart. It is very clear to me that he thinks it to be a flat-out lie, and I am not entirely sure whether I think it so too. I am far too easy a target after having made such a statement, and he needn't say a word to sow any seeds of doubt, because I do it myself. My mind races back through time, and images flash by. I want them to stop, I want him to stop, use. He cannot resist anymore, and prods "What was it you said yesterday, so clearly in jest?". It is one of many times that I did what I am revolting against, it is true. Fie, but that was not to me, that was to..someone who could handle it. Is that really what I think? I feel as though it's all too much...

But suddenly, it clears. Daylight again. It must have been the sleep I had. It must have been the roses. He is gone, for now anyway. I know it wasn't a bad dream, but what's to stop me from treating it as such. Slowly, I feel the times being washed away, and start to see only what lies in front of me. I am not foolish enough to think that he will not come this way again, but it doesn't matter. The future's uncertain and the end is always near. With a bit of perspective, the moment is mine.