MSP Databalance Case Study: Business decisions in real time based on fast data-driven Analytics


In our modern datacenters, we prefer IBM infrastructure. For our environment we have a mixed platform from Intel, Linux, Power i and AIX.
For this we use the various IBM Power P, Power i and Intel servers. All these systems are linked using the capabilities of the IBM San Volume Controller, FlashSystem V840 and V7000. As central storage solutions we use the V3700, V7000 and V840 storage systems, because of their excellent speed, reliability and low operating costs. The San Volume Controller is used to easy tier, real time compression and mirroring. With these standard techniques present at our systems we are redundant and thus high available. To insure continuity, we are using Tivoli Storage Manager software on most platforms, fully integrated with our SVC solutions. Together with IBM we can offer all possible cloud solutions for our customers, IAAS, PAAS, SAAS. The SAP platform used by Beeztees is hosted by Databalance Services. Databalance advised Beeztees to put the database servers on IBM Flash Storage. This IBM V840 Flash Storage delivers more than 400 thousand IOP’ s. The other servers have been placed on Easy Tier Storage, resulting in an optimal mix of speed and capacity. In practice the generation of reports, lookup jobs and batches are processed much faster. Databalance is a key partner of Beeztees in the field of automation. Throughout the whole migration Databalance has been involved and has advised and supported us. The result of the last months is a very modern and “state of the art” ERP platform based on SAP software and IBM hardware, which enables Beeztees to stay a few steps ahead of the competition. IBM Spectrum is based on software-defined storage and it enables users to obtain increased business benefits from their current storage products whether from IBM or another vendor. IBM has pioneered in this field since 2003 and supports more than 265 storage systems from several brands. This give you more value from earlier storage investments. Databalance is making use of the IBM Spectrum family in serving its clients. The IBM Spectrum Virtualize is a giving maximum flexibility and reliability by virtualizing the storage. You can also get more benefits by using features like Real Time Compression and Easy Tier. And of course you can create a disaster recovery environment by implementing remote mirroring. With IBM Spectrum Protect you enable a reliable, efficient data protection and resiliency for software defined, virtual, physical and cloud environments.

Ubiquity to enable IBM Spectrum Storage in Containers (Docker & Kubernetes) by Robert Haas


As the CTO for Storage Europe in my previous update I had mentioned I had mentioned that we intended to deliver a way to integrate our Storage in container environments such as Docker Swarm and Kubernetes. Well, this is now a reality, and it is called Ubiquity, thanks to the hard work of a team involving our Research and Development labs across the world. Ubiquity is available as open source, in experimental status at this time. Let me briefly explain here where we see the adoption of containers, and what is this Ubiquity technology enabling in a bit more detail. Many surveys are showing that the adoption of containers, and more specifically Docker, is accelerating, also in the enterprise environments. You may have noticed the announcements by many large companies intending to adopt container for most of their infrastructure. This covers many use-cases, such as traditional applications, HPC, cloud, and devops, for instance. In HPC, the portability of containers ensures that a workload can go from the testing laptop of a scientist to the big supercomputer without changes, that is from quality assurance, to staging, to production, with the same code. In a cloud environment, whether on-premise or not, containers are attractive because they deliver the best resource utilization and scalability, with the smallest footprint and the highest agility. Finally, for devops, containers simplify and accelerate application deployment through the reuse of components specified as dependencies, encouraging a micro-service architecture strategy. In summary, containers are a standard way to package applications and all its dependencies; they are portable between environments without changes; they isolate unique elements to enable a standardized infrastructure; all of that in a fast and lightweight fashion. Now, with the adoption of containers increasing beyond just stateless things such as a load balancer or a web application server, there is a need to provide support for persistent storage, that is, storage that remains after containers stop, so that data sets can be shared, so that the output of analysis can be retrieved by other processes, and so on and so forth. For many adopters of container technology, the persistent storage and data management are seen as the top pain points, hence storage vendors have started to support ways to enable their products in the Docker and the Kubernetes container environments using what is called plug-ins. With the technology we call Ubiquity, because it is targeted to support all of the IBM Storage, in all of the types of container environments, we have now released this ability as well. As I said, it is available at the moment in experimental status, so we’re welcoming feedback, and you can download it as open-source from the public github. In a nutshell, Ubiquity is the universal plug-in for all of IBM Storage. With this plug-in, and the underlying framework, storage can be provisioned, and mounted directly by the containerized applications, without manual interventions. This is key to enable the agility in an end-to-end fashion. This allows you to take advantage, for instance, of our Data Ocean technology such as Spectrum Scale in container environments. This way, you can also take advantage of the unique capabilities of Scale, in terms of performance, scalability, and information lifecycle management. And you can also seamlessly integrate our block storage such as Storwize. We are convinced that containers are going to play a role as important as VMs, if not more. Containers are already the norm in the IBM Bluemix offerings, and have been adopted by our Power and Z products. With Ubiquity we’re now able to close the loop with Storage. We’re collaborating with a number of clients testing Ubiquity already now, so that we can develop this technology to match our clients’ needs. Among many other things, we intend to adapt Ubiquity to the rapid changes occurring in the container frameworks such as the CSI (for Container Storage Interface), currently worked on by the Cloud Native Computing Foundation’s (CNCF) storage working group. To conclude, with this you will get the best of new generation applications with the performance and enterprise support of IBM Storage.

Western Allied Mechanical Talks About Using Spectrum by Viewpoint


I’m Angie Simon. I have been at Western Allied now almost 30 years. This is my 30th year. And I am the President of Western Allied, been since 2008. Western Allied is a 56 year old company. We started in southern California in LA, three founding partners put it together. We are a design build mechanical contractor. The company has grown quite a since the millennium. In 2003 we separated from the southern California Western Allied and formed our own independent company, Western Allied Mechanical. And last year we did $81 million worth of business. We are a union contractor, so our manpower in the field goes up and down based on our workload. But at our peak we’ve had about 250 people. And the Bay Area is a wonderful place to work. It’s definitely the heart of the Silicon Valley and technology keeps us moving here in the Bay Area. The culture in the company is very distinct. We have people that have been here, I mean I have been here 30 years, but I have project managers who’ve been here 22 years. I have a superintendent that’s been here almost 30 years. We have a lot of company functions and I think it keeps the culture and the people very happy. We have different trades. We have union pipe fitters and union sheet metal workers here and we try not to be us against them. We’re all under one flag, so it’s a great culture here, great company to work for. You have clients that are very dynamic. Their needs change in what is going on from the time that they have started the project to the time that we’re delivering it because they’re dynamic companies. You have startup, you have bio-pharm, you have tech and a process of design build can take six months and in that six months, those needs change. What I like about my job is that there’s something different every minute. I work for a team, so there’s constantly five, six people coming up to me asking for different things in a day. It’s getting information, passing information between the office and the field or subcontractors, making sure everybody’s all on the same page. Financially tracking the jobs, making sure that we’re going to be successful on it financially. Back in 2005 when Western Allied was looking for an alternative accounting financial management package, we were using a homegrown program that somebody had written in southern California and sold it to a number of contractor. So at that time, a search was instigated and Spectrum won out. One of the reasons we picked it in the first place was besides the accounting side that we felt was robust, we felt that they had the desire and intention to get a project management module so that eventually we would be as project managers will do everything within the program. That was the ultimate goal. That was the ultimate goal. We’ve recently started doing our work in progress reviews in Spectrum. It’s made it a lot faster. How I use Spectrum here in the shop is we’re starting to do some productivity tracking. How many pounds per hour or square feet per hour? How many pieces per hour? I can go onto Spectrum, get the full inventory of what was charged to each job. I can also go on and check the hours, how many hours were spent for each task. Using the job compliance feature has really helped in keeping us on track with knowing when all our documents are done and completed. It makes it very easy to see with the dashboard that you’re out of compliance and you can just click on that module or on that dashboard and get directly to the page that you need on where you’re out of compliance. The reason we like to do payroll in-house was because of Spectrum. Being able to track all the different codes and all the different time that the guys are spending in the field on this different tasks and codes and that way we can then estimate our jobs better and get more jobs and make more money. Spectrum allows us to take it from time entry to completion, being able to pay taxes and everything else and all of that data that we need is right there for us. Document imaging is probably the cornerstone of what we do in project management. We try to give our client an exceeded expectation, and to do that we have found that we need to have instantaneous document management, that we need to have that access. Last year when I saw Service Tech at the User Conference, I was really excited because it looked to be just what we needed. We wanted something that we could push out to our field, that where we could push out work orders and service calls and for preventative maintenance service calls to our field guys, to be able to get the time back in. This will take the billing process from a CFO. That’s always important and it just looked outstanding. The dashboards have been very helpful in my work alone to be able to just click on a dashboard and have it bring you to the place you need. Our PMs are just starting to use the dashboards and we’ve created a template that loads several dashboards onto their home screen, as well as putting folders in the right hand corner so that they can access all of the documents and information they need very quickly. One of the great things is that you can go home and be able to log right into Spectrum without having to remote in to your desktop or anything. You can pull it up anywhere. So somebody calls you with a quick question, you’re like, “Hey, I don’t know,” you’re able to go collect your iPad, go right in and find what you need. I have a tablet that I use to, I can connect in the field and log in to check things if I need to. I mean before we’d have to VPN in and then connect. One of the things that I always talk about that impresses to no end is your technical support. Invariably, I don’t think I’ve ever not called and had a live human being on the other end, knowledgeable human being that could answer my questions. And if they didn’t know the answer, they set me up with somebody that did and I had an answer quickly. It’s just a outstanding product.

Christenson Electric talks about using Spectrum


Mark Walter, president of Christenson Electric. When I came back in 2003, there was a redirect to a more core customer, core competency base as opposed to just being the standard, typical electrical contractor. We talk about exceeding customers’ expectations a lot. We peak a little over 400 to 430 employees during our heaviest summer months, typically during the heaviest construction season. From a revenue standpoint, we’re just shy of $100 million a year. Christenson’s really known for customer service and our service work and our red vans. I mean, everyone around town, if they see that you work for Christenson, they’ll say, “Oh, you’re the one with the red vans.” It’s crazy what a red van with one word on it, what it symbolizes. The first word that comes to mind is tradition. We have our fingers into everything across the trade, whether it be high voltage, low voltage, access control, fire alarm, voice, and data. Obviously, electrical work, service work, construction work, design-build, account work. The list goes on. There’s nothing in here that we can’t do. I’m getting ready to start a ground-up storage facility that’s six stories tall, and we’re carrying everything, turnkey. Christenson’s a can-do company. No job’s too small, and we’re all willing to chip in and help everyone together. We’re really wanting to build long-term relationships. We’re looking for customers that we can be a part of and help them grow over the years. Through our corporate partnership with the Portland Trail Blazers, that’s allowed us to develop additional community partners. And one of those partners has been the Portland chapter of the Special Olympics. This is just another one of the ways that we strive to have an impact in our community. We try to maintain that family-oriented type of atmosphere where people come to work and are here … Hopefully they’re having fun. We really pride ourselves on being the most customer-oriented contractor in town. We always feel that the people closest to the work are the ones that make us successful. And so we try to eliminate any barriers between our field electricians and the customers themselves. Our role is really just to make sure that they have the right tools and equipment to do that job for the customer. A company like Christenson that has multiple employees, multiple divisions, we’re drowning in data. So what we’re trying to do is concise that data and deliver it to our users in a concise manner that allows them to make real-time business decisions. Spectrum is essentially our main data warehouse. It’s where we store a lot of job cost records, payroll records, receivables, payables, and equipment records. And we’re trying to disseminate that information out to our stakeholders. Recently, we’ve implemented the equipment module to better track where our fleet is. We have a very large fleet, and it’s helping us derive of what the true cost is to operate, say, an E-350 van versus a new Transit van and help identify when we should be retiring assets, what it really costs us to run that vehicle. When my guys make purchases through the RPL system, I’ll go through Spectrum maybe once, twice a week just to prove our invoices. And by doing that, it allows us to be able to manage those projects so that the guys in the field don’t have to manage that. Like I said, they’re electricians. They need to worry about electrical work. I start my mornings off on the dashboard just looking at overall where’s our balances, where’s our large subcontractor payments and just trying to get a good overall view of how the day is going to look for job costing and accounting. And then we’re developing individual screens and dashboards for the project managers so that they can do that same thing for their jobs. I will use it to run a billing status report where I’m extracting the data from Spectrum, putting it into an Excel spreadsheet, and then distributing it, letting everybody know, “Here’s your jobs. Here’s your costs. We need to bill this,” whatever. So we created our own dashboard app. It was called My AR Aging Tools. And this gave the ability for the project manager to log in and see his customers’ aging totals versus having to drill down and pull a report from that. So they would see if the customer was 1 to 30 days off, 30 to 60 days off, or 60 to 90 days off. One of the biggest reasons that we went with Spectrum is their time and material billing process A lot of our jobs are just a quote to a customer for $1,000. We put it in the system, cost hit the job, and then we bill it. So the AR literally takes seconds to bill a single invoice. Our focus is really trying to get the information into the hands of the people that can use it quickly. So we’re looking to use Spectrum to put everything in the hands of our technician so that he can bill on the job before he leaves the site. Well, Spectrum helps us by being mobile. We have job sites all across the Northwest, including all across the United States where we might pick up a job site. So it allows our division managers and our project managers on a site to be able to instantly pick up some data they need. Being able to access Spectrum anywhere on anything at any time is really great. I’ll leave my electrician on the line and say, “Give me a minute,” go through Spectrum, log in, pull it up, and I can give him his information on his project within minutes. What I like about the low IT strain, we’re able to maintain with one IT guy, multiple users, multiple sites. It’s a stable, steady product. For me, it’s very easy. I’ve had our guys set it up to where I can just single-click and pull up what I need to look at. What’s really great is the fact that you don’t have to go in and out of the screen to get to where you want. So if you’re in a job maintenance screen, you can go right to a report. You can go right to a finance. Everything’s right there. I’d recommend Spectrum. I have recommended Spectrum. Data and information is power, and a greater clarity that we can distill that data or power, whether it’s through software like Spectrum, being able to use that information on a daily basis helps us to make the best business decisions for our company.

Robbie Baxter | "The Membership Economy" | Singularity University



(music) – So Robbie, first of all,
what is The Membership Economy? We've heard about it
from American Express, they're probably the most well known for the Membership Plan. – So, it's a massive
transformational trend that I've seen with
virtually every industry, from software, to hospitality,
to financial services, and it's all about a move
from ownership to access, from anonymous transactions
to known relationships, and from one-way communication where you're just pushing
messages at your customer to an open conversation, not just between you and the consumer, but also among the customers
themselves under your umbrella. – So this sounds like this is
a fundamental strategy shift. I mean, really a very
different way of thinking about how you engage with customers at every aspect of your business. – Yeah, absolutely. It's about putting the customer at the center of everything you do instead of the product or the processes or even the technology. – Tell us about some of the core elements that are enabling this
transformation to happen around membership. – So membership is not new, right? I mean we've had membership
since the 12th century, trade guilds and religious groups. But what's happened
recently, two big things. One of them is that technology has extended the infrastructure that enables trusting relationships. So, we've always wanted to have these long-term relationships with the companies that serve us, but now it's possible to do that not just with companies
that we know personally like the shop around the corner, but actually with organizations where we've never met anybody. And these are through technologies like always-on devices, mobility, artificial intelligence that gives us a personalized experience; the
ability to connect networks. All of that is enabling
new ways of relating. The other thing is, the
influx of financial capital, that is giving entrepreneurs
a longer runway to build relationships
with their customers before they actually
have to generate revenue. – So, the fact that we
are always connected, and we have so many
different ways to connect, is enabling these organizations
to think differently about how to be a part
of those connections. – Yeah, it's like a new palette of colors that you can use when you're
painting your business model. – I love that; can you
give us some examples about some companies
that have taken advantage of this new palette? – Yeah, well there's two groups; there's what I think of
as the digital natives, the Amazons, LinkedIn, Netflix, who started their
businesses thinking about the forever transaction, thinking about this longterm, member-oriented approach. And then there are companies
that have transformed to membership models, companies
like Intuit and Adobe, who have moved from these
anonymous box transactions to a real ongoing relationship,
subscription model community with the people they serve. – So Robbie, you know that
at Singularity University we spend a lot of time
talking about impact. Does the membership economy
work in the social sector? Are there other examples that
you've seen of organizations that are not necessarily
in the corporate world, that are using this strategy? – Yeah. Well you guys talk a lot
about grand challenges, and one organization that I work with, the American Nurses Association, has a grand challenge going on right now where they're focused on helping the 3.5 million
nurses in the US get healthy. Because nurses are among, on the five major elements
of health, which is like, stress, sleep, weight, smoking,
and I think drugs, maybe. I think those are the five. They perform less well than the American population at
large, in four out of five. So they're really using,
they're using online community, they're using their subscription model, they're using their live events, all to support this initiative, this grand challenge around making nurses as healthy as possible this year. – I think that all leaders are gonna need to really take a hard look
at their business model. What suggestions would
you have for leaders that want to really understand how to get into the membership economy, and how to make sure that they really are getting their leadership team prepared for thinking very
differently about strategy? – So I think the first thing
is to get them out talking to customers, and really understanding what is the value that they provide? What is the, you know as
Clayton Christian says, "What's the job that your
product does for them?" And that's one piece. Also, getting into their
shoes and understanding what technologies they expect
and see as the new normal. And the other thing is not getting too wrapped
up in the technology. Because even though technology is great, it's not great when it's not in service to an actual benefit, for the person you're trying
to serve, the customer. – So how do we become more curious? How should we look at new businesses? What are some questions we should ask? – That's a good question. So, becoming more curious is, it's innate. We all are curious. If you get back, if you've been with a
four year old recently, you know we are born to ask questions. And over time I think we
get embarrassed about it, or we think we know too much. So, what I'd suggest is, ask
questions, look at businesses, think to yourself, why is
this business successful? What can I learn from this business? And putting things together,
a lot of people have said to me, we want to be the
Netflix of our industry. And on some level you
can't copy an organization. On the other hand, if you say,
what would that look like? So you'd ask the second question. So okay, great. What would it look like if you're the Netflix of your industry? What would that be? If you Amazoned your competitors,
what would that mean? And so sometimes, just
asking the second question is a great way to really
break open the paradigm. – Great, well so many wonderful things that you have to share. Go and talk to customers. Ask better questions. Try to understand which organizations are doing well, and why. Be curious about it.

Discussing How to Get a Job within Cyber Security Industry



hello everyone in this video we're going to be discussing at getting a career in cybersecurity now I already do work in cybersecurity industry and have done for nearly ten years miss quids on the other hand I work in academia and when the academic route got a degree got a PhD and now I'm working in computer science in academia not directly related to cybersecurity but we do teach cybersecurity at our university we're starting with the educational roots here so there are cyber degrees they were looking at an American page here on the UK side is computer science being the course with various cybersecurity parts to it so for some context this website is from Hugh Cass which is the UK application service for universities and colleges so you can see that we've got various degrees not just in cybersecurity but also generalist degrees in computer science software engineering and so on it is quite common that I think people who want to go the university route will end up doing a computer science degree and then trying to find specific modules within that degree are relating to security because I'm not sure I don't think there are that many degrees out there that focus solely on security is kind of like if you're going this route then you'll want to know about things surrounding the general area of computer science as well I think there is a growing trend towards younger people were entering university and going this route why I've seen with looking at various conferences and companies are applied for work in the past I would generally say that this there's more of a push for people going to university generally that maybe wouldn't have done so 10 or so years ago like one thing that's kind of moving in the in the strangely in the opposite direction is in terms of cost the cost of doing a degree in the UK at the moment is approximately 9,000 pounds a year or there abouts meaning that three years of university tuition will cost you 27,000 pounds at least that's without taking into account things like maintenance loans in order to actually fund your ability to live while doing your degree so yeah and this has risen quite substantially in the past several years especially when I did my degree it was 9,000 pounds total but it's quite an expensive ruse but I appreciate not everyone may want to go to university so I'm going to look at so many other alternatives on the practical side although actually going to keep with one more course because sans training sans are an excellent provider of security courses although these courses are about five thousand dollars each week's training and doing the exam actually exam might be a bit extra but yeah it's quite a substantial cost but they are well recognized although again the cheaper option your conference is I just attended b-sides recently quite interesting you can learn a few things from it also blackhat now more to like self learning even self learning can be very useful looking at software like kali linux i appreciate its a lot of hacking tools here but if you actually learn and understand how to use them not just being a script kitty that's where an important part of learning is don't just blindly follow our script learn how to use the applications you've been learning the basics behind how the computer communication takes place network packets is that part what the university Ravi has taught colleges as well yeah yeah so there's almost always going to be some kind of networking computer communication module in a general computer science degree so yeah learnt about things like the different ports and stuff like that yeah Lister ports lists the tcp and UDP ports please definitely come up in interview questions so learn a few of them not just like the basics of FTP SMTP HTTP HTTPS yeah be a bit more creative learn some of the more slightly obscure ones time ntp one two three that can be quite well abuse port st. port 53 DNS yeah just try and learn some of the port numbers there's another good one to learn four four five Microsoft SMB RFC I think that stands for request for comments here's a humorous one to know about IP over avian carriers it can just be an interview thing to know about yeah I know about RFC two five for mine ability to send packets over an avian carrier but this is specifically avian carriers with quality of service as well most important as bit of a step up over their previous 11:49 you noticed it was printed on April 1st so it was an April Fool's gag at the same time it is a real RFC yeah they've done calculations on the maximum transmission unit 256 milligrams instead of 1500 bytes knowledge about some of the software fix up a few that free to install mu net this is nante virus Oh literally just an anti-virus but if it forms basic to some industry applications while specifically an application called amp which has an excellent sandboxing feature so yeah I'll make good use of this an industry clam av clam antivirus as actually free to install in the NEX but don't just install it understand how it works I think it's predominately hash based how it works snort intrusion detection system or intrusion prevention system and free to install all you get though is the community and older version of rules free even the knowledge of setting this up and a knowledge of how the rules work could be quite important that's how I would use an intrusion prevention system IPS or an IDs it sits on the edge of the firewall and protects servers client systems within a network the IPS can stop attacks ideas can just it tectum splink is a well-used product within industry at its basics it is a logic collection and the ability to search through all those log events though it does have some very fancy features whitney searching and you can also produce like graphs and dashboards it's a very flexible tool you come across that much no I haven't just awareness of it at all maybe it's just better used within industry so new all the jobs I've been to have used Splunk I've had it come up quite a few times within interviews and on the job spec so yeah even if you're just able to install it get an idea of how it works better do searches yeah I can really help knowledge of reg X regular expressions just done a quick demonstration here finding a website without a subdomain as an optional double-barrel top-level domain so that may look like I said gibberish but if you can learn reg X that can really go in your favor again the job in cyber security also it's generally quite useful just even if you're not in cybersecurity so learning rec X was quite useful for me when I was doing some stuff with Perl pills quite nice for working with strings and yeah just generally processing files and changing the format trying to find things in files yeah regular expressions are quite useful since a they are well used within various different products yarra used for identifying malware samples within systems uses regular expressions even small rules do there's an example of a few rules and that's just basic variables here your external to internal any port specific content you're looking for but there's example there that there is a regular expression within the content Pete Cree they say they're even Splunk uses reg X as well with interpretation their data and researchers seems or Sims security information event management personally I don't find this particularly useful but I've come across many companies that do require knowledge of a particular sim product there's not something you're going to easily get without actually purchasing the software I don't have any free ones I don't really find them so useful I think they're more of a management tool so what it does it just correlates various events and tries to determine say one particular attack out of several smaller events as it is basics they just look pretty and look good for managers lots of good friend lists I'm saying my own personal opinion there it's worth just having knowledge these things exist cloud security I'm not sure how much I can really get into here but a lot of companies are moving to put in data in the cloud and they are going to need the security components that the well we're looking at Amazon and 0 here they've got security options provided so again the knowledge of these things yeah can be very useful there's also plenty of research being done generally about the cloud and the Internet of Things it is definitely a growing area and just a big area generally and covers a lot of different things so yeah be worth learning about this more generally yeah and that's actually something I didn't put here with the Internet of Things internet at at because there is a big security risk with all these things you know as far as that'sactually yeah something that's gonna call us out really just hopefully we don't have too many these things in the company the blunders with IOT stuff is something worth knowing about saw the reuse of passwords and just kind of how to protect against these things firewall them off stop them connecting to the internet I'll do it I hope you found that interesting ideas of how you can get into a cyber security job thanks for watching and we'll see you all later you

OCR GCSE 2.2 The use of the three basic programming constructs



in this video we're going to be looking at the use of three basic programming constructs that are familiar in most imperative languages we're going to be looking at snippets of code from this program that's a beat the dice game introduced in a previous video about variables and constants please have a watch of that video first before you have a look at this one the first programming construct we're going to consider is the sequence a sequence is simply executing one instruction after another there are few instances of this in our program these are situations where we don't have any if statements and we don't have any wael for statements either instructions are simply executing one after the other a selection is a program branch depending on a condition so here we can see an if statement which is the classic selection command if dice 1 is greater than dice 2 then the roll value equals dice 1 string + dice 2 string else or otherwise roll value equals dice 2 string + dice 1 string here we're comparing the value of two variables dice one against dice two to determine whether dice 1 is greater than dice 2 or not and we can use our inequalities and operators in order to determine whether the condition is true or false if it's true the first line is executed otherwise it's ignored and the else statement is executed instead so the if statement is a classic situation where we have two outcomes it is possible to program more than two outcomes if we use else–if commands or ellipse some programming languages also support select statements where you can have multiple directions depending on the value of a variable so for example you can say case one case two case three case four and have four possible branches they also allow you to do more sophisticated things like say case a letter is between a and Z or case it's one two four nine the use of select statements in this way not only makes the program much easier to read because it requires less code but it also enables multiple branches iteration sometimes called a loop is repeating sections of code this can often be achieved by duplicating the code but it's not a good idea and to make the program more readable and more efficient you should be using iterations instead of duplicating sections of code in your program there are three main types of iterations to know there are four loops which are known as came – controlled loops and they used when the number of iterations needed is known ahead of the iteration executing so for example if we know we're going to be executing the code nine times then we would use a for loop while loops known as condition controlled loops are used when the number of iterations is not known because the variable used to determine when the iteration ends is changed within the iteration itself do loops are an alternative to while where the code executes at least once before the condition is checked many languages support D loops but Python does not this snippet of code is a very common use of iterations where we're using a for loop because the number of rolls is known in advance for example rolls per player is two and therefore we want to do two rolls of the dice but we don't want the dice to have the same value and so we're combining the for loop with a while loop the while loop is said to be nested inside the for loop whenever you've got one iteration inside another or one condition inside another it's known as nesting so here in this piece of code we're saying wild dice one equals dice to generate two random numbers and therefore it will keep executing that while loop whilst a devil has been thrown and an only terminates out of that while loop once the two dice have unique values then it returns back to the for loop and rolls the dice for a second time while loops are often used for validation because you don't want the program to continue to the next sequence of instructions until the input is valid it's a common mistake with inexperienced programmers to use an if statement or condition for validation instead of a while loop and the reason is because the if statement will trap one invalid entry but it won't trap subsequent invalid entries and therefore a while loop is much better another common trait with inexperienced programmers is to use the while loop for all types of iteration and whilst you can achieve the same thing as a for loop just using a while loop it really isn't the way that experienced programmers code you use a for loop when you know the number of iterations needed and you use a while loop when it is not known you

Building a Chatbot Service: Beyond Joke of the Day



good afternoon my name is Dan Nguyen I am the Senior Director of Product Management for artificial intelligence and intelligent BOTS at Oracle I work within the platform as a service organization I'm joined this afternoon by my esteemed colleague technical colleague Nick mill hell off and I just wanted to frame the discussion the guy in the suit will not spend too many minutes before I hand it over to the meat of the discussion which is more technical nature how many of you have been in sessions about chat with chat BOTS okay great so there's a lot of attention on chat BOTS this year according to Gartner karma conversational AI first will supersede cloud first mobile first as the most important high-level imperative for the next 10 years I obviously have a biased view and agreeing with that but there's an intuitive sense about that if you look at the history of human-computer interaction human technology interaction the last for 40 or so years you started out with no ascii-based command lines and then you thanks to 1984 the Macintosh you have Goofy's becoming mass market and then 10 years ago with the iPhone Touch became mass market and so user interfaces have become more usable more natural over the years I believe there's been an inflection point in the last five years or so an inflection point in natural user interfaces enabled by machine learning specifically deep learning and so what we're able to deliver for end-users are more natural interfaces where the technology adapts to the user rather than the user having to adapt to the frameworks and UI frameworks by the technology and so obviously there are examples of gesture recognition even emotional recognition I spent the last five years spent the last five years prior to Oracle at a deep learning technology company that determines how you feel by analyzing your face and at the end of that experience we were required by Apple and we create a technology similar to what they announced about two weeks ago in the iPhone 10 face ID in emojis so gesture recognition emotion recognition conversational recognition so understanding what we say what we utter in words as an invoice very naturally and so that's why we believe that in the next many years conversational interfaces will become a key method for accessing information and the key reason is that it's just it just removes a lot of friction you no longer have to discover apps there are over five million apps within the iOS and Android stores combined there are many other apps deployed by enterprises you just have to text or speak and let the system the chatbot system discover what are the relevant back-end applications and systems that provide you with either the functionality or the information that you're seeking and so it provides a more direct way for you to access your your desired information and functionality I like to frame this discussion a bit so this the topic of this discussion is about how do you build BOTS just beyond the joke of the day and what we've discovered in building enterprise class solution is that building a chatbot service that it delivers real value beyond a lookup table of jokes of the day is non-trivial because of these three areas of challenges one is diversity of channels right if the promise is to remove friction then your end users should be able to access information and functionality independent of the screen or the medium that they're using so across the different devices and screens and applications so that's the challenge for chat pot services to enable the livery of this value through those multiple channels second if you're too if you're to deliver a real value for your end-users you need to integrate deeply with back-end systems that provide information and functionality that is specific to your domain and specific to your firm and so backend integration and making that very seamless with all the scaling and availability and security necessary to deliver an enterprise-class service that has the trust of your end-users is complex and then third which is non-trivial is getting the artificial intelligence right and so we have spent a lot of effort in designing our artificial intelligence and natural language processing pipeline to make that all happen seamlessly for our enterprise customers so if they don't have to be machine learning experts natural language understanding and processing experts to have an out-of-the-box way to deploy chatbots very quickly for them and so as a result we're providing I think what is uniquely a complete solution for our enterprise customers one that allows them to quickly deliver chat pod services across multiple multiple interfaces voice text web applications across platforms and then also very importantly enterprise ratings that means providing out-of-the-box capabilities to quickly and easily connect to their back-end systems to deliver information that is unique to their firm and industry as well as the transactional capabilities to do real things rather than just a simple joke or fact of the day type chat bot and then also very importantly we vine embedded AI out of the box so you don't have to know machine learning or – floating or processing to make it all happen for you and so it's I think it's the industry's unique and the end solution to quickly get up and running chat bots deliver real value so with that as the context I'll turn it over to Ludmila to show you the innards of how this happens so so is all this lights about how we create boats and very cool stuff so my idea was actually for this presentation and I hope that I will have enough time to show this like try kind of cut the slides because there is a lot information I could show is how to create a real boat what do I need this is based on a solution we provide today we have a very very aggressive schedule so a lot of new feature is going to be included in the next two to three months I didn't include slide about that but I can mention a few words and this is basically in a real use case but I'm not going to mention customer right now here so the idea is to build a chat bot which I we call held chat bot which actually can deliver information based on support wearable devices there are actually amazing high numbers of wearable devices sending information and you can imagine you can get stuff like the steps kilometres hair hard frequencies and a lot of information inside so imagine that you have that information every day from your customers in a big data or whatever system you use and you what we would like to provide a chatbot interface so that the customer can ask for ask questions so what do you need to do this is kind of a high-level gender so these are actually the step by steps you need to follow to be able to create a plot so the first thing is you have to recognize what the intent is when the user is typing message typing questions so you want to know what the user actually really try to say or ask the next one is entities this is really kind of a very hard to do sometimes probabilistic parsing is just to understand different type of addresses dates durations and so on and so on then of course you need some type of dialog to create for the customer so how you want to response if actually is only one response or there is a conversation flow you want to have events and back bakken's integration also very important information all these data you're storing somewhere you want to get that information and be able to show to the customer and of course channels which channels would like to support facebook Messenger slack or whatever client you you look for so we start with the intent resolution so remember the use case at the beginning so the intent resolution is basically the ability to understand intent from human ambiguous language whatever the user is asking to understand wanted tennis is it asking about how much calories I wanna burn or whatsoever so you have to be aware of kind of a different type of intense you're going to have you have to classify your questions what the customer could potentially ask and I actually especially choose the use case because he is very kind of a unique to show you the capabilities of the system we have wine right now the user can ask a lot of different types of questions so the same question could be asked in a different different ways like how I did how I did today or just how I did or how I was doing last week or how many calories did I burn how many cars did in porn yesterday or in a specific time different goals but you can actually go and make this even more advanced and you can start asking question about when did I burn most calories in a few months or when was the you know where had a highest step count depending on the data you have and the services you creating a back-end you can actually also allow capabilities to ask about projecting about based on a data you were having in the last few weeks how much calories I'm going to burn tomorrow for example or stuff like that so knowing all those intents what you have to do right now is to get them and to feed them into the system so this is a screenshot from our system I want you to show this for life but the problem is so as with the network and availabilities right now during the open world everyone is trying to you know play with with it so the user interface well this is really extremely simple so you define a let's say for example walk and for that in 10 you can specify your own Terrance's the interesting here is one mistake I've done is as you can see I actually put three sentences there but you don't have to specify all type of sentences here inside if you actually have only how far did I walk or how did I walk Oh whatsoever it's just enough to specify reduce a few of the sentences and then for the machine learning will be enough to understand the rest of the questions so you don't have to specify all type of questions by how far did I walk two weeks ago ten you know last month or something like that actually you don't have to do that now one thing you have to be aware here is that if you have intents which are having too much like how far or what or you know these do words questions you have to make sure that actually they're a little bit more semantically rich to be able to identify different type of intense so the next one is the entity recognition the entity recognition rule actually also called North is the ability to automatically recognize entity meaning from ambiguous language that's something very hard and most of the people actually misunderstanding this with a search search is a very different because in the search you have a text where you can build index and basically you search on words which are providing in a search field here is actually a completely different way of approaching it is to proactively without knowing the context recognize if the user is talking about specific entity or if it's he's mentioning specific entity and one very common example is like Wall Street or Wall Street Journal right so for machine learning to understand the difference between two you know that one is a newspaper and another one nah it's not that easy and most of the solutions actually provided based on algorithms which kind of a try to detect position of the words or specific sentence which should look very smart at the beginning but when you start playing more difficult you realize it's not working that good so of course we provide here sorry I Cecilia with you club we provide here different different types of capabilities which I'll show you one of the next slides but first we need to recognize first we need to understand of course what type of entities are really need and so this is actually the easiest way to understand this or to look at this is just to know about what your back-end services are required because whatever the user was asked if I ask how much calories did they burn last week so first you have to intend I'm asking about the calories which are born and then the next thing is as the entities last week last week is going to be entity so you need to know when was this last week and if you see about which parameters were back-end services is requiring to query this information so he requires metrics start and end date so start and end date could be only started because if I ask today is going to be only today we have different aggregation types I couldn't ask what was the day I born most calories last week for example and of course user ID to be able to know for which user you want to create that information so if you look about their entities you will recognize that metric is going to be the intent so what i'm what i was asking start and end date is entity aggregation is entity so and you wouldn't realize that i had this big amount of different type of questions but if you going to look about what information i need to be able to execute service request to return me any information required by that question it's actually it's always the same even though I have so much different types of questions so based on all on this three to five entities actually I can solve all of the questions to user was asking so we have out of the book entries this this on the right side is what we have available right now so the date the duration different between data duration is that you can actually specify date for example how much courage to die born on 20 February or something but you can specify also what we call duration which is last week last month two days ago whatsoever we have the capabilities also to specify custom entities which is sometimes extremely useful for example in that case I want to make the body actually capable to recognize different types of aggregations so if I want to ask for example what was the my total calorie how much calories did I born totally in the last two weeks for example and I know that this is specific aggregation so basically I can provide additional synonyms to teach the bots about that and you can provide this on different languages also if you wish so the next thing which we need to solve that problem is of course probabilistic entity parser the probabilistic parsing is using the naming problem in the programming languages to recognize stuff like to be the first Tuesday of October for example so now that's a Texas ok but for me to be able to execute the services I really need to know about you know that date but if you ask the last week or two weeks or whatsoever specify all of this type of question this is what it's called probabilistic entity parser this could be used also for addresses names numbers stuff like yes or no because yes or no could be answer it in a different ways right we can say ok or I go for it or sure whatsoever right is not just yes or no so different that we support all this so what is interesting so then in an existing system right now the date and duration actually support probabilistic parsing already so it means that what you see on the right side is a screenshot from the testing interface when I specify my entities and I show them also which sorry intents and when I shows which entities I'm interested on from the questions the customer is asking then here actually I can start playing I can start and see I can put different type of questions which actually are not in the system and I can see if the machine learn is capable to recognize the intent and is capable to recognize the entities for example here I just asked how much courage did urban las last friday and the system recognized for me automatically when was this last Friday so I'm going to get that parameter and be able to execute the query next thing is here again example with a different type of questions where you can see that if you see the first one was resolved by date but the next one is by duration because I said last week for example and so on and so on however the mother is always the same and what is interesting what is also nice is that you have the start and end date and you have actually what was the actual test text the user was asking for in our case this last week this is very useful when you want to construct dialogues later because when you answer the user maybe you want to make it a little bit more human-like so you don't want to say you born son so carries from September 23rd to September 30 but you want to say you burned so and so careless last week right so it's a little bit more human-like so dialogue I came over something which you realized we doing when we create dialogues it has to be friendly short to the point and of course sometimes with a job you can do really big answers here I mean you have this small display it's not really made to start having big big discussions one issue we have over F IQs for example where we have to do FAQ in our bodies the FAQ usually have a very long text you can just show that no text there in in a message client right so you have to figure out a smart way to do that so you have to try to make it short and maybe if there is more information which the user has to read that have a links or something something else here is some example of dialogues which you can make it a little bit more user friendly so depending on for example how much he walk you can actually make a joke right additionally what we actually did is also to kind of an encouraging person for example well you did great you burn Sonne so careless which is I don't know 400 more than your goal or something like that and we work actually Hughson early on small talk– ape abilities which is not released but will basically give you the capability to design even higher dialogue trees way bigger and based on a dialogue tree you can decide depending on what is happening what type of dialogues you want to send to the user so it can make it even more dynamic and looks more human-like this is a one way to do the dialogues this is we have a llamo dialogue flow where you can specify the dialogue the interesting part is to see the components where currently you see on the system components but you can develop also your own component that's very interesting we'll talk about that in one of the next slides now this one here of course is a one way to do it but if you start doing it like this it's going to take the list is gonna be very long you can actually also have a switches go here and there and so on so one way to do this is also through a custom component and later when we have this motor capabilities you don't really have to provide all this information here inside another thing is that all those dialogues they you can actually load one another from a main di lock you can load another dialog which allows you kind of to fragment it fragmented so you don't have to put everything in one file back in integration that's probably one of the most important points so of course the very first thing is you know you need to access the information somehow so the boat and the capabilities is everything it's fine but the boat has to know where to query information and show to the user in our case is just getting information but of course depending on your use case you probably would like to put ticket or fine user somewhere to search or whatsoever any type of backends can be integrated actually there is no limitation as long as I have access to there we prefer rest services because it's way easier to work with and specifically if you have also MCS environment the integration is really very seamless but the custom components are give you the flexibility to develop whatever code you want inside you will see in one of the next slides how the custom components are running on OGS container so basically develop Java JavaScript to do that but the backend can be any technology so in our case was a Java and we had a restful services implemented getting information so back-end service design so one service for all in our case you if you remember all those different types of questions that were saving actually on the end I can resolve and get the information only from one service so even though I can have so different types of questions this service with those per parameters could give me answer for everything why because the metric could specify what I was asking for if it's Carey's will step down water intake or whatsoever start and then it give me the the period I'm interested on or you can actually use on the start date if you wish and the aggregation could give me different types of if it's a minimum maximum depending on what I was asking if I asked for example what would be my what was my maximum day with most calories last week this is going to be calories then start and end date for last week aggregation gonna be max and then user ID and I'm going to get that information back in service response again you get only what you need also very important so from you have to specify off of course what information you want to response from the back end and using your pot this is the JSON response from the system so we have the name we have the amount metrics again the start and end date we have also a additional property for if this calories or you wanna call them something different because there are different metrics depending if you in Europe on us and whatsoever and you can use that information to generate dialogue it and generate response to occurs to to your customer our custom components when when to use custom components because sometimes you don't necessarily have to we have also built in custom components where you can pour any information one of the things is of course when you have a back-end system we cannot just easily integrate but you may be also what would like to aggregate information or business logic in a different way which we cannot provide out of the boss out after the box of course create a different client specific parameters but of course also different dialogues this is also very interesting and another thing is of course different channels require different outputs if you want to support Facebook message of whatever output you generate there this output it's not the same like for example in slack this is a very big problem and we're going to provide solution very soon there as well and of course the custom components can run on a CCS MCS or any node GS basis containers or there is no limitation there bracket integration with custom code how actually is look look like to create a system such a custom component so this is a very minimal example which I want you to give you so you can specify metadata if you remember so this is the the very forces the name if we remember the slide with the dialogue flow where you were having component this is the name you can specify for that component the properties are actually variables which you can give to that component depending on what you need you don't necessarily have to do it because you can have also there is a additional property which delivers you actually all intents and entry to enter this addition additionally in a custom component as you can see in the involvement inside this is your base metal work which will be executed when the dialogue flow goes to that level where your component has to be executed then your the the bot system will go directly to that part here and here you can get the channel types you can get all those variables and what is it inside and but this is one of the slides where actually can make five of this but I want you to make it short to only one slide save me some time basically shows you a very simple way how how I can get the information so all those entities which actually was asking so for example how much Carol is did I born last week so I can get I can send the entry T's which is aggregate aggregation date and duration type to that custom component then here I can see if this is the only date or if it's duration there won't be the same but there won't be available the same of the above at the same time so depending on if I was asking last week then you'll have one iteration if I was asking for specific date you will have only the date so you can get that period you can specify this in in options and then you can execute this restful service in behind and when you execute the rest of for service you get some specific information and just to show though in a real system it's a way more complicated because I want you to generate different type of dialogues but this is just to get the feeling how is it how how is it working so basically when I was a kid there services and I get that information as you remember in a payload I was saving a mount and specific the texts and specific mark if this is a calorie so what so ever want to call them and last week is actually from the entity itself as I was asking the last week my entity was saving that text so it allows me to construct sentence with the last text inside to make it a little bit more user friendly and then you can think of about taking this example of you can go very very far encrypt way more complicated stuff for example here we are having logic for checking the calories with this message example the colors which the person born with his goals and see if he actually is meeting the goals or not and if you want generate different type sentences if this is going to be natural positive or negative sentence and so on and so on so you can create logic which can do this here to register custom component it's also very easy so as I mentioned this is running on some no GS system somewhere and is having some main file which you securities having well so you just have to specify this word or in our bot environment and then you get access to this custom component and you can use this custom component in a system already so very easy to do and the last slide is a channels so as I mentioned this is a very big problem because every channel is having different type of payloads I personally like the way how Facebook Messenger is doing because it's very very dynamic so you can support a no easy way of different type of responses and I don't know how much how many of you are familiar with this but in a facebook messaging we can have not only text response but also different type of horizontal vertical cars buttons and so on and so on so basically if you want to be able to support all those capabilities you have to provide this in your response and if you remember in a previous way its light where it was having just a tech response there you can actually also have a response which is a JSON response and depending on a channel you can check the channel and do that type of payload additionally here we're in the next version and on one one which is going to be available in December we're going to provide you actually a general way to support those different type of channels which means that you can generate output for all support for different channels but it's gonna be only one way to generate that response you don't have to think about okay how my JSON payload should look like to be able to show that message in a way I want you in a facebook messenger channel and of course we have guidelines capabilities which we've done already to integrate to Alexa Siri and all other channels which is actually way easy then and probably works of course also the capabilities to use WebSockets this is in an enterprise as a lot of customers using Cordova for implementing in mobile applications and often they would like to have the chat pod capabilities in application itself inside so WebSockets is a very good and easy channel to do this integration all right I was very quick you have any questions yes not right now it's only not GS based so no Java but of course you can write most of the logic actually in Java and request that logic from the non GS component yes yeah that's one won't be a problem all right yes yeah yeah I know what you mean yes yeah not right now there is work around for that you can do it because you can actually send direct response using the Facebook tags directly to the Facebook Messenger for example and in the next version one one we are heading to support this out of the box sorry Oracle Claudia is sorry I'm not sure if you have a trial instance already isn't it done there will be a trial which we can explain yeah yeah or free credit right well versus the easiness of use if you try I work over I as well the entity resolution is a little bit more powerful and another thing is the integration with a system so that's actually very important because most of the customers we have were Oracle customers having or coexisting systems so to be able to integrate them was way way easier than having system someone outside another thing is security capabilities not allowing to go to somewhere in Google or Facebook whatsoever but keep the information in yes yeah you can do this yes yeah you're welcome all right very good thank you [Applause]