Archives for April 2007

The secret service for the rest of us

Terry Frazier writes about global corporations forming their own intelligence services:

This makes sense, of course. As these companies plan long-term deployments across the globe they can little afford not to know the risks involved. And the intelligence fiasco of Iraq WMDs showed how unreliable government intelligence can be.

Indeed it does make sense. What a pity the rest of us are left with the unreliable and politically bent services that we can't trust.

I've often wondered how feasible it would be for us to setup an intelligence service to watch them (most recently I was wondering whether there are intelligence services at work in Second Life). After all; What is an intelligence service other than an organization that collects data from the edge and analyzes it for the benefit of its customers?

Blogs and other read/write web tools give us all the ability to gather data and, in our own fashion, analyze it and pass it on. We are each miniature intelligence services for a varied clientelle and, although we too are biased, our bias can be adjusted for since it is more easily determined (over time).

The weakness of such an approach is that it creates volume and chaos. Who would try to digest the blogosphere whole? What's needed is a way to overlay a guiding intelligence to help us answer meaningful questions using this sea of semi-processed information. We need aggregators that help us organize what's related and then form patterns that we can recognize and act upon.

Technorati could have been this if it ever worked right but it never will. Google could do it but they're as opaque as MI5. Digg, Reddit, and their clones bring more humans into the mix but are already showing their problems. Paolo, Simone, and I tried to do it in 2003 with K-Collector. In fact I'm not aware of anything more effective being developed in the years since then. If there is something I'd like to see it.

Maybe it's the right time to have another go at this.

30/04/2007 23:07 by Matt Mower | Permalink | comments:

What a shock

According to the reports on the Radio today MI5 are claiming that the reason they were unable to follow-up the July 7th bombers was because they are under-resourced. I don't know if this is true (how hard would it have been to tip off special branch? Why isn't that standard operating procedure?) but assuming for a moment that it is I think we have to ask ourselves:

When we are spending nearly FORTY BILLION POUNDS per year on defence why are the intelligence services unable to do their job?

Perhaps when Blair and his cronies are out of the way that it will be possible to mount a proper examination of the last 6 years and how we've managed to flush so much of OUR TAX MONEY down the toilet pursuing Bushes war agenda in the middle east?

It would be nice if the same amount of effort could be expended on that story as the nauseating coverage of whether or not bloody Prince Harry will go to Iraq. Send him or don't fucking send him, I don't give a rats ass. The entire royal family can tour Basra in an open top bus for all I care for them.

30/04/2007 22:59 by Matt Mower | Permalink | comments:

Takes one to know one

What a surprise to hear on Radio 4 tonight that Bush has come out in support of reviled Israeli premier Ehud Olmert. He presumably recognizes in himself those qualities of leadership that have made Olmert's time in office such a success. Mind you Olmert looks like an amateur compared to Bush. He was only responsible for the death of 500 Lebanese and 100 of his own people. What's Bush's tally so far?

30/04/2007 22:48 by Matt Mower | Permalink | comments:

I'm a Solipsist, and I must say I'm surprised there aren't more of us.

I have my D20 at the ready. Let the ethics campaign begin.

p.s. Yes I know the title doesn't fit, it's more a reference to Chris' comments re the metaphysics campaign. Oh and it makes me chuckle.

26/04/2007 11:38 by Matt Mower | Permalink | comments:
More about:

A small moment of pleasure

Last night I submitted my first Cocoa application, Diffly, to Apple Downloads. I have to say I was a wee bit miffed by their response:

This is the only notification you will receive. If you do not see your product listed on Mac OS X Downloads after 90 days, you may resubmit it for consideration.

however, this morning, all is forgiven as I have the pleasure of seeing Diffly listed on Apple.com. Thank you the gods of Apple Downloads!

When I switched to the Mac one of the reasons I did so was because I loved the way applications on the Mac looked and worked. Later I resolved to write a Mac application myself and now it feels like I've really made it. Is that silly? I don't know, but it's a small moment of pleasure to start my day ;-)

I haven't quite decided what my next application will be. Probably something a little bit more ambitious and challenging.

26/04/2007 08:49 by Matt Mower | Permalink | comments:
More about:

What do you mean, "bad"?

A couple of days ago I wrote about a nasty spot of debugging relating to a "ghost object". Well the answer to that one required a bit of digging in ActiveRecord to see what's happening. In fact it was nothing malignant but some code that was incorrect with respect to the behaviour of ActiveRecord AssociationProxy's.

An AssociationProxy represents the relationship between two models, e.g. a User is created by another User which is implemented as a has_one relationship called created_by. When you say:

u = User.find( ... )
u.created_by

That method causes a BelongsToAssociation to spring to existence and be available as @created_by. The proxy maintains the relationship with the actual instance of User that is the creator and delegates to it so that you can say.

 u.created_by.login
 => 'system'

Our problem is related to the decision that was made as to which methods the proxy responds to directly and which it delegates, and what happens when the relationship has no end (e.g. a NULL value). In our example the User system has no creator. Indeed if you say:

u = User.find_by_login( 'system' )
u.created_by

=> nil

the answer is correct. And that's what flummoxed me at first but, ultimately, lead me to the right answer. Because:

u.instance_variable_get( "@created_by" )

would return the ghost, but only after u.created_by had been called. Before such a call instance_variable_get would also return nil. What was going on? And why use instance_variable_get at all?

The answer to the latter question is simple. When you start reflecting on associations it is quite natural to write code like:

self.class.reflect_on_all_associations.all? do |association|
  association_proxy = instance_variable_get("@#{association.name}")
  ...
end

although I agree one could write:

self.class.reflect_on_all_associations.all? do |association|
  association_proxy = __send__("#{association.name}")
  ...
end

just as easily. However the latter code would force the association to be instantiated where the former would not and, in our case, that turns out to be important, but I digress.

Once I started spelunking in the ActiveRecord code the circumstances of the appearance of the 'ghost' lead me to realise that it is an AssociationProxy that is proxying nil (as the end of the NULL relationship). Now the AssociationProxy class deletes most of it's methods retaining only __send__, nil, and a couple of others. Retaining nil is important. It means that:

proxy = u.instance_variable_get( "@created_by" )
proxy.nil?

=> false

even when there is no object as the target of the proxy. However, because it deletes it's own class and object_id methods (delegating them to the target via method_missing) these respond differently:

proxy.class
=> nil

proxy.object_id
=> nil

In cases where the target is nil the method_missing ends up returning nil and presto we have an object that is not nil but appears to have no class or oid!

The answer, on realising this, is to remember it's a proxy and check:

proxy.target
=> nil (or not)

which tells us whether there is anything legitimate at the other end of the association.

It's one of the downsides of the magical nature of ActiveRecord that it can trip you up if you're not paying proper attention.

23/04/2007 14:42 by Matt Mower | Permalink | comments:
More about:

It's entirely personal

I recently got forwarded a LinkedIn invitation that originated with someone I didn't know of who I guess has come across me in the UK ruby scene. I mulled it a bit but eventually I had to decline. The reason why is in my response:

Thank you for the invitation however I cannot accept at the moment. In order that I am able to make introductions and recommend people in my network to others I cannot accept invitations from people I do not know.

This has happened a few times now and frankly it doesn't get any easier to say "No". It's not meant as a slight but I'm not sure how I would feel if the situation were reversed. However I believe my reasons are sound.

When I started using LinkedIn back in 2003 I did what I guess a lot of people did, I accepted invitiations from whomever sent them. Inevitably this meant becoming connections with a lot of power networkers, people who seem to view networking as a game where the largest number of total connections "wins." The upshot was that I regularly got LinkedIn requests where I had no real knowledge of the parties involved and it made me very uncomfortable.

I found myself asking what value I was adding to the process and how I could act in good faith. By late 2004 I decided that I needed to change my strategy. I asked LinkedIn to break my connection with the more obvious power networkers and then I started to be more thoughtful about then invitations I would accept. Although my network shrank (and has grown more slowly since) at least it left me in the happier position that I know the people in it and I am comfortable about making or forwarding a request and asking a favour if need be.

The claim I have heard (and particularly from power networkers I have met) is that the value of the network is in it's edges. I think this is true with certain caveats:

  1. not all edges are the same, in a network of humans the edges are weighted
  2. network topology is important, it may be less effective for every node to be connected

If we think of the weight of an edge as representing the essential value of the relationship then I think the power networker, despite their many connections, is probably subject to the law of diminishing returns. You can't spend quality time with vast numbers of people so the value of your relationships with each is probably infinitessimally small, ergo the overall value of your inflated network remains low.

My belief is that a smaller network of higher weighted edges delivers as much value because of network interdepdencies. Much like blogging has meant that I don't need to read everyone (because there are so many summarizers out there collecting information from the edge for me), real networking means I don't have to know everyone - just enough of the right people. Indeed the need to connect to everyone in sight may be somewhat pathological behaviour.

So my reasons for being careful about adding people to my network make sense to me. Nevertheless it makes me feel shitty every time I decline a connection and I am sorry if it's you. It's entirely personal.

23/04/2007 13:00 by Matt Mower | Permalink | comments:

Ghost in the machine

Yesterday in trying to debug a problem in our application I came across a very odd situation indeed. An object was failing to save somewhere in a chain of associations. After some rather painful debugging (made bearable only by Kent Sibilev's excellent ruby-debug package) I found the culprit.

Somehow an object o had sprung into being such that:

o.nil?
=> false

o.class
=> nil

o.object_id
=> nil

How can such a ghostly apparition come to be? It is possible to create on deliberately... redefining the class and object_id methods to return nil for example. But it's hard to see how such an object can occur naturally. Has anyone seen such a thing?

20/04/2007 10:24 by Matt Mower | Permalink | comments:

"Life is no way to treat an animal."

I'm very sad to hear that Kurt Vonnegut has died. I've enjoyed his humour, his intelligence, and his humanity. I guess that the best way to remember will be to continue to do so.

12/04/2007 09:38 by Matt Mower | Permalink | comments:
More about:

Sparkle by name

With a little help from Jamie Van Dyke we finally nailed the crash bug in Diffly. It turned out to be a sloppy piece of coding on my part with respect to handling opening work copies with a space in their path. It was totally not in an area where I was expecting to find the problem and some very early code that I wrote before I was really familiar with the Cocoa framework. It also explains why I found it so hard to track down, I still tend never to use spaces in paths if I can avoid it.

I packed up version 0.7.2 and used Feeder to update the Diffly appcast feed that Sparkle uses to update the application automatically. It's the first update I've done in anger and my test copy updated like a charm. Sparkle is good stuff and I'm really grateful to Andy for making it available for free. Feeder is neat because it makes publishing the appcast with your app enclosures a no-brainer.

I've also taken the opportunity to try Twitter again and use it largely as a way of twittering about development. I guess it's more conversational, I probably wouldn't blog like that. Thanks to Paolo for prompting me.

11/04/2007 23:59 by Matt Mower | Permalink | comments:

Scratch your own itch

It occurs to me that people might wonder why I wrote Diffly. I notice in a comment to Paolo's link someone mentioning SmartSVN. It's reasonable to ask "Aren't there 101 Subversion clients already out there? Why write another one?" Well the way I see it you might as well ask an author why he writes a novel. "Aren't there already 101 science fiction novels out there?" The reply, if it were me, would be something like "Yes, but this one is mine."

You see I do use SvnX, and I've tried ZigVersion. Heck I've even tried SmartSVN (it's a Java app, we didn't get on). For whatever reason all these apps left me with an itch that needed scratching and I'm lucky enough to be in the position that I don't need to put up with that. I can write software that does what I want to do. Also I have come to love Aqua applications, the way they work, the way they look. Diffly may be a pretty humble example of the art but I wanted to write my own MacOSX application.

So I wrote one and I've been using Diffly quite happily since about the end of January. Mostly what I find myself doing a lot is browsing changes and committing and Diffly handles those two tasks pretty well for me. When I need something more powerful I still turn to SvnX. I just turn to it less often. I'll probably add a few more things to help smooth the rough edges. For example I want the ability to hide specific files from Diffly (not from svn) for example when I have made a local change that I don't intend to check-in just yet.

In short, Diffly fits my needs. But different people have different needs. I'm not expecting people to drop their existing client. On the other hand if you find my work of use and want to use it, that makes me happy. I'd be no less happy if I were an author and you liked my book. I'd feel proud just to know my book was on your bookshelf, I wouldn't expect you to burn all other novels in your backyard.

My next itch is likely to be related to dieting and exercise.

11/04/2007 00:24 by Matt Mower | Permalink | comments:

Pain can be a great motivator (to finish your first Mac application!)

Not the best weekend on record as I seem to have developed an ear infection which is both very painful and very uncomfortable (my jaw isn't working properly). I decided that, rather than spending the day waiting in casualty to be seen by a doctor, I would take my mind off it by debugging the problem with my first MacOSX app that has been preventing me from releasing it these last few (okay 8) weeks.

So I'm quite pleased to be able to announce Diffly my first real MacOSX application written in Objective-C using the beautiful Cocoa framework.

Diffly in action

If you're a developer, use MacOSX, and use Subversion you might want to take a look.

I originally started writing Diffly because I found myself getting frustrated paging through the output svn diff | more and tabbing backwards and forwards to another tool when I was writing check-in messages. I wanted something that would give me an integrated overview of my working copy and offer me a smoother check-in workflow. Diffly is the product of that.

It's quite usable (I use it every day) and, as of today, seems to be stable on both Intel and PPC macs. I wrote it to scratch my own itch, but of course I am very pleased if others find it useful too. Let me know what you think.

Anyway I can go to bed happy for, today, I am a MacOSX software author! :-)

09/04/2007 23:10 by Matt Mower | Permalink | comments:
More about:

XCode custom build rules can give you a headache

On a Cocoa project I've been working on I am using Ragel to generate a parser by transforming the ragel source file into an intermediate Objective-C file that contains the parser class. The idea then is to use a custom build rule in XCode to handle updating the Objective-C when the ragel source changes and also compiling the derived source file.

I tried following the instructions Alan West posted about integrating Ragel with XCode but it just wouldn't work properly. I could see my derived source file getting created but the linker reported that the parser class was an unknown symbol. After digging around a bit with the command line xcodebuild I could see that my source was created, but never compiled. Instead it was being copied into the bundle resources.

I read all about custom build rules and configurations, experimented with build scripts instead (couldn't get those to work either), and googled until I came across the author Fritz Anderson's online chapter from his book 'Step into XCode'. He's using Lemon instead of Ragel but was observing the exact same issue.

As I reflected on this it was also starting to bug me that my source would end up in the bundled resources. Why the hell would I want that? That's when the penny dropped. I noticed that my custom source file (DiffParser.ml.rl) was in the "Copy bundle resources" build phase but not in the "Compile sources" build phase. Once I moved it across everything worked properly and I was able to build my executable.

I guess XCodes behaviour makes sense. It didn't know anything about .m.rl files when they were added to the project and so it's a reasonable assumption that they were resources. However if XCode had been really smart it should have noticed me defining a new build rule for *.m.rl files and checked to see if any files that were previously considered to be resources should now considered source files and offer to move them to the correct phase for me.

09/04/2007 13:07 by Matt Mower | Permalink | comments:
More about:

Let the cranes fly

Though her family was distressed with the fervor she put into folding the cranes, she always told them that she 'had a plan'.

Sadako Sasaki was a 2 year old girl who survived the atomic bomb falling on Hiroshima to die, like so many others, of leukemia at the age of 12. She spent the last 3 months of her life, in hospital, folding paper cranes out of whatever she could find.

I do not know what the future of the United Kingdom holds. I do not know what may threaten us. But I am not so afraid of it that I want to spend 76 Billion Pounds to buy missiles to fly off to vapourize more cities.

Let cranes fly instead.

08/04/2007 12:33 by Matt Mower | Permalink | comments:

And another thing

Another thing that is really ticking me off is the obnoxious way MacOSX handles external disks. At the moment I have 3 mounted on the MacBook Pro. Two are external disks (one firewire, one USB2) and one is a USB2 disk mounted over the network. All 3 disks spin-down automatically because that's what external disks do.

Now, often enough to have become obnoxious, when I trigger some action (e.g. File|Open) I will wait, beachballed, while each of the 3 disks - in turn - is spun up. Usually to open a file that is on my local disk. Since it seems to spin the disks up in turn this can take what seems like 5 to 10 seconds. It really disrupts my flow and has begun to irritate me not inconsiderably. I also see no need for it.

First I can think of no reasonable excuse why the disks are not mounted in parallel which would at least cut the way to a couple of seconds. But a better solution would be not polling the status of external disks without being asked, or allowing the dialog and action to continue while the disks are spun up & polled in the background. This way if I am actually looking for a local file I'm not having to wait to be able to select it.

I still love MacOSX. It's still a hugely productive environment. But I've been using it long enough now to be exploring the crinkly edges of it's performance where there are things well worthy of being improved on.

I hope Apple pay some attention to improving the basics in Leopard: Finder, network disk handling, external disk handling. These aren't flashy but they are crucial to your day-to-day work.

07/04/2007 11:28 by Matt Mower | Permalink | comments:
More about:

Well that sucked

I just came back from my Dads. While I was there I transferred some files between my MacBookPro and his NAS drive. I forgot to dismount the network disk before I left. When I got home I noticed that the disk icon was still on the desktop. I tried to eject it. Nothing happened. I gave it about 30 seconds then tried to eject it again, once again nothing good (or bad) seemed to happen.

I shrugged my shoulders and decided not to bother with it, assuming MacOSX would catch up in the end. I tried to mount a disk on my network. Finder hung. Then all my other applications started to hang, one by one. Usually when I tried to use the Apple system menu (to reach for the Force Quit option -- I can never remember the shortcut when I need it).

From terminal I tried to get the Finder to restart using killall Finder. Finder seemed to disappear, but didn't restart. Then terminal hung. I ssh'd into the MacBook Pro and tried to recover by restarting the window server. This is normally enough to recover from anything nasty. I killed the window server but it didn't restart leaving me with a blue screen.

I gave up and invoked the final sanction shutdown -r now. Shutdown spouted it's usually gobbledygook... then nothing. The MBP didn't shut down. After leaving it for several minutes I was forced to power the thing off.

Can MacOSX really be so damn sensitive about the disappearance of a network disk? It's not the first time I've had problems that seem related to network disks but I've never had to use the big shiny button to get out of the jam before.

The workaround is to remember to dismount network disks before changing location but I'm pretty unimpressed with this episode and MacOSX's ability to recover from what seems to me a simple enough scenario.

06/04/2007 17:02 by Matt Mower | Permalink | comments:
More about:

Clipperz: secure storage in the cloud

Seeing a post about about it on LifeHacker reminded me I haven't mentioned the launch of Clipperz by Marco Barulli and Giulio Cesare. I was introduced to them by Paolo while I was working for PAOGA because he thought we might be working on two sides of the same problem, and so we were.

PAOGA was seeking to become the individuals' secure repository for their information in such a way that it would be easy to share subsets of their information with trusted friends and partners (for example sharing information about your home and contents with a potential insurer). Our model was centralized with key storage in the cloud (we anticipated that trusted key serving would become a business opportunity). We did have some view that, ultimately, some kind of client model might be necessary where encryption and decryption happened on a users own computer - but there were signficant technical challenges that, as a startup, we didn't feel we could tackle.

Marco and Giulio were not so daunted and through incredible effort have delivered such a solution in the form of Clipperz. They took the novel approach of building their encryption engine in Javascript and delivering it to the user via the browser. Information stored using Clipperz is encrypted in the cloud and only in clear on your computer, where it is decrypted by your key within the browser session. Clipperz themselves cannot decrypt the information they store on your behalf because they don't have the key, only you do. Quite an achievement.

However, as we learned at PAOGA, secure storage alone can be a tough consumer sell. The real opportunities come from enabling secure use of information. Within the family is as good a place to start as any: an example would be the ability to securely store information you wanted to share with your spouse in the event of death or a serious accident (like where the deeds to the house are kept, or the number of your secret swiss bank account).

Marco is coming along to the Open Coffee event on April the 19th. If you're interested in secure management of personal information it would be a good chance to come along and meet him and see Clipperz demo'd.

05/04/2007 09:19 by Matt Mower | Permalink | comments:

Owww-zuki

Not technically a karate move, more the feeling you as you walk home from practice ;-)

Today is the first time I was able to go all the way through the first kata with at least a passing resemblance to how it should go. I aim to practice over the week (if I can find a big enough space!) in the hope that I can get it fixed in my mind so that I can begin working on getting the individual movements right. One good point is that I at least thought about my breathing while we practiced today.

I'm basically reaally enjoying this class. Mucho thanks to Stowe for encouraging me onto this path.

However yoga and karate have made me realise how out of shape I am. Balancing in yoga is a real challenge for me (despite the kind words of the instructor) and the karate cardio warm-up has a tendency to get me breathing hard enough that it impedes the early part of the session. I can already feel tiny improvements from when I started but I know I can do better.

I've started weight-watchers point counting again. I currently weigh 85.5kg which is almost 3kg heavier than I was in 2004 and a long way from the low of 70kg I reached in 2005! I have set myself a first target of 82kg by May 20th. I'm giving myself 24 points per day which should be just about low enough to lose the 0.5kg/week I need to reach the goal. My final goal should probably be somewhere in the region of 75kg.

Other things I am considering are going to the gym (it seems I can use the Magnet leisure centre on a drop-in basis which is good because I can't afford expensive gym memberships), Aikido, and also Wu-style Taijiquan. I use to do Tai Chi a few years back and practicing karate has made me yearn again for the harmonius feeling of doing the form in a group. There are moments of magic there.

When I think how sedentary my first year (yes I've been in Maidenhead a year) was it's amazing to me how active I have recently become.

The last thing I want to do is some teaching and/or mentoring. I did a little of this when I worked at the University of North London and I found it very rewarding. I'm looking for the opportunity to teach programming at either a basic or intermediate level to individuals or a small group. Ideally once a week either virtually or with local(ish) travel. If anyone knows of any such opportunities please drop me a line.

03/04/2007 21:44 by Matt Mower | Permalink | comments:

Let's get the ball rolling

I have sent this letter to my MP, Theresa May:

Dear Theresa May,

As I have written here:

http://matt.blogs.it/entries/00002526.html

I was shocked to learn that, according to the governments own figures (and depending upon how you read them), the UK spent between 32 and 39 billion pounds on defence in 2006.

This to defend an Island in Western Europe that seems unlikely to be at risk of military invasion. Whose tanks do we see rolling over the green hills of England? Indeed one wonders if the threats this country really does face are not in many ways related to the uses to which these many billions of pounds our tax monies have been put over the years.

I would be interested in your reaction to these figures. Do you not believe, as I do, that our spending on defence is grossly excessive given our situation?

If you do not agree I would appreciate an explanation of why an island in peaceful Europe, having the 22nd largest population in the world, needs the worlds second largest defence budget.

On the other hand, if you do agree, I would appreciate it if you could outline how conservative policy will seek to readjust this such that the tax burden can be reduced and remaining taxation addressed to items of greater concern to the population at large (e.g. health, education, poor relief).

I believe a good start would be an 8 billion pound cut over the next parliament. 4 billion of which to be returned to the tax payer, and 4 billion put towards actually meeting the governments target of lifting all children out of poverty. This would doubtless come as a shock to the defence industry but unless we accept that it is not the taxpayers duty to keep arms manufacturers in business we will be yoked to them forever. A re-alignment is long past due.

Wouldn't lifting all children out of poverty, a serious tax-cut, and a re-alignment of defence priorities around real threats make an excellent pledge?

I look forward to your response with eager interest.

Yours respectfully.

Matthew Mower

I have no idea what her response will be. When I met Theresa May I found her to be thoughtful and not afraid of expressing an opinion, we'll see if this resonates.

I believe it is long past time that the debate about defence spending and taxation are brought out into the cold light of day.

03/04/2007 13:06 by Matt Mower | Permalink | comments:
More about:

How wrong you can be

So, EMI will sell DRM free music on the iTunes store... I guess I was quite wrong. More power to Steve Jobs elbow. I guess this also means I can start buying music from the iTunes store. At a pound a track that's a mixed blessing :)

03/04/2007 11:18 by Matt Mower | Permalink | comments:
More about:

Living a la carte

I started this post yesterday and lost it due to a browser crash (visiting the PajamaNation site ironically enough). I've recreated it as well as I can from memory:

Via Euan, I came across Andy Roberts post on microjobs yesterday:

This is not the same thing as telecommuting, working from home for the same employer you used to work for in the office. Nor is it the same as freelancing, where you agree to work on site for perhaps 3 weeks or 2 months for an employer who doesn’t want to create a permanent post. There’s more in common perhaps with the jobbing worker who travels around doing small jobs in which he is proficient for a large number of customers.

I think microjobs are an interesting idea and warm to the concept of the a la carte life style. One of the things I loved about working for myself was the freedom to choose goals and the flexibility to persue them how I wanted to. But this was also my downfall: poor goal choice, poor execution strategy. It appears that most of the jobs I'd had were good at teaching me 'how to do' but not 'how to decide'. I've made this my mission since then; to learn how to put the ladder up against the right wall.

If employment is painful I think it is so because your individual goals are misaligned with the goals of your employer. That so many people survive the grind for so many years suggests to me a lack of strong goals. I think this may spell trouble for microjobbing. The safety of employment is a shelter for people without goals. The flexibility and freedom of microjobbing could be a boon to those looking to persue theirs.

Could I survive as a micro-jobber? I have valuable, marketable skills, and a lot of experience. On the other hand my skills tend to relate to complex problems filled with interdependencies. And I want to care about outcomes. One of the problems with consultancy is that you must retain a sense of detachment. It's not your problem just a problem you are helping out with. Microjobbing by it's very nature must surely magnify this effect, no?

So I am concerned about survivability, how to make microwork meaningful, and how to get a sense of involvement. We'll need good answers to these things for microwork to take off I think.

Roberts points to PajamaNation which purports to be a micro-job advertising site. I wasn't able to take a good look at their site and browse the micro-work list since it routinely crashed my browser, Safari. I'm not sure whether I could throw it all in and become a free spirit. But I certainly think there is a role for a new intermediary.

Whilst at PAOGA we did some work within the recruitment sector on a new approach to employment that offered an improved balance of the interests of candidate and employer by giving the candidate more control over their information and making them "more than a CV". In this new world we had imagined recruitment agencies would have to change. To remain a part of this picture it would no longer be sufficent for the agent to sit, like an opportunistic vulture, passing mutilated copies of CV's from the left hand to the right. The agent would have to deliver real value by working with candidates to improve their quality.

Decentralization implies intelligence being redistributed from the centre to the edges of the network as in the Internet where intelligence has tended to be redistributed from data centres to the home (even if Google are fighting this trend with every fibre of their collective being!). Employment is a highly centralized area, yet an area in which we can observe little significant intelligence that can be distributed; Most businesses (and most candidates) suck at the employment game. Whilst the microjob concept eliminates some aspect of emplyment that cause this to be so it still implies fitting an individual with specific skills, experience, and attitudes to a need. This is an imprecise science at best and microjobs means that businesses will have a need for vastly more of this than they do now. In essence it will throw into sharp relief just how bad we are at this.

So I think that if microjobs are going to take off we will need new intermediaries who are excellent and organizing related microjobs into larger assemblies and fitting the right (and available) team of microworkers into place in a JIT fashion. I'm not sure this is what outsourcing agencies are qualified to do since I perceive outsourcing as primarily a cost-reduction exercise. Microjob enabling a business is about taking advantage of the intelligence at the edge of the network.

I kind of feel like I should have a point at the end of these ramblings. Oh well, next time maybe.

02/04/2007 10:40 by Matt Mower | Permalink | comments: