What the heck is BlueMix and why do I care about it?

Screen Shot 2014-02-27 at 9.59.52 AMYesterday I had an article published on the IBM DeveloperWorks titled “Building a real-time marketing application with Node.js and IBM Mobile Web Push” and in the article I walk you through how to create and deploy an application using NodeJS and the new IBM Mobile Web Push platform (click here to start a free trial for that) on the new BlueMix platform. It is a tutorial/sample based application similar to the Sports Ticker application I just recently posted here. But enough about that so let’s get on to BlueMix.

Continue reading


IBM Mobile Web Push in 90 seconds – The Sports Ticker App – Part 2

90In this last video of the two part segment I show how I use the IBM Mobile Web Push in an application I am building by keying off of data feed events in the application and sending those events to the campaign manager. The campaign manager evaluates the data in the rules I created and decides whether to push an offer to the device. To illustrate how easy the campaign manager user interface is I attempt to do this in less than 90 seconds.

If you want to play around with the code and see how to interact with the campaign manager feel free to check it out on GitHub here. I built the application on NodeJS for simplicity and speed. The primary code is in usports.js, where I simulate getting the feed and sending events to my campaign manager for evaluation. The code snippet that calls into the Reactor Campaign Manager can be seen below in Listing 1. This is just one example of real-time marketing where I override the default “inbox” in the IBM Mobile Web Push user interface and use a jQuery popup instead. You can imagine that I could extend this application to hold all of my coupons or offers in a list and present a notifications number notification like many other mobile applications.

Listing 1
46 if (script[t_idx].data == "halftime"){
48     //Now send a notification to reactor
49     Reactor.reset();
51     Reactor.Client.setAttribute("game", "ncaa");
52     Reactor.Client.setAttribute("half", "first");
54     var newPage = new Reactor.Event("PAGE_VIEW", function(message){
56     });
57     Reactor.EventManager.fireEvent(newPage);
59 }

You can get started yourself by following the same path in the catalog here or click the advertisement below.


You can watch the first video from the previous post: Getting started with IBM Mobile Web Push – Mobile Messaging for marketing – Part 1


Getting started with IBM Mobile Web Push – Mobile Messaging for marketing – Part 1

mobilemessagingIn this first video I show how easy it is to go to the IBM cloud site and either buy or do a trial for the IBM Mobile Web Push platform. Once I get my free account I can use the Campaign Manager’s full functionality for a 30 day trial. In part 2 of this segment I will show how I use real-time marketing coupons in a Sports Ticker application I am creating. You can get started yourself by following the same path in the catalog here or click the advertisement below.


Getting started quickly with Node.js and Express

expressI was recently asked to look into building a sample application based on Node.js – more on that in another post. I only had a couple of days to figure this out and I am sure I didn’t do everything correctly but in the end it worked out great. I basically followed the instructions in this article, however, the best part of the article is the Express command to create the sample application code, ie. the famous “Hello World” example. This for me was a great launch pad in getting started. I was able to investigate the file structure and see how a Node.js + Express is constructed. So the first thing is to get up and running with Node.js, I installed it from the Install button on the Node.js site.

So what was the command?

express --sessions mynewapp

This resulted in the directory structure with all of the basic files configured to run.


The next command is to install the dependencies:

npm install

This installs all of the dependencies identified in package.json and a new directory should be generated:


The last step is to simply run the application server locally:

D:nodesportsapp>node app
Express server listening on port 3000

You can then launch your application with the following URL: http://localhost:3000/

Showthiefing, it’s coming to your store…


This is classic in my opinion. I just read this article where Amazon will be “making it easier” for people to “scan” brick and mortar products and have that product automatically be added to their Amazon cart. I say “scan” because that’s all you have to do is take a picture with your phone and in seconds the product is added to your Amazon cart. The technology behind it is simple pattern and packaging recognition. Although I am sure its more complicated than that….

With that, I am now coining this action as “showthiefing” and no one can use that without my direct permission!

Tough Mudder and Wounded Warrior Project!

Me-marinesI just signed up for the Tough Mudder Upstate New York event (check out the video below). I figure I would motivate myself by looking at my old Marine pictures and even including one in this post from long ago, too long ago actually.

If you feel inclined, I am also raising money for the Wounded Warrior Project so please go and give. Help our wounded veterans today and donate!