Tuesday, 29 January 2008

epic_of_no_consequence.mp3

You lucky people! Here's a new mix! 108Mb!

This time it's kinda reggae-ish, but off on a tangent once or twice.

I have no back story for this one, just a bunch of tunes really. I like them, hope you do too.

TimeTitleArtistSource
00:00Theme From ShaftChosen Few20 Film and Stage Classics - Jamaican StyleWho is the man?
03:32John JonesVan Dyke ParksDiscover AmericaThis chap produced Smiley Smile, by the Beach Boys
06:34Surfin'Ernest RanglinBelow the BasslineJazz? Reggae? Ska?
12:09So LonelyThe PoliceOutlandos D'amour1979 and back when Sting had just broken free
16:47Can't Stop MeAnthony BCan't Stop Me
20:10MoneyEasy Star All StarsDub Side of the MoonThe best Pink Floyd cover album ever.
26:33Money DubHorace AndyHorace Andy's Dub Box
29:30I'll Never Fall in Love AgainSly & The Family StoneDance to the Music And why not?
32:47Gotta Serve SomebodyNasio & Drummie Zeb/Razor Posse/InclineIs It Rolling Bob: A Reggae Tribute to Bob Dylan
37:28Unbreak My DubJStarMost Wanted Vol 2I love this tune. Great re-interpretation.
41:22CurlylocksBaby FoxA Normal FamilyA reggae classic, with a nice modern production
46:47Residence DubDr IsraelLand of Baboon
51:39Bug DubUVXUnity Dub's Voyage Into Paradise
58:51Up Through the DownGrizzlyDJ Kicks - The Black Album Rockers Hi-Fi
62:15Funkier than a Mosquitoes TweeterNikka CostaCan'tneverdidnothin'I love this girl's work. Frank Sinatra was her godfather.
65:58Fruit ManWeenLa CucarachaOne of my favourite bands since the early nineties. Nothing is sacred.
69:59HopeFat Freddy's DropBased on a True Story

Monday, 28 January 2008

Cooking and making music

I love cooking, and I love music; wish I had the chance to make it more often, it's over a decade since I finished a tune. Ouch. (Nigel, are we ever gonna get that jamming weekend? And did you know your DNS is currently screwed up?)

But then, I do now have a family and other priorities that seem to get in the way, and something had to give (though I didn't enjoy selling the studio when Savvi was born and we were totally skint. Worth it, but painful)

The most important talent you need to make music, or to prepare food, or indeed, do anything vaguely artistic is to know what you like. If you can't explain to yourself why you don't like insert_least_favourite_band_or_food_product_here then you have no business attempting to do better. In my not so humble opinion.

This guy shows us he is blessed with the ability to mix cooking and music production in a neat and novel way. The video made me laugh too. Thanks to Philip for forwarding the link to me through Facebook.


Why we lost WSE and didn't migrate to WCF

I have the dubious privilege of being a Microsoft specialist in a largely open source / Java team. Once in a while on my blog therefore you may see posts which have C# code in them, or otherwise talk about Microsoft technologies. I like C#, it's an elegant language. You can see in it's evolution the Microsoft strategy of watching others, adopting later, and improving. It's not like them to invent something, but very like them to learn from others solutions to problems and try and do something that bit better. Learning from other peoples mistakes can save you a load of hassle in general.

Another good example, as well as C#, is the ASP.Net MVC framework, which a colleague who's been banging on to me about Rails for some time said was actually very good.

(Saying that, we both eventually agreed that server side code should not emit HTML to the browser directly, but that sensible web architectures these days would have scriptaculous, or dojo or somesuch doing all the mark up work, and a web server should just expose resources with data in JSON, YAML, or whatever other flavour of data markup you like; a web application then is Just An API. The ASP.Net MVC framework partially fails on that; it has a lot of convenience features for client side development, and while I understand the rationale for this, particularly for an MSFT toolkit, the purist in me doesn't like it).

I digress.

Where I work we have this bunch of APIs for doing funky stuff with the phone network, sending text messages etc, which we've implemented as Soap Messages, with a bit of WS-Security and PKI for good measure. There's detailed instructions on the protocols we use just here.

For those of you who think WS-* sucks, we listened, we heard, and we are releasing Mojo in all it's REST and Webby goodness. Thank the Lord.

PKI, certificates and WS-Security are hard, no matter what the tools vendors tell you, and most developers struggle a bit with these things unless the client and server are in a very tight relationship (e.g. same version of .Net on both sides). This is the practice our security team wanted us to follow through with though.

All this friction led us to release SDKs to encapsulate all that toughness away from our developer community, and also to reduce our support costs. These SDKs hide away all that stuff to do with building proxies to our services, implementing the security policy, signing messages with certificates etc.
We support the SDKs, but our response if you ask us how to directly invoke the services on the wire is "good luck to you". This has not caused us much of a problem to date, and if you can't use our SDKs for Java, .Net, PHP, or Python, let us know and if you have a strong case we may build one for just your language. Probably not though, we've covered quite a few bases.

The first SDK we produced for our services was ready for Microsoft's TechEd conference in Barcelona in 2006. At that time, we only supported the .Net environment, largely because we chose to launch at that event. We built that first SDK on the WSE3 framework, which handled databinding, cryptography etc, we just put in a custom task or two and tweaked the processing pipeline. We followed a similar approach for the first Java SDK we produced later, based on Xfire.

However when we tackled the PHP and Python SDKs we took a step back and decided, rather than a databinding approach, to go for templating instead. Most of the messages that are exchanged by the SDK are very small, and there aren't that many. The complexity of SOAP message transfer is all about what I call header gunk. And that's why we ship SDKs, to hide that gunk that no developer ever wants to see, and to make sure they write code in a paradigm they are used to; object rather than message oriented. Most of the time this approach is deemed good, and Service SDKs are considered to be a good sign of SOA maturity. FWIW.

We're now aiming to get to the point where all our APIs are generated from a highly controlled model Schema -> WSDL -> Messages -> Documentation -> Object mapping -> SDK generation. So that the team who works on exposure has as little work to do as possible, and follows the DRY principle. And of course so teams who work on the services themselves have encoded guidance on how to expose themselves, as it's very easy to create bad APIs!

There were a couple of pain points around using the WSE stack.

Firstly, having this 11.4MB download required, which we had no control over.

Secondly, the dependency on the Windows Certificate Store. Because WSE wouldn't just pick up certificates from the file system, folk who wanted to run their web applications on shared servers had to beg their sysadmins to add certs to the cert store, so that IIS had access to them. What a pain. And that pain has gone nowhere with WCF; the security credential used by the running application must have appropriate access to the cert store. Microsoft WHY!!!??? Why can't you just allow certs to be picked up and read from the file system like other peoples stacks?

So we've changed things ourselves, and thanks to some sterling and brain-aching work by Piotr and Josh, after an original proof of concept from Robbie, we have removed the dependency on the Windows Certificate store, and also removed additional dependencies for our .Net SDK, other than the .Net 2.0 runtime itself. Though if you want to use the cert store, that option is still available, we still support it.

So now the amount of config you have to handle for our SDK is small and simple:

<configuration>
<
appSettings>
<
add key="Web21c_Environment" value="sandbox"/>
<
add key="certFile" value="yourcert_Sandbox.pfx"/>
<
add key="certPassword" value="certpassword"/>
<
add key="serverCertFile" value="btsdkservercert-acorn.cer"/>
</
appSettings>
<
system.web>
<
webServices>
<
soapExtensionTypes>
<
add type="BT.Sdk.Core.Web21cSoapExtension, BT.Sdk.Core" priority="1" group="high" />
</
soapExtensionTypes>
</
webServices>
</
system.web>
</
configuration>



There. That's better now, isn't it?



if there's anyone from MSFT reading this blog who has an opinion (Shy, Don, as friends of mine you spring to mind), and thinks they could've persuaded us to use the heavy WCF stack rather than the templating and custom pipeline we've developed, I'd love to hear your responses.

Sunday, 20 January 2008

Crunching data on the cheap

This is one of the more interesting uses for the Amazon S3+EC2 infrastructure I've seen; converting 11 million archive New York Times articles from scanned TIFF files to PDF in under 24 hours.

Wow. Super computing with no academic infrastructure, no Crays, and no months-of-planning. Oh, and batch processing without the Sun Grid (read the comments here, to find out what the Sun Grid is not, and why it should've been great for this kind of app while it's not really purposed for web-apps)

This tiff-to-pdf conversion job shows two trends that we will be seeing a lot more of. Firstly, a shift to hyper-concurrent processing as the default, and secondly, the rapid provisioning and deprovisioning of virtual machines to perform specific jobs. When crunching large data sets for specialised jobs it's often the case that significant infrastructure is needed for small bursts of time. This example shows clearly how getting hold of that infrastracture is now operational expenditure, not capital expenditure, and any CFO who hasn't woken up and worked that out yet, and started telling the IT boys they are probably decreasing shareholder value every time they buy a server, needs to smell the coffee.

There's a whole cottage industry springing up around the Amazon services as folk take those utility tools, and built specific applications on top of them. I wonder if Amazon is watching that space, and if it will start acquiring companies who provide domain specific autonomics on top of their infrastructure? My guess is that within as short a space as 12 months people will rarely be buying services direct from Amazon, but rather from a value-add-reseller who provides something directly usable out of the box, and as that happens, will Amazon want to get closer to the money? Especially as other utility compute providers enter the market and there is consolidation and normalization in the "storage + virtual machine on demand" area. I don't know the answer to that one, gonna be interesting to watch.

In the international calling minutes world there is so much similarity between the different termination providers that minutes are traded electronically. After all, a phone call is a phone call is a phone call. Your call with your provider may take a different route today to the one it takes tomorrow, and this is known as Least Cost Routing, and looks a lot like most other electronic trading systems when you dig deep enough.

I wonder if the same will apply with utility computing? Least Cost MIPS?

Monday, 14 January 2008

Life support system unplugged

Seems the worst part of moving house is being broadband-less for the best part of two weeks, at least, just having intermittent access to the net. I'm pretty sure Tika would disagree, but she takes control of packing and unpacking, and I, just a mule. Need two trips to the tip, which should get squeezed in today

My RSS feeder is choking, might just have to do a bulk "mark as read".

My twitter feed is desperately out of control and out of date - that only takes half a day at the best of times!

Tomorrow morning I head off to Glasgow for a four day offsite. Where I will have to battle many others for my slicec of what will no doubt be a too-small-pipe. Still, posting blog entries is pretty much text only, they might just squeeze through the bottle neck of 50 techies on a 4Mb connection. So maybe I'll give you something worthwhile to read soon. This post was a waste of your time, and mine.

Wednesday, 9 January 2008

Where did my database go?

Once upon a time, when I was coding a lot more for my day job, my SQL skills were pretty hot. Least, I thought so. I'd do pretty full on crunching with large data sets; I remember one project in particular, which was 75% SQL, 10% "Classic" VB, 10% Excel and 5% VB Script, that crunched itemised bills which totalled millions of pounds. Needed to be accurate and performant, even thought it was offline, I remember running one batch job that lasted about a week; mind you it only had a teeny NT4 server to run on, looks pathetic now; the apps output wasn't very time sensitive, but it did have to finish each job!

Pretty much every development that I've done in the last 15 years used an RDMBS of some kind. That meant understanding SQL.

But I see a sea-change. I see the emergence of hosted database platforms, except they're not general purpose RDMBS databases, they tend to be more special purpose.

I'm sure the first one that jumps to most people minds is Amazon's SimpleDB, after all the Web Services team at Amazon seems to do no wrong. It's not an RDMBS, apparently it's more like a directory service, with REST and SOAP interfaces. Yet to see what interesting apps get built on it, and how publicly we get told.

Next on the list is Force.Com. Seems this gives you a reduced SQL set called SOQL; notably UPDATE, INSERT and DELETE are missing, instead you SELECT a bunch of objects, and then act on them through a dot notation. So a bit of a mix and match.

There's quite a few others, and one could even argue that the Blogger platform I'm writing this on is a database service, inasmuch as it stores data, and links it to other things like the comment you may add.

I like the look of Astoria too; Pablo is one of the few folk who work at Microsoft who seem to grok the web. If this initiative does what I hope it will do, then I'll be able to develop my data tier locally, and deploy to the cloud with very little friction. They do make good and consistent, if huge and bloated, developer tools. I think the combo of the Asp.Net MVC framework and this piece is gonna actually make developing web apps on a Microsoft platform a possible choice again; though they do need something like Scriptaculous or Dojo to pull it all together at the front end, not sure their AJAX framework is quite there; and I'm concerned they may get distracted by future plans like Volta; it's too early to say whether that's the future of development.

Another trend, which has been around for a good long while now, is the abstraction away from the database, at least for developers, by ORM frameworks, sometimes built into a larger framework (eg Rails, Django). I'm pretty excited about the Hibernate Shards project for breaking the distributed database problem, without the average developer having to learn how that all complexity works, but it may be moot soon with all the cloud based data storage services springing up.

It seems to be a current wisdom that startups should reach "scale" before thinking about business models. Which may or may not be correct, and I'll let you draw your own conclusions. Does look though, that modern, high level, services on the web and programming frameworks are gonna start solving that "write cheap and cheerful code to scale up, deploy to scale out" problem.

I reckon In the next two years we'll all be writing extremely concurrent code with highly distributed data stores all over the web (let's just forget the emotional term database and let DBAs find a new career by themselves) and wonder why we ever did it the old way.

Note. There are safe harbor, copyright, privacy and DPA problems to be resolved, and, as ever, technology is ahead of regulation. But, for the purposes of this post, everything is permissible.

I shouldn't hack hardware

Ever since I patched my Netgear DG384Gv1 wireless router with a recent firmware update, my broadband's been flaky as hell, and I doubt it's my ISP, as they've been consistently great for the last 4 years, with only one outage that I'm aware of, and that was based at the exchange, so not their fault. It's not an unbundled line.

Serves me right for tweaking.

Did the same to my HTC Universal phone too, simply cos I wanted a really thin WinMobile 6 o/s on there. I know fanboys, Windows on the phone, you don't need to tell me, and now it's pretty screwed too. I could try another distribution I suppose.

Just so you know I'm bored to death of all the "Microsoft sucks", "Linux/Apple rulez" comments that end up on far too many blogs and news sites - y'all need to get a life, especially now that there is growing choice for consumers out there - so please don't bother polluting my page.

I've started forwarding my mobile to a softphone running on my computer, my current cell reception ain't great anyway. Dropped calls or rough and ready VOIP? It's a tough decision. Hopefully the router doesn't go down while I'm on the phone...

I'm in the middle of moving, as I've currently mentioned. I'm gonna end up further (as the wires fly) from the local exchange then I am now. I'm changing my ISP too, not that I really want to, but if my employer more or less gives it to me for free, it's a bit of a no-brainer, and it means I'll probably end up with a new router, that they patch as part of the service (which I'm not sure I like). However I'm pleased to be on the sidelines, waving flags, of a project, that is making that particular device a Good Open Source Citizen, which it hasn't always been.

I've learnt before, but the lesson I'm reminding myself of is that I should stick to high level software and leave the low level hacking to those who really know what they're doing.

Monday, 7 January 2008

The Onwards Delegation Problem

At the heart of the recent Scoble vs Facebook problem we see one of the big potential evils of the Web; insecure onwards delegation. A real tough nut to crack.

Would you like to come rifling through my filing cabinets? Perhaps take and copy a few things you think are interesting? There's very few people I'd trust to do that, maybe just my bookkeeper. What risks am I exposed to if my bookkeeper and I share data in, say Google Spreadsheets? Because we can. Because it's there. Because it's free.

(B-oo-kk-ee-p-e-r incidentally, is the only word in the English language I'm aware of with three double letters in a row. I'd love to be shown others...)

Google Docs, and similar applications which work in the internet security domain often have these super-cool collaboration features, which enable me and my numbers guy to do work together so much more easily, with so much friction removed, like, snail-mail. It wasn't very long ago folks, not really, that most post that turned up in your house was actually important, and not just paper copies of stuff you could see, at your leisure, online. You used to run your life through things that arrived by post - statements, bills, magazine subscriptions you didn't see any other way

Any data I share on this inter-web 2.0 thing, is not secure from vindictive behaviour by my chosen collaborators. If a so-called-friend turns on me; or maybe I don't pay a bill, then someone might start forwarding copies of my data, and maybe even delegated rights to change stuff along with it. In some industries, such as banking or health, there's a good deal of control over delegation; consequently even with someone on the inside, it's increasingly hard to hack a bank. Meaning sadly another possible childhood "what I want to be when I grow up" dream bit the dust.

All this modern social software though, it makes it pretty easy to share stuff, consequently maybe too many folk can get at some pretty personal details now.

I think it's quite possible we have a couple of high profile privacy scandals coming up soon, where a new kind of phishing attack appears that gets virally into some social network and starts leaking "innocent" peoples data to nasty people as it spreads. How many of you, if you're in my Facebook friends list, and I tell you to add a seemingly cool application, go ahead and do that? Do you click all the defaults for security, and maybe let it then act as you and send itself to your list? How identifiable does that make you? How many links, on or off facebook does the agent need to follow - with the delegated rights to your profile - in order to do damage to your online reputation, or worse, in real-i-tea. Let me ask you, before you added the evil app I seemed to recommend, did you think that my account could be compromised?

What we need is some system that says and checks up. For sure, ok, you can see the names of all my girlfriends, but don't tell anyone else (they get jealous). And if you do I curse you with my fiery daemons and my killer LISP attack.

I need to have full visibility of what people do with their access to my data, so that I can analyse it for security breaches - in real time, probably using a highly trusted agent that someone else wrote... (ad infinitum).

Better still, i need to have full control of delegation rights, where I can specify user rights such as canReadUntil, canWriteUntil, canTransferRights, and use them for specifying delegation tokens. Course it needs to be user understandable - and therein lies the conundrum. As social software becomes easier to use, across devices and networks, and with the flexible mashability that is so useful for avoiding context switching (between applications), people will release more and more data into a collaborative cloud without second guessing the consequences. Early adopters are vulnerable especially if they think themselves invincible.

What we have right now just isn't good enough for a world of consumers who want software agents to act on their behalves. Not that they've realised yet that it already happens...

So, guys at oAuth, SecPal, or anyone else with some interesting delegation work going on, please tell me, how's the plumbing going? And how on earth do we surface it to the novice so that they can use it, without it feeling like a big step backwards just for the sake of security (perhaps like Vista does)?

Am I missing a trick, are we seeing instead a natural evolution towards a universal mind meld, and the inevitable, painful, data leaks just a way of bringing us closer to full Gaian consciousness?

Whatever, I'm sure it would all be fine as long as we could just be excellent to each other

Saturday, 5 January 2008

songs_of_love_and_pain.mp3

When I decided to post mixes on this blog, I intended to only post brand new ones, and not any that I'd made before. But then, as we are learning, on this blog, everything is permissible.

There's a reason I'm changing my mind. Maybe this will be an exception. The circumstances which lead to it are pretty unusual and include one event in particular I hope never to experience the like of again.

Here's the link to the file. It's about 97Mb, but should stream and download just fine. Nobody reported problems with the last one.

So why the change of heart? Why share with you a mix I made over a year ago, against my previous judgement of keeping things fresh?

Well, last night I was out, at Max, my brother-out-law's fortieth birthday party, at the Miners Arms, St Werburghs, Bristol. He and I have become pretty good friends over the years, we share a deep love for my sister, and various children, including their two and my daughter. Seems Max's thirties have been rather dominated by child rearing; their eldest turned 10 in September. I didn't really know him much before the kids turned up, but I imagine his twenties to be somewhat different to the last 10 years.

There were many folk at this party who I have known, some more than others, on and off, for over a decade, and they hail, on the whole, from the Bristol Free Party scene, and the Easton Temporary Autonomous Zone, where I lived for a few years. I've spent a good number of nights-turning-into-days dancing around fires, at festivals, in front of sound systems, in warehouses, abandoned buildings, pubs and a number of random venues with them.

There was one person, very dear to me, who was missing. He would've been more than welcome, and most of the people there were his friends, and held him in very high regard. But sadly, Joseph Jordan (Joe), my friend and brother in arms, chose to take his own life at the start of summer a couple of years ago. I don't think we'll ever really know why. Many aspects of his life appeared to be improving for him, after a very difficult few years. Of course he had things going on in his life, like most of us, that he would've changed if he could. But regrettably it seems that a dark cloud came over him that night, from which he could see no escape.

I still miss him greatly, and still find it hard to forgive him for leaving us all the way he did. It's events like the one last night, at which he would entertain, share the joy and love, and drown the sorrows that I miss him most. He was part of this gang, and although I spent time last night with many excellent folk who I feel privileged to count among my friends, he was special to me, and I'm sorry to everyone else who was there, but it was less of a party for me without him, though we raised our glasses several times and toasted his memory.

Our daughters were good friends and much the same age, I wish they remained closer then they are now, but they only get to see each other now comparatively rarely.

The last time I saw Joe we camped out, built a fire by a river here in Dartmoor, played guitar, tried to sing without embarrassment, told bad jokes, and talked about watching the girls grow up, and how much trouble they were going to cause us as teenagers. That last part at least won't change, it's just trouble I can't share with Joe now, which I hope to always regret.

Some of his artwork hangs in our home; he was greatly talented and drew fey creatures, dragons, and fantastical landscapes, almost as if he was showing us the world he wanted to live in. It's sad that great artistic talent is often accompanied by melancholy, but I suppose that's the way the muse sometimes likes to speak.

cover
detail from one of Joe's paintings.

This was a mix that I thought I made for him, posthumously, but of course I actually made it for me, and there are several parts of it which bring tears to my eyes. This weeping is part mourning, part reminiscing, and part celebration of the fabulous being that he was. The music touches on themes of love - shared, lost, and unrequited, and is very different, as promised, to the last one I posted. It's probably no coincidence that some of the artists included also lost their lives in unhappy circumstances, and were troubled along their own paths, Nick Drake and Elliot Smith in particular spring to mind. Many of the musicians on this mix are among my favourites, you probably wouldn't regret exploring their works further if you appreciate what you hear. The Drag City label gets quite an outing here too.

I'm sharing it in the hope that you it touches you in a way that reminds you of absent friends who you miss, and encourages you to keep the bond with those you love close, as we never know what the fates have lined up for us.

Before I give you the track-listing, I'd like to quote from one of Joe's favourite songs (real audio link) which I can still hear him singing in the echoes of my mind. It's written by a very talented and versatile musician, Neil Innes, and is probably very familiar to those of you of a certain age, though perhaps not with the pathos I attach to it within the context of this posting.

It's not much of a life when you're just a pretty face
Just to be whoever you are is no disgrace
Don't be scared if you don't fit in
Look who's in the reject bin!

It's the Raggy Dolls, Raggy Dolls
Dolls like you and me.
Raggy Dolls, Raggy Dolls,
Made imperfectly

Start

Artist

Track

Source

00:00Archer PrewittWay of the SunGerroa Songs
04:45Laura VeirsEther SingsCarbon Glacier
08:25Elliot SmithRoman CandleRoman Candle
11:52Sufjan StevensChicagoIllinois
17:39SmogRock Bottom RiserA River Ain't Too Much to Love
23:04Bonnie 'Prince' BillyAin't you WealthyMaster and Everyone
27:04M WardWere you there?Duet for Guitars #2
29:37The Tami ShowI Can't give you anything but loveGrind My Nails
31:58Gary HigginsIt didn't take too longRed Hash
35:44Devendra BenhartRejoicing in the HandsRejoicing In the Hands
37:20Judee SillCrayon AngelsJudee Sill
40:00Low and Spring Heel JackHands So SmallBombscare EP
43:50Cat PowerI Found a ReasonThe Covers Record
45:22Vic ChesnuttIn My Way YesSilver Lake
50:30Giant SandBottom Line ManChore of Enchantment
55:05LambchopCaterpillarIs a Woman
61:17Edith FrostTender KissTelescopic
64:45Nick DrakeNorthen SkyBryter Later

Friday, 4 January 2008

Warm Spicy Apple Juice

I've had a pot of this on the go nearly all winter. I reckon it fends of colds, or maybe I just have a good immune system. Here's how I make it. I have to thank my daughter Savannah for helping come up with the recipe.

1 litre of concentrated apple juice. No point using fresh stuff. Same amount of water, use the bottled stuff if you want, costs more then petrol (gas) does though, and you won't go as far with it. Throw in some sliced fresh ginger. Some cloves. Some whole allspice. Maybe half a cinnamon stick, broken a little. A lemon chopped into rough quarters. Perhaps some dried lime leaves. Simmer for hours, with a lid on the pot, until the lemon flesh starts breaking up.

Drink half of it, then top up with more apple juice and water and heat up again. It's good to do this for about 3 days, unless you finish the whole pot in one go.

Twitter - Telepathy 0.6.

Ok, I'm a recent convert. Like JP I've been watching people use it. I won't get version one of the Kindle either.

But twitter is interesting so I'm trying now. Feels like it's getting me a little closer to people, and it feels a bit like the boundary between me and the people I follow and are following me is getting thinner. People have more awareness of me, and we communicate on a more intimate basis. (Well, fellow tweeters and I do, which to be fair is not the vast majority of my friends, or even most folk on my Facebook list).

That boundary though, the distance that keeps us in the dark to each others thoughts and deeds has been getting thinner for quite some time, ever since the first design was sketched out on the cave wall and we went and killed deer collaboratively and then recorded with pride our deeds, while picking meat from our teeth with the bones. Yes, ever since then we've been getting closer and closer. There is a universal mind meld going on. It's just been taking a helluva long time.

Speech was a challenge. Look how many languages the world speaks! I'm not suggesting Esperanto or anything, I love the diversity we have, but if I'd been around when folk started talking I'd've tried damn hard to make sure that it was at least a bit easier for us all to make sense to each other.

But I suppose that's the case with a development process too, early versions have missing features, and sometimes inconsistencies, especially in large scale projects; the remit "Make the world communicate well" is a pretty big one, especially when you have no words to describe what "communicate" or "world" mean.

I guess the very fact that we talk at all is down to some crazy evolutionary innovation at some point. Must've been fun to be there at the beginning, and understand what a great thing speech was, how it was gonna change the world. Wow. People could talk to each other, even pass messages along, and we got cool prototypes of broadcasting.

That was just the start. Somebody picked up on this speech thing, saw what was going on with art, and came up with symbols, characters, alphabets, and did speech persistence. We could now write things down and store them. Wowee.

It gets better. We got even more organised. We worked together to deliver these persistent messages to each other. We copied them. We distributed them. We got mail!

Then some bright sparks put sounds and words down wires and into the air, and sent them between billions of places, using various forms of magic unfathomable to most.

All this time, with each innovation, we communicated in more detail, and with more depth, and with higher selection and choice of whom we shared communiqués with.

The development release history looks like this. And I think generally accepted ubiquity would do for the release dates.

0.1Passing on verbal grunts. Ugh arrr.
0.1.5Drawing on cave walls. (I'll spare you a sketch)
0.1.6
Handing out stones and bits of bark with drawings on.
0.2Speech.
0.3Writing (available for the first time in a closed beta, before general launch, a revolutionary step).
0.4.1The Postal Service
0.4.2The Printing Press
0.5Fixed Telephonic Comms
0.5.1Mobile Telephonic Comms
0.5.2One way thought transfer. No, bear with me here. I mean SMS, thanks to it's instant delivery.
0.5.3Instant Messaging. Two way thought transfer.
0.5.4Facebook (sorry Mark, just a point release, I've had an address book for years, though it IS nice to have a persistent and smart one, thank you for that)
0.6Twitter

I'm proud to be announcing the future release plans at Telepath World 2008. A whole jump ahead from when y'all had telephones, and congratulations Biz, it's a really big step.

You might disagree with me on this, but then, nothing is true, right?

Why do I say this, what is it about Twitter that gets us more telepathic than mere telephonic?

Is it because we have the combination of targetable, asynchronous, filterable, broadcastable, cross channel communications?

Partly.

Is it because I'm enjoying it at the moment?

Maybe.

But mostly it's because of what we do with it, and what we're going to do with it when the concept matures. Everything on the web is a prototype - at least I've been getting told that a bit recently, maybe it's a meme from somewhere.

telepathy

The sympathetic affection of one mind by the thoughts, feelings, or emotions of another at a distance, without communication through the ordinary channels of sensation.

It sounds to me like every step along the above release plan has been getting us a bit closer to the wikitionary definition. With general release of 0.6 we can share our thoughts with another, or more than one other person. OK, right now there's still a few wrinkles around grouping, selection, signal to noise ratio etc, but it's getting there.

Yeah, we're not quite done, let's call it an early alpha of v0.6 with something Not Quite Invented Yet. And you know, I think I also include within this Twitter release all this attention streaming and social network aggregation. Indeed, I'm sure there's still all to play for as to which companies end up getting it totally right for the long term telepathy market. I doubt that even Alexander Graham Bell line has much hereditary stake in relatively recent phone based businesses.

I think perhaps when saying "I don't tweet" becomes like saying "I don't have a phone" then Telepathy v0.6 is ready, and new innovation will be required to maintain the market.

I wonder what's next for telepathy?
What major breakthrough will occur?
It's hard to know how we'll communicate with each other in 5 years time now, let alone in 50. And what changes in social behaviours are required so that we can cope with any future developments on a global level, with such a huge population?
Will the all seeing aliens from the future come and shut down my blog?

Whatever happens, seems the engineering bods are working hard on stuff, maybe they discovered agile.

Thursday, 3 January 2008

On Vendor Bloatware and Middleware Complexity

Sometimes I like to write code, and I am a firm believer in the idea that, as well having a satisfactory and acceptable solution to the problem, production code is not completed until there is nothing further that can be taken away. While of course still having a code base that is tested in an automatic fashion, and agreed by it's stake holders to be highly maintainable. What's the simplest thing that could possibly work?

The story is different in an enterprise that buys in software solutions, from companies that I like to refer to sometimes as Big Iron Software Vendors.

Big Iron Software Vendors are sales and, sometimes, consultancy driven. They are often driven by repeat sales, and, perhaps, after sales support. It's easier to sell to an existing customer than a new one, especially where the CFO's play golf together.

In order to make a sale, these Big Iron Software Vendors provide solutions to problems. It is in their best interests to show their customers that the problems, while highly complex, can be fixed by buying their software. In order to make their software marketable to many different customers, each product that the vendor sells often solves far more problems than any individual customer has. Thus it requires consultancy and integration work to make it fit the customers unique problems, and unique existing infrastructure.

The end result is that often, even while the immediate problem is fixed, new, and #better# complexity is introduced.

This may fix an immediate problem for the customer, but creates a virtuous cycle for the vendor that is not in the purchasers best interests. Their customers’ problems will change, and thus, in the future, they will need further help from the vendor, to fix different complex problems - which of course, include the previous vendor-led solutions.

You know, I don't think I produce better looking documents in Word 2007 than I did 10 or 11 years ago. And I probably publish them as PDF anyway.

Big Iron Software Vendors are not motivated to help their customers simplify their problems, and introduce the smallest possible solution that solves only the problem at hand. For all their talk, they are motivated to make as many sales (of consultancy, support, and licensing) as possible. Within the open source world in which we now live, where many free-to-install, community supported, and mature products exist to solve well known problems, vendors are forced to find another tack, and this seems to be the world for Business Process Management and Service Oriented Architectures, and in the Telco world, IMS and SDP - whatever that means, and I have some thoughts on that for later.

While enterprises are starting to wake up to this issue, in startup-land (and yes, I include Google and Amazon) the use of Big Iron software products to build out solutions is small and decreasing. I've been learning from these guys, and want to ensure in future that the enterprise architectures I provide to my stake holders are as simple as possible, while providing the right features at the right time, and not reliant on complex vendor products, except where absolutely necessary.

There are always new products, and sometimes complex vendor led solutions provide a fit. But I'm sure, that within the long term, the successful businesses that rely on software for day to day operations and competitive excellence will be the ones who remove the cost and reliance on licensed software. Otherwise they'll just have to factor it in to the cost of their own products.

What software license costs would you like to refactor out of your architecture? Or am I wrong, and should we keep drinking the Kool-Aid? Or should we just start thinking of Big Iron Software Vendors in the same way we think of outsourced development shops, and tell them what to build instead?

Wednesday, 2 January 2008

cold_gentle_assassin.mp3

I wonder if anyone will work out where the name of my blog has come from? It is a quote. No matter, I'm saving that for another post, unless someone spoils the party. I'll leave some clues around...

I'm known among family, friends and acquaintances for having unusual musical tastes. I dispute that, I just like lots of different kinds of music, and I don't expect anyone to share all my tastes, but I do expect to find common ground with most folk. I surprise people sometimes.

I like music that breaks boundaries. Music that jumps genres. Music that makes me feel something. And as my mood changes, so I want different styles and variety in music to enhance or rectify my mood.

I appreciate choice in production values. Spending a long time tweaking compressors and parametric EQ's is sometimes good, but sometimes it just removes any soul that the writer was trying to instil into the music. Lo-fi can be cool.

The only real skill needed these days to make music is to know what you like, and to be able to describe that. The art of music production is taking creative input, either from oneself, or other artistic direction, and turning that, using instruments, mixing desks, computers, found sound, scratched records, whatever, and compositing it together to create something musical. In the widest possible sense of the term. May be that the music you like is just for you, and anathema to anyone else. That's fine. It's partly our different opinions that make us individuals, not the similarities we share. One of the artists on the mix that accompanies this post, John S Hall, legal eagle by day, beat poet by night, once said on It's Saturday "I want to be different, like everybody else I want to be like". Read the whole poem, it inspired me greatly in early adulthood, and with phrases like "I want to call into question the very idea that
identity can be attached" deserves more exploration when I offer up some geekier thinking. Which I will, when work is back upon us and in full swing.

Music is one of those things that joins and separates us, as we can see from the various social applications built around the concept. We can like the Top 40 of popular music (is it really?), and blend in with the supposed majority. We can form cliques based around bands, labels, eras and types of music; indeed I have some friends who I only ever see at Ween gigs every two or three years. We can appreciate music that none of our friends are even remotely interested in. I know I do!

Anyhoo, this blog provides a channel to me for sharing thoughts and deeds, and frankly anything I can upload to the web. I intend to take advantage of this, unless it turns out I attract no readers, in which case Resolution I will get broken soon enough!

Something I've shared for many years is home made mix tapes (now a misnomer of course, they never see Chromium Dioxide anymore), both for my own and others listening pleasure. Turned out that home taping didn't kill music, there's more than ever, especially now that the financial cost of production is effectively zero. if you're interested in that sort of thing, new models of music as a business etc, then I heartily recommend this article by David Byrne as a primer.

Now we have this interweb thing, I can make mixes and share them with the world, and only hope the pigopolists don't come after me for this blatant sharing of copyrighted material. If you are in the PRS and reading this, please get in touch so we can work something out, I'm trying to promote largely niche artists here. Hopefully your podcasting review will make life easier for me; starting today, every so often I intend to put out a compilation mix I've made, for the readers of this blog, and I will avoid, as much as I can, major label artists. Often their music sucks anyway. In my opinion.

So the first mix of 2008 is now online, and available for your delectation. Or not. I warn you, it's not full of relaxing and beautiful tunes to make you smile, and in the middle, especially with headphones on, bits are downright scary. It's winter, and this hour long mix reflects that, with only a little hope of better things towards the end

Download it here (83Mb), or play in an appropriate media player. Until I get a takedown notice; be nice if I didn't.

Here's the full list of tracks I used, and rough start times. I hope you enjoy. The next one will no doubt be completely different...

Start

Artist

Track

Album

00:00Bill LaswellSlogansHashisheen
00:45Bill LaswellBook of the Highest IntitationHashisheen
01:57Miles DavisIn a Silent Way (DJ Cam Remix)Panthalassa: The Remixes
06:30Captain KowatchiConference of the BirdsLand of Baboon
10:53Spectre9th Secret Rule of the OrderThe Illness
14:43Davie Allan & the ArrowsPot Party Only In America
16:45Barry Adamson Dirty BarryOedipus Schmoedipus
21:23EardrumSwarm Last Light
27:34Mental NomadDeityMentalica and it's Inhabitants
29:43Modern Quartet Vs Koçani OrkestarFantasia for ClarinetElectric Gypsyland
33:38Sophie RimhedenDon't FollowElectric Ladyland Clickhop Vol 1.0
37:49Bill LaswellThe Spilled CupHashisheen
39:03Closer MusickCloser DancerAfter Love
45:5413 & GodSoft Atlas13 & God
49:37DenaliRun ThroughThe Instinct
53:38The Postal ServiceSuddenly Everything Has ChangedGive Up
57:44John S Hall & KramerThingsReal Men

Tuesday, 1 January 2008

I'm prepared to tell you about some changes that I'm promising myself

It's 2008. Only just mind you, and of course the New Year event happens many times over round about now, and that's just the Gregorian Calendar.

At this time of year we resolve to change ourselves for the better. There's no point making all those New Year resolutions unless they are to improve ourselves.

Whether we share those promises we make to ourselves with others, or we keep them private is a personal decision. Sometimes a shared resolution is easier, as family and friends can support us. Of course, when we let ourselves down, that happens in public too if we tell the world. The trick is not to make public failure become public humiliation.

We're going to be thinking a lot more in 2008 about how we can live our lives privately in public, and I guess this blog might touch on that.

Which leads me to the point of this post. Sharing with you a few New Year Resolutions. Ones that I hope you'll support me in keeping, and won't kick me about too much should I break them. I'll try and keep myself in check anyway. And so in no particular order...


Resolution I

I reckon I should keep a blog. I've been told this a few times. So here it is! What can I say!

I have been referred to before as the man with no URI. That's gotta change. Plenty to say, indeed some have a hard time shutting me up. Just need to put it down on "paper" better. The hard target is to get a kernel for the blog in two to three months time, so that I can trick people into having a reason to come here regularly.

I promise myself that I will blog at least once a week


Resolution II

I'll talk a little about where I work in future posts. Our motto is "Do Less: Achieve More", and I guess at times I may've interpreted that a little too literally.

A lot of what I do is opinion sharing, invention, talking and evangelising. I sometimes describe myself as a Software Heretic, and indeed the relevant HR system at work has even allowed me to set that as my job title. Go figure, is that enlightened or just an oversight?

Anyway, if heresy is challenging established wisdom, then that's what I do. But I need to get away from just talking about change, and do a bit more making sure it happens.

As an aside, this isn't one of my resolutions, but I should get round to reading The Four Hour Work Week soon. Maybe you should too.

I resolve to work better and achieve more.


Resolution III

I'm not gonna abandon my day job any time soon people. Working in a big company, with loads of disruption, and plenty of willingness to change suits me. Turning a Telco into a Software company is quite good fun, and over time I'll tell you more about it. Pays the bills too. But this resolution is one that I keep promising myself, and I'll make it public now. This year I really am going to do a startup. I don't know what it will be yet, and I got close last year (but I wasn't telling you about it then). I'd like to do it dogfooding the stuff from work and telling you all about it as I go. Might be that can be part of Resolution II if things work out.

In the next week or so I'm going to sign my life away, renting what feels like a phenomenal amount of money to buy my first house at what is probably the peak of the market in the UK. If I was stateside I really wouldn't bother. I'm hoping that the house that the bank and I are paying nearly £250k for, even though it only cost £65k to buy the land and build the property 12 years ago, is not going to suffer a monumental decline in value before I want to leave. Either way, I reckon that I want to be putting away some money that is much less leveraged than the n% I'm putting down. Pray for me on this one!

I promise to start a company.


Resolution IV

This is the boring one. Less toxins. More exercise. We all make this resolution I suppose, none of us are getting younger (yet) so I won't dwell on it. But here's some things I might do.

We have a Siberian Husky. he's called Kinook and is gorgeous and my friend, sorry if he sings while I'm on your conference call. I'm going to take him out cycling more often, until I can go faster than him cross country (ha!) Good for both of us.

I take my fantastic daughter ice-skating most weekends, and we have both got to the stage where we need lessons, or we'll get bad habits. I want to get that damn hockey stop right.

Some of you could probably guess other things that fit in this generic resolution for me, knowing my lifestyle a bit better. You're probably in my Facebook roster, so I trust you a bit more than anonymous readers here.

I promise to live more healthily and get fitter


The rest are secret

I have made more resolutions. But until there is a security breach of my private thoughts, or I delegate you some trust of my memory and consciousness, they will remain a secret. And by the time that happens I'll no doubt have broken them anyway, as I'm sure the private resolutions are the ones we break first.

If I'm sticking to Resolution I then you'll be able to see how I get on over the course of 2008 with the rest of them. If I break it, I guess you'll never know!

Tim Stevens

Tim Stevens
Work
Consume
Obey
Be Silent
Die