Safe and Sound
August 2011
You may not know this but this blog has been xml based since its inception (in fact there's a longstanding, not yet achieved, task to 'replace' it with a 'better' persistant storage mechanism -- clearly I must agree then, that the perfect is the enemy of the good). But anyway... don't worry. I'm not about to do anotherblogaboutxml.
My point/warning really is that the root node of my articles xml is 'articles' as you might expect. The root node of the blog/front page however has always been 'Rambling'... ...so let the <ramble> begin...
Some time ago I had an idea for a blog post talking about various developer 'personas'. Mainly to give me a chance to talk about the many hats web developers are required to wear day to day. That never came about, however a clip show, or the internet, or a random thought reminded me of this:

Now, I've talked before about developer humility and what to look for when applying for a job. However there is another, perhaps even more important, thing to consider when plucking for a place to work or finding people to surround yourself with:
Can you be the Ronnie Barker in the comedy sketch that is your career?
Perhaps, you may say, it's obvious that you will want someone to look up to. Someone to aspire to be. Moreover you may want to actually be the 'top dog' (the Cleese in this ever imagination stretching metaphor that is my mid year ramble).
My argument would be that you want, for as long as possible to be Barker. You want to learn from someone but also to be able to teach those Corbetts among us. You don't want to rest on your laurels, don't want to avoid being questionned by someone who may actually know more than you and you definitely don't want a superiority complex.
On the other side the teaching of others 'below you' is in itself developing your understanding. Never underestimate the power of trying to teach someone else something that you think you understand.
"It is the way of the world, Baldrick. The abused always kick downwards. I'm annoyed, and so I kick the cat. The cat pounces on the mouse, and finally, the mouse..." "...bites you on the behind." Edmund B.
You need to be kicked every now and then and to be honest to realise that you never will be Cleese. In fact agree with yourself now that you won't ever be. If you think you are then you've stopped trying to get better or are just plain ignorant of the vast skill and ingenuity that is out there now and was there before allowing you to stand on their shoulders.
If you can't find these roles within your organisation (and many of us can't) put yourself out there, find Cleese at a conference or a Corbett to mentor or help on stackoverflow.
Falling out of Kindle love
July 2011
While reading a book the other day (C# in depth if you're interested... I'd recommend it to all you .net lovers out there.. yes you.. both of you) I suddenly realised something. I was holding a book.
Now the odd thing about that of course is that I own a Kindle and that, as we all know, replaces books.
Don't get me wrong.. I was very much on the Kindle bandwagon and to some extent I stillam. I've just noticed something recently about my reading habits and how the Kindle has affected them. So, bearing in mind this is the internet and I have a blog I thought I'd over generalise my personal experience and draw conclusions about the world at large... with no authority or legitimacy. Ya'know, as you do.
When I first got my kindle I was all over it, downloading books willy nilly, starting multiple books at once... but ultimately... not really finishing them. Looking back I was quick to take recommendations and download books that I was, shall we say, 'half interested' in. Admittedly I should probably have gone with sample chapters... but hey... it's so easy to just 'buy now'!
With regard to the book I was reading, I even had it on my kindle... and yet I chose to read it via ink imprinted on the remnants of a dead tree.
To me this is beginning to mirror my initial feelings towards digital music. If I wanted to listen to something I would download it via iTunes or similar, but if I really wanted it I would buy the physical disk. With music this categorisation works out ok as you can consume it differently: from casually liking/listening to really loving and focussing on it. With books this is harder. I mean, can you 'casually read'? maybe for a bit... but you're not going to last the whole book.
To be fair my aversion to buying/leasing digital music is less true now. The ever growing grumpy old man in me has caught up with the cool kids. But I think it's going to take slightly longer for digital books to bypass this.
With music the feeling as a user is fundamentally the same. If you closed your eyes, but for the particularly atuned ear, it would be hard to differentiate the experience. With a book it's entirely different. There's the 'affordances' factor: with a kindle I can't feel it's weight, flick back and forth, hold one page open as I glance back at another or even display them for guests to admire.
And yes... I have many leather bound books and my apartment smells of rich mahogany.
Last night I dreamt something existed that didn't..
April 2011
Part of my role at Headscape has included looking at our development processes/practices. There's a blog in this (and it's coming soon), but as a brief teaser to that:
I'm using Cruise Control.Net to automate MSBUILD builds from our source control provider. Originally this was happening on a regular interval... but that's just annoying (if you get annoyed by such things) and led to waiting to see if it had built, or worse just force building anyway. Luckily Github and CodebaseHQ both have post commit/push hook mechanisms that we can take advantage of.
As you'd expect these processes post some data to a url of your choice when a push is received for a particular repository.
- Great Stuff: I can simply post to a url to build from
- Not so great stuff: I have no control over the hook other than the url it goes to
So, taking codebasehq as an example the post data they provide is json (as listed in their own repo). This is fantastic but the notification centre itself only allows creation of notifications to the project level, not repository level. So the repository name has to come from the post data itself (if I wish to build the CCNet project with the same name) i.e. I cannot use the url alone to identify the repository.
To join these two tools together I ended up making a small Application that could accept the post from Codebase and essentially forward it on to the appropriate CCNet build request. And so CIBridge came into existance, leading to the following workflow:
Commit Locally -> Push to Codebase -> Codebase Notification notifies CIBridge -> CIBridge forces a CCNet Build -> CCNet publishes the site
A better way?
Ok, so what I thought might be cool.. is customisable posts from these hosted source control providers. Something along the lines of a screen that allows you to build up a list of post variable 'templates' with keywords used to be replaced by the hook info during generation of the post.
So I could, for example, say 'I want one form variable called 'Repository' with the contents { name: %REPO_NAME% }' (where repo name is replaced by the repo that caused the notification).
In this way I could use the hosted source code provider directly, without the need for the bridge, nor for specific support from my current or future build server.
Am I missing something?
CIBrdige was a quick fix to get it running. Is there a better way?
SXSW 2011: The tale of the lost man points
March 2011
So we're here... just, but with far less man points than we started... to be fair I think I've lost out to Ryan on this one
- The first points slip from my grasp...
-
"Hey Rob, where's Marcus live again?"
"I dno you're driving"
"...shit"
- It gets better
-
"So you guys got some money for the taxi"
"...money?"
- Ryan get's onboard with the shame...
-
"You've got a boarding pass for the connecting flight?"
"Yeh, don't you?"
"...shit, we haven't"
- It's ok we got the passes... kinda...
-
"Dude, I'm so unfit, least we're on the tram now. What seat are you?"
"22B"
"Same here... hang on?!"
- Least we kept our morals...
-
"You on this flight too?"
"Yeh, heard they've delayed it a bit for us though"
....
"I'm afraid there's only five seats left"
"THERE'S FIVE OF US"
...
...sorry girls
For more info see...Ryans post :-)
The start of a brand new year (2011)
January 2011
Year in review and resolution posts may seem a bit passe, cliche and anything else that ends in an 'e' that sounds like an 'a'... but let's get one out of our (my) system anyway.
Rather than an elongated reflection over the year - what I have started, not started, bought, not bought, I'd just like to take the opportunity again to reiterate how amazed I am at the differences in the world in just this decade. This video still sums up the awe that we, for me, still need. Ten years ago we're talking pretty much no google, a pre-gamecube, pre-youtube, pre-firefox, pre-wikipedia era where everyone had a Nokia 3210 (we also had a 9th planet!). Come on... that's awesome and has to bode well for the next ten.
So if that's the review bit what about the resolution bit? Well rather than a set of resolutions here's a bunch of things I did on Jan 1st that you might like to too... in prep for the year and all that...
Small things
- Reset iGoogle to stuff I actually pay attention to
- Clear out my Google Reader (particularly things I follow because I think I should rather than because I am actually interested)
- Review app authorisations (facebook inc privary settings, fireeagle)
- Use lanyrd.com to find a few interesting events to register for
- Create pile of charity shop books/cds/dvds
Changes
- Listen to classical music when wanting to get things done (I had a Vanessa Mae CD that I used when revising for GCSE's - no lyrics - works) - also try Zero 7 or even PPPPPP
Semi-weird things
- I added a bunch of my worst time wasting sites to my hosts file and created a default website that effectively points to a local copy of this /GetBetter. Just as an added kick up the arse when I find myself procrastinating.
I think my overidding resolution then, if that's appropriate, is just to continually keep in mind the idea of being and getting better - plain and simple. The last few comments of Robin Ince here really resonate with that idea.

