Dude, there’s an Ogre on my mantelpiece!

OGRE, Personal 18 Comments

In a complete and total surprise, my cousin presented to me yesterday the result of a grand conspiracy in the Ogre community to commemorate my time as project lead – a specially designed, unique Ogre statuette! Thumbnails below, click for more detail…
Receiving the statue Sinbad holding the statue
Front of statue Back of the statue

I literally had no idea this was going on, or that my cousin had been asked to make the delivery that day (I thought we were just meeting for a social). I was completely taken aback and very touched that the people in the community would go to the trouble of doing something like this for me. :-o There’s a thread in the forums going into more detail on how they organised it, including the many, many different designs they mocked up and considered before voting for this one. I’m humbled and flattered.

My sincere thanks to everyone who was involved in organising this, and very well done for creating such an excellent statue and managing so successfully to keep me in the dark about it! You guys are just awesome.

Taking a bite of the Apple

Development, OS X, Personal 13 Comments

Giving up the leadership of OGRE was a sad moment for me, but in hindsight it has also been rather liberating. For 10 years I’d spent most of my energy on OGRE or on projects that were related to OGRE. There was an implicit understanding both from the community and from myself that everything I embarked on would in some way tie into OGRE – and indeed my business has always been based on a constant balancing act between how I can make a living while also promoting and advancing OGRE. I’d tended to major on the latter rather than the former most of the time as it happens, because I had an emotional attachment to the project and a feeling of responsibility and custodianship that I took very seriously. So when I finally admitted to myself that my back couldn’t take the ongoing demands of being an open source leader as well as making a living, the big question was: what next?

Over the years I’ve learned a couple of things about choosing what projects to work on – follow your gut, and work on things you’d do even if there was no money in it. Yes, you need to do a business case and convince yourself that there’s a viable market for what you have in mind, but all that’s irrelevant if you don’t feel strongly about what you’re doing, because it’s passion and enthusiasm that will get you through the difficult times. So I sat down and gave some thought to what really excited me these days, what I liked using and what technical directions piqued my interest. I still find 3D and games fascinating, but they’re far from my only interests.

So, I realised that one area that I’ve been dying to get my teeth into properly for ages but had never found the time before, was coding specifically for Mac OS X. In 3 years I’ve gone from a total newcomer to the platform, to a staunch advocate of it. However until now I’d never really had time to play with developing on it, beyond porting cross-platform C++ code and providing / using intermediate libraries. One thing I learned in those 3 years as a user was how much better applications designed for OS X felt to use compared to those that were just ported via a common UI layer (like wxWidgets / Qt), and I’m convinced now that while cross-platform infrastructural code is great, user experiences are far better when designed with the specific platform in mind – increasingly that means OS and physical device now of course. Sure, cross-platform UIs save the developer time, but the result is often a watered-down experience – early on I liked OS X applications that felt like Windows, or ran the same on both platforms – now I  do not. Such carbon-copying applications were helpful while I was unfamiliar with the platform, but now it’s just glaring to me how basic their compatibility with the OS typically is, and how the UI styles clash with the expected standards.

So, I decided I wanted to learn how to target OS X specifically, and had a couple of ideas for projects I could do with it, which meant learning Objective-C. At first, I hated it and tried to escape via more familiar technologies like Objective-C++ and PyObjC. Ultimately I found shortcomings and limitations of those routes and returned to Objective-C, and the more I used it, the more my animosity toward it diminished. In the end I realised the problem was that I needed to adapt to the environment, rather than try to adapt it to my previously learned styles and behaviours. Sure, missing elements like namespaces might still nag me, but on balance the blend of static and dynamic language elements works very well for the intended use. And besides, I really didn’t want to be ‘that guy’ – the programmer that having decided one language / tech is ‘the best’, then tries to apply it everywhere, regardless of suitability; I like to think I’m a bit more flexible & multicultural than that.

I’ve also learned that Cocoa is a very, very smart system. Mad as a bison if you’re used to other systems beforehand, but persevere with it and resist the urge to hide it under some vanilla layer that you’re already familiar with, and you discover it’s really very powerful. Not to mention the Core Animation and Core Graphics frameworks are a lot of fun.

It’s funny, I’ve spent so many years concerning myself with providing compatibility across multiple OS’s, multiple GPUs, multiple render APIs, and multiple drivers, it’s a genuine joy to actually forget all that for a while, and concentrate on an end goal with a finite number of permutations for a change – and not to shy away from using platform-specific features.

While I’m still very much an advocate of open systems, I look at things slightly differently now – that data & protocols should be open, and that we should all re-use & collaborate on common, preferably open source infrastructure (like OGRE), but that the ‘last mile’ to the user is the least suitable for generalisation, because the more specific you can make that interface to what the user expects on their OS & device, the better that experience will be. And at the end of the day to the user, that experience is the application, and thus all that really matters – and I feel that Apple gets that, in a way that very few others do.

So, I’m having a great time learning to be an Apple developer so far, I’m going to see where this takes me for a while. My gut says it feels right, and I’ve learned to listen to my gut :) I love the platform, it’s a total change of pace and technology, it’s something I’ve had an interest in for a while, and the Mac has quite a thriving community of quality independent app developers that I can try to join – what’s not to like?

Refocussing

Business, Health, OGRE, Personal 9 Comments

lensSo, I’ve been a little quieter than usual since the new year, and that’s because I’ve been in  a rather reflective mood as I plan out how I’m going to spend my time in 2010. That’s right – planning! Talk about the final frontier ;)

Basically, as you may have gleaned from my previous post, I’ve been looking to make some significant changes to the way I do things in 2010. I spent 2009 reeling from a back injury and trying to figure out how to deal with that given that I’m self-employed (ie I don’t get paid when I’m not working, regardless of the reason), and a leader of an open source project (with the inherent time requirements that comes with). This meant working out on the fly how to stay afloat financially, and still keeping my own interests and open-source plates spinning, without slipping back into the ‘permanent voluntary crunch mode’ style which triggered my back problems. I can’t stress enough how difficult that transition has been for me – it’s not like anyone was forcing me to work/live that way, I did it because I wanted to, but then it suddenly had to stop. When you invest so much of your time and perceived identity in something, backing away from it is very, very hard.

Of course the economic climate wasn’t great either, meaning I spent a lot of time jumping around between many small projects, leading to more overhead dealing with admin & business relations. I ended up just going almost month-to-month on-demand, not  planning very much and just being grateful to be able to work a decent amount at all – which given how unwell I was at the start of the year was definitely something to be glad about. But, now I’m back on my feet and pretty confident of my future health again (within reason – I’m not going to be bungee jumping any time soon!), I’m ready to start being more pro-active again and to map out some plans.

One thing is for sure, there’s no going back to how I used to do things. My days of saying ‘yes’ to almost everything and being at the keyboard until past midnight most days, and most of the weekend, are gone forever. I don’t regret doing it, despite the pain it ended up causing me, because OGRE wouldn’t be here otherwise and I learned a vast amount and had a ton of fun – but I’ll leave that to the under-35s in future; have fun guys ;) From now on, I’m being ruthless and somewhat selfish about what I work on, and concentrating on things that maximise my personal love-growth-cash triangle. It means I’m passing on a lot more projects, and concentrating far more on things that are strategically significant to me, rather than anyone else.

I’m still planning to lead OGRE, so long as the community is happy for me to do so, but by necessity I’m stepping back a bit to let other people take more responsibility where they want to, and to refocus my time on mentoring and advisory roles rather than trying to be everywhere at once. We have some great people in the team and in the wider community, and I hope our MIT license will foster even more in future. Both I and the community have gotten used to perceiving me as the ‘go to guy’ in the first instance, with responsibility for pretty much everything, but in practice for some time now it’s been very much a team & community effort, just one that I happen to lead (and financially support where needed). In fact one of the things I’m quite proud of is the way so many others have picked up on the way I do things, and taken things forward themselves in a way that I wholly approve of. That’s open source in action, and I’m glad to be part of it, even if I can no longer have my fingers in absolutely every pie with an OGRE symbol on it :)

Here’s to 2010 anyway. It’s going to be different, but change is good.

My work here is done

Games, Personal 3 Comments

I’m far from being a gamerscwh0re who mines every game for every last Achievment, but nevertheless they’re fun to get. I like the ones that encourage you to do something memorable rather than the rather less imaginative “complete game on difficulty X” or “scour the world to find all of item X”.

Having picked up a number of games for Christmas I’ve had something of a boost recently, but last night while playing Assassin’s Creed II (which is a vast improvement on the original which had great atmosphere and free running mechanics but was riddled with tedious repetition and hence I never finished it) I completely accidentally landed on precisely 10,000 gamer points at the end of the night:

10000gamerscore

How can I possibly play anything else now? I’ll never, ever have a score that perfect again! ;)

I’m not sure why my gamercard is currently in German (‘Bereich’), thanks dodgy XBL site localisation.

MMX

Personal 2 Comments

Although many popular films and TV shows don’t seem to use the convention of using roman numerals in their copyright statements anymore, the BBC has, as far as I’m aware, always consistently used them. It used to be kind of fun to see who could figure out the roman numerals first, although my wife was always better at it. For anything made since 2000 (MM) of course, it’s become a bit boring, since you only need to know how to count to 10. For some reason this occurred to me today as I considered that, after this year, we won’t see as simple a roman numeral representation until 2050 (MML). This year of course, we have to live with the knowledge that our year is named after a SIMD instruction set. But hey, it was funky, right?:

So anyway, 2010 is here. I’ll be keeping an eye out for black obelisks, but since we didn’t come up with an equivalent of Hal by 2001 I’m beginning to suspect the books weren’t that prophetic a vision of the future after all. It’s a new decade that we have to find yet another awkward moniker for – the ‘noughties’ was pretty rubbish but the ‘tens’ isn’t much better. Frankly, I couldn’t much care for the significance of entering another decade – after all, it’s all arbitrarily counted anyway, and after you’ve seen the passing of a new millennium (in all its vastly anticlimactic glory) it’s hard to get excited about any piddling small numbers any more.

I can’t say I mourn the passing of 2009, which despite a few high points (returning to Canada on holiday, seeing the viral success of Torchlight, getting 1.7 out the door, and so on) wasn’t an ideal year for me. Better than the end of 2008, when my back injury was at its worst, but due to the economic climate and needing to recover my health, I’ve been juggling lots of smaller jobs in 2009, and as such have not felt a great deal of attachment to most of the projects I’ve worked on. I’ve also had to consciously hold myself back from over-committing for fear of putting my recovery in jeopardy. By nature I’m an ‘all or nothing’ kind of character, so I’ve found this deeply unsatisfying at times. It’s kept the financials ticking over, but it also comes with lots more admin overhead (= wasted time) and doesn’t motivate me as much. I intend to change that in 2010 – I can’t go back to the kind of hours I was doing in 2008 and before, but I intend to try to fill the hours I have with things I can feel more personally committed to. OGRE is one of those things of course.

In the meantime, I wish everyone a happy and prosperous 2010!

Salad Days

Development, Personal 3 Comments

My friend Damien was blogging about his early experiences with computers & programming yesterday, and it reminded me of how I got started. Specifically, it reminded me of an influential magazine I read at the time called “Input”, which taught BASIC programming for the ZX Spectrum and BBC. It was a short-lived, esoteric British thing, but I was astonished to find that not only does Wikipedia have a page on it, but they also linked a TV advert of it which has been lovingly archived on YouTube:

This brought back some serious memories. I remember that as well as the demo snippets there was an adventure game of sorts which was being published bit by bit in the magazine, as an incentive for you to buy them all. Like most magazines of this type there were regular typos that you’d scratch your head over, but in a way that was a good thing since it taught you to debug other people’s code.

I was 10/11 years old when this magazine came out, and I can probably trace my programming beginnings directly to it. It’s probably a bizarre concept to the younger generation, now that they have instant access to almost limitless information on the Internet. What I would have given to have the Internet back then when I was learning, instead of scratching around for information in magazines like this. :)

Evil Red Tags vs Xmas

Games, Personal 1 Comment

evilredtagI hope everyone had a good Christmas, I certainly did. I received a number of new games, which was good (will blog about them individually at a later juncture), but I also encountered something I haven’t done before – Evil Red DVD Tag Syndrome.

For those who, like me, haven’t encountered these before, some shops in the last couple of years have been adding red theft-prevention strips to some DVD cases. These strips, as shown here, run through slots in the DVD case and not only hold it firmly closed, and include a security RFID thingamabob to set off the alarms at the door, but they press against the underside of the clips that hold the disc in so they cannot be released- so even if you manage to pry open the case, you can’t (easily) get the DVD out.

One of my game gifts this season still had this tag attached, and given that I doubt my mother-in-law is a shoplifter, and the RFID tag hadn’t set off the doors, I assume that the shop staff had forgotten to remove it. It was completely new to me (all my other games have just had RFID tags taped to them), and was surprisingly difficult to defeat, which is the point I suppose. Marie suggested I took it back to the shop to get them to do it, but a) I’d have to get hold of the receipt to avoid being assumed to be a thief b) that’s way too much hassle, and c) this was a logistical challenge that simply had to be solved without outside assistance, in order to prove…something. It’s a male thing. ;)

In the end various implements (knives, forks and pliers) were involved, but I managed it without destroying the disc or (surprisingly) even the case. But, there’s certainly no way you could do this in the shop without being completely obvious, so I guess this is a ‘good’ security system, if only the stupid employees would remember to do what they’re supposed to. I was going to post a series of images of this, but then I realised others have already posted videos of it which were similar to my technique anyway, so here’s one for the similarly afflicted:

Merry Christmas!

Confession – I like Twitter

Internet, OGRE, Personal 5 Comments

twitter_256x256It’s now almost a year since I decided to try using Twitter, specifically to post about Ogre development work I’m doing and other Ogre-related things (well, most of the time anyway). Seeing as I totally deride the concept that it’s a good thing to share the inconsequential, tedious minutae of your life with the internet and view it as the absolute pinnacle of sad, narcissistic behaviour, joining Twitter was a hard sell. After all, at least on a blog you have to write enough in a post to naturally filter out anything that’s not worth saying (in theory), while Twitter seemingly encouraged you to share whatever crossed your mind during the day. In the end my reason for joining was that there tended to be things large and small that happened in and around Ogre that many people might like to know about, and these things didn’t always warrant a blog post,  a news article on ogre3d.org or even a forum post. Provided I stuck to that raison d’etre, perhaps it could have value.

And in fact, it’s actually been very useful. I’ve almost stopped blogging about Ogre work unless there’s a significant event or something I feel needs greater analysis, because my Twitter feed is a better way to get the word out about things. It’s also been useful to get feedback on certain technical issues and to keep up to date with what other people are doing. Specifically, I tend to only follow people who post about things I’m interested in, rather than just because I know them.

And this tends to work well – I’ve found that Twitter users, or at least the ones I follow, in general tend to automatically filter their content to things that are actually interesting. This is in contrast to Facebook, which is so chock full of the utterly banal that I lose the will to live every time I try to catch up with the feed – there are usually some things in there I’d genuinely be interested in, but it’s so full of crap I can hardly face spending the time to find it. Much of that is due to its insistence that I’m somehow interested in the events of all the Facebook games people are playing, when in fact I couldn’t give a flying toss what new fish someone has just unlocked in some ridiculous mini-game. I’m close to just deleting my account and forgetting all about it – if you want to be social, grab a coffee / drink with me sometime or something – at least then you’re unlikely to keep interrupting to tell me what your level is in FarmVille.

Computer systems are tools, and can be used for good or ill. I’ve come across lots of people that use Twitter in a genuinely useful and non-intrusive way, and I try to do the same, and as such it’s made a firm place for itself in my day – something I would not have taken for granted when I started using it.

Cheap, simple gadget satisfaction

Personal, Random, Tech No Comments

Like most members of the male species, and particularly the geekier types, I love gadgets. Complex ones are great, but sometimes the greatest satisfaction can come from simple things that just work really well. Here’s a couple of recent buys for me that fall into this category that I thought I’d share.

Joby Gorillapod

gorillapodWhen we’re on holiday I often spend time trying to find places to put the camera so we can do a timer shot with us both in the picture, and when you’re in forests and up mountains finding a level spot is tough. I’ve gotten quite good at it, squinting at rocky outcrops and tree stumps with an almost film director level of interest, but it’s still awkward and sometimes precarious; this year in the Canadian Rockies I placed the camera on a rocky slope and only realised when I had to charge down again how many rocks were between me and the ‘mark’ I had to be at within 10 seconds, and I almost came a cropper, much to the displeasure of my wife.

I’d seen the Gorillapod before but kept forgetting to buy one before we went on holiday, so this time I bought one as soon as I thought about it, even if it’ll be sitting around unused for a while. Basically it’s just a small tripod made from a series of ball joints, each one perfectly stiff under the weight of a camera but easy enough to move, and with rubber surrounds on every joint and on the ends for grip. It’s very bendy and yet very sturdy once it’s set, so you can use it as a regular mini-tripod (but can adjust for uneven surfaces really easily), or you can suspend it from tree branches and poles, secure it up on top of fences or bollards just by bracing it, and all kinds of things. It just clips on to a small tripod mount and folds up really small.

It’s just an incredibly useful little gadget that I wish I’d had for holidays ages ago, and I imagine regular photographers would find it invaluable too.

Bicycle iPod Mounts (for drum kits)

ipod_mountI don’t ride a bike anymore, but after setting up my drum kit I realised I needed somewhere to mount my iPod if I was going to hook it up for practice, rather than having it on the floor or using gaffer tape or something. Surprisingly there didn’t appear to be any standard accessories to do this (a bit of an oversight on Roland’s part I think since this must be a common requirement), so I was nosing around in the VDrums forum and discovered that most people were just using regular old bicycle mountings, and attaching them to one of the cymbal riser arms (since they’re about the same diameter as bicycle handlebars, compared to the main drum frame which is much thicker).

They were cheap so I gave it a try, and sure enough it works beautifully – you wouldn’t know that the mounting wasn’t made entirely for this specific purpose in fact. Score one for the community :)

The evil of couriers

Music, Personal 3 Comments

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.