So thanks, thanks everyone to come in for a session and for everyone who dial in the video. We're going to talk today about Spiffy and Spire. I hope some of you heard about it. If not, I'll do a quick recap. But the focus for this presentation is more around how to get Spire from proof of concept to production. I spent around the last five years since like 2017, 2018 kind of barking on tree of zero trust ideas. And then following Spiffy and Spire project from the early days, being building different systems and products around zero trust. Using Spiffy and Spire underneath, I've spent a couple of years at Biden's helping to rebuild health indication and authorization system using Spire. And this is a world largest deployment today, running and scaling it beyond one million nodes. Since then, I kind of started to think that it's very powerful technology, but it is kind of, you can think about set of building blocks. You need to turn it into a product. So I started thinking how to make this technology more accessible to people. And in 2020, we brought with bunch of other smart forks book called the solving the bottom turtle. We'll have a Spiffy Spire booth this year downstairs. It's a truly open source project, community driven. And thanks for CNCF to sponsor in it. We'll have hard copies of the book, so stop by and I have three of them, I'll base myself here. If you have any questions, come and chase me. I'll give you a book and you can find probably five or six other co-authors for this book during CNCF and get signatures if you want. So what is Spiffy? I hope that's everyone who came here has heard about it or no, but here's a quick recap. It's basically set off standards. The two projects, Spiffy and Spire, Spiffy is basically a bunch of markdowns that describe what is a Spiffy identity, what is a Spiffy verifiable identity document. You can think about Spiffy ideas, basically URI string that's baked into identity that comes with the two formats. One is X509 and another one Jode. And it also describe things like what is the Spiffy trust bundle and how do you get it? And the biggest part of that is workload API. Workload API is just basically a set of APIs, obviously how workload or application can get an identity, refresh identity, verify that identity. And yeah, so this is just specification. Quick, what is the Spiffy idea and how it look like? As I mentioned, it's just a URI string. It has URI schema, it has a trust domain port and it has a path. It's like pretty similar to URL, obviously, but it's only allowed path doesn't come with like other things. You can put anything into their path. So it does need to be just one word as the name of your microservice. You can build a different schemas, for example, that would incorporate information like your, which region this workload is running or in which data center, et cetera. So it could be flexible, but there are certain limitations. So because it's going into Jode, for example, so it will have a certain limits on how much information you can put in there and the same 4x509. So what's Spire? As I mentioned, Spiffy is just a standard and a Spire is a production ready implementation of the standard. It is an open source project, contains two main parts. One is a server and another one is an agent. So it's implement the whole specification and it contains bunch of different plugins for attestation between agent to a Spire server and between workload to agent. So basically how it works, you put an agent on nodes, then you agents connect to a server. There is a certain attestation mechanism between agent and a server. For example, if you're running in a public cloud, you can use an identity documents for verification of firm agents and for that agent perform attestation for workload. So when workload connect over workload API to an agent to get an identity, basically it's process starts goes to workload API and it's like, who am I? And there is an attestation kick in and provide workload with identity that it can use to go anywhere. Because it's two different formats, you can use it to build an MTLS, for example, where you can use jobs for authentication and then hook it up with authorization systems that you build on top of it. So typically when you kick off this, like I wanna use Spire project, it goes into several stages. I kind of define these five stages, but it could be three because you squash like first three stages, research, visibility and proof of concept together. But what it do during this first three or one stage is basically trying to answer on different questions. Like what are these? Do I really need it? I have a bunch of problems in my infrastructure and I want to solve them. Like some of them could be, we need MTLS or we need better kind of universal identity for everything so we can use it with authorization together. And the goal there is to basically figure out set of use cases and priorities for your Spire rollouts. Is it MTLS is important where you want to use PTA identity for federation and to get some credentials that you store or secrets that you store involved. Or you can use it for federation between a different Spire identity or systems where you can completely replace your static secrets like an API key is on or AWS, GCP identity is doing this Spire identity exchange to your cloud service provider exchange. Or you can do this like within any third party as well. Yeah, so this is just to help you get started. There's like lots of information you can find about use cases and how you can use PFI on website. You can go to and ask questions in Spifi's lab. And I also build in collection of kind of very opinionated about different use cases for Spifi and Spire as well. So next stage is like when you define your priorities and you want to get an internal buy-in from different parts of your companies like you need to talk to security, history, et cetera. And this is where you normally build some proof of concept to show like how it will be looking when we get closer in production. And what we see, lots of successful stories actually start with the Kubernetes rather than this kind of long tail of legacy or serverless.  It's more like applications that's running on dedicated notes. It could be really modern applications but it's a different mechanism how you can do things like deployment, registration and attestation of your agents and workloads. So Kubernetes is like really easy way to start and really easy way to prove the different use cases and get internal buy-in. But when you get to this stage you probably have lots of questions, right? It seems right thing to do. We love this use cases, we love technology. How do we run it in production now? And running things in production means different things.  So if you go to SRE you probably think that they will ask is it scalable? Like how do you prove that there is no downtime or do you even have 24 by seven rotation and on call because this is authentication system and it will be kind of foundational for the rest of our applications to talk and authenticate to each other. So there are lots of questions but we'll go through some stages and my goal is to not to answer to all questions but give you some mental framework how we can think about what I need to do or what I need to think about before putting this into production. The first thing you start with an understanding where is your trust boundaries and how they map into specific trust domains. There is a different ways to think about it. You can have like traditional per environment trust boundaries and trust specific trust domain. So you have production environment and that it will be your one specific trust domain and your staging will be different. So they're kind of independent systems. Then the next thing you wanna do is to think how this mapping to your PKI. So if you're building two independent systems one is for production, one is for staging, one is for development you probably wanna have a different PKI route for that and then you need to think where like what is the shape of your PKI? Where do you store a key? What's the TTL for all these keys? How do you rotate them and how all this connected with a Spire servers? Federation is another interesting thing because you can federate two independent specific systems to each other and for example, you can follow pattern like which Kubernetes use where you have one PKI for Kubernetes cluster. This is your blast radius. This is your trust domain. This is your specific domain. But if you have multiple Spire clusters in a Kubernetes cluster then you have too many entities to manage. In order for them to talk to each other like application deployed on 10 different clusters you need to federate specific identities between all of them and that would basically affect your bundle size. So you will need to have a lot of root keys and that bundle the size is growing. If you use JOT, the number of keys there also will be growing. So it's all kind of can affect your performance. And I think when you're going like beyond 10 entities, maybe you should start thinking about a different shape or a different architecture for Spire. Trust model also goes pretty close to this investment into how many things you need to build on your own in order to run Spire. This is kind of, I'm trying to give an idea if you trust something, this is how much less or more you need to build. So for example, if you're talking, if you want to run Spire with Kubernetes and you trust Kubernetes control plane, so you can use Kubernetes primitives like a demon set for deployment of Spire agent. You can use Spire controller manager for their registration of Spire of your workloads and you can use a Kubernetes PSA for IDA station. If you do not trust Kubernetes control plane, you'll need to build all this, right? And it's all depend on how you deploy applications, right? Whether it's like one cluster or multiple of them. There are a couple more talks by Uber, Tyler and Tyler, how you can think about their scheduler integration with Spire. And as an example, if you use a you deploy and cloud service provider like AWS, GCP Azure, and you do not trust it. So this is probably pretty hard in terms of like how do you do IDA station? In this case, if you do not trust your cloud service provider, probably you can rely on something like a VTPM for not IDA station, but you need to do research. I don't actually know if that's possible completely to do, but that could be like one of the directions. Another thing you want to focus on is like what will be the Spire architecture that you use for the deployment? It's a pretty big topic. And one gave a pretty good overview. I think it's like 30 or 40 minutes. So here's the link. I'll put a slide so you can click and find it. So don't worry about that. But yeah, basically there are a few models that Spire support. One is a single Spire server or a cluster obviously for a high availability you want to have a multiple version of Spire running to make sure that there is no downtime. Nusted model is pretty good in cases when you want to run Spire and use different IDA station primitive, let's say for different clouds and for your on-prem deployment. You can have brand multiple of them. And Federated is another model. So you might run one Spire deployment in your on-prem environment and another one in a cloud when you migrating in there. You can federate these two systems whether mutually. So your workloads running in public cloud they can talk to your workloads on-prem or you can do directional, right? Your on-prem workloads would be able to talk to cloud but not other way. Yeah, and so there are more information on this link is great video. So the trade-offs that you'll be doing or like I want you to think about different trade-offs when you're thinking about architecture and how to deploy Spire in production. Usually when you're talking about security and availability, these kind of two trade-offs that's coming in, manageability is another one and a cost factor is another thing that's unique to think about. The good example for this could be we have 10 Kubernetes clusters in production, right? We run each cluster in different availability zones. So to build and to have Spire in highly available mode you want to run one Spire server at least per availability zone. So you ended up with at least three. Now multiply it by 10 clusters you'll get to like 30 instances at least. And then that's for availability. Then you think about security. I probably don't want my production workloads like an application running on the same node as a Spire server because if that workloads get compromised potentially that would be a way for an attacker to get into the Spire server. So we want to run them on dedicated node, right? And now you're talking about the costs, right? Because now you have basically 13 nodes that only run in Spire server you can't run anything else in there that could be like pretty costly. In this like, if you find yourself in this situation probably you wanna rethink your architecture and do not run Spire inside the Kubernetes clusters and run dedicated clusters of a Spire server. And in this case, if you talk about let's say East cost and a West cost have a two clusters with N plus two availability you'll have a three servers in each region. And that would be six nodes compared to story. So there's always kind of balance between things. Data store and when it's come to production is another interesting piece. And it's kind of when we wrote a book about all these turtles all the way down basically Spire is your systems that's provide identities to everything in your infrastructure, but it needs a database. So how do you authenticate a database if you kinda get into this secure self bootstrap mode?  We had this kinda smaller turtle smaller infrastructure that's been running and we use it for authentication between Spire server and database. The biggest challenge there is like if you use it if it's come to database like a Postgres or a MySQL you normally people use like username and password how do you rotate them, right? Rotation inspire server world requires server restart. Now you're talking about availability and then database is a usually bottleneck if you have many, many nodes and workloads like if you're talking about more than 10th of 1000 of them. My bottom line would be if you run in a cloud service it's better to use their primitives for database authentication and use managed database. If you run in it on-prem and you build in the database it's a little bit more challenging that this is where you need like a meta PKI thing. It was a great talk by Matthew from Square about how they build and scale a database on-prem for there with much more details than I can package into 25 minutes. Performance, probably the question you will get often from SRE develops their platform teams. It basically boils down that things are much better now than it was two years ago. If you're running, if your scale is less than 10 K nodes and you don't have like, I don't know hundreds of 1000 microservices running you probably shouldn't worry about it. You'll likely won't run into any challenges in there but there will be some links for additional resources like how you can think about the sizing of your as pyroclusters and what node types and how much resources you need depends on how many workloads you have. Monitoring and alerting, you'll hear this a lot from SRE team, like how do you know it's working? How do we know that it's not broken? What's gonna happen if it's down? Do you have like on-call rotation for this? So, Spire provides a lot of telemetry for both servers and agents. Though there is no dashboards, it's kinda you need to build it, you need to understand what's important for you because Spire is a lot of, as I mentioned before, building blogs and for example, anything related to data store could be data store specific and you probably want to have more metrics from your data store but help once it if you want to contribute and help the community, this is like one of the things that's still looking help with. And I wanna quickly touch base about logging and alerting. This is kinda through these systems that's also kinda, we always tend to think at the end there is one important thing though for, you need to bring your own logging and auditing systems and Spire can be plugged into that pretty easily but one thing I wanted to point out here specifically to auditing, Spire server log contains a lot of information about agent attestation but agents contain information about workload attestation. It's like basically based on what condition this workload been given some identity. This information is like very useful for detection and response purposes. It's very useful for, I don't know, some incident response that's happened three months ago. You probably want to preserve this information specific to attestation for longer time like one or two years probably but you'll need to kinda, this is something that you'll need to build. It's not like there is just log file basically in Spire. And the last thing I wanna quickly emphasize is on disasters and every like different scenarios and your comfort level. You probably want to start with a very high TTL for your identity so I would recommend like 30 days probably before you get comfortable and then build a plan how you lower it down. The big issue is there is like if Spire server is down then your nothing is working right? So everything that's already half identities will be able to use it but if they will expire then everything like you don't have authentication everything is broken. So your level of comfort is just basically how quickly you can rebuild an infrastructure and the way we thought about it is like if you burn down the Spire info right now if you can rebuild it in one hour so that double this is like how level of comfort for how long we wanna issue this identity. So it's like two hours in this case. Right, so give us some room to breathe. Yeah, automate everything from start to finish, test everything, do different game day activities and house engineering. The big message here is just make sure you're comfortable to and you understand what's happening when you, when something goes wrong like especially for monitoring and alert. Yeah, so there are some links for additional resources on this slide if you have any issues or have questions, find me, go to spiffy.io slag and thank you everyone for coming in here today. Now it's, okay, the question is whether Spire is for workload identification or for software identification, right? So the main goal of Spire is to provide identity to workloads and help to verify these identities and identities came into formats X519 and JWT tokens. It doesn't do, in the process of providing these identities, Spire agent does a measurement, right? So, but you need to know in front of, like before providing this identities, you need to know something about it, right? Like what user is running if it's under, if it's UNIX process, right? Or if you're running it on Kubernetes, what container image it's using, for example. So it does this measurement, but it's different from like software supply chain, for example, right? So thank you. Any other questions? I would suggest to think from there in this way, right? So it's like, I don't remember what's default TTL, probably one hour. I think it's too low, like, because if something goes wrong, you literally have a certain minutes to recover. If that's your level of comfort, this is great. I think we started with like seven days or something like this when we rolled out in production or maybe even like 30 days before you get comfortable and operational teams also trust you, right? Because remember, this is, everything depends on it in your infrastructure. Cool, any other questions? All right, thank you. Thank you so much. Thank you for coming in.


Hey everyone, welcome to this special CUBE Conversation. I'm John Furrier, host of theCUBE here in Palo Alto, California. We've got two great guests, a remote interview here, talking about generative AI and using AI for legacy migrations and taking advantage of the modernization opportunities that AI is driving, codeless opportunities to move those legacy migrations and modernize them for the future of the new application environment that's developing on top of cloud. We have Chris Casey, director and general manager of industry and technology partnerships with AWS Amazon Web Services and Gary Hoberman, founder and CEO of Uncork to talk about how to move those migrations into the cloud but also modernize and up-level them big time. Gentlemen, thanks for coming on theCUBE Conversation. Thanks for having us. Thanks for having us. Chris and Gary, I wanted to have this conversation to really get into some of the advances that generative AI is happening. Obviously, we see the hype of chatGPT that shows the ubiquity of the whole west of the world seeing the magic of the future of AI, but really it's been around for a long time with AWS and others, but it's generating opportunities to step-function areas. One of them is this migration of, say, mainframes or COBOL or old legacy, I still power a lot of the IT, but need to be upgraded but modernized but not necessarily replaced. Chris, this is something that you guys got going on with Uncork, your partner. Talk about this phenomenon, why this opportunity for IT managers, CSOS and CIOs to take advantage of this usable up-gen AI opportunities today to set this migration modernization. Yeah, firstly, John, thanks very much for the time. And listen, AI and ML is not something that's new to Amazon or AWS. It's been in the foundation of what we do best in terms of applying it to real-world scenarios. And we've got more than 100,000 customers who've using AWS's ML services. One of the things that we've recently launched is Amazon Bedrock. And really what we're aiming to do there is to democratize access to some of this technology, to any builder and any developer that's trying to build on behalf of customers on the AWS cloud. Obviously that might mean that some of those developers are building brand new solutions, some of which we probably haven't even imagined yet. But a lot of the time, those developers are actually innovating and either migrating or trying to enhance legacy systems. And really part of what we're excited about with our partner network is really deeply partnering with those entities and working backwards from our customer needs to identify industry-specific solutions that really help solve some of those challenges and move some of those workloads from on-prem databases and data centers into the cloud, while also improving the user experience. You know, one of the things that Amazon and cloud has proven during the pandemic, people looking back, and this is a common theme we're hearing at every event we go to from the leaders. The folks that were in the cloud before the pandemic took advantage of a tailwind and not a headwind, and that was a huge advantage for those companies. With AI, we're seeing a similar dynamic where people are recognizing if they don't get into the AI infrastructure aspect of it, they might be flat footed if the scale and speed of change continues to be the pace. In other words, the sooner you get in, the more you can take advantage of the opportunities. This is clearly something that's happening. A lot of this conversation is going on. Gary, you founded a company that's in the, I would say the big time tailwind with Uncork. You guys have a unique opportunity with AI to change the game. Take a minute to explain Uncork, why you exist, where this idea came from, and what your current status is. Yeah, you know, thanks John, and it's a pleasure being on here and with Chris and Amazon, the partnership's been incredible, agreed completely in the pandemic, showed how we could actually use technology, digitize, move faster. But what we did in Uncork was very unique and different. So I was an engineer on Wall Street back in 94, creating and coding systems. And I did that for many years until I became a global Fortune 50 CIO.  But the reality is the company does. And what I kept seeing was, as more and more code was produced, it was almost like this immense mountain that was created. And that mountain got bigger and bigger till the point, it was 80% of my budget. And the budget was over a billion a year. I was responsible for an influencing nine billion a year of spend. And I left that world, the corporate world, to see there's gotta be a better way. And we have to not only stop the bleeding of the new technologies, like you're saying the digital transformations, but how do you address that mountain that was built up, the legacy? And when you think about it, programming itself, a language, it's a language. And that's what Generative AI is talking about. That's what it does. There's been 9,000 different programming languages created since the existence to talk to a machine. And machines don't understand language, they understand data and binary. So, codeless to us is a simple concept. We removed all aspects of grammar, syntax, all the things that make a language look like ancient Greek to someone. We made it look like a democratized, simple data definition, which is timeless. And that's what the beauty of what on Quark is running on Amazon. And this idea of Generative AI being able to now take and tackle all of this 9,000 different languages into a unified data definition and ended going forward means reduction in costs, speed to market, all the things everyone's been dying to get to with technology, the promise of it. Yeah, and my mental models, I think about COBOL, I mentioned that, we were talking about that before we came on, it's still powering a lot of applications, banks or whatever. Give an example of this AI powering approach, because it makes so much sense. I'm trying to visualize it. Give me an example of how it works and how it's playing out for you guys. Yeah, and when you think about COBOL, so Assembler was an abstract, COBOL was an abstraction of Assembler and you could think about Java and all this abstraction layers we've been going on, the best abstraction we all know is the cloud. It's what Amazon did, it's what, and the reality is what cloud did was said, hey, there's a software-defined infrastructure, that's what cloud is, but it stops at the infrastructure, it never addressed the applications. COBOL, the actual apps that are being built, the green screens that are there. And when you take it up to the next level, as we did with on Quark and with this utility that sits above the cloud, what you start to see is you could actually understand the meaning of these applications and describe them in terms of readable data, democratized data. And an example would be as you could take an onboarding application at a bank or maybe in an insurance application or underwriting application or you walk in a hospital, federal government's a new customer. John, my favorite example was we refactored into on Quark, the entire COBOL system for New York City for marriage licenses. And we became the books and records marrying 38,000 people last year and the year before during COVID. So it's digitizing and it's a great example. I was one of those people, let's just say, going through this, and it worked brilliantly, but when you think about what it can do, that's the beauty of it. And John, what people don't understand is when you're creating software today, it's about 20% of your budget and 80% is running it after. So everyone thinks the finish line is we're live, like we're live, great, finish line, the reality is it's when the hell starts. It's like that's the pain, the suffering, the end, we're looking to end that with Amazon. That's where we're saying there's a better future coming. I can imagine the sales calls are pretty easy. Hey, I'm going to come in and help you guys out. Come on in, no one's brought a solution like this before. This is a game changer, and I can appreciate what you're doing because I can imagine the impact that you have in these meetings. But the question comes up with these legacy apps, do you maintain it or do you innovate it? And it used to be mutually exclusive, right? Do we maintain it or do we completely rewrite it? You're kind of coming at it and saying, no, no, we can do both. You can maintain it into the cloud while innovating it in real time and then giving them the choice to use the higher level services say on AWS to add stuff to it. Am I getting that right? Is that the core issue? You're absolutely right. Could you imagine being able to drag in all the bedrock features and services? We have an amazing demo with an image talk getting generated from Dolly, but then giving it to AWS reconcile and getting back or recognize and getting back all the information on the image. And we're basically scoring Dolly to see how well it did. But in reality, John, when you think about bringing in the best of technologies, it's like, that's where this relationship comes. And most importantly, what we're embracing and our success today is what we call enabling business led IT transformation. And this is the taboo, gotcha, let's just call it, John, which is the controversy, who leads IT? And the reality is business leads IT because they control the budget, the requirements, the ways what we do with Uncork and Amazon is we enable the business to participate in software development. Actually take an active role. Maybe they own the rules, maybe they own, and no longer this bureaucracy built up of walls between the groups. We bring them together for the first time. Yeah, and it really is an innovation story as well as a business value. It's really incredible.  And we were kind of, people stared at us like, what are you talking about? We were saying, you know, the cloud's horizontally scalable, you get the scale with the cloud, but the data is where the vertical specialization is in industries, you have domain expertise. You're starting to see that now with Uncork and these examples of Amazon where all of a sudden it's been like this enlightenment moment or this explosion of, wow, I get it now. It's like it's clicking. AI is now the app that sits on top of the cloud so that the domain experts can apply their data in whatever way they want to protect themselves but also innovate. This is like brand new. I mean, it wasn't as strong a couple of years ago. It's now clicking into high gear. Do you agree? What's your reaction to that? And what's your view of, you must have the same feeling of, you know, it's finally happening, it's happening big time. I do. And it's really exciting, John. I mean, I don't think we've even scratched the surface on the use cases that eventually can be unlocked here. And I think really what we're seeing is part of the recent launches you've seen from AWS is democratizing access to some of this technology. And certainly there are a lot of foundational models available. There's a lot of different large language models but a lot of them are not a one size fits all strategy. So really what we've been working with our partners like Uncork is to make sure they're following sort of a mental model of four key pillars, one of which is specializing. So identifying very specific industry use cases and workloads that they see that generative AI can actually help those customers innovate and change the status quo of maybe how a business process has been done before. Then familiarizing with the right foundational models. As I said, they're not all one size fits all and sometimes they need to be tailored for a specific use case to drive the right business outcomes, then get to building. And I think like, you know, a lot of our customers are very eager to start to run proof of concepts to actually try this out and figure out where it fits into their business processes. And really the third part of that is that customer engagement. You know, we don't know all of the potential capabilities that this technology can bring. And you know, I think with generative AI it's actually potentially changing the definition of a developer to Gary's point. You know, the business can now get much more involved in iterating on different potential user experiences which is really, really exciting. But that means the different permutations of where a solution might end up in terms of its state and the user experience is excitingly variable in that vein. And certainly companies that are even looking further beyond that as to, okay, we've got a different user experience that we're putting into production, how we then thinking about maintaining that solution to Gary's point long-term is going to pay dividends into the future if they're thinking that far in advance. Yeah, and the democratization angle is interesting. The data science went through this same thing. Oh, you've got to be a unique person to be a data scientist. Now that got democratized here, machine learning, you have to be really unique. Now you can democratize it with the cloud and you can see examples here. Gary, I want to get back to the codeless idea. I like this idea of codeless because what you're implying is is that voice could be doing, hey, computer.   So enterprises have debt, technical debt. You mentioned that earlier. Talk about the fact that you might have to run these legacy apps and then all of a sudden the regulations changes. Seeing regulations all over the world around locating in certain regions or applications might have privacy issues, whatever they are, there's new regulations. How do you bolt that on? And this is something that I see as an opportunity. How do you guys look at getting rid of that tech stack to modernize for the regulations and or changes that got to be coded into the apps? You know, John, myself and my team worked in highly regulated industries our whole life and it's where we started on Quark. It's really like when we talk about on Quark, it's like, yes, after your live in production, it's a 65% reduction in your cost and 100 times less bugs. We have eight times less defects than Linux operating system when we go live. That's the results. But what you're describing is why we created on Quark, which is imagine the world where in a codeless world, there's no more code generated. There's no more code allowed. And this was the premise while we built on Quark, which was if we could eliminate code, what it means is the upgrade path. So getting you on to the next version of on Quark becomes something of a click of a button with no risk. So for example, we've upgraded since 2019 on Quark 320 times, 320 version upgrades without a single customer ever knowing, but the beauty of that means all customers from Goldman Sachs and the finance side and CVS and then healthcare through the federal government HHS through New York City, they're all running on the same version. They're all running on the same code base, which means we're almost like a bubble, a protective container. So at the bubble level, what we're doing is we're the ones facing security requirements, ethical hacking, penetration testing, same as cloud, same as Chris does with Amazon, but it means at the bubble level, we're stuck to type two privacy shield, GDPR compliant, privacy 2020, Fed ramp certified and announced two weeks goes authorized operating federal government, HIPAA compliant, Wyrm compliant, ISO compliant, which means we launched an HR startup launched entirely on Quark and Amazon about two weeks ago. It went through the ethical hack with the flying colors, not a single issue. And first time I've never seen it done. That's the beauty is you could actually take out all of the concerns, the security testing, all from the customer and move it to us. Chris, how about the dynamics relationship and the dynamics with AWS? Because I mean, think about gen one of cloud, Dropbox, Airbnb, there's SaaS applications, ISVs and you are too, I guess, by Adam Sileski's definition, but you're really kind of building on top of Amazon's hyperscale infrastructure investment. I mean, you're taking advantage of all that work that they did, that's kind of like a super application. It's a super, because you're essentially a legacy software app that's putting a wrapper around these capabilities and handling for everything for the customer.  What's the Amazon connection there? Because I mean, you're essentially an extension of AWS by default because you're sitting on top of them. We are, the way we view ourselves, just you said, John, we're a boring infrastructure layer on top of cloud. And most of our clients are AWS clients and that's been a focus. We have others on other providers, but smaller numbers, but it means with AWS, we have the ability to bring in every single one of their tools instantly. So private, we could do private links so that we're actually behind the scenes, secure and connected to firewalls. You have the, of course, the whole bedrock concept of AI tools coming in. We have one of the biggest mortgage companies is working with us in Amazon using Appflow, which is the entire engine of actually how do you integrate and orchestrate? And it is beautiful when you see it working and tying together. So the relationship there is we're able to bring their tools and developer tools into a codeless world for others to just drag and drop and use for the first time.  Amazon's the cloud, you're the ISV. I mean, the lines are blurring, Chris, when you have this kind of next gen capability, they're got so much power. This is the benefit of this kind of next level of AWS because you have all kinds of data protection now with the AI. One of the biggest concerns right now is privacy and intellectual property. Bedrock has the capability to manage data on VPCs. All that's under the covers. So the speed game is okay. This is a huge unique nuance point. Can you guys talk about this speed game because Amazon set up with Bedrock to do first party, third party and long tail open source. So like all the models are running there. Yeah, I mean, speed does disproportionately matter in general, John, and especially in this space. And I think you've just hit the nail on the head there. The lines are a little bit gray in terms of AWS services and partner solutions. And ultimately that's actually great for end customers. One of the key aspects of what we're trying to bring with our partner network and even the AWS marketplace, which I know you're very familiar with, John, is the end customers are looking for complete solutions to help solve their business problems here. They're not really looking for a piecemeal where they have to put it together themselves. So the more that we can really improve that experience for an end customer, where yes, they might be leveraging the preview of Amazon Bedrock in terms of accessing those underlying foundational models. But maybe the customer doesn't even know that that's powering some of the user experience that they're seeing as they're iterating on an application with Uncork. Ultimately that is bettering the end customer outcome there. Chris, talk about the option with Bedrock and Amazon with from the data perspective, if you're going to be managing the legacy modernization path, you got to have that option. I mean, that's the biggest fear right now with each of the AI techniques is, where's my IP? Where's the data? Yeah, and certainly we take that very seriously and certainly the way we've designed Bedrock is allowing customers to access these foundational models through an API. They can point those models to certain data that's sitting in their AWS environments and get the results from those models without having to worry about that IP extending beyond their AWS environment, which is really critical when you're talking about some of these enterprise applications for Generative AI and certainly John, that is certainly one of the questions that I get asked most from customers when they're thinking about the utility of this new technology and they sort of understand it from sort of a social you and I are playing around with something like chat GPT, but the next frontier from an enterprise application, that's certainly very much front of mind for customers and certainly from our side, it's not only just the Amazon story and sort of how we secure our services and the cloud itself, but working with partners and Gary mentioned a whole bunch of certifications that uncork have to make sure that the security of the data in the cloud is still first and foremost at the front of mind for our partners and the end customers too. Gary, you know your peers, they think of the same thing, you got which foundation model to choose, what's your angle on this whole IP data? Where's that store? What's your reaction? Yeah, I mean, we always get that question because we have, we're OEM and a lot of other software you would never know existed today where they're using us behind the scenes or even in front to face the customer. So we designed it and when you think about leveraging Amazon and the work that Chris mentioned, we designed uncork to be single tenant because cloud has basically taken away the reason to be multi-tenant, which is a risk. Multi-tenant is this, it's a potential security risk depending on how you actually do it. To us, we're single tenant which means the customer gets to own the encryption key to their IP and their data that's unique to them, which means there's no keys to the kingdom behind the scenes. That is the most secure model. And we like to, you know, when you think about what that means is we can now store data for customers, PII data we're storing for banks and socials and data bursts, we're able to store that very securely with all the regulation and compliance needed in the Amazon bedrock, in the actual Amazon services here. If someone wants to upload a W2 document, we're storing it in S3 buckets behind the scenes and then we're making sure it's worm compliant, right once read many. And it's that relationship between the app and the cloud, which was missing all these years. When you think about cloud migration, when I was there at the earliest days when I was a city group MD seeing cloud come in and I watched a server move from under the desk to a data room to a data center to the cloud. And whole concept of that progression and abstraction was the beauty, let us do the work for you as a service. Like that's, so we've taken it with Chris just up to the next level is let us store your data. We have a new feature coming out, John. It's auto indexing. Let us auto index your data based on usage as opposed to where you think and get better. That's the benefits working with us in Amazon.  I have done right and it's a data problem and opportunity.  So it's input, inputs are huge in this, Gary, right? You got to have the right inputs, but the data because the outputs will take care of itself if you handle it properly. This is why I think I like the bedrock approach because you can handle the inputs and engineered and architect that. Absolutely.  And so like the beauty is, you know, with the solution with Amazon on Quark we could tackle those transformations that are still paper. And now you could use generative AI to ask those questions and get the responses as you're saying, the accuracy back. There's a great book called The Score Will Take Care of Itself about Bill Walsh. He focused on the inputs, not the output. He didn't care about the score where he cared about what was the inputs. I think we always love sports and allergies. So that's kind of the data AI game right now. It's not so much trying to replicate the large language models. It's get the inputs done, take advantage of the different foundation models. And that seems to be a great approach. You guys are doing great. I guess my final question to both of you guys, Gary in particular, what's next for on Quark? Where are you now? What's going to happen next? Because if you continue to do this, you're going to be the legacy cloud. You can just be like everyone come to you and just everything. And you're going to modernize all the legacy apps. John, like I built on Quark to fix the mess I left I saw for 25 years. I mean, I was like, that was the reason I went there was that. And what would be left is to actually make cloud migration successful because like the idea of a data center still being needed. It's a company that's confused in many ways to say why is that their strategic advantage? So that's where like to me, the excitement is actually changing in industry. We know codeless is the future of all software. It is clear as day to all of us and we see that that's the future coming. And to me, the future really becomes when as a consumer, you know, my son passes his driver's task he just did. I should have got a text automatically from DMV saying, congrats and by the way, we see you have Geico. Would you like us to add him to your pause? That's the world I'm from. That's where I wanted him to. I'd get many speeding tickets for sure. My insurance would go up for sure. John, we're watching your every moves rolling through those stop signs in California. Chris, your take real quick. I know you got a lot in your mind and a lot on your plate with a lot of these industries. Is that the same pattern in all the different industry partnerships you have that's scale everywhere kicking in? Is that Gen AI wake up call here? Same pattern, different use cases, starting to get very specific too. And I think each of the customers in all of the industries, one of the things they all have in common, they're very excited to reap the benefits of this and they're very eager to get started. And really from our perspective, we think partners are very much critical for AWS to mutually bring that value proposition for those customers. And we're ready to support our partners and customers through proof of concepts and funding and our working backwards approach to make sure what we're building is going to deliver the outcomes they expect. But yeah, certainly the commonality across the industry is they're eager to get started and eager to reap the benefits. The devil's in the detail though, in terms of which foundational models are right, how you customize them and tweak them for the specific use case that you have in your specific industry. That's the exciting challenge ahead of us, but it's going to be a fun ride over the next months. It feels like the early days of cloud, but a whole nother level of scale with AI, using AI for legacy. I love this conversation, AI and codeless. Gary, I'll give you the last word, last minute. Give the pitch for Uncourt, for the folks watching out there that want to be customers are swimming and sauteing in the frog and boiling water, going, oh my God, I got this legacy. What do I do? What's your pitch for Uncourt? Yeah, we democratize technology without compromising enterprise. And it's through codeless, which is another way of saying we convert programming language to data or data-driven software. And that's the future, is data-driven software, data is the best asset in the world? We make it your biggest asset in your company. It's all about the data. Chris, Gary, I really appreciate you coming on this special CUBE Conversation, Genitive AI that continues the conversation. We'll be talking about this for a long, long time. We're going to continue to talk about it. Thank you for spending the time and coming on the CUBE Conversation. Really appreciate it. Thank you for having us. Thank you, John. I'm John Furrier, host of theCUBE. We're here in Palo Alto, California for CUBE Conversation. Thanks for watching.


Hey everyone, I am Nathaniel Ruffal-Janez from Nintendo Prime and I'm on camera Let me know what you think about that But beyond that today I want to talk about an interesting situation that happened with GameStop and ThinkGeek and believe it or not the NES Classic Edition So at some point today earlier today after I made my initial video the NES Classic Edition went up for order in bundles on ThinkGeek.com and to be clear GameStop owns ThinkGeek, so full transparency GameStop and ThinkGeek same company and The idea that it's being sold in the bundle isn't new I mean come on they've been selling Nintendo Switch bundles since like what a week after launch And magically they always seem to find stock for those bundles But they can't seem to get stock of just a normal console, especially online And even in stores they seem to be pushing the bundles But the reason I want to talk about this is that this something happened here that seems insane to me How does ThinkGeek slash GameStop have NES Classic Editions in the end of July? To sell when they went out of production like three four months ago. I Mean this thing went out of production the month though Oh, I'm sorry that we do the month the Nintendo Switch launched it went out of production How the heck does GameStop so I think you have Stock of this to even bundle in the first place. I understand why you would bundle it But but how do you even have the stock to do it? The only thing I could think of is that GameStop the parent company Purposely held back stock of the NES Classic Edition to fulfill these orders and to Create these bundles where they make more money than they would off-selling the unit on its own And we know that GameStop makes these bundles all the time I just gave an example for Switch they did it for Wii U They did it for PlayStation 4 and Xbox one and 3DS. They always do it for the hot button items at the time, but How can they even get away with this like like is this gonna be start becoming a regular practice with the SNES Classic coming out our retailers gonna start holding back units that are sent to them Waiting for the unit to go out of production so they can bundle it together with other items and create a more expensive end product But ultimately a more profitable endeavor for the company selling them. I mean This is something that almost feel like this is not the fault of Nintendo But Nintendo almost needs to get on the phone with them and let them know this is not okay You can't be holding back stock to resell or sell at a later date. We don't make the item anymore it's extremely anti-consumer and It's easy to make that argument for their switch bundles as well The caveat with the switch bundles is that we know they're still releasing more switches And we don't eventually you'll be able to get a hold of these switches outside of those bundles Whereas the NES Classic Edition is done.   I don't know but right now they're not making any more of them They're working on the SNES Classic Edition and now we had to be scared that GameStop is going to do this And it pains me to talk negatively about GameStop and I've talked about this briefly in the past because my local GameStop stores There's two of them. There's one up in Eau Claire or down in Eau Claire and then there's one closer to me in Halley and They have pretty much excellent management and fairly good staff. I Don't think I've even had one What I would call it negative consumer experience in those stores never felt like someone was being pushed to me That shouldn't be or felt bad about games being opened or whatever the case of all the negative stories You hear about their game stuff. I haven't experienced those at my local stores I have experienced them at the storm all of America over in Minnesota, but I personally haven't experienced it So it pains me when these negative stories come up But just because I like the employees just like I like some of the staff at Nintendo and I like some of Nintendo's products Doesn't mean that I'm not going to point out issues when they arise and this is an issue and this issue directly affects Nintendo fans and It's it's pretty much BS It's bullshit that they held back units to selling these more expensive bundles Months after the device is no longer to be made now. It would be different if these were being advertised as Resales like if people sold them back their NES classics for cash or whatever the case may be and They're reselling them as a used or refurbished product That's different GameStop at that point could do whatever they want with the product Just like a pawn shop can do whatever it wants with it Just like if my buddy if I sold an NES classic to my buddy He could do whatever he wants with it, but this here we're talking about We're talking about brand new units. They're being advertised as brand new not not refreshers not refurbished not used Brand new copies of the hand. Oh I can't believe anything is they're gonna get away with it at least this time Maybe Nintendo will get on the phone and shame on you you shouldn't do that But ultimately Nintendo got their money for the units anyways, so Nintendo's probably not gonna do anything about it. This is just See I like making videos where I'm happy, right? I like to talk about how amazing the switch is and how great Splatoon 2 is and How excited I am, you know for Super Mario Odyssey? I want to talk positives, but man when BS happens I have to call it out I mean, do you think GameStop here's in the right that they have the right to do this? They obviously legally have the right because they're gonna get away with it But do you think that they have the right to do this? Do you think it's anti-consumer and I know a lot of you are GameStop and picketing and I understand that I totally understand no one should be blindly loyal to a giant corporate Entity and that includes us with Nintendo. We should not be blindly loyal to Nintendo as a company They exist to make money. They are a billion dollar company They didn't get to that million dollars by not making money Nintendo's about making money above everything else I know they make you think that they put things ahead of that But ultimately they are a business it is about making money and everything else goes to support the idea of making money So they're going to make dumb decisions like the voice chat on phones It happens they're doing it for business reasons that I try to understand at least even if I disagree with them but yeah, that's Man GameStop is really just Frustrating me and the sad thing is I know that the Xbox one X is gonna have pre-orders going up soon I've gotten some emails about it and I want a pre-order one But I would normally be pre-order at GameStop because that's my local game store I'm almost tempted to do it at Walmart now. I have a 24-hour Walmart so I could still pick it up in midnight but You know, it's not like Walmart's perfect either They do a whole bunch of shady stuff behind the scenes as well to keep their prices down child labor issues over in terrible countries that It's really hard to accept and in general electronics in general has issues with you know Child labor and unfair wages and slavery and all this stuff blood diamonds There's a lot of issues in the electronics field with where our products are coming from the parts inside it the metals and all that stuff, but Man, I am just I'm not happy. Let's just put it that way. I'm not pleased about this. No, I did not pick up one of these bundles Yes, I had a chance to get it and it would have been my chance to get an NES classic edition And I'm not trying to have like a spoiled brat like who cares that I don't have the NES classic edition at the end of the day It doesn't affect your life. It only affects mine and it affects my life like So little that it doesn't matter, but either way, this is really shady Yeah, that's all I got to say on this one Anyways folks, my name is Nathaniel Rufflejans from Nintendo Prime If you liked this video, you know what to do and if you disliked that video hit that dislike button Subscribe for more and as always folks, I will catch you in the next one


Hi and welcome to Cultural Characteristics. Here's where we're going. You're going to understand the concepts of common cultural characteristics and be able to list several examples of these kinds of characteristics in your own life. Researchers who have studied cultures around the world have identified certain characteristics that define culture. These characteristics are expressed in different ways, but they tend to be present in nearly all cultures. For example, initiation. This is a depiction of Freemason Initiation circa 1745. Rights of initiation mark the transition of the role or status of the individual within the group. In every business, there are groups, power struggles, and unspoken ways that members earn their way from one role to another. One might move from newbie to full member to keeper of the flame all within the few years of serving in an organization. Think about the history of the Coca-Cola Company. The history of every culture of every organization has a direct impact and influence on the present business environment. For example, there might be struggles between those members who have seen the company, weather storms, and those new members who want to bring new ideas to the table. All organizations and cultures also share common values and principles. Usually, the time and length that you're associated with an organization has direct proportion to your commitment to those values and principles. If you don't share the values and principles of the organization, your identification with that organization is very low and you're not as likely to stay with them for a length of time. One example of common values and principles is demonstrated by the United States Air Force. The Airmen's Creed states, I am an American airman. I am a warrior. I have answered my nation's call. I am an American airman. My mission is to fly, fight, and win. I am faithful to a proud heritage, a tradition of honor, and a legacy of valor. I am an American airman. Guardian of freedom and justice. My nation's sword and shield, it's century and avenger.  I am an American airman. Wingman, leader, warrior. I will never leave an airman behind. I will never falter and I will not fail. These values and principles create norms. Without reinforcement, these norms may change. The next cultural characteristic is that of a common purpose and sense of mission. This answers the question, why are we here and who do we serve? The answers to these questions are found in the vision statements and mission statements of almost every organization. Members are expected to buy in to the common purpose and sense of mission in organizational mission statements, actualize them, and make them a reality through action. Mission and vision statements are powerful calls to action for any organization. As Nietzsche argued, he who has the why to live can bear almost any how. Organizational cultures also have common symbols that mark them as a group. They show who is a group member and who is not a group member. You might have bumper stickers on the back of your car of brands that you respect. You're identifying yourself as a part of those organizations or even as a fan of those organizations. Cultural symbols include dress. For example, the suit and tie, the Scottish kill or the Islamic headscar. Symbols can also include slogans or sayings. These slogans or sayings can also serve a marketing purpose, but they may also embrace the mission or purpose within the culture. Symbols can also be used to communicate rank or status within the group. In many cultures, the person with the most status is entitled to a physically elevated position. Subordinates may be expected to bow or lower their eyes as sign of respect. When an organization moved from one office space to another, employees were given the opportunity to choose their office space. The way they chose their office space was by counting the tiles in the ceiling. The more tiles, the greater the office space. The larger the office space, the more likely that person would be perceived as a high status individual within an organization. Is your boss allowed to come and pat you on the back whereas you may not be allowed to do so because of cultural norms and boundaries? Communities also share their own language, their own jargon. Cultures are great systems for demonstrating the power of language in the communication process. Language has the power to shape our perceptions of our role within the organization. At Apple, even the roles reflect language and its power. The status of an individual who's labeled genius is higher than that of other individuals in the organization. Cultures also have rituals, the keynote address by the CEO. Organizations also have heroes and villains and stories that help strengthen the sense of culture within that organization. Rituals serve to guide our performance and behavior and they can be limited to small groups or celebrated across the entire company. Rituals can create a greater sense of unity within a group or constrain the group in ways that are unhealthy. One of Apple's organizational heroes is Steve Jobs. So to review, all cultures have characteristics such as initiations, traditions, histories, values and principles, purposes, symbols and boundaries. And examining each of these dimensions helps shed light on each organizational culture and how each organization will behave.


Well up 34 to Walker, the Wolves hosting Rowerville Eagle Valley opening possession. Gavin DeScheer creates the turnover, chases down the loose ball for the easy bucket. Wolves draw first blood, but moments later Tigers answer. Zach Ersefeld hits the tray from the wing. That gives him a four point lead. Walker would answer though themselves. Cole Nelson finds Cole Rasmussen. Cole the Cole for the bucket. This one will go to overtime and it's a close one. But the Wolves go on to win by six. If you enjoyed this segment of Lakeland news, please consider making a tax deductible contribution to Lakeland PBS.


Ice sculptures, a fishing contest, a silent auction, and a polar plunge were all part of a weekend long back to hack festival in Hackensack. It's kind of an event for locals. We have an event in the summer where all the lake people come. This event kind of was put together where the locals do stick around. You get to see them and yeah, it's a good event. There was a fish fry at the firehouse, a bake sale at the Legion, and it seemed as if every part of Hackensack had something going on. It's a small town where everybody works together for the success of all of us. The festival is great. It's all about people. It's the community coming together and embracing young and old and really enjoying that this is what winter is. But the main event of the back to hack festival was happening on ice. Dozens of people in crazy costumes decided to jump into this hole in Birch Lake to raise money for a great cause. Last year was down. I think there was only three jumpers and actually we jumped last year just to make it happen. But yeah, I know we had a good crew. Not even the sub-zero temperatures could stop people from taking the plunge. Go for it. Try at least once in your life. Yep. Exactly.  It's not that bad. To get the honor of jumping in the lake, teams had to raise money for faith and action, a non-profit organization based in Hackensack. To sum it up, it's really neighbors helping neighbors. It's getting local volunteers in any different area help those that are less fortunate. Over $5,000 was raised at the plunge for faith and action and the festival plans to be back at Hack for its 25th year in 2020. Reporting from Hackensack for this week's Northwoods Adventure, Anthony Scott, Lakeland News. If you enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland PBS.


Here's how we made this shot. Instead of setting up a crane, we built our own metallic frame, then fixed the camera to achieve the simple, effective, and accurate movement, seamlessly moving from overhead to backshot. This is how it turned out. Check out the full video on our YouTube channel.


Photo engraving on stainless steel with the Watson laser marking machine. Prepare the selected photo. To do this, you need to reduce or increase the photo for our workpiece. Convert the image to grayscale view. Adjust the contrast. Set a resolution of at least 150 dpi and save. Open the photo in EasyCAD 2. Adjust the size of the image to the size of the workpiece on which you will engrave. Center the image and set the convenient parameters. Specific radiation parameters will depend on the power of your marker. In this example, we use a marker with a 20 watt power. Select the minimum power for the lightest areas and the maximum for the darkest. Start engraving. You can achieve different shades by balancing the parameters of power, speed, frequency and number of steps. We will be glad to help you in choosing the equipment you need. If you have any questions or comments, please feel free to share them in the comments.


Good afternoon. It's time to move on to chapter 10. And we're going to be talking about mutable objects and we're going to be talking about some of the objects that are provided in libraries by the Java system. And the first one we're going to talk about is point objects. We're going to have objects for representing points. Now, why do we want that to be an object? Let's say, and I'm going to have to open this up here. I'm going to call this template. We'll call this points without objects dot Java. So instead of using the one that's built into the point class. Let's say I wanted to represent two different points on the coordinate plane. And I just want integers for their coordinates. So I could have integer x one become let's say three integer y one becomes four. X two is seven and y two is let's say 12. Now, if I want to get the distance between those two, I could say, and I'm going to make this a double distance. I could say that's going to be the square root of x one minus x two. That's one minus x two plus y one minus y two times y one minus y two. And then I could say system dot print line of. Let's just see if I've got that typed properly. And we can run that. And that's what we'd come out with as our distance. And let's say I wanted to write a method where I wanted to find the midpoint between x one y one and x two y two. Well, and at this point I would have sort of a problem. The reason is because let's say I want public static. I'm going to put a question mark here and I want to find the midpoint. And I'd give it an x one y one. Why to actually why one x two and why two. And then I would say, since we're going to be rounding off these coordinates, I could say mid x is going to be x one plus x two divided by two. And the midpoint why is. Why one plus y two divided by two. And now what do I return. I'm stuck. The reason I'm stuck here is because I can only return one thing. Now I could get around it I could use something really really ugly. I can say okay let's return an array of integers. And then I could say integer result becomes new integer to and I can say results of zero is middle point x and result one is mid why. And then I could return result. So when I treat the x and y coordinates of a point as individual variables. I rendered the ugliness like having to return to values. I need to create an array to do it. So I'd have to do something like this integer mid becomes midpoint of x one y one x two y two. And then I would say, so this is what I'm doing here.  I mean it works but he cats there must be a better way. The problem here is that the x and y coordinates really belong together as a unit. And that's what an object that's one of the things that an object lets us do it lets us take different pieces of data that are related to one another, and combine them into one nice little unit that we can work with together instead of separately. So when I import the point class from the abstract windowing toolkit, and that's a Java graphics package. And I'm not going to go into any detail on now. What I can now do is I say I want to build a new point object that contains both the three and the four package together and put that into a variable called first point. I can access the attributes I can say first point dot x and first point dot y. And then I can store those in separate variables, and I can print them out. And in fact, if I do that. Now that doesn't seem too exciting but we're going to get to the exciting point in a while here. In fact, listen, they called it blank here by the way in the book why the heck they called it blank that doesn't make any sense to me I think it's a meaningless variable name. And this is why I decided to use something slightly more meaningful, namely first point. Let's see what this looks like. What point is is an object now, or basically blank or what I not called first point refers to a point object that contains both an x attribute and a y attribute. The parts that the variables that make up the point object are called attributes or properties. So that's worth a note, certainly. And I've seen all three of these being used, and depending on what language you're using they will probably use a different term, but they all mean the same things. These are the objects data. So objects attributes are the things that an object has. And in fact, in our example, a point object has an x property. We'll call it attribute. And a y attribute. And now I can use those as a unit. Again, if I want to get there, they call them fields. Okay, there is attributes. So they're calling attributes in the book. Good. That's what I'm going to go with. This dot notation says or go to the object that blank refers to. And then get the value of the attribute x. You can also think of it, if you read from right to left as the x attribute belonging to the object named blank. And then I'm assigning that value to a local variable named x. In this case, there is absolutely no conflict between these. What was I here for example one, instead of calling them x coordinate, I could have called these x and y. And there would have been absolutely no conflict. This is the x that belongs to the first point object. And this is the y that belongs to the first point object. And this is a plain old variable called x and a plain old variable called y that has nothing to do with the object. So the fact that I'm using this dot notation, there's no ambiguity, there's no conflict between these. But I decided to use different names just to be contrary wise. And in fact, now we can pass objects as parameters in the usual way. Here we can now do our distance much more nicely here. What we can do is we can say public static double distance from point P one to point P two. And that's going to be math dot square root of P one dot x minus P two dot x plus point ones why coordinate minus point twos why coordinate squared, and we can return that result. So in fact, let's do this let's have our point second point be a new point seven comma 12. And then I can say, double distance between points is the distance between first point. And second point on the distances. Oh, dear me what did I do. I forgot a closing curly brace that's what I forgot. And by the way that's distances exactly the same as I had before that happens to be a distance method already, but I decided to write my own here just to show you that it could be done. Also, it turns out I did not need to have this print f to do this. Let me go into, hold on let me pause the recording for a second here to set something up. So if I import Java dot a w t dot point. I can say here point P one becomes a new point. Three comma four is this x and y coordinates point P two becomes new point. And then I can say P one dot distance to P two. And that will give me that and you'll notice that but to print it out here. When I printed out it automatically formats it very nicely for me. I guess I should do that in here. Let's do this and save this as point example to that Java. So instead of doing this business here. I'll say first point at. Let's do print Ellen. Plus first point. And then here my double distance between points is going to be first point dot distance to second point. That's another thing by the way that I can now do with objects so I've got the properties. And along with the attributes. An object contains methods. Methods are the things that an object does. And in our example. We can tell a point P one to give us its distance from some other point P two. So what I'm doing here I'm saying excuse me go to the object that first point refers to call its distance method and give it the second point to work with. And that will return the distance between the points. And if I compile that. And rename it properly. Notice here it prints out the. It's nicely formatted but at least it gives us the information about what's in there as opposed to a raise which certainly did not. Now you'll notice here that I have this distance. And that is a method belonging to the object. In the same way that when I had X and Y here. There was no conflict. There's no conflict between this distance method that belongs to first point. The distance method that belongs to my point example to program. But to be clear about what's going on I'm going to get rid of it. That will be absolutely unambiguous and guarantee since it's no longer there. I'm not going to be calling it. And the program will still work objects as return values. You know I'm going to go with this in a moment, but let's first go and get right that midpoint again.  But now I can do it much more needly with this. I'm going to say. Give me the midpoint, which is going to be another point. And I'm going to give it two points point P one. And point P two, which gives me P one dot X plus P two dot X divided by two. And point ones Y coordinate plus point twos Y coordinate divide that by two and that's my midpoint X and midpoint Y. And then I can return a new point. Whose X coordinate is mid X and whose Y coordinate is mid Y. And in fact now I can say double center is going to be midpoint of first point and second point. And now things look a lot better I don't have to fiddle around with arrays or do any weird stuff. Because the point contains both the X and the Y by using an object I can return both those values at once they both belong to the point object that I've created here. By the way I forgot to put the purpose of the program here is show how to access and print point objects show how to pass them to methods and return them from methods. I'm going to description on this one. No I did not. Shame on me have a bad person was here in point example one that represents a Cartesian point with X and Y attributes for the object. There we go that's much better. Here is how I pass objects to a method and how I can return an object from the method. And they did the object as a return value they did it with a rectangle where rectangles have an X Y width and height attribute. Okay let's do that example here it couldn't hurt. So let's open up our template file again. This time I'm going to say what my purpose is create a rectangle object and show its attributes and show that the object is mutable the attributes can be changed. I guess I'd better import that hadn't I. So I can say I want a new rectangle called box and it's going to be a new rectangle. And what do they do in the book there what they call 00 100 200. So it's at the origin. That's 100 units wide and 200 units tall. And when we print it. It gives us all the information we need to know what class it is and what the attributes are the X Y width and height. Now saying that's mutable remember that when we were back in with our strings strings were immutable. So I could not do strings stringing goals. However, with most objects they are mutable. So in this case for example I could say box dot X becomes box dot X plus five. And I could move the boxes Y coordinate by adding 10. And let's say I wanted to add with. I want to add 25 units to that. And then I print that. I can do this. The X and Y coordinates have changed and so has the width. I left the height unchanged. So not only can I use the dot notation to access one of the attributes. I can also use the dot notation to change one of the attributes to some new value. And in fact here what they did was they said let's give it a rectangle and return a point. And what they did there was finding the center of the rectangle and I'll let you look at the code there and figure out that it is indeed correct. And I've just shown you that rectangles are mutable. So if I wanted to be able to move a rectangle by a certain amount. I could say move it a DX for Delta X and Delta Y. Let's pop that in here. And then I could say let's move this rectangle again. And we're going to move the box. And we're going to move it let's say 20 by the in the X direction and 50 in the Y direction. Oh let's make it negative 50 in the Y direction. Sure why not. So this is the coordinate plane. We can have negative coordinates. Voila. So what happens is that what happens five plus 20 is 25 10 minus 50 is negative 40. Yes back to aliasing. When you sign an object of variable you are assigning a reference. So when I have a rectangle box one 00 100 200 and I say box to becomes box to one. I'm not copying the data. I have two references that refer to the same area of memory. And this is really important to understand just like when I had an array when I assigned one array to another didn't copy all the data. All I got was a copy of the reference. And because I'm doing this that also means that when I have something passed into a method when I change one, I change the other one. Okay, I believe grow is built into box. Let me just check something here. Okay, well, we'll find out in a moment. So let's go and look at this here. Yeah. So now if I say box to dot grow. Let's say how did they put it in here. And now I print out box one box one should also have changed. And if I were to look enough notice that the X coordinates have changed. And the width and height have changed from 100 to 200 and the height has changed from 200 to 300. Now, how do I know what grow is supposed to do the answer is, turns out it's built in. And if I were to look for Java dot a WT dot rectangle again this is a really great site to be able to look at it's called the Java API, the application interface. We can always look up any class like rectangle here. And we can see what all of its methods are. And if I say grow resizes the rectangle both horizontally and vertically let me make that a little bit larger she can read it. So it modifies that it's so it's eight units larger on the left and right and V units larger at both the top and the bottom. And we'll also change the upper left corner, and the within height even give a negative value for age and V the size of the rectangle decreases. And that's exactly what grow did here, I'm sorry, I'm, I'm, I'm. I'm I'm I'm I'm I've slipped a gear this afternoon because it looks as if I'm forgetting to write my plan first before I start writing. That's probably because I read the book and so okay there's my plan, but still that's not a good idea. This program show that when you assign an object to another object, you get a copy of the reference, not a copy of all the data. That means if you change the attributes for one reference, they get changed for the other reference. Because they're both referring to the exact same place in memory. Yes. This is sort of interesting. If you ever want to find out how these things are written, you can actually get a hold of the library source. You can see how Java dot awt dot rectangle was actually written, or how string and scanner work. Now they're going to be using a lot of constructs that you haven't learned yet. But it's sometimes sort of interesting to look at them. In fact. So we do that. Sure, why not let's open point dot job. If I can figure out where it is. See, I think I had a commuter science 75. Where did I put that. I know I unpacked it earlier here. JDK source. It's in Java dot base probably. Let's see here. Okay, I'm going to cheat. Excuse me. Excuse me while I cheat and figure out where it is easily. It's in Java desktop Java awt. Okay, thank you. So Java desktop Java awt. And here is my dot Java. All the documentation for it is there. And you'll notice it has an integer x and an integer y. And then here is how we build a point. And I'm not going to explain that because that's part of chapter 11, somewhere. But here, for example, is how do I move something to specific point, or how do I translate it with a delta x and delta y. And they do pretty much the same thing that we were doing. But this is the internal representation of a point.  It's all there. It's open source. So how cool is that. Now, one thing that's incredibly important to know is, we can document things what the attributes are and what all the methods are in this big long business here. Let's go back to point. This is point point again. And here where we have the fields and what they are and the constructors and all this other. Resmet has turns out you can also draw diagrams that condense a lot of that information so you can see it at a glance. And this is something called unified modeling language UML. And so here are the class diagrams for the point and rectangle class the UML diagram always has the name of the class at the top. And then it has the attributes. So the attributes of a point are it's x and y now notice this is totally backwards from the way that we do things in Java. Remember in Java we have to do things like integer x and integer y. Whereas in UML, we say x is an integer and y is an integer. So in this case, the field name comes first and the data type comes afterwards. So something to be aware of. What does plus mean the plus means that is publicly available. That means that the word public has been defined when we define the attribute again in chapter 11 we're going to see this when we define our own objects. There's the rectangle which has the x y width and height attributes all of which are integers. Then we underneath the attributes we have the methods, we have a method for building a point. That's called a constructor and the two string method for rectangle we had to string we had to grow and translate, which means move the rectangle from one place to another. Again you'll notice that the variable name comes first, then comes the data type and the return type comes at the end, not knew the beginning. So in Java, we say void grow of int. Where they call those here. So I got here, whereas UML says grow takes DX which is an integer and DIY which is integer and returns void. So everything just goes in the opposite direction. And that's just the way it is. Plus is public minus identify identifies private and we'll discuss those in chapter 11. This is a really good place to stop right now. What I may do is come back in later today, or tomorrow morning and do the rest of chapter 10 so that tomorrow afternoon or tomorrow evening rather, I can pick up and start on chapter 11 I need to get a little bit ahead of the game as I was saying earlier this week. I'll give you something to think about for now, and I will see you at the next mini lecture whenever that happens to be.


Hello Extraders, and in a previous video we actually covered the trading strategy that I use and I wanted to cover there very briefly the most important steps because I want to use what has happened this week as an example of basically how everything can just go out the window, alright, and as a trader you have to be prepared for this. So in the trading strategy that I set forth in that previous video, and I'll try to link that video in the description, we covered basically the following points. The first point or the first topic was the three realms into which you have to dive into and master as much as possible. The first one was the technical, it doesn't have to be in this order, the second one was the fundamentals, and the third one was basically general rules, and this part is very important because these two, the technical and the fundamental might fail, okay.  So that is what I'm going to use as the main example for today's video. So let's start with technicals, and the technicals, and as you can clearly see I haven't finished this presentation, but in the technical analysis when we covered this in the first video, we basically mentioned these four points, the trend, you must be able to identify trend, you must be able to identify SR or support and resistance levels, and there are a few ways of doing that. You must be able to identify if there are patterns in the price chart, and you must also be able to use indicators, learn how to use them, and more specifically, more importantly, learn what they tell you, but also what they don't tell you, okay, or what it doesn't mean. I've heard a lot of people try to start out trading using the MACD, you know, just the MACD, you know, whenever, you know, the MACD signals, then oh, he jumps into the trade or vice versa. That's a very dangerous way to trade. And then the fourth and final point, which we didn't really cover in my first video, was that once you have these things basically, you know, mastered, then you definitely need to get into the Greeks, and there's two Greeks that I will cover in this future video, which is basically Theta and Vega, and how to quickly cover, you know, these topics in technicals, then we'll jump over to fundamentals, and then rules, and then we'll discuss what happened this week, okay, so identify the trend.  We also talked about multiple touches and the fibs, fibs help you, and I usually add them in the end, so after I've added the swings and the multiple touches, I'll go ahead and I'll draw from the highest, from the all-time high to the all-time low, or the 52-week high to the 52-week low, so what you do is you take, as I mentioned in the earlier video, the next resistance higher to where you currently are, which would be right here, and then once that breaks, then resistance target 1, resistance target 2, and so on and so forth, or you take the nearest support below the current price, and that's your entry level, and then you have target price 1, target price 2, okay, and then the price patterns, if you are able to find, such as this head and shoulders here, and to wrap up the technical analysis, we looked at indicators, and we use simple moving averages, and sometimes the exponential moving averages as well, we use them as support and resistance, we use the MACD and the RSI to determine momentum and overbought or sold conditions, we use the volume profile, which tells you what price level has had the greatest volume, and we have a indicator called the Neptune Trading System, which is available on Xtrades to use on TradingView, developed by one of our analysts, JTW over at Xtrades, and it basically gives you, you know, long and short, bull and bear, and it gives you these flags and these signals that you can use to identify entries and exits, okay, so we were done with technicals, and then we moved over to fundamentals, and in fundamentals, we cover these four areas, and they're very important, there's market sentiment, general market sentiment, then there's also economic data that you need to be able to understand and parse through, there's production GDP, there's price information with CPI, PPI and PCE, there's job less claims, okay, there's the PMI, there's mortgage apps, which basically tell you what, you know, how strong the housing market is, and then you can dive into specific sectors, okay, because some sectors might be green, and some sectors might turn red, and finally you need to look at the TV news, because there's rumors, there's politics, and you know, political decisions affect different sectors in different ways, if they pass a law that's going to affect the energy sector or the housing sector, then that is obviously going to have a huge effect on tickers, or the last slide are analysts recommendations and upgrades, all of this taken into account, we developed a couple of trade plans, and you could see the trade plans or the watch lists, the different analysts posted for this week, you know, and a lot of them were bullish, I remember that a few, quite a few tickers that analysts were watching were actually very bullish, and then we get some economic news, right, so we got the PPI, the ISMPPI, sorry, the ISMPMI, which was specifically the sector, the services ISM, which is basically how did prices behave in the services sector, and that was not very good, it wasn't terrible, but it wasn't good, it wasn't what people were expecting, and there's so many tensions right now with China, with the Ukraine-Russia conflict, and basically that can take a really good technically, okay, a good technically analyzed trade plan that gives you a bullish target to the upside, and you were looking, let's say that this was a company, I believe that this is the Dow Jones, but that's the DJIA, but let's say that this was a ticker, and you also had, you know, like very bullish market sentiment coming out of the weekend, into the trading week, and the sector for that particular ticker was looking good, and that particular ticker even had an upgrade, all right, it's very likely that both technical and fundamental analysis was pointing you in the bullish direction, okay, but then something happens and everything comes crashing down, so what are the general rules? Risk management, number one, perspectives, you have to look at it from the right perspective, you have to look at your trades from the right perspective, types of assets that you're trading, strategies that you're using, and then platforms and tools and whatnot, so let's go over some quick risk management, the sizing of your trades is important, I'm sure you've seen the data, I'm not going to cover the specifics if you only use 1% or 5% of your trading portfolio, you know, whatever, the sizing is very important, so make sure that your trading strategy covers what size trades you're going to use, and I'll talk about this a little bit further in a moment, but one of the important things that is related to sizing is runners, whatever you size has to leave room for runners, okay, so whatever the size of your trade, of your trade plan is going to be, if let's say that you decide you're only going to spend $100 a week, which means very clearly you can only lose $100 a week, that's your max loss per week, alright, so you decide that you're going to take trade for exactly $100 on Monday, if that thing goes to zero on Monday, then you're out for the rest of the trading week, you know, you're done, do not break your rules or it's not going to work, so if you take the $100 trade on Monday and you lose, you're done for the week, you have to leave room for runners, okay, and what that means is that if you're going to have $100 to trade, if that's going to be your limit, then go ahead and try to find trades that allow you to get multiple contracts, and that means be able to accommodate runners, alright, number two is the different perspectives, do not use absolute values, please focus on return percentage, if you're going to look at a trade, make sure that you're looking to get out at 15%, not at $100, I say this to people so many times during the week because, oh, but I was only up, I was only up like $50, you know, I wanted $100, or I wanted $200, no, that's not a problem of not having enough return, that's a problem of you not having sized correctly, and I'll get to that really quickly in a minute here because we're almost out of time, and obviously perspectives you want to make a different, you know, you want to, you definitely want to define if you want a day trade or if you want a swing trade, I'm not going to get into this because this percentage return is the one that I want to cover in more detail, of course there's different assets, there's stocks and options, and if maybe options are not for you, you know, maybe they're very sexy and appealing concept in general, but maybe you don't have it in you at first to be an options trader because of the time factor, there is a huge factor working against you in making money and options, and that is time, okay, which does not occur in stocks, and then there's a lot of different strategies, do not limit yourself to single or naked options contracts such as buying calls and puts, there's a lot of other things you can do and we will explore these in future videos, there's a lot of tools, trading platforms that you can use, indicators that you can buy on different trading platforms such as TradingView, and I do not want to leave out the drinks, you know, a lot and we'll probably dedicate a different video for this, I use you know, a drink here and there to basically calm my nerves because I know that I'm a jittery person, so all right, so getting back to the sizing and the risk management which is basically what I was trying to get at when I started this video and I said no matter what happens in technical and fundamentals, even if everything is going right, anything can throw off the market and therefore your trade, which is why you must follow rules, so let's look at what I was talking about, you need to determine what kind of trader you are, okay, and if you're a more conservative risk averse trader then you must be careful when you talk about or when you view your trades as being, as having a percentage return versus an absolute return, why? Because it is a mistake to get one small single contract, just as it is a mistake to get one large single contract, okay, the reason why I say this is because when you are looking and this is where I'm going to end this video, when you are looking at a position that you have sized, if you size it too big like $500 that's going to make you way too jittery and you're probably going to end up getting out before the thing actually turns around and takes off and you're going to hate yourself for it, okay, so definitely do not go all in on just one contract that's worth $500, that's not going to work, okay, what you want to do is you want to be able to have more than one contract, okay, you want to be able to have more than one contract, so that means why? Because you want to be able to have runners, let's say that you get two contracts, then the first one you get out at 15% and then the next one the runner, you can let it ride until whatever percentage you want, but make sure that you lock and profits on that first contract and normally what you would do is instead of getting the $100 contract, get $250 contracts and then let the first one go to, let's say, you know, 15% out of 50 would be, multiply here, like $57, $58, okay, if you want more than $8 return on a $50 trade, don't go for a smaller contract, okay, what you want to do is you want to get more contracts of that same value, so what you want is instead of getting two of 50, maybe you get ten of 50, alright, what that means is that you'll reach your 15% and that 15% is going to be a lot more than $8 and that is what you want, that is how risk management works properly and that's why you have to size properly, you have to leave room for runners and it is a mistake to get small single contracts, sometimes we get smaller contracts because they're cheaper, but the problem is that if you get a cheaper contract and you didn't look at say, for example, the delta on that contract, which is why somewhere in here is the Greeks, okay, if you didn't look at the delta and that contract has a probability of going in the money of 10% or 15%, then basically what you did was you threw your money away, yeah, it was cheaper, you know, it was only $10 per contract so you were able to get ten of them so that you're able to get a lot of runners, but guess what? That small single contract, all of those small single contracts are basically just going to go to zero, so be careful, you have to be able to determine your size, how much you're willing to risk in a week, if you're going to risk $100, then try to find trades where you can get at least two contracts, start out with at least two contracts, that means $50 per contract so you can have one where you get out at 15 or 20, whatever percent, and then the next one you let it run to 50, and once you're comfortable with that and you've got a couple of trades or few trades under your belt where you did that, then go ahead and get three contracts, even though that pushes you up from $100 a week limit, maybe to $150 a week limit, but you already have practice with the whole proper sizing, scale out, leave runners. What you don't want to do is go in the other direction and get very small individual contract or very small multiple contracts of something that's 15% in the money probability, all right? So with that I'll leave it, I don't want to make this video too long, I just wanted to cover that really quickly and we will be looking into a little bit more one-on-one trading using visuals in the next video, so I hope you enjoyed this and if you have questions go ahead and ask me either in Discord or just comment on this video below, all right? Have a good one!