Mostly tech related stuff.

Post navigation

I AM NOT A CHEF

Seriously. I have probably done more real cooking playing around with Chef Watson in the last month then I have done in years. I am good at following instructions, and searching for how to do things. So my food presentation skills suck. I know this (and more professional chefs told me to my face :). I also know without Chef Watson giving me the instructions I would be incapable of creating anything edible.

So, to help out a co-worker who was demo’ing Chef Watson for the Silicon Stroll Bootcamp, I did up a few more recipes.

For the presentation I made up the following.

Korean BBQ Lemon Cupcakes (by popular demand).

Irish Smoked Bacon Cookies.

Avocado Meatloaf.

Apple chilli cheddar cupcakes.

The first two I had done before. This time I am starting to understand how Chef Watson works. It’s not about following verbatim, but gives you a baseline of what works. You still need to play a little.

So for the cookies this time I used sea salt and roasted the bacon instead of frying. Huge difference this time! My previous attempt tasted like confusion. This time the cookie started off tasting like a raisin cookie, then midway changed to a savoury bacon flavour. Very cool.

For the cupcakes I tried to colour them (bad idea!). Otherwise they were more or less the same. This time I detailed my steps as I went. The reason for this was one of my co-workers attempted to make them and they didn’t turn out exactly the same.

Also I told Chef Watson this time that I didn’t want peanuts in the recipe and it created the Apple chilli cheddar cupcake recipe. These looked disgusting while making, but tasted really nice. Somewhat similar chilli kick as the other cupcakes, but otherwise a totally different taste.

The meatloaf was to try something not so crazy and somewhat easy to make. Main ingredients were Avocado, Truffle Oil, Anchovies, Peppercorn Mustard, Pork Sausage. Personally I hate anchovies and avocado, yet I could eat this fine. Very heavy though (one slice would probably put me to sleep).

So how did it go?

Out of everything the Korean BBQ Lemon cup cakes were the winner. Of the 60+ cupcakes I have given out, I have only had two complaints (eg. “This was possibly the worst thing I have ever tasted”). I’d argue those two people should have tasted the full cup cake instead of a pinch. I mentioned this before, that for some reason it doesn’t work unless you taste everything together.

I was a bit upset, but then it was being critiqued by a chef. Having said that however, all of those cup cakes were eaten. Even the ones that a pinch was taken from, someone else cut the pinched bits off and ate the rest to try.

Second most popular from my group was the cookies (1 of 2 boxes eaten), then the Apple cupcakes (about 2/3 eaten) followed by the meatloaf (just under half of it).

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.

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.

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.

#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.

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 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!

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 rulesbut it is still executing. I looked atTN 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.

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.

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”

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

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.