My first attempt with Chef Watson. “Irish Smokey Bacon Cookies”

I finally got access to Chef Watson in work. There has been a beta running for a while, but they opened it up for IBM’ers (limited access).

Playing with it for a while, it is clearly still in Beta. I found some recipes had typos in them, or incorrect terms. But the system does make it clear that the steps are suggestions and not fixed guidelines.

Also for the first recipe I had to reduce the amount of ingredients by a factor of four. It said it serves 19, but even at the reduced amount I was able to make 18 cookies.

My only other complaint about the system is that it is geared towards Americans. In that everything is measured in cups/sticks/lbs. Thankfully I got a nice app called “Cups!” to do the conversion for me.

I could get it to create some funky recipes, but I settled for two for testing. I didn’t have all the ingredients yet for the second one, so I will post that later.

For the moment I give you “Irish Smoked Bacon Cookies” below.

IrishSmokedBaconCookies

Some of the key ingredients are bacon (rashers), raisins, honey, maple syrup, vanilla.

This was the second batch, as the first one I used too much salt (did I mention I can’t cook). Visually they don’t look appealing (at least to me). The taste however is “new”. My brain can’t figure out if it is savoury or sweet. Overall they taste fine though. Everyone who tried them said they were nice. I honestly was expecting a travesty.

Although not part of the recipe, I tried one with cream cheese and another with chocolate (to figure out where it fits). Both actually tasted OK which left me more confused.

I’ll be bringing them into work to see what people think.

The next recipe is “Korean BBQ Lemon Cupcakes”. :) It will be a few days before I get all the ingredients though.

2 Months in.

So I have been two months in the new role. Most of that has been educational training (Littleton, Raleigh as well as local). It appears be a continual learning process, but I am slowly starting to work on customer related stuff.

So what am I doing?

I work in Lab Services for Watson Engagement Advisor (WEA). WEA is a version of Watson that you teach to become a domain expert. You do this by feeding it in unstructured data and then teaching it to understand the material. Once you teach it correctly, it’s almost scary at how well it can understand what you are asking.

So my role is pretty much doing that for the customers, until the customers understand how to use the system and do it themselves.

It’s been more tricky trying to explain what Watson is to family, friends, co-workers. Seeing as the internet likes lists, I thought I’d put up the most common issues I come across explaining.

#1 Watson is not self aware.

It’s not HAL, Skynet nor the Machine. If you are going by sci-fi interpretations, it would be closer to a Virtual Intelligence from Mass Effect.

#2 Watson is many products.

Most people see Watson as a single entity, but it is in fact many products. They are all related to the cognitive sciences, and have different functions.

For example WEA is more useful in areas where you have limited domain experts, or the ability to become a domain expert is tricky (eg. high turnover, material always updating).

In places where you may have many domain experts then something like Watson Discovery Advisor (WDA) is more useful. This system is less about getting an answer, and more about being interested in the evidence that brought you to that answer. It also allows you to give an answer to your question. WDA then researches what evidence exists to support your answer.

There are many more products and I couldn’t do them justice in a single blog post. In fact it took a full week in Raleigh just to get a high level overview of the main products in Watson.

#3 Watson is not a search engine.

This seems the hardest to grasp for many. Watson is no more a search engine then a human is. It uses a search engine like a human does.

When you are dealing with a search engine, you put in your terms and then get your results. You expect a 100% return as it is a simple* keyword match. *(simple in comparison to Watson)

With Watson it will try to understand exactly what you are asking. Once it determines this, then it searches for the results and analyses them for what it believes is the correct answer. Once it has it’s set of possible answers, it will then research them to determine if what it believes is true actually is. Only then it returns the answer/s.

#4 You need to stop thinking it is like a computer.flyovertheboatwiththeredbow

As a follow on from point three. Because it is a learning cognitive system, what you expect from a computer is not what you would expect from Watson. Take the picture to the right as an example. Depending on the knowledge of the person (or Watson) the answer you get back can change.

The same would apply if you had a person with a photographic memory. They may be able to respond verbatim (like a search engine). However if you teach them the material, then over time how they will respond to the same question will change as they learn how to apply the knowledge they have previously memorized.

This concept got me for a while (and in one training session, it was good to see I wasn’t alone). We were shown where Watson failed to understand a sentence (ambiguous idiom). I asked if it was the job to correct Watson every time we see variations of this, or if the developers needed to fix the code. The response was pretty much what I said above. Watson would pick up on this and learn how to correctly respond once you teach it. So it wasn’t a case of having to figure out every variation of odd sentences.

#5 It’s not your parents IBM.

Watson is also a division within IBM. At one point in time IBM had some very strict rules. By today’s standards the past seems a bit too strict. Watson feels that way compared to the rest of IBM. It feels more like a start up. Even some things IBM’ers take for granted are changed. For example no PBC’s.

 

Out of the Yellow, into the Blue.

Today is my second last day as a Support Engineer for Notes/Domino.

Out of my nineteen years or so in IBM, eight of them were spent in Level 2 support. When I first entered into the role, I had the mistaken belief that many others do (in and out of IBM!). In that it would be a call center reading a script. I couldn’t have been more further than the truth.

Apart from the massive amounts of training in several product areas, you also got trained on how to deal with people. Something you don’t realise you need until you do it. ;)

At the time of joining as well, it was quite common for support engineers to move into new roles after three years. So some of the training focused on making sure when you do move, you set a standard and expectation that is expected by customers.

In the day-to-day stuff, you are dealing with stressed customers, complex technical issues, keeping everything progressing and focusing on the product knowledge for the customer. This meant writing tech notes, wiki articles, videos, open Mics, etc. You are also reviewing issues for development to investigate in future releases. As well as new features coming down the line (training & supporting).

The job I found is extremely fun and technically challenging. Which is why I have stayed for so long.

However I have followed the Watson technology for a number of years, and it’s great that a role opened up that I actually get paid to use the technology. :) So come Monday I will move into my new role in Watson.

While I have met many people from Level 1 to Level 3 across the world, AVL’s and customers. I believe the ones I miss the most is the customers. The Appdev customer community is very well established and I would often work with names you see showing up on Planet Lotus, OpenNTF, StackOverflow. While I have never had a serious issue with any customer, there are some customers that stand out.

Dealing with them is a “breath of fresh air”. They knew what to expect. So you would often get a well designed test case/sample which not only reproduces the issue but would often explain all the alternate workarounds tried, etc. In some cases some of these customers have shaped some of the features you see today in Notes/Domino.

I’m not allowed mention names in PMRs publicly, but I am sure they know who they are. :)

Anyway I wanted to say it’s been awesome, and I hope it stays awesome for everyone!

The elephant in the room.

131379856_352ad81612_m

I watched the new demo of WatsonPaths this morning and was somewhat impressed, although for different reasons. I haven’t been overly impressed with Watson doing customer support (although it is in Beta).

For those who haven’t been paying attention, Watson plans to replace customer support. I reviewed the marketing material some time back. One part of the parts that irked me was “Half of calls typically go unresolved or require escalation“.

So I had a read of the actual report related to the claim. It relates to where the engineers are not considered experienced (duh!). When you look at the figures for experienced support professionals then the figures become more realistic. But it raises an interesting point. That being the underlying price of support.

In order to give good support, you need good support staff. Resources and tools only go so far. Often the best customer support goes beyond just resolving the issue at hand. Some of the best technical support people I work with are not strong technical, but you can easily slot them into different product areas and they still shine vs someone with more technical skill in that space.

To give an example. Imagine you got this support call in.

“Hi, I recently upgraded all users to IBM Notes. One user deleted one of their mail rules but it is still executing. I looked at TN 1088058 but that didn’t solve the issue.”

So looking at that text a junior engineer will take the following from it:

“Hi, I recently upgraded all users to IBM Notes. One user deleted one of their mail rules but it is still executing. I looked at TN 1088058 but that didn’t solve the issue.

Straight away we see they are on Notes 9. As they mention a user deleting their mail rules, it is referring to mail rules in the client and not the server. We can also see that the customer mentions what they looked at to solve the issue.

A normal search engine would not pick up on the “didn’t solve the issue” and would refer the customer back to the tech note they already looked at. NLP on the the other hand would pick up on this (as would a junior engineer). Both would probably dismiss the tech note because of the customers comments.

Compare that to a more senior look at the call.

“Hi, I recently upgraded all users to IBM Notes. One user deleted one of their mail rules but it is still executing. I looked at TN 1088058 but that didn’t solve the issue.

The blue highlighted text tells us the following:

1. The customer has recently upgraded to a new version (Most likely ND9 as they say “IBM Notes”). It is quite normal for a customer to be under a lot of pressure during these times, as they are dealing with a number of factors in the upgrade. As such the customer is more likely to respond negatively to suggestions they wouldn’t normally worry about.

2. “One user”. This would mean that the issue is not as critical. However with the migration happening it’s possible this is one very important user, or again there is stress going on in relation to the migration and they are under pressure to resolve all issues.

3. “Looked at”. So this tells me that the customer has attempted to solve the issue themselves first.  It also tells me that the customer in question may be experienced in troubleshooting, so to be tactful asking obvious questions. (Dell handled this one very well).

4. Tech Note 1088058. It would probably be dismissed as the customer has already said it didn’t solve the issue. But this related underlying technology hasn’t changed in a long time. Every known issue is in that tech note.

Most likely cause is they did not follow the tech note correctly. So tact is required in pointing this out (normally testing ourselves).

Back to the elephant in the room:

“I strongly believe that Watson will replace* my job sometime in the future.”

The Watson support portal sadly is not that (yet). To me it is a more annoying LMGTFY. It doesn’t fully reflect the power of what Watson is.

Once taught correctly Watson can pick up on the nuances like above. It can also draw from a number of sources (source code, customer correspondence, server topologies, etc) to get a clearer and faster picture of where you focus the investigation.

Which is why I enjoyed watching the WatsonPaths demo, as it appears to draw on the strengths of what Watson can do. Here is the video.

* “replace” is probably too strong a word. For the moment “augment”. There may come a day when Watson will take over, but for the now it would allow an experienced engineer to quickly see a breakdown of data in relation to the issue/customer, so as to offer the solution in a less stressful manner.

Thanks for the Linkedin endorsements but..

I appreciate everyone giving me LinkedIn endorsements, but I am really not an expert on WebSphere / Portal. Haven’t used either in years.

Likewise with other non-related endorsements I’ve been deleting them as I find them. But I was wondering if people just accept these random endorsements? What would be the benefit in doing it?

Forget about the Help NSF for the ND9 Designer client.

For those of you who have just installed Notes Designer 9, I recommend to check out the new help features.

Pressing F1 in the designer client will bring up the help, which you can move around the UI to where you like or expand it to full screen.

Here is an example looking for getDocumentByUNID method.

Screen Shot 2013-03-21 at 20.05.25

As you can see the methods now have the Object reference in the title along with the language. If this isn’t enough you can also filter out what you don’t want. For example clicking on the Scope and create a new Scope called Java API.

When selecting topics set it to search only “IBM Designer Basic User Guide and Reference -> Java/CORBA Classes”

Screen Shot 2013-03-21 at 20.06.17

If we do the search again you can see only Java related items showing up.

Screen Shot 2013-03-21 at 20.06.36

Overall a much cleaner experience than the NSF help file.

Because no one need suffer the pain I did. (C-API)

I’m ramping up on C-API stuff at the moment.

I’ve been having a pretty horrific time trying to get installed and running properly on OSX (Thanks Parag for the help!). What has driven me to near insanity though was creating a simple project to run in XCode. After numerous trial and error it appeared to all stem from one wrong little backslash in a string! That’s what I get for expecting it to execute the same way as the command line.

So I wrote up my steps on the Domino Appdev Wiki, so that no one need suffer like me. :)

A reminder to those going to Connect 2013.

It’s that time of the year again. From a support point of view, to maximise your time there I recommend doing the following.

1. If you have a particularly tricky PMR, or a block of PMRs that you want to discuss at the conference with someone (i.e. Developer), let your support engineer for the PMR/s know that you will be there. No guarantees!, but they hopefully should be able to get some time with a developer for you that is relevant to the issues.

2. If you aren’t available for PMRs for the week of Connect 2013, let support know who your backup is or tell them you will follow up after the conference. Saves them wasting time on trying to chase you for a follow up.

3. If you speak to a developer at Connect 2013 and they tell you to open a PMR. Make sure to get their name and it is put into the PMR! Especially if they have promised you the Moon on a stick. ;)