Forget Email My Watch Can Control A Drone!

This year at DevNexus I gave a presentation showing how you can use the IBM IoT Foundation and an Apple Watch to control a drone. The presentation was very well received at the conference and I had a lot of good feedback from attendees. If you are interested in checking out the session the recording is on YouTube, or if you prefer, you can just watch the video below.

Getting Started With The Bluemix Graph DB Service

The IBM Graph DB service is one of the many data and analytics services available on Bluemix. If you are not familiar with graph databases, than you can read more about them on Wikipedia. The primary use case for graph databases is to describe relationships between different objects. Graph DBs are composed of two components, vertices and edges. A vertex represents some type of object and an edge represents a relationship between two vertices. The classic example is to represent your social network via a graph database. Each vertex represents a person and an edge between a person represents the fact that those two people know each other. Vertices and edges can have properties associated with them. For example, a person might have a name property associated with the vertex. An edge between two people might have a property representing the date the relationship was established.

Rod Smith Of IBM Emerging Tech Talks Analytics

Interested in hearing what IBM Emerging Technologies is doing in the analytics field? Check out the video below where Rod Smith (my boss) talks what IBM Emerging Tech is up to. This is a three part interview, part 1 and 2 can be found below.

O'Reilly Fluent And A New SensorTag Demo

Next week I will be heading to O’Reilly Fluent out in San Francisco where I will be giving a session on MQTT and IoT as well as manning the IBM booth in the expo hall. Given the session is not a sponsored session, the content presented in the session will be mostly vendor agnostic, but obviously all the concepts presented will apply directly to how you use MQTT as part of the IBM Internet of Things Foundation.

My Blog Has A New Home

Lately I have been spending way too much time maintaining my blog. Something on the server was spiking the CPU causing my blog to become unresponsive throughout the day. To be honest I just don’t have time to investigate issue like that any more so it was time to look into a more hands off solution. A colleague of mine, Jonathan Kaufman, told me he just moved his blog to GitHub and is using GitHub pages. My main concnern about doing this was that I need the export all my content (posts, images, comments, etc.) from WordPress and make sure it would work on GitHub. However, if it was possible, it will allow me to not have to host my own WordPress server and it would save me some money each month :)

Client Libraries For IBM IoT Foundation

If you are familiar with the IBM IoT Foundation, than you know the protocol used for communication between apps and devices is MQTT.  MQTT is an open protocol ideal for IoT solutions due to its lightweight nature.  It works very well when used by devices that might be running on a battery or my have a low bandwidth connection.  In the past when I have worked with the IBM IoT Foundation I have always used an MQTT library from  These libraries work fine with the IBM IoT Foundation as long as they support MQTT 3.1.  However the IBM IoT Foundation offers its own set of client libraries for both devices and applications that make using the IBM IoT Foundation a little bit easier for developers.  Currently there are client libraries for Node.js, Java, Python, C#, Embedded C, and mBedC.  So what is the advantage of using the client libraries provided by the IBM IoT Foundation over the client libraries directly from  One advantage that I am a huge fan of is simplicity of code!  Lets take a look.

Early 2016 Conferences And Sessions

Well it looks like my relaxing break from speaking and attending conferences is quickly coming to and end.  On the one hand I am excited to get back to the “conference circuit” on the other I enjoyed being able to stay home and get a ton of stuff done :) Over the next few weeks I will speaking at several events, so if you are attending any of these conferences be sure to stop by say hi and see whats new with Bluemix!

Building Cloud Native Applications With Spring – Part 8

In my previous blog post I explained how to deploy a Spring Cloud based cloud native app to Bluemix.  However, you may want to deploy our cloud native app to other environments as well.  For example, a testing environment that is inside your own data center.  Or maybe you want to have the ability for developers working on another microservice to easily spin up all the other microservices of the cloud native app so they can easily integrate their service into the mix.  One solution to these problems is to use a Linux container technology called Docker.

Replay Of Docker Session From Qcon San Fran 2015

Last month I gave a talk on deploying Docker containers to the cloud at QCon San Francisco.  In this talk I cover some of the challenges you face deploying Docker containers in a production environment and how using a cloud solution like Bluemix can eliminate those challenges.  I walk through some of the key benefits of using Docker on Bluemix and then dive into a demo showing how some of the features work.  Below is the replay of my session.  Enjoy!

Building Cloud Native Apps With Spring – Part 7

In the last blog post we setup a Git repo and build pipeline for our Eureka server and deployed it to Bluemix.  Now that our Eureka server is deployed to the cloud we can deploy the services which leverage Eureka.  In this blog post I will walk through how to do this for the Participants service, but the process will be the same for the other services as well.  Once you have successfully deployed the Participants service just follow the same steps for the other services (Races, Web, and Hystrix).