Thursday, 26 November 2015

PiZer0 has arrived. Too late, you missed it already.

Okay, if you've been living in a cave or working in the backend of Denmark for the past week, you would have failed to notice the new Raspberry Pi has just launched and immediately sold-out!
Check it out.... now, thanks to the size format it could be an Arduino replacement.  It's a lot more powerful and potentially is capable of doing a lot more for the IoT.  We'll see how it pans out and whether I can actually get my hands on one, or two....or three.....

Now, randomly, PiHut will sell you one from £4 -> £18 depending on the SDCard size and Pimoroni will sell you one for £8, but they don't mention SDCards.

The only downfall I see is the lack of WiFi or BLE onboard, if they could have squeezed that in, then it would have been a killer-app, oh hang on, it's hardware, killer-hard, errr... killer-thing.  It would have been better.  :-)

Thursday, 19 November 2015

Running NodeRed on Bluemix

So, you're a fan of using NodeRed, it's great for doing all sorted of IoT work.

It's great.  But......well, it's running on your laptop and that kind of limits the usefulness beyond playing with things locally.

Until now!  Now, you can deploy NodeRed to Bluemix.  Yep, that means you can run NodeRed in the Cloud.  Your IoT devices can communicate to the internet and interact with NodeRed.  Now, that makes it a lot more useful!

Wednesday, 18 November 2015

Boilerplate projects

I've been meaning to upload this for a while now.  Today, I'll finally get around to it, mainly for my own reference, but also to possibly help other people out.

The scenario:
1) You are asked to make a demo application...
2) as short a time as possible...
3) a pressured environment...
4) ...did I mention "they" want it all finished 2hours before you even started

You get the picture.  Nowadays, just because we have Design thinking and wonderful ways of quizzing a business user on how they feel and what they want a Mobile application to do and using all the Agile techniques you can throw at a buzzword bingo board, it still comes down to the basic element.  A coder, then has to code something and writing code takes time.

I totally agree that making a prototype / mockup / wireframe app can be simple / easy / quick, but making a "real" application is not so, as there is so much more that you have to construct.

Now, in previous coder world thinking, it was all about "let's make re-usable modules of code" that we can just plug-in and bolt together, yay! for Java.  Let the trumpets blare the sound of success.

Unfortunately, in todays Internet-Time, the code you wrote 2 months ago to do "that thing", is now way out of date.  It won't integrate with the new version of thingyJS and if you don't use thingyJS, well, you might as well not bother as that is just ESSENTIAL to meet the requirement.

I think it must have been in the early 2000s when non-technical CTOs made that (rather silly, in my opinion) decision that writing code is a menial, robotic task that can be belittled and outsourced to the cheapest person who can search Google/Bing/StackOverflow and hack something together.

Writing code is an art.  Like engineering a car.  Would you feel safe driving about in a car, knowing that it was put together by the cheapest engineers, who (most likely) cut&pasted code from StackOverflow to meet the insanely short deadlines?  No.  No, you wouldn't.  But, you do, you just don't think any life is going to be lost by it.

Personally, I think it's time for the coders to start to regain their position back at their rightful place.
They make things happen, they create, they engineer, they turn that idea you have into something that is real.  But, don't be an ass and expect it to be a full blown scalable production worthy application in 2 days.  Oh and pay the wo/man what they are worth for their creativity and hard work, you'll be glad you did in the short and long term.
Those coders, will still need to follow the same coding principles as they always have, the main difference being, the time between Playbacks should be shorter, usually every 2 weeks, that means you need to plan better to ensure that tasks can be completed in realistic timelines and allow for changes in the design.  Just because you heard the word FAST, doesn't mean the coders are time-travellers and can magically code quicker, they just need to be given the right information in order to be quicker.
Continuous Integration is often mis-understood as just being a set of tooling that builds checked-in code and alerts coders when someone has 'broken the build'.  Whilst this is kind of true, there is more to it than that.  It comes back to the 2 week delivery cycle mentioned above for a Playback.  The coders will be continuously integrating their code together for that Playback that is coming up, so it is now also wording to describe that process rather than just the tooling.

Okay, with all that in mind....I've written a couple of pages that cover how to jumpstart your project, by creating boilerplates that you can start from.  

So, rather than spending the first 2hours doing this foundation level stuff, you can either download the code and get going quickly or read through the pages, follow along and see how they are made up and can execute the one that you need in 15mins or so.  As it's foundation level, you can then start to build in all those nice bits that the business wants to see in the Playbacks.

Boilerplate project using Ionic/AngularJS for Bluemix (nodeJS)

Boilerplate project for Ionic CLI / Cordova

Boilerplate project for MFP Studio (Eclipse)

Boilerplate project for MFP CLI based on Ionic CLI

Ironically, yes, these will be based on specific versions of the products used, but I will attempt to not do anything that is version specific, so it might be of more use in a years time!

Thursday, 12 November 2015

ArcTuRus v1.1

Continuing on from ArcTuRus v1.0, here is ArcTuRus v1.1

Whilst it may seem like there were minor changes, it was actually more challenging than I had anticipated.  I also had far too many head scratching moments...

Tuesday, 27 October 2015

The Anatomy of the IBM MobileFirst Platform

IBM MobileFirst Platform explained on 1 presentation slide by Curtis Miles

This is a simple run through of the Anatomy of the MobileFirst Platform chart that is typically used to describe all the things that the MobileFirst Platform does.

WAMP - The Web Application Messaging Protocol

WAMP is an open standard WebSocket subprotocol that provides two application messaging patterns in one unified protocol:
Remote Procedure Calls + Publish & Subscribe

Using WAMP you can build distributed systems out of application components
which are loosely coupled and communicate in (soft) real-time.

Monday, 26 October 2015

Node Red Programming Guide

Node Red Programming Guide!

Do you want to get started programming Node-Red?  If so CHECK OUT THESE LECTURES.

The Node RED programming Guide is a series of lectures designed to introduce you to Node-RED - the new visual programming tool for the IoT. It will take you from the basics right through to advanced Node-RED programming. It is targeted at two types of readers - those who are new to the IoT and want to quickly prototype IoT applications and those who are already familiar with the IoT who want to understand Node-RED. The guide is structured into three sections, sections 1 (Lectures 1-4) introduces Node-RED and walks through a series of examples to explain its programming model, its basic nodes/features and how it can be used to access a variety of real world data sources. We use a hosted cloud based version of Node-RED so that readers don't have to worry about the details of installing and managing Node-RED. Section 2 (Lectures 5-7) explores in more detail Node-RED's programming model and how to build your own functions using the function node. It also focuses on using Node-RED on devices such as the Raspberry Pi showing you how to install Node-RED and tailor it for your needs, The final section (Lectures 8-12) focuses on advanced topics including managing and configuring Node-RED, using Node-RED with various IoT platforms, e.g. Sense Tecnic's WoTKit, and more complex IoT examples that use a variety of NR features and nodes to develop full applications.

More advanced topics to come.....

Wednesday, 21 October 2015


nogotofail - sounds like a function I would write in some code when things go very wrong in my code (that would never happen, surely?!)

Nogotofail is a network security testing tool designed to help developers and security researchers spot and fix weak TLS/SSL connections and sensitive cleartext traffic on devices and applications in a flexible, scalable, powerful way. It includes testing for common SSL certificate verification issues, HTTPS and TLS/SSL library bugs, SSL and STARTTLS stripping issues, cleartext issues, and more.

Friday, 9 October 2015

Installing MobileFirst Platform Server v7.1 on WAS ND

Here's my latest article on Installing MobileFirst Platform Server v7.1 on WebSphere Application Server Network Deployment.  (Including Operational Analytics and Application Center).

If you've ever installed MFP using WLP you'll realise that it's very easy to do and very simple to get up and running.  In fact, if you've installed Eclipse and downloaded the MFP plug-in from the Marketplace, you will be using WLP under the covers.

Whilst MFP and WLP is great for development, if you want to go BIG, you need to install onto WAS ND.  Whilst this sounds simple enough, just replacing one Application Server for another, the difference between WLP and WAS ND is quite large and the skillsets are very different.

Follow through the steps I take you through in this set of Pages (with VIDEOS!) and let's de-mystify installing MFP onto WAS ND.

Monday, 5 October 2015

Tuesday, 29 September 2015

ArcTuRus v1.0

Ever wanted to build a robot?  Of course you have!  You could just "buy" one pre-done and job done, but where's the fun in that?

I was thinking..... robot interest flared at the end of the 90s and early 2000s but like the mobile industry it took a bit of a nosedive afterwards, just like the mobile industry.  The technology has now moved on leaps and bounds, what would be involved in building a robot that you could just bolt together and write a little bit of C code for?

Back in the day(late 80's), I got a GCSE in electronics, it interested me, but it was too low level.  I learnt the colour coding of resistors, making PCB boards, etc... but I'm a developer, not an engineer.  I don't "make" widgets, I "use" widgets to get a job done.  It took a few years for me to realise that.

Keeping that in mind, now that the Arduino has matured and the Arduino Shields have come on a long way, these have now become "widgets" that can be bolted together to achieve an end goal.

I decided it was well overdue that I should start to build a meaningful robot that could detect it's surroundings via ultrasonic and infrared sensors, use an object recognition camera to detect objects and react to them, as well as controlling wheel motors for movement and just for kicks have the robot "talk" and connect to the internet.  I had a week "vacation", therein, ArcTuRus v1.0 was born  :-)

So, I'm starting small and working my way to BIG.

This is part 1 of a multi-step guide on how you too, can use an Arduino to build a robot and connect to the internet and utilise NodeJS/Watson and associated services (such as Node Red) to do things you only dreamt about as a kid... well, it IS the 21st century after all, so isn't it about time these things became a reality?...

Tuesday, 22 September 2015

Project Tango

Google....good old Google have decided that the phone is not enough being just a phone.  It needs to evolve.

Let me introduce you to PROJECT TANGO:

"Project Tango brings Motion Tracking, Depth Perception, and Area Learning to mobile devices. Thousands of developers are building experiences that do things like finding your way around, measuring your world, and walking through stories.
Show everyone what you can do with Project Tango by getting a Tablet Development Kit, creating an application, and uploading it to the Play Store. We believe this journey is one worth following."

Well, I "was" building myself an Arduino based robot this week that could basically do all these things shown in the nice diagram above.... I'm now wondering if I should bother?  or should I just get myself a DEV KIT and use all the cool new tools/toys from Google instead?

Nah, I think I'll continue building the robot side of things myself....and wait for v2 of the DEV KIT (as that's the day job and this is just meant to be "fun").

The good news is, it doesn't matter what I do....I just need to be involved and involved in the evolution of "mobile", the evolution of "phone" and the integration with "robot".

Saturday, 12 September 2015

Arduino and Sparkfun ESP8266 WiFi Shield

After blowing the dust off the Arduino 'robots' that have been sitting on a spare desk in the "home office" for the past couple of years, I decided to see how much things have changed in the land of the new buzzword: Internet-Of-Things (IoT).

I just ordered 9-10 items from DFRobot (how did it reach £200!?!), but, as they are in China, it's going to take a little while to receive the parts.  One of the items I ordered was the TEL0047 WiFi Shield for £50.

In my impatience, I set about seeing what else was available.  I discovered the CC3000 WiFi Breakout board for about £30, it looked promising.

Then I found the Sparkfun ESP8266 WiFi Shield at for £15 including P&P.  [BUY] button pressed.  Arrived the next day.


If you don't have something hooked up to the internet soon, I'll be very surprised!

Thursday, 10 September 2015

Pokemon Go

Augmented Reality and Pokemon Go.... just moved up to a whole new level!

Pokemon Go for Android & iPhone

Told you 2016 was going to be the game changing year :-)

Sunday, 26 July 2015

Crunchyroll on an Amazon Fire TV Stick

We bought an Amazon Fire TV stick earlier in the year, so that we could use the Amazon Prime Instant Video service on our ma-hoo-sive Samsung TV (rather than via the X-Box).

This weekend I looked into "what is the Fire TV stick"? turns out it's running Android.

I also was a little disappointed that none of the Apps allowed me to run an app that would display the Crunchyroll Manga/Anime shows.  After checking the official forums it turns out there is no Crunchyroll app for the Fire TV stick.

This got me thinking....the Fire TV stick is running Android and the Crunchyroll app is a .apk app....

I'll now explain,  how to go about getting Crunchyroll onto the Fire TV stick and watching all those great Manga/Anime shows!

>>>>>>>>>CLICK HERE to view the photo's of how to get this working<<<<<<<<<<

Thursday, 16 July 2015

Location based sensors using IBM Presence Insights

Okay, okay, okay..... so this "might" be a little bit of a promo for IBM, but I have to say this is a really interesting field to work with.
There are loads of scenarios that you can think of where you could utilise the beacons to detect the location of a persons smartphone

If you want to get up and running using IBM Presence Insights via Bluemix, click on the following link and press the BIG red button at the bottom, it'll guide you through all you need:

Here's the link to the generic sales/marketing web site link

To be able to try this out, you'll need:

  • Android smartphone (okay, you "can" have an iPhone....but, pfffhhh, if you must, there is an SDK for both)
  • A couple of Beacons (you can get some from - they're not the smallest, but they'll do the job and not break the bank)
  • Some time to write a sample app using either Eclipse+ADT or Android Studio

I'll do a proper article/write-up of an end-to-end setup and usage using Android in the near future.

Tuesday, 7 July 2015

Leap Motion’s Augmented-Reality Computing Looks Stupid Cool

The more I see Augmented Reality blurring with Virtual Reality and "new" ways of thinking, the more I am liking where things are going for 2016.

I backed the KickStarter project for Oculus Rift a couple of years back, when I got my headset and access to the code I was excited by the possibilities.  Unfortunately, it was just too new and I didn't have the time to dedicate to writing 1000's of lines of code for libraries.  I had the vision, but not the time.

I see now that a lot of those libraries have now been written, so what I had in mind can now be achieved in a couple of days of hacking code together.

I'm impressed.

Check out the original article here.

Monday, 29 June 2015

Augmented Reality on Android Phone using Wikitude SDK

I thought I would do a write-up and share how to use the Wikitude SDK for Android to allow you to see how awesome Augmented Reality is from your phone.

Here's a little YouTube video showing the outcome of the slides presentation above:

any questions, feel free to ask.

Friday, 26 June 2015

Ionic, Box and IBM MobileFirst

Here's a great article from Ray: Working with Ionic, Box, and IBM MobileFirst

Summary = Box is a cloud storage provider much like Dropbox, but also provides some pretty cool workflow services as well.  While it is still early, you'll soon see some interesting collaborations between IBM and Box.  Ray, sets out to see how easy it would be to integrate Box into a Hybrid Mobile application using both Ionic and IBM MobileFirst.

Check the article out, it includes a Video too:

Monday, 22 June 2015

IBM and Ionic partnership

Official IBM press-release

Ionic press-release

Yes, yes, yes..... this is several weeks late.  What can I say, I've been "busy"  :-)

The good news is, IBM has this product called IBM MobileFirst (I may have posted a thing or two about it?!) that helps support making, managing and securing the back-end services of your Mobile applications.....and Ionic Creator is just an awesome front-end product for building the Mobile application itself.

Officially putting these two things together is great news (I've been doing it un-officially for quite some time, so it's great that it's now official news).

Thursday, 4 June 2015

React Native for iOS with MobileFirst Platform

A quick sample video on React Native integrated with the MobileFirst Platform Foundation

Sunday, 8 March 2015

Performant Mobile UI with

Create high-performance

mobile UIs with

Level up to a native-code user experience for JavaScript apps
With the platform, mobile web UIs written in JavaScript can be as compelling as native-code implementations.
Work through this article's examples to find out how helps you easily create a high-performance user experience in your mobile apps.

Tuesday, 3 February 2015

4 Free ebooks to learn AngularJS

4 Free ebooks to learn AngularJS

1. AngularJS Succinctly
2. Recipes With AngularJS
3. Practical AngularJS 
4. AngularJS in 60 minutes 

Find out more here:

Sunday, 1 February 2015

IBM Bluemix, CloudantDB, AngularJS and upload images

Whilst building my ACE! app - I needed to be able to upload images for the events / presentations / speakers and attendees.
I thought, hey, that's simple, we've been doing this on normal web-servers for decades, I'll just write a server-side php page (a couple of lines of code) that saves the posted files to a folder and then I'll know the URL to reference them.  Sorted! I should have it all finished before the kettle has finished boiling for my cup of tea.
Then I pondered for a bit.  How does this now work in the PaaS world (Clouds like IBM Bluemix, Google AppEngine, Amazon, that Microsoft one, etc...).  Ah, not such a simple solution now.  But a challenge.  Whilst drinking my cup of tea, I then set about making this work on IBM Bluemix.

Here's a presentation of how I made this work for me:

Friday, 9 January 2015

OLED screens for gauges in the hot-rod

I just (re)discovered that I made these gauges for the hot-rod two years ago:

I'm glad I stashed the Arduino C code on a git repository, as I am now in a position with the hot-rod to be able to connect the sensors up to the code and get accurate readings now.  I've also got to figure out how to house the gauges and the Teensy v3 behind the dashboard.  Minor details, I'm sure...

Checkout progress of the hot-rod at TheAlbatrossHotRod website.

Thursday, 1 January 2015

Golden days of yesteryear (MS-DOS v6.2.2, USB drives and accessing the Internet from a 486)

Whilst having an end of year tidy up in the 'man cave', I found a couple of boxes with some "old" PC based computers contained within.  I had a couple of Gateway2000 Handbook 486 devices and a Fujitsu B-2154 touchscreen laptop.  I can recall, why I got them in the first place.  They are all small laptop/netbook sized, don't weigh very much and could be re-purposed for other things.  Well, that's probably what I thought when I first got them....did some stuff with them and then put them on a box for "coming back to them later on".

Well, "later on" just happened to be during the week between xmas and new year......