Monday, September 3, 2018

Call for Code Project

As you may have heard, Ginni Rommety the CEO of IBM recently launched a Call-for-Code challenge to build a solution using IBM technology which will help solve problems with responding to natural disasters

We had a one day hackday in the Dublin lab to help form teams and kick-off projects. During this day I became part of a team named "Watson Dispatch Manager" which aimed to build a call screening agent for emergency services. This aims to solve the problem that when a major incident happens the emergency services get overwhelmed by multiple callers reporting the same incident, while callers trying to report a different (equally urgent problem) can't get through.

After the hackday, the team continued working and build and actual working prototype.

Here is a presentation about the project

Here is a video about the project for people who prefer that format
And here is an actual video of the prototype in operation.

Thursday, June 14, 2018

Keeping track of unread marks in Slack

In recent years IBM (and other companies) have become enthusiastic users of Slack to communicate. I must admit that I am not so impressed with Slack (partly because I was involved in developing some alternatives that I consider better), but I am leaning to use it nevertheless.

A confusing thing about Slack is how the concept of Workspaces and Channels intersect. On the far left of the Slack client you see a list of icons showing the Workspaces that you have joined. When you click on a particular Workspace , you will see a list of Channels in the Workspace and when you click on a channel you see the associated message. This sounds very straightforward, but the confusing thing is that you can have lots of Shared Channels and these will appear in multiple workspaces.

Like most messaging systems, Slack allows you to keep track of the messages you have read. I frequently load up Slack and read unread messages in each of the workspaces. However, I notice that when I switch to a second workspace the messages in the shared channel which I marked as read in the first workspace  are still showing up as unread.

Eventually I figured out how to solve this problem. You need to either select the menu item "View\Refresh" or else type ctrl-R each time you switch workspaces. The Slack screen goes blank for about 30 seconds and then comes back with the unread marks correctly applied. It is annoying to have to do this, hopefully Slack with fix this bug soon.

Thursday, March 1, 2018

Un-shortening URLs

URL shortening services such as are very popular, but sometimes they can be dangerous. This is why I am glad to see that a url un-shortening service is now available.

The way url shorteners work is that I can set up as a short url for and then you can save yourself some typing by typing into your address bar and be brought directly to . In this case the number of keystrokes is hardly worth the effort, but in many cases URLs can be very long and hence difficult to type in correctly.

The danger of short URLs is that you don't know where they are going to bring you to. For example you might be expecting to be brought to but instead find yourself brought to

The way works is that you go there and type in your short URL and it tells you where you will be redirected to if you use that short URL (this might involve multiple redirects). You can then decide whether or not you feel safe to visit the site in question.

Thursday, January 11, 2018

My new GlowOrb tells me when rain is imminent

I recently acquired a new gadget called a GlowOrb. This is an orb the size of a ping-pong ball which is MQTT enabled which means that it can be programmed to change colour to give an ambient indication of some metric you would like to be aware of. Previous owners have used their GlowOrbs for a wide variety of uses e.g. alerting on air quality changes. However, I am obsessed with rain (as are almost all Irish people) so I decided to configure my GlowOrb to alert me of the chances of rain in the immediate future.

I followed the colour scheme from official weather warnings. So if my GlowOrb is
  • Green (as in the picture) it means that there is < 20% chance that it will rain in the next 4 hours and I can cycle to work with confidence that I won't be like a drowned rat when I get there.
  • Yellow tells me that the chance of rain is between 20% and 40% so bringing a jacket might be a good precaution
  • Orange indicates that the probability has grown to 40% - 60%
  • Red implies that the chance of rain is over  60% so there is no point in putting out the washing.
The way it works is that each GlowOrb has a serial number (printed on the underside of the unit) and you send a MQTT message containing a colour code to a MQTT channel associate with the serial number to change the colour of your orb. Don't worry if you don't understand what this means, there is a web address like printed on the base of the unit (where XXXX-YYYY is the serial number of your unit) and if you visit this web address you will be given detailed instructions on how to use the GlowOrb. It also gives you a piece of JSON that you can import into any NodeRed service to have a working control program for your GlowOrb.

All I had to do to customise my GlowOrb was to write a simple NodeRed flow which accesses the BlueMix weather service every 15 minutes to determine the likelihood of rain where I live and then change the colour of the GlowOrb to match.

If you can imagine a use for your own GlowOrb, I encourage you to get one and experiment. They are quite cheap, but there is no formal ordering or pricing process for GlowOrbs. However, if you send a twitter message to @AndySc, he will give you a price quote in bitcoin or pound sterling.