Hello, everybody. My name is Michael Abaman. I am the co-founder and the CTO at Aspecto and today I'm going to talk with you about how to get end-to-end visibility into complex transactions using open telemetry. That is a big statement and let's break it down. So we are focusing here on distributed application, microservices application. We're talking about the scenario when you have services that's communicating using some kind of a message broker, such as Kafka, Q, Redis Pub, Sub, SQS, any one of those kind. And we are trying to make sure that we are able to visualize an entire process. And the way that we are going to do that today is by first understanding what is end-to-end visibility, what it means, what our expectations are when we are saying end-to-end visibility.  And in this live demo we are going to show an application that using Kafka.js and Node.js. And this demo is going to have two services communicating through Kafka, and we are going to implement open telemetry to gain end-to-end visibility. And this is going to help you, of course, understand what is open telemetry, how it's correlated to end-to-end visibility, and eventually have the whole understanding of how to achieve it. So why am I speaking to you about it? So just because I have some experience with it, I've been working with microservices and distributed application for the past five or almost six years. Most of the time as an independent consultant helping companies start up, break their monolith into microservices, the microservices grew and they had tons of issues. I came to help them and took this knowledge into aspecto, and again, focusing on microservices. Cool, so that's about me. Let's dive right into it. So let me give you an example when I say end-to-end visibility, what do I mean? So everything starts with having a service, right? I have a microservice, and this service needs to communicate with the rest of the world. And you may start, or in some cases you start using HTTP when service A wants to communicate with service B. That's fine and that's great, at least for some cases, but in other cases you're going to find out that if service B is not available, or if service B is under a lot of load, you may find yourself losing data, because if service A sends an API code to service B and service B isn't there, that's a problem. We lost the data. So what we want to do, or what we can do, is service A is going to send a message through some message broker. The message broker is going to persist the data, then service B is going to consume that message and handle it. That's all great, so service A is going to produce a message, in our case, to Kafka, but again any message broker applies here. That's how the messaging persists. When service B is available, it's going to consume that message and then do something with it, let's say persist it to a database. For me, that's the basic of end-to-end visibility. I want to understand a specific message, how it propagates throughout my system, what services took place, what they did with that message, and that's the most basic things. It usually starts to get more complicated when I may have more than one consumer, because maybe the service C also consuming this message. And it's very, very hard for a developer or for a DevOps or SRE to understand for a specific message, who are all the consumers, who is the producer, that could be very, very complex and this is what I want to get from visibility. To give it some kind of definition, so I want to visualize a message and I want to answer those three questions, who is the producer, who are the consumer, and for each consumer, what did it do with this message? And then that means that they can take every message in my system. I can track it, I can know why it was produced, I can understand who consumed it, and I can understand what they did with it. It could be very, very beneficial when you have evils or some issues in production, trying to understand what happened. It could be beneficial when you're working in a local and trying to figure out how it works. And that's what I want from having end-to-end visibility. End-to-end visibility, basically, we can call it also traces. Maybe you're familiar with similar traces, maybe not I'll take you through it right now. So distributed tracing is the ability to collect data that will tell us the end-to-end visibility. There is a project by CNCF called Open Telemetry. This project knows how to collect traces. I'll show you in a second how it looks like. And Open Telemetry is responsible for the collection part. It knows how to collect it, it knows how to ship it, then you need to figure out what to do with it, how to visualize it. So you implement an SDK within your code. There are a lot of programming languages supporting Open Telemetry. And once you send it out, we need to visualize it either as end-to-end or by an open source, as you will see in a second. So to give you an example of how a trace looks like. So this is a trace. We're seeing here Yerger UI. Yerger UI is an open source that knows how to display traces. And the trace that you can see here is a quite simple one. I wouldn't say there is tons of end-to-end visibility because everything here is synchronous and HTTP based. Well, almost. But let's try to figure out this UI and what we can see here. At the left-hand side, we have a preview. And in this review, you can see that older services are getting an API code to slash purchase order. Then it communicates with the user service and sends an API code to slash user. Then we have older service and order service, then sends an API code to stock service to update the stock. Stock service runs a DB query against stock site and then updates an item. And then older service publishes a Kafka message called new order. So basically I told you a story and unlike logs, I have the context of what happened here. So when I'm looking at each, let's say log entry, at each line here, at each event in my trace and events called spans, I can know who is the parent. I can know who caused it. I can have the context why it happened. So every line here represents a part of the story and you know the previous thing that happened that caused it. And this is very powerful. This is taking you to a whole new level talking in the stupid application, because when something happens and you ask why just look one row above and you have the answer. And at the right side we have a timeline. At the time we can see for each span, how long it took, and this is why it's called a span because it spends over time, it has a start point and end point. And it's not only telling you how long it took, but it's also telling you in that story, what was in parallel, and what was synchronous. And you can see that only when the user service call ended, then the update stock started. Basically, it's telling you the story. Hey, most probably this update stock can start unless slash verify is complete. So this is a trace. This is what we're trying to achieve. And it's easier when talking about synchronous stuff. It's getting a bit more complex talking about asynchronous stuff. And this is what we're going to achieve today. So, I want to take you through open telemetry and how it works in concept just before we're diving into the code. So you'll have an understanding how it works in theory, and then how it works in real life in in actual code. So we have this setup, we have a browser, send an API code to Service A, Service B, and then a DB call. And in each service we have open telemetry implemented within the code. And when, when we said earlier that we are having a context, we have a tree view to have a tree view, you need to have a parent child relation, and the service a interactions are the parent of service be interaction. Service B is going to report A, I voted DB query, it should report that the parent who caused it is service A. That means that the context between service and service B needs to path with the HTTP call that we have between those two. The open telemetry, when it sends out an API call, it sends out an HTTP call, it's going to inject in the header the trace ID. So service A inject in the header the trace ID to service B, so, and also the parent ID. And that would cause that when service B is reporting on what what happened reported under the context of service A. For the purposes of making it simple, let's say that the open telemetry points directly to trace database, of course, it's a bit more complex than that, but to make it simpler. So service A is reporting, hey, I'm sending an API call to service B, that's trace ID number one. Then service B call is reporting, I got an API call, I got an HTTP call from service A, that's trace ID number one, but also it's the child of the span that service A sent. And then when service B is reporting, I did some DB query, it also trace ID one and saying that it's the child of the span that happened in service A. That's the, that's the theory of how it works. And that's what enable us to create this beautiful digitalization that we saw earlier in in Yegev. Cool. So let's dive into how this thing looks. And as we said, we are going to have a project in OGS, we are going to use Kafka. And then we'll have end-to-end visibility. So let's jump right to the code. So what you can see here is a very, very simple project. We have two services, we have the consumer service, the consumer service is creating a Kafka consumer. Next to Kafka, next to Kafka, then it subscribes to a topic called the test topic. And on each message it received, it just logs it into the console. Very straightforward, very simple. The producer service is creating a producer, connecting to Kafka, sends a Kafka message through the test topic with some value. And it's doing that only when we send and get HTTP call to slash produce. So just to make sure everything is working, let's round those two. And we will just jump to our slash produce browser. And we ran it, we got an okay to make sure everything works. We just expect to see the consumer that it console the cool because that's the value that we send. And we can see that we wrote the cool message. And that's cool. But it's very, very simple. And we wanted to see how open delimitry works. So let's do it. Check out two. And we are progressing to the next level. So now we added both in the producer and the consumer in the first line of code, we are importing a file called import a tracer, and we are initializing it with some service name. So let's open the tracer to understand what it is and what it's doing. So what you can see here, we are having a basic implementation of open delimitry. The first thing that we do is we are defining where to send the traces to and as you saw earlier, we are using the anger. So we will be able to visualize it. Then we're initializing the node SDK with the service name that we got. Here it was consumer service here it's producer service. And we're asking open telemetry to do all the instrumentations automatically. So let's see that something works and something don't works. Kafka doesn't work out of the box. And we would start with making a bit complex with manually integrating Kafka and then we'll see a far easier solution. So let's run the consumer. Let's run the producer. And let's see what happens when we implement open telemetry. Run the producer. Yeah. Okay, so I'll go into cool and do cool number two. Okay, we did cool number two, we expect to see cool number two, we have it. And we also have Yeager available. So looking at Yeager, we have the producer service. That means that we got some traffic. And looking at the producer service, we can see that we have a get to such produce. Get to such produce we had some middle well some middle well some request center for such produce, but we don't have anything related to Kafka. Also, we can see the consumer service right here, even though we should have seen that. That's not that bug that's expected, because we as we said the Kafka is not supported by default, and we're going to now add it the hard way and then the easy way. So let's start with adding gates so let's do check out number three, and I'll spin up both services but let's review the changes that I implemented in the code. So the chances that the input I implemented are fairly simple. I grabbed from open telemetry my tracer. That's allows me to create spends by myself, and I am in my API call within the implementation of my API code. I'm starting a new spend called produce message. And after I completed sending the data, I am closing that spend the same goes for my consumer. In my consumer, I created a new spend called consume message, and I'm closing it. So basically what I did, I did the manual instrumentation I manually went and changed my code, my application layer code in order to have end to end disability. In some cases that would be required in others we will be able to avoid that. But I want you to see how it really really works will have a good understanding of open telemetry before you're getting the cool stuff that everything just works out of the box. Okay, so we did that what we expect now to see after sending an API code we expect to see those spends in our grace. So let's go back to our test page run cool number three let's validate that it's still working. Yes, it is. Let's go to Yeager and refresh Yeager. So first thing first, we can see that we are now have posted producer and the consumer. That's super cool. Let's see what we have in our producer. And then we used to have four spends. And now we have five spends. Cool. That means that we have one new spent. And yet we have the special produce and now we have to produce a message, the producer message. That's exactly the text that I had it right here. That means that we are able to mark that we send the data to Kafka. However, we don't see the consumer side. And that's what we wanted to do. We wanted to make sure that the produce side also is available here. So looking at at the search, we did see the consumer so let's see what we have the consumer. In our consumer we have the consumer message. And we can actually even see the value that I wrote down into the spend with cool number three. So the data is here but for some reason, I don't have any official together. I have broken into two different sections. This is a bad thing, we need to fix it. And the reason is that if you recall in the slide that explained you that open telemetry automatically injects the context into the HTTP headers. We didn't do that. And very happily Kafka allows us to have headers. So when I checked out code tag for you can see here that I am injecting the current the active span into the headers of the message. So I don't know if you know but Kafka allows you to have headers. Pub sub message book is allows you to have some kind of a metadata that is being sent along your, along your messages. So in the producer I injected it, and in my consumer, I extracted it. And the code here becomes a bit complex, right. This used to be only this portion of code. And now the things starts to look a bit awkward. Again, this is for the purpose of showing you how to integrate it how to be open telemetry experts. And our last thing that we will do today would be to simplify it all over again. But let's see if everything works. So I am doing yarn consume, I'm doing yarn produce everything is initializing looks like it's going to work. So let's go back to our tester and let's do cool number four. We got an okay, we can see here that we got cool number four, we can see here that I logged the headers. So the headers. You can see here the trace parent. When I said that we're saying the trace idea but simplified it with any trace parent this is some encoding for more than just in the 90. So our eventual goal was to go to Yeager. Go to the producer. And, as you can see here now the search produce has six bands. And now we can see both services, I can see the consumer and the producer, all together. And now the producer is here and the consumer here as a child of the producer. And now we can see that we were able to get end to end visibility. Anything that will happen in the consumer service will be also available right here. If I have multiple consumer, they'll be right here. We got through a lot of work, we got it working. To ease your mind that it could be far more simple. Let me just do check out number five. And you can see that we are back to the very, very simple code of just logging it. Same goal for the producer, nothing special here, nothing that relates to open telemetry. I did do one thing. I created a tracer file. I added open telemetry instrumentation for Kafka JS, and just added a new instrumentation. That means that this thing could be auto instrumented. Just let's see that everything works. And then we'll be super happy. And you can see that we could do HTTP automatically. We could have done, we are, we are able to do Kafka automatically as well. So let's do code number five. We still have number five. We don't have the log to trace the trace parent as we had before. Let's search for the last one. And yet everything looks the same. We can see that everything works as expected. And that's all great. So every time that you're implementing open telemetry, and you are missing some kind of data, most likely you're missing an instrumentation. If you can pass here an array, a list of instrumentation, some of them are automatically some of them you will need to add manually. And if you are looking where to search, you can go to open telemetry.io and in open telemetry.io, you will have the registry. If you're looking at the registry, this is where you can find all the different instrumentation. So if you're interested, for instance, in JavaScript, and then you're looking for instrumentation. Now you can see the whole list of all the different instrumentation. So if you're using MongoDB, you have that. If you're using MySQL, you have it. You can see or GraphQL, whatever. So if you're missing some data, don't start to manually instrument it yourself. As you saw, the code was rather complex and integration of open telemetry in the application code could make it just harder to read because all the developer needs to suddenly understand open telemetry. And if you have an auto instrumentation, it keeps the code very, very clean and very, very simple. So I would urge you to first look for an instrumentation before you start to make changes by yourself. So we are looking at what we learned. So basically we learned open telemetry. That's the basics of having an instrumentation by ourselves. And if you want to be able to collect this data, you need to understand how open telemetry works. You need to understand very little about open telemetry. You can use SDK. You can just grab the code and put it in your own code. Different languages, the implementation would look at the different overall, a simple, you know, a simple process. If you're doing distributed systems, I think you have to use it. It will make your debugging and troubleshooting life way more easier.  Always look for an open instrumentation, as I showed you in the registry, if you are lacking it and you don't have it. I think it's worth the effort to either do an, you know, a manual instrumentation as I showed you, or maybe write your own instrumentation and publish it to the registry. If you have the time and effort, that is a very fun thing to do and you will learn a lot from that. So thank you very much for, you know, listening to this talk. If you have any questions about distributed application, open telemetry, message brokers, feel free to reach out. And thank you. I hope you learned something new today.


Did you ever get on a ride and want to get off? Did you ever push away the ones you should have held close? Did you ever let go? Did you ever?切 you ever Ugh Dad you ever did you ever did you ever? Did you ever did you ever did you ever? Did you-you-ever Take you ever I will I don't want to win this game if I can't play it my way I'm not gonna stop that who I am I'll give it all I got, that is my plan Will I find what I lost to you? No, you can bet on it, bet on it, bet on it, bet on me I'm gonna make it right, that is the way To turn my life around today is the day Will I find what I forgot to meet? I'll say bet on it, bet on it, bet on it, bet on it Hold up I'm gonna win this game, bring it on now Gotta work on my swing, gotta do my own thing Oh, hold up It's no good at all To see yourself and not recognize Out on my own, it's such a scary place To turn my life around, the guy who gives what I say is dead


Oops. This is The Daily Tech News Show for Wednesday, December 26, 2018 from DTNS Headquarters in Los Angeles. I'm John Merritt. And from Studio Feline, I'm Sarah Lane. And I'm the show's producer, Roger Chang. Welcome to our listener co-host show. This is the annual episode where we invite some of our supporters, some of our members, some of the DTNS audience folks that we do the show for to come on here and talk to us about what they do and why they like technology and why they listen joining us this time. We're very happy to have pianist and composer Justin Coughlin. Justin, thanks for joining us. Hey. Glad to be here. Been a big fan since Buzz Out Loud and i5 for the iPhone. So this is very exciting for me. All right. Good. Yeah. Go way back. Yeah. Yeah. Thanks for being willing to do this. So Michael Parker, who's a purchasing manager at ACD Distribution, thank you, Michael, for joining us. Hello. And we'll be talking to everybody about what they do, including our other guest, Liam Hughes, senior software developer at Focus Software. Liam, thanks so much. Glad to be here. Ah, you're in Australia, are you? I am. So it's December. Let's give it a wait. For you. Yes. I'm in the future. Yeah. We're all kind of in the future. In a way. But you're even more in the future. Yes. Well, thank you guys so much. I know there are so many people who respond every year who want to be on this show. And we really appreciate all that response. And I always wish we could just have everybody. But for reasons of listenability and production resources and whatever, we have to limit it to three. And I think we picked three folks who can represent some interesting viewpoints. And if you didn't get picked to be on the show this year, keep asking. Keep trying. We'll start by talking to Justin. So you're not just a pianist and composer. You're also a touring musician and educator. And you also can't see. Yeah. You're blind, right? That is right. Totally blind. And that's pretty much my story. I told it all for you. I'm so sorry. Oh, no worries. Yeah, yeah, yeah. I guess just a little bit of background of where I'm coming from is, yeah, I play jazz piano. Don't hold that against me. I love jazz. That's all right. Like, you know, all kinds of music. But as a jazz pianist, I think for a long time, my aspirations were pretty low. But a crazy thing happened about almost 10 years ago. A buddy of mine decided he wanted to make a film about one of our teachers. A guy named Clark Terry. And he wanted to film, he filmed for about four years and threw me in the mix as one of Clark's students. And after the four years, they actually made this movie. Crazy thing happened is that through the filming of the movie, we met Clark's first student who was Quincy Jones from the 50s. Wow. Wow. So the movie gets made and it gets out there. And ever since meeting Quincy, I've been working with him. And that's kind of because, you know, as a jazz pianist, my goal was to be a good musician back in Virginia. But now I'm living out in the LA area. And when I'm home, I'm here with my guide dog, Candy. And when I'm on the road, accessible tech is extremely helpful. Yeah. So tell us a little bit about the tech you use to get by in your day, both at home and on the road. So, I mean, I probably would start to say that just technology in general. For me, in my experience of it, it's split into two parts before the iPhone 3GS and after. The 3GS is when Apple introduced VoiceOver, the screen reader for the iPhone. And that was groundbreaking because first of all, I didn't think I would ever use a touch screen, but they created an interface where basically I dragged my finger across the screen. It tells me what's there. And not only do I know what's there, but I know where it is, which is a new thing for a blind user. The other thing was that I could actually have something that was cool. Like an iPhone. Before then, you know, blind tech was always quite old, very expensive, and, you know, definitely not cool. So, the iPhone is this Swiss ironing knife of very useful tools. So, when I'm on the road, you know, hotels are always different. So, FaceTime for me is a godsend because I call somebody back at home who I trust and we walk through the room and they tell me where the thermostat is. I said the thermostat. We go into the bathroom and I find out which one of the four identically shaped bottles is the shampoo and the conditioner. Because I don't want to wash my body with conditioner. So, that was big, being able to use that to get sighted assistants remotely. And then PayPal and Venmo, of course, everybody uses them. But for me as a band leader, this eliminates the stress that I used to have. Like, do I have to write checks for my band members? And I don't really want somebody else writing the checks for me. You know, I don't want them giving themselves more money than I want them to. So, PayPal just simplifies everything and I'm, you know, I'm using the same tech and the same apps as everybody else. But it's been... In a different way. Yeah, it's been extremely... Justin, here's a question I have for you. Because we try to cover assistive technology as much as possible on the show because it's important. You know, most recently we covered the idea of Instagram photos having, you know, read out loud descriptions, either by AI or if a user submitted it. How much are some of these technologies really lacking for somebody who's actually living and breathing this? I'm glad to see any developments. I'll say when Facebook rolled out their AI described pictures, it wasn't too exciting. So, when AI does it, I'll see that somebody posted a picture and it'll say so-and-so is in the picture. And I'm like, well, that's cool, but also not terribly helpful or descriptive. Right, the context is lacking. If a user is able to go in and actually enter in text to really paint a picture for the blind user, that is cool. And of course, if AI gets better, then we might have more substantial things coming from that. But it's all baby steps. I'm just happy to see any progress. That's always exciting and to have it covered in any news platform is just always good to see. I like seeing the Microsoft story that you guys reported on about the closed captioning in real time. Because all this stuff helps. And Microsoft actually has been doing a great job. They've rolled out Soundscape, which is a GPS app. It's free. I've downloaded it on the iPhone. And they've also rolled out another app called Seeing AI that reads currency. So, I actually know what dollar bills I have. So, it's just good to see things being rolled out by the major companies. Not by a specialized blindness tech company, which is good too. But it's even better when it's mainstream. Because then I feel included. Now, I know that Roger said that you had a question you wanted to ask us about. Yeah. I've just been curious. I've been watching these or listening to these podcasts for a long time. I'm curious if somebody is watching the video, what do they see? Is it like Brady Bunch? Is it that kind of thing? Is it Hollywood Squares? Well, it's not unlike that, I suppose. I mean, if you're talking about the Google Hangouts experience, I mean, as far as Tom and Roger and I go, and all of our regular contributors, we all kind of have our little backgrounds. Certainly at my house, you'll see a dog and two cats walking around behind me very regularly. You know, at Roger's house, his daughter maybe makes an appearance every so often. Tom's pretty good about all his free friends away. But yeah, that's an interesting question. Because of course, we know a lot of people listen to our audio show, but don't watch it. But if you could never watch it, what does it look like? Because I go back to, you know, I listen to Buzz out loud and I just imagined a round table and I don't even know if that's correct.  But yeah, it was just something that I had wondered about. Video automatically switches. It's full screen for each one of us. So it's not like Brady Bunch in that way. Each one of us is on screen as we're talking. Hangouts will automatically switch to the person that's talking. And then down in the bottom, we have little chicklets that sort of see the other person's camera. Everyone hanging. So like right now it's like one, two, three, four, five, seven of us. Yeah, because there's two of them down there. Yeah. Got it. So it's mostly full screen though. Okay. Very cool. Yeah. Well, let's talk to Michael a little bit. Michael's a purchasing manager for a distributor of hobby toys and games. Michael, what kind of content? What is it? Is it tabletop, RPG, all of that kind of stuff? So we focus on analog hobby games and toys. So we service a lot of independent retailers. So, you know, in the LA area, there's, you know, like Gamescape or up in the San Francisco Bay area, there's a number and game out in Oakland, as well as Gamescape in San Francisco and San Rafael. So these independent retailers are getting product, Magic the Gathering, Dungeons and Dragons, other role-playing games, other board games, miniatures games, hobby supplies, all of these things and the majority of them are purchasing from distributors or directly from the manufacturer, depending on their relationship or how big they are. Like a lot of these small independent specialty stores don't necessarily want to have a relationship with, you know, 50 to 60 different manufacturers that might be their top sellers. So they'll work with distributors who aggregate that content down and, you know, combine shipments to make shipping more reasonable and justifiable and things like that. And that's a lot of what... So I am on the not sales end. I'm on the purchasing end. So I work with the manufacturers to bring in inventory to our warehouses and then our sales team takes that inventory and resells it back to those retailers. So the hobby shop buys from the distributor because that makes it a little cheaper to get a lot of things at once. And you're the guy that makes sure the things are on the shelves when they order them. Correct. Okay. Let's make sure I got that right. Yep. So what kind of technology do you use? I'm sure you use a lot. I mean, we talk about logistics quite a bit on the show. So the interesting thing that I thought that I could kind of share was just kind of... Particularly when you talk about, like, Amazon or some of these really big players kind of in the supply management space. Amazon obviously operates a number of warehouses that are both direct to consumer as well as they operate their services platform. A lot of the technology that they're starting to develop is probably years to a decade down the line for what we could start using. So a lot of what we're using is a little more designed specifically for kind of the cottage industry that I kind of operate in. So from a purely technological perspective, a lot of... Like we are using modern warehousing techniques and things like that, but a lot of what we do kind of from a supply chain management is we're really excited about some of these developments that we're going to start seeing down the line, particularly when you're talking about being able to verify shipments through blockchain or getting better analytics as far as kind of how our delivery schedule works. Because a lot of that is stuff that we're still needing to do manually and when you're talking about games and toys and books and things like that, a lot of those industries are stretched back into a lot of the pre-internet days. So we're working with... And particularly us as a distributor who works with a large volume of manufacturers, we're dealing with wide variances of technological level infrastructure within those manufacturers. And then we need to kind of translate that into how that's coming across in our system and ultimately to be able to give the retailers and the retailers, the end consumers the information about, well, I want X product, I want X game, or I want X book, or I want these toys. When are we going to get that? Managing that information flow. You sound like the kind of person that people would assume would be worried about automation eliminating your job. Do you feel like machine learning and AI is just going to make your job better or are you worried about eventually some day, uh oh, they won't need me? I'm not as worried about that specifically with automation. I mean, I'm looking forward to automation coming in and taking pieces of my job away that I have to do manually. I long for the day that I can make certain elements of my workflow easier. But there are definitely things I think in the supply chain that are going to be automated out of the human intervention. And I'm not necessarily worried about those and specifically in my industry a lot of it is user tastes. I mean, similar things you would see in kind of like book publishing or fashion or things where the end consumer preferences are very high, influence the market quite a bit. You're still going to have kind of taste makers or gatekeepers that try and distill information from kind of early in the supply chain process to anticipate what is going to be popular within consumers down the line. Yeah, I feel like that sounds like the kind of thing that AI is good for in medicine, right? In medicine, you don't get rid of the doctor. The AI helps the doctor diagnose by suggesting things. I feel like AI could help suggest things to look at to capture those early taste maker situations. But you still need the human touch in there. Absolutely. So one of the tools that we've used is we've used inventory analytics software that kind of helps grade products along with varying criteria and then throws up basically infographics or metrics to say here are the number of products that you have in these categories and these are the ones that have this level of high velocity versus these are low velocity and you can start using that information intelligently to say, well, I now have these that are an accelerated curve for what I need to purchase. Maybe I need to go look at ordering more or these have slowed down. Maybe I need to start divesting myself of inventory or not worrying about restocking that particular line. So we've used a lot of that particularly in the toy market which is somewhat new for my company. We've grown into that space in the last year and we've been working with those toy stores which is all new for us. So we're taking a lot of that type of metrics information a lot more seriously as we need to react quicker because we don't necessarily have the in-house expertise to have a baseline of the product as much as we have with the things we've carried for decades like board games and card games and things like that. You know, Michael, you mentioned Amazon a few minutes ago that has gone above and beyond trying to figure out how to best sell to your audience but let's say you were a little bit newer to the market. How much does that sort of big conglomerate perhaps help a smaller seller that might not have the exposure and the reach otherwise versus heard it? So from one of the things that we've seen trending wise just over the last several years the Amazon Marketplace and Kickstarter have really opened up the potential for a lot of independent creators in the same way that it's done for a lot of industries where getting directly to the end consumer has never been easier so we see that there's a lot of product getting out into the market that maybe it doesn't actually need a lifespan and distribution but this person who's creating a handful of games on Kickstarter can fulfill those directly to his audience and maybe he sells the remainder on the Amazon Marketplace Justin talks all the time about how his games can be found on Amazon and for him and his audience that's a perfectly reasonable and logical place for him to sell his products there's such a wide option for products particularly for retailers online as well as brick and mortar stores that not everything needs to necessarily be in a brick and mortar store and what we see is that there's a small divide between these publishers that are able to focus on their niche within the market as well as people who are still operating off of the traditional publishing model where a bigger publisher takes it does a large print run brings inventory and then sells their direct accounts, big box stores as well as into distribution or directly to those smaller independent stores So you're kind of in between there's the direct through Amazon approach and there's the direct from the manufacturer approach do you see that there's a good future for that middle approach that sort of helps connect the dots Yeah I mean and I think overall as kind of the market itself kind of grows just with these other avenues and technology kind of helping these other avenues basically support themselves maintain themselves The other thing that we're seeing is that communities for and consumers are growing every year there's more and more like local conventions for hobby games and just nerd culture in general that games are a part of that culture for a large number of those communities and the technology that kind of helps support those communities and those networks mean that there's still opportunities for people who are either at conventions or supporting them or supporting local communities through their local shops before working distribution I managed a retail store in the San Francisco Bay Area for a number of years and one of the models that we focused on was focused on Starbucks third space model where you have work, you have home and then you have a place where that's your community center and for a lot of people who are enthusiasts for hobby products that game store is that third space where in addition to obviously offering the retail component of it there's the community that's managed whether they're playing in store or they're just using the store as a spring board to play elsewhere or form local home groups out of that type of situation and developments in social media and being able to kind of manage communities has only enhanced that ability for a retailer to be able to kind of curate their communities and engage with them better in the same way that a content creator would. Well let's get to Liam who has been patiently waiting always patiently waiting for the rest of the world to be in the same day and also waiting for things like the U.S. to get tapped to pay but Liam Hughes senior software developer at Focus Software tell us a little bit about yourself and how you got into app development So from the earliest time I can remember I've wanted to be a computer programmer my dad introduced us to computers very early and basically when it came time for me to go to university I went and did computer science I had a bit of a diversion for a little bit including doing some consulting with IBM but I've been here at Focus now for about 6 years doing web based application development And did you use any particular technology to help find work to help get your job? Pretty standard really JobBlood went on a job site my contract with IBM was coming to a close so I just went online and found this application development job in country New South Wales which is rare but I was very excited at the opportunity Okay so Liam my question to you is how many folks do you do you deal with work with on an everyday basis that you don't see You're not in the same hemisphere with Yeah so I mean for our company we have sales and customer support in the UK, the US and Australia but all the software development is done here in orange so my team of about 12 we have some contact with our customer service staff for sure but a lot of that is obviously asynchronous with time zones so we use email in JIRA but yeah the core team is here in orange How long have you been doing app development for again? Yeah so I guess about 7 years all up I had a crack at iPhone development but the sales didn't take off it was a greater learning experience though and I did a bit of contract work but full time for about 6 years It feels like your part area of software development has been fairly stable from the outside whereas like you say iPhone app development has its rises and falls it's getting more stable now too does it feel that way from the inside or would you dispute that notion? Yeah I mean I guess for us we as a company we've had the subscription model for a very long time before I think it was popular so we've kind of had we haven't always had to worry about big splashy releases as long as we're consistently providing value to our customers then they stick around and we are able to keep working away at our applications Is there a dream application that you would like to work on one day? I used to have lots of lots of after your IBM experience I mean family life takes up a lot of my time so I don't have a lot of time for side jobs at the moment I've got a notebook filling my Evernote with different ideas but nothing that stands out Well and Roger said that you had a question for us Yeah I guess a few years ago I got back into reading partially because I wanted to do the whole no-screen time before sleep thing I know Tom reads a book or two I was just wondering if each of you if there was one book that would be your absolute favorite or perhaps one book that you have learnt the most from Ooh Well if we're talking about fiction and this one's a little obvious but Fear and Lothian in Las Vegas is my absolute favorite book I've read it like a hundred times it's just the funniest thing I've ever read in my life movie not so funny didn't work it just didn't translate in my opinion but that would be my favorite book that I still have it's like a very weathered paperback that's under my TV right now but otherwise well I don't know I mean Tom and Roger please weigh in I I'll confess to rereading Dune because that was one of the first things I got unfortunately I had a lot of typos because I think they just did an OCR of the actual book but it was one of the first books that I read not as a kid but like a teenager where you know the whole allegory of the book and this stuff was such an important corner stone of the entire what would be the series although I've only read the first book but I've always enjoyed it because it both as literature but also because one of the biggest fattest books I've ever willingly sat through and read and not like kind of just like I don't ever want to do this again it's one of those things unfortunately the past two years ever since actually I moved down to LA I actually haven't had that much time I have kids that cry for my attention constantly and it's not conducive at all to reading the printed page well I've mentioned this a million times but for those who haven't heard The Man in the High Castle by Philip K. Dick is kind of my favorite book of all time just because I'm a big fan of alternate history and what could be and differences and and it's set in the 60s so it's got that retro to it as far as the book that I've learned the most from would be hard for me to pin down I was very influenced by the clue train manifesto seven habits of highly effective people for all things getting things done those of all kind of contributed to the way I put things together but I don't know if there's one book that I've learned the most from I feel like it's just kind of get pieces like that out there and everything just adds a little something as you go along it's a hard one for me to answer in that way I might be the minority but I don't read a lot of nonfiction and it's not because I don't enjoy it it's because I feel like I kind of live that so when I kind of sit down and want to escape maybe into another world so all of the books that I love the most and are dearest to my heart are fiction and that's my own sort of escapism thing going on but I'm sure a lot of people share that sentiment with me I'm actually curious if Justin or Michael have an answer to this question as far as a favorite book man I think it's whatever currently reading I guess you only read a book that's better than the last one I probably revisit Terry Pratchett's books pretty frequently as a I've read them all so going to bed that's a fun one that's a lot of them too you've got a whole number to choose from there there's what 30 some and I assume those are the audiobooks and the the audio reader for the Terry Pratchett books is fantastic I could not read those in print because I didn't understand the joke until it was read to me with a British accent Michael do you have an answer to your favorite book? if we're talking about the most influential book it's probably Roger Zalazny's Chronicles of Amber series I reread that series once a year-ish as far as one that I've actually learned the most from I read a book in college by Simon Sinek called Start with Why and it was an interesting book about it's kind of about the process of why we engage with brands as kind of a meta term it talks about Walmart and Apple and things of that nature but it talks about what speaks to us about brand loyalty to a certain degree why someone is always going to use an Apple product because not just because of the aesthetic or the functionality but what that brand might mean to them on a personal level and it was very interesting just to kind of think about how that affects our culture from a mind-share perspective Liam I want to turn your question around back to you I'm curious what your answer would be to your own question I realised about two minutes ago that you might ask that so I guess for fiction definitely into the science fiction when I yeah like I said having not read for many years when I got back into it I started with I think it was Ender's Game which I managed to avoid the spoiler to so that was definitely gripped to me and I stay up too late reading that a lot I actually as a Christian I read the Bible a lot and then for non-fiction predictably irrational has changed the way I think about how we think and that we're not always aware of why we do what we do that's great I'm curious before we wrap up here if you guys have any questions for each other now that you've sort of gotten to hear each other's stories I know that's sort of an awkward thing to throw out there sometimes so you may not but don't be afraid to throw out a question if you've got one right now this is that part at the end of a conference we're trying not to put you on the spot but you sort of do let me ask justin this okay because you work with Quincy Jones sure you have some idea of him as a person are there any memorable moments that you could share that wouldn't get anyone in trouble I'm just curious one thing that's worth mentioning and I had mentioned it to you earlier Roger but when the articles came out I'm not one that likes to I don't interact a whole lot with whatever but when you guys actually covered it when these articles came out and Quincy people I think the internet was like is he crazy or whatever and when I read it I loved it because it really did capture what it's like to sit down and have a relaxed conversation with him but when it was written in print all of the things that contextualized what he was saying made it seem so much kind of more sensational nonsensical between email and talking to someone I mean how many times do we run in every day where we say something in email or we say something in Slack even and people react in a way that you're like oh no I didn't mean that because it's written the written word always plays different I mean Tom and Roger and I talk all day every day and we do that constantly where I'm like alright and Tom's like no I didn't mean it there is something lost when you're not you know face to face he is an incredible human being and one memory the thing that pops into my mind the first thing was one of the first times I was at his house it was we were hanging in his living room and it's him Candy's with me and his daughters Rashida and Kidada and Candy so she's a black lab so she's a real lover and we're all pretty much on the floor just hanging and they're petting Candy and Candy was just like sprawled out one paw was on Rashida's leg the other one is on Kidada and Quincy was just like oh my gosh oh my goodness he was just so taken aback by how comfortable Candy was and pretty much ever since then I think my name has become Candy Man and that can be very embarrassing in like in public because I'll be doing a performance and he makes it appearance and he shows up and it goes from the audience Candy Man stop saying that he's the best though we love him it's one of those things where nobody else understands why he's saying that unless they've now heard you tell the story yeah well any other questions at all even questions for us that you guys have got to say I love I love what you guys do I love the format that you guys created and as somebody I think you know as somebody who's a part of the Patreon group it's you do a fantastic job of creating I think what is the ideal situation with the Patreon format which is where it's an engaged audience and I'm also very glad to see how you guys are constantly thinking of new ideas it makes it very interesting to be involved in the Patreon thing so definitely kudos on that that's so nice to hear yeah we try to keep coming up with new things so we don't fall in a rut keep it spicy my other question is about an old thing is pick of the day I used to love pick of the day you're the one am I the only one no it's not quite that bad but pick of the day was definitely a thing that a few people really liked and the rest of the audience it's not that they didn't like it it was just when we kind of stopped doing it nobody really complained so and it was one of those things it took more work than it was getting back so we sort of pick of the day still exists just through email if you have a pick or a cool thing you can send it to email and Sarah will read it in the mail bag and so that way we don't have to force it to happen because it's a segment every day I did enjoy that just kind of reiterating that just because it pointed me to a lot of things that I would not thought that I would have needed to go explore where it brought something to top of mind that I was like oh that sounds interesting and even if I just looked at it and I was like oh that doesn't quite do what I was thinking it was doing based on the one line description it was kind of a neat feature just as food for thought maybe what we could do it's because I don't want to have to force it every day because then it starts to get get watered down but maybe when someone sends us a pick we could call it out more as like ooh it's a patron pick you know and that might encourage more people to send them and you still get that benefit of being introduced to some things that you wouldn't otherwise know about and encourage people to sign up for the Patreon yeah yeah all at the same time well thanks you guys all for joining us let's go around the horn and tell folks what you want them to know about you if it's where they can follow you on Twitter or a website or anything we'll start with you Justin where can folks find out more about you on our website it's just www.JustinCofflin.com and my Twitter is pretty sad I try to keep it updated or be engaged but it's not my favorite platform things that are going on I have two CDs that came out in the last year one is called Coming Home it's produced by Quincy and it's a bunch of originals and some covers I did a Sufjan Stevens cover called John My Beloved and then we covered Strawberry Fields and then for the holidays I also made a CD called Silent Night which is a solo piano and it's more it's quite Catholic I would say in that it's kind of sad but I like to say it's contemplative so I explore some older hymns and it's definitely more of a quiet it's not a Michael Buble Christmas so those are there and then the film Keep On Keeping On is the one that featured myself and I do make a cameo in Quincy's so you can see me there it's JustinCofflin.com K-A-U-F-L-I-N if anyone's trying to remember it at JustinCofflin.com Michael what about you where can people find more of what you could do? Well similarly to Justin my Twitter is mostly a place where I lurk but if someone wanted to follow me on my very occasional post or wanted to reach out and chat games with me or what not it's mparker546 is my Twitter and I post there mostly when I'm at game conventions and see cool things. Cool excellent check it out mparker546 and of course Liam tell us not only what's going on a focus software but anything else about yourself that you want folks to know Yeah for sure I should put a plug in for focus and Michael was talking about his analytics of inventory and velocity of sales and all that sort of thing that's what my company software does for inventory retail manufacturing or sales all that stuff so definitely check that out if you're involved in any of those sort of things you can check out my website it's pretty bear but lianfuse.com it includes a link to the focus website and my Twitter where I don't post anything but you can send me a message if you want to know anything else Well thanks to these folks and everybody who supports us on patreon patreon.com allowing us to continue to do the show of course our goal every month this month is no exception is to have one more patron than last month so if you're not already supporting us you're not already a member there's lots of cool perks in there get in at patreon.com we'll be back sort of in a way tomorrow with the predictions results show talk to you then thank you thank you thank you thank you thank you thank you thank you thank you thank you thank you


Exciting end to the day, you know, getting the players that we got. I'm excited about adding, you know, some more players to our organization that can help us compete and win some football games. That's really all I have to say, Coach. Cool day, fun day. Again, continue to enjoy the process. Everybody, you know, just working together to try to figure out where we are in this particular point of player acquisition. And I think at every level, you know, there was input from different people, scouting department, coaches, and then ultimately, Rand and I, you know, making decisions that we felt like helped the football team. Either you, Rand or Mike. You got to pick one, Theresa. You can't just say either. All right, well, I'm going to start with Rand then. Rand, the decision to frayed up a spots and go after Will Levis and make him your pick with Ryan under his, in the last year of his deal is why move up and is Levis going to be backing up Ryan or how are you going to play this? So to explain the move up, again, is what we talked about Monday, what we talked about yesterday is trusting our board and he was a player that was highly ranked on our board and we had the opportunity to do so. So why not do it? It was a chance to improve our football team and Ryan will start off as our third quarterback and from there it's on him. The efficiency of the passing game in his career, he's not always been the most accurate guy and he doesn't always seem to have made the best decisions. How does that translate here into the coaching that you need to do and into the efficient play that you're looking for? Well, when you look at completion percentage, 65% two years in the SEC, what we felt like was over 30 drops that probably would have led to closer to 70% completion. Every player that we bring in here is going to have a chance to improve and we'll have to improve. And again, the decision making, toughness, accuracy are obviously things that we feel are critical with quarterbacks and we think that the three that we have here are going to be able to do that. Was Levin's being available at 11 and you guys didn't take him with that trading up to get him?  It's a value thing. Again, he's a player that had we wanted to choose him at 11, we most certainly could have, like we talked about last night, didn't expect for Peter to be there and he was a guy that we highly coveted so we were able to make that move and happy that we were able to move up to get a player like Will. So again, just playing the board, we were just talking on the way here. It's playing the board game. We're rolling the dice and playing the board. So that's pretty much. I mean, had Peter not been there, Will was amongst the conversation. So that's really all I can give on that right now. Like I may ask you, I think Ray and maybe Mr. Spokely said that, like you said that Will, that Ryan would start off as a three. I meant to say Will. Ryan will be the starting quarterback on Monday. Malik will be the backup. Will will be the third quarterback and what I've told them is whatever happens after that will be up to the players. That's what it's always been here. That's what we always want it to be. Good catch, Jim. Competition. Playing self-out. Is there a scenario where you keep three quarterbacks through the season? Of course.   We're two weeks into the offseason program. Looking forward to phase two with the players that come on Monday. And then when we're able to get the rookies in here with the rookie minicamp. You talked a lot about player development. How much for Tim and Charles now is Will kind of the project and something for them to have a big rolling? That would never, whether it's Will or Tajé or Peter, you know, I mean, our coaches, again, it's ad nauseam. We've been here together for going on six years. You know, they have to be great teachers. They have to be able to develop the players at their position. And then they have to be able to make a connection with them and hopefully inspire them to do their job better. That's what their job is. And they're going to put in to each player as much as that player will allow us and will coach them as hard as they'll allow us. And we're excited about the three players that we've added as well as the new players that we added in free agency to be able to get to work with them on Monday. You mentioned adding speed frequently. When you look at this, why receiver group and some of the options available to you and what's behind not picking the receiver to this point? What's behind it? I mean, just the same thing that Rand discussed is taking a look at our board and seeing where things are. We know we have needs. We come into each phase of player acquisition with needs. And it's certainly something that we're going to continue to target. And again, what the roster looks like today and what it's going to look like at the first part of September is probably a little different. What can you recently expect from a fifth round receiver given the state of your receiving? I think that there's been players throughout the history of the NFL draft that have contributed somewhat large success at every round. I mean, whatever you say reasonable, I don't know what the number is. That's not how we want to approach this. We want to take a look at the board, see where things are, try to improve our football team. And I am going to speak for myself. I'm confident that we did that tonight. This franchise seems to have diminishing feelings about receivers. You traded A.J. Brown. You drafted Desfrits Patrick.  Are you dedicated to the passing game with productive players like you've talked about? Yeah, of course. We want to be able to throw the ball efficiently, be able to throw the ball down the field, be able to create X plays, and I'm confident that we'll continue to try to work on that and we'll do it. Joe, did you have a question? Oh, you did? You talk about bringing these QBs in for top 30 visits, getting them in front of you, and really diving into the person that the quarterback is. What did you see in Will when he came into this building that gives you guys confidence in moving up to grab him? Extremely smart, extremely bright. Puts a lot of time in to be a good quarterback. So you appreciate his ability to pick up concepts and things quickly. And just who he is, he's hardwired. He's tough. And his most recent offensive coordinator, Rich Gangarello, I had experience with in San Francisco, so kind of knew how he operated within that system. And then when we brought him here, our coaches and our scouting staff, we had good interactions with him, so it just made it easy for us. It's like Mike said, it's a myriad of things that you can contribute to whatever you feel was a lack of. There were the drops and things like that. So we talked about it about other players. You don't want to just put it all on one person. You have to understand the full concept of everything that was going on. So again, Will's here. Our coaches are going to work their asses off to help him improve, and we think that he will improve. I mean, I think, Gentry, I think we can obviously be transparent. Kentucky was a much different football team in 2021 than what they were in 2022. So if we protect him when he's out there at whatever point, if we don't protect him better than what it was, it's probably going to look the same, just like it is for every quarterback. So we try to look at the really good exposures, the great performances. We try to look at them, what they look like at their worst, and then just try to pull the curtain and see what it looks like. But there were some really impressive performances against some big-time defenses in the SEC. Now there are some decisions that have to be better. We can't put the ball in harm's way no matter who our quarterback is. And what did you think about Spears' skill set? You talked about this all since it was injuries and making sure that you've got a healthier football team. Spears has had some neat problems in the past. Are you convinced that his issues are past it? I think he's going to be fine. Played a lot of really productive snaps. I don't know how many didn't miss much time at all. Was a full participant throughout the week at the senior bowl. I think both of us are comfortable with where we're at with Taje and what his availability will be going forward. That may change, but feel good about where it is right now. That's where I was going with you on Taje. What stands out about his skill set when you watch him play and how do you feel like he is a compliment to Derek? He's a three-down runner. He can run between the tackles. He's elusive. He can make guys miss, as well as contribute in the passing game. He catches the ball well out of the backfield. He's a good route runner. Just another guy that can do it all for us. You can put him in the game in any situation and there will be some production there. I just want to say something real quick. Today and as yesterday, these kids are living their dreams. Having their name called, realizing a dream and being drafted. I don't want these interactions between us to always feel like we've got to take a negative turn. This should be a joyous moment for us to praise these kids. This is a moment these kids are going to see this. This is a moment for them and their families to rejoice in because it's only going to happen once. We joked earlier about, Jim and I joked earlier about me not being drafted. That's a moment in my career I can never get back. Coach was drafted in the third round. That's a moment he'll always remember. Let's keep that in mind when we're talking about these kids and where they've come from and where. A lot of these kids have overcome a lot to get to this point. Let's keep that in mind in moments like this. There will be other times to critique what they've done. These kids haven't even stepped on the NFL field yet. Let's keep that in mind. This is a moment for them and their families to have something to be proud of and enjoy this moment. Could you circle to the wide receiver topic? Is the fifth round miracle pick playing the best way to get explosive at wide receiver and to give your quarterbacks dynamic receivers to go with trailing? Rolling the dice, playing the board. That's what we're doing. We're going to take the best available player in the fifth round. We hope that it's a receiver because we're going to continue to address our needs. If we take a receiver in the fifth round, it's a player that we feel can contribute to our team. Like Coach said, it's players that have come into this league that have performed at high levels in all rounds of the draft. We don't look at it as a fifth round guy that's not going to be able to come in here and contribute. Everybody that we bring here will have the opportunity to earn it on the grass. Do you have some receivers that you maybe had eyes on that went about five or six picks before you made that ticket? Is there a specific one? Oh, well, the two contestants. I knew we were going there. Again, it's playing the board. You know, like we talked about yesterday, we're always fielding calls. We're always making calls to try to move around and do things to improve our football team. We got to take it as it comes, but we're always looking to improve our football team at every stance we get. Do you ever let need overtake the board at all? We play our board, you know, and like go back to, you know, yesterday, just so happened at a position of need, our best player was there, and so we were able to do that. So, and we're going to continue to do that. You know, again, if there was a camera full time in there, you would see the constant communication that we have going on between picks and understanding value and where, you know, different people fall on our board within picks. So it's, you know, it's isn't, we don't go in locked in in one spot, you know, and that's how we're going to be. Great, a lot of great exposure with Will, the combine, the pro day, here, you know, I think that with any player, you know, when there's a mistake, you know, one, it's how you allow them to make mistakes. Can they explain it? You know, hey, here's what I was trying to do. It was, you know, fourth down, I'm trying to, you know, feel like I've got to force the ball in there. And if they can't explain it, well then that's what you have to come in as a coach and figure out, you know, why those things happen. And we did that with a lot of different situations with every quarterback is, you know, whether it was situationally third down, red zone, interceptions, times where we felt like that was a bad decision. We did that with, with all the quarterbacks that we were, that we met with. That's our job is to bring in competition at every position. That's not, it's not a secret. I hope that by now that everybody understands that we have to prove our value to this football team each and every day. And I've said that to every player on our football team, to every coach. And that's what, that's what our goal is.  Probably tonight, still some work to do, look at the board and in the morning, but how you think it stacks up as far as needs to have now and maybe what's, what's left?   You know, and our coaching staff and our scouts have put in a ton of work. I feel really confident in the work that they've done and the players that they've identified for us as, you know, future picks or future sign free agents. So I really feel really good about where we are in the process and have the utmost confidence in our coaches and scouts.  What advice do you give some of these guys that are heading the league for the first time, everything's new, probably overwhelming at first? How do you try to settle, get them to settle in and get comfortable? For me, it's fairly simple.   It's all about putting in the work and learn as much as possible and take advantage of the resources. You know, prior to me coming here, coaches brought in a lot of resources for these guys, both on and off the field. They're going to make them better people, better players. You know, players not only here, you have to just take advantage of those resources, you know, and apply your work ethic to it. If the NFL draft is the best night of their NFL career, they're not going to have a very good career. I'll say him developing into that's all on him. You know, I can have all the predictions, all the comparisons, but if he doesn't come in and put in the work, which I believe he will, then all my predictions will be for naught.  I believe he'll do that. So what he becomes in his career is totally up to him. You talked at the combine though about how important those comps were and painting that picture. Who's the picture? You tell me, Paul. I mean, I'm just saying from a standpoint, I'll say it this way, our comps that we give, you know, are usually within our draft room to kind of paint the picture for us. I think Will Leviss is Will Leviss. I think that's the best he's going to be. It's the best Will Leviss. So, you know, extremely happy for him. Had a really cool, you know, conversation with him. You know, as soon as we called, it was, you know, you could hear it. It was, it's really a cool story. He literally had just walked in his home from traveling back from Kansas City. Bags in the four-year.  I was like, hey, none of that means anything because we'll bring you to Nashville, you know.  But I think in the grand scheme of things, you know, he's going to be the best Will Leviss. Rand, you talked about staying in contact with Ryan and communicating with him all the way through. Do you have to even let him know you're going there or have you communicated with him in any sense and how do you pick and how do you want him to approach his job moving forward? I looked, coach. Reached out to Ryan. Those things happened pretty fast. We would say that was able to reach out to him and then ultimately have a conversation with him and explain to him what I told you and some other things that obviously will remain between Rand and myself and Ryan and expect him to compete, you know. Just like Ryan has done every day since he's been here and what Ryan did was come in from another situation, put his head down, learn our playbook and probably a week pushed the starting quarterback in his own way, proved to the football team that he was ready and then when given the opportunity, took advantage of it. I would expect him to continue to do that and be the consummate pro, compete for his job and I would tell and expect Malik and Will to do the same thing.