Category Archives: Travel

Cocoa Development Objective C OS X Personal Travel

See you at WWDC!

Apple kept everyone on tenterhooks this year by announcing WWDC 2012 very late – the second latest announcement ever in fact.

Like many other people (11,000 of them I hear, which is alarming given that there are only 5,000 tickets to the event) I signed up to WWDC Alerts,  which sent me an SMS message while I was having lunch, only a few minutes after the tickets went on sale. That I was lucky enough to bag myself a ticket has a lot to do with that – about 90 minutes later, they were all gone – so big thanks to fellow Brits Anthony Herron and Aaron Wardle for running that, completely free of charge too. Legends.

Apple picked a surprising time to announce the tickets, being as it was about 2am Pacific Time. Perfect for people like me in Europe – I’d expected to get the call late at night – but I imagine there are a lot of people on the west coast who are seething about this choice of timing.

I’ve never been to WWDC before, but this year was a perfect time to go, with the continued growth of SourceTree and the fact that I’m attending Atlassian Summit, which is held a couple of weeks before in San Francisco. So I’ll be heading over for Summit, hanging out in the Atlassian SF Office for a week, then heading down to WWDC. A pretty efficient trip :)

So, if you’re going to WWDC, Summit or are in the SF area generally around that time and want to say hi, look me up!

I’m also thinking about getting a short-term pre-paid SIM (preferably with data) for the 3 weeks I’m out there, if you have any suggestions on that front I’d love to hear them.

 

Development OGRE Open Source Travel

Back from Qt Dev Days (Munich)

qtBefore 2009, I’d never set foot in Germany before; not for any particular reason, I just hadn’t gotten around to it yet. However, thanks to gracious invitations to conferences I’ve now been twice. :) In May I went to Stuttgart for FMX, and last week I went to Munich for Qt Developer Days.

It was an enjoyable conference, as always the best part is just meeting other delegates, the sessions themselves are merely the icing on the cake. I shared my presenting slot (in which I showed a couple of applications that use Qt and Ogre together) with two other open source veterans from projects which I have a huge amount of respect for: Bill Hoffman, CTO at Kitware and the founder of CMake (which of course we use in Ogre now, so it was great that I had chance to have quite a few discussions with Bill), and Jean-Baptiste Kempf, Chairman of VideoLAN which is of course in charge of the excellent VLC.

It was also nice (not to mention flattering and somewhat humbling) to have random people I’ve never met before spontaneously say nice things about Ogre. One of the major curiosities of open source is that you never really know quite how many people have encountered & used your software; you get a sampling of that through your community forums etc, but it’s also clear that that only represents a portion of your user base. On the day I was wearing my Ogre T-shirt I had a number of people who were more peripherally involved in the community but who had had a good experience with Ogre, and were more than happy to tell me about it. Definitely a good feeling.

Perhaps most surprising of all though was getting a sizable donation to Ogre in person from a community member while I was there (I won’t mention who just in case he’d rather not be identified, he can post in the comments if he’s happy to). We had what I thought was a theoretical discussion at one of the dinners about how much we get charged by PayPal for donations, and I’d said that although it’s undesirable, any kind of electronic payment mechanism has a cost (merchant accounts, bank transfers all come with some kind of charge). I jokingly said that the way you’d avoid the most charges would be mailing cash in an envelope, although that had it’s own risks. I thought nothing more of it, until I saw him the next day when he presented me with an envelope with a donation in it! Way more than I expected too, enough to push him straight to a Platinum sponsor. Turns out he’d just got his deposit back on a flat he had been renting, and decided to donate that to us in the absence of any code contributions, since Ogre had helped him at university and subsequently in getting a job. I have to admit, I was a little lost for words at that! His donation will definitely help cover the server running costs in the coming few months.

Back to the conference subject, Qt, the conference reinforced my opinion that it’s the best cross-platform UI system out there for C++ developers. It was great to see the range of applications that were being developed on it these days, including a coffee machine which was serving custom beverages in the dining area via a Qt interface. Obviously the Nokia acquisition has meant that they’re keen to move into more dynamic, touch-based interfaces too now, which will obviously power new phones in more interesting ways, but it was clear that they remained committed to a huge range of application targets. Well, except iPhone anyway, that was definitely the elephant in the room – occasionally mentioned but mostly avoided ;)

Obviously Qt’s switch to LGPL this year will have a huge impact on adoption rates. One of the things that had concerned me though is that there’s a clause in the commercial license for Qt that requires you to decide between using the commercial license and the LGPL before you start developing. The reason given for this is that Qt is licensed on a per-developer basis, so if you could wait until deployment to choose the commercial license, you could scale back your team and pay less than you really should have done, which is why you have to decide up-front. I could understand this argument, but in my experience, perfect foresight is impractical and conditions can often change, so making a once-and-for-all choice before a line of code is written did not seem realistic in some cases. Also since the principle was that the entire team must use the same license, I was wondering about the practical implications of say, a commercial outfit leveraging some pre-written code by people using the LGPL version (such as QtOgre). Qt want to encourage greater community involvement (which was the reason for me being invited to the conference after all), so not allowing this seemed to go against the kind of broader adoption they were chasing.

To try to answer these questions, I went to the legal presentation and put this question to the speaker afterwards. Luckily, she mostly allayed my fears on these two issues. On the ‘circumstances change’ issue, the principle must remain that, because of the per-developer licensing, you should make your decision up-front, but if for whatever reason, and in good faith, conditions change (such as suddenly having to target a platform where LGPL is not practical), then some kind of agreement can be reached, such as by paying commercial fees for all developers historically on that project so it comes out the same as if you had opted for the commercial license originally. In addition, she didn’t think there would be a problem with community code re-use for commercial licensees provided this was mentioned during the commercial licensing process; she accepted that greater adoption is what they want, and community development inherently complicates the previous assumption that one team will be responsible for absolutely every aspect end-to-end.

So, a good conference overall. Now, I’m back to continue work on Ogre 1.7.

Personal Travel

Picasa 3 review

picasaI haven’t used dedicated photo-management software before – iPhoto always looked really nice, but since it only works on the Mac it didn’t seem worth investing lots of time in populating data there that I couldn’t use on other platforms too. However, since this year I took the laptop on holiday with us, to ensure I could cope with any urgent business while I was away (the wonders of being self-employed), I figured I’d take the opportunity to try out Picasa 3 to transfer, organise, label & share our photos in real-time as we progressed through our holiday. It seemed quite a nice tool, and the ability to sync your photos with an online album to share with family while you were away was ideal. Sure, I could have used Facebook, but in fact none of the family we wanted mainly to share our photos with are on Facebook already and I’m damned if I’m going to force them to to join! ;) I was using the Mac version on holiday, but I also tried the Windows version at home which seemed identical.

And in practice? Well, it’s bloody good. It makes it easy to import your photos from the camera into a holding area, omitting those you’ve already transferred, from which you can allocate them nicely to albums and do all the normal photo tweaking – cropping, straightening, constrast adjustments etc. It even lets you crop & recompress videos which is perfect, since our camera takes surprisingly good quality 30fps video. Another nice thing is that it doesn’t alter the original photos / videos when you tweak them, so you can always get back to the original raw photo if you want to.

Synchronising the photos with an online album is super-easy too; as well as filtering by album you can also tell specific photos not to synchronise, and tweak the quality at which the uploaded versions get sent, to speed things up. It’ll even upload your videos on to the same shared album, and additionally to YouTube et al if you want it to. This all happens seamlessly in the background as you work on organising and tagging, and you hardly even notice.

Of course, it lets you add captions to your photos, essential for recording what on earth it was you were capturing on your 400th image, and those appear on the web version too. Another cool feature is that if you export the photos back to the file system (again you can re-encode if you want or keep the original quality), it embeds the captions in the resulting images as IPTC metadata, which many image viewers will allow you to see outside of using Picasa itself.

The only downside is that right now, moving your Picasa data between machines is a bit of a pain- you can re-export the images like I say, but if you actually want to use the original Picasa data files and open them on another machine, you have to dig around in the filesystem and hack about with .pal files to do it. Hopefully in Picasa 4 Google will recognise that most sensible people store their pictures permanently on a NAS or other shared data store, so it would be a good idea to allow non-local albums to be defined and used.

Overall then, Picasa 3 is a very slick photo management application and was hugely useful on our holiday for organising and sharing our photos before we ever came home.

Business OGRE Travel

Back from FMX/09

Yes, I got back from FMX/09 last night, after the usual pain-in-the-ass shuttling between London airports to make my connections and the inherent waiting around that entails. I’m constantly disgusted by the amount airports charge for internet access so I left writing this post until today.

I really enjoyed FMX – it was the first graphics conference in which I’d been officially on the speaker bill, so I’m not sure how well other conferences treat their speakers, but at FMX I thought they did a fantastic job; everything was really well organised and went very smoothly. I actually enjoyed FMX more than Siggraph to be honest; it’s smaller and I found it a bit more manageable, and people seemed to have more time to talk. The speakers dinners were great for meeting & talking with various random people – such as having a quick chat with Ken Perlin, creator of the ubiquitous Perlin noise, and who had already heard of Ogre, which was nice.

My presentation went well, I was fussing over and tweaking the content right up to the last minute – was there enough for the time, was there enough technical detail, or too much, and so on – but in the end the feedback I received suggested I got it right. There was theory and arm-waving, I dove into code for a few minutes to illustrate how you build up a simple demo, I showed screenshots of Torchlight and OgreSpeedTree, videos of Venetica, ZeroGear and Dangerous Australians, and ran a real copy of The Book Of Unwritten Tales (and in the presentation tradition, my machine choked on the DVD the first time). In the end the hour flew by and I had to speed things up a bit, leaving 5 minutes for questions, which was just enough, so not bad on a timing front.

The room was also packed, people were standing at the back and sides of the room due to lack of available seating – I had no idea what to expect in terms of interest levels so I was very pleased with the turnout in the end. I also collected quite a few business cards and contacts from people using Ogre or thinking of doing so, which is always good, especially for a free agent such as myself!

I also met up with the guys from Filmakademie (who run the conference) who are developing some really cool tech using Ogre, such as procedural facial animation systems and non-photorealistic rendering. The editing framework they’ve built for these kinds of projects to sit on top of is looking really slick (it reminds me a bit of Houdini), and the good news is that they’re going to be releasing it as open source (LGPL) very soon, so I’ll be sure to link that both here and on the OGRE site when it’s available, because I think a lot of people are going to like it. All in all it was great to meet them and we intend to stay in contact in the future.

I’d like to thank everyone at Filmakademie (Constanze, Volker, David, Stefan, Nils, Simon and Thomas) for inviting me, and making it such an enjoyable visit.

[edit]Oh, and please bear with me if you’re waiting for a reply to something – I did manage to keep up with email somewhat whilst away, but more significant things will have to wait for me to catch up with them in the coming days.

Health Personal Travel

No, I’m not going to GDC this year

Since I keep getting asked this question by friends, existing business partners and prospects, I figured I’d just confirm it here – I won’t be attending GDC this year. It’s a shame, because I’d love to meet up with all the people I know who are going, but the primary reason is the 5,000 miles between here and there. Given the issues I’ve had with my back over the last few months (the worst episode of which emerged just after I made it back from California last time), I decided to have a break from long-haul travel to allow it time to recover. It would be different if I could afford to travel anything other than economy class, where I have to spend 10 hours wedged in a space PETA would find objectionable, but that’s not really an option. So for the moment, I’m limiting myself to 2 hours flights or less, which lets me get to most places in Europe (in May I’ll be at FMX in Stuttgart doing a talk), but rules out the US of A except in the unlikely event that Concorde makes a return and is curiously both faster and cheaper.

On the back issue, I can tentatively report that things are improving. It’s slow, but the number of ‘incidents’ where I do something that takes me out for a few days with major pain are decreasing; it’s been a couple of weeks now since the last one (touch wood), and before that I had a fairly good couple of weeks. It’s still sore a lot of the time, but sore is a big improvement :) Having been back to the doctor & physio again, they both appear to be convinced now that my spine is ok structurally (which is very good news), the problem is in the soft tissues – specifically that the muscles in my mid-back have become way too dominant, caused by years of spending too much time sitting relatively motionless and a bit too upright (aka my usual typing position). The result is that the multitude of muscles and ligaments down my mid-back are a bit too short, a bit too tense all the time, and poorly balanced by all the other muscles that would have been doing more if I wasn’t sitting at the desk so much. That means that they have a tendency to over-tense and jam the ‘fins’ at the back of my  spine in awkward ways, which means inflammation and aggravation on the clusters of nerves running between them.

The symptoms I’ve had can be caused by much more serious problems, but the fact that mine recovers in between the ‘incidents’, and doesn’t seem to react to prodding once the inflammation has gone down, means that it’s not serious, apparently. I have to say, it’s easily the most painful and prolonged non-serious condition I’ve had in my 35 years!

This week I’m adding the gym to my schedule of activities, for the first time in a lot of years. I’ve got a list from the physio of the things I should and shouldn’t do, but it’s time to take my recovery to the next stage (that is, Stage 1-2: Moderate Discomfort Overworld), and to redevelop the bits of me not related to adopting the keyboard position. Here goes…

Business Political Travel

Travel to the USA becomes even more complicated

It’s been clear for some time that the US is becoming more and more paranoid about border security. My first trip to the US was in late 1993, when we hopped over to New York on a special deal (less than 2 weeks notice), and I remember it being much like any other international destination, or if anything easier. In particular if you held a British passport, you were pretty much waved through at the border with very little fuss.

Since 2001 things have gotten more difficult, obviously, but in the last 5 years it’s been getting increasingly silly. The need to fingerprint every traveller seems rather unnecessary and certainly slows down the process. On arriving in LA a couple of months ago I was struck by just how unfriendly the officials were, one in particular being pretty damn rude to a family in front of me in the queue who were unsure about which of the multitude of forms they were supposed to fill out when. Sure, it’s really big and clever to swank around with a gun at your hip, shouting at people when they don’t fill in your forms correctly. It’s not universal – recent trips to San Francisco and Boston have been a little more relaxed, but I can’t help but notice that the tension towards ‘outsiders’ appears to still be increasing.

Every time I’ve gone to the US I’ve travelled under the Visa Waiver Programme, which is very convenient – basically you don’t have to apply for a visa if you’re just visiting on business or pleasure, just turn up with your passport, a local address and a return ticket and you’ll be fine. From January 12th next year though, they’ve decided that’s far too easy, and travellers from countries that are eligible for the VWP will have to apply for clearance before travelling, via the Electronic System for Travel Authorization (ESTA). The system appears to be largely automated, so it’s much quicker than getting a ‘real’ visa, but it’s still an extra step to remember to do, and another bureaucratic process that can get screwed up.

I’m not sure why they’ve chosen to do this, I can only assume it’s related to their wish to do pre-checks on travellers, and that they’re not getting ‘enough’ information from airlines – who already have to pre-warn the US authorities of the personal information of incoming travellers (unlike every other country) and give them information which is probably contrary to many local Data Protection laws.

I know 9/11 was a big deal, but honestly I don’t think there’s a need for border control to be quite so unfriendly as it seems to be getting in the US. It’s akin to DRM – hugely overcomplicated processes that mainly put barriers in the way of the kind of people you want to welcome, while almost certainly not impeding the real criminals / terrorists in any proportionate, practical way. Maybe once the current swaggering, fear-mongering chimp of a president is finally gone, the culture of xenophobia and paranoia may start to abate a little.

Business OGRE Travel

Sweden & travel weirdness

I’m here in Sweden again for the rest of the week, working for an interesting client who is making a sizeable investment in creating a long-term strategy on Ogre, which is obviously a good thing. It’s a little under the radar for the moment so I’ll leave it at that until a more appropriate time :)

Luckily my back held up for the trip, despite carting luggage and 3 flights with fairly small connection windows in between. I was really sore this morning, but I didn’t snap in half so that’s an overall positive.

I had to pass through Manchester airport this time, which was in many ways better than going via London and having to switch between Gatwick and Heathrow. I used to travel through Manchester every other week a few years back, either on my way to Dublin or to get into Manchester itself, but I can’t believe the place is still being renovated – it was last time I was there too.

Bizarre experiences while travelling:

  • Watching a woman trailing about 100 metres of wool as she wandered through Manchester terminal – a ball of it had fallen out of her bag without her noticing and made it look like she was trying not to lose her way back
  • A motion-activated recording on the entrance to the baggage reclaim that went off literally every 15 seconds as people passed it, explaining the very same thing over and over and over again. I was a hair’s breadth away from picking up the nearest fire extinguisher and smashing the speaker into tiny little pieces before it told me not to forget my baggage for the 376th time (after all, I had heard it this many times precisely because I was still waiting for that baggage she kept banging on about)
  • Escaping from a labyrinth of booze and perfume – Manchester airport’s new layout involves a sign saying ‘Gates’ with an arrow that just leads into a sprawling mass of duty free perfume and alcohol stores. Sure most airports have these, but other airports at least have a ‘corridor’ around the outside or through the middle that leads to where you want to go (i.e. the plane) – not so here, you literally can’t see the exit, it’s just a chaotic maze with assistants hovering around every corner. Eventually I managed to find my way out, and without a single bottle of gin or Yves St Laurent. Lucky escape.
  • As I was boarding my final plane of the day, the wife of a couple who were directly in front of me in the aisle suddenly started projectile vomitting everywhere. Literally spraying all over the place like she was auditioning for a part in the next Exorcist remake. Luckily her husband was in the way otherwise it could have been a Mr Creosote incident for me too. Nasty. This delayed my final hop while the poor cleaners got called in to deal with it.

I’m back at the weekend, anyway.

Business OS X Personal Travel

Milestones

I’m the kind of person who likes to keep busy; not in a ‘mad about DIY / the garden’ kind of way that tends to be the most socially acceptable form of being a ‘project oriented person’, but I always have a bunch of things on the go and never seem to have enough time to do them all. I’m always ‘working’ evenings & weekends, but a lot of the time I really don’t think of it as work, because a large portion of the time I’m doing exactly what I want to do.

If you’re anything like me you’ve had difficulty explaining to your wife / significant other that in our kind of world, there’s really no discrete black-and-white transition between ‘work’ and ‘not work’ that starts at 9am and ends at 5pm every day like clockwork. In fact there are a multitude of subtle levels ranging from ‘definitely work’ (e.g. something I don’t particularly want to do but someone has paid me to do it), to ‘not really work at all’ (e.g. having fun with technology that as a spin-off might help make a living now or later). Unfortunately these subtle graduations are invisible to the casual observer, often leading to discussions which begin with ‘You’re working again!’, ‘Not really…’, and from then on get complicated.

In the end, it’s probably not a solvable problem, but one thing that does help is taking the odd break, where you at least pretend not to think about what others would deem ‘work’ for a while. Holidays are obvious candidates, but also a good trigger for maybe taking a weekend off or something is recognising a milestone, or a cluster of milestones.

OgreSpeedTree and OgreSpeedGrass emerged from beta this morning, with official 1.0 versions being released. I’m pretty damn pleased with the result, and that’s a fairly unusual situation; I normally have a list of things as long as my arm that I consider ‘unfinished’, but in this case I’m very content with stamping a 1.0 badge on them. My attention can now switch to finalising Ogre 1.6, which is currently at the Release Candidate stage.

It’s also 2 years since I made the decision to give up having a regular day job and try my luck as a free agent / start-up. My initial measure of success was not to go broke (either personally or bankrupting the company) in the first 2 years, and I’m pleased to say that hasn’t happened. It’s certainly had ups and downs, and probably given my prior senior tech position I’ve undoubtedly earned less personally as a result, but the company has still grown, I’m still paying myself a wage that isn’t too insulting, and the benefits have easily compensated for that. Besides the flexibility and the satisfaction of knowing I’ve found and earned every penny I’ve made (which somehow makes the money feel more valuable than a guaranteed monthly paycheck), it’s been good for my personal development to mix it up a bit. And most importantly, I’m not bored :)

It’s also almost 8 years ago that I wrote this fateful message in my (very old, very manual) blog:

18th October 2000: Exam done! Work on OGRE will restart soon. First, web site revamp to be done.”

Inauspicious, but that was the seed – the time when OGRE as we know it swung into full development and started this whole crazy sequence of events off; if I’d known the significance of it at the time, I wonder whether it would have affected how I did things?

Laozi was right when he said “A journey of a thousand miles begins with a single step.”. Those words motivate me to this day – that no matter how big or challenging something looks, the most important thing is to start. My experience certainly tells me that genius and raw talent / ability is often not the most important factor when it comes to achieving things, it’s usually more about taking that first step, and having the tenacity or pure bloody-mindedness to keep going for as long as it takes. That’s particularly good for me since even if I might not be as smart as some, I’m probably more stubborn. :) And that in turn feeds back into what I was talking about at the start of this post.

But, stopping occasionally to admire the view is good too :) Maybe I’ll do that this weekend.

Business Political Tech Travel Web

Streaming media from Amazon S3

Thanks John for the reminder to investigate S3 as a business media hosting service, it works like a charm!

Now that I have far fewer bandwidth worries (max $0.17 per GB), the Torus Knot site includes a nifty dynamic selector so you can pick low, medium or high quality – the latter is at a higher resolution too, clocking in at about 100Mb. I may well use S3 for future public commercial downloads in the future too. It’s altogether more convenient than the block bandwidth allocations you get with regular hosting packages, since it scales dynamically at a very fine level of detail depending on demand. And don’t be fooled by ‘unlimited’ bandwidth offers, all hosting companies have to pay for bandwidth and there’s no such thing as ‘unlimited’ resources; you’ll actually find your bandwidth being throttled or cut off via a ‘reasonable use’ clause in the small-print; ‘unlimited’ is simply a marketing lure. If you want truly scalable guaranteed bandwidth, you have to pay for it.

Getting S3 media hosting working wasn’t that hard, but did require a few discrete steps. Firstly, you need to create a bucket in your S3 account which is all in lower case, is globally unique and is DNS-compatible; so for example I created a bucket called ‘media.torusknot.com’.

Then to make it all look nice you need to create a DNS CNAME entry to map a sub-domain of your site to that S3 bucket; in my case I mapped ‘media.torusknot.com’ to ‘media.torusknot.com.s3.amazonaws.com’. That allows me to access any files I upload to that S3 bucket via ‘http://media.torusknot.com/somefile.jpg’. You do just need to set the ACLs on the files & the bucket to make sure public access is allowed.

Finally, if you want to stream video files via a Flash player from S3 to another domain, you also have to tell Flash that it’s ok for the content to be pulled in from a different domain. Create a file called ‘crossdomain.xml’ in the bucket, with these contents:

<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
</cross>

That allows the media to be accessed from anywhere – you can be more specific if you want but this is the simplest approach.

Once again I’m using the excellent FlowPlayer; my only issue with it is that the ‘buffering’ animation seems to not work all the time (so be patient if you’re viewing the high quality version).

Gotta love this cloud computing business :)

Business Political Travel

Exchange rate gambling: I win for a change!

One of the problems with doing most of your business internationally is that you’re at the mercy of currency exchange rates, with the ever-present possibility of losing money just because the market changed. In the last couple of years the Pound has steadily got stronger against the Dollar, meaning it’s not a case of whether I lose, but rather how much. It has also meant that for new work I either have to stick to my Pound rates and risk being less competitive, or just accept a lower & ever-depreciating Dollar rate in order to secure the work.

Over the last month though, things have suddenly changed. The UK housing market is in free-fall, and most recently the Chancellor gave a rather unexpectedly candid interview in which he basically admitted that the UK economy is up a certain creek without a certain paddling device. Nice of him to be honest about it, but the markets aren’t used to such lack of spin and reacted quite badly (being as they are twitchy, caffeine-overdosed sheep suffering from chronic panic attacks) – and promptly leaped off a metaphorical cliff, as did the exchange rate. Perhaps the Chancellor’s honesty is attributable to those eyebrows – I’m guessing they make bluffing considerably more difficult :)

Lots of people are now lamenting on the news & talk panels about how this will affect the price of imports, but there’s never a shortage of people to go on these programs declaring that we’re all doomed and we might as well throw ourselves under the next passing bus. Personally I find it rather ridiculous because these are the same people that were lamenting when the rate went up in the first place, because it would cripple all the exporters in Britain (and we might as well throw ourselv….you get the idea).

Personally, I’m glad – the Pound/Dollar rate has finally returned to about what it was when I went into full-time business in 2006 ($1.77 ish), having dropped over 10% in a month. I wouldn’t mind if it dropped a bit lower – I was quite happy when it was about 1.6 personally. Sure I’ll pay more if I buy something from the States, but far more money comes in my direction from there than the other way around.

So, to the Chancellor: thank you, Darling! ;)