Blog, 05 May 2010 14:07:17 +0000en-USSquarespace V5 Site Server v5.13.356-121 ( againrobWed, 05 May 2010 13:59:08 +0000 stopped blogging last year for two reasons:


  1. I'd started a new job and I had no time
  2. I was utterly sick of handling the spam comments. I was getting 1000+ spam comments a day and I just couldn't be bothered moderating them any more.


I've now moved my blog over to where the moderation tools are even worse, but the spammers are less likely to be able to get to me (hopefully).

Wish me luck.



The Costa Coffee on the A91 to Stirling irks me greatlyIrkrobFri, 21 Aug 2009 09:04:07 +0000
Costa seem to not want to sell me a large cup of tea. They have cups, they have tea, they have water, I have money. But for some reason it is an issue.

When I order a large tea, a random selection from the following list will happen:

  1. I get it.

  2. They refuse to give me a large cup, telling me I can only have a medium or a small.

  3. The ignore my request for a large cup of tea and give me a medium cup.

Number one makes me happy, although my enjoyment of the tea is spoiled because of the tension from not knowing if it is going to be a hassle getting it.

Number two annoys the hell out of me, so much that I'd rather not have gone in.

Number three makes me really, really mad. You're deliberately giving me something that isn't what I asked for.

This morning was a #3 day and I lost my patience. As she was pouring water into a medium cup I turned and walked away. Walking away, never to return. I will not ever purchase anything from any Costa Coffee again.

I did a quick calculation, and I was on track to spending - between beverages and breakfast - close to £1000/year with them. That's enough money that, I finding the idea of not giving it to them satisfying. The fires of my wrath will warm me where their tea has failed.]]>
I am Rob: Hear me roar!AgileClojureJavaKanbanLeanManaging SoftwareProgrammingQualityRubyScalaToCValuerobFri, 21 Aug 2009 08:46:59 +0000 conference in Dublin next week. I've got two sessions lined up:

  • Next Generation Languages for the JVM

  • Lean, Kanban and Theory of Constraints for Managers

Something Cool, Something Not : Media Companies, Barcelona & ScrofulaFunrobThu, 20 Aug 2009 21:54:31 +0000 very cool video. Irrespective of how you feel about aquariums, you have to admit it is pretty.

I really liked the song and, since there was a link on the page, I decided to buy it. But of course, Apple and the record company have decided that they don't want to sell it to me because I live in the UK.

If this was the first time I'd had such a problem, I would write it off as an aberration. But it isn't, it happens all the time and it really pisses me off.

I don't know anything about the record companies business model, or the realities of life as an up-and-coming artist - but if your business plan involves artificial market segmentation to the point where people can't buy your products.. you deserve nothing but scorn, poverty and, if all my wishes came true, some sort of painful and inconvenient ( but not necessarily fatal disease. I don't know what Scrofulous is, but it sounded funny when Terry Pratchett used it, so, for now, I'm going to hope for that.

Barcelona, keep up the good work, I hope the Scrofula doesn't get in the way of your singing, nor the poverty and attendant malnourishment distract you from your musical endeavours. I'm sure that the scorn will only aid you in your artistic struggle.

Bob was REAL!!!FunManaging SoftwarerobThu, 20 Aug 2009 20:13:07 +0000 article from Monica Harrington caught me by surprise for two reasons:

  1. Bob was real! I remember seeing MS Bob - way back when, but I genuinely thought it was a gag. I'm both flabbergasted and a little disappointed. For years I've thought kindly about Microsoft because I remember how hard I laughed.. discovering that it wasn't a cunning joke is... oh, my.

  2. There's a lot of wisdom compressed into a short article.

EstimationAgileFunHumane DevelopmentManaging SoftwarerobMon, 20 Jul 2009 08:23:00 +0000 "They could say "

(From the genius that is

Eating Steak With A SpoonClojureJavaProgrammingRubyScalaSoftware CraftsmanshipValuerobWed, 15 Jul 2009 09:25:20 +0000 the Era of Patronizing Language Design

I linked, indirectly, to this article the other day and, after reading it again, I agree completely. Well, I agree completely with the notion that we should stop accepting "we didn't put that feature into the language because you're too stupid to use it" from language designers.

You really should read the comments accompanying the article, some are wise, many are interesting, unsurprisingly many seem to be commenting on a totally different article.

Now, what this doesn't mean is that every language should have every feature, it just means that presumed incompetence isn't an acceptable reason for not having it. Languages need to be designed with taste, discrimination and a desire to facilitate developer productivity.

For too long we have been told by programming language designers that we should eat our steak with a spoon because knives are too dangerous.

What sort of features am I thinking of here? Well, Java is a major culprit of the "you're too stupid" mindset.

Automatic memory management : This isn't the sort of feature I'm talking about. This is an enabling feature, something added to the language to help developers. Does it have drawbacks? Sure it does, there are times when direct-to-the-metal can be useful. But a decision was made here to facilitate in one area and compromise in another.

Operator overloading : Can it be used for evil? Sure. So can talcum-powder.. that doesn't mean we should ban it and force our babies to suffer from trench-nappy-region. There are many cases where operator overloading makes sense and its absence in Java is painful. Exhibit 1 'BigDecimal'.

Immutable Strings : Another case of "not what I'm talking about". Mutable Strings can be useful and powerful, but not having them brings advantages too. This was a conscious decision.

No meta-model : Without a meta model programmers dive into byte code manipulation and magical "doesn't work like anything else in the language" constructs like DynamicProxy. Can meta-programming be hard and weird? Sure, so is physics. Shall we ban that? It isn't the same, I hear you cry. You're damn right it isn't. Those guys created the atom bomb, and we still let/encourage/train/pay people do it. Heck we teach physics to CHILDREN. There are times in this world, when nuclear fission is just plain useful.

The list goes on.

Sharp vs. Blunt InstrumentsJavaProgrammingRubyScalaSoftware CraftsmanshiprobMon, 13 Jul 2009 21:46:25 +0000 vs. Blunt Instruments: "If you want your team to produce great work and take responsibility for their decisions, give them powerful tools."

(Via Glenn Vanderburg: Blog.)

Hallelujah brother Glen. Everyone say, "praise the power". C'mon now, say it with me, "praise the power".

Appleby vs Hacker - Ooh, yeah. Run, don't walk.FunrobThu, 09 Jul 2009 22:21:08 +0000
Sir Humphrey : "For those of you who've not seen it, and those of you who have - and therefor want to see it again - assuming, that is, the sanity, soundness, fitness, health, quality, control and general 'fit for purpose' utility of your mind, that is your brain, control centre, seat of consciousness etc. The greatest (a word I use not lightly, nor without appropriate consideration, contemplation and cogitation) comedy show of many, most, or indeed, perhaps all decades, including but not limited to those after the invention of television - although, of course, those decades before, preceding, that is, those that are, if you would, antecedent of the years and decades in question, are automatically disqualified on grounds of technical ineligibility which presupposes, induces and creates an inability to compete - has been released via iTunes."

Jim Hacker : "Sorry, what was your point?"

Sir Humphrey : "Yes Minister has been released on iTunes. And you should go and buy it"

Jim Hacker : "Yes Minister?"

Sir Humphrey : "Yes, Minister."

Jack Cough : Scala Over Ruby - His Debate Ends - Mine Meanders Conclusion-wardJavaProgrammingRubyScalarobThu, 09 Jul 2009 21:41:16 +0000 Cough on Software: Scala over Ruby - My Debate Ends: This article struck a chord with me today.

I spent most of today flipping back and forward between Ruby and Scala. I'm working on a project where I'm writing some Ruby talking over sockets and streams and files and I needed something JVM flavoured on the other end.

The JVM end was just some driver code that was going in the bin. I had IDEA open because I was using it to write the Ruby side ( at which it is fantastic ) and a simple Scala script seemed easiest - that's where my head has been recently so it seemed most natural.

Things did not go so well - the embedded Ruby that I was using was badly mangled and had chunks of the standard libraries missing. I ended up spending the day bashing away at various ways of solving the problem. With each change of direction I had to rework both the Ruby and the Scala side of the solution. I noticed something odd.

Version 1.0 was a bit faster to write on the Ruby side. I'm a better Ruby programmer than I am a Scala programmer, but that aside I feel that it was slightly easier to express the problem than in Scala. But as the day went on the Scala code became easier to work with whilst the Ruby code had good and bad patches. Significant refactorings or changes of approach often led to runtime errors in the Ruby code. This wasn't a problem in the Scala code. The IDE, compiler and type system caught most of the problems well before I got the application running.

Have I abandoned Ruby forever? No, it is near and dear to my heart and it is still better for bashing out scripts for which there will be no version 2. The benefits of Scala didn't become apparent until 4 to 6 hours into the piece.

Some questions come to mind:

How well would the Scala fare long term? I don't know. It is possible that I won't understand it tomorrow and that every day will have a 4 to 6 hour ramp up time. But I don't think so. I think I'd reap more benefits tomorrow than I did today.

How would Java have fared? I worked on a similar problem the day before and I used Java. It was a pain in the patooty in many ways, but I'm not sure if it comes above or below the Ruby version though. Many of the same characteristics that Scala has were apparent in that session too. I am sure that I found the Scala experiment more productive - despite the fact that I'm a much, much better Java programmer than I am a Scala or Ruby programmer.