Use the Amazon Echo & Dot with the Watson Conversation Service

 

Imagine making your Alex Skills smarter where you could have a real conversation with Alexa by bringing it the intelligence of Watson.   I have recently created an Alexa-Ask-Watson project enables you to quickly create an Alex Skill using Python that is able to use the Watson Conversation Service  to understand a users utterances, determine they intend and use a dialog to achieve their needs.

The Alexa Skill sends all the utterances the user makes to your Alexa Dot or Echo as text to Watson Conversation service. The text is then analyzed by the Watson Conversation service to determine intents and create a dialog with the user.

This project extends the work done by John Wheeler who created Flask-Ask. Flask-Ask is a Flask extension that makes building Alexa skills for the Amazon Echo and dot easier. Get started with the Flask-Ask quickstart

Get the source code here:  https://github.com/fe01134/alexa-ask-watson

Deploy React Redux to Bluemix

To Create Redux app and component that runs on Bluemix.  Check out https://github.com/davezuko/react-redux-starter-kit

1    First, clone the project:
$ git clone https://github.com/davezuko/react-redux-starter-kit.git <my-project-name>
$ cd <my-project-name>

2   Install dependencies and check to see it works. It is recommended that you use Yarn for deterministic installs, but npm install will work just as well.
$ yarn install    # Install project dependencies
$ yarn start      # Compile and launch (same as `npm start`)  or $npm run start

3   To deploy to Bluemix using Staticbuildpack
$npm run deploy:prod
$cd dist
$cf push “your app name” -b staticfile_buildpack

Microservices and how to get started using them with Bluemix

I recently finished co-authoring a new book on Microservices titled “Reducing Development Time, Risk, and Cost through Microservices” You can download the book for free at http://www.redbooks.ibm.com/redpieces/abstracts/sg248275.html?Open The book describes how Microservices are an architectural style, in which large complex software applications are composed of one or more of smaller services. Each of these microservices focuses on doing one task representing a small business capability. These microservices can be developed in any programming language and communicate with each other using language-agnostic protocols such as REST or messaging applications such as IBM® MQ Light.

This IBM Redbooks® publication gives a broad understanding of this increasingly popular architectural style and provides some real life examples on how you can develop applications using the microservices approach with IBM Bluemix. The source code for all these sample scenarios can be found on GitHub (https://github.com/).
The book also presents some case studies from IBM products. We explain the architectural decisions taken, our experiences and lessons learned when rearchitecting these products using the microservices approach.
IT professionals interested in learning about microservices and how to develop or rearchitect an application in Bluemix using microservices will benefit from this book.

You can also learn more about Microservices by watching the informative interview I did with Constant Contact CTO, Stefan Piesche as part of the research for the book. In the video you can learn how his email marketing company uses these fine-grained processes that are fully distributed and individually deployable to push new applications to market more rapidly than ever before. https://www.youtube.com/watch?v=oKMGObPMvBw

Give Me the Basics on Logging with Java on Bluemix

I just answered a beginner question on how to do standard error and standard out to logs on Bluemix. Here are the basic steps. You need to utilize the Monitoring and Analytics Service with the Java Liberty Runtime. Similar logging is possible with the other runtimes and languages too. This also demonstrates how to use DevOps Services.

If you have created a Java app using the Liberty Runtime from the IBM BLuemix Dashboard do the following:

1 Add the project to DevOps Services by pushing the “ADD GIT” Link on your App Dashboard. Accept defaults

2 Click on Edit code link that then appears

3 Click edit code button, using DevOps Services Web IDE Edit the src/com/ibm/cloudoe/samples/HelloResource.java Add the 2 lines below to sending messages to standard out. import static java.lang.System.out; and System.out.println(“This is test “);

package com.ibm.cloudoe.samples;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import static java.lang.System.out;
@Path(“/hello”)
public class HelloResource {
@GET
public String getInformation() {
// ‘VCAP_APPLICATION’ is in JSON format, it contains useful information about a deployed application
// String envApp = System.getenv(“VCAP_APPLICATION”);
// ‘VCAP_SERVICES’ contains all the credentials of services bound to this application.
// String envServices = System.getenv(“VCAP_SERVICES”);
// JSONObject sysEnv = new JSONObject(System.getenv());
System.out.println(“This is test “);
return “Hi World!”;
}
}
4 In DevOps Services. Click on Pipeline, You must commit your code change click message that pops up at the top to go to Git.

5 In DevOps Services. You must then select “push” from left menu to push out changes to be build and deployed.

6 Add the Monitoring and Analytics Service to your Space. + Add Service

7 Bind the Monitoring and Analytics to your App. In your JavaStandardOut App + Bind a Service or API choose your Monitoring and Analytics.

8 Accept it to restage

9 Click on link to see your app in browser and call your standard out code. Go to route/link for your app at the top of your page.

10 Go back to your App Dashboard Choose Monitoring and Analytics from the menu.

11 In Monitoring and Analytics, Search on This is a Test message See log and your message. See image below.
Logging.001

Get the code:
https://hub.jazz.net/project/carlosf/JavaStandardOut/overview

For CloudFoundry Applications Logging happens at multiple levels
Log Types – Their Messages
API
STG
DEA – Droplet Execution Agent emits DEA logs beginning when it starts or stops the app. Important for troubleshooting deployment failures
RTR
LGR
APP – Application level – using stderr and stdout
Read the docs: http://docs.cloudfoundry.org/devguide/deploy-apps/streaming-logs.html

You don’t have to use IBM Monitoring and Analytics to see the logs. You can also use the CloudFoundry CLI and invoke the command $cf logs <> — recent

Another option is to use a Third Party Service like PaperTrail You have to create a separate account with PaperTrail(https://papertrailapp.com/) and then add the services using this approach: http://docs.cloudfoundry.org/devguide/services/log-management.html

IBM announces and makes ASP.Net buildpack available on Bluemix

IBM Bluemix is a platform as a service allows you to design, build and run your a variety of Web Mobile and IOT applications. We just announced a new service for letting you also build and run The Official Microsoft ASP.NET Site applications. Here are some useful links:

Announcement
Bluemix is growing at 8k users per week, debuts new services

Documentation
IBM Bluemix Docs

Catalog including pricing
IBM Bluemix – Next-Generation Cloud App Development Platform

Open Source Project
Where you can contribute to it:
https://goo.gl/1neYyJ

NASA Virtual Space App Challenge

In case you can’t make the HackUmass Hackathon,  you can still participate in another Hackathon with prizes that is happening this weekend also.

The NASA Space Apps Challenge is an international 48-hour code-a-thon where developers, scientists, students, entrepreneurs and educators gather to build applications, software, hardware, data visualization and platform solutions in four categories: Humans, Earth, Outer Space and Robotics.

On April 11-12, more than 10,000 developers are expected to participate across 138 cities and online through the virtual challenge.

IBM is offering Bluemix as a cloud development platform for the NASA Virtual Space App Challenge to help developers rapidly build applications for the challenge.

In addition to the prizes from NASA, IBM will award one prize per hackathon location for the most innovative use of IBM Bluemix. Selected winners will receive $12K of Cloud credit including high-level technical support.

For additional information on the challenge, please visit https://ibm.biz/spaceapp2015.

For participating cities, please visit the official Space Apps Challenge website ibm.biz/spaceapp15.

Using Deploy To Bluemix Button To Deploy Samples and Starter Templates

You can now quickly create sample apps and starter templates to automate deploying applications to Bluemix. Using the Deploy to Bluemix Button you can quickly share running apps with others. You can read more about it in this blog post from my colleague.   I applied this capability to allow you to deploy your own Django Python app in 2 min to using this starter template that uses the Button

The starter template is on GitHub. It includes a complete and simple helloworld app to get you started with Django Python app on Bluemix.   Give it a try would love to hear your feedback.   Also consider doing same thing with samples you want to share or with others by adding a Bluemix button to your GitHub apps.    Click the Deploy To Bluemix button below to start running your own HelloWorld Python Django app on Bluemix.

Bluemix button

Directions
The app will deploy however the initial application start will fail because you haven’t created your postgress database service.
The error messages in the DevOps pipeline services shows you haven’t created your postgresql-qc database service.
Create the postgress service. I used “postgresql-qc” as the name in the manifest file.
Bind the service to your app in the blumix console.
Restart your app in Bluemix
Access the deployed app using the routesURL at the top of your app routesURL/admin
Use admin for user id and password and start creating users.