All right, ready to go okay. I want to talk about two things on the networking side really quick So the first one does this this is the first one? I I recently hit this problem. Yeah Then I can't point at my picture I'll make do like this I think All right, so I was gonna do a quick stock map update on some of the stuff we're working on stock map But before I do that I wanted to hijack it slightly to talk about another problem that we recently had so If we look at like how you're going to grab packets off the device at the lowest level and you want to have like per packet view so typically we do this with TC filter right now we add a attach a q-disk and then we attach a BPF filter to the q-disk, right and This works if you're able to attach the TC filter to the q-disk and the problem that we've recently hit It's sort of two-folds one is you have to know when the when the interfaces are being created so that you can attach a filter to it Right, so you have to go through this step where you get notified that a new device was created Then you have to attach your your your filter which may be some ACL policies or maybe some observability piece And then you have to tell whatever the thing is that's out there that it can now continue to bring up the whatever's using the interface like a pod or in kubernetes speak or container and Sort of other languages, so This is sort of problematic because now you're trying to trying to interleave yourself into this control flow And you need to make sure you get that correct if you get that incorrect You basically have a gap where you don't see any traffic that that container was being sent So that's that's the first problem And then the second problem is in a kubernetes space if you look over here We have two pods and my sort of stick diagram here And those pods actually can have other devices in them that we're not even told about from kubernetes so like if a Application creates another loop back device We don't have a filter on it So we see we don't we just are blind to that traffic or in the sR Iov case which we've actually seen a few use cases of in the production Where they actually have other devices outside of kubernetes that they pull into the pod for high-performance stuff low-latency type things But we don't have any visibility there either because there's no There's no signal from the control plane that this happened or at least that control plane is a different control plane And now we have to go instrument that secondary control plane to tell us This was added and now we're back to this whole flow problem control full problem Or we need to make sure they don't send traffic Until after we've attached and even worse were we're actually silly I'm for example is running in the host and so somehow it has to reach into the container and say attach my filter and then Somehow tell that container not to detach it Which you know is sort of not plausible So there's there's some some workarounds with this to kind of defeat this is you can use like a k probe I just attaches to dev qx mitt and The received site and you will see every packet regardless of when this is created right like it doesn't matter You don't need a signal you'll get a you'll get at your k probe called you'll have a pointer to the device So you know what device it is and then And then you can do whatever you need filter-wise or or whatever So The only problem with the k probe is Because it's a k probe. You don't know that it's enough you you're sort of in this k probe space And you don't have all your normal skb helpers So I thought about this and there's there come two ways that I was proposed fixing it One is to put like I just a dedicated hook there That's right where we have the egress hook now But abstract it away from the device so that you don't have to attach You attach maybe at the c-group level like a c-group program and then Which you could attach to the root c-group and then it would be called on every packet And you would just get a device pointer and the skb Which is well you don't even need the device pointer because the device point is embedded in the skb at that point So you just need the skb and then you could run all your skb helpers over the top of it But you also would always be guaranteed that your program is run and wouldn't need to worry about this ordering problem Like six a group address. I thought it's not device specific. It's like scope base a group. That's it Yeah, is that the IP layer right? Yeah. Yeah, I want to go lower one lower to the L2 layer wait, but I thought you only want this to like find out which device was created you could like k probe Net dev create Know the device man and then attach to it So I want a whole like netlink notify I thought netlink has all the all of them right notification mechanism from net devs coming in going It has the notifier, but they're racy like you get the event, but it might have already been created So but but really I think that maybe I didn't get the point across is what we want is to see every packet coming out of like Lo inside the pod or ETH 0 if they spun up an ETH inside the pod and we want to see it like a packet hook So we see every L2 packet coming out of the device So you want see groups coped hook, but done that Yeah, just one layer lower. So we have IP layer now Right and we have all the TCP see group hooks for everything in the TCP stack And we use the IP you have all your for UDP and everything else But we want to down at the packet level actually so we know what device is the main problem with the C group scoping at layer 2 that there's no a C group right there's no escapee right, right? Or if there is a ski beat could be like carol just doing yet exactly empty you probing Yeah, that's a group specific But I but I actually don't care about the C group scoping because even if I had a hook that ran on every packet That went through dev QX man, which is like the last call before the OS before the driver, right? That would be enough. So I don't actually I don't actually have a use case for the scoping It would just be like it would be where the TC hook is but without the TC context like I don't I don't care about the Q disk I'm not trying to I'm not trying to implement a queuing discipline I'm just trying to implement a filter or observability point And I think you also want you also want to have the case where the application in the pod itself cannot just remove it Right exactly So that I don't even want the pod to see it really ideally the pod has no way to even know if it's hooked or Not hooked right like it just does it's normal thing and This becomes even more problematic with like SR RV where they they buying an SR RV device in there So now they have access to the network, but psyllium has no way to to do filtering right it's outside psyllium scope Unless you get into this now now you have this problem It's like well you could in theory hook into this SR RV control plane and figure out that it's added and add Your program somehow inside you could do like an in this enter and add it But then they could delete it right this is this is really ugly too, right? So I think you should just get away from this trying to race with the control flow and just say here's my hook I want to run on every packet that leaves my system well like Having a sleepable hook inside in the dev create work It would you mean in the sense that then that that hook would be able to attach things to it like a filter to it Or like a q-disk Yeah, but then we'd have to attach the filter and not it's not allow that filter be deleted. Yes by the container. Yes Because that's separate like to me it feels like orthogonal not be able to like delete it or see it That's we can solve it separately. Whereas like hook. That's not Gated by anything do well as well. It's just feels that it will be a harder sell Yeah, so two things I think if that BPF program could then say like here's Here's my program either in like a program app or something and then here's the dev from the BPF helper Just didn't call it and attach it that would probably be sufficient Right, you don't even need to call out to user space. You can just do like a just a BPF helper attach that would probably work Well, what are the questions there? So you said before like you don't care about the C group But you probably do want to know which C group the devices inside so that you can maybe do some like different policy Or different sort of logic. Yeah, I assume that the this would have So you'd have like a C group ID or something that I could grab and associate that with some policy, right? Yes, yeah I mean for equals it would probably work like you can go to from SKB to a socket and then to the secret To two things, right? So like the one is like the create hook Like I think what we're talking about here and the other is the actual data path side And on the actual data path I just on egress you do have the SKB which has the dev the dev has a net namespace I can probe all that if I want to write it probably would cash it But like you could do SKB to dev dev to namespace now you have the network namespace Now you're off and running right like you should have a map somewhere that says network namespace belongs to this policy group on Receive it's slightly tricky, but you still have the dev the dev has a namespace You have a network namespace in sort of kubernetes world a pod is sort of a Set of namespaces one of them being the network namespace It gets a bit tricky with containers right because containers can have different network spaces, but that's pretty Pretty anyone per net in us and not per secret, right? so so From my side, I'm not so interested in the per secret piece what I'm what I'm interested is ensuring that that pod there has no way to delete my hook and It has no way to sort of Get running before my hooks in place Which is you know, whether that's a generic hook all the way across that runs on everything and doesn't have any context Or it's a some how we hook create and have a BPF help or load it. I'm not sure I Care too much. So like not then going back to you. I'm not deletion part So we've talked forever about BPF link for TC One of the reasons is exactly not be able to run them up to delete it Sorry, so say that again. I think I may have missed it come like BPF link for TC Well, if you have holding that FD for an attachment, no one will delete it And could we do a link from BPF code? Build the link and put the file descriptor in a map and then the map is in the host context So it can never be some of it. Of course like currently there is no VPF link for TC I think last was Kumar who has had patches to do it and that never landed So same stuff may be more fundamentally. It's the same like why would have BPF link for XP but if I take a like a half step back, it's like Why do I want to be in the TC infrastructure at all because I'm not doing a Q disk? I'm just trying to like like the K probe hook that I have now is like almost all I need It just doesn't have some few of the helpers that would be would be nice to have so so that TC hook was without TC You wouldn't need like you just like the way we were Trying to like talk it through like this car and then Yes, that it's TC, but there's no TC. No need to create even knob Q disk What are we called ingress and egress Q disk none none of that because it's like it's just a hook Yeah So the idea was to have like from an EPI point of it looks like to see but it doesn't create any Q disk business There's no IP route involved in any of this. It's just that this layer Where currently all the hooks are but without creating all the Q disk off with the guarantee that Attachment is preserved by BPF link and then we could could we take where that egress hook is right now? And we could just sort of say there's a BPF hook here Here's its link and then we attach it with this BPF helper So link is an attachment itself like you have a program you attach it there you get an FD involved it stays attached Currently we cannot persist links anywhere but BPF FS I Think that would be sufficient Plus the hook at create time if which we could probably just do with a K probe, right? If we if we had this help this is called or sorry if we had this This helper exposed in sleepable context. I could just some of this like secure I think like might be even like LSM hook somewhere for the net link Maybe not from that death. Well, if not potentially that Should be there like in a definite of creation There was some worse. Yeah, I would say Yeah, or we could just put a K probe there with the helper, right? Probably don't need to even sleep to attach a program right to get the link If the program is already created already loaded do you need to sleep to link it? potentially not but We're talking about changing the kernel so like Backward stuff you would still struggle through whatever K probe and jump to user space Whatever other but in upstream. Yeah, why not to the proper sleepable hook that is clean and can do all sorts of other stuff And I think like from the from the TC data path side, I would love to have like a Dedicated TC ingress and equals hook where we don't need to go to the queue disk. So it's just annoying Overhead that is not necessary Right. I mean like for this particular use case site we use K probe hooks and like I said, it's clumsy and it's a little bit Racy, right? So we want to get rid of that piece and that and it works great So like there's no reason to try to get hooked into a queuing discipline, right? I mean like like from like why I want to get to from a studio in perspective at least is where You don't need to have too many changes. You can just take the existing programs as is and just attach them to this new API for the BPF system called that is still DC but Like the underlying code doesn't care whether it's right there for old kernel or new kernel It will just work that would be good and more flexible and We don't need to go through all of this. I don't know like TC side has a lot of offloading stuff that is being added like the SKP extensions and blah blah blah and this is just Annoying it's it keeps growing And this way we can make it even more efficient. So so I think the takeaway then would be to look at a create net dev hook with the helper to attach a link to To a hook in the egress in the ingress path Mm-hmm. I would say to revive the Kumar's patches I think they were pretty close to the kernel site I think was non-controversial was more on the likely BPF site which API would be and there were like some comments But I think it was like if I recall if you remember like I think it was pretty close Yeah, I Mean I would love to like from from a dependency perspective. I would love to have like this new Lightweight TC thing first where you have work based on file descriptor and then it's just the natural fit for the link Right, and then we don't need even need to deal with the legacy crap. So yeah And then we don't have to support all the TC stuff. Yeah, I think that I remember that was some of the problem Like what about all the other things that TC does like we don't care about this. We can stop caring about it at that point That would be great. Yeah, so I would say the goal if I understood you correctly it should to allow this what they call CLS scared act Programs so only those no need for And also the PPF can actually use it it will just probe The underlying kernel and it will then use the new one or fall back to the old one. That's also easy. You don't need Yeah Yeah, we should just do it. I think we've been talking about it for some time, but yeah, we have Urgent need for it now. I Do anyways, that's good Cool then that makes sense and then the next one would be can I add probe probe read and to To the CLS act programs. We already have to we have it there now. Is it there? You I think did I add it already? Okay, good Perfect Just use it. What's that? Get current task and then probe read and probe probe read if we think probably it's not there We should add it just so we have it. I think it's also there All right, and if you have the SKB we should add the dev pointer in there So we don't so we can get the dev pointer out That would be the next thing because once you have the dev pointer you're off and running like that's that's the main hook to everything else Okay Cool. I'm happy That's good Anybody anybody else? All right. I'll talk about stock map for a second too. We're sorry. Okay, cool all right So if you don't know what sock map is this is the blog post a nice surveillance, so I Told you I didn't do slides So if you basically how our system works is it does a three-way handshake Three-way handshake happens. We have a hook in the C group to say okay We're in the three it's been established at the established hook. We then add it to this sock map Which is a map in the kernel and when that happens the SK is sort of Extended with all this context for running a parser on the send message and the receive message side and so I'll just go over kind of quickly there's there's a couple bugs that we're fixing now that we see like Over long running tests, so we'll just fix those and then the sort of bigger changes that we wanted to make on this side Would be to get rid of this sock map and just have a way to say Add add the psock context to this SK and the main reason is because now we have to sort of right size that sock map And so in our original use cases what we were using this for is like a load balancing So when you load balance and I kind of come from the switch world and where I was thinking about a load balancing Like how you would do a switch Which means you just build a huge table and then you populate all the entries in the table and then you run some Kind of hashing algorithm over that And that that's kind of hand waving a lot. That's kind of how switches work And so that was kind of the same idea here as you built a the sock map table of some Power of whatever that fits and then you do a load balancing function over the top of them And you'll load balance into the network through these sockets So that was great for load balancing But the problem is if you want every socket in the system to run through this or every socket of some criteria to run Through this problem now you have to know how many sockets are going to be in the in the kernel and so What we were looking at doing is adding different hooks so that we can Basically get rid of that Map all together and you just say SK add Whenever you have a socket context, you should be able to add this this additional context to it You know now now please run these BPF programs on any send and receive and in theory there's no reason even to limit it to just Established just that's our use case in theory that we could like generalize that to other things I probably won't do that unless I find some reason to but So that would become the next change and then if you've looked at this API is at all We have this problem where the transmit side and the receive side are Not symmetric so on the such transmit side you worry about SK message It's like this on scattergather list and on the receive side. We still deal with SKB's The problem with that is that it just means you have a TX program at an RX program. It's not very friendly The reasons for that are sort of historical It originally used the stream parser, which was like this other bit of code per KCM But now we've gotten rid of that so the next stage is to get rid of the SKB side and just use the directly work on the scattergather list directly in here So that'll I think we'll probably start working on that here pretty quick If anybody cares and they're using this stuff, you know, I guess the main things are we want to get rid of the sock map So we don't have to try to fix that size and then make these two symmetrical And then the other third thing that comes out of once you've done all this is You can just send on any socket that exists in the system You don't need to even have it in a map because the send context doesn't use any Additional metadata just does the normal send So you should be able to take any socket and just send over it from inside the kernel From the socket layer. We don't care In theory unless I figure out some reason there's a race there, but I don't think there is and Then I would say the the last piece that we've been hitting a lot of this But I but I think we got a solution for it over lunch Was we've been hitting the tail call recursion limit and some of our programs that run here because they're doing all like parsing and so I think what we'll do if we have the UN the pointers and Then with the sort of iterative loop stuff. We should be able to I think you move over the stuff that we have Or tail calls over to that and should resolve it So I'll be I'll be hacking on that seeing what happens so First problem of like getting rid of sock map that sounded like you want another Notifier in the socket create not only at net def create and Then you will attach whatever sock map the old sock map style parsers to send and receive there Let the socket create time. Yeah, we already have a sock create Well, they have all the same hook and they're just like only enabling attaching And all the BPF program of this sock map type Well, first take these two types out of sock map abstract them is not related suck suck map Just keep them loaded somewhere and then take them and so I could create time and attach to that socket right that Yeah, that sounds like what you want. Yeah, exactly I think as a first step we would probably just do it inside the current hooks that we have like the established hook Just as a first step Like that's where we already have all the API's for this and then at that point moving it to sock create should be Just moving from one sock ops call to a different sock ops call sure Can you actually use it from a Might actually listen like from a non established socket I Don't know if it works. We need it's like it's not tested but it but it was it's allowed for So I should say it's tested in the CI I have not actually used it on any scale, so I don't know how well it works to be honest because they added it was added for the UDP Stuff, okay, but it's always a full socket, right? the UDP stuff maybe TCP not but yeah details I Yeah, I suspect that there it's probably not working out like correctly So like there's another question about like what you should do when a socket accepts So if you attach a program to listen and then it accepts what should you do should you should you transfer the program? That's on the listen down to this new socket Or should you have that new socket without any program? So right now it'll it'll when it does that accept and does the clone sock FD. I believe or something like this It doesn't propagate the programs down And so there's this gap where like you went from listen now It has no program in theory it could have done a fast Fast open and sent some data that was before the secondary hook got added so it's racy Gracie so like we we almost would like it to do like on listen to propagate that socket down And then you wouldn't have that race because you could run it on the fast open program But that that fast open hook doesn't exist, right? Because there's no way to Right now, that's not the same hook like that's not a sin message That's actually kind of a second secondary flow of data that you need to somehow actually hook directly It's sort of you need that code in that path, and we don't have anything there Right now we just audited and go okay, there was a fast open and we missed some data Like we know we missed it because we saw the fast open happen, right? Or we just block the fast open if you try to do a fast open we just Six, you know return a pair Yeah When you say Let's say we get rid of the second the map. You should still work on the UDP and other socket, right? Sorry, sorry say that again. So you say you plan to get rid of the map Yes, and they should still work on the for the UDP and other socket, right? Hopefully. Yeah I mean, that's not the plan get rid of the map I mean still allow users to have the map because the map is still useful as a like fundamental concept for like low-balance Right, like you look at that. I think cloudflare was using it this way It's like a load balancer on receive, right? But allow these other use case where you don't want to create the map and then And then like suck ideally it's not create when the stock is created you would then give assign a program at that point because Really all we need is that the Additional metadata to be allocated so that when the sin message happens we have this Buffer of space to deal with and all the metadata kind of where we're parsed it and there's a beep We know what BPF program to run right so on Okay, yeah, okay any other questions feedback or All right. Thanks. Cool. Thanks


Hey, man, so we're finishing up John chapter number four. We've been in John four for three weeks so far. This is the fourth week. Of course, John chapter four is most famous for the woman at the well, the Samaritan woman at the well. The whole context of the story, remember, is Jesus is traveling to Galilee. In order to get to Galilee, you have to go through Samaria. So he meets this Samaritan woman, and we get this very famous story in the Bible. Last week we talked about Jesus' comments from verse 34 to verse 38 where he talks about, some will sow, some will reap, and we related that to ourselves, how we will sow, sometimes we will reap, sometimes, but if we sow, we know we will reap, and we did a study through that. It's interesting, though, because if you look at verse 39, we actually see a perfect example of exactly what Jesus is talking about in the previous verses of sowing and reaping, because the Samaritan woman, she actually goes to town, and she tells people about Jesus, she tells people that she's found the Messiah, and some people believe right away. So she sows and she reaps at the same time, but some people didn't believe until Jesus stayed and talked himself. If you look at verse number 40, it says, so some people didn't believe, so what was she doing? She was just sowing in that case. That's somebody that you give the gospel to, and they're still thinking about it. You've got them thinking about things, they're seeking, but they just need to hear more. Maybe they need to hear from somebody else, they need to hear it again, whatever. We'll talk about that in a few minutes, too. But look at verse number 41, verse number 40, it says, they wanted him to stay. So when the Samaritans were coming to him, they saw him that he would tarry with them, and he abode their two days. So Jesus stays there two days and speaks to all these people that came from town, and then look at verse 41. It says, and many more believed because of his own word, and said unto the woman, now we believe, not because of thy saying, but for we have heard him ourselves, we know that this is indeed the Christ, the Savior of the world. So some people needed to hear some more. So some people, you know, the woman at the well, she went to town and she told people and she did sowing and reaping right there. Many people believed on him, just on her word. But then Jesus had to come and do the reaping for a lot of people. She sowed. So she got them to come, and it's a perfect example of what Jesus is talking about to the disciples. So basically Jesus entered into the labor of that woman in this case. When you look at the soul winners and how things go as far as sowing and reaping. But really we're going to pick up things in verse number 43, not to repreach last week's sermon. We're going to look at a couple of things that not only Jesus says, but things that happen at the end of this chapter. And I know we've been in this chapter for several weeks, but there's just a lot of things that go on here and I don't want to leave anything behind. So look at verse number 43 of John chapter 4. The Bible says, now after two days he debarded dense and went into Galilee. So now Jesus finally leaves and he heads on his way into Galilee, which is where he's from by the way. This is Nazareth is in Galilee. So Jesus is kind of going to his home country. And then look at verse 44. It says, for Jesus himself testified that a prophet hath no honor in his own country. Now in John chapter 4, the Bible doesn't really elaborate on this comment that he makes. So this is one of the nice things where we have other gospels. We can go and we can look at where Jesus says this again and kind of see what he's talking about in a little bit more detail. Turn to Mark chapter 6. So the first thing I want to point out this evening is I want to kind of cut up what Jesus is talking about in this verse where he said that a prophet hath no honor in his own country. What is Jesus talking about and how does that apply to us? Look at Mark chapter 6 and verse number 1. We get a little bit more context on what Jesus was talking about with this statement in John chapter 4. Look at verse number 6. By the way, that's why there's four gospels. We just see different angles. We see different details on all these different situations. That's why God gave us four different looks. None of the gospels contradict each other. They actually fill in gaps for each other. They just give us more clarity on the life and ministry of Jesus. Look at verse number 1. Mark chapter 6. We're looking at this comment that Jesus made in verse number 44 of John 4. And he went out from thence and came into his own country. Again, he went into Galilee. He's in Galilee and his disciples follow him. And when the Sabbath day was come, he began to teach in the synagogue and many hearing him were astonished, saying from whence hath this man these things and what wisdom is this which is given unto him that even such mighty works are wrought by his hands. Is this not? Look at verse number 3. So they're astonished that this is happening. And then look at what they say. Remember, these are people that know who Jesus was when he was growing up. Jesus didn't start his ministry until he was 33 years old. He was, we'll tell you he's 30 years old. Sorry. He lived for 30 years before he started anything in his ministry. If you remember John chapter 2, right before he turns the water into wine, you know, his mother comes up to him and says they have no wine. And what does he say to her? He says, my hour is not yet come. He's like, he hasn't started his ministry yet. You know, he's not ready to start doing miracles. And of course, he did miracles right after that. But he was telling her like, look, this is not the time just yet. All right. But look, these people knew who Jesus was. They knew who his family was. This is the point I'm trying to get across. Look at verse number 3. It says, is this not the carpenter, the son of Mary, the brother of James and Joseph, and of Judah and of Simon? So I mean, well, first of all, I didn't have this in the notes. But I mean, like, did Mary have other children? I don't know. I mean, the Bible says she does. So Jesus had many brothers and sisters. And Jesus was, it doesn't say he was the son of the carpenter. He was a carpenter. He's 30 years old. I mean, he's been an adult for a decade or more. He's been working. He's been living his life without sin. But he's not started his ministry from the time he was, you know, zero to 30. All right. So they knew who he was. And his sisters are not here with us. And they were offended at him. So here's this guy doing all these miracles all of a sudden. They're like, this is Joseph's apprentice. What's going on here? And they're just, they were offended. They're like, who does this guy think he is? This is exactly what Jesus was talking about in verse number 44 of John chapter 4. But Jesus said unto them, look at this, a prophet is not without honor, but in his own country and among his own kin and in his own house. Notice this. So notice how we get more detail in this verse number 4 of Matthew chapter 6. So Jesus says his own country in John chapter 4 verse 44. But now he says among his own kin, that means relatives. And then amongst his own house. Meaning Jesus is saying as people are closer to you, this theory of mine that I'm, this comment that I'm making is going to get worse. He's saying that a prophet will be of less honor of the closer people are to him. He's saying, what Jesus's case? He says it because, you know, I mean, well, Jesus had no sin and he's having problems with this. All right. Look at verse number 5. And then there he could do no mighty work, save that he laid his hands on upon a few sick folk and healed them, which is exactly what we see in John chapter 4, by the way. We don't see him going and doing some mighty work, but he does heal someone who was sick in John chapter 4. So notice how the gospels just fit together just perfectly, all right? But we get much more detail about what Jesus was talking about in Mark chapter 6. And finally, in verse number 6, it says, and he marveled because of their unbelief, and he went round about the village's teaching. So that's the first thing I want to talk about this evening is that this is just, this is just a truth that Jesus is putting across, putting out to us that a prophet is not without honor. It's saying, what he's saying is a prophet has honor everywhere except his hometown, or everywhere except where he came from, all right? This is a universal Christian truth right here.  This will be more of a truth for you.     And look, there's varying levels of success here. Some people have little to no success, some people have a lot of success. I mean, that's not the point of this, but the point is, is that many times, many times when you are not successful especially, people will just not listen to you because they're from your own house, because they're from your own town, because they'll be like, who's this guy? I've been going to school with you for 20 years. What happened to you yesterday? They're going to have the same attitude towards you that they had towards Jesus. Look, and it's worse for you because you're not sinless like Jesus was.   I mean, you're going to have difficulty. Jesus is telling this, Jesus grew up, he shifts into the ministry, and he has trouble with this, even though, even before he was in the ministry, he was without sin. He didn't even have a foolish thought, and he had problems with this. So this is another thing that Jesus is just preparing us for, so we're not offended. I'm really glad that Jesus and the Bible and the Word of God puts these types of things in the Bible just so we can, I mean, these are things that are proofs to us. I'm not happy when these things happen, but it is a proof that the Bible says these things, you're like, wow, the Bible's a miracle. Wow, the Bible, how did the Bible know that would happen to me? How did the Bible know that I was going to deal with this? So there's two points that I want to make to you on just this point on why Jesus brings this up. Why does Jesus say this for us? The first thing is this, it's hard to be without honor. It's not an easy thing to go through. You say, I don't care about what people think about me. Everybody says that. Nobody really feels that way, myself included. I mean, everybody feels that way.  It's going to bother you that you are without honor to people that you have known for your entire life, because guess what? Most people care what other people think. It's a natural thing. It's a natural thing. Well, I mean, many people say they don't, but most people do. That's really what it comes down to. The people you knew from before are going to have many times a hard time listening to you. This is what Jesus is saying. And you say, why is that? You say, why is that? Well, I think it's because people just have a difficult time changing. People just have a difficult time changing their mindsets. People have a hard time forgetting things. People have, you know, and I don't want to preach sermons that I'm going to preach in a few weeks, but people kind of have set ideas. And it's hard for people to get out of their set ideas. So the first thing is that it's hard to be without honor and Jesus is kind of warning us here.  It's the same type of theory. He's telling us this, so we won't be offended. He's like, this is going to happen to you. I'm without sin. It happened to me. Don't be surprised when it happens to you because you're not without sin. So people might actually have reasons to look at you and say, oh, you think you're some Christian now?  I mean, so look, it's a hard thing. But the next point I want to make, and another reason I believe Jesus tells us this, is because because it is hard for you to testify, to spread the gospel, to be that witness to people from your own country, because that's difficult, your testimony is so important going forward. And that's really what I want to drive home to you this evening, is that your testimony is so important as you leave the old country and you go into the new country. Your testimony matters, folks. So look, start building, once you get saved, you need to start building that new country, that next country, that country that's outside your own country. Where what? Where you do have honor. Where people do need, people do know you as different in that next country. And look, you not only need to build that testimony in that outside country, but you need to hang on to it. It's super important. This is a problem, this is a problem with people that want to be two different types of people. They want to be church people, and then during the week, they want to be in the world people. This is a problem because they want to act a certain way at church. They want to act like the Christian at church, and then throughout the week, they want people just think they're just like them. This is the type of person that goes to work or goes to groups that they're in outside the church or whatever, and doesn't want to look like they stick out. Doesn't want to look like they're separate from those people, even though the Bible tells us that we should be separate. But then you want the church to think, I'm like them. And you want the world to think, I'm like them. It's never gonna work. First of all, situational ethics are nowhere in the Bible. This is like the person that thinks, I can dress like a certain way at the beach, but they don't think that it would be appropriate to wear that to Walmart. Walmart's a bad example, like the mall or something. Because what people wear to Walmart is not appropriate anywhere. But the point is, is that if it's wrong there, it's wrong here. If it's wrong here, it's wrong there. This is the type of people that think, kids can't watch this unless they're past 17 years old. R-rated movies or whatever, you gotta be 17 to watch. That's nowhere in the Bible. If it's wrong for an adult, it's wrong for a child. If it's wrong for a child, it's wrong for an adult. Morality in the Bible and God's rules in the Bible, if it's wrong for them, it's wrong for you. That's what the Bible says. But we're just taught all these situational ethics today to be this person there and this person there. That is nowhere in the Bible. We must protect our testimony because the problem is, if you're trying to be a certain person here and a certain person here, eventually you will mix them up. If you're trying to be a Christian at church and then you're trying to be like the world at work or wherever else you are, you're gonna slip up at some point.  They just try to be everything to everybody.  Whatever group that they're in, I mean, there's Christians like this. It's pitiful. Whatever group that they're in, they try to just fit in with that group, whether they're in the world, over here, in the world, over there, at church, over here, whatever. But the point is this, you will lose credibility on both sides as a Christian. If you do not protect your testimony as a Christian, you will have honor nowhere because the Christians will think you're a joke. The Christians will think you're fake. And the worldly people will think your Christianity is a joke. This is the person that gets saved and has principles on Tuesday through, you know, Tuesday of the next month. And then, you know, goes and is worldly.  You are literally making your religion as a joke. And you know what, those people that might take you seriously if they see your testimony played out for year, after year, after year, and be like, oh, man, this isn't a fad. And he is serious about this. Look, it takes time. It takes time, and it takes consistency. That is the best opportunity many of these people that are close to you are gonna have to finally realize that maybe there is something to this. But that takes time. That takes time. And look, overall, many of the people close to you just may never show honor, but at least keep the honor in the next country that you go to. Protect your testimony. The Bible says in Proverbs 22, a good name is rather to be chosen than great riches. Guard those riches. You know, they're important. Once they're lost, really hard to get them back. Guard your testimony because you may have no honor in your own country, but at least you'll have honor in the country that you're going to if you're fake and you're trying to play both sides, you'll have no honor anywhere. Protect your testimony. And then you'll have honor everywhere going forward. That's the nice thing about it. And guess what? This idea is much easier for the second generation. It is much harder for the people that leave the old country. But guess what? For our children, for the next generation, they're going to have honor in our country, in the country they go to. They're going to have honor there. I mean, it's hard. It's hard to go through that, but Jesus is telling us, hey, even I went through it. Turn back to John chapter four. Turn back to John chapter four. I mean, the old country, and here's another thing. Don't look back on the old country and lament it. And look, I catch myself doing this. Don't look back on the old country and lament it. And lament that you don't have that honor back there. We're supposed to look forward and move forward in this Christian life. Look at John chapter four, verse number 45. Now we see a story where Jesus does a miracle here, and I want to show you some things that will help us to pray better and more effectively this evening. Look at verse number 45. It says when he was coming to Galilee, the Galileans received him, having seen all the things that he did at Jerusalem at the feast, for they also went unto the feast. So Jesus came again into Canaan of Galilee, where he made the waterwine, and there was a certain nobleman whose son was sick at Capernaum. When he heard that Jesus was come out of Judah into Galilee, he went unto him and besought him that he would come down and heal his son, for he was at the point of death.  Look at verse number 48 though. I have verse number 48 like circled in my Bible, because this is kind of a prophecy right here. All right, in verse number 48. I mean, it's a prophecy that is quickly fulfilled, but look at verse 48 where it says, then Jesus said unto him, except ye see signs and wonders, ye will not believe. And I mean, if you just read through this real quick, you kind of miss this, but look at verse 48 where Jesus tells this man, unless ye see signs and wonders, ye will not believe. So what does he mean by believe there? I'm gonna explain that to you. Look at verse 49.  He's asking him, come save my child. Verse 40, or verse 50.  And the man believed the word that Jesus had spoken unto him and went his way. So you have this man saying, come to my house and heal my son. And Jesus says, you have to understand what's happening here. Jesus says, your son's healed. Like, nobody's at the house. Nobody is at Jesus, or this nobleman's house. Jesus just says, it's done. And notice in verse number 51. No, I'm sorry, in verse number 50, it says, and the man believed the word that Jesus had spoken unto him. Does that say the man believed on Jesus as the Messiah? No, it says he believed that his son was healed. So that's a super important point here, because Jesus in verse 48, he says, except ye see signs and wonders, ye will not believe. What is Jesus talking about there? He's talking about believing on him as the Messiah. And what did this man need to see? He needed to see signs and wonders. But in verse number 50, it says, he believed that his son was healed. It does not say that he believed on Jesus as the Christ. And I'm gonna prove that to you in a couple of verses. Look at verse 51. And as he was going down, his servants met him and told him saying, thy son liveth. Verse 52, then inquired he of them the hour which he began to amend. And they said unto him, yesterday at the seventh hour the fever left him. So they tell him, he got better at one o'clock yesterday, and then this man in his head, he was like, what time did I talk to Jesus? And it was at that exact same hour. Look at verse 53. And so the father knew that it was the same hour. So are you seeing the picture here?  And the servants meet him and they say, your son is healed. Your son is healed. And he said, what time was he healed?  And they said, he was healed yesterday at one o'clock, which is exactly the same time that Jesus said, your son is healed. So then he knew that it was Jesus for sure. And then look what it says. It says, in that he knew it was that same hour and that Jesus said unto him, thy son liveth. And look at this, and himself believed and his whole house believed what? Now they believed on Jesus Christ. You see that? That's the prediction from verse number 48. Jesus says, you won't believe on me until you see signs and wonders. So what does he do? He does signs and wonders and he believes on him. So Jesus basically calls it in verse number 48. I mean, that's a great proof that Jesus is God again. But he calls that this man would not believe on him until he did this miracle. It's very similar to the Samaritan woman where some people just believe right away. But you know what? Some people needed to hear from themselves. Look, it's better to believe right away. But I guess it's best if you eventually just believe. And this is the second miracle that Jesus did when he has come out of Judea into Galilee. Turn to Luke chapter five. I wanna give you some common denominators here on the miracles of Jesus. I wanna give you two, one main common denominator that we see here in John chapter four. But first thing you have to see is that his son was healed and the man believed Jesus that he healed his son. Okay, so the man believed that Jesus could heal his son but he needed to see that before he believed on Jesus. So there's two types of belief at the end of John chapter four. Okay, so every time we say believe in the Bible it's kinda like every time the word saved comes up in the Bible. It's not talking about being spiritually saved. Matthew 24 is talking about being saved from being killed, like physically. So every time it says believed in the Bible or unbelief in the Bible it's not necessarily talking about just salvation or damnation.  And that's what I'm gonna explain to you this evening. And you should not pray. I don't wanna give away the answer but you should not be praying in unbelief. What do you mean unbelief? That Jesus is the Christ? No, you're never gonna have that unbelief. What if I stop believing? You're never gonna stop believing. If you're saved and you believed on the Lord Jesus Christ you're sealed by the Holy Spirit you're never gonna stop believing that Jesus died for your sins and that you're saved. You're never gonna stop believing that. Why would you? Why would you?  It's the same type of thing. But you can have unbelief. You can have unbelief that God can do something for you. You can pray and you can pray and you can say the words. As you pray, not believing that God's really gonna do anything to help you. So let's look at some of the common things that all people that Jesus healed. And I mean, look, we can't look at all of them. We'll get Luke chapter five. We'll get verse number 18. Behold, the man brought in a bed which a man was taken with a palsy and they saw it means to bring him in and to lay him before him. When they could not find what way they might bring him in because of the multitude that began, they went upon the house top and they let him down through the tiling with his couch into the midst before Jesus. And look at this. And when he saw their faith, he said unto him, man, thy sins are forgiven thee. Turn to Luke chapter seven. So what did they have? They had faith. They had faith that Jesus could heal them. And look, we don't know if that faith right there meant they believed Jesus was the Messiah, but even if they had the faith that he was the Messiah, they definitely had the faith that Jesus could heal him. Look at verse number one of Luke chapter seven. Luke chapter seven. And when he ended all his sayings in the audience of the people, he entered into Capernaum and a certain Centurion servant, this is a Roman who was dear unto him, was sick and ready to die. And when he heard of Jesus, he sent him unto the elders of the Jews, beseeching him that he would come and heal his servant. And when they came to Jesus, they besought him saying that he was worthy for whom he should do this, for he loved our nation and he hath built us a synagogue. So this is a Roman, but he seems to be a good man. The Jews are advocating for this person. Look at verse six. Then Jesus went with them and when he was not too far from the house, the Centurion sent friends to him saying unto him, Lord, trouble not thyself, for I am not worthy that thou shouldest enter unto my roof. Wherefore, neither thought on myself worthy to come unto thee, but say in a word and my servant shall be healed. So at first, if you just glance over this, you could say, okay, the guy wants Jesus to heal his servant and he won't even go out and personally talk to Jesus. He won't even go, but no, the man was being sincere. The man was literally, I mean, he was sincere.   He's saying, just say it in a word and my servant shall be healed. So he wasn't looking for the easy way. He literally just had the faith that Jesus could speak it into happening. Look at verse eight. For I also am a man set under authority having under me soldiers and I say unto one go and he goeth and another come and to my servant do this and he doeth it.  And look what Jesus says. Jesus recognizes this and he says, Jesus heard these things. He marveled at him and he turned him about and said unto the people that followed him, I say unto you, I have not found so great faith. No, not in Israel. He's saying, I see such greater belief in this man than I do in the Jews in Israel. Look at Matthew chapter nine. Matthew chapter nine. Matthew chapter nine, look at verse number 19. So what is the common thing that we see with all of these miracles is that these people at the very least, all of these people at the very least had faith that Jesus could heal them. Had faith that he could do it. Look at verse 19. And Jesus arose and followed him and so did his disciples. And behold a woman which was diseased with an issue of blood 12 years came behind him and touched the hem of his garment. For she said within herself, if I may but touch his garment, I shall be whole. What does that show? That shows that she had absolute faith that all she had to do was touch Jesus and he could heal her. Jesus turned him about and when he saw her he said, daughter be of good comfort, what has made you whole? Thy faith has made thee whole and the woman was made whole from that very hour. Turn to Matthew chapter 17. So look folks, I'm gonna give you two keys to prayer tonight and the first one is faith. The first one is belief. Look at Matthew chapter 17 and verse number 14. Jesus actually says though that there's two and I'm gonna show you what those two are. Look at Matthew chapter 17, verse number 14. Every single time Jesus healed somebody the person that he healed had faith that he could do it. And in the case of John chapter four the guy had faith that he could do it and then he had faith on Jesus Christ. He had faith on him as the Messiah. Look at verse 14. When there come to the multitude there came to him a certain man kneeling down to him and saying, Lord have mercy on my son. This is somebody the disciples couldn't handle and Jesus had to come do it himself and he tells, this is such a great story because he tells the disciples why they were not able to do it.  Why am I not able to get God to listen to me? Pay attention here. Look at this, verse 15. Lord have mercy on my son.  And I brought him to my disciples they could not cure him. Then Jesus answered and said, oh faithless and perverse generation how long shall I be with you? How long shall I suffer you? Bring him hither to me. So this guy brought him to the disciples they couldn't do anything to help him and Jesus rebuked. We see the problem in verse 18. He was possessed by a demon. Jesus rebuked the devil and he departed out of him and the child was cured from that very hour. Then the disciples came to Jesus apart and said, why could we not cast him out? And Jesus said, what? Because of your unbelief. Verily I say unto you if ye have faith as a grain of mustard seed ye shall say unto this mountain remove hence to yonder place and it shall remove and nothing shall be impossible unto you. It's interesting because this is a hard thing to do. You say, oh this is easy all I have to do is just believe that Jesus can do anything. It's a hard thing to do because tell me that you don't say prayers in unbelief. Tell me that when you say a prayer there's not, when you're asking for something even if it's something that's good that you think God would want tell me that there's not a part of you sometimes that says, man is God really gonna do this for me? Can God really do this for me? This is exactly what the disciples were dealing with and then look at verse 21 he says how be it this kind go out but by prayer and fasting but they were praying in unbelief. So if you look at verse 50 of John chapter four the first belief the guy had was the belief that God could heal his son. Jesus said unto him verse 50 go thy way thy son liveth and the man believed the word that Jesus had spoken unto him. What word? That thy son liveth and he went his way. He just believed that Jesus could do it and then he believed that Jesus is the Messiah. So I guess the first question is do you believe God can answer your prayers when you pray? Or are you praying in unbelief? Don't pray in unbelief. Pray believing that God can answer your prayers. Look, you gotta just look at it this way. God may not answer all your prayers the way you want them answered but he can answer all your prayers. God can do anything that he wants to do so it makes no sense even though our flesh and our view of this world has corrupted us just like it corrupted the disciples but don't pray in unbelief. Pray in belief. That's the first thing, pray in belief and the third one or the second one is this. He says there's two things, prayer and fasting but what is he talking about with fasting? So look at verse number 21. It says how be it, I'm sorry I'm still in Matthew 17. He says how be it, this kind go out but by prayer and fasting. So by prayer where he's assuming that you can believe by praying you believe that God can do it and fasting. What does that mean? Fasting is sacrifice. Fasting is showing sacrifice. Fasting is showing obedience to God. So you need to pray, you need to pray in belief and in obedience to God. I mean fasting is just one way to show sacrifice and obedience. So the second key to prayer is obedience. So basically ask in faith all your prayers and ask in obedience all your prayers. Ask in faith, believing, that's what that means. Believing God can answer your prayer. Don't just be this taker. What does obedience have to do with it? Because I'm gonna be this guy that just lives however I wanna live and then when I need to dial 911 to God I'm gonna call him up and look that's not fasting. That's not obedience. And look, I have a hard time believing that somebody who's not obedient to the Lord is gonna be praying in belief to the Lord. But if you pray in belief and in obedience this is how Jesus wants you to pray. This was the problem with why they couldn't cast out this devil because they didn't believe that he could do it.   You're never gonna talk to God unless you need something, first of all. It's kinda like the person that never calls his relatives or whatever, never calls his parents unless he needs money. Don't be that person with God. That's not an obedience, that's not fasting. That's not sacrifice. This is not going to do much for your odds of getting your prayers answered the way you want them answered. This is what Jesus is telling you.   So the Bible here is saying like pray properly. Pray in belief. And look, it's better. It would've been better if that guy in John chapter four would've just believed that Jesus was a Messiah without seeing anything. Without Jesus even having to say verse number 48. But he had to show him a miracle. That's why Jesus did the miracles because he knew that there's always gonna be these secondary people that needed to see the miracles. They needed to see these things in order to have that faith that he was the Messiah. And look, he was willing to do it. But we get some nice application of how we should be bringing things to the Lord in prayer tonight. When you pray to God, look, God can do anything. It doesn't mean he's going to do anything for you.  So you may have some problem in your life. This is such a beautiful thing about being saved.  Maybe it's just right for us to pray and tell God the problem and ask him if he can get us out of the problem instead of like coming up with this concocted, you know, cockamamie plan that we think is gonna work that the Holy Spirit has to retranslate to God. Bring a problem to God, believe that he can fix it, live your life in obedience to him as a sacrifice to him and it's gonna work out just fine. That's what Jesus is telling us here. So that's John chapter four. We made it. John chapter five, back to Jerusalem next week. Let's bow our heads and have a word of prayer.


Hello and welcome to Redhead Enterprise Presents. This is episode number 25, Introduction to Satellite. Thank you all so much for joining us today. I'm really excited. We've got a lot of great things to talk about on the show today, so time appropriate greetings to all of you. As usual, in the chat is the best way to talk with a host, talk with our guests, ask your questions, and be part of the show. So if you are not on our Discord, there's a Discord server as well, and we'll share all those links throughout the show, and they'll be in the show notes afterwards. But before we get too deep into today's topic, I do have an announcement I'm really excited about. I would like to introduce our new recurring co-host, Brian Smith. How you doing today, Brian? Good. Thanks so much, Eric. Very excited to be here.   Sounds good, yeah. So right now I'm a product manager in the REL business unit focused on automation and management. So what that means is I'm working with technologies like REL system roles and web consoles, stuff like that. I've moved into this position back in April, and before that I was with Red Hat as a TAM, a technical account manager for about three years. So that's my background. Before that I worked as a sysadmin for many, many years. So yeah, excited to be here. Awesome. Yeah, I'm glad to have you as a co-host. There's always a lot to keep track of between the chat, the stream, the conversation, the interview. So I, for one, am very thankful to have you. And as I recall, you are not new to this particular YouTube channel. As I recall a couple of years ago, your wonderful narration skills were put to good use for the REL 8.0 beta. There was a bunch of videos you did that's quick overviews of new feature in REL 8. And that's actually how I really got in touch with REL 8 and started learning all the things.  Yeah, and shameless plug for Brian. If you follow our blog, Brian has been a machine publishing probably what, close to eight, if not a dozen blogs around system roles right now. So if you're looking to automate your builds, if you're looking to standardize your environment, system roles are a great way to do that. And Brian, I think, has the monopoly on system role blog content right now. Yeah, we need to do a REL presents just on system roles sometime, hopefully soon. Yeah, that's actually on the roadmap for early next year. But yeah, we definitely do. They are incredibly powerful. And in fact, kind of is a good segue into today's topic because system roles, Ansible, things like tools like this have come up. A very long way since my days as a systems administrator. And one of the other tools that we've actually not covered in 25 episodes on the, I should say in 24 episodes, we have not, we've only mentioned this product in passing. But that is Red Hat Satellite. And I could think of no one better to come on the show and talk about Satellite than our own Matthew Yee. He is a technical marketing manager here at Red Hat. He works on my team. And he was with me a couple of weeks ago as we talked about REL 8.5. Looks like we're having some streaming issues. So give me just a second and I'll bring Matt on to introduce himself and we'll see. Hey Matt, welcome back. Hey guys.  Thanks for having me back and thanks for the intro. Brian, welcome to the show and look forward to seeing you more on Red Hat Presents. Thanks, Matthew.  I'm a technical marketing manager here at Red Hat. I've been at the company for about five months now. In the past I've mostly worked in the storage industry and before that I was a sysadmin as well. So I've been using Red Hat probably since, well I've been using it since undergrad. So what I'm going to talk about today is Red Hat Satellite and I'm going to give an introduction to Red Hat Satellite to everybody out there. And it's very timely because yesterday we released version 6.10 of Red Hat Satellite and yeah, we're very excited about this release. It's almost as if we planned it that way. So Matthew, I'm guessing a lot of the viewers are not really familiar with Satellite. What does it do? Why would I want to have it? What problems is it going to solve for me as a rel customer? So from the point of view of a systems administrator, a lot of us have had this problem but sometimes when you do a YAM or DNF update, what happens if the firewall hasn't been opened or if there's no proxy configured? You can't update your system. There are lots of ways to work around it. The recommended way of doing it at Red Hat is Red Hat Satellite. So what Red Hat Satellite does is well, and this is not all that it does, but it basically provides content. And when I say content, I mean stuff like RPMs, Ansible Collections, even files, stuff like that and just make it available locally. So that from a security point of view, there is only one opening in the firewall that has to be opened. And you can pull all the things that you need onto your Red Hat Satellite and then you can manage all of your hosts through Red Hat Satellite. So Red Hat Satellite is not just for enabling hosts to get their updates. You can also provision machines and you can also take advantage of some of our hosts.


Today's the start of that video shoot with no the dancer First of all we gotta be there 530 so late. It's 516 late You late or are they late? Next I'm trying to do London mr.  She's doing what you do. Thank you. All right. Thank you.  I don't know. Is it raining in there? Maybe We're gonna move out of here. They're gonna do like right here wrapping up the car. They're gonna roll the windows up A little bit Shout out to koi put another movie together man talk of the town. Stay tuned


Now we know that football is a very violent physical sport and guys get hurt all the time and guys play through injuries a lot. But in the case with these two Baltimore Ravens they're really hurting right now and they're playing through the injuries but I almost feel like it's hurting the team more than it's helping them. And those two guys are O'Dell Beckham Jr. and Marcus Williams. Now we know with O'Dell Beckham Jr. He was somebody that I was a little confused on whether he was hurt or not. I felt like he looked a little bit sluggish when he had the ball in his hands but I didn't know if it was just because of the type of play and the type of passes that he caught since it wasn't any like goal routes, it wasn't anything deep, it wasn't anything where he had a lot of space but I still felt like he looked just a little bit slow. And I was wondering like, is O'Dell Beckham Jr. slow or is he hurt? Like I don't know what his status is but hardball pretty much confirmed that today because he said that he spoke with O'Dell Beckham Jr. about his slow start and he said he believes O'Dell Beckham Jr. is still being impacted by his ankle injury. And he said he'd urge OBJ to be patient and knows the vet wide receiver will make plays. And shout out to Jess Rebek for covering that. And with O'Dell Beckham Jr. Like I said before, I don't think O'Dell Beckham Jr. was signed here to be a regular season wide receiver. I think he was signed here for his experience in the playoffs and what he could do to just elevate not only the other receivers but just the entire offense, especially in the playoffs and just saw how he could elevate Lamar Jackson as a quarterback. Now we haven't got to see that too much at least from O'Dell Beckham Jr. We have seen Lamar Jackson elevated as a quarterback but we haven't got to see him and O'Dell Beckham Jr. really go off yet. But I think that's a big part of the reason because O'Dell Beckham Jr. just simply been hurt. And even when he did come back because he hadn't played since week two against the Bengals he left that game due to injury but then he came back in this game against the Steelers and he just he ended up leaving then he came back again and he just never really got involved but even when he did get involved he just didn't look himself to me. So with O'Dell Beckham Jr. look y'all know how I feel I want everybody to play I want everybody to be healthy though. And with O'Dell he needs to be ready for the long run man he got to be ready for the long run. And I know like he's the only receiver on this past Sunday that didn't drop a pass. So I know nobody wants to sit O'Dell but if he's hurting and if he can't be the O'Dell that the Baltimore Raven signed then I say that they need to sit him in my opinion. And I know it's an unpopular opinion but I don't think he should be out there until his ankle is all the way ready like all the way, all the way ready. Now somebody else who I was extremely excited about was Marcus Williams.  But then this year he started off nice but then he went down to injury like right away in the first game and he came back. It was looking like he was gonna be out for the season or out for a really long time but he came back super early.  But it seems like it was a mistake for the Baltimore Ravens to have him out there. And he was favoring his arm. I'm not sure if it was his peck that was bothering or his arm or a bit of both but he just was not the Marcus Williams that we know and that we're used to. So another unpopular opinion, I think unless Marcus Williams is all the way right you can't have no safety. That's the last line of defense.  You can't have him do that in the middle of a game because they're gonna pick on him. They're gonna take advantage of him and especially if teams see that like if we see that, then they see that. So they're gonna take advantage of that. And look, Geno Stone, he can do his thing. Geno Stone can hold it down. So I would much rather, even though I want, like I said, same with OBJ, I want him out there. I want to see that boy playing. I want to see Marcus Williams out there balling. I want to see both of them going off but I do not want to see them. My opinion, I wouldn't want to see them out there playing if they're hurting the team more than helping. So hopefully, hey, hopefully in London maybe the air is different over there and both of them will be good to go. They'll be ready. Maybe they drink some tea or something, have some crumpets and they'll be straight. But if they're not good to go, I would much rather them wait it out and just we'll see you down the road later on in the season.  They said Patrick Queen that it was slippery at practice and Patrick Queen slipped. They said the trainers ran over there and checked on them but he was okay and he got right back up and started practicing against. I was like, all right, PQ, we love you, we need you. Keep doing your thing. Keep doing what you've been doing. He been balling in the States. It's time for him to go ball overseas too. But Judevian Clowney, somebody who's like, Judevian Clowney has been like a weird kind of baller because he's been a baller that got the nice handles. He got the crossover moves. He got a pretty jumper but the ball just doesn't go in the basket with Judevian Clowney because he can do everything. He does everything right, but finish. And hopefully this week he can finish but something that he didn't even start this week yet was practice because John Harbaugh said that he was out of practice because he said that Judevian Clowney and a couple of guys were sick. So maybe they had something in the water so I don't know what it was but hopefully they can feel better. They can get all cleaned up and they can be good to go tomorrow and then they'd be out there at the game on Sunday.  When we saw a drop after drop after drop after drop after drop but Lamar Jackson, he put it perfectly. And James and Hensley put it perfectly actually. And he said that Lamar Jackson gave his receivers a vote of confidence on Wednesday after they combined for the worst, the worst pass catching performance in the NFL this season. Ooh, what a tough headline. It's true. It's all facts because it was ugly. But Lamar Jackson, he told them like, hey, I believe our guys are locked in right now and they're gonna be better. And I know there's been a lot of conversation amongst Ravens fans saying, oh, Lamar Jackson, he needs to step it up as a leader. He needs to step it up vocally. He needs to pick up the pace. He needs to get in these guys' faces and then he need to do all. And I think it's a weird spot to be in because it was expected and it is expected that Lamar Jackson is gonna be more of a vocal leader this year. They talked about it all off season.  They paid him that huge contract for a reason because he's the guy. So yeah, I would expect him to take on a more of a leadership role, but not every leader leads the same. You can lead by example. You can lead vocally. You can do a bit of both. You can be one of them rah, rah, rah leaders. You can be one of them more calm leaders. It all just depends on your personality. So it is Lamar Jackson's responsibility, you know, to just get these guys right, man. To make sure they're here in the game, doing the game. And if stuff started getting a little shaky, hey, go talk to him. Hey, no, we got this. We got this. And I'm sure he does that already because there's only so much that we can see on the broadcast view. We can't see every single time that Lamar Jackson is on the sideline with his players and whatnot, talking to them with the coaches and whatnot and talking to them. We can't see everything. So I can't sit up here and say, oh man, Lamar Jackson is just such a bad leader. No, but it's important that they get this thing right. Like the Baltimore Ravens mentality, it has to get a lot better because they got everything physically that they need despite all the injuries and stuff. They have everything physically, but it's the mentality that's just been bugging them and having them tripping out a lot of times. But we'll talk about that more later. Now, the Ravens injury report, their practice report for today, we did talk about you, Davey and Clowney how he missed practice with sickness. Adolfi away and Gino Stone, they did not practice. We just talking about Gino Stone, like, man, we want Marcus Williams to sit a little bit if he's still hurting. But if Gino Stone's out, then that puts even more pressure on Marcus Williams to go out there and play. So we'll see.  Hopefully that's it. And then he could be back tomorrow, hopefully. But anyway, Odell Beckham, Jr. He practiced, he was limited though, but he did practice. Marlon Humphrey, Pat McCary and Morgan Moses was good. They returned to practice. Pat McCary had left the game on Sunday and he did not return. Daniel Phylele had took over. Morgan Moses was obviously out of that game, but both of those two being back in practice is a wonderful thing because the Baltimore Ravens offensive line, it can't get no worse, man. They need all the help that they can get. They need all the healthy bodies that they can possibly have because it's rough. It's really rough. And I was looking at, somebody put it on Twitter, I think yesterday, they were talking about, oh, the four best pass rushes in the NFL right now. And then somebody was like, oh, the Ravens got to go up against all of the 40s guys later on in the season. I think it was T.J. Watt and we're gonna have to play him again. It was Miles Garrett. It was Nick Bosa. And I forgot who the fourth one was. I know somebody, one of y'all will remember for sure. But I'm thinking, oh man, in our offensive line, how they been so far? Yikes! That could get ugly, but hopefully it doesn't, but it could get a little nasty. But somebody who practiced in full who had been on the injury report and it isn't officially back yet on the roster, but it's Keith Mitchell. So shout out to Keith Mitchell. He should be activated any day now really, any day now, but with him practicing in full, that lets us know that before this 21 day window is up, Keith Mitchell will be back on the Baltimore Ravens active roster. Now I would not expect him to have this like crazy major role or anything like that. I know he would love it, but right now that number one spot at running back, it's like a 1A1B type of thing with Gus Edwards and Justice Hill. The Baltimore Ravens, they got a weird way of using them though. Cause Gus Edwards, he'd be doing this thing. Justice Hill be doing this thing too, but Justice Hill, he'll randomly have like a fumble here. There's something that's like, oh man, but then they won't back, it seemed like they won't go back to Gus after that either. It's like, Justice Hill will fumble and then they'll take it out on Gus. Be like, we ain't going back to you either, but Ravens got to work all that stuff out. Again, with the Baltimore Ravens, their biggest issue is not physical cap. The biggest issue is here, is here. It's all mental stuff with the Baltimore Ravens. So once they get that figured out, ooh, they'll be unstoppable.


Excel is a fantastic tool, and you still need to know it for data analysis. And I think as you get further along, that's why people start really not liking Excel, is they start using it at the beginning. It's great. But then they find all these different use cases, why it doesn't work. And everybody else in the business world, everyone else that they're working with, wants everything in Excel. And so since not everything is super native to Excel, you have to figure out little workarounds and little ways to get it into Excel, which gets super tiring and really frustrating. So Excel is kind of that one thing that does really well in a lot of areas, just as an Excel in every single area. And so you have all these specialty tools and all these different plugins that you have to do outside of Excel and then bring it back into Excel. And that's, I think, the part that makes people the most frustrated.