Thanks for hanging in there. My name is Prakash. I wanted to present a project that I was working on recently to tackle just kind of a usability problem I found with using Bitcoin. It started with Bitcoin but then it turned into something else entirely and just wanted to share what I found and hear what you guys have to think. So let's get this started. So this story begins with this right here. Does anybody know what this is? It is. It is a Bitcoin address. And it has a face only that a mother could love. I was really into Bitcoin at one time and when I found out that this is the way to transfer the currency it kind of turned me off a little bit because how are you even supposed to remember this? If anybody could close their eyes and just repeat the first ten characters of this string I don't think anybody could do that. So I thought it is easy enough to copy and paste this and send it from person to person but what if there was just a better way to do this? How would you even organize that? How would you intelligibly share this information to other people? So I wanted to get past this. At the time I was also interested in QR codes. They have a nice way of transferring information without having a wireless or relying on a carrier signal. You can give somebody a QR code and then the QR code parser in your phone or your camera it reads it and is able to parse all the sensible information out of it. So I kind of wanted to use a similar principle to detect Bitcoin in images. So just as like a little intro this is how the QR analyzer looks at the QR code. There are anchor points and then there's formatting information which are these blue lines and then the actual encoded information is in between. So the yellow spots. So when I saw this, I know QR never actually took off because I think partially because advertisers kind of abused it you kind of had QR codes on everything and they weren't giving people anything useful so most people including myself kind of tuned them out. But even still I wanted to have something that you could put into any image anywhere transfer it and have the Bitcoin address available. So that's where Pill comes in. So Pill stands for the Python Image Library. Recently its maintainers have not been keeping up with releases so there is a fork called Pillow that has all the same functionality as Pill. It just is updated more frequently. And Pill is a great library. Python like most of you guys probably already know has an excellent community that has found a way to solve almost every problem in every space and processing images is no exception. So really you can do anything that you ever would need to do with an image with Pill. You can access raw image data. You can apply a filter. You can crop by path. You can get the XIV info. You can write text. Text characters as images. So really you can do basically anything with this. So that's why I kind of relied on Pill. The idea is to take a set of characters and write them as pixels into an image. And you can do that pretty easily with a script in Pill which is right here. Import Pill. Now you import the image module from Pill. You create a new RGB image and then you just put the pixel data into the image. So this part is pretty straightforward. You take a string of characters. You convert them to pixels based on ASCII. I can get more into that later if you guys want. But you convert each character into pixels and then you write those pixels to a file. And then the tricky part actually comes after this when you try to extract those characters from the image. So here we are when you have... I know when you throw a bunch of code on a slide it doesn't actually make much sense to the people reading it. This makes sense to me because I know where it fits into the whole picture of the project. But let me just give you a basic walkthrough. So to get each character as a pixel you convert it by ASCII into a set of three numbers red, green and blue which is the RGB string. Depending on the average use of color in the image and an arbitrary constant that I use to encode each pixel which is just any number. It's a random number actually. You can get a unique value for each pixel inside the image. And then you can write it and then this library will output a token value after you write the string into the image which you can use to get it back out. Which is more or less what's happening here. But the idea is kind of like a QR code there are anchors written into the image that the pixel parser looks for. And without getting too much off track this pixel parser functions as a finite state machine. Do you guys know what a finite state machine is? Okay cool. So the pixel parser to get the to recognize the pixels that are the message and differentiate them from normal pixels in the image it functions as a finite state machine. Which is a finite state machine is it is a process that can transition itself from different states depending on information in its current state. It's one of those cursive knowledge things. I'm trying to figure out how to explain this in layman's terms. Think of so if a robot were to scan the room looking for a chair it would get just a boatload of raw data.  So to recognize a chair which is an intelligible form it would look for one thing first. It would look for an orange colored pixel. When it hits an orange colored pixel it would transition to a state to expect another pixel that would correspond to the chair. So it would keep doing that until you reached kind of a pixel that was bordering something that would look like the end of the chair and it would transition back to its base state the initial state. Feel free to ask questions afterward to know how that can sound kind of confusing. But by all means let me know if it makes sense and I can clarify afterwards. So here each pixel of the string is put in between two anchor points. And the pixel parser when it hits an anchor point it transitions to a state where it expects other pixels that correspond to characters. And then when the pixel parser hits the second anchor point it stops collecting pixels. So then it takes each of the pixels and converts them to ASCII characters. And it converts each of those ASCII characters back to Unicode or whatever it is you try to encode. So here we go. Let me just show you how this works. Can you guys see my terminal? No you can't. Anybody shout out a message thread. So what's happened is so the idea behind steganography just a little background is to conceal text within images. So the whole idea is that bitcoin is sensitive information it's directly tied to your money. So the idea was to encrypt the message and to give a token. So in a real world scenario if you wanted to use this you would encode your wallet into the image, give the image to somebody else and also the token or the passphrase. So if you think this is clunky I kind of agree. The idea originally when I first came up with this was to have a web interface where the token would be tied to a user's profile and everything would happen over the web. But in case you don't have an internet connection none of this relies on the web it's just the power of math. So here we are. The token and the image now we're going to get it back out. But before that let me show you what the image looks like. I wrote the image to doge one. Now usually the image takes on the average hue of the surrounding pixel so you can't really tell it is there. But I changed that for today so you can see what's going on. So if you look there's two things going on here so it's kind of hard to see from here but on the top left there's something called a beacon that contains the location of the first anchor. The idea is to distribute these pixels around the image so every anchor contains information pointing not only to the current message string but also other anchor points scattered throughout the image. Right now that beacon points only to the first anchor and then this string of rainbow colored pixels is your message. It's the encoded encrypted message. Now let's get it back out. And yeah that was it for my formal presentation. I wanted to leave ample time for questions and answers. I found that these things work much better than that instead of me just spewing information in your faces. I could that part I was running into a few bugs on but it caught me. If you fork the project and help me out we can totally make that happen. Oh it means just a space problem. What's that? Oh sorry what was the problem with hiding the pixels in the image? It's really a space problem. You would have to take writing those pixels into that part of the image you would have to store an x by y matrix if you will of the image and then take the pixels of the top and the bottom and then average them. Technically it's not that bad. It's kind of tedious. Now go for it. You mean like I'm trying to understand the question. So you're saying it would be easier to hide the pixels in the image for high res? That's a good point. Because the number of pixels in the message would be set in a high res image you would have more pixels so it would be harder to detect the pixels in there for sure. If you converted that high res to low res you would probably lose some of that information though. But that is a good point. Thanks. I've heard of this myself as well. Do you mean shifting bits onto the pixels? I have heard of this. I don't know the specifics of how that's implemented either. But I would love to learn more about that if you can forward some info. Or if you want to fork the project, by all means. Need a proper boom. Need a proper plug. Any more questions? Where is this? Is this on GitHub you said? This is on GitHub. This is the link. By all means fork. Contact me if you have any questions. That's the next request. Right now I'm using Python's UUID library to do that. It could be anything. But yeah, I probably should do that. Okay. Anybody else? Awesome. Thank you all very much for coming.


Welcome back to the Seaport in Boston. This is day two of the Cube's coverage of Red Hat Summit 2022, a different format this year for Red Hat Summit. You know, we're used to the eight to 9,000 people, big conferences, but this is definitely, and a lot of developers, this is definitely a smaller, more intimate, more abbreviated keynotes, which I love that new style, really catering to the virtual audience as well as the physical audience. A lot of good stuff going on last night in the Seaport, which is a lot of fun. Stephanie Cheris is here, Senior Vice President of Partner Ecosystem Success at Red Hat. On the move again, Stephanie, love to see it. Thank you, it's great to be here with you, and now in a little different bit of a role. Yeah, I'm happy that we're actually in Boston and we can face-to-face. You don't have to get in a plane, but we'll be on a lot of planes in the next few months. But look, a new role for you in ecosystems. You are interviewing all the partners, which is very cool, so you get a big observation space, as my friend Jeff Jonas would like to say. And so, but I'd like to observe the partner ecosystem in this new era is different.  It's a really deep engineering and really interesting flywheel approaches. How is the cloud and the hybrid cloud ecosystem and partner ecosystem different today? I think there's a couple of things. I think first of all, cloud, accelerating all the innovation, it pulls in, the whole cloud motion pulls in a cloud partner, in addition to many of the other partners that you need to deploy a solution. So this makes almost every deployment a multi-partner deployment. So that creates the need, not just for one-on-one partnerships between companies and vendors, but really for a multi-partner experience, right? How does an ISV work with a distributor, work with a cloud vendor? How do you pull all of that together? And I think at Red Hat, our view of being a platform company, we want to be able to span that and bring all of those folks together. So I see this transition going from a world of partnerships into a world of a networked ecosystem. And the real benefit is when you can pull together one ecosystem with another ecosystem, build that up and it really becomes an ecosystem of ecosystems.  And that's really what it takes in the partner ecosystem. It can't be just technology and just engineering integration. There's got to be a business model associated with that. Talk about that, those two dimensions. And I think what we're seeing in the ecosystem is there are partners that you build with, there are partners you service with, there are partners you sell with, some do all three, some do two out of three. How do you work those relationships? At the end of the day, every partner in the ecosystem wants to bring their value to the customer. And the real goal is how do you merge those values together? And I think, you know, as you know, right, I come from the technology and the product space. I love moving into this space where you look for those value and that synergy of value to bring better technology, a better procurement experience is often really important and simplicity of deployment to customers, but, you know, partners span everything we do. We develop with them, we build with them, we deploy with them, we service with them. It all has to come together. So how do you make this simple for customers?  How do you simplify this? So, a couple of things. One, spot onto your point, Paul. I think customer expectations now are more aggressive than they've ever been. That the ecosystem has done pre-work before they show up. The customer doesn't want to be the one who's pulling together this from one vendor, this from another vendor and stitching it together themselves. So there's a number of things I think we've stepped in to try and do. Digital engagement for certification and deployment, the creation of operators on OpenShift is one way that technology from partners can be done and enabled more easily and quickly with Red Hat platforms. I think in addition, you've seen- Can you go a little deeper on that? Sure. And find that a little bit more, what does that mean? Yeah, so we have a, first off, we have a digital experience where partners can come in, they can certify and test their applications to run it on Red Hat platforms themselves. So it's a bit of a come one, come all. We also have an engineering team and a developer team to work side by side with them to build those into solutions. We've done things, again, to supplement that with capabilities of what we call validated patterns. Things we've done in the market with customers, with partners, we pull together a validated pattern, we put it onto GitHub so anyone can get access to it. It becomes kind of a recipe for deployment. That's available for partners to come in and augment on top of that. Or customers can come in and pull it up, GitHub and build off of it. So I feel like there's different layers in the sort of build model that we work with partners. And you want to be able to on-ramp any partner wherever they want to influence their value. It could be at the base certification level. It could be even with, REL9 was a good one, right? REL9 was the first version of REL that we deployed based upon the CentOS Stream model. The CentOS Stream is an upstream version of REL, very tightly tied into the development model. But it allowed partners to engage with that code prior to deployment, everything from hardware partners to ISV partners. It becomes a much more open way for them to collaborate with us. So there's so much we can do. What's the pitch to partners?  Not every, I mean, most people want Hybrid Cloud, even though the Cloud guys might not admit it. But so what's the pitch? How do you approach partners? There's got to be a common theme there. Pitch me. I think one of the things when it comes to the Red Hat ecosystem is the ecosystem itself has to bring value. Yes, we at Red Hat want to bring value. We want to come in and make it easy and simple for you to access our technology. We want to make it easy and simple to engage side by side in front of a customer. But at the end of the day, the value of the Red Hat ecosystem is not only Red Hat, it's our partnerships with others. It's our partnerships with the hyperscalers. It's our partnerships with ISVs. It's our work in open source communities. So it's not about Red Hat being the sort of epicenter of the ecosystem. The value comes from the collective ecosystem as it stands. And I think we've made a number of changes here at the beginning of the year in order to create a end to end team within Red Hat that does everything from the build to to the sell with all the way from end to end. And I think that's bringing a new layer of simplicity for our engagement with the partners. And it's allowing us to stitch together and introduce partners to partners.  Absolutely. And so, and you can't do it all. I mean, nobody can. But especially Red Hat, your strategy is not to do it all by design. So where are those, where's the big white spaces where you feel as though your strengths need to be complimented by the partners? Oh, I think you caught it spot on. We don't think we can do it all. We're a platform company. We know the value of hybrid cloud is all about bringing a flexibility of an ecosystem together. I think the places where we're really doubling down on is simplicity. So the Ansible announcement that we did, right? With Ansible Automation Platform on Azure. With that announcement, it brings in certified collections of ecosystem partners on that deployment. We do the work with Azure in order to do that deployment of Ansible Automation Platform. And then it comes with a set of certified collections that have been done with other partners. And I think those are the pieces where we can really double down on bringing simplicity, right? So if I look at areas of focus, that's a great space. And I think it is all about connecting the dots, right? It's about connecting our work with Azure with our work with other ISV partners to pull that together and show up to a customer with something that's fast time to value. With so many partners to manage, how do you make sure you're not playing favorites? I guess, how do you treat all partners equally? Or do you even try? We absolutely try. I think there is, it is a, any partnership is a relationship, right? So it is what Red Hat brings to the table. It's also what the partner brings to the table. Our goal is to understand what the value is the partner wants to deliver to the customer. We focus on that and bringing that to the forefront of what we deploy. We absolutely, in a hybrid world, it's about choice and flexibility. Certainly there are partners and we made some announcements, of course, this week, right? Yesterday and today with some, we're continued to deepen our partnerships with those folks who are doubling down with us, where their strategy is very well aligned with us. But our goal is to bring a broad ecosystem that offers customers choice. That's what Hybrid Cloud's all about. I remember years ago, your colleague Bob Pitchiano, I went down and met him in his office and he's schooled me. He was awesome. We did a white board on alternative processors.  But basically he helped me understand the trend that has absolutely come true, which is alternative processors. It's not just about the CPU anymore, it's about all the CPU and GPU and NPU and accelerators and all these other connected parts. You guys, obviously, are in the middle of that. You've got relationships with ARM, NVIDIA, Intel, we saw on stage today. Explain the importance and the trends that you see of these alternative processors and accelerators and what that means for customers in terms of the applications that they're now going to be able to tap. Yeah, so you know I love this topic when it comes. So one of the spaces is EDGE, right? We talked about EDGE today. EDGE to me is the epitome of kind of a white space and an opportunity where ecosystem is essential. EDGE is pulling together unique hardware capabilities from an accelerator all the way out to new network capabilities and then to AI applications. I mean the number of ISVs building AI applications is just expanding. So it's really that top-to-bottom ecosystem story and our work with the telcos comes in, our work with the ARM partners, the NVIDIAs of the world, the accelerators of the world comes in and EDGE and then you pull it up to the applications as well. And then to touch in, we're seeing EDGE be deployed a lot in industries, in industry verticals, right? A lot of EDGE deployments are tailored for a retail market or for a financial services sector. Again, for us, we rely very much on the ecosystem to go into industry verticals. We're a platform company, so our goal is to find those key partners in those industry verticals who speak the speak, talk the language and we partner with them in order to support them in. So this whole EDGE space pulls all of that together, I think, even out to the go-to-market with industry alignment. It's interesting to the partners, so we're talking about silicon, we can talk about that all day long. And then it spans and we had Accenture on, we had Raj on yesterday. And it was interesting because you think Accenture is like deep vertical industry expertise, which it is, but Raj's role is really cross industry and then to tap into that industry expertise. You guys had an announcement yesterday with those guys. Obviously, the GSIs are key players.  So talk about the importance of those relationships. I think it's great. We are in the announcement with Accenture is a great one, right? We're really doubling down because customers are looking to them, they're looking to the Accenture's of the world to help them move into this hybrid world. It's not simple. It's not simple to deploy and get that value of the flexibility. So Accenture has built a number of tools in order to help customers on that journey, which he talked about yesterday. It really is a continuum of how customers adopt for their cloud space. And so, ARS partnering with them offers a platform underneath, give them technology capabilities and Accenture is able to help customers and guide them along that journey and add a new layer of simplicity. So I think the GSIs are critical in this space. You talked about the number of companies developing AI, new AI tools right now and it seems like there's just, the pace of innovation is amazing. The number of startups is unpricevended. How do you decide who makes it into your partner system? What bars do they have to jump over to become a Red Hat partner? I think our whole partner structure is layered out quite honestly a bit in tiering depending upon how much the partner how much the partner is moving forward with Red Hat, how strategically we are aligned are, et cetera. But there is definitely a tier that is a come one, come all, get your technology to work with Red Hat. We do that digitally now in the world of digital it's much easier to do that, to give accessibility. But there is definitely a tier that is a come one, come all and participate. And then above that it comes into tierings. How deeply do we go to do joint building, to do co-creation and how do we sort of partner even on things like we have Arrow and Rosa, as you know which is OpenShift built with AWS, with Azure. Those provide very deep technical engagements to bring that level of simplicity. But I would say it spans all the layers. We do have a dedicated engineering team to work with the ecosystem partners. We have a dedicated digital team to reach out and proactively invite folks to participate and encourage them through the thing and through the whole path. And we've done some things on enablement. We just made early March, we made enablement free for all our partners in order to learn more and get more skilled in Red Hat. Skills and skill creation is just critical for partners and we want to start there, right? We started this conversation with how cloud ecosystems are different. And I think AWS has the mother of all ecosystems. So does Microsoft too, but they've had it for a while. And I felt like last decade partners were kind of afraid, all right, we're going to partner with a cloud vendor but they're going to eat our lunch. I noticed last year at re-invent, that whole dynamic is changing. And I think the industry is realizing this is not a zero sum game, that there's just so much opportunity, especially when you start thinking about the edge. So you guys use the term hybrid, right? And we put, John and I wrote a piece prior to re-invent last year. We said there's something new brewing. We've got on-prem connecting to the clouds. It's going across clouds. People call that multi-cloud. But multi-cloud has been like multi-vendor. It really hasn't been a sort of strategy or a technical layer. And now you're talking the edge and we see the hyperscaler spending $100 billion a year on infrastructure. And now we see companies like yours and your ecosystem building on top of that. They're not afraid of it anymore. They're actually looking at it as a gift. And so we coined this term called super cloud, which is a subtraction layer. And it rises above, hides all the complexity of the underlying primitives and APIs and people kind of wince at the term. A shesh called it metacloud, which I like. It's kind of fun. But do you feel like that's happening in the ecosystem? Is that a real trend or is that just my imagination? I think it's definitely a real trend. And it's coming from customers, right? That's what customers want. So customers want the ability to choose. Are they going to self-manage their applications within a public cloud? There's much more than just technology in the public cloud too, right? There's a procurement experience that they provide a simplicity of a relationship. They may choose one of the hyperscalers. They pick a procurement experience. They deepen that relationship. They leverage the services. And I think now what you're seeing is customers are demanding it. They want to be a part of that. They want to run on multiple clouds. And now we're looking at cloud services. You've seen our strategy double down on cloud services. I think that kind of comes back together to a customer wants simplicity. They expect the ecosystem to work together behind the scenes. That's what capabilities like Arrow or OpenShift on Azure and OpenShift on AWS. That's what we can provide. We have an SRV team. We jointly support it with those partners behind the scenes. But it's no, as you said, it's no longer that fear, right? We've rolled up our sleeves together specifically because we wanted to show up to the customer as one. Yeah, and by the way, it's not just traditional technology vendors. It's insurance companies, it's banks, it's manufacturers who are building out these so-called super clouds. And to have a super cloud, you got to have a super pass and OpenShift is the superest of all passes. So Stephanie, cheers. Thanks so much for coming back. It was my pleasure. It was great to see you again. Thank you for the time. All right, and thank you for watching. Keep it right there. This is day two of Red Hat Summit 2022 from the seaport in Boston. You're watching theCUBE.


Video Friday with Mark Ritchie! When you work for yourself, you can drink on Friday afternoons at work. The best. So, I have a tip for you today on Video Friday and it is brought to you by Chris Tordo, artist. Thanks, Chris Tordo. He said, when you're resonating, you know it's very imperative that you stir for three full minutes, otherwise you might have sticky spots or uncured spots. So what he does is he puts on a song that is a three minute song and just resins the whole time. So I have a doozy here for ya. Waterloo by Abba. Three minutes long. What a night! And get stirring! Not too much. Not too much. Not too much. Next time. Next time? Next time. I'm gonna pull the string soon, I promise, and I really can't wait to do it, so... Video Friday!