IBM Skills Gateway: Refreshing your technical arsenal!

I have been hearing a lot about the different courses offered on the IBM Skills Gateway so I decided to try one. Since I have been working with BlueMix for a bit I figured it would be easy to go through the BlueMix Essentials course and earn the badge, I squeaked by the test with a 90% (you need an 80% to earn the badge, so make sure you REALLY pay attention as there are only 10 questions).

BlueMix Essentials.png

I have to say I am pretty impressed with the way the course played out; mixing video, text, and lab content into a seamless straightforward experience. You can stop and start as you will, it will just keep track of where you left off. I got a little impatient with a few videos but that was only because I was familiar with most of the material, however it makes you finish watching each video – so no skipping around! I really like this course because if anything, it teaches you how to setup an application, make code changes locally, and then deploy those changes to the BlueMix cloud. Make sure you before you actually do the lab you watch the lab video. I kept making the mistake of just doing the lab as described and then I was forced to watch a 10-12 minute video of the instructors walking through the lab. It explains how to install the different tools you may need, walks you through all configurations, using the command line Cloud Foundry tools (cf), and using Eclipse as your IDE for your project.

Finding courses is very easy and many are free! You can filter courses by duration, category, product group, and skill level.

IBMSkills-Search.png

You can take courses that are instructor led or self-paced. Some courses are a combination of reading material and videos, while others may contain hands on labs, or may just be a simple article like An introduction to InfoSphere Streams. If you really like the concept of badges, which in my opinion are similar to certfications, then you can search for them here. The badge system is a partnership with Acclaim and it uses Open Badges which can then be posted to your social profiles, like on LinkedIn.

Screen Shot 2017-03-30 at 2.33.10 PM.png

I am still waiting for my first badge, I guess some badges could take from 1-2 weeks to get. I would be interested to hear others experience with this process. Meanwhile, I think I might earn a few more badges and beef up my own technical arsenal!

Working in the BlueMix Garage

screen-shot-2017-03-01-at-2-26-39-pmI have always been a fan of gamification and now I can be manly and say I am working in the garage, the BlueMix Garage!  You can earn points by completing different tasks in the BlueMix Garage Method site.

3000 Members now in the BlueMix LinkedIn Group!

Today, as I processed the pending membership requests on LinkedIn for the IBM Bluemix group, we surpassed 3,000 members!  In less than two years the group continues to grow and membership and activity have grown regularly each week. Keep promoting it and keep posting important material to the group!

While the group has some good discussions and examples of how BlueMix is used, if you prefer video then you should consider checking out the YouTube channel dedicated to IBM BlueMix, which is run by the Developerworks team:

Managing your BlueMix applications in Slack with Cloudbot

bluemix-slack

Slack has become a very popular collaboration tool for developers and designers. Think of LinkedIn groups combined with a Facebook or Twitter feed that is isolated to only the team members participating. It is equivalent to an on going persistent eMeeting chat that never ends, is searchable, and most of all, captures all conversations around a topic in a single place. Some argue Slack is the end of email and other collaboration techniques, specifically around projects.

In this video Yu Cao demonstrates how to setup Cloudbot for slack where you can then chat with the bot to get information about your your BlueMix applications.

“Cloudbot is a ChatOps bot platform built to be deployed on IBM Bluemix that integrates services and tools into a development or operations team’s workflow in a collaborative chat environment.” – link

 

Why IBM adding SWIFT to the cloud is a huge game changer.

IBM + Swift

Long ago we use to dream about writing server software in the language we write the client software in. Then came Java, the end to all arguments, Java everywhere, etc. The only problem was there were a few camps that didn’t totally buy into Java everywhere and in some cases banned the virtual machines existing on devices, like the Apple products. Similar to what happened with Adobe Flash. I do believe this was a huge step in killing Java, in the end, people are going to choose the popular language but having a strong ecosystem on both ends is critical for programming languages. I have to mention .NET because it really has achieved this nirvana for the Microsoft world. The .NET platform is certainly a platform to be reckoned with, it even runs on Linux. The biggest problem for .NET is according to WinBet.org Microsoft’s market share in the United States is only 2.8% for mobile devices – if this was a Presidential candidate they would be bowing out by now.

So then came a technology called Node.js. Once again a proper stab at using the same language in the client applications as you use on the server and in this case it’s JavaScript. The only problem was language enthusiasts still debate whether JavaScript is even a full language. Here is a really nice article for the uninformed about JavaScript. I personally believe Node.js is great; everything I have done in Node has been dead simple and easy. But I also noticed a problem, a shift in the market per say, in mobile applications. Companies began moving away from hybrid applications and began investing in native mobile applications. Specifically almost every vendor I work with asks about the Apple platform support for business applications (not really customer facing). I am talking about check out terminals, store associate applications, inventory apps, pick and pack, check-in/check-out devices,etc. I never hear the Android discussion come up for these kinds of devices.

So now we have a dilemma, we are back to different client and server languages. Interestingly enough, the IBM BlueMix services are REST base so you don’t really care what the server platform is, however, if you are developing the server and the client facing application you do care what languages are used. So I started seeing myself creating Node applications in BlueMix and Swift based applications for the devices – two very different languages and skill sets needed; and I am still not a good Swift programmer even after a couple of apps.

Now comes what I consider a huge announcement:

Apple just gave IBM a huge leg up in the cloud wars with Amazon

IBM’s partnership with Apple bears even more fruit today as theIBM Cloud becomes the first cloud computing platform to support the smash hit Apple Swift programming language.

 

We can now take an awesome full featured language like Swift and use it in both server and client applications. And most will agree Swift is an amazing and fun language to program in. Think of Swift as the language of the best of the rest. Swift brought in the best features from many languages all rolled up into one.

The question is how long will this last? Will it grow the Apple marketshare? Could this be the nirvana we are looking for? I am very interested in hearing others feedback on this.

So now all of you Apple iOS developers should go over to the IBM Swift page and check out what Swift you can do on the BlueMix servers!

Using Watson Translation service in an Eclipse SWT application

Image (3) flow-680x156.png for post 5379

In this video I show how I used Watson Translation services in IBM Bluemix to translate an entire catalog of products and categories. I used a simple Node-Red flow to achieve this with little programming on the server-side.

Allowing CORS from a Node-Red Bluemix application

I wrote a rating application some time ago in Node-Red and have since needed another similar application but with slightly different behavior. So I went ahead and created a new Node-Red application on Bluemix and decided to start from scratch since it was so simple to set up. This application has three requests – Get Rating, Post Rating, and Post Comment. Here is the current flow:

Image (1) rate-flow-680x422.png for post 5391

The problem I had was the requests actually respond with JSON and I could not figure out how to enable CORS!

The first thing I did was in the Image (2) cors.png for post 5391 node I added the following to the response:

Image (3) cors2.png for post 5391

And that did not work. Then, I stumbled upon this in my Cloudant dashboard in the Account Section under CORS:

 

Image (4) cloudant_admin-680x212.png for post 5391

Once I checked all domains it worked fine! I am sure I can restrict the domains appropriately but I guess I don’t understand why the CORS options are under the Cloudant section and not the base application somewhere. I would think this is a specific thing to hitting the Cloudant service directly, not through a Node-Red Node. I am very interested in hearing others opinions on this.

Update:

After using the Cloudant UI to update my profile I went back and checked the bluemix-settings.js saw it indeed added the httpNodeCors line to the profile:

httpNodeCors: { origin: “*”, methods: [‘GET’,’PUT’,’POST’,’DELETE’] },

So this is clearly the issue as I saw a similar question on developerworks but saw no example of the syntax.