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.

Sunday, November 12, 2017

The life and death of the @llweather weather station

It seems that my personal weather station is going to be off line for several months (or maybe forever), so I thought I ought to write a short blog post to explain the history of the station and why I have to take it off line. It is a good example of how much work can be involved in keeping a service running despite the fact that the service is supposed to be completely automatic.

Here is the history:
  • My story started during the cold winter of  2010 in Ireland. The weather was so severe that this cold snap has it's own wikipedia page. As a result, I became very interested in weather and I dropped a strong hint that I wanted a weather station kit from Maplin as my Christmas present.
  • This kit included some software to upload my weather data to the internet. This seemed like a cool idea to me, but the software only worked on Windows and I didn't like the idea of leaving a windows PC running 24/7.
  • I used Google to look if there was other software I could use and found several open source options. Eventually I picked a python library pywws and I staredt publishing to my personal weather underground site in March 2011 with a Tonido Plug  (an Ubuntu Linux based plug computer) doing the hard work.
  • In April/May 2015 my plug computer died a natural death due to overheating. Instead of buying a new plug I replaced it with a Raspberry Pi because that had been released in the meantime and it was the new cool thing to use for hobby projects (it was also smaller and cheaper than a new Tonido plug).
  • As part of setting up the Raspberry Pi, I downloaded a new version of pywws. I noticed that  it now had support for uploading to a number of new services including Twitter and so I established the @llweather account to store my tweets. 
  • I though other geeks might be interested in what I did an so I spoke at 3Dcamp Limerick in May 2015  At this talk, an audience member warned me  that I was lucky to have a station still working because the normal lifespan is 2-3 years. This prediction was proven true when shortly afterwards the indoor weather hub smashed to pieces in an accident Apparently it is normally the outdoor equipment that dies due to the severity of the weather it is monitoring, but due to my own clumsiness my home office was a more severe environment than any Irish storm. It wasn't possible to buy a new hub unit so I bought a completely new kit. Luckily my old software configuration worked fine with the new hardware and service was quickly restored.
  • The software was completely automatic, but I found that sometimes my site stopped sending updates and although it was normally easy to fix the problem, it took me some time to notice that there was an issue. Therefore I implemented a monitoring service based upon tweets or lack of same. Since my employer IBM had recently launched the Bluemix service I implemented this in NodeRed running on Bluemix.
  • The monitoring software would send me a Twitter DM whenever it noticed that the weather station had stopped sending tweets or if it started sending blank tweets. There were several possible causes but I noticed that they were normally solved by tightening the USB cable and/or rebooting the Raspberry Pi. After a while I stopped investigating the cause and just tried simple solution. I only investigated the issue when this failed to solve the issue.
  • In early 2017, the station started warning much more often often. Since these problems often solved themselves, I loosened the rules about when to issue a warning (e.g. 40 minutes without a tweet instead of 25 and ignore the first 2 blank tweets). However. the problem got even worse and I couldn't ignore it anymore. I suspected that the raspberry pi was at fault because it was getting old, but a new replacement was not significantly better. I eventually thought to replace the power supply and problem went away for 1 month.
  • When I investigated. I noticed that the indoor hub was getting either no data or crazy data e.g. 51 degrees centigrade in Ireland. If this was Dubai it could mean hot weather, but in Dublin could only mean equipment malfunction. A quick Google said it was most likely a problem with dampness in transmitter unit. When I disassembled the unit there was indeed signs of water damage. Unfortunately, the recommended solution of leaving it in the hot press for a few days didn't solve the problem so I decided to buy a replacement transmitter.
  • The only supplier of spares is Maplin (or amazon/ebay) but all said that they were sold out. I then went to local Maplin store and they said none anywhere in Ireland. 5 available in English Maplin stores but they couldn't tell which store and it might be a computer error. Their web store won't have any in stock until Feb 2018 and I couldn't place an order now even if I was willing to wait
  • The Maplin guy said that it might be possible to buy a spare from another supplier, but he couldn't tell me which brands were compatible with Maplin N96GY. I found some websites selling sparese for the Nevada WH1080PC weather statio which is allegedly co,patible, but when I found one online their picture looked slightl different to mine so I was reluctant to buy

I eventually decided to retire the station for now and reconsider in Feb if I buy a spare when they become available. Overall I must admit I was surprised at how much work was involved in keeping a relatively simple service online.

Tuesday, September 12, 2017

MQTT presentation for IOT meetup

Tomorrow evening I will be giving a presentation about MQTT at the IOT Dublin meetup. Click here if for further details if you want to attend (several other interesting speakers also).

Monday, September 4, 2017

You are entering the Damastown sector

The area where I m now working has recently been christened "The Dublin Enterprise Zone", which sounds quite impressive. Since there is quite a large area given this designation, they have given various areas within it a different sector name and IBM is in the "Damastown Sector".

When I see these signs I can't help getting worried because I think of the time when I was quite young and we visited West Berlin. My father pointed at the sign saying "you are leaving the American sector" and he warned me never to wander past that sign or I might never be allowed back. I guess it was "thar be communists" rather than "thar be bears". I still get a chill upon seeing those old signs.

Thankfully there are no restrictions on who can enter or leave the Damastown sector.

Thursday, August 31, 2017

Moving to the Watson Lab Services team

I have recently changed jobs. I still work for IBM, but now I am part of the lab services team for the Watson family of products.

The Watson offerings are essentially a productised version of all of the Artificial Intelligence (AI) abilities which were developed as part of the initiative to teach a computer to play the Jeopardy game show. This game show is not popular on this side of the Atlantic, but fans of the program assure me that it is an amazing achievement and so I am very excited to be working with such leading edge technology.

As you would expect, customers sometimes have trouble understanding how to best use these advanced technologies. My team's mission is to help customers get over any initial hurdles and get maximum benefit from these amazing new services.

As part of this role, I will be posting a few articles on this newly established Blog with technical tips and tricks. I hope they prove useful!

Monday, July 10, 2017

What do these road signs mean?

Over recent years I have started to notice road signs like these around Dublin. I have been fascinated to find out what the signs are pointing to, but it is hard to guess their meaning since the signs only contain an abstract shape in either black on a yellow background or visa-versa.
Sometimes the signs will appear on their own (like the first example), or else they will be a small addition to an existing sign with many directions as you can see in the example below.

Occasionally I have tried to follow the signs to see where they lead to, but always I have given up after several left/right turns that don't seem to be leading to any particular direction.

Can anyone take me out of my misery and tell me what the signs mean?

Are they a Dublin phenomenon or do they appear in other parts of Ireland? Can the y be found in other countries?

Thursday, June 29, 2017

Adapting to a new MAC

Recently I got an email at work saying that my laptop was due for replacement. The email asked me to choose whether to get a Lenovo laptop or an Apple MAC,. I am not really a fan of Apple products due to their habit of ignoring standard interface conventions. Nevertheless I was persuaded by some co-workers that clicking the apple button was the right choice. The new laptop was delivered very promptly after I clicked on the button and suddenly I had a shiny new MacBook Pro sitting on my desk and I had no choice but to become friends with it.
  • On the positive side
    • The hardware is impressive  The laptop is slim and light and the screen is crystal clear with a very high resolution. It can even be read outdoors on a sunny day.
    • It comes with a solid state disk drive which means that it is lightning fast.
    • The CIO office in IBM has set up a process which  makes it trivially easy to setup all of the essential applications most people need in IBM in one go. This meant I was productive very quickly.
  • On the negative side:
    • As many of you know, MAC uses the command key for most  situations where most normal computers expect  you to press the control key. This is quite annoying at first, but I am surprised how quickly I managed to learn the new key sequences. This inventing of their own UI conventions is not ideal, especially for people like me who have to regularly use a variety of different operating systems. However, I think I will learn to live with it.
    • What is really annoying is that Apple is into minimal design and hence they decided to remove any keyboard keys that they think are rarely used. One of these is the break key. Many users rarely if ever use this key, but in Lotus Notes there is a convention that you can use ctrl-break to abort any operation which is taking too long. Unfortunately this is a key combination that I find myself wanting to use frequently. A Google search threw up a few suggestions for MAC compatible alternatives, but none of them seem to work.
    • Another missing key is the escape key, but this is compensated by the Touch Bar.  This is a cool strip which contains virtual keys that change depending upon what app is running. For example, whenever an application is running that can accept the escape key, a small esc appears in the touch bar. Likewise whenever Spotify is playing the touch bar has virtual keys for play, skip etc.  (even if it is running in the background).  This is a nifty idea, but most applications don't take advantage of it yet (probably because it is only available on newer MACs). You can also customise the touch bar so it works the way you like.
    • I am a big fan of Bluetooth and I (wrongly) assumed that a modern laptop like a MacBook Pro would have excellent Bluetooth support. To be honest I find the poor Bluetooth performance to be the most frustrating thing about the new laptop. Initially, I connected a Bluetooth mouse and it worked except that I need to turn the mouse on and off every few hours to make my laptop realise that it was still there. Then I connected a Bluetooth keyboard and things got even worse, the laptop looses connection to either the mouse or the keyboard about once per hour (it can be even more often). Finally I added a Bluetooth headset and this seemed to overload the laptop's Bluetooth sub-system completely. The different devices seem to conflict with each other. For example, if I turn off the Bluetooth keyboard (which I often have to do),  the sound on my headset is likely to go up or down. Overall it makes me want to go back to wired devices (if the laptop had proper sockets to plug them into).
Overall I have to say I am still undecided about my decision to go down the Apple route. I am not (yet) looking to take my old Lenovo Linux laptop out of retirement, but I am a still a long way from being converted into an Apple fanboy.