So, the talk that you will see now is GoGeo with HTML5. So, what I will cover in this talk is mainly like how you can use the native geolocation capabilities that are available in HTML5 and leverage it for your application. So, we will just see what are the gachas and gachas that you have here and what do you believe in this. So, I am Jay. So, I am a front-end engineer at Yahoo. So, I work for Yahoo development for evangelism of my APN. So, also I am an avid hacker. So, what strikes your mind when you see something like this? So, yeah, I mean everyone knows it is latitude and longitude, but what more can you improve? Location. Yeah, location. Okay, you know that okay it is a location, fine. But who can guess which location this is? This is a hacker. Yeah, I mean guess is what this latron corresponds to? No, it is not this collage, it is not this venue. No, so it is a location. So, I am just asking if you can guess which location this is. Because this is all you get from HTML5 geolocation. So, yeah, just perfectly wrong. So, this is the coordinates of the Chinatown stadium that we have, where it dates and so on. And our engineer has a nomad that will use his head. So, yeah, how many of us use locations of applications, mobile phones or websites? So, can you name a few? Yeah, four square. I thought that was that even shout four square immediately when I asked that question. So, most of the location-aware apps generally deal with what I work as ABCD. Okay, current location and what are the places that you've checked in, etc. Navigation, I find driving from here to say majestic bus station. Okay, how should I drive, etc. So, position gets updated there.  Okay, these are locations of interest, points of interest, etc. So, what a typical location-aware application needs to know mainly is the where of the user. Okay, so, I mean, user context is a lot. I mean, you can infer a lot of the user by checking and getting information of where is the user. For example, say, I have a main user in, say, Bangalore or India. And I know I can probably say that probably is interested in cricket. It's some user context that I can infer out of the content that I have. The other things that matter are what's, once you know the pair of the user, you can also see what's around the user, right? So, once, yeah, once you, so, okay, this user is from this location, etc. You can see what's around the user and what is suggesting some things. So, typically map applications to all of that. The how of the user is also important, like, like I said, driving directions and how we can reach this particular point, how we can probably find a gift shop on the way to their friend's birthday party, right? So, again, I pose this question, why do your location is important? Okay, so now, since you have seen where is the something, can you just say why your location is important once you have the content? Yeah, very nice, yeah. So, I mean, if you can see, based on four-square chickens, retouchings like pocketed, they give you, like, okay, these are the responses available here. So, which raises the, you know, participation of the user to deal and interact with the content that you have. Okay, so, again, so the main thing that everything boils down to is the user context. Okay, once you get user context with your location, you can infer a lot of things, categorize your content accordingly and show them a very, data of higher frequency. Okay, so, user context, context helps you in serving out highly relevant data. And once the user finds very highly relevant data available to him, and he's interacting with the content, he, I mean, obviously, he's a happy user, and that means that our application builds.  Okay, ask the user's permission to, you know, we'll see a little bit more detail about it. So, this is the current latitude, longitude of this place. Okay. Now, let's just brush up through what the W3C geolocation specification says, and this is just a spec. Okay, it's not the implementation part of it. So, you can actually know what you can expect from any implementation of this specification. Okay, so, in simple words, I'll just go through. The main thing is provide goals using this API with a lat long, which is of the current position. Okay, the other thing is it also gives you information about how accurate that information is, and then the user can plan, I mean, the API user can plan accordingly how he can fall back on a safer content, et cetera. The other things are position updates, okay? I mean, when the user is on the move, how you can get updated positions of the user and allow the app to register to this. So, it doesn't, I mean, the application doesn't have to query every time that, okay, give you position updates, et cetera. Basically, it is asynchronously given to that application once it's registered with the API. And the main thing that is sometimes a disadvantage but sometimes really useful is the user's privacy, okay?  I mean, I'm safe about it, et cetera. So, let's just see some code here about how you can expect and use this API. So, these are all from the specification and all implementations are there to this specification. So, all of the geolocation data that you find are in this object or this instance from the project, okay? Navigated or geolocated. That's what you have to check for if whatever the browser is giving you that implementation. So, you check if this object is present or not. First of all, when you start it. So, in this, the main thing that most of the applications that you use are to get the user's current position, okay? So, the API is when you call navigator.geolocation.getCurrentPosition. This is asynchronous. We'll see why because the information is not readily available. It has to query somewhere and get that information. So, you have to provide a callback function to this API. So, getCurrentPosition.  So, it files us on something called position to the callback function in which we'll see what is perfect. So, in that position object, what you get is coordinates and timestamp. So, coordinate information will go through it. But timestamp is when they have collected this geodata. In the coordinates instance, you have latitude, longitude information which you have already seen. If the device or the user agent is GPS enabled, et cetera, where they can actually get information about what altitude the user is, et cetera. So, it gives you altitude information, the accuracy of it, accuracy of the lat-long information. And also, if there are position updates, the devices can also make use of two other fields like what is field of change, et cetera. So, now, we have seen a simple case where we assume that we are always getting successful responses. But in reality, it's not sometimes things fail. So, this getCurrentPosition also allows you to pass something called an error callback. So, you can gracefully degrade and handle if there is no location available from this API. So, you can pass a success callback and an error callback. So, in that error callback, you get the position error object returned to you in which there is a code and a message typically. So, the code corresponds to one of these. One is unknown error, maybe the network through which it's getting the data is not really that good. The permission denied, if the user has denied the permission, okay, how we can... So, you can use this typically in most of the cases, for example, say you are enabling location to your tweets. Like, not most of the users do it, but still, you get that information using it as you do something else. Position unavailable, if from where you're getting this, your location is not really able to infer where the life long is, if it's times off, etc. So, these are the error conditions that you have and you can use it wisely. The getCurrentPosition also supports a third parameter, okay, which is basically allows the application to pass on some more options of how I want this data. So, the three things that are supported right now are enable high accuracy. So, if an application needs high accurate data only, and it really tries for it, it can pass it as true, of course. If, suppose you just want city-level information which is not that accurate, and by default it's false, so that's what you get. You can also cache this API. So, you can pass on a maximum age. For example, say your application just wants the geolocation initially and from there you take it forward in your application. You can cache it because doing a geolocation API call always is sometimes not very important. And then, timeout as well you can specify how much it has timeout. So, what is the timeout parameter? So, you can say that if you are not getting the data for so much time you pass me a timeout error. Because I don't want to wait for so long. So, now we have seen how we can get the current position of the user. Now we will see two more APIs that is from the geolocation API. The main, this is very useful if you are dealing with users who are on the move. So, what's position is available in the geolocation which basically as I said your application can register if there are position updates. So, this particular API you pass it on callback functions to it and it will move that callback and they by hand report it. If you don't want that through the life cycle of the application usage you can stop the tracking by using a clear watch. So, this watch position returns your watch ID which you can use to clear it. What is the frequency of the watch position? Yeah, so if the user's position is moving. What is the distance? So, typically it also depends on what is the method of getting the geolocation data. I will explain that. So, now we have seen how we can use the data what are the API available etc. A little bit about what are the geolocation technologies involved how the browser or the device or user agent gets the geolocation data. So, the most common one is IP geolocation. So, this is mostly used in all desktop based applications where we have only IP address information. So, can anyone say what are the disadvantages of the geolocation? Yeah, proxy is one thing. So, it's not accurate. Yeah. And it's kind of sometimes applicable to most of the cases also. But other than that exactly, yeah. So, we can collect data and things are there. So, IP geolocation, the main limitation is it can only zero down onto the city level geolocation. So, it can say ok, it is in Bangalore ok. But it cannot really zero down onto the city level etc. So, you cannot really rely on that for you know it driving on the move kind of an application. The other thing which is often used in non desktop based applications is something called trial iteration. So, I just explain you in brief what trial iteration means. So, it's basically like I have this position of the user to get this position I use data around him ok. So, there are three ways that you can use one is GPS information Wi-Fi then it fix 3G you have set the GPRS level to get information from cell types ok. So, the thing is these points are available to you this extra metadata. So, you can say ok these are the Wi-Fi points available around this user. I will get the MAC ID information from this Wi-Fi and send it to my API. It will figure out where I am. So, from two or three positions based on the signal strength it will try to infer which position of that circle of the sphere the user is can accordingly will determine you know. So, there is an algorithm there where it will take from where the area is accepting of those circles So, we will see a little more in detail GPS information is obtained only in GPS enabled device obviously. So, how this works is your device acts as a GPS receiver it gets signals from multiple satellites which pass on information like ok this is from where I am sending this signal and this is the speed this is the timestamp etcetera. So, based on the timestamp information when you project those signals right we can actually determine an approximation of where the user is. The disadvantages here are I mean if you are in a city or a closed building like this the signals cannot be you know directly to the GPS receiver. So, it works really well in rural areas where you don't have too much of other possibilities like Wi-Fi or I mean cell network and that's why in rural areas etcetera GPS is really useful it's fairly useful if you are on the moon driving where it's lagged x and y screen The other most commonly used thing is Wi-Fi endpoints So, what typically the browser does is it sends the API what are the Wi-Fi endpoints available in the vicinity what is the signal that I receive here etcetera. So, based on this the API can calculate where is the approximation of the user. How does that work? Yeah, so it passes on the MAC ID. So, you have the MAC ID you can determine it works through this IP Yeah, but it is a little more you can 0 to 1 a little more ok. So, especially in urban areas where we have multiple Wi-Fi points and you can say there are from different networks you can see how distant are there you can actually it's an approximation again. So, it's. So, it's about practically it is about 10 meters of difference ok that is the general delta that we get, but it's fairly actually I mean practically you can actually argue theoretically probably it's not that but if you see it practically it works very well. Cell tower signals etcetera. So, you have your phone gprs using gprs or 3G from the cell towers you know ok these are the location of the towers and this is the signal and accordingly it can approximate your position. Here again cell tower is not I mean the signals 10 communication signals are not that but less in urban areas there are lots of towers etc. So, these are the things that you are dealing with now let's see how the browsers which API services. Google and Chrome sorry Firefox and Google Chrome they use a Google endpoint here ok. This is the API endpoint to which it sends one of this data IP address or GPS information or the Wi-Fi MAC ID information or the cell tower location information. So, this kind of response back with the lag on coordinates like the C level etc. Whatever Apple Safari or Opera uses is Sky Wireless. So, this is a company which deals with a lot of copyrighted information as well. It's very accurate as well. So, Safari and Opera use Sky Wireless. IE9 internet explorer also got into the game from IE9 onwards ok. So, yeah before that they didn't really have the means to get the data etc. So, for whatever reasons. But yeah if you are dealing with browsers which are IE9 plus you can use navigator.gl again Chrome has it from I guess 10 or 12 version of it. Firefox from accurately from 9, 10 onwards Safari from 5.1 onwards also I think is 9. But if you are dealing with browsers or user agents who do not have such capabilities like a majority of the users around the world are IE6, IE7 it's a way we can't leverage geolocation possibilities. So, locale.com gives some plugins which can be installed which kind of simulates geolocation capabilities. So, I mean the thing is there are no we are dealing with a lot of things right. I mean some process it works and doesn't work there are too many things, too many details to handle. So, instead of dealing with multiple things separately your application should always be held in a hybrid manner. So, get it all in one shot ok. So, for this what is the best way to use?  So, why you are in jQuery have this API where they kind of fall back say the browser doesn't have navigator.gl it will fall back to contacts and IP locations service to get based on the IP address. So, I mean that is fine and then you are getting some data out of it and you can actually organize your content and serve it accordingly. So, let's just see. So, in YUI you have a gallery geomodule which you can use I mean typically again as I said the APIs are again the same and the behavior is the same. So, whatever documentation you use is very similar. So, you will get the response accordingly in the coordinates object etc. In jQuery you can use you are able to geolocation support in jQuery and get it with a similar capability. Any questions at this point? Yeah. So, actually cut down few examples but I will show you using this for the first time I will ask you to look at an example for the photos here not me. So, what this does is it uses the geolocation and then queries to get geotact around it. So, it has been written in a very it is available on GitHub. So, it is it has been written in a very clear cut manner. So, you can actually see clearly how they are handling this how they are handling this etc. So, to start off we can look at this application there are also applications like glengs.com of course, Foursquare always they use checking kind of information but most of them started as mobile apps right. So, not many leveraged HTML5 geolocation because it was forever very long. So, glengs.com it gives it and basically you can share your location with your friends or tip specific person etc. So, yeah if you are driving to a birthday party and they are waiting for you can say okay I am at this point so, they have done it very nicely in a nice social manner you can take a look it is interesting yeah, but we have a lot of other mobile applications will start it off where we can actually see how we can do it. So, HTML5 really broke that barrier of the limitation where only GLS enabled devices were used for mobile applications right. So, this gives you a very uniform way of getting geolocation and geolocation and using it. Any questions that you have? So, this is the example that I showed you so, the script part is so, it is the same if you can see basically I am just using geolocation if it is present and I am getting position object which gives me line of view. So, this is it which gives me line of view there is nothing complex in this it is about how we get this information we use it. So, as I said this talk is about how we get it and what is involved with getting it right. So, yeah you can always give it I mean based on the error conditions you can also see how we can gracefully debate the experience for the user anyone else has questions? Yeah. Okay, so navigator geolocation again is available in our environment where HTML file can be interpreted it typically it is a browser. So, if you see most one since HTML file is evolving a lot most of the native applications that you see are moving away from that they are doing away with the native tag and usually does HTML file. So, because a lot of these devices like ipads, tablets all these are supporting HTML file big time. So, with HTML with the browser itself they do it something like a launcher app type of thing where it is like it is like a bookmark kind of thing which will open up a browser and execute your code and serve out. So, that is how the trend is going. Okay, you also have a lot of libraries that provide you a common abstraction over whatever sort of native team that you are aiming for. I mean you like we have Mojito which now open so we have phone gap kind of libraries which allow you to that abstraction layer which you can actually layer it all. I mean it is because all the tablets etc are moving really fast, HTML file is evolving a lot and people are starting to use those. So, if you are starting it now I suggest you go you do not really focus on native things unless your application really needs too much of native API like it is just web content and geolocation about app you are looking at and do it as an HTML file. Yeah, it is evolving but a lot faster. I mean a lot of things which were we were dealing with services for example IP geolocation it has been there for quite a while. What it does is it passes on the like IP address where you can have or you can use your API in the data to get the approximate location of the security user. So, that has been there for long that limitation is going away. So, if you see a lot of other private application techniques where you can actually determine the point that you got it actually put it on and as I am searching to come to right to this application. So, it is getting a lot improved. I mean these limitations so it works on some scrolling moving away. If you see IE6 usage which was about 70% about one and half to two years ago has come down a lot it is about 30 to 40% with a lot of companies on it. So, that allows your web application to do a lot. So, I would say within I mean now a lot of features are using the campaign browser. So, I don't see that point where it is still underrated. So, I mean the other thing is what is your target user? It also depends on that which if you are typically target in the Google engine itself you may have to do it. So, probably after this. But yeah, you have to see what your target users are what is the user setting for your targeting. If most of them are like young and urban area people like they do a lot of IE6 users, tablets so you have to realize that to be complete in this space you have to just pick what you want to do So, what we are getting here is just we need to reverse your code to get this this location so for that Google has really good data in US, India also but it's not that great in European countries. Nokia acquired Naltech recently so it has very good information in European countries as well and also US obviously So, in India Nokia is building that but Google has that Google Places API if you look at it it is fairly very accurate if you are dealing with a lot of urban segment right? So, like if I am targeting like the synthesizer then Google just fill the data location So, for whatever if you just want IP level accuracy you can use it for this Yeah, so at that level IP level there are a lot of IP sites which deal exclusively with the location of the IP address like you have free GUI environment there are a lot of property services which are a lot accurate and if you are really relying on that full time and based on what piece of data you allow yourself to calculate is not good. There are a lot of proprietary providers there is iplegends.com which provides the same data. So, for IP you have a lot because it has been there for a lot of time but I just wonder Yeah, so for India especially you can use Google play which is very important. Yeah, I mean they are all building the database. So, a lot of these people I mean since after geo-typing of content is becoming a lot bigger almost every company is looking to invest from geo-typing the content etc. In developed countries it is a lot better. In developing countries it is fairly good but probably like maybe in math my India doesn't really provide that good idea. So, it depends on the use case I think probably if it is it will be very good you can probably do share content share So, there are lots of things that are happening in developing countries but it is improving very well. So, for the browser it knows what is the matter for the Wi-Fi component is content share. So, the browser has the interface where it can interact with the OS to get this So, yeah, that's how does it switch between IP and desktop? So, that's what it's for laptops typically since most of the laptops have Wi-Fi and they don't use Wi-Fi. They don't know what it is using the Wi-Fi connection etc. They can pass that way if it is a desktop and you are just using a LAN cable So, at that point if you are not making the laptop in your device itself you can use any Wi-Fi input it will rely on which IP address. So, it has that logic and intelligence in place. So, all these browsers they have implemented differently. Navigator.geology.it is called I mean texture of files. Any other questions? So, I'll ask a question that Post-Pair user often click, who will hit the ground first? Any basis? Just take a wild guess Post-Pair would hit the ground first, why? Yeah, you should also say why Okay, so this is a joke Twitter user would hit the ground first because the Post-Pair user would stop in midway to check in at the place. So, these are this is how you can contact me like you have Twitter, Handle etc. So, this is where I am taking a lot of that data information from the WPCS database. So, you can reach me in your case So, I I'll give you a few other talks also so you can check it out Yeah So, thank you Since I am wearing this T-shirt I'll also make a point that make sure your applications are accessible Can I have a guess what is that? It's why it's called accessibility It's a bright alphabetical So, yeah, just to drive this from T-shirt it's not just for blind users we have it for a lot of users It's not very hard now with HTML5 a lot of accessibility Right, thanks a lot Thank you


My story of change. Understanding the origins of fiscal states and taxation in particular matter for at least three reasons. The first one is that this is policy relevant. It's part of sustainable development goals. Being able to tax income and to implement systems where taxation is progressive, this matters a lot if we want to fund public services and infrastructure. Taxation itself may improve the quality of governance of a country. In the face of taxation, citizens will become more engaged in public processes. They will demand in particular greater accountability on the part of the state and of the government. We have done a series of activities that have engaged us with policy makers. In particular, colleagues working in revenue authorities across the Global South, colleagues working in international institutions. We had a sense that increasingly policy makers engaging with us could see a little bit more that taxation is something that doesn't happen overnight. You have to have a set of conditions there in place to make it more likely. My story of change is about the ability to communicate my research, share it with a much broader audience that I would have otherwise been able to reach. The ultimate objective for us was not only to have an impact on the academic debate, but to reach the greatest number possible of policy makers.


from our studios in the heart of Silicon Valley, Palo Alto, California, this is a CUBE Conversation. Hi, and welcome to the CUBE studios for another CUBE Conversation, where we go in depth with thought leaders driving innovation across the tech industry. I'm your host Peter Burris. One of the dominant considerations that every business faces today is how do they work through the complex outcomes associated with cybersecurity as they find new ways to use their data and apply it to new classes of customer and market problems? This is not a small problem, especially given that so many bad actors out there are now also seeing a company's data as a potential enormous source of value. Now to see what businesses are doing to try to achieve those complex outcomes while at the same time lowering their overall security risk, we've got a great conversation. First off, welcoming back Eric Herzog, who's a Chief Marketing Officer and Vice President of Worldwide Storage Channels from IBM Storage, Eric, welcome back to the CUBE. Peter, thank you, love to come.  Kaylene Sanchez is Vice President of IBM Worldwide Systems Lab, Service and Technical Universities. Kaylene, welcome back to the CUBE. Thank you. So let's get the quick update. Where are we in this world of the outcomes of businesses? Kaylene, let's start with you. What are businesses trying to do with cybersecurity today? Protect data and ensure that we provide a certain level of security levels to enable the overall end-to-end protection holistically. So it's really important that we enable a full stack, hence the strong partnership with Eric and I, to end also the global team, to pull together solutions that enable data protection. So let's talk about the reasons why it becomes that much more acute, or the needs become that much more acute, because we've got the reality that everybody's going to get penetrated in the next year of any size, that it takes a long time often to figure out that you have been penetrated. You've got new types of attacks, the old ones of just kind of fishing and whatnot. Well, still a problem. Now we've got ransomware, we've got a lot of new types of actions that bad people are taking. What are some of the things that we're trying to protect ourselves from these days? So the biggest thing, as you mentioned, ransomware, it's like this idea that we want to protect and also act as a worm, so to speak, to provide an abstraction layer to enable protection holistically of any given solution, because data can be everywhere and nowhere. So yeah, there's discussions about it's the new oil, it's not the new oil necessarily, it's pervasive, it's everywhere. So our data from our perspective can be in any device, any immediate type, and we need to figure out how to protect it at its core. And so you see it as a full stack, that just means we have to go lower in the layers in order to protect the overall data. So kind of what you're saying is that the more the security is closer to the data, the more the data itself is secure. The less reliant we are on policy, which can lead to human error or human mistakes, which could allow folks to come in. Have I got that right? You're correct, it's smart data. It's this idea that it's multiple pieces and multiple owners of a maker checker policy that keeps the overall solution accountable. That doesn't diminish the need for policy, but Eric, it certainly raises the specter or the spectrum of the fact that increasingly the smart folks within a business that are ensuring or trying to diminish risk and ensuring assurance of the data need to start looking at how storage or the role that storage plays in this overall security framework. Have I got that right? Yeah, if you think about a traditional company, their approach is we need to get security software to keep the bad guys out, and they need security cover for when we are breached to track them down. Talking to several CIOs at even mid-sized companies, let alone the Fortune 500, is sometimes it takes them days, even weeks, as you said, to know they've even been penetrated to get track it down.  At IBM Storage, you make sure that that doesn't happen. It's as if everything is bolted down, everything is locked, and if they do steal something, for example, let's say right once, read many technology, they can't really use it, right? Because it's worm, they can't change it. So it's almost as if your TV required a fingerprint, and even if they stole it, they couldn't use your TV. And that's the kind of thing you want to do is be pervasive and get enterprises as well as even small and medium-sized, to realize an overall cyber resiliency and security strategy involves keeping the bad guys out, the email will track them down, but when they are in the house, making sure everything is secure and essentially nothing can be stolen or utilized of your incredibly valuable data. So using your metaphor of making sure the TV is bolted down or whatever it is bolted down, that however doesn't diminish the business's ability to move the TV if they want to, if they have the rights and privileges to do so. So let's talk about how the new tooling of storage is being bought together with some of the new services approaches to achieve these complex outcomes. How is IBM looking at storage and storage-related technologies as a foundation for achieving the new outcomes that the businesses want? So from a services perspective, we go in and partner with our core technologies within the storage portfolio to enable something like bare metal, to enable the armor around the overall solution. We work with the client to understand their pain points, et cetera, and how we optimize the solution to substantiate that we provide highly resilient, flexible access to data, but at the same time it's protected. Now this is a fast changing world and there's an enormous expertise both on the good side and the bad side. Obviously, you've got a development background. Talk a little bit about how IBM is relying on customers, relying on universities, other sources of deep knowledge about security issues, and then translating that into IP that then finds itself into places like Eric's storage portfolio. So we have processes like, for instance, the technical universities. So we have discussions with an extended set of worldwide engineers and scientists to talk about specific important pain points related to cybersecurity. So when we obtain that data, we provide the training, we collect information, and then we provide or funnel that back into Eric's portfolio from an IBM storage perspective. So Eric, look, you're an old mainframe hack, as am I, as am I. And so that is one area where security has not been an afterthought. It's not been that separate. How to what degree has that relationship between security and data and storage permeated the way that you think about solutions, solution directions, and engaging your customers with your value propositions? So one of the big things we've done is make sure that our security is across the entire portfolio. Primary data, flash, disk, secondary data, disk or tape. And in fact, as you know, IBM is known for its hybrid multi-cloud storage technology capable of easily and transparently tearing out to multiple public cloud providers. When that data is in flight, it sure as heck better be encrypted. So we've made sure that whether it's ransomware or malware protection, data encryption that rests across the entire portfolio, write once, read many technology, things like FIPS 140-2, which is a very important federal specification around security, malware and ransomware protection with air gapping both to tape, but also to cloud. So we've made sure that the security aspect of storage is pervasive. Primary storage, secondary storage, cloud storage, whatever you're doing, your storage will always be secure. So when they do breach the wall until they track the bad guy down, as they're rooting around your file, your block, your object storage, it's secure and they can't get any value from the data. You still can, but they can't steal that data from you. And that's a critical capability of spreading it beyond just the mainframe. We have great technology with our new safeguard copy product we brought out last year that does incredible things to secure data. But in fact, we make sure that all sorts of security and resiliency technologies from an IBM perspective are spread even into our lowest end product, our store-wise 5010E has full data rest encryption, encryption in flight. So all those technology won't from the very entry products all the way up to our high-end product, the DS family and everything in between. Yeah, well, one of the things about digital business is we're discovering new ways of leveraging data in unanticipated avenues to try to generate additional business. And one of the things we've seen as we talk to customers is that increasingly that means that the weakest link in your security chain is going to be instrumental at defining your overall security policy. So treating security as an option is because you can secure something over here is increasingly difficult as you find new ways of integrating data. So how is IBM helping to get customers to see that? So I would say two points. From a lab services perspective as well as our business partners, we take on a consultative discussion or partnership. So we learn from our clients and partners and users as much as they learn from us. And we provide offerings to really explore that full stack to make that data smarter as we discussed before. So digital business is happening, it's transforming very rapidly. IBM talks about the rise of the incumbents as they bring some of these digital native capabilities into their business. I'm going to ask each of you for the one thing that you think is going to be most important for customers to think about this relationship between data, storage and security. Eric, I'll start with you. What do you think is the one thing that people need to start thinking more about over the course of next year? Storage is not an afterthought in your security strategy. Killene, how about you? Co-create with our end users to enable the full end-to-end protection as you mentioned before. And as you co-create, don't forget that storage is intrinsic to whether or not it's secure or not. Great conversation. Thank you both for being here. Eric Herzog is the Chief Marketing Officer and Vice President of Worldwide Storage Channels at IBM Storage. Killene Sanchez is the Vice President of IBM Worldwide Systems Lab, Services and Technical Universities. Once again, thank you both for being here and talking about this crucially important area. Thank you for having us. Thank you. All right, and once again, I'm Peter Burris and until next time, this has been a CUBE conversation.


If you are willing, I will be available to you in more ways than you can logically understand because a guru is not a person. You may meet him, you may greet him, you may even mingle with him, but the personality or the persona of the guru is not the important aspect. The persona for me is structured in such a way that largely, if you are reasonably unprejudiced, a persona which is acceptable to most people in the world, that is a carefully crafted persona that is not important, that is only a knock on the door. But if you open the door, if your doors are open, then I am available to you in more ways than you can logically understand because this is a presence. This is an energetic possibility. As I have repeatedly said, I have initiated more people who have not met than those that have met when they are open, it is possible. This whole tradition talking about, a guru will be available to you when you are willing, when your doors are open, you have heard this in many different ways, a guru will come when you are ready. It does not mean he has to come as a person, it simply means when you are open when you are ready. This energy, this presence which is always seeking to penetrate and make a life blossom, like sunlight is always seeking how to touch every leaf, every flower, every life and make it blossom. Just like that it is seeking because this is not of an individual. This is not of a person, this is the nature of grace. You just have to work towards your openness. You can be at home, you can be wherever, but the important thing is to work towards the steps of how to keep yourself open for a period of time. If you achieve this, we can initiate you wherever you are. Once you create this openness, I am not just with you, I shall be in you. This is not an empty promise nor is this a bombastic statement, I want you to understand that dimension that you refer to as guru is not about me as a person, it is a possibility. It is a great privilege and the benevolence of creation that in some way you become the instrument of that possibility. Being an instrument of that possibility means that in some way you have kept your persona away that you don't stand in the way.  You know how to get out of your own way. If this one thing happens, you also become that possibility. It is my wish and my blessing that you must know this. Allow me to go through you in such a way that who you are will become an infinite possibility. This is what receiving a guru means. May this become a living reality in this life.  People think a guru is their philosopher or a guide or these days a friend. Well, he is willing to be all that but that's not the purpose for which you go to a guru. If darkness has to become light, something has to burn. That's the only way in the physical world, light happens, something has to burn. So guru is not someone who gives you theories and philosophies, not someone who has scriptural knowledge and going to interpret scriptures for you. Not a friend or a guide who holds a torch for you. He's the torch. He's burning. If you wish to know what it is, you should burn too. You do not go to a guru for solace. He's not a tranquilizer, he's there to awaken you. It's wonderful out here at Isha Yoga Center. The monsoon or the first few showers of monsoon has started. Very cool breeze, everything fresh and green, it looks like. All life has come awake is my wish and my blessing. You should come awake in the fullest possible way. That's the purpose. That is the destination that life becomes so awake that it's beyond life and death. What a guru means is one who is willing to become your doorway, not a destination.  Please walk through this and may you find ultimate well-being for yourself and may you offer this to every other life upon this planet. May your unique inner nature fully blossom to bring fragrance and beauty to the world. Guru's grace is not designed to fulfill your plans, but life's plan for you.  So the business of a guru is to fulfill you as a life, not to fulfill your desires, not to fulfill your kinks, not to fulfill your fancies. So guru's desire is to fulfill the life that you are. Inner dimensions are uncharted terrain, it is sensible to take directions. A guru is just a live roadmap. If you traverse uncharted terrain and if you don't have a roadmap to find something that's right next to you, you may take a lifetime. Unfortunately this is the reality with most spiritual seekers that to find something that's within themselves, they take a lifetime. It shouldn't take that much time if only they are willing to take directions. Well I see when I trek in the mountains in Himalayas, particularly Nepal and Tibet which I'm doing every year, the Sherpa, an illiterate Sherpa out there, whatever he says I do because he knows that terrain best. Someone who has already traversed the terrain, it's best to take instructions, it's best to listen because otherwise simple things will become unnecessarily complicated. May you know the peaks of your inner nature.


In the talk before this we had Lucas and he was talking or he spent a bit of his time doing his talk talking about reciprocal and non-reciprocal licenses and One thing that you have to note When you have these difference in types of free software licenses is that These differences they give rise to whether or not the licenses are compatible or incompatible with each other So what exactly is license incompatibility? So it's basically a term that we use to refer to whether various pieces of Software with different licensing terms Can fit together within a single project and can be distributed together So what we're going to look at in the next 15 minutes or so we are going to first define license compatibility We're then going to look at examples of licenses that are compatible with each other and that are not And then we'll briefly talk about why license incompatibility is an issue and how you can sidestep that issue So before I explain what license incompatibility is we're going to use an analogy Full disclaimer. I take no credit for this analogy. This was developed by Heather Meeker Who's a lawyer from the US working with software licensing and other legal issues related to software? so yeah basically developing software is kind of like organizing an Extremely awkward dinner party for your family.  No-carb diet.  I will only eat organic vegetables Nothing else. I feel very strongly about it meat is murder and then you have your nephew who? Yeah, he is a very picky eater. He will only eat spaghetti He will not eat anything else anything else is icky if it's not carby if it's not spaghetti He won't eat it. He'll throw food at you So yeah cooking a dinner party for all these people is a nightmare already.  No-carb diet He tells you he refuses to join in the dinner if you also serve cops to anybody else at the dinner table Your sister says if there's any meat or animal products at the dinner table She's not going to attend and your nephew is like yeah, I'm gonna throw food if there's anything other than spaghetti on the table So what do you do then? How are you gonna resolve this situation if none of these people are willing to compromise with each other if they all have? They're very strong principles about what they want to eat and what they don't want other people at the dinner table to eat then yeah, it's a shame unfortunately you have a situation where someone would have to be uninvited from the party and Yeah, as much as it pains you it might be your family, but you know if you remove one or more people From this dinner party. It will definitely make your ability to cook and to host the party for everybody much easier So this situation kind of serves as an analogy for Excuse me as an analogy for software licenses as well. So like people software licenses they each that their own set of rules and when these rules conflict then yeah, like peaceful coexistence at the dinner table coexistence of these licenses within the same project will become impossible and often, you know License incompatibility often happens because software licenses not only will tell you what you can do with the software In the case of reciprocal licenses, sometimes they also tell you what you cannot do with the software They will explicitly state what you cannot do and will deny you the authority Or the authorization to use the software or to use the code so in a situation where To licenses conflict with one another we we and and these conflicts are non-negotiable We would say they are incompatible licenses in other words, you know if it is impossible to Combine the code between these two licenses together while still Uh complying with all the obligations present in each of the code Yeah, it is it is therefore, you know when when you are reusing code into your project It's therefore important to keep in mind that You need to ensure that any third-party code that you incorporate into your license is compatible Into your project is compatible with the license that you've chosen for your project Um, yeah, so let's look at a few examples of compatible free software license Free software licenses, and I think a good starting point would be to look at Two very popular licenses we can look at the MIT and the GPL license So as Lucas may have mentioned in his previous talk, you know the MIT license is one of the most permissive Free software licenses out there basically under its terms you can pretty much do anything with the code one problem when you say you can do anything is that You know you can turn derivative works of your code into proprietary software so someone can Use your software and turn the derivative work into proprietary software when you say you can do anything with the software You also have to be prepared to accept that any derivative work of your software Something bad like being turned into proprietary software can be done with it, right? Yeah, that's an unfortunate side effect of Non-reciprocal licenses when you allow the people the freedom to do anything that means they have the freedom to do Things that you might not approve of So on the other flip side of the coin We have our copy left licenses and the most well-known being the GPL It requires that all derivative works Be licensed under the same terms in other words like as Lucas said GPL in GPL out. So What you have now is a copy left license and a reciprocal license Yeah, so if we took take a look at the terms of the MIT license and the GPL license We can see that there is a bit of a conflict. There's there was also a bit of a trend There is a certain way that Derivative works can and cannot flow between these two licenses. So because the MIT license is so permissive We will have no problems taking something that was licensed under the MIT license working with it updating it improving it and then releasing it as Releasing the derivative work under the GPL license, you know, because it's so permissive You can do whatever you want you can license it under the GPL So what's happening here is that the yeah the MIT license allows derivatives to be licensed under the GPL The GPL requires derivatives to be licensed under the GPL. There is no conflict Yeah, it's like if your brother has no dietary restrictions He says I'll eat whatever you put in front of me and your vegan sister says Please only vegetables No animal products. So in this case, yeah, there's no conflict, you know You just cook vegetables and everybody at the dinner table is happy Yeah, in a similar fashion, you know MIT license code can be reused or incorporated into a GPL project. Everybody's happy It's very important to note. However, that you know, the reverse Movement is not true You cannot move from GPL to the MIT license in the derivative work because the MIT license does not Support the requirements of the GPL. So if we turn again to our trusty dinner analogy Your brother has no dietary restrictions, you know, he he he says he'll eat anything and He invites your vegan sister who will only eat vegetables and non animal products So while your brother doesn't mind eating with your sister your sister Cannot attend the dinner because your brother says oh, I also want to cook with meat or I also want to cook with something So she cannot be invited into the project without their To the dinner party without There being some form of conflict. So while the MIT license doesn't technically mind The GPL the GPL work cannot move into an MIT license derivative work Yeah Let's take a look at another example, you know, we have the original four clause BSD license which is Considered to be incompatible with the GPL license. So this is because The BSD license has an advertising clause Requiring that all advertising materials mentioning features or use of the license software must display an acknowledgment The acknowledgement basically reads, you know, something like All advertising materials mentioning features or use of the software must display the following Acknowledgement this product includes software developed by the organization. So the GPL Does not allow additional restrictions to be placed Beyond those that the GPL already imposes the original BSD license is Considered to be incompatible with the GPL basically because this requirement to display The advertising clause is considered an additional restriction That's not included in the GPL and therefore not allowed under the GPL So we can say that the BSD license the original four clause BSD license is incompatible with the GPL So why is license compatibility an issue? Yeah, the problem with having an incompatible license in your work Is that you won't technically be allowed to distribute the software? I mean, it's fine if you combine all of this Into your own personal work and you never upload it. You never do anything with it. Yeah, do what you want But you will never be able to distribute the software Not legally at least because you are not able to comply with all the obligations Required of you under all these licenses to distribute the software so what you have on your hands is a piece of software with conflicting license Terms and terms that no user can technically under the law Abide by in their entirety So in this situation, you know what you can do to resolve the situation You might have to re-license your software and if it's not an option You might have to remove chunks of code that you reuse with the conflicting license terms and then Work to patch things up from scratch So and yeah, this is something that you really want to avoid For several reasons. I mean real license re-licensing a project is a really Teeth is processed for one, you know, you would have to contact all parties involved in Who have contributed to the project? And they all have to unanimously agree on an alternative licensing approach And this can be very difficult if you didn't have in place like a contribution Agreement where contributing parties agree to like for example hand over ownership of their contributions of the code for example and A more practical difficulty that you might face is that you just lose contact with someone You can't find a contributor or you can't get in contact with them And you can't get them just to consent to re-license the software So one way that you can sidestep this issue is to Ensure that you license your work in a way that's compatible with the GPL This can help avoid a lot of potential incompatibility issues the main reason For this is that you know a lot of free software developers these days prefer the GPL for Yeah it I Think a lot of people think that you know the GPL provides a better quit pro quo for developers establishes Collaboration between people and companies and there's a feeling that it protects your work better and that encourages and Overall increases the amount of free software that's out there. It safeguards the amount of software free software that's out there It's a very popular license So if you license your free software project in a way that's not compatible with the GPL there's a risk that you might fail to receive enough support from developers from other developers to sustain your project and even if you Don't like the GPL yourself many potential co-developers do and in practical terms. This is something valuable to consider in terms of attracting contributions and of course another big advantage is that there is a lot of GPL license code out there For you yourself to take advantage of Yeah, so that's the gist of license compatibility As with all the other topics out there it can get complicated very quickly. This is just a basic rundown And yeah But it's something that you know, you really need to keep in mind when you start reusing third-party code into your project


Charge it into the first turn, it's tight for a breast, Lingwin right around the outside, but Joel's there, what a first corner, he meant business there, there was no way Lingwin was going to come round him, and he stamped his authority on that first corner, but Lingwin's coming on strong, Fritz back in third with Kim Nielsen out of the back, Lingwin ran the inside, is he going to get the hands? What a turn, now Doyle back, fabulous speedway here. I'll tell you what, pretty Lingwin anticipated that move back from Jason Doyle, he knows Jason Doyle's a hard charger.