Monthly Archives: March 2012

My next steps – joining the Cloud Foundry team

I’m very excited to announce that, from April 10th, I will be joining the Developer Relations team for Cloud Foundry at VMware.

This is a thrilling opportunity for me for a number of reasons.

  • from a technology perspective: Cloud Foundry is very, very, very cool. In my opinion, it really comes from a different set of thought processes than the other Platform-as-a-Service offerings out there, which make it unique and compelling.
    • the operating system stuff gets out of the way (why should it matter?), but multiple language runtimes and backend resources are available for easy scaling. Seriously, the first time I walked through the command-line tutorial and scaled a Ruby app to 6 load balanced instances with a single command, I was instantly impressed.
    • it is Open Source. The code is on Github. You can run your own cloud if you like. You can add support for your own languages and frameworks, much as AppFog have done for PHP, Tier 3 and Uhuru have done with .NET in Iron Foundry, and so on. This provides a huge amount of flexibility. Oh, and of course mobile and cloud go hand-in-hand, so last week’s announcement of FeedHenry providing tools to develop HTML5 apps to deploy on Cloud Foundry was really significant, too.
    • you can take your cloud with you using Micro Cloud Foundry – so the development and deployment model remains the same whether you are online or offline. I love this idea.
  • for me, personally: it’s a natural evolution of much of the work I’ve been doing over the past few years – focusing on developer communities and promoting technology adoption, as much as top-down solution selling. As my good friend James Governor is fond of saying and as his colleague Steve O’Grady wrote, developers are the new kingmakers – and with trends like mobile, cloud, and devops, nurturing those communities is more important than ever. You don’t impose technology on a community – you explain it and earn your place and reputation.
  • I’m looking forward to more speaking, more writing, more mentoring, and more online community building. These are things I’ve grown to enjoy (and in the case of the latter, appear to do naturally).
  • I’ve followed Patrick Chanezon, the Senior Director of the team, since he was setting up the developer advocacy programme back at Google – I have a lot of respect for what he’s achieved and the way he operates, so I’m delighted to have the chance to work closely with him. I’m excited to join everyone in the team, of course – I have spoken with most of the group already and I’m really looking forward to learning from their diverse range of experiences and backgrounds.

Between now and April 10th, I have a few things planned including a vacation (!), heading to EclipseCon to talk about MQTT and M2M topics, and some other speaking engagements. After I start the new role, I expect I’ll join in on the Cloud Foundry Open Tour and start to meet folks. I’ll also be on the team for the GOTO conference in Aarhus in October – exciting times ahead!

About these ads

Eclipse Paho gets started…

Since the announcement of Eclipse Paho (an Open Source project under the Machine-to-Machine umbrella at Eclipse) there has been a fair amount of excitement in the MQTT community about the availability of IBM’s C and Java client code under an Open Source license.

The initial proposal and setup stages have taken a little while, but this week the initial availability of the C client code was announced on the Paho mailing list (Java will follow shortly).

PahoHALF

Paho Quickstart

This is not intended to be a comprehensive guide – better documentation etc will emerge over time – but I thought I’d post a quick guide as a kickstart for anyone wanting to give it a look. I did this on 64-bit Ubuntu 11.10 – similar steps will apply on other Linux or UNIX platforms (note, the initial code contribution has a Makefile with rules which should work on UNIX, Windows, or z/OS).

Install the necessary packages to build code. NB git is for grabbing the source from Eclipse; build-essentials is a metapackage providing gcc etc on Ubuntu; and doxygen and optional graphviz are used for generating the documentation.

sudo apt-get install git build-essentials doxygen graphviz

Get the code from the git repository:

git clone git://git.eclipse.org/gitroot/paho/org.eclipse.paho.mqtt.c.git

Quick build for the client library and documentation:

cd org.eclipse.paho.mqtt.c.git/src
make -f ../build/Makefile all
doxygen ../doc/DoxyfileV3ClientAPI

Once these commands complete, you should be left with subdirectories called <platform> and docs. In my case, <platform> was 64-bit Linux, so I had a binary at linux_ia64/libmqttv3c.so. There's no "make install" rule at the moment, nor is there a rule to compile the docs so I had to run doxygen directly. In the future it would be nice to automate all of that, and also to build some test applications.

Opening docs/html/index.html in a browser reveals very nice documentation describing the client library, including some examples of how to use it. For example, in docs/html/pubasync.html there's a complete listing for an asynchronous publisher application. I extracted that code into pubclient.c and decided to check that it worked!

gcc -Wall pubexample.c -L./linux_ia64 -lmqttv3c -lpthread -o pubexample

That command successfully built a binary called pubexample. All I needed to do was test it. The sample application assumes that an MQTT broker is available on localhost port 1883 - if you want to change that, simply modify the value of the static variable ADDRESS in pubexample.c - in my case I simply apt-get installed the mosquitto and mosquitto-clients packages onto my system, but I could equally have unzipped and run Really Small Message Broker - both start on port 1883 by default if not given alternative configuration.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./linux_ia64/
./pubexample
Waiting for publication of Hello World!
on topic MQTT Examples for client with ClientID: ExampleClientPub
Message with token value 1 delivery confirmed

It was trivial to test that a subscriber (mosquitto_sub in my case) also received the publication. Job done!

Getting involved, and other news on Paho

I mentioned that the Java client contribution should appear soon. One other piece of news this week is that the project's sandbox broker implementation - based on mosquitto - has been spun up. That was posted on the Paho mailing list, and if you want to get involved you should definitely subscribe to that; start to track the Eclipse Bugzilla for Paho; watch the Paho wiki; keep an eye on the source repositories; etc.. I'm already thinking about getting an OS X build rule sorted out. If you want to test your sample code now, you've got the option of a local broker, the Eclipse Paho sandbox, the mosquitto sandbox, or various other implementations.

Oh - and please leave a comment on this post if you find this information interesting, or want to discuss where things are with Paho. I'll be hanging out on the mailing list as well.

What about Bob? (or Andy, even!)

Well, although I've left IBM, I'm delighted that MQTT is now going Open Source - in fact that was one of the things that I really wanted to help to achieve before I moved on. I am really pleased that I will be able to continue to contribute to both Paho and the broader Eclipse M2M Industry Working Group. I'll be helping to update the mqtt.org community site, and heading over to EclipseCon in Virginia in a couple of weeks' time to talk about M2M and work with our friends from the Koneki project. If you are attending EclipseCon please come say hi to me - and you may be interested in Wes Johnson's session on MQTT and Eclipse tools.

There are very cool times ahead!

Hidden messages and cunning puns

My friend and former colleague, Peter Anghelides, is a rather good writer. In particular, he’s written a number of books and audio plays set in the Dr Who, Sarah Jane Smith, Torchwood and Blake’s 7 universes.

The Christmas 2011 Big Finish special subscriber-only release, The Four Doctors, contained characters named “Lady Cowen” and “Whitmore” – a lovely little reference to Laura and Tony, also huge fans of Dr Who (as well as hosts of the Ubuntu UK Podcast[1], and some of the folks behind OggCamp). Incidentally – I reckon The Four Doctors is probably one of the best and cleverest Big Finish plays, and certainly it’s my favourite. If you’re into Dr Who, then it is worth a listen.

A subsequent Companion Chronicle for Big Finish – Ferril’s Folly – contained a brilliant line which referenced another friend, my mentor Dr Andy Stanford-Clark (yes indeed, he of MQTT, mousetraps and ferries fame).

I’ve just listened to Peter’s new Blake’s 7 audio play, Counterfeit, performed by Gareth Thomas and Paul Darrow. I’d been tipped off via some tweets that there should be a nod to me in this one… initially, I’d jokingly whinged that it was only a concealed reference in the dialogue rather than a namesake character, but then I heard the line itself:

… but then he twittered on, about chronon bridgebuilding, and deep hyper messaging connections…

Genius! Thank you, Peter – very nice, and I’m honoured :-)

[1] this also gives me a handy opportunity to mention that I was a guest presenter on the first episode of season 5 of UUPC, which was live-broadcast on the interwebs on Tuesday, and released as a download yesterday. Check it out!