Something silly for the weekend ![]()
I never seem to have very much luck with couriers. I remember the very first time I ever had to have something delivered by courier, it was in fact my very first PC from a company called Multiplex (long since deceased), in 1991 – the days when you really had no choice but to mail-order to get a PC. It was a searingly sexy 386 33Mhz with 14″ CRT VGA monitor (take that EGA / CGA losers!), 1MB video card (oooh), a massive 100MB hard drive, and dual Soundblaster (the original!) and Roland (for MIDI) sound cards. It cost me something like 2-3 months salary and clearly I was keen to see it arrive in one piece, having paid through the nose for shipping too. It took 2 weeks to arrive, and some of that was it sitting behind a door in a barely watertight hut at a local freight depo because they weren’t sure how to classify it for customs and decided they’d figure it out after a few more (days) cups of tea – without telling me of course. This was before internet tracking of parcels so they could get away with it – I was livid.
Since then I’ve had couriers who have just knocked off early and pretended that they called at the house and ‘carded it’ because no-one was home, despite the fact that I was at home all day and there was no card in the door anyway. I’ve had couriers that delayed a couple of days because they “couldn’t figure out where the house was”, because their clipboard was missing a couple of lines of address – this is despite a) the box itself having the full address perfectly clearly on it, and b) even their badly transcribed clipboard had a postcode and a house name, which even a trained monkey should be able to resolve to a location. Basically, all kinds of silly excuses. I’ve often wondered how couriers can get away with charging the fees they do when they often seem so much more incompetent than regular postal services. The only couriers I’ve found that are actually 100% reliable are FedEx, who are locally served by the post office – whenever I need to send something important for my business, I only ever use them.
It should therefore perhaps have been no surprise that my recent order of musical instruments went somewhat awry because of couriers – there were 5 packages in all, originating in Newcastle, 4 of which arrived on my doorstep on Tuesday, after a 4 working day transit (about average when crossing the Channel is involved). But, just for variety, the courier company decided to route the final package to Birmingham, Huddersfield, and then back to Newcastle over the course of the last week. Thankfully (?!) we do have internet tracking now so I can watch it doing its merry dance while I fume. Apparently there are some ‘paperwork issues’, but quite why it took a week-long circular journey around the country before they figured that out, and why the other 4 packages in the same consignment didn’t have this problem, is anyone’s guess.
So, I have most of my drums, but I don’t have a kick pedal or stool so I can’t really use them properly yet, and probably won’t be able to until next week sometime. Sigh. At least they work, it’s just annoying not to be able to configure the setup properly yet and just play. The best thing is that my wife has her piano set up now, which was in 2 of the 4 boxes that made it through the transit minefield; it’s really good and she seems most pleased.
hgsubversion – dropping old history during conversion (mod)
November 24th, 2009Development, OGRE, Open Source 5 Comments
I’ve already posted about my experiences with Git and Mercurial, the end result of which was a vastly increased respect for Git but a basically confirmed preference for Mercurial, based on ease of use, platform consistency and resilience.
Mercurial’s conversion tools are really quite good – the core tools worked fine but I was impressed by hgsubversion‘s speed and that it seemed to just work, in both initial conversion and pulling subsequent updates. It was missing a couple of features that I wanted though – firstly the ability to reflect merge points between branches during the conversion, and secondly to be able to ‘squash’ ancient history down to a simple snapshot to save space.
At OGRE, we’d carried forward all our history from CVS to Subversion and as such have almost 8 years of history, including a couple of file reorganisations. Mercurial’s storage efficiency falls down compared to Git when files are moved around, because a file stored in more than one place in the tree over the history of the project is physically stored multiple times too, whilst Git stores the content only once with pointers from the various locations / history points. Most of this overhead could be removed just by eliminating old history we didn’t need anymore – history that does no harm in Subversion since only the server holds it, but does cause unwanted overheads in a DVCS since every user gets the entire repository. Removal of history is something that Mercurial shuns – rightly so in the case of public repositories but in these rare cases it would be nice if there was a tool for removing old history; again Git allows this but it has to be used with care. In the absence of that, doing it at conversion seemed the best way.
I asked about these things in the hgsubversion community, but the tradition of open source is that if you really want something urgently, you know where the code is
Mercurial is really nice when it comes to hacking because it’s all Python; so there’s a nice unified API in one place that you can refer to – that’s one of the reasons I like it over Git which is far more fragmented in technology terms. I’m not a Python guru by any means, but I managed to implement both these features – I did the “mergemap” support a little while ago and added the “skipto” option today – it’s called that because “skipto” was already referred to in the hgsubversion code but it had no implementation.
The result is that the OGRE Mercurial repository with only the last ~3 years of history (back to when the v1.4 branch was created) is now only 74MB, rather than the 206MB of the original, complete conversion (in comparison Git was 116MB for the whole thing). By dropping the history I’ve removed most of the instances of reorganisation which is where most of the space has gone. I hope eventually that Mercurial adds a utility to deal with stripping ancient history (right now, you can only strip branches) but this solves my primary conversion issue. Since this new repo can be kept in sync in a very lightweight fashion with the existing Subversion repo, I’ll be periodically updating it and doing more tests to reassure myself that the content really is ok.
If you’d like to get my custom version of hgsubversion with these features, it’s here: http://bitbucket.org/sinbad/hgsubversion/. I make no promises that it’s error-free, use at your own risk. It currently assumes that you’re using the standard Subversion layout, are converting from the root of that and have the ‘svn’ command on your path.
I always find Matt Asay’s blog an interesting read – even if I don’t always agree with him, his posts on open source are always thought provoking. Today he was talking about how Wikipedia’s contribution rate is falling and how that has parallels in open source; that the community is no replacement for a centralised, focussed team.
He’s right on the core point – at the heart of every successful open source project there’s always a core team (or individual), and in the really influential ones, that team is usually funded – Mozilla is famously bankrolled almost entirely by Google, the Apache foundation has many, many sponsors including Google, Yahoo and Microsoft, Eclipse has IBM, and so on. Many of the big projects that don’t have more general sponsorship still have a core team funded by a dual-license or other premium software model: MySQL, RedHat/JBoss, Qt etc. Such guidance & direction at the core is crucial – at OGRE we have a core team too, except that we’re not directly funded by anyone in terms of developer time (we have several generous sponsors who cover the majority of our hosting needs); we guide it because we want to, and because we use OGRE ourselves too. My company is probably the closest thing to a core development sponsor, in that I’ll allocate “work time” to doing OGRE development that could otherwise be spent making commercial products or doing consultancy, but it’s by necessity small beer compared to the likes of Mozilla and Apache.
But I do think he underplays the changes that have taken place in the software development world. He asserts that because most headline software development is still focussed at big influential companies, we’ve mostly just rearranged the chairs a bit at the same banquet. I don’t agree with that at all – by nature it still makes most sense to concentrate much of the development in a small team for quality, consistency and organisational purposes, but the point is that where precisely this centre is determined primarily by merit, not by the boundaries of a company’s org chart. While the core team is doing a good job, and accepting reasonable patches and such, people are happy for the show to be run there. The community is still definitely involved in the development, and certainly adds considerably to the end result. Yes, proportionately the central team does more, but crucially, should anything go badly wrong – such as the core going in a direction a lot of people don’t like, or the product being sidelined, if there’s enough of a community a fork will emerge, with another core team to lead it. That’s a critical safety valve that keeps companies more “honest” than they had to be in the past, and is a vital insurance policy for anyone investing their own resources in a piece of software. Matt claims the ‘Command and Control’ setup of software vendors is still in place; I think his view is clouded by the fact that he’s solely focussed on enterprise software, and enterprise customers move at such a glacial pace that any change is largely imperceptible – to the extent that ‘community’ maybe does look a lot like the ‘customers / partners’ relationship of old. But that would be a bad call, completely ignoring the difference in the level of control that is ceded to a community versus the customers of old – sure, many enterprise customers may not wish to leverage that control, and would take a long time to move if someone else chose to do so, but that option is still always there. And not everyone in the world is an enterprise customer – the enterprise usually follows the grass roots eventually.
In practice, it’s really all about balance, the middle ground. Yes, we still need focii of development just to make sure things get done in a reasonable fashion – no-one likes chaos in their software. Yes, it makes most to have that focus funded, in a traditional company model, if that piece of software gets beyond a certain size / popularity. But that doesn’t for a second undermine the value of community participation; in fact the two are deeply interdependent – one without the other is just not sustainable in a sizeable project.
So, people certainly shouldn’t be deluded into thinking that random crowds of people on the internet will create great software without some organisation (the infinite monkeys creating Shakespeare fallacy), but they also shouldn’t think that community is disposable and that we’re in the same situation we were before but with a different label. Nothing could be further from the truth.
Specialism, image management, Chromium and Windows
November 23rd, 2009Google, Open Source, Tech, Windows 7 CommentsOne of the things I love about open source is that there’s a huge amount of power in the idea that you can use, and indeed co-operate on, a whole ecosytem of generalised, robust, re-usable components, and then combine, configure and supplement them into something that is greater than the sum of its parts – into a final result which concentrates on being extremely good at a particular task. There was a time that to create something awesome in a particular space, you’d either have to buy in lots of expertise or you’d have to invent it yourself, before you ever got to the interesting bit that mattered. Open source totally flattens the landscape, and at a stroke makes the software world far more interesting as innovations can happen on the back of shared experience.
This also comes at a time when our use of technology is fragmenting – the PC isn’t the sole device through which we view the tech world anymore, we use all kinds of other devices all suspended in the Internet soup, and the devices that win the most favour are those that are again specialised for the task / environment in hand.
So what does this mean? It means making generalist software such as regular beige-box operating systems is rapidly becoming quite uninteresting, and not something you can sell much product based on (unless you’re in the position of being able to leverage a huge existing install base). Generalism belongs in open source libraries, lego bricks which while fairly uninteresting in and of themselves, can be built into vast arrays of much more interesting combinations. As a commercial outfit, being the generalist jack of all trades really doesn’t get you very much attention any more. Wowing people with how well you can address a particular problem is what gets you noticed.
I say all this in the context of Google’s release of the Chromium OS last week. While it’s not being sold in its own right, make no mistake that it’s definitely selling you something – specifically Google hosted app services. And it’s also a prime example of heavy specialisation – it’s only designed to work with hosted apps, nothing local. Some may scoff at that, and indeed it’s not exactly practical right now for all but specific cases, but that’s the point – it’s an angle, it’s a specific pitch at a specific audience, and as such it differentiates itself. Increasingly that’s what interests people about a product, even if they’re not in that particular segment yet. It’s not trying to please everyone, it’s just trying to polish the offering for a particular subset of the market. I see this becoming more rather than less common.
Many have observed that Google is basically just like Apple, but for hosted software rather than hardware. Apple give you a specialised experience which is a combination of hardware and software, mainly so they can sell you some sexy premium hardware. They specialise in making that particular experience the best they can, they don’t try to be all things to all people at once, and it works for them. People notice them as a brand and associate certain things with them inherently – sleek hardware, intuitive interfaces etc. The same goes for Google – they’re known for their free online services and want you to gravitate towards the commercial services they provide either yourself, or your company through the well-understood principle of employees nudging their company to use the stuff they already like.
So it’s interesting to think about where Microsoft sits in this environment. They’re still obscenely profitable of course, more so than a specialist like Apple, but they’re also increasingly perceived as the ‘dull’ option. On phones, the consumer is raving over the iPhone, and to a lesser extent Palm Pre and Android, while Windows smartphones are increasingly overlooked. Windows 7 is trying to shake things up with some new features, but when it comes down to it, Windows is a workhorse at heart, as is their other flagship, Office. That doesn’t mean they’re bad products – in fact being a decent workhorse for a vast range of uses is hard – but they’re not exactly exciting; you don’t look at a Microsoft product and desire it like you do when you look at the latest Mac laptops or an iPhone (or maybe that’s just me), nor do they get as much community buzz as Google Wave did (deserved or not). Now, given that most of Microsoft’s revenues come from Enterprise users (for whom ‘dull’ is often a desirable feature!) and PC bundles anyway, they aren’t really affected by consumer aspirations, so maybe this lack of a sexy brand is not an issue. Despite years of people saying Microsoft is due to be made irrelevant by Linux or OS X, and releasing a pretty undesirable version of one of their flagship products (Vista), their influence has not waned that much, although it has come down somewhat from what was a frankly unhealthy peak of dominance a few years back. But, nothing ever stays the same forever. Are people in the boardrooms at Microsoft worried that they don’t really have an ‘image’ that ordinary people can relate to positively? The Windows 7 adverts would suggest they do care about this enough to spend quite a lot of money on it, and to create such astoundingly cringe-worthy content as the Windows 7 Party Guides. I hate to think what cocktail of drugs those actors had to take to get them through that particular horror, or what counselling they will need in the aftermath.
But whatever, Microsoft would be right to be concerned about their image, which remains rather vague (mostly because MS seemingly tries to have its fingers in every pie just in case it misses something, but doesn’t excel in very many) . Regardless of all the lengthy and dehumanised procurement procedures, the general inertia which is present at the heart of every large organisation, the inherent resitance to change and dependence on paternalistic vendors that worms its way deep into IT departments; having large numbers of people desire your products on an individual level still matters. It might take a bunch of years to filter through, but that’s where the trends are, at the grass roots – eventually they will drag the enterprise kicking and screaming in that direction too. I’m sure Microsoft knows this, but so far hasn’t really got to grips with a genuine ‘identity’ that appeals to regular people. Arguably the 360 has done best at this, but it’s unlikely that there’s much of an image halo (sic) effect to Windows/Office there, in the same way that you get with the iPod/iPhone and the Mac. Microsoft don’t have much to worry about just yet, but like a trickle of water that carves a canyon eventually, it’s something they must be concerned about long term. Being a decent generalist just doesn’t make waves; it’s time to find a specific vision people can get excited about, then drop everything that’s unrelated to that and concentrate on doing it ridiculously well. Only then will people really know what Microsoft represents versus Apple or Google, or anyone else, and know whether they like that or not. Inertia can only take you so far before you need some more momentum, and that requires direction – which implies a specific direction, not in all general directions at once.
My wife & I loved playing Left 4 Dead. Sure it only had 4 campaigns and became repetitive after a while (but we still logged 30+ hours on it), but there was just no other game like it. Not only was it the best co-op experience I’d ever had, defly encouraging real co-operative play (rather than just feeling like you happen to be in the same game at the same time) without it ever feeling forced, but it was also without doubt the best zombie apocalypse simulator ever. It made Resident Evil 5 look like a tired old horse being ruthlessly flogged around the track one more time to please its unimaginative masters.
I was a little worried about Left 4 Dead 2 when I saw the final intro movie and played the demo. Had they decided to go into full-on daytime carnage mode and forgotten the pressing suspense elements? Having had the full game for a couple of days now, I can report that the answer is most definitely and pleasingly ‘no’. In fact what they’ve done is taken everything that was great about Left 4 Dead, and added a whole extra layer of extra stuff which works incredibly well.
We bought it on PC because that was the best experience (we had L4D1 on both PC and 360 and the PC version was much better – faster, more detailed, higher resolution etc), and everything seems to have had an extra visual bump. I’m playing it at 1680×1050 with everything cranked up to the max and it runs really well and looks great, especially considering how many zombies are running around at times.
It’s impressive how well the new elements interact and improve on the gameplay. The environments themselves are very much more individual – we’ve only played through 2 of the 5 campaigns so far but their visual style and the events that occur are now far more varied. While in L4D1 the environments were great at times (my favourite was the airport), the actions that happened inside them were mostly the same. Even in the two settings we’ve played so far, we’ve had great variety – trying to escape a burning building with smoke obscuring your vision (friendly fire is a particular problem since every flailing silhouette looks similar), running around a roller coaster, starting up a rock concert stage show to attract the attention of a chopper, it’s all great fun. They’ve mixed things up more so you have to switch weapons more often – gone are the times when you could pick a single weapon and ammo-up where you could, now you’re more likely to find small selections of discarded weapons which you need to switch for the current gun you have which is running low, meaning you have to adapt more. The new special infected definitely add a whole new dimension and can make things go pear-shaped quickly, particularly the spitter which can split the group up for precious seconds as a pool of steaming acid cuts you off just long enough for someone to get into trouble. The choice of new items adds a new element too – should we carry more medkits, or should at least one of us have a defibrillator unit in case the worst should happen? If we’re going to have to make a run for it, say to turn off a noisy carousel which is attracting the horde, maybe an adrenaline shot might be more useful than pain pills (temporary health restoration)?
All the people who complained that this was a sequel instead of a free content pack need to be quiet now, because the improvements in the sequel are easily worth paying for. Valve took a major risk with Left 4 Dead; no-one had embraced co-op gameplay quite so completely (so as to basically make playing alone unattractive), and no-one had tried to make an AI ‘game master’ (director as they call it) adapt a dynamic and semi-randomised game to the players before, thus making a co-op game which had the replayability only competitive multiplayer games had achieved before. But, it worked, and arguably created a whole new type of game. Watershed games like this don’t come along that often, and when they do I think developers deserve to be rewarded for it.
Left 4 Dead used to be the best co-op game, and the best zombie game around – it’s fitting that it should be superceded only by its sequel. If you remotely like co-op gaming and share the current fascination with the zombie apocalypse, I doubt you will find a game better than this.
Microsoft, the good open source citizen
November 16th, 2009Development, Open Source, Windows 15 Comments
What a difference a few years can make. For a long time, Microsoft was seen as public enemy #1 of those who liked to promote, produce and consume open source (I’m deliberately not describing it as a ‘movement’ here – that implies political motivations which I assert that only a vocal minority have). It was entirely their own fault of couse; blustery, really quite bizarre tirades from the only two CEOs their company has ever had cemented their position as the McCarthy’s of the modern era. It wasn’t helped, of course, by extremists on the opposite end of the spectrum, but still – the way the company behaved in previous years has at times been utterly shameful.
The reason it wasn’t sustainable is that they started to lose the very people they’ve always done a pretty good job of nurturing – developers. Even reasonable, level headed developers who have few extremist tendencies but who could see the many benefits of open source (I count myself among them) began to turn away from the company as they seemed hell-bent on protecting their vested interests using whatever means possible, and irrespective of the collatteral damage – mostly through lies and threats.
I developed my early career around the time that Microsoft was rising, with their software replacing the mainframes and minis that were so tricky to work with at times, and I really appreciated them for it. They made my life easier as a developer in the 90′s. In the new millennium though, when they started rattling sabres over open source, and trying to bind me and my products into ever more of a restricted, Microsoft-only environment, they did precisely the opposite. The notion that you could use their really nice tools, so long as you only targetted Windows & Office, and with constant posturing over whether using open source was ‘communism’, drove me and probably plenty of other developers in precisely the opposite direction.
For as long as Steve Ballmer is in charge, I’ll have a healthy amount of skepticism about whether Microsoft can really, genuinely change its stance at its core. Like Bill Gates before him, these are agressive 80′s-style businessmen who I can never hope to understand or remotely trust. But what’s clear is that either he’s learned how out of step he is with his potential customers, or he has been forced by others in the company to accept a changing stance on open source.
2009 is for me the year that Microsoft became a regular citizen of the open-source environment. Sure, before that they set up Port25 and CodePlex, but these were mostly self-serving and didn’t necessarily demonstrate MS’s ability to play well with others, which is precisely what open source is about. What really changed in 2009 is that Microsoft began to use external open source, intentionally and unintentionally, and crucially played it squarely by the rules with little or no fuss. This is a very big deal.
One of the first steps was Visual Studio using jQuery, which is entirely sensible. Historically Microsoft has had a terrible tendency to reinvent the wheel unnecessarily, which ends up being more hassle for everyone. Re-use of mature components for everyone’s benefit is what open source is about.
This year though, Microsoft has issued code under the GPL, something I’m sure many people thought would never happen. Firstly there was contributing code to Linux for Hyper-V, and most recently they (unintentionally) used some GPL code in a USB/DVD boot tool for Windows 7, an issue that was raised by a third party but which on investigation Microsoft confirmed – leading them to commit to releasing the full code under the GPL to customers.
Of course, this is precisely what they are bound to do legally. But the fact that it is being resolved in an open and completely unemotive manner, in the same way that any other responsible company would deal with it, is quite significant. This is Microsoft, the company that said the GPL was anti-American and borderline communist – openly and contritely resolving a GPL issue in the correct way with no sleight-of-hand or posturing. I respect that a great deal.
Welcome back to the community Microsoft, it’s about bloody time. Congratulations to all the reasonable people inside the corporate beast who are finally managing to turn the supertanker. I really hope you convince Ballmer to retire soon though, he’s a relic of a bygone age and an impediment to the new image you’re trying to create.
I took up playing the guitar a couple of years ago, after almost 2 decades of not touching any musical instruments and forgetting just about all the musical theory that I’d learned. I’ve enjoyed it; despite not being that good yet, it’s nice to pick up a new skill and I discovered I still like music despite abandoning the study of it years ago. So I have 2 guitars in the house now, one accoustic and one electric. But it appears this was just the start.
People warned me I would succumb to GAS (“Gear Acquisition Syndrome”) – I don’t actually have any plans to buy more guitars just yet, but I’m planning on taking up playing drums, having enjoyed the simulated experience enormously on Rock Band. That might sound rather silly, since it’s just a game – but when playing on Expert (which I do quite a lot now) the rhythm patterns are usually the same as the real drum chart, you’re just missing a hi-hat pedal and some pads are doubled up – so it’s a pretty good approximation. I’ve found drumming hugely satisfying; there’s something about nailing a complex rhythm that feels visceral and the more vigorous tracks are also a great workout – all in all a very nice buzz. So now my back is much stronger, I want to see if I can legitimately add “Drummer (amateur)” to my CV
I’ve discovered there’s a DrumTech affiliated drum teacher locally too so I’ll probably grab a few lessons and see how that goes.
An accoustic kit is likely to be a bit cumbersome and loud in our wood-floored house, so I’m planning on getting a Roland TD-9KX which should give me a good practice set-up without the noise. They’re expensive, but everyone I talk to about this says you only regret going cheap and just end up spending more on upgrades, so it’s better to get the best you can. The TD-9 is a great module and all-mesh heads are a much better sim of an accoustic kit, and importantly they’re kinder to your hands than rubber, which is key when you’re approaching middle age and already have RSI
My wife is getting in on the act too. She’s wanted to learn piano properly for a while, so we’re going to get her a Yamaha DGX-630 so she can do that. I used to play a little when I was younger so I might steal a few goes on it too
So, that’s our Christmas treats for this year sorted out
It’s a fair amount of cash to splash since we’re going for quality kit, but I figure we’re more likely to enjoy playing if the kit we buy is decent, and besides these are better investments than most other things we could buy, seeing as they let us develop a fun skill. And what the hell, it’s only money - you can’t take it with you
Looking forward to it!
My broadband connection was on the blink this morning, which affected me less than it would usually would have because I had a dentist appointment, so I didn’t think too much of it. I heard on the radio when driving to said appointment that the whole island was affected so that made me feel a little better, and everything came back about an hour after I returned.
However a friend of mine works at one of the local telecoms companies (and which is also the broadband wholesaler to the others – kind of like our local version of BT) phoned me at lunchtime to ask if my connection was back, since he hadn’t seen me on Skype (I’d actually just forgotten to turn it back on). He informed me that the reason for the technical difficulties was a massive spike in internet traffic caused by everyone playing Call of Duty : Modern Warfare 2
Yes, it seems lots of people decided to take the day off today to play the new release; even in our small juristiction over 100 people queued outside the local HMV at midnight to get their copy early, so it seems that many more people bought it at 9am and went home to fire it up. Given that the game had a day 1 patch (at least for PS3 for a trophy bug, I don’t know about 360) I presume that plus lots of people jumping online all at once was a bit much for the system to handle.
It appears I’m the only person in the world who isn’t obsessed with COD:MW2
The last 12 months have been a big adjustment for me. Just over a year ago, I almost lived at the keyboard of my PC – work, hobbies (mostly Ogre & general coding, but some PC gaming too). It was not unusual for me to spend 12 hours in a day sitting in front of a computer, coding away. I had a bit of RSI (addressed with low-profile keyboards and less mouse use), and some back pain on occasion, but I carried on because I loved what I did, and with always a huge list of things to do (and that I wanted to do!) I felt productive and content. I was the can-do guy. I felt I could take on anything if I wanted to, just by concentrating enough and putting the hours in. That enthusiasm and ability to focus was a blessing, and a curse.
It all came to a crashing end in one week in October 2008, when I spent several nights in a row not being able to sleep because of acute backache, pacing around the house at 4am in a lot of pain, culminating in not being able to get out of bed one morning, and being carried off in an ambulance pumped full of morphine. I hadn’t properly addressed several years of grumbling back problems in favour of getting on with what I loved doing to the exclusion of most other things, and eventually there was a breaking point. I’ve spent the last 12 months recovering from that sudden cliff-dive, and I can truly say it was a life-changing event; not at the level some people have to deal with of course, but still it’s one of those events that, in hindsight, everything can be described in terms of “before” or “after”.
I’ve scaled back my PC time extensively. I try to work smarter to compensate for it; that means more ruthless prioritisation of things that I want to do, and being far more hard-headed about getting sucked into other people’s priorities (and not putting up with as much bullsh*t as I used to). I think I try to juggle less balls now, and am less worried about letting the occasional one drop. Before, I would have worked my ass off to try to handle all incoming projects and keep all the balls in the air, now, my ‘What’s the worst that could happen’ metric has been completely reset and I’m far more likely to walk away from projects if they’re more hassle than they’re worth, or if I feel my time is being wasted. It also means that with Ogre I appreciate my community even more than before, and am more willing to delegate than I used to be. I don’t feel under the same pressure (which was largely self-inflicted) to be everywhere at once and spearheading everything myself; I’m happier to let others take the lead on many aspects and offer advice instead, on design, API structure and so on. I suspect that I’m probably developing into a better leader for that experience, learning how to loosen my grip a little and do more guiding instead; and I’m really lucky that our team and community seem to grow stronger every year.
I’ve also completely changed my exercise regime, which is to say I have one now
I hit the gym a couple of times a week and have a daily routine of home exercises (about an hour a day) which keep me flexible and compensate for the time I do spend at the PC, which is now mostly just office hours and maybe a few extra hours at the weekend and the odd evening. I spend a few hours a week gaming, play my guitar(s), read and socialise.
Strangely, I actually think my back problems have done me good overall, although I can only look at it with that perspective now that I have the situation largely under control. I think my previous level of intense focus, while very productive and hugely satisfying, and ultimately responsible for lots of great things like my career and Ogre, was very unhealthy. It’s hard to step away from when you’re on a roll, but having been forced to do so, I feel much better for it – less stressed, more centered generally. There’s more to life than work, than computers, and yes, even than open source
That’s not to say you can’t do those things, I certainly intend to continue to do so, but balance is so important, and yet so easy to lose track of. Society these days is hugely pressurised – you have to compete hard for everything, to earn money, to be more successful, to do things better than the other guy, and so on. Many of us just push ourselves as a matter of course, because we have high or maybe even unrealistic expectations for ourselves, or maybe just out of habit, and we end up sacrificing too much on the altar of progress – for some it’s marriages or relationships, for some it’s moral integrity, for some (including me) it’s health. Sometimes getting sideswiped by events and being shoved off that perpetual better-faster-stronger-harder treadmill can be a good thing long-term, because you get to stop concentrating on just keeping up for a while and take stock of what’s important. I’m certainly going to try to keep that in mind from now on.