Tuesday 22 January 2013

Programaddict

I don't count myself as a professional coder, I'm not. I may write a healthy amount of SQL queries during the course of my normal working day, I might even get the occasional chance to write some pretty impressive (largely for their brevity) Unix shell scripts, but I don't spend every day at work writing code. The days when I do are the ones I like best. On those days I almost don't exist: I hover in the liminal space between conception and execution, I drift through data fields like a space tourist. This all sounds utterly pretentious, but it is the best description of the sense of freedom I feel when coding. In a world where so much discovery is precluded by the success of history, the infinite possibility of an empty command line is the greatest uncharted territory left. The satisfaction of making the world change instantly through language alone is hard to beat and it always leaves further possibilities. With code there is no end. If you genuinely enjoy programming, there will always be something new to find out. It is often problem solving, but it is more than that: people who enjoy programming will invent new problems to solve for the joy of solving them. This may sound like a waste of time or energy, but I would argue that it is a vital part of the creative process.
A friend recently pointed out his indignation at those who say that coding is not very creative. He should know, he does quite a lot of it in order to make some of the films you see look quite as spectacular as they do. I guess you could argue that Hollywood isn't that creative, but you'd be clutching at straws. Anyway, regardless of its current uses (and they are myriad) coding is as creative as the person doing the coding, much like writing or painting, but with the potential to change the world in which we live directly. As I have already said, I enjoy this creative process and I am by no means alone. I remember hearing a profile piece on Mark Zuckerberg on the radio, in which a friend said "he just really likes to code more than anything else". So it is understandable that on finding a vehicle through which to do this, he did. Never mind what you may or may not think about the outcome, Zuckerberg has got what he wanted. He'll be able to code long after his company's star has faded, and he may yet get the chance to change the world with it. However, in the interim, as I have previously pointed out, he has settled for a position within the standard corporate structure in return for the opportunity to pursue his passion. As much as we believe that the act of writing code will change the world, we are deluding ourselves unless we are willing to look at the contexts within which that process happens. We have the power to restructure society and yet almost always we leave it to the old fashioned venture capitalists and politicians to impose the same tired old structures on the systems of the future. Philosophically any change to this status quo would be hard, as the language of the tech startup is still largely the old fashioned language of venture capital, which instantly boxes anything new up as a marketable product; unique, simple and isolated. This is understandable: 'monetizing' a chunk of code in this way is a tried and tested way of earning a living and everyone needs to eat. Fortunately the world of code is awash with myriad examples of people who have subverted this system in one way or another, hence the fact that I can legitimately build a complex web platform without having to pay a penny for software. I may be encouraged to make a donation to its creators (and I will get round to it at some point, honest), I may be expected to pay for software support, but I am not expected to pay simply to use the software. I am certainly not expected to pay for the software as part of the cost of buying hardware (ahem, Microsoft). The alternatives exist, but they are not common to the mainstream, meaning that weirdly people prefer to engage in piracy of proprietary software rather than look into the 'free' alternatives. This may be for many reasons, not least because the marketing budgets that come with the levels of income generated by highly priced proprietary software backed by classical investment structures mean that a wider audience is easier to reach. I am not saying that it is all down to advertising by any means: I am a keen user of Ubuntu (a Linux operating system for those who don't know), but I wouldn't recommend everyone switch to it, I wouldn't recommend my parents try and use it. Whilst it is fairly user friendly and works in pretty much the same way as most modern operating systems, it still requires an amount of confidence with computers in general that is lacking in many people's approach. The fact that for years most computers have come pre-loaded with Windows and, by and large, it functions with little active maintenance has clearly worked in its favour; users have been able to use software with little understanding of how to. Of course the new exception is Android, which is free, open source, pre-loaded on most devices and easy to use. Seemingly, Google's rationale for doing this is twofold: making something open source gets the geeks onside and having everyone on your platform can help you nudge them towards other revenue generating services. As long as that remains a nudge, then no one minds, but Google is - financially at least - still a classically structured company with shareholders who expect an ever increasing return on their investment, so the danger of them suddenly deciding to hold their users to ransom is always present, even though it would probably be commercial suicide. It would certainly be interesting to see what would happen in such circumstances. In all likelihood, the geeks would take up the mantle of creating an android clone. In such a case, it would be interesting to see whether commercial organisations backed it, as many have a tendency to like proprietary software because it makes them feel like they have some sort of comeback. Of course it would be interesting to see how much sway any commercial customer of Microsoft or Apple has over development requests or bug fixes. I guess in the end, people in big companies like to be able to talk to other people in big companies about their software; it fits with their ideas about how business should work. Old fashioned ideas that are out of touch with the new world of technology. Hopefully, one day, the the old world of finance will catch up.
In the meantime, people like me will carry on coding just for fun.

Tuesday 15 January 2013

Persistence

I was thinking about Oliver Burkeman in the shower yesterday. Not like that. Having battled my way through the January gym with all its attendant new year's resolutes, I was feeling good about myself. This wasn't anything to do with managing to get to the gym, I always manage that, largely because I know I will stand in the shower at the end and feel good. I attribute this feeling at least partly to chemistry and the endorphins that exercise floods your body with, but part of it is also a sense of certainty.
In one of his brilliant 'This Column Will Change Your Life' columns a while back Oliver Burkeman addressed the problem that people who are broadly to the left of the political spectrum tend to be less happy than those on the right. This is apparently down to certainty. If you are a bit of a lefty wooly liberal type, you tend to question the rectitude of everything you do and worry about its impact on others (cf the rest of this blog), whereas if you're a right wing chin you're certain of the rectitude of all your actions and unconcerned whether they affect other people. The result is that being heartless and uncaring makes you happier, because in order to do so, you need to be certain that you are right/justified in your actions. Obviously, I would look at it that way; perhaps if I was more right wing, I'd say that if you're a feeble whingeing loser, you are bound to be miserable and deservedly so. Either way you want to cut it, this observation brings up some interesting questions about temperament and ideology, and illustrates one of the many problems with the left as a whole: that in order to compete as a political force, it has a disproportionate amount of navel-gazing to work through as a matter of course.
On a personal level this navel-gazing also needs to be overcome to avoid crippling stagnation and/or the depression that is apparently the curse of lefty liberals everywhere. According to Burkeman (who was summarising someone else - yes this is tertiary) the key is in planning ahead, having fixed goals and definite plans. If we fix our plans, we reduce the opportunity for change and uncertainty, and therefore also doubt apparently.
At this time of year we quite often think about making changes in our lives and I find this sort of thing to generate a large amount of uncertainty, as we may have ambition to change, but whether we manage to is reliant on so many factors that it is hard to imagine a person who has sufficient blind self-confidence not to be affected by the uncertainty. In such a climate, it is nice to find anything that will introduce a little certainty. Hence why I like the gym: it is based on a simple transaction with definite outcomes.
I suppose the danger is that I comfort myself with these minor certainties to a sufficient extent to avoid facing up to the major uncertainties that I need to face in order to move my life forward. Although it is odd to think about what I mean by 'move my life forward', what does 'forward' refer to? It surely cannot mean forward in time, as everyone's life moves that way without prompting. It has some sort of goal oriented meaning requiring a specific goal: wealth, career progression, social movement; any kind of achievement of accumulation. I'm human, so sure I want to accumulate stuff, I'm just not sure what it is exactly or whether I can justify it... Oh hang on, here I go again. Clearly I need to go away and come up with a plan.
See you next year.