All right. Hello everybody. Yes, thank you very much. My name is Derek Parker. I am once again going to be talking about Delve. This is true. So, this time the predominant theme of this talk will be deterministic debugging with Delve. This is a talk that I'm particularly excited about as I think that this style of debugging is not only not very well known but as a result of that underutilized. I think a lot of people think of debugging in the traditional sense of you're debugging a live process. A lot of different things can happen. A lot of things can happen between debugging sessions and between runs of the process and things like that. So, how do we eliminate a lot of that? And especially if you have a bug that say only explained only exposes itself maybe one out of 100 runs, how do you sanely debug that? That's the kind of things that I'm going to be talking about during this talk. Just to introduce myself a little bit more, again, my name is Derek Parker. I am a software engineer at Red Hat. I work on go tooling upstream and I work on Delve as well and some of the go packages that we ship through REL. I am the original author of Delve and have been working on that for a long time among a few other things. OK, so I want to give kind of a rundown of what we're going to go through in this talk. So, as mentioned, I've started to steal the idea for the state of go and I've spoken here for a few years so I like to kind of give an update on the state of Delve. What's happened, what new features and what things have changed since last year? Because in a year a lot of things can change, a lot of new features can be completed and I think it gives kind of an idea of the pace of the project and the types of things that we're working on and focused on. Also allows a little bit of feedback from just users in general, everybody here about maybe what they would like to see in the future. After that I'll go into what deterministic debugging is and explain how it works. First of all, just explain the concept for those who may not be familiar with it and then I'll dig into a little bit of how it works under the hood. So actually how you can get rid of all of these deterministic or undeterministic things that happen in every process run and have a repeatable debugging session. So how that actually works from a relatively low level. Following that I'll talk about how Delve leverages this to be able to debug go programs. And then finally I'll do a live demo just kind of showing off the concept a little bit, showing it in action and giving a sense of just how easy it is to do this yourself in your day to day debugging and programming workflow so that hopefully this is something that you'll reach for or at least know to reach for if you come into a problem where this style of debugging might come in handy. Okay, so first of all let's just jump right into the state of Delve. Let's talk about what's happened in the last year. Some of the new features, some of the new changes and then we'll briefly talk about some things that we're going to work on going forward. So the project is now six years old, which is crazy to me. It's, you know, that grew up so fast, right? I'm very excited to have been working on it and that so many people have found it to be useful. It's very exciting. We've had 175 commits over the last year, not a ton but for a more esoteric project as a debugger. That's really, really good and we've had a ton of new contributors, which is great. We love first-time contributors and try to encourage that as much as possible and folks building in some really huge features, which I'll talk about next. So what's changed since last FOSDOM? Well, there's been a couple of go releases, right? So we've released some new versions of Delve that support that, so specifically 113 and 114, which will be released. Another big, big, big change that's happened over the last year is ARM64 support. So before this, we only really supported x8664. We've just gotten a great patch in recently to add kind of initial ARM64 support. There's still some more work to be done there, but that's still a huge addition to the project. We obviously aim to support every architecture and operating system that go supports natively, but, you know, it just takes some time, so contributions are always welcome. Another big thing is free BSD support. Again, we want to include as many operating systems and everything as we possibly can. So that was another big, big addition. We already support, you know, various Linuxes, Windows, and OSX, so this just adds one more operating system to the repertoire. We've added the ability to script Delve via a language called Starlark, which was originally created for the build system Basil. It's a Python-esque dialect, and that adds a lot of powerful scripting features into Delve, so you can define new commands within Delve and other things just by writing this Starlark language, and those commands will be available to you in your debug session. We've also added support for debugging Go plugins, so for anybody using that feature, that's now supported. Windows mini-dump support, which is basically Windows core dumps, and improved support for debugging Pi's position-independent executables. Some other notable just changes. Some internal refactoring, just ongoing code maintenance cleanup, I think that's an important thing. Several performance improvements, especially in breakpoint handling and a lot of other things. Improved handling of optimized binaries. I think this is an important one, and this took a lot of coordination with the Go team. If you have a binary that's actually running in production or something like that, or you build it just normally with Go build, it's going to be optimized, so we want to be able to debug those, ideally as well as you can debug binaries that you've built with optimizations explicitly turned off.  Now let's go on to part two, the real kind of me and subject of this talk. First off, I'm up here speaking about it, but I would like to thank my co-maintenor who happens to be here for doing all of the hard work of actually plumbing up Delve the record replay backend that we used to achieve this. He did a lot of the hard work. I just reviewed it, and now I'm up here bragging about it, so I just wanted to give credit where credit students say thank you. Okay, now let's talk a little bit about what is deterministic debugging, and let's also talk about what's that weird little character down at the bottom of the screen. So my son is four and a half years old, watches a lot of cartoons. This is a new Toy Story cartoon with a lot of his sentences asking what is something. So I thought it would be funny to include him in the slide saying what is deterministic debugging. It's more for me than it is for you. Anyway, so just to kind of gauge the room a little bit, how many people have heard of deterministic debugging? Very few. That is perfect. That is actually exactly what I wanted to see, and it kind of proves my point that I think this is a relatively unknown and underutilized way to debug your programs. So I want to talk a little bit about what it is just to give some context, and then as I mentioned, I'll go into a pretty deep dive of how it works and the different kinds of things that is done to actually achieve this. So one more quick question. How many people have seen the movie Groundhog Day? A good amount of people. Okay, so for those who haven't seen it, it's a movie where Bill Murray goes to this town, Positani, Pennsylvania, where every year, actually today on February 2nd, it turns out, Groundhog comes out of the ground and if it sees its shadow or doesn't, it has some sort of mystical bearing on how long the winter is going to last. But the connection here is that every day in this movie that he wakes up, it's Groundhog Day over and over and over again. He's repeating the same day over and over and over again every single day, every time he wakes up for a really long time. And no matter what he does, no matter what he changes in his environment, when he starts the day over again the next day, he goes through the same exact series of events, the same exact people talk to him and say the same exact things over and over and over again, and this happens forever. Well, at least for a really long time. And the connection here is that that's essentially what deterministic debugging is. That's what it's trying to achieve. So the point of it is that every single time you start this session debugging what we're going to get to know as a recording, everything is exactly the same. And this includes memory layout, signal delivery, you know, a lot of the different variables that may change and may slightly change how a bug is reproduced are always exactly the same. So as I mentioned before, if your bug only shows up maybe once in 100 runs, if you capture it just that one time, you can replay it indefinitely to try to figure out where the bug is. So how is this possible? As we know, every time you run a program, there's a lot of things that are different. Memory layout, threads, where variables are stored in memory, what happens as a result of certain sys calls when signals are delivered, etc. There's a lot of things that are different. How can we eliminate all of this non-determinism and faithfully reproduce the execution of a process and as a result faithfully reproduce the events leading up to the bug that you're trying to fix? So the solution turns out to be record and replay. And what this actually means is we essentially record the execution of a process, record all the different types of the result of any kind of non-deterministic operation and are able to replay that back. So anytime one of those operations is hit again, instead of actually going through and doing the operation or making the actual sys call or anything like that, the pre-recorded output is just replayed back to the program. Now, this turns out to be pretty difficult but also very, very powerful. Now, there's a lot of different types to do this. Some are kind of better than others. I'll go through a little bit of existing implementations. So there's VM recording, which isn't actually very widely supported. VMWare actually even dropped it from their virtual machine offering. There's a couple things, but they're really clunky, really heavyweight and really typically you only want to record a process, not the entire execution of the kernel and operating system and everything else. So it tends to be bloated and not very useful. There's also some user space recording, UndoDB, replay engine and Mozilla RR. We'll talk about RR a lot more in the end of this talk. There's pros and cons to each, so some of them do code instrumentation, which I personally am not a huge fan of. I think leaving the code as unchanged as possible is kind of in the spirit of debugging. You're not trying to change a person's code, you're just trying to show them what happened so that they can find the issue. So let's go through some of the pros and cons real quick of some of the existing implementations. As I mentioned with VM recording, you have to debug within a virtual machine that supports it. That adds a lot of bloat and not a lot of virtual machines actually support this. So it's really not portable and doesn't tend to work very well with your workflow, especially if you're not using a virtual machine or you're on bare metal or just kind of writing code on your laptop, you're probably not running it within a virtual machine. It produces large traces, a lot of bloat. It's not widely supported, as I mentioned, and so let's move on to user space recording. It doesn't, some problems with that, it doesn't record kernel execution. I'll explain later why this actually turns out to not be that big of a deal. As I mentioned, some require code instrumentation. The backend that we use does not. So we get rid of that. And some require kernel extensions, which again destroys portability. So there's a lot of cons. Sounds terrible. Why am I even talking about it? What's the solution? So what we use is Mozilla RR, and I'll talk about how it works a little bit. But it solves a lot of those problems by not doing any kind of code instrumentation. It's pretty lightweight and relatively performant.  But it's still, I think, the best solution that we have available right now. And it's a start, right? I think, as kind of shown by the polling in the room, not a lot of people know about or are using this technology. So I think as awareness grows, more people can work on it, improve it, and we'll get better solutions in the future. But right now, RR is the preferred solution. So eliminating sources of non-determinism. How can we do that? And what are some of the sources of non-determinism? So here's a couple that we can control, right? Certain CPU instructions. So most CPU instructions are deterministic.  They do an operation. They put the results of that operation in memory or register or whatever. And it's going to be the same every single time you call it. But there are some that aren't. So like RD-RAND instructions to generate random numbers. Hopefully that's not deterministic. So the way to get around this, the way that RR does it is it actually, it turns out it's not used very much. That actual instruction, most people prefer DevRandom. So it can just be patched out of anything that uses it. There's also like timestamp counter instructions. Those can actually be trapped and recorded. And CPU ID. That's mostly deterministic if you're running in the same hardware. But it does return which core the process is running on. That can be different each time. So that's also trapped and recorded on newer kernels and Intel CPUs. Thread scheduling. So this is important, especially for Go. So what RR does, and one of the kind of performance hits that it takes, is it runs everything single threaded. So it handles thread scheduling. It does do preemption and things like that for via signals and everything. But it runs your program single threaded. So for large Go programs and programs that are really, really highly parallel, this could incur some slowdown. But unfortunately, that's a penalty and a price that we have to pay for right now. So system calls. The result of a system call could potentially be different. We can trap whenever a system call is executed and record inputs and outputs. So we can just replay that back after, when we're replaying the recording. Memory layout. Again, we want to ensure that variables are at the same address as memory because potentially that leads to a certain bug or exhibits certain symptoms. So we want to, again, we want to recreate the process as faithfully as we can as it was executing exactly when it was first run. Shared memory. This is a big one actually for non-determinism. But for RR, again, it runs single threaded. So you don't have to worry about different threads or whatever within your process messing with shared memory. There are some things where the X server and Pulse audio and things like that communicate back and forth using shared memory, but there's ways of disabling that. Signal handling. So RR is also able to handle this. We can replay signal execution and delivery by using hardware performance counters. So basically we can count and know where we are in the program and what's happening when we're at that specific spot. So when a signal is delivered at a certain point in the execution of the process, we can record when that happens and replay it. So some sources that we can't control just really quick. We don't control anything that actually happens outside of user space, but as I mentioned, it turns out we don't really need to because we just record the result of that anyways. So hardware failures. I mean, if that's happening, you're not going to have a lot of luck anyways. So I'm kind of getting a little bit low on time, so I'll kind of go through some of this pretty quickly to show a bit of a demo. So some pros and cons. Pros relatively low overhead except for single threaded. You can faithfully reproduce bugs every single time. You can record a trace and replay it anywhere. So you can record a trace on your server and replay it locally for easier debugging. You can execute programs in reverse, so you can go to where a bug exhibits itself and kind of work backwards instead of trying to work forward towards the bug and replaying that every time, which I think turns out to be pretty powerful. You can replay from the beginning, execute the same sequence of events. It's always recorded, always the same. Cons, there's a performance hit for highly parallel programs. It only works on Linux and only works with performance counters enabled. So let's talk about how to use it with Delve. First, use Linux. Right now, it's only supported on Linux. Unfortunately, OSX is not supported. Install RR, Mozilla RR. That's not installed for you automatically when you installed Delve. And there's three options for using the RR back end with Delve, which I'll talk about quickly now in a little bit of time still for a demo. So option one is a little bit more manual. So the first thing that you're going to want to do is build your program. Again, ideally, you're building it with optimizations disabled. That's what those flags are. You use RR and pass it the path to your binary. It's going to record it and save a trace somewhere. And then you can use Delve to replay that trace once it's completed. Option two is a lot easier. There's one command that just kind of does this whole process for you. So you can use the Delve debug sub command, pass it the back end RR, and then it'll compile the program, run the trace, record it, everything, and then open it up so that you can start debugging. And then last, you can use the scripting feature that I mentioned earlier. So this is actually included in the documentation of the HUB, so you don't have to memorize this command. But essentially what it does is it introduces a command called flaky where it'll re-run the process over and over and over and over again until it hits a bug, so it exits with a bad error code. And then once it does that, it'll stop running the process over and over again, and you'll be debugging that trace. So if you don't want to do this manually, make the computer do it, right? And once it's done and once it stops, you'll be recording the bug. So let me do a quick little demo just to show how some of this stuff works. I'll get really quick. So as mentioned, you can just debug with back end RR. It's recorded. You can see the output of the run of the program, and now we're actually debugging the trace. So if we set a breakpoint at main, continue, we can see some of the things that it's doing, right? So it's saying it's asking what date it is, printing that out, and it's also opening dev random, which should be different every time, right? So if we next a little bit, we can see, we read from dev random, and if we print the result of that, so like the bytes that we have, you can see kind of roughly just the output that we get, right? So just remember the first two, 180, 183. So let's set a breakpoint here on RR.test.go24. So we'll restart. We're restarting all the way from the beginning again. Continue, continue again to our second breakpoint, and if we print the value of that variable again, we see it's exactly the same. So even complete sources of randomness will be replayed faithfully every single time, and just to show that it's not a trick, you can see when I run it for real, every single time the output is actually different. So we are recording and replaying faithfully, and that's time. Thank you very much.


Let's do the demo for Squishaw. I'd like to do that. Sure. Let me share my screen. Oh, hi, Squishaw. I hadn't seen you on my phone. Hey, Pedro. Yeah, so as you can see, it appears exact same. So we have the header, the description, related issues, and discussion area. Only the sidebar is not present here. So for sidebar, what we planned to do was to create it as a shared component and reuse it from there. So that it is available in case we want to refactor sidebar implementations for both issues and MRs. So that is why sidebar is missing here, because it will not be part of the same code of the app as the app itself. And the changes for this app are currently under this branch, which is <IP_ADDRESS> epic app refactor. I'll open MR for this, because the shell part is pretty much done for this one. I'll create a shell for the sidebar on this one. And in case anyone wants to test it once this code is in the master, then it is currently behind a cookie flag. So there's a flag called load new epic app. So I'll leave the details within the MR once I open it. So if you do these changes, like setting this flag to true, then it will load up the newer app. So if I just reset it, like setting it to false, and then reload the page, then it would load up the older app with the sidebar. So as you can see, nothing changed as far as the center content is concerned. Only the sidebar showed up, because it is now coming in from the older app. And I can already see how simpler it would be to test this newer app, because while we have reused all the smaller portions, so the description field, the related issues are all the reusable apps, which are part of the core code base itself. But the header area, the sidebar, once it is implemented, will entirely be created from scratch, except for the smaller portions within those components. And it would be much easier for us to test it. And yeah, it is only going to make my life easier to test and debug it. So yeah. So that is all for the demo. Obviously visually, there isn't much difference from the older ones. So once it is ready, I'll still anyway have it assigned to Pedro to look for anything that I might have missed out in the newer implementation. So that's it. That's great. Kushal, you said this is in French or in master? I thought I heard that. No, it is currently in the branch. What I'll do is that I'll open the MR. So I was wrapping up the portion that we planned for this release. I'll open the MR. So I had this discussion with Andre as well. So right now, not all the new features that we want to test, only in small portions of users are behind cookie packs. We have a proper backend process to do that, like if you want to roll out a certain feature to certain percent of users into the GitLab.com, then there is a way to do that. But for my convenience, because since I wanted both the older and newer app available to me at all the times to compare both of them side by side, I used a cookie flag mechanism to toggle between both the apps. But there is another way to do that as well. I had this discussion last week with Andre in my one on one. So I'll explore what are the options that we have. Because in case once we have this app ready and be part of master, what we may want to do is to roll it out for a certain number of users. Again, it is not a visual difference. I don't see why we would want to do that. That would help us only if we are performing some kind of UX research where we want to see how users would respond to a newer implementation, a newer design of a certain area. It is just a refactor of an existing design. So this is still something that is an open discussion for me. But yeah, in any case, what I'll do is I'll make sure that the code changes are still in the master. And that is where that flag thing comes into the picture. Because if it is behind a cookie flag, then maintainer might not be confident about it, like whether we want to merge it or not. Because if someone enables the cookie flag, then they would end up seeing an incomplete app into the production. Which is why we would hold off in case we want to merge it to the master. Give it a context. That's great. Yeah, if anybody complains about that, Kushal, feel free to take me. And I can also take part in the conversation. I'm not going to override anybody's decision. But I would want to understand why. And because I think this is a great mechanism, this is great work that you've done. It's super flexible. And if this is a production, like you said, that anybody can test it. To me, it's totally safe, because you can't expect somebody to hack your console. That's not fair game. Because then there's a bazillion things you can do already in the console. And you're not exposing any security thing either. It's just functionality. So even though people who use GitLab totally know how to use the console, but it's still not something that I think is a valid argument to protect against. And then your other comment regarding feature flag versus cookie flag, it's called a feature flag, for example. It's a feature. So we're not flagging or toggling a feature. And I think you're totally right. The purpose of that, to my understanding again, is more so if not totally just for testing new features and not testing stability. And then obviously, it can be to be tested for stability. But I don't know if that's the intention. Or what might be features, you also have stability from a bug regression perspective and from if anything broke. So it's like stability as well. I think the correct term would be from a regression. Peerly, no change in technical update perspective. I don't see any inherent benefit to roll this out in changes because if we're doing our QA properly, then we should need it. So we should be confident in that and not mix concerns. Because if we do this, then we will start relying on this. And then the QA person, Ramya, will trust this. Not consciously, but sort of like the process will break down because then she will never have feedback that something broke. So we have to force her to shift. I mean, it's not only her job, of course. At the level, everybody's job is QA. But you know what I mean, right? We want to make sure our QA process is still good. That we're still doing QA. We're still doing future assurance. Well, in this case, we're just doing QA. Because there's no future assurance. It's the same feature, right? So I would say that QA should be the responsible, not person, but process to make sure that a refactor is working and not a feature flag. But the cookie thing is great to do it in steps, right? So that's how I see it. It's great to do it in steps. You know, thanks for sharing that. So that's my opinion. You didn't ask for it if you're going to have an MR. And then that's probably what I would say if somebody needs to do that. So the other topic, unless somebody added anything else on the agenda, looks like nobody, is the promote issue to Epic. So what should we talk about first? Let's talk about the easier thing or less controversial thing, which is migrating the notes over or the system notes. And then I think, Yarka, you put a comment saying that you pretty much want to migrate everything all in this issue. Is that still the current plan? Is everything feasible? Yeah, copying everything is not a problem. The bigger problem is handling the text, meaning we have to move uploads that are in description or in notes. And we also need to change extractive references because all references are in the issue. Either in description or in notes have to be repressed, basically. Extract it again. And we don't have it ready for groups because when we move issue from one project to another, it's still project for which we have Banzai ready for, but not for groups. So that's the thing that I found, basically, yesterday evening. Right, right. Without that, it would be quite simple, but with this, some additional change, those changes might not be difficult, but it will be very difficult to find what exactly I need to change. Right, right. So known unknowns, I think. Yeah, exactly. Okay, so not too bad. So we're past unknown unknowns, right? So we were unknown unknowns until it sounds like last night you did somewhere, so now we're known unknowns. So, sorry, I missed what you said. Did you say images or references or both? Both, both uploads and references. Okay. Because we do have uploads in projects and we have to move the upload from that project to group. Right, so you mean like that. And we have to upload it for a group. So it might, I'm not saying very difficult, but additional changes require. I mean, it seems like a pretty sizable. Yeah, I'm thinking what we can do there. So you mean there's, let's focus on upload first. So when you say upload, it means images, any binary file you can upload in MP3, I think. Yeah, exactly. Yeah. It doesn't matter from implementation perspective if it's image or not. And then you're saying both in the description and you can upload binary stuff in the image and in the comments and then when we. Yeah, but that should be the same method, so. Oh, it should be the same. Okay. Okay. But the uploads are scoped to the project. Yeah. So they, like if I'm not to, for example, if it's a private project and there is an upload in that private project and I'm an anonymous user, I cannot see that's uploads. Is that it? I don't think it's a permissions. That's it. Yeah. So is everybody choppy or is it just me or am I? No, I lost. Yeah. Yeah, yeah, Pedro, I don't think we're talking about permissions in this particular case. We're seeing that when we promote an issue, it's an epic, I mean the next topic is permissions. But for this particular case, we're seeing like when you promote an issue to an epic, the issue lives at the project level, the epic lives at the group level. And I think what Yarka is saying, when we upload stuff, binary stuff, content to an issue, it's in the background, in the background, it's at the project level. So now we're copying over stuff to the epic and so naturally the stuff has to be moved to the group level. Yeah, exactly. We already do that when we move, if you issue to another project, we just move files of copy files from one project to another. But now we also need to do it from project to group. Right, right. And then there's no Yarka, sorry, I cut out there for 10 seconds. So there's no, there's like, we don't want to do anything where we reference it. So bad word because that's where you talk about next. But like, if the object is already in the project, we can't refer to that object directly. No, we should copy it. We do it for when you move issue from one project to another, we also copy files that issue to another project. So I will basically change this functionality to also for groups. Can you talk briefly why that's the preferred strategy? Yeah, that was, that's my question as well. Because how the references and the uploads work now that we also basically reference from when you have issue in a project and you have uploader, it's always reference to that project. Okay, but like, I'm not, you know, we're not going to change your decision, this is more curious, more curious. So my understanding is that all these images, for example, are scoped to a project namespace and then they're not exposed to the user, like the URL or anything, or like that's not a requirement, right? It doesn't matter what the URL is, they can copy it, whatever, but it's in the background stored somewhere, it's one object, and then now we want to display or render that same image in a different location. So why is it technically a better thing to make a copy of it and not just point to it? It seems like it's a saving space, it's already there anyways in the storage, why does it matter that it has to have its own copy? Is that just- Well, I think it makes sense to have a correct project, otherwise it could get messy. I didn't make the decision, I don't know what was behind that. Maybe when the project is deleted, the file is also deleted? No, it's not because we keep the old issue. Even if you keep the old issue, right?  Yeah, yeah, yeah. It was curiosity as well, yeah. Yeah, I think because we have to have some other ways, it would get messy. Okay, yeah, no, I'm not convinced it's messy, but I'm also not an engineer. So that's what I don't know, that's not- That's when it was made a couple of years ago, I was not there, so. No, and so we can challenge that right now, right? Like we can, and if it's relevant, and like if we can make a decision, then it makes your life easier, let's do it. But let's go with your suggestion, I'll just start a conversation and Slack up, pull in Sean and other people who ever wants to chime in, can chime in, and then, but let's not block you. Yarka, let's proceed with your current design, and then we'll go from there. And then the other thing I wanted to ask is, when you say reference, what do you mean by reference, like issue references? Yeah, exactly, issue reference, well-requested reference and things like that. Okay, and then that has to be all parsed in epic group lands because it could be different. And so there's like you have to run the code again or whatever to do that. Yeah, we have to basically extract that there. Okay, okay, so that's the complexity there on the back end. Great. Okay, so it sounds like everything is still under control, but you found some additional things, so that's great. And then if there's no other topic on the back end, on the front end, we have the, so this is related to permissions, but I don't want to add any logic to check permissions. So if you look at the thread, we had a lot of discussions about that, but what I wanna do is if you have an issue and you, if you can access the issue, then you should be able to promote the issue to an epic. And Yarka, is this correct? I always get this backwards. If you have access to a project, do you have access to the group automatically? You too, right? So you can have a private group, but not a public project, right? Because it can't go backwards. It has to go in one direction, I believe. That is actually- Yeah, you can have public group, inside the group, you can have private project. Right, right, but you- Exactly, exactly, so not the opposite. So that means, my point is being is that if you can see an issue, so there is one edge case I didn't think about, which is confidential issues, then you shouldn't be able to see, okay, so there's more weird edge cases. We'll document them one by one, or we can leave them, but in the general case, I think like 95% of the case, if you can see an issue, then you can see any epic in the parent group, permissions-wise. Yeah, I think so, yeah. Right, and so if that's the case, I want to allow you to always be allowed to promote the issue to an epic, but you just have to be careful. It's your responsibility to be careful, and then we wanna show additional UI to help the user be careful. And then so what I'm proposing here is that, especially for the first iteration, we don't check whether it's private or public. We just always tell them, anytime you promote, be careful, right? And then so there's no logic to check the permissions because everything is inherent. And if that's the case, I think I'm leaning toward design-wise is what Annabelle has, and Annabelle responded, but if you look at Annabelle's design from adding the banner from one day ago, I like that design. And so the latest discussion is just when to add that banner or how, and then let's see what Annabelle said. I don't know the idea of highlighting a whole row in a quick action yellow all the time, either, let me think about it, okay. Right, so Koushaw, my answer to your comment about being it like a lot of work, which I think it would be, I think what the original design is, the banner appears whenever the words promote appear, or with the slash command obviously. Yeah, so a quick update. So when I left my comment regarding, I just wanted to evaluate whether it could be efficient enough to monitor the comment changes and then show or hide the banner. So I debugged it and apparently it is easier to do that by basically monitoring what are the slash commands which are present within the comment body and then show the banner accordingly. Now Annabelle has left a comment regarding how we want to show the banner. So right now, if user clicks on the preview tab, we already show what are the commands present within the comment body and what those commands do. So that is more of a UX decision, whether we want to show that banner as a part of preview tab or if we want to show that danger banner like Annabelle mentioned because slash promote is much more destructive action possibly like it would end up doing a lot of modifications behind the scenes. So whether we want to stay consistent regarding how we want to show those warnings, whether in the preview tab or whether we want to show it as a banner. But if we do want to show it as a banner in real time like when the user is updating the comment field then it is again easier to do as well. Right, right. I would say we should do both to be consistent. Well, the preview tab we should probably do and do we get that for free? I don't even know. Is that inheriting the, no, I don't think we get that for free because like the milestone one looks different. Anyways, to me that's like almost independent because that's nice to have in the preview but it doesn't solve the UX problem of like we want to warn the user, right? So I would push Annabelle and Kushal yourself to figure out whatever is easiest to solve that particular problem. And then the preview tab thing, I mean, to me that's just a poor design currently and like we should have an issue to address it anyways, right? Like if you don't click the preview tab you don't even see that message. And so that's how you do it. 80% of the time I don't click the preview tab as well unless I have like pasted a giant comment with a lot of options to make sure like everything looks fine or not. Exactly, there's like three issues with the at all and at people, like at all and then there's like a warning somewhere and then I forget where that appears but it's related to your preview tab. Sorry, go ahead Pedro. Yeah, I was going to say it related to what you were just saying with the all and here and everyone that was that issue where I suggested maybe we used a two step process where people had to confirm that they want to do a certain action. And I think in this case, if there is a possibility of unintentionally disclosing private information, confidential information, I think we should have like, it doesn't need to be on this issue. This is like something for the future because a lot of people use epics, maybe it's just us and a few customers and maybe there's not a huge risk of right now disclosing confidential information but maybe in the future, we can have another iteration where we show a confirmation dialogue like are you sure you want to promote because like this issue is confidential and the group is public.  But that's another thing. I have to check the design that you're talking about but even if it's just a small note or even highlighting, sorry, sorry, it was an ambulance. What I was saying is that even if it's just highlighting the texts, the promote epic and showing that it might lead to that, I think it's enough as a first iteration. Okay, that sounds good Pedro. And I like your suggestion because it would apply not just to this, we can use it for like the all thing. And then- And we can use it for even the button action, right? So this would be for big action, but if there is the regular button click action somewhere in the UI, we can also reuse that in the future. And the same for assigning a lot of people, right? If you, for some reason your mouse goes crazy and you click like 10 people or 12 people at the same time in the drop down of the assignees, we should have a safe mechanism to make sure that you're not doing an error or doing something wrong. Yeah, I think a good rule would be like anything that's not immediately undoable. So promoting isn't like- Exactly. You can undo it, but it'll take like 10 steps. You have to delete the, well, it's actually not that bad for promote. You have to delete the epic. Well, I guess- I think it's three or four kinds of risks. So one of them is over communication like spamming. Another one is financial risk, which is like being built for something that you weren't sure you're going to be built. The other is private information, like something in your personal profile and you didn't know that like this information could be public. And there was another one that I'm not forgetting. But something like that, yeah. Yeah, I need to have a step back. Yeah, like, because I'm thinking like related issue of quick action, which a community member is working on, right? That is like you wouldn't add more friction there because you could immediately just undo that action really quickly. So- Exactly, exactly. But promoting epic, you could delete that. You could close the epic, but you can't even delete it. And then if you have permissions to promote the issue, you don't have necessary permissions to delete the epic. And then exactly like you said, you have to go into the epic, you have to delete all the content that you don't want to be shown. And then once we have description history parsing or tracking, then you can't delete that either. So that's coming. So all these things that you write incorrectly in the description are that it's embarrassing because you made a typo. Those will be logged forever, sometime in 2019. So that's a good point. So, okay. So why don't, yeah, why don't we let Annabelle continue with this? It looks like at least Yarka is chugging along there's still more work anyways. So hopefully this won't be delayed. We're at the 16th now. So it seems that we have, we're not even halfway yet, but we'll keep monitoring this. I think this is a great issue. Anything big else, Yarka? I know Kushal is pretty much in the clear form. I just wanted to add that we were talking about promoting issue to Epic that went permission problem, which is not having a problem, but we do have the same when moving issue from for instance, private project to public. So maybe we should keep that in mind. Yeah, yeah, we should log in there. Sure. I'll create an issue. Well, yeah, I'll wait till the design settles. No, no. Yeah, yeah, sure, but just not to forget that. Yeah, no, no, I should never do that. That's an anti-pattern I feel that don't wait just to commit an update.  So that I can forgive myself. Well, no, I shouldn't forgive myself. Okay, so you're just gonna watch me create an issue. So anything else we need to talk about? I'm gonna create the issue now. Anything else Yarka on? Is Yarka frozen? Nothing from my side. Okay, so let me let me check quickly for following management stuff. Is this the big one? Like this is the big new feature for 11.5, right? Like we have a bunch of smaller things. Yeah, I think so. But they're not new.  Yeah, I'm looking at the 11.5. They're not new features. They're all improvements to existing things. Notifications is a big one I guess for closing ethics. Okay, great. Okay, I'll create that issue right now so I won't delay. All right, thank you Yarka. Thank you for your all. Thank you Pedro. Talk to you folks next week. Bye.


From the heart of Silicon Valley, it's theCUBE. Covering CloudNow's seventh annual Top Women Entrepreneurs in Cloud Innovation Awards. Hi, Lisa Martin with theCUBE on the ground at Facebook headquarters. We're here with the CloudNow Top Women Entrepreneurs in Cloud Innovation Awards. They're seventh annual. We're here with one of the award winners, Catherine Costa Riva, the founder and CEO of BPM Online. Catherine, it's great to have you here. It's honored to be here. Thank you very much. Congratulations on the CloudNow Award. But also, you are no stranger to awards. Even in 2018, you were named one of the top 50 SAS CEOs for 2018, not just female CEOs, CEOs. That's a pretty big honor as well. Thank you. So BPM Online, I want folks to understand not just your career path, but also that you're pretty persistent and bold. BPM Online is a very successful and well-known business in Europe. Founded in 2002 with five people. 16 years ago. 16 years ago. Bootstrapped. Bootstrapped by yourself. And here you are recently moved to the US and you're basically kind of startup in the US. Exactly. Tell us a little bit about that story. What you grew as a female leader in Europe and the impetus to say we can do more and bring the business to the United States. Absolutely. I would love to tell you the story. So 16 years ago, we built this company, bootstrapped it. No investors, no friends and family money, just from zero from scratch.  We started to hear, hey guys, why we don't know you in the United States? Why our headquarters doesn't know your name? And then we started to talk to Gartner and Forester and they said exactly the same. Your technology is so amazing. And right now we are included in five Gartner magic quadrants and five Forester waves. And technology is amazing, but why you're not here in the United States? So eventually I moved to the United States with some of my peers and we started to build our office in Boston. It happened three years ago. So right now we feel ourselves like a startup here in Boston while back like several years ago in Europe, and right now actually in Europe, this is a strong, mature company with 500 people in the company, working in the company in six offices. And business process automation, CRM. Yes. Well known in Europe. Tell us about why did you select Boston and not come out here to Silicon Valley when you decided to move out here? That's a great question. And I have a very easy answer to this question. As we have so many customers, partners and actually team members in Europe, we just wanted to find something with the shortest time zone, like time difference, right? So the difference between Europe and Boston is five to seven hours, while here it's additional plus three hours. So my day usually starts with Europe. So when I start working around 7 a.m. in the morning, I work with Europe, then I work with the United States, and then in the evening I start working with APEC, with Asia, with Australia, because we have our office in Australia as well. So we have our customers and people working in Australia. So this is my evening hours. Oh my goodness. So here you are being recognized tonight as a female entrepreneur. Tell us about your inspiration and what has kept you persistent being a female in technology is challenging. And we all know that and for many reasons, hopefully one day it won't matter gender, but it does. What are some of your recommendations for not only founding a company and really kind of harnessing that persistence, but also growing a culture that supports diversity that understands and embraces change? This is a great question. Honestly, for me, those are my customers and that's what I would recommend all women and female and male entrepreneurs to talk more to their customers, because when you and your customers have the same vision about how to develop the company, how to develop the product, it inspires you. You just, you move on, you want to develop, you want to develop more. And just to give you an example, both our customers and our team, we believe that organization just can't have excellent customer relations without very holistic business processes beneath. So we believe that organization, if we're talking about mid-sized and large organization, they need to have holistic processes first. And then based on this process, they're going to have great customer relations. So this is kind of our vision and our mission and that's what our customers share with us. And that what inspires me to move on and on and develop new products for our customers. Well, Catherine, congratulations on the Cloud Now Award win. Thanks so much for joining us on the program and we hope you have a great night. Thank you so much for your time. I'm honored to be here. Our pleasure. Thank you. We want to thank you for watching. I'm Lisa Martin for theCUBE at Facebook headquarters. We'll see you next time.


Guy Fieri is back in the house. Guy Fieri is back in the house. Guy Fieri is back in the house. Actually could we do that again but with flames please? We edited in some flames here. What's up? It's Guy Fieri and I'm back for more. Okay. What is up beautiful? How you doing? You look amazing and I'm so happy you're here today. Thank you for joining me. Today we're watching some people do at home highlights in a few different methods. You'll see. You know what these videos are about. Give this video a like even though it hasn't even started yet. Just do it. It'd be so good for me. You know what highlights are. You know what at home color looks like. Let's get it started. Let's watch some people ruin their hair with highlights at home. Let's do it. And our first video is by a woman named Van. Well her channel's name is Van Luke 7. And the video is called Grey Highlight Tutorial Gone Wrong. Hair fail or success? Well, I will be the judge of that today. All the time. But they make scratchers like back scratchers. So if you need to like the scratcher girl, let me send you one. Let's stop using forks. The amount of AD in this video is actually alarming but also relatable. I love it. Okay. The thing off the bat I'm going to say is that her dark hair definitely makes her look a lot, a lot younger. She literally could pass for 28. She might be 28. I don't know. But I think with the gray hair, I think it's going to age her a lot. Even though I have no problem with gray hair, believe me, I have turned a lot of people from somebody who likes to cover up their gray hair to somebody who rocks their gray hair. Like I'm like the biggest gray hair advocate except when like you're just not quite there in age yet. Like and it looks better dark or like fully colored. And then I think she looks good with this color hair. I think it looks very natural. And we're going to see what she does though. We're going to see. The hard thing when it comes to transitioning to gray. Yeah. You really have to keep up with it. Or it like really does. So tonal lightener basically just has more blue pigments in the lightener. So while it's lifting your hair, it'll cancel out at the same time some of those orange tones that may come through if you're lightening very dark hair. You know, most lighteners these days are tonal. Love that. It's all national. Got it. I realized that. Yes. Thank you for saying that. Yes. Family members supporting family members. We love that so much. What is that? Got to be metallic. But I guess it's just more fun ruining your hair and then having data fix. I don't know. I mean, apparently that's the consensus of like what I've gotten over the years from these videos. Like people just like to ruin their hair. It's like fun for them. I still don't understand. But what am I going to do about it? You know. Okay. Well actually kind of good. This is kind of nice. She got it really close to that root. I'm really impressed. I don't know what this placement is. I don't know if she has any rhyme or reason to why she's doing it like this. But like I don't know if you're actual life. You know. Okay. Live in some horizontal foils. She's doing very fine sections. We like that.  I always comfortable about the other. So relatable. Did I hear that correctly? Why are we what? So she's only foiling where she has white hair. I don't know if she exactly realizes that what foiling does it gives you highlights. So we just don't want any highlights in the front of our head. Just in the back. Usually it's the opposite. But I guess we can work with that. So she wants to set when her hair grows out and she gets that line of demarcation from where her grays are to her black hair. She wants that to blend more. So she's only foiling the parts where it has the gray hair. Okay. I think I'm kind of understood. I guess she doesn't really want it all even.  To each their own. Thank you for feeding that. I needed to remember. Look at this placement. I f***ing love it. My favorite part. My favorite part is that she's calling herself out before I even have to. Thank you for that. Bro, what had happened in the back of your head? Honestly, the front highlights aren't bad.  What had happened there? So now she's using that silver box die. And hopefully this is going to maybe tone her hair a little bit so it looks more like... I don't know, presentable? But I don't think it's possible. So maybe not. Loses two strands. Clickbait. Me, when I'm watching videos. If this is not an accurate depiction of my reaction videos. Everything's good, girl. Everything's fine. I think we missed the mark on this one. Oh, natural wear.  I don't know. Maybe I have bad eyesight. I don't know you guys, but... Share the video. Girl, there you go. I just shared it for you. I hope you enjoyed me watching your video. And there you go. That is what you wanted. It shares the world now. Oh, Van Luke, thank you for that. Thoroughly enjoyed your personality. And I don't know, maybe go to a Hairstyles next time since you said you can afford it. So in our next video is by Patrick Jordan English. How to color and highlight hair. Do it yourself. By Patrick Jordan. Sounds like a bad idea. All right. Cool. That's great. Awesome. With this technique, you can either go for a bottle of Yashio... Mmm, sorry. I'm already going to come for you. I'm already coming for you. But you got a little spotting going on there, girl. It's a little spotty on the top there. I'm not going to lie.  I'm going to tell you. Okay. So what's the technique? What are you doing? What are you doing? What are you doing? What are you doing? What are you doing? Okay. What? I've seen it all, man. I've seen it all. First of all, you got to know how to braid very well in order to do this. Second of all, I mean, I get the idea that they're trying to just do it, randomize the pieces that are chosen. I just don't really know what the braid would be doing. Again, I've seen it all at this point, I guess. It's so natural like that. It's so natural. It's going to be really natural. And we're backcombing in a braid so that way it never comes out. How long should you leave the front on? I'm going to be kind of shook if this comes out good. Listen, this has potential to actually be maybe decent, but what I'm already noticing is that we're not coloring anything up here. So everything's very concentrated on like five inches of her ends, which is going to probably give her a very harsh like ombre instead of highlight. She's already starting with highlights, so it's kind of hard to tell what the new parts are going to look like. Let's try that. And now, detangle your hair for the next five hours. Did she just say slolier? Let's see if slolier is a word. Slow. No, definitely not. I'm sorry. Slower is a word. Actually, slolier is not. But okay. Actually, you're still getting like a very solid line of like where the new bleaching is. I don't know. It kind of just looks like she took bleach and just slapped them on all of her ends. She just needs more highlights on the top. That's all. I don't think this looks like horrible. I just think she needs to like get some highlights up there and like blend all of it together, because right now she kind of has like dark roots, orange, mids, blonde ends. And it's very like. And like you just put a few highlights going through all of that. It'll make it nice and even and glamorous and wonderful and make me very happy. And our last video for today is by a girl named Jay B. What's up Jay B? Highlights at home on dark hair. L'Oreal Frost and Design Review and Demo. Fudge. This intro. Perfect. Amazing. It's probably a reason for that. I thought that maybe I could and also ever doing anything crazy on my own hair. Uh-huh. So, yeah. I'm basically taking the risk to help you people out of the future in case you decide to do this and fence my video. So as you can see, this is everything that came in the kit right here. Okay, it looks like bleach. So that's good. I wonder how many lawsuits like L'Oreal gets for at home hair color a year. Could you imagine? Maybe not. I don't know. This is the, oh this is the toner. We don't even know what the developer this is. It's just a one size fits all kind of moment. Oh! Oh, it's a cap highlight. I have not seen one of these. I don't even know. Since I was a child, like ten, I used to do this on mannequins when I was younger, like these cap highlights. I'm very interested to see how this is going to go. I'll explain more in a second how these things work, but interesting. If you've never seen one of these before, you're going to be shook. I would never have the patience for this. It's like crocheting your hair. I'm not, I can't even make it up.  And if you ask me, how is this going to work, Brad? How is this going to be precise? How is she not going to have random highlights all over her head? I don't have an answer for you. She is 100% going to have random highlights all over her head. Oh my God. Okay, so this is what it looks like once you pulled all the hair through the cap. This is wild. She looks like a chiapet. And kind of a look. That is a lot of hair she's coloring. And maybe she doesn't know how much hair that really is because when we do foils and salon, like our foils are very, very skinny. And these, there's big chunks of hair coming out of her, out of this frosting cap. A lot of our hair is going to turn blonde. She is going to have a drastic makeover. And I hope that's what she's looking for. Otherwise, she's going to be inferred and for a treat. We are applying that bleach starting on those ends. That's good. At least she's not like putting it right on the top because it can tend to bleed through the cap. Work. Cover that hair. It looks like it's lightening very well. So we're on to kind of a good start. We'll see, we'll see how good her hair picking method was at the end. That's always the, the fun part is ripping these caps off and then seeing it all fall into place. And then usually you're just like, what happened there? Honestly though, for $10, pretty good deal. You get so much bleach and developer. How do they make money off of that? We're bagging it and we're leaving it to set.  Not that bad. Interested to see it dry. Haven't formed my opinion yet. Okay. Artiste. Honestly, it lightened her hair very nicely. Oh. Forming my thoughts here. I'm going to have to say it's skunky. It's a little skunky and a little chunked. This is easily fixable though. Just put a little bit of a darker toner at the top just to blend those new highlights with your natural hair and it won't be like the worst thing ever for an at-home color job. And I think everybody might notice that. She looks cute though with the lighter hair. She's such a cute girl. I want her to go get real highlights done. Like, good ones. Because it'll look so much better. But I understand if like, your parents want to pay for it or like, you don't want to pay for it. I get it. But uh, it could look a lot better. I'm not going to lie. And she's so cute. I want her to have like, perfect highlights. You know what?  All right. Thank you, JP. That was riveting. It looks cute, but it's going to be a slight no for me.  But I like you with nicer blonder. All right. What did we learn from today, guys? What did we learn? Let's just not do highlights at home. I don't know. I wouldn't recommend it. Unless you really do a lot of studying and a lot of like, watching people's videos on YouTube. Maybe try and like, figure out how to do foils. Maybe you can then do it or like, there's naturally light and you want to do more highlights on top of it. Maybe, maybe, maybe it's possible. But uh, I haven't seen anything very good. So, let's just commit to not doing it. Okay. Let's save that money up. Let's head to the dressers and let's get it done professionally. All right. And thank you guys so much for being here today. I enjoyed hanging out with you. Peruge. Follow me on Instagram at bramandomyc if you want to see more of me. Ooh, you see that? Just around there. Uh, follow my brand, XMando. If you want to see product releases, me doing hair more, then in the new Twitter, bramandomyc. That's it. That's my life. Thank you guys so much for watching. Don't forget to live your extra life, please. And I will see you all next time. Peace.


What are you doing? This is Gordon O. The Tech Star here at Hibachi Talk. Please grab yourself a live-action, pull up a chair, sit down and join us today. It's got me, myself, and I. Andrew is traveling, and the security guy, and Rick's the fund meister is traveling. So I got no co-hosts, and I have no guests. And Agus is traveling, so we don't have him either. So today we're going to do an update, number two in a series that I am putting together on cryptocurrencies. So about a month ago I was asked to do a Cryptocurrency 101, how to understand cryptocurrencies, aka Bitcoin, Ethereum and such, in 28 minutes. And so I would encourage you to go back and look at that video, it's on YouTube under Hibachi Talk, and again I did my best to explain to you how cryptocurrencies worked and such. But I've been getting a lot of inquiries and requests to talk further about cryptocurrencies of Bitcoin and the like on what that really means. And what I find is very interesting, and even as a lesson half an hour ago when I mentioned this to someone, there's still people out there that say it's just a form of currency that's used by the bad guys. And I'm going to prove to you today that that is not the case.  Even though the DCCA did try to get involved in my Bitcoin, which I didn't let them do. So we'll spend a little time, we'll go through that, we'll walk through what's happening. It's been in the news a lot today and yesterday and the day before, because Bitcoin itself went over $2,000 per Bitcoin. It broke that barrier about three or four days ago, so it's pretty amazing what's going on. So, but let's start, we'll start off and Rich is helping me, we've got some slides to help with this show this week. So we're going to pop up the first slide, and I'm just going to give you a, well this is the update, it says May 25th, this is May 24th, but by the time we get everything set up and everything, it'll be out on May 25th. So I made a mistake, but I'm using that as an excuse anyway. Anyway, so let's look at cryptocurrencies, it's definition. It's a digital currency in which encryption techniques are used to regulate the generation of units of currency and verify the transfer of funds operating independently of a central bank. So if you think about, when you move money from one bank to another, one country to another, you're going through the banks. This is a way of doing it without going through the banks, okay? The other point it is, it's a single source of truth. So a cryptocurrency, whether it be a Bitcoin, which is a type of fund, or Ethereum, which is type of fund, or Ripple, which is a type of fund, it's a single source of truth. This blockchain and the ledger, which I talked about in the previous show, is what verifies that this is a single point of truth. And the other thing is it's a trusted establishment of collaboration. So I have a key, you have a key, these are kept to ourselves, they allow the exchanges of this currency to occur. It's also a transparent transfer of ownership. And I just want to sit back here and everybody goes, well, I got my bank. And you trust your bank, you can trust your bank. There's a lot of people that trust his Lehman brothers, and I know where they are today, and they're not sitting at home in their palatial homes anymore, because Lehman went belly up a few years ago. So anyway, that's the high level definition of what a cryptocurrency is. So let's talk a little bit what's happening in the news today, the news this week, because it's really exploded, and a lot of things have happened. So Rich, I'll just pop up the next one, it's called Bitcoin in the headlines. Now Bitcoin is a type of currency. So look at this, it's like the US dollar is a type of currency. The yen is a type of currency. The peso is a type of currency. So Bitcoin is a type of cryptocurrency. And it's one of the leaders that actually is the largest market cap, and I'll talk about that a little bit later, in the cryptocurrency industry right now. But some things have just happened in the past, in the short while, week or so. Leading Japanese ATM manufacturer, Oki, gets into the Bitcoin and ATM business. So Oki is going to start producing in Japan ATM machines that will allow you to transfer and withdraw ATM, Bitcoins. So that's happened. Now in Honolulu, there is a Bitcoin ATM in downtown Honolulu. If you go to the coin store, just out of the hotel street and Bishop, in there they have a cryptocurrency Bitcoin ATM machine. So there is one here already. Now here's another interesting one, is that to transfer Bitcoins, you need exchanges and such, and I use a number of them. But this new entity that's going to be starting up called ledger holdings, they just generated $11.4 million in funding, VC money, to open up a US Bitcoin exchange, Opsons exchange. So there are others around there that now, just to show you how popular it's getting, is that they were able to generate $11.4 million in such a short period of time. Japan Airlines just announced that they accept, they'll start accepting Bitcoins as a cryptocurrency. When that happened, this fever just started to spread throughout Japan. And I've got some other numbers a little bit later, I'll show you on what's happening in Japan. And then I got to tell you this story. This is a pretty amazing story. And Domino's Pizza accepts Bitcoin, just so you would know that. But about eight years ago, Domino's accepted 10,000 Bitcoin for two pizzas. So they accepted 10,000 Bitcoin for two pizzas eight years ago. Bitcoin trading now at about $2,400. So those pizzas cost $20 million if those coins are still around. But just think of that person that had been hanging out of those 10,000 Bitcoins, what he or she might be worth today. So that's what's kind of happening in the news side. So let me just pop you to the next slide, which is a kind of historical snapshot. And I just took this picture from the internet on May 21st just to show you. And if you go and you can search on Google and Bing and such, you can look at the historical snapshot of cryptocurrencies or Bitcoin or whatever. And these charts will show up. But when you sit and look at this, the number one up there is Bitcoin at the top of the pile, their market cap is $34 billion. That's with a B. So when people tell me that this is not an industry, this is larger than your miles from your Hawaiian miles or your American miles or your native miles. That's a $4 billion industry. This is a $34 billion industry just in Bitcoin alone, which by the way, you can convert to fiat currency anytime you want. So now what's interesting, the new one on the block, and I'm going to talk about them in more detail later, is this one called Ripple. Now Ripple is $13 billion market cap. They just came on the scene not that long ago. And they're trading at $0.35 for a Ripple coin. Mind you, they've got 38 billion Ripple coins in their particular market as opposed to Bitcoin has $16 million in there. And we'll cap out at about $21 plus million. And then Ethereum, which used to be sitting at number two, is now sitting at number three, $12 billion in market cap trading. On May 21, it was trading at $131. Now it's almost trading at $200 as of today. It is just amazing how this thing has really started to take off. Then you've got Neem, Litecoin, Dash, Ethereum, Classics, Stellar Lumens, and it goes on and on and on. And each one of these cryptocurrencies serve a particular purpose in a particular market or market sometimes they overlap. But Ethereum, for example, was one that the banks were looking at as a way of doing their transactions for transferring funds from bank to bank. Ripple is looking at theirs for international transactions from bank to bank. And I'll talk about that one in just a second. So anyway, it gives you a sense of a historical snapshot. In total, the cryptocurrency industry is $60 billion. $60 billion. That is not something to shake your head at and say, is this really something that's going to last. It's very volatile. There's no question about it. But it reminds me of the internet when it first became available. People started building websites and said, why do we really need this internet thing? And I was around when it came out. And then there was a, and when Twitter came out, and one of the first Twitter accounts that ever came up was a local guy here in Hawaii who opened up a Twitter account. He was one of the first. Aaron Nakoka is the guy's name. And he introduced me to Twitter. Who would have thought Twitter would be where it is today?  But anyway, Donald was using it as we all know. So Twitter, Facebook, and everything that's happened on the internet, no one was giving it much credence at the time when I was there and now look where it is today. Anyway, so Bitcoin, we'll just talk about Bitcoin. Over $37 billion, we talked about that today. Now, a lot of transactions we do now with our mobile devices, our mobile phones. This is what happens. I have a Bitcoin wallet on my phone.  But 50% of the world population has mobile phones right now. So 50% of the world has a mobile phone. Now, think what's going to happen. By the year 2020, it's predicted that 90% of the world will have mobile phones. These things that we are throwing away are going to the third world countries. Every time we do an upgrade, it gets sent to a third world country or somewhere else. So it's just growing like crazy. Here's another thing to point out is that Japan and China announced this week that they're going to integrate Bitcoin into their banking systems. So both Japan and China are going to introduce Bitcoin into their banking systems as a form of transaction of currency that will go amongst retailers, individuals, whatever is going to happen. By the end of this year, it's expected that Japan will have 300,000 stores that will be taking Bitcoin. 300,000 stores in Japan will accept Bitcoin probably over this mobile device as a form of payment. And GIF, G-O-I-F-T, I don't know if any of you know that mobile app. It's an app that you can download and you can get GIF cards or cards for all the kinds of organizations like Amazon and such like that. They were early adopter. 2014, they started accepting Bitcoin. So imagine how much money they might be sitting on today. Serious, old-fashioned series accepts Bitcoin. This is not US, but I'll tell that in a minute. But into it, you know, your TurboTax, those guys or your accounting software, they'll accept it. Remax London accepts Bitcoin. So Remax London, now if you want to do a real estate deal, will accept Bitcoin as a form of transaction. Apple accepts it. Even Kmart accepts Bitcoin as a form of transaction. The MIT bookstore, you've got MIT, MS that uses institutional technology. You can go to the bookstore and you can use Bitcoin to buy your books. Overstock, it's another online retailer, many of you might be using. They too accept Bitcoin. Even the Sacramento Kings NBA basketball team accepts Bitcoin. So, I mean, it's getting into all kinds of industries. Target or Target, depending on where you live, they accept it. Whole Foods, now you'd expect Whole Foods, because they're the tree huggers and all this kind of stuff that goes on. I always pick on Whole Foods people, but I go there too, so. But anyway, they accept it as well. And even Victoria's Secrets will accept Bitcoin. So, I mean, there's any kind of industry you can think of almost to this day, including the auto industries, will accept Bitcoin as a form of payment. Some have limits on it, they'll only accept so much. Some have small limits and some have larger limits and the like. But where's one of the things I just loved? The former Fed Reserve chairman, Bernanke, still says he has no confidence in Bitcoin. So, if you want to believe Bernanke, I'll leave that entirely up to you. We believe Lehman Brothers, when the time was there, we saw what happened with them and when the banks collapsed and the mortgage and housing industry collapsed. The mortgage industry collapsed, we were all trusting in the banks and what went on and we saw what happened in that. So, to me, that kind of blows the wind out of the sails of can I really trust this? And again, like I said, I'm not telling you to purchase it or not purchase it, but I personally have the opinion that this is here to stay and will be here to stay for a long period of time. So, what I'm gonna do with that, I think that might be a good point where I can just probably just take a pause.  And again, like I said, I would encourage you to watch the first video which explained how this thing works. We'll be back in a minute. Match Day is no ordinary day. The pitch, hallowed ground for players and supporters alike. Excitement builds, game plans are made with responsibility in mind. Celebrations are underway. Ready for kickoff, MLS clubs and our supporters rise to the challenge. We make responsible decisions while we cheer on our heroes and toast their success. Elevate your Match Day experience. If you drink, never drive. Gorda, the techs are here, talking to you about cryptocurrencies. Welcome back to Hibachi Talk. Grab yourself another libation, sit down and join us and we'll continue our story on cryptocurrencies. What are they gonna do is we're gonna jump back to slide number two and just again define what cryptocurrencies are. I mean, it is a digital currency in which encryption techniques are used to regulate the transfer of this currency amongst verified individuals and organizations. 50% of the world does not have access to a bank. So if you take a look at Central Asia and Eastern Europe, 193 million adults do not have access to a bank. 193 million. Eastern Asia, Southeast Asia, 876 million people without having access to a bank. The Middle East, 136 million people without access to a bank, which means no way for them to get funds. Except for now, cryptocurrency which enables me within minutes to transfer cryptocurrencies to any one of these individuals or businesses anywhere around the world at a very small, nominal fee. And if some people are making $25 a month or $2 a week in pay, paying them 10 or 12% to cover that cost of that transaction puts them out of the market. In this case, it's pennies to get that transaction done. So that's, I think this may be one of the most important slides to take a look to make a note of is like 50% of this world does not have access to the banks. I mentioned earlier, 90% of this world will be having mobile phones by the year 2020 between Bank of America and somewhere else in, you know, Royal Bank of Canada or in Europe or whatever. It takes a lot of work and it takes a lot of time. So what Ripple is doing is they're getting all of these banks on board and they're gonna use their blockchain and the cryptocurrency called Ripple as a means for them to do rapid, low-cost transactions amongst and between the banks. And right now, I just, on this slide, you can see the banks that they have signed on. They've got Bank of America, Merrill Lynch has signed on, Uni Credit, CIBC, I think it's the Canadian Imperial Bank of Commerce, UBS, BBVA, Rise Bank and so on. I don't see any Hawaiian banks yet, but I'm going to be talking to some of them in a little while about whether they might want to jump into this particular opportunity here. Cause I know a lot of people have a lot of Filipino friends that they transfer a lot of funds to the Philippines on a regular basis to support their families over there. So again, take a look at that. That's an interesting idea of how these currencies are going to be used to fund all kinds of projects. And think about the economic growth that will happen in these countries as a result of this independence over traditional banks and traditional ways of doing money. So now the next thing is that we talk about, well, where do you keep your Bitcoin? I mean, there's not a coin. I'm not going to have it in my wallet. There's not a bill attached to it. I can't see it and feel it. And I remember, I've mentioned this at some of my other shows is that I used to use an exchange called Coinbase. Now Coinbase allowed me to keep my cryptocurrencies in their particular exchange. The Department of Commerce and Consumer Affairs here in Hawaii set a notice to them and said that anyone that if they wanted to do business in Hawaii, they had to keep 100% of fiat money in a local bank. 100% of fiat money. So that means if it's trading at $34 billion, they'd have to keep $34 billion in fiat money in a local bank. Local banks don't even have to keep that same equivalent in there. Local banks keep about eight to 12% in the bank. Anyway, what that forced them to do was notify all of us that we're using them to do our transactions, our cryptocurrency transactions, to close down our accounts with them. So we closed down our accounts with them and we went elsewhere and there's lots of elsewhere. So we all just went elsewhere and DCCA is going to go around and chase everybody to see whether or not they have the right to trade cryptocurrencies in this state. I just go to another state or another country, as a matter of fact, I went to another country. So, but it raised an interesting question. It's like I keep these cryptocurrencies in exchanges, but lo and behold, a new piece of technology came out and it's called a keep key. And a keep key is a device that allows me to download my keys and my Bitcoin keys and my Ethereum and my whatever that they keep key supports onto this little device right here. This little device now has all my cryptocurrencies on it for the most part. And so now I can move these cryptocurrencies in and out of this particular device at any time I want. As a matter of fact, before the show today, I went and moved some cryptocurrencies from one exchange that I'm at on another country and move them to this device. So it sits here. Now, if I lose this device, not a problem. The way the security and everything is set up on these things is I can go buy another one and recreate this entire system all over again. So where am I keeping my cryptocurrency? I'm keeping them here. Now here's another thing that I'm doing is I used to buy savings bonds for my grandchildren and now my great-grandchild. And I've decided that what I'm going to do is I'm going to risk it and I'm going to give them a keep key and it's going to have a cryptocurrency on it of some denomination. And then they will need to learn how to use it because I'm not gonna show them. They can learn how to use it but they will be sitting on fiat money at any time they want to use this fiat money on sitting on this lovely little device called a keep key. Very, very cool device. So that kind of lays it all out for you. And I just now want you to think about the social and economic ramifications of cryptocurrencies. If more of us start using it, the government will have to get involved because how are they gonna tax it? How are they gonna tax what I've got in here? How are they gonna tax the income I make on this? If I buy a stock and it goes up, I will get taxed on it. With this, there is no way at this point in time that their ability to tax me on this. So the governments are going to get involved and the moment the government gets involved and starts saying we're gonna tax it then it's gonna give it more credibility and who knows what will happen in this industry. The other thing is that people tell me that, well, the WannaCry virus came out a couple of weeks ago and they only accepted Bitcoin cryptocurrencies as a form of payment. Again, global, easy way to trade. They were saying the Koreans did it, whatever. Easy way to trade. They only wanted $200 or $300 to unlock your files and they would accept cryptocurrencies. Cryptocurrencies can be tracked. So people say, oh, it's an underworld thing, it's an underworld thing, it's an underworld thing. No, it is not. If someone is willing to make the effort to track where these cryptocurrencies go, they'll be able to determine who, when, where, I don't know why, other than the money, these countries and or individuals have been using cryptocurrencies to get their ransomware paid. So it's something to be looking at, something to really concentrate on. Even if you don't want to get involved in it, I think it's a fun thing to watch. You can download some apps that will give you updates on a daily basis, on an hourly, minute basis on what these cryptocurrencies are trading for. As a matter of fact, when I take a look right now, Bitcoin is now trading at $2,440.39. It's gone up 24 bucks in a day. It's gone up $45 in an hour. Ethereum is now trading at $198.61. It might break 200 shortly. It's gone up $3.48 in a day and it's gone up $28.66 in a day, I should say. Now, in one year, Ethereum's got up 185 bucks. It's now trading at $188. Bitcoin has gone up $1,992.21 in one year. Again, I can convert this to cash tomorrow. I can cash in a few minutes today. Anyway, so there we are. This is cryptocurrency 2.0. We did 1.0 about a month ago on how it works. This is 2.0, how it's being used and where it may be heading in the future. Again, I'll say, I'm not telling you to invest. I'm not telling you not to invest. This is just a way to educate you on what's happening and what I think is one of the newest and coolest technologies happening in the world today. With that, we're gonna close out. We have no autograph solo cup unless I gave it to myself.  I'm going to go to the beach, which is right there, and try to get a sand on this sun, on this bald pink head of mine. Anyway, like I always say at the end of every show, how you doing?