|Latest 7 Posts
| Quick Update|
Thu, Sep 1st 2016 6
| Analyzing Data with IBM Watson Internet of Things|
Tue, Jun 14th 2016 8
| Recognizing Text in Images with Watson’s Visual Recognition API|
Mon, Jun 6th 2016 6
| Pictures from Bluemix at DNUG|
Fri, Jun 3rd 2016 8
| Machine Learning Courses for Developers|
Wed, Jun 1st 2016 7
| Spark Machine Learning Samples for IBM Bluemix|
Mon, May 30th 2016 7
| Integrating Tools in Bluemix DevOps via Open Toolchain|
Fri, May 27th 2016 8
| How to build Facebook Chatbots with IBM Watson|
Thu, May 12th 2016 16
| Samples of the Watson Tradeoff Analytics Service|
Tue, Feb 2nd 2016 15
| Usage of Swagger 2.0 in Spring Boot Applications to document APIs|
Tue, Nov 17th 2015 14
| How to trigger OpenWhisk Actions on Cloudant Databases Changes|
Thu, Mar 17th 2016 13
| Bluemix Object Storage Service to store Files in the Cloud|
Tue, May 19th 2015 11
| Simple Sample of the Watson Document Conversion Service|
Wed, Jan 27th 2016 10
| Authentication in Bluemix Applications via SAML Identity Providers|
Mon, Feb 2nd 2015 9
| Sample of the Watson Retrieve and Rank Service|
Tue, Jan 12th 2016 9
| Developing Offline Capable Mobile Apps with LoopBack|
Mon, Mar 21st 2016 9
| Meet Bluemix at JavaLand 2016|
Mon, Feb 8th 2016 8
| Recent Blog Posts
Thu, Sep 1st 2016 4:01a Niklas Heidloff
Some people have asked why I haven’t blogged since June. Here is why …
Almost two years ago I started to work for IBM Emerging Technologies. I wanted to work in this group for multiple reasons. One reason was because some of the people in that group worked as developer evangelists for Bluemix which is what I wanted to do as well. I really enjoyed this role since I could learn a lot, since I could blog and open source samples, since I could attend developer conferences and more. As yo
Analyzing Data with IBM Watson Internet of Things|
Tue, Jun 14th 2016 4:47a Niklas Heidloff
Once you’ve connected your ‘things’ with the Watson Internet of Things platform, the next question is how to process the received data. In some scenarios the raw data triggers actions immediately, sometimes the data needs to be persisted so that it can be used for historical/descriptive analysis and sometimes the data is used to perform predictive analytics and prescriptive analytics.
The Watson Internet of Things platform uses MQTT which is a lightweight and secure publish/sub
Recognizing Text in Images with Watson’s Visual Recognition API|
Mon, Jun 6th 2016 6:23a Niklas Heidloff
The Watson Visual Recognition service is now generally available and a lot of new functionality has been added. The service combines the old beta capabilities plus the Alchemy functionality and the previous Visual Insights service.
With the new service you can receive classifications of images, faces can be detected and even text is recognized. All of this can be done by simply invoking APIs without requiring deep learning skills.
With the new service you can now define and train multiple custom
Pictures from Bluemix at DNUG|
Fri, Jun 3rd 2016 4:12a Niklas Heidloff
This week I attended DNUG in Hamburg/Germany. DNUG is the German user group for IBM Collaboration Solutions. In the app dev track several sessions covered Bluemix.
It was the 43th conference of DNUG but this time it was very different. After years of declining numbers of attendees the new board has managed to double the number of attendees compared to the last conference. The new DNUG organization is now much leaner and cost effective. One example is that all servers and infrastructure has been
Machine Learning Courses for Developers|
Wed, Jun 1st 2016 3:07a Niklas Heidloff
As readers of my blog will know, I want to learn more about machine learning. I’ve managed to run some samples and I’ve built my own first little samples. It feels like the next step is to understand more about the different algorithms, for example when to pick which one and how to tune the parameters to achieve the best results.
To learn more, I’ve started to watch the first hours of the awesome courses below. The courses are a great introduction to machine learning and very d
Spark Machine Learning Samples for IBM Bluemix|
Mon, May 30th 2016 4:54a Niklas Heidloff
Below is a quick overview of samples that demonstrate how to use the machine learning capabilities in Spark on IBM Bluemix.
Flight Delay Predictions
David Taieb posted the slides of his hands-on session how to predict flight delays based on historical data and whether predictions. The sample uses the machine learning algorithms Logistic Regression, Random Forrest, Decision Tree and Naive Bayes.
When playing rock-paper-scissor everyone has his/her own strat
Integrating Tools in Bluemix DevOps via Open Toolchain|
Fri, May 27th 2016 5:26a Niklas Heidloff
At InterConnect IBM previewed a new set of DevOps functionality which is now available as experimental on Bluemix. Via Toolchains IBM tools and third party tools can be used seamlessly together for the development, deployment and management of Bluemix applications.
With toolchains other common non-IBM tools can be integrated nicely in the Bluemix developer experience, for example by providing a single sign on between Bluemix and the various tools. Additionally the tools can interact between each
Running the Spark Recommendations Sample on Bluemix|
Wed, May 25th 2016 5:29a Niklas Heidloff
Apache Spark comes with a set of machine learning samples. One of those sample is a movie recommendation system which makes personalized recommendations based on a technique called Collaborative Filtering. In this article I describe on a high level how this sample works.
For more details check out the tutorial from the Berkeley university. The dataset used in that tutorial contains 10 million ratings from 72,000 users on 10,000 movies. The Spark project comes with a synthetic dataset in the same
Discovering Open Data via Analytics Exchange on Bluemix|
Wed, May 25th 2016 3:22a Niklas Heidloff
As I’m trying to learn more about machine learning I spent some time to look for data that I can use. While GitHub is the place to get open source code, there doesn’t seem to be a counterpart for open data. Below are a couple of websites that help finding data.
In Bluemix there is an Analytics Exchange which gives you access to free and open data in categories such as economy and business, leisure, transportation, and others. The screenshot shows a sample dataset which contains revie
Getting started with Spark Machine Learning on Bluemix|
Thu, May 19th 2016 6:15a Niklas Heidloff
I’m fascinated by the power of machine learning and I’m trying to learn more about this technology. I’ve started to look into how to use the machine learning library in Spark.
The Spark documentation of the spark.ml package explains the main concepts like pipelines and transformers pretty well. There are also a number of good videos on YouTube about machine learning. I’ve used the spark.ml library as opposed to spark.mllib since it’s the recommended approach and it
Getting started with Predictive Analytics on Bluemix|
Wed, May 18th 2016 4:06a Niklas Heidloff
IBM Bluemix provides a service Predictive Analytics which developers and data scientists can use to build applications that help users to make predictions about the future for different scenarios. Below is a quick introduction of this functionality.
Let’s start with a definition of Predictive Analytics from Wikipedia.
Predictive analytics encompasses a variety of statistical techniques from predictive modeling, machine learning, and data mining that analyze current and historical facts to
How to build Facebook Chatbots with IBM Watson|
Thu, May 12th 2016 4:23a Niklas Heidloff
I’ve open sourced a simple sample of a chatbot for Facebook that leverages IBM Watson Dialog and IBM Watson Natural Language Classifier for conversations with users.
Get the code from GitHub.
The GitHub project contains a sample of a Facebook bot built on the Facebook Messenger Platform which is currently available as beta. The sample bot is pretty simple but might people give some ideas how to use cognitive Watson services and how to host the bot on Bluemix.
The sample bot shows recent tw
Check out the High Quality Bluemix Webinars|
Tue, May 10th 2016 4:11a Niklas Heidloff
In order to learn new technologies I often watch webinars and videos. For Bluemix there pretty good technical webinars with great speakers, mostly from the development teams. Unfortunately they are not that easy to find. So here is a quick overview.
IBM Bluemix Dev Webinars
Registration on event.on24.com (17 fields)
Replays are available after registration
IBM developerWorks Open Tech Talks
Registration on ibm.6connex.com (9 fields)
Replays are available a
How to invoke OpenWhisk Actions for certain IoT Device Events|
Mon, May 9th 2016 3:26a Niklas Heidloff
Serverless Computing is often useful in event-driven Internet of Things (IoT) scenarios. For example when IoT sensors exceed a certain temperature actions are invoked to fix the issue.
OpenWhisk is IBM’s serverless computing offering in Bluemix. In order to implement a use case like above with the experimental OpenWhisk service, at this point you need to deploy a non-serverless application which receives MQTT events from IoT devices and invokes the appropriate OpenWhisk actions. While such
How to use Spring Boot for Serverless Computing|
Wed, May 4th 2016 5:49a Niklas Heidloff
Serverless Computing is a relative new technology which allows developers to build event driven code which scales and for which you only pay the time it’s running. OpenWhisk is IBM’s serverless computing offering hosted on Bluemix.
Useful MQTT Tools for the IBM Watson IoT Platform|
Tue, May 3rd 2016 4:00a Niklas Heidloff
For the development of Internet of Things applications it’s often useful to simulate devices. Below are two options which are easy to use.
The instructions describe how to connect to the IBM Watson IoT Platform on Bluemix. In all cases you need to create your own Internet of Things Platform service and create your own device type and device.
With the MQTT Helper application on Bluemix you can connect to a MQTT broker and subscribe and publish to MQTT topics. The trick is to kno
Creating Docker Actions with OpenWhisk|
Mon, May 2nd 2016 8:32a Niklas Heidloff
How to use API Connect to manage LoopBack APIs|
Tue, Apr 26th 2016 6:11a Niklas Heidloff
As an example I used a simple sample application ‘Approval Requests’ built on the CLEAN stack. The sample is available as open source a
Developing OpenWhisk Actions via the new Web Editor|
Mon, Apr 25th 2016 6:02a Niklas Heidloff
In addition to Cloud Foundry, Docker and Virtual Maschines Bluemix provides a fourth compute option OpenWhisk. OpenWhisk is an event-driven compute platform that executes code in response to events or direct invocations without having to maintain servers. The advantage is that you only have to pay for actual usage, not for peaked projections.
Pictures from Bluemix at JAX 2016|
Fri, Apr 22nd 2016 4:04a Niklas Heidloff
This week my colleagues David Barnes, Ryan Baxter, James Thomas, Thomas Bück, Timo Roeseler and I attended JAX in Mainz/Germany which was attended by 2000 people, mostly Java developers. There was a lot of interest in Bluemix and we enjoyed the discussions with developers. Below are some pictures from our booth, our sessions and prize draws.
The team from left to right: Ryan, James, David, Thomas, Niklas
David Barnes in his keynote about the next generation of software developers and drones:
How to get started with Machine Learning on Bluemix|
Fri, Apr 15th 2016 10:22a Niklas Heidloff
There is a lot of talk about artificial intelligence (AI) these days, especially since Google’s AlphaGo beat a Go world champion. Companies like IBM are using this technology already in a number of products. For example on Bluemix developers can easily consume cognitive Watson services like speech or image recognition that use machine and deep learning under the cover. While these Watson services are very easy to use for developers, sometimes you want to use machine learning for other scen
Driving Cars autonomously with IBM Bluemix|
Mon, Apr 11th 2016 5:27a Niklas Heidloff
At JavaLand we presented how to steer Anki Overdrive cars with IBM Bluemix via speech and gesture recognition. Since the cars send their position data to the cloud we could also demonstrate a simple version of collision prevention.
The demo is available as open source and I documented it in a series of blog entries (see below). My colleague David Barnes interviewed me and created the video Driving Cars autonomously with IBM Bluemix. Thanks a lot, David!
Here is the high level architecture with
Measuring Heart Rate with Wireless Earphones and Bluemix|
Thu, Apr 7th 2016 10:06a Niklas Heidloff
The Dash from Bragi are wireless smart earphones with a lot of sensors in them. Below is a quick example how to get data from the heart rate sensor and send it to IBM Bluemix. This functionality could be used, for example, to track health of factory workers or patients in hospitals.
I open sourced the code on GitHub.
At this point the controller is running on a MacBook (when the device will expose more sensor data, I’d like to provide a sample mobile app). The controller talks to The Dash
Meet Bluemix at JAX 2016|
Wed, Apr 6th 2016 4:33a Niklas Heidloff
From April 19th until 21st my colleagues David Barnes, Ryan Baxter, James Thomas and I will attend JAX in Mainz/Germany to present IBM Bluemix and to talk with developers. JAX is a developer conference with around 2000 attendees with a focus on Java, architecture and software innovation. I attended JAX and W-JAX last year and based on my positive experience I’m sure it will be a great conference again.
David, Ryan, Thomas and I will give sessions related to the cloud, IoT and Docker. The
My Thoughts on the Next Generation of IBM Domino App Dev|
Tue, Apr 5th 2016 6:26a Niklas Heidloff
Before I started to work on Bluemix I had worked 15 years in the IBM Collaboration Solutions space, especially on application development. Below are my personal thoughts on how app dev in IBM Domino could evolve, both on-premises and in the cloud.
App Dev Models in Domino
Since Domino has been around for a long time the app dev capabilities have grown. At this point there are developers who build rich client applications via forms and views, there are developers who use Domino pass through HTML,