Yes. That’s right. I did it. I used a sed expression as post title.

I’ve been very quiet as of late, though in my defence I’ve been very busy for a few months. In the middle of that I had a potentially life changing decision to make, and then I was dealing with the ramifications of the choice I made.

As you may have gathered from the post title (even if it mostly looks like crazy speak to you), the choice was whether I should accept a job at Google or not. Believe it or not, it was a choice, and a fairly hard one. There are various reasons for this. I’m not going to go into all of them, though I will go into some, but let’s start with a little bit of background.

It started with the receipt of a LinkedIn message with the subject “Hello from Google.” and ended with me standing in a car park being offered a very good job. Regarding what happened in between: the Google interview process is lengthy and pretty hardcore. Reputedly the most hardcore in the entire of the tech industry. But having a gruelling four and a half hour viva a little over a week before your main interview can make it seem like a walk in the park, albeit a mentally tiring one.

So then I was left with a choice. I could stay at my good job at a small but growing company with a lot of potential, at which I knew I had some prospects. I’d still be working in an industry which I know, and which to some extent knows me. I’d stay in a city I love (and have loved since the moment I set eyes upon it ten years ago), surrounded by a wonderful group of friends.

Alternatively I could accept an incredible opportunity to work at one of the most exciting companies in the world, which is famous for treating it’s employees incredibly well, and has projects which excite me more than I can adequately express in words. But I’d be changing industries and I good portion of my existing knowledge might be useless (or more useless, as the case may be). I’d have to move to London, a city I like but don’t know that well, and feel slightly intimidated by. As luck would have it, though, I do have a group of close friends living in London, who are also awesome.

It was a very hard choice, and it came down to a couple of things:

  • A former colleague put it to me that if I turned this offer down I’d hate myself for it every time I had a bad day (or spent a year putting my life on hold for a field trip which was consistently two weeks away from happening);
  • Another colleague suggested that I would be swallowed up by Google. A tiny cog in a huge machine. Which is potentially true… and a little scary. But… the other analogy people use here is “small fish in a big pond.” There’s a distinction to be made: fish grow, cogs don’t. Unless you put yourself in a bigger pond, you’ll never find out if you have the potential to get any bigger.
  • It would be nice to not work for the oil companies and the military. Not necessarily because either party is evil, but because of the shear amount of red tape involved.
  • I’d been feeling as though I’d been stuck in a rut for a while, and really wanted to shake things up somehow.
  • It’s frickin’ GOOGLE!

So. Here I am. In London. Staying in wicked temporary accommodation. Tomorrow is my first day at my shiny new Google job, and right now I should really go to bed!

PS More updates coming soon I swear, though it may be a month before I can get back to my Clockwork Aphid project, for logistical reasons.


What todo?

The return train ride after a visit to my parents’ house is, if anything, more pleasant that the outward journey. This is not least, of course, because it ends in Edinburgh, rather than Doncaster*. Be that as it may, this is perhaps a good time to pick up the thought I left hanging at the end of my last entry, in which I talked a little about ways of keeping notes and writing down ideas. Having dealt with information, we now come to action. From stasis, to process. Less obliquely: what, exactly, are you going to do about those ideas?

For the longest time I never kept todo lists. I tried to keep my goals and the individual steps required to reach them inside my head. Sometimes this worked quite well; thoughts are things which are simple to rearrange and update as requirements change, after all. Other times, not so much. In short: I forgot things.

My first attempt at organising these things was quite simple. I wrote a todo list down in my lab book. Paper is always I good place to start for a lot of things. Simple is generally a good place to start, also. I’d say this worked almost flawlessly on the occasions when I finished every item on the todo list I wrote on a particular morning by the end of that day. The problem appears on the days when this doesn’t happen. You don’t always carry out the tasks in the order you wrote them down, because that doesn’t always make sense, and there’s no way to rearrange the order of the items short of rewriting the list (yeah, right). As result, you end up with a partially completed list to be carried over to the next day. Worse still, often times a single item will subdivide into numerous smaller tasks when you come to take a closer look at it. So now you have two lists on different pages of your book, with some miscellaneous notes (and quickly jotted down take-away orders) separating them.

Version 2 worked a lot better, and I still use it from time to time. Basically, you write each item down on a post-it note (the 2.5*7.5cm ones are ideal, though a little hard to find) and stick it on a flat surface close to where you work. You’re then free to re-arrange them to you hearts content and, best of all, when you finish an item you get to take it down, screw it up into a little ball, and throw it in the bin. Very satisfying. Take that todo list! Obviously this isn’t as mobile as version one, though you can pull the post-its down and stick them in a book to take with you. If you always work in the same place it’s pretty great though. It’s also fairly obvious, so apologies if I’m not telling you anything new here.

What version 2 doesn’t do is allow you to easily add things wherever you are, share your todo lists, or integrate into your more everyday todo type scenarios. In particular, I do not recommend using this approach for shopping lists. That isn’t going to work. As a result, I started looking at more computer based approaches (surprise, surprise). I gave Remember The Milk a try for a while, but the browser based approach doesn’t work for me. I like applications to integrate with my desktop.

This was around the time that the brilliant OmniGroup announced OmniFocus. I already use (and love) OmniOutliner and OmniGraffle, so this looked like a pretty good bet. Plus they later announced that an iPhone version was coming as well. Perfect, or so I thought. As it turned out, I much prefer Cultured Code’s Things, however. It is, quite frankly, the desktop todo manager of my dreams. It’s Mac only though, which doesn’t help me if I think of something at the office, or on the bus. Fortunately, there are also iPhone and iPad apps available, which are equally sweet. They like one crucial feature, though: web sync. Sure, I can sync them over wireless, but this is much less use to me. I have to actively do it, rather than just fire up the application and wait for the magic to happen. It’s on the road map, but I’m still waiting. Side note: OmniGraffle does have web sync, but I don’t like it as much, and it’s a lot more expensive. It might be perfect for your needs, however.

Which brings me sort of full circle, to my shiny new Clockwork Aphid project. At this point I’ve mostly just been implementing things as the mood takes me, maybe planning a couple of steps ahead. I probably need a bit more structure than that. The post-it note and Things based approaches both have their benefits, but their are a couple other things to take into consideration. First of all, I’m using the fabulous BitBucket.org to host my source code, and that come with a handy issue tracker. Especially handy should anyone else join the project once it get a little bit more fleshed out. Another interesting possibility is the Mylyn plug-in for eclipse (my code editor of choice), which provides you with a “task based interface.” In other words, it hides the clutter and shows you only the parts of your project you need to care about for the particular task you’re working on. That’s quite interesting, but works best when you link it up to a central issue tracker. Frustratingly, it doesn’t work with the BitBucket issue tracker. It does work with Atlasian’s Jira, however, and Atlasian recently acquired BitBucket, so hope is not lost.

These approaches are clearly better tailored to what I’m actually doing, but neither is as user friendly as either the post-its or Things, especially when it comes to adding new tasks, and that’s the bit you need to do quickly, brain-dump style. The search continues…

I, of course, welcome any alternative todo list solutions you’d like you leave in the comments. <subliminal>Please comment on my blog.</subliminal>

* Know this: no written text, regardless of italicisation, can accurately reproduce the tone of my voice when I say the word “Doncaster.”


The Journey Home

Authors note: This post was actually written on Sunday. As it turns out, writing it on the iPad was no problem at all, but actually posting it (with the picture and links) was a different matter entirely.

You know, the train journey from Edinburgh to Doncaster is really quite beautiful, for the most part. A reasonable amount of it happens within sight of the sea and most of the rest passes through open country. The Yorkshire dales is a landscape I find quite pleasing to look out over, unless I’m driving through it, in which case I find to to mostly feel endless. Some of the towns you pass through have more charm than others, of course. Newcastle isn’t without its fans, and Berwick-Upon-Tweed is gorgeous, but I can’t see anyone wanting to put Doncaster on a postcard any time soon.

Why the sudden reflection? I’m on the way down to visit my parents for a couple of days and for the first time in years I’m not taking a “real” computer with me. The implication here, of course, is that I’m taking something which is not a real computer, or at least something which some don’t consider to be one. I picked up an iPad on my recent work trip down under (AU$ was doing quite well against USA$ at the time, which knocked a considerable amount of the price as far as I was concerned) and that’s a gadget I have with me. Yes, I’m typing this on an iPad. I actually typed the majority of this post on it as well, using the on-screen keyboard, and it wasn’t too bad at all. The biggest problem was that it reduced to effective screen area so much. Right now, though, I’m using a bluetooth keyboard for the typing. The iPad itself is resting on the crappy little shelf  attached to the seat in front (angled using one of these cases, which I highly recommend), while the keyboard is sitting on my knee, actually under the shelf. All in all, this setup is one hell of a lot more comfortable than a laptop would be in these circumstances. So that’s definitely a win.

I didn’t buy this thing to replace a laptop exactly, though. That would be silly. Nor did I intend to replace a smart phone with it. That makes no sense. What, then, is it actually for? This seems to be the number two reaction to seeing the thing in my experience. Number one being “cool!” and “it looks just like a giant iPhone!” being quite high up the list, as well. No, what I intended to replace with this gizmo is one of these:

As a general rule, I need to write thinks down more. I should probably make more notes of ideas and such which occur to me when I’m not in a position to do anything about them, and I find that todo lists are basically a necessity when it comes to keeping myself organised. Paper is pretty good for this, as a general rule. I’m pretty fond of my squared paper moleskin journal and when it comes to just scribbling things down I’d say it’s pretty much unsurpassable. But, and there’s usually a but, carrying it around at all times isn’t exactly practical and it doesn’t have an erase (or move) function, which isn’t ideal when you suddenly realise that the diagram you’ve been working on for the last half an hour really needs to be about an inch to the left if you’re actually going to fit the whole thing on the page.

If you’re using Evernote for your notes, though, then jotting things down with a phone (which I do carry at all times) becomes an option. Throw in a couple of other applications and scribbling, brainstorming and generally playing with ideas does become a legitimate possibility. A possibility contained in something no larger than a Moleskin, which does have an erase, and indeed a shift-a-bit-to-the-left, function. Todo lists are a different matter, though, and I’m going to come back to those later.

As a final note here, it should probably be quite obvious that I’m not going to be doing any clockwork aphid related work in the next couple of days, as hacking is not currently a legitimate possibility on the iPad. Someone really needs to write an app which interfaces with Eclipse (or any other IDE) on your desktop and turns it into a context sensitive programmer’s assistant keyboard type thing, though. Expect good things to show up towards the end of the week, however.