Well, we will go ahead and get started. Hopefully everyone is in the right place. We're here to talk about the Apache HTTBD server proxy. These are things that I've kind of come across in my day job as well as my time kind of maintaining the proxy code and working with the web server that I think is really useful that I'd like to share with you. And at any given point, if you have questions, comments, thoughts, and concerns, except for the two gyms and Chris, go ahead and speak up, because I definitely would like to know what you guys are doing out in your day jobs that we might be able to answer questions for in here. So if there's something that I say that kind of sounds like we can dig a little deeper on that, go for it. So really quick, about me. My name is Dana Rajeri. This is what I look like in case you can't see me from where you are. I am an infrastructure guy. I work at MasterCard. I've been there for 11 years now. And I'm a big open source nerd. I hang out on the HTTBD development list. I actually do read every email. I don't chime in too often. But I'm there, hang out on users as well, and then community dev, right? Everybody loves community. Otherwise, I do always like to put this in my slides. I'm here on my own behalf, not necessarily on MasterCards behalf, because we at the foundation we're individuals anyway. So if MasterCard were to try to say, this is MasterCard stance on the ASF, then the ASF probably wouldn't want to hear it anyway. So I'm here as me, come as I am, take it or leave it. So what is between you guys and the delicious coffee that we have been dying for since about 11 o'clock? So we're going to talk a little bit about things that aren't necessarily part of the proxy. One of the great things that Apache HTTBD brings to the table is it's the Swiss Army knife of the internet. You can do all kinds of stuff with it. When you involve that kind of stuff with the proxy, you can do all kinds of really neat things. And you'll see some of those examples as we go along. That's also very important for you to understand your own applications. There are some things, and I'll try to call them out, that could be a little bit dangerous if you do in your application. If your application sets bad caching headers or does something weird, you need to understand what these things might do to your application. And the last part, the really important thing is if at any point I start droning on and you think this is terrible, that's fine. Just download the presentation.  There are some examples. There's a couple of things that you can kind of read through, like what does the web socket, HTTP upgrade negotiation look like? That's actually in the slide notes. So go ahead and grab this. Every time I do an update to the presentation, I make sure I keep this location as latest and greatest. And I also made sure to upload this to the conference website. So grab the presentation. So this is a wrong-running section. I've been giving this talk now a couple years. I think this is the fourth or fifth time. And what are the things that have changed since the last time we talked? And there hasn't been a ton, but if you look in the slides, you can see some of the hidden slides that have already kind of, yeah, it's not that new anymore, but things that have happened in the last four or five years, you can see some of those differences. Still, the exciting thing to talk about though is of course, H2, right? HTTP 2.0 support in Apache HDTPD. So this is very similar to web sockets negotiated through HTTP 1.1 headers using upgrade. And it's in 2.4 now. So last time we talked about the proxy last ApacheCon, it hadn't yet landed in 2.4. This code is in 2.4, you can take advantage of it. If you're on a newer version, just know that this is currently an experimental state and we're actually having conversations right now on the development list of, okay, when do we drop that experimental tag? Because it's settling, it seems to be quite reliable. Looking like maybe 2.4.next, I should say. So I think we're on 25 or 26 now, in the next version, there's talks of dropping that experimental flag and moving it to a more traditional review than commit model. So really quick, you'll see examples like this throughout the course of the presentation. I don't expect you to be able to read them all because these can be a little straining. But this is how you would enable it. Very simple, load the module and then use it. So, fair enough. The next one that I'm incredibly excited about is in 2.4, we do have active monitoring. Calm down, everyone, yeah, calm down. This is something that a lot of folks have actually been complaining about for a long time. The web server knows about backends, but only when those backends fail during the handling of normal HTTP requests. This came along and actually it was just a week or two after the last ApacheCon, I think, this landed in 2.4 as something that you can take advantage of now. If you're using a vendor-provided package or an OS-provided package, it may not have these features yet, but you always want to download your web server, you always want to compile it yourself anyway because that's the best way to do it. So we will have a whole slide on this topic alone in a bit, but know that this is one of the new things. It's landed in 2.4 stable, and it's something that I really encourage folks to take a look at, and we'll talk about why in a few slides. We good? Okay. So let's talk about what are things that I think are very important for a proxy to do in order to be decent. One of those things is connection marshaling and protocol enforcement. What does that mean? Well, I don't know if you guys have been on the internet, but it's a scary place out there. So if you expose the soft Nugedy Center of your application server to the public internet, very bad things may happen, but when you have a protocol enforcement point or something that is gathering these potentially slow or bad connections on the internet and sanitizing them, it allows that soft Nugedy Center to remain soft and Nugedy, right? Load balancing is also incredibly important. I'd imagine a lot of us here have more than one application server. You should, if not, let's talk some other time. And then connection pooling and offloading of things like TCP and SSL, these can be costly, much less nowadays than they used to be, but you would expect your proxy to be able to do these things. And then failover, health monitoring. We were talking about load balancers. How do we know that one of our pool members isn't feeling well? The next two, actually three, I would say, these are some of the cool bits and the extra things that you can do because of all the different modules that HDTP brings to the table. So modifying your balance or pool, modifying the traffic as it comes in or goes, and then of course mitigating some of those terrible nasty things that exist out on the internet. Are we good with that list? No complaints? Cool. So let's talk about connection marshalling protocol enforcement, right? So I'm sure a lot of us have heard of an end-tier architecture where you have the big, bad internet, you have something that you want to protect, and then some number of things in between, whether it be firewalls, whether it be proxies, whatever it is. The idea in this scenario is you would use HDTPD as your termination point as it comes into the environment, and you can do your sanitization, you can more or less verify that the protocol the client wants to speak is actually the protocol. It's one of the benefits of having HDTPD out there is it's been around a long time and it knows how to talk to the various clients. It also knows what the rules are so you don't have to, in your application server, implement necessarily all of that logic, and it can be very difficult. There is one of the things I do want to point out, and this is something a lot of folks on my team kind of struggle with, and I want to talk about the difference between a forward proxy and a reverse proxy. Has anyone heard these two terms? I expect you guys have heard it at some point, and it really boils down to what does the client know? In a forward proxy scenario, let's say Jim is my forward proxy, and I need to speak to the camera, which is right behind him. I know Jim is there, so I will say Jim, please allow me to speak to this camera. On the other hand, in a reverse proxy, the client doesn't know anything about what's back there. All I know is Jim is the camera. So Jim is taking my messages and relaying them directly to the camera. I don't know that there's anything else in between, so that's really important to kind of know those differences because if you accidentally turn on forward proxying and you meant to turn on reverse proxying, you've just become a bad internet citizen. So let's keep that in mind, and here's an example of a forward proxy. So you load the proxy module. If you're like me, you like to use a little bit of SSL here and there and make sure you enable the proxy connect module, and then this is how we would turn it on. You really only need one line, proxy requests on, but please add more lines. Please don't be an open proxy. Everyone knows why that's really bad, right? If Jim is an open proxy, anything that I do appears as though Jim is the jerk doing it. So I mean, not that I would do a jerky thing at all, but it's so cool. So that's a forward proxy. Let's talk about the reverse proxy. There's no fewer than, I think, five or six different ways you could implement a reverse proxy in a patchy HD DVD. So I'm gonna kinda run through some of those examples, but this is the one down here that I like to use in the slides because it's the most compact. This is the most efficient way because it actually avoids walking the file system and all of that stuff. This is the fastest way to get your request to the proxy. Just know you can use a lot of these different methods. So the first is, of course, in a location block and you can share other things in this block. You can put access controls or whatever. Another is using proxy pass standalone. And then you'll also see the proxy pass reverse, I guess, directive there. So just a really quick word about the proxy pass reverse line. It's not necessary unless your application does a redirect on the back end. So, well, they do. If you've ever used SAML or any sort of IDP SP relationship. So when you do the redirect, it looks for this and it replaces with what's on the left side. So kinda look at it backwards. That's another thing a lot of folks on our team have kinda struggled a little bit with so I wanted to call that out. Yes, Chris. Yes. It does not. I don't know if proxy pass reverse works in a location block, actually. Because what it's doing is a find and replace on the location header. So I don't know if it would work that way. That would probably be something we would play with. No, you can still put a proxy pass reverse in the location block. Oh, you just need all three arguments. I believe so. Okay, I mean, both arguments. Yes, cool. Okay, so the documentation says it can and you know what, as far as open source software documentation, the HDB server is the best there is.  We do great. Another way that you can do it is with proxy pass match. And this is really handy or interesting if you wanna maybe cherry pick the different URL components that you wanna proxy. And yes, it is regular expressions, so now you have two problems. Going further, we've all heard of the rewrite engine. I hope you can do just about anything with the rewrite engine, including proxying. So in this particular example, the presence of the top secret cookie is what gates access to my application. Now that you guys all know my secrets, I expect that being friends will kind of keep this under wraps, okay? But this is an example of under a certain condition, then I will proxy to this location. And you'll notice with the rewrite engine, my cursor doesn't show up, but the P flag is what says this is a proxy instead of a rewrite or a redirect or something along those signs. You can also implement load balancing and some quick terminology that we use, excuse me, throughout the rest of the presentation, is the concept of balancers and workers. A balancer contains workers, workers are your back end nodes. And when you take a look at something like this, we have a balancer, as you can imagine, called MyCluster, and the worker nodes are one, two, three, four, and one, two, three, five. I just so happen to give them a route name of Mercury and Venus, but the real nodes are those IP addresses. And then going back to our proxy-pass-reverse conversation, this also works through balancers. So I don't have to have two proxy-pass-reverses for balancer members, right? It's just one back to the cluster. Does that make sense? Getting a couple of nods. I know guys, it's dark in here, so try not to fall asleep. I'll do what I can to keep things interesting. But wait, there's more. You can also implement proxies through a DBM file. And what's really cool about this is you can have a large set of URLs going through a large set of different backends. And because it is a DBM file that is externalized from HTTPD, when you update that DBM file, HTTPD is smart enough to realize that and change your proxying rules. It's a fairly niche itch to scratch, but it's actually a really cool feature because you don't have to do even a graceful reload of the config. You update that file, not parse it, but you remap it and bam, HTTPD is doing the right thing. It's sending requests to the different places. And then finally, you can also set it up as a handler. And this is semi-new in 2.4.10. And this is a really fun, funky example. So for this example, we are proxying to a local Unix domain socket, which is one of the new things that we talked about a few years ago, which is actually a FCGI process on the same machine. Cool? All right. So load balancing and traffic distribution. This is what, in my mind, what the killer feature is because if you run your infrastructure as I run mine, there are many nodes, there are a lot of different ways. Things can come in, they come into the proxy and I need to spread them out all over the place. So yes, HTTPD does that. It has different load distribution methodologies. I'm not gonna read them all to you. Just know that they're out there. And I'm going to, I wasn't really gonna pick on them, but I'm gonna pick a little bit on Jim Riggs here. One of the proposals that he put together a few years ago, years ago, was to maybe create a new way of doing load balancing that's more standardized. And that is a way for a back end to advertise its own health to the server. Maybe share a load number or something like that. And he had some really great ideas. He threw it out there, we talked back and forth, and then nothing. So I still have hopes that maybe we could turn this into a standard. I still, I wasn't gonna mess with you, but you started, so. No, actually, I mean, I hope we can all kind of see the value in that. This is actually what ModCluster does in the JBoss world. It's actually able to advertise, I am the server, I have 15 concurrent requests. That guy's only got 12. Maybe you should send the load his direction. It's more or less the desire to share that information from the back end to the front end. And I didn't even take a drink. So let's talk about some of the interesting things you can do with load balancing. You can actually do asymmetric distribution. And there are some directives that come into play in order to do that. So load factor is one of them. If I assign a back end with a higher load factor, it's going to get more requests. It's gonna be the ratio exactly as you would expect. If you put three here and five here, it's gonna be three to five. You can also set up a hot standby. And this is very useful if you need to provide something back to the users. Or perhaps you have a backhauled connection to your back ends. Let's say you're in your primary data center. You always wanna talk to your local data center because it's just gonna be more efficient. But if those go down for maintenance or go down because somebody unplugged something, why don't we talk to the backup data center directly? Maybe a little less efficient, but the site stays up. So that's where a hot standby would come into play. You can also use load balancer sets. It's almost, I would say when you're just doing two primary and secondary, it's almost like a duplication of functionality between the hot standby, but you can actually get pretty advanced. Maybe you have three or four sets. So that becomes an option. And another one is to selectively not proxy. And we'll see an example. So let's take a look at our weighting example. So we have, again, my cluster. And we have two balancer members. And we went ahead and threw a third one in there. And let's say, I don't know, that might be the old machine that Daniel's running underneath his desk. It's still alive, it's still on live support, but it's really not as beefy as these other two machines. So if I ask you guys, there are five requests. Where do we think they'll go? With the load factor of two and two, we would have four requests to these guys. And one request here. So two, two, and one. It really is that straightforward. There are a couple other parameters in here that I'll kind of point out. We have a soft max being set, as well as some voodoo going on with the sticky session. And we'll talk a little bit more about that. But I wanted to really just highlight, this is how you can set additional parameters. You just kind of slap them onto the end. Make sense? Good. So we talked about hot standby, and I think that's a very good use case. So for example, in the hot standby setup, my local data center, <IP_ADDRESS> and <IP_ADDRESS>, those are right here in my edit. So ideally I would talk to the servers that are located next to me, but if both of those are down, I should talk to <IP_ADDRESS>, which is in Austin. So the hot standby, yeah. That's the best way to mark it. Administratively down? We'll get to that. Yeah, there are ways that you can do that administratively and even programmatically with scripting. And we'll get to that in just a minute. Good question. Yes, hot standby stay will only be entered if all other pool members are down. So I think you can, interesting, interesting. Because that way I can always make sure I've got, at least two, or yeah, no, that's a really good, use case, I actually never contemplated that. That's curious. Well, we have plenty of room to add additional states, right? It's just an integer and we're, you know, bit masking. So, right, and I think, hey, cool. Start the conversation now and then we'll talk in three years when nothing happens. Okay, so selective proxying. This is actually a really cool example and one that I've used in my day job. Let's say I have a fairly busy website. I have my static content right here on the web server. I have two back ends and then I also have a third back end that does other stuff. So really quick, let's take a look at how this is declared. Order is very important for the proxy. In this example, if a request comes in for slash static, HDTPD will serve that content directly because I've added, and this is much harder than I thought it would be, I've added the exclamation point there to say do not proxy this location. So that's the first hit. If I come for slash application A, I will not hit on static, but I will hit here and I'll go to this balancer. Application B would again go to another balancer and if I match neither, I don't think you would say neither, if I don't match static, I don't match application A and I don't match application B, then everything else should go to this other cluster and this is actually our hot cluster from the previous example. So in this example, we have three clusters, three load balancers, three back end applications and then all of our static content here served by Apache HDTPD. Yes, Chris? We often recommend against remapping URL spaces like you happen to have here from application, from slash application A to slash on the origin server. Is there anything that's inherently Tomcatty about that problem, or is this a universal problem? Absolutely not, no. So yeah, so what Chris had stated is generally in the Tomcat community, you would avoid doing URL trickery in your proxying or as you come in, and what he observed and this is a good point that I didn't point out is I'm coming in on slash application A and that's being proxied back to app cluster one, whatever comes after slash application A, that's what goes to the back end. So you can use this to kind of manipulate the URI. There's pros and cons and one of the cons is if your application is doing server qualified redirects, you have to be very careful with your proxy password verses. So you have to catch those and fix them on the way out. If you're doing just relative redirects, A okay. Okay, so this is not really a Tomcat problem. No, and it also- Is there a problem with any origin server that might have the same issues? Yes, and it also boils down to links too. So if your application thinks I am always gonna be deployed on slash Chris, then I might construct all of my links as server relative slash Chris slash about.html. If I do this type of trickery in the proxy, I break that link. So remember how I said, know your application? This is why. So there will be some strange breakages. On the other side, maybe marketing comes in and says, look, I don't like having slash Chris in the URL. Can you get rid of that? This is a way that you could do it. Sorry, Chris. There was another note I wanted to draw out here, but I couldn't remember what it was. I did tell it not to proxy static because HTTP is a very good web server. So- It was very, very important. Yeah, Jim made a very, yes, this is a very good point. If I were to reverse these four lines, everything would go to hot cluster. Everything. Because it's the first match. Yes, Chris. Now we got rid of slashes. I don't know. There have been examples that you've had that before, but I wanted to mention that I fought this battle a couple of times without realizing what was going on. The exact syntax you used for proxy pass, specifically at the end of the- Oh, the trailing slashes. You must match slashes. You must, must, must match slashes. In fact, that should be an enhancement that, not necessarily a security issue, but it could screw, well, it could become one, but it's not necessarily one, right? It's all in the context. Most of the time it'll manifest as broken links or just your proxy isn't working. So what Chris was pointing out is you must match either having a slash at the end or not having a slash at the end. If you put a slash on one and not on the other, it gets mapped directly in that way. So you may completely change the context route that you're going to on the back end by mistake. That does seem like something that would be easy enough to detect and warn on. So maybe, maybe there's a patch that I could write for that. Correct me if I'm wrong, but I believe the URL segment where you have like application A. Yes. That just gets a prefix match as you're trying to map it into the proxy. And so while your brain might think you don't need a slash because you're thinking of it as a path segment, if you had application A with how the trail of slash, if you requested application, application with a capital A, that would go through the proxy, even though someone reading the configuration might not work out what happened. The easy answer is just match slashes. Just match slashes. Cool. How are the examples, does that make sense guys? Okay. So here's a new one. This slide is in progress because we just decided there's gonna be a change coming. These are the different worker statuses that we might see in the proxy through the load balancer. So there's disabled and stopped. And for the life of me, I can't really figure out what the functional differences between the two. But you asked Jay earlier if there's a way to administratively put something out of service, that would be how. Either one of those would do it, it would stop getting traffic. I believe, yeah, requests that have that route mapped. So if you set a cookie that says I should go to the Jay server directly, it'll still be honored until that machine is done for. You can also put a worker into ignore error state. And I encourage you guys to double check the documentation. This is just a quick summary. There are a little bit of nuances with some of the statuses that you can pull from the documentation. So if I have a B at the end and it stands up to a reload, then all of the requests will, only ones with a cookie will continue to go to that particular node member. Yes. I think he wants to drain state up in the same way you want, and not be a mess. Sorry, yes. Yeah. Actually, like in our situation, all I have for status, but we do set a cookie on the proxy for debugging purposes. It was an aggravation between service and debugging. So we do have a cookie, but it's only on the proxy. We set the cookie, the proxy sets the cookie. So with that, when we mark a server for disabled, we just want an existing session on its server to sort of bleed off. Yeah, that would be the drain mode. I misspoke. No, you drain would be the... Actually, instead of changing the configuration file to a recent restart, using the balancer mapping. You're jumping ahead. But wait, there's more. I prepared for this. Yeah, so we talked about hot standby. The error state is when the proxy has detected during normal operation that the worker is not healthy. So that is live traffic went to that guy and it did not work. Then there's also the drain state, which we just discussed, and then the check, which is an indication that health check found a problem and has intentionally marked it out of service. So normal requests will not go to this worker because the health check has said, hang on a minute, something kind of smells here. And then there's the redirect state is requests that go to this, it's not really a state per se, but requests that would land on this balancer member should actually go to this other balancer member instead. And then there will be a new one that Jim's going to introduce for us here soon. R for what? P for spare? How about J for Jim? So sticky sessions.  But unfortunately there are a lot of things that do require that. So anytime that you're using a shopping cart, that session information has to live somewhere. And unless you have taken the trouble of extracting that session information out of your container and put it somewhere else, maybe a reddish cache or persisted it to disk or database somehow, it's very important that the next time we talk, I send the request to where it originally went. Otherwise my shopping cart is now empty or I'm not logged in or something that I was doing just got lost. So, oh and the other option, and I'll point this out, a lot of application servers offer session replication. That can be expensive depending on how you do it and it may not scale very well depending on how much traffic you end up seeing. So, you can do built-in load balancing, I'm sorry, sticky sessioning. Mod Proxy Balancer does include facilities to do this, but it depends on your application server. Works great with Tomcat. Also requires you to know certain parameters about Tomcat. It can work with websphere. I'm not so sure about things like web logic and then PHP, not even close, right? So, the other option is you roll your own, which I don't really like either because anytime you reinvent something, you have to ask yourself, am I doing this as well as perhaps the experts would do it. Regardless, the route parameter is what does this work? So, we saw earlier on some examples way back when we had a Mercury and a Venus cluster or a node in our cluster. If I am presented a cookie that says I should go to Mercury, then that's where I should go. Yes, Chris? On your previous slide, when you say roll your own, does that essentially mean write your own module? Write your own module, do it somewhere else in your infrastructure. You could use a rewrite engine to do it, man. There's a lot of different ways that you could do it because, and this is where I kind of go into it, it's just looking at cookies and it's just making a decision. Fun session. You could use Fun Session, yep. To create a local session on Apache HD DVD. Yeah, there's a lot of things you could do. What I like to do, well, let me finish saying why this is a problem, at least for me. We talked about different Java backends, Jboss, WebSphere, Tomcat, even PHP. All of these different backends have different cookie formats for their session cookies. So you have to know a lot of things that you may not want to know or it may be a pain in the backside to know. Maybe you are a web server administrator and the application server administrator is a different team and you have to talk to someone else and that's awful, nobody wants to talk to people. You also have to know what those values are. So in WebSphere, there's a clone ID and it's a very strange series of someone tapped a bunch of keys on the keyboard and that is your route parameter and it means nothing to humans. So because of those reasons, the built-in is not 100% compatible. But there is a really great way to use the other features of HD DVD and some of the environment variables that the proxy module will set. So you, as we did before, create our balancer and then inside the balancer, we're going to tell the proxy module, hey, the sticky session cookie, we're gonna call it Daniel's app underscore sticky. Name it whatever you'd like. It doesn't matter because in the next line here, we're actually using the header module to say, and this is a little bit to digest all at once, if balancer route is changed, that's an environment variable. If the proxy detected that I'm not going to, or I haven't been presented a cookie that takes me to a specific route, then I'm going to add a cookie called Daniel's app underscore sticky, there it is again. I'm gonna put some string and then a dot and then I'm gonna put the value of the route that the proxy chose. So when does this come into play? It comes into play if this is the first time I showed up because the balancer is going to decide I should go to the gym cluster or I should go to the J cluster. It'll also come into play if, let's say the gym cluster goes down, the balancer has decided, I can't send the traffic there, I have to send it somewhere else. A new cookie gets set by mod headers. So I use the heck out of this because I don't have to talk to anybody, I don't have to look in other configs. The front end is completely stateless with relation to any values that the back end might set. So this is just a nice little recipe I like to use. And we are going a little slow, but it's fine because you guys are going to download the sides and you'll have all the information. So connection pulling, big deal for proxies, big deal for load balancers. So easy, it's almost automatic. So there are a couple parameters that come into play. Max is the hard number of connections that will be open to anyone back end. A soft max is if I have any more than this number after some time I'm going to tear them down. And then TTL is how long is the connection allowed to be idled? Some other things come into play though, and I just want to point this out really quick that if you have a long lived TCP connection open to a back end, that back end probably has keep alive timeouts or other TCP timeouts set. So that could diminish the value of any connection pulling you configure in your proxy if the back end is closing the connection too soon. So generally speaking, what I tend to recommend is on your back end web application server, on your back end HTTP server, whatever it is, set keep alive timeout to infinite because you're not talking to that nasty scary internet and set the TCP timeout to a pretty long amount of time. That way when a connection is established by your front end it can stay open, ready and active until it's needed. So here's an example of connection pulling. You'll notice we really didn't do much of anything different or special. We just set some different parameters on how many connections will be opened. Now I will point out there's a min parameter, but that min parameter is not actually the minimum number of connections that will open when HTTP starts. Min is the number of connections that will be persisted if that point is reached or gone beyond. If you only have a need for one connection at a given time you will only ever see one connection open. But if you set a min of two or three and you still only ever use one connection you're still only gonna see one connection. However, if you set a min of two, a max of 10 and you burst up to five, you'll see it somewhere between two and five. Does that make sense? It's not actually, I guess aggressively established. It's established when it's needed and then it doesn't go below that number during normal server operation. So the other part that I really think is important for proxies is doing the hard stuff by the things that are really good at doing that hard stuff. So SSL benefits, Apache HDTPD is, it uses the open SSL library. If you are rich, you may have crypto accelerators that plug into that open SSL library. You know, John Frederick right this moment or in the last session is actually giving a talk on how to squeeze out more performance from Tomcat and one of the ways is to use open SSL. Let HDTPD speak SSL for you and then inside the trusted network within those walled garden boundaries, go clear text. If that suits your security posture, it makes a lot of sense. Running a little time tight right now, but I have a really cool Node.js use case where I don't know if it's still the case but Node.js SSL support really sucked. I mean, it was really, really bad and an application that ran at about 38, 40,000 HDTP requests a second. When turning SSL on it went down to about 6,000 requests a second. We fronted it with HDTPD through a UDS socket and bumped up to like 38,000 requests. So let the thing that's really good at doing that thing do that thing. So failover and health detection. So there's, it's not all roses. Some failures are only detectable by handling it with live traffic. Sometimes failures are detected by your users. These are examples of things that you might see in your environment. So SSL errors, for example, those will go back to the user. There's really not a way cleanly to recover from that. If the backend goes down though, that's TCP. No HDTP session has been started, no work has been done, so that fails over seamlessly. Also, slow or hung back ends, excuse me, those go back to the user as well. But because you know your application and you've spent some time talking to your application developers, you know that you can use the fail on timeout. Yeah, that's what we were talking about earlier. I couldn't remember the exact directive. So if you have a request that takes five seconds, you can time out in a shorter amount of time and then you can mark that backend out of service and say that guy's really slow. You're distracting me, Chris. Here's some really cool stuff. And this is stuff that I'm really jazzed about. This is a patch that Jim put together last year. One of the things that we voted into, 2.4 proper just after ApacheCon wrapped up last year. And you can do probing of your back ends. So you can do very simple TCP knock, knock, knock. Are you there? Or an advanced HDTP request. You can even be really clever and say as long as this match shows up in the response I get, I should consider the backend okay. So what you can do on this is with your application server, you can implement a health check, a self-help diagnostic that says, yeah, I can get my database connections. Yes, the ESB is up if you're into that sort of thing. Yes, I can do all of the things that I need to do. And only after executing those checks does it return something that indicates it's health. Otherwise, it can proactively be taking it out of service. And this is all stuff that's done on the side. It's not wasting connections from your actual connection pool that your user traffic is using. Very cool stuff. And here's how you would do it. So this is a, it's an open source example, which since it's open source, I shamelessly stole it from my slide. Right out of the documentation. It's a really good example of how you can check that the word failure does not show up anywhere in the backend. So I have these balancer members, let's say alpha and beta. And I'm using the health check template that I'm just declaring right here. And as long as the health check expression is coming back clean, which in this case, it's a negative check. As long as failure does not show up, I'm good. As long as that comes back clean, these guys will stay in service. It's really exciting guys, come on. Somebody should be clapping right now. Give Jim a high five guys. The other part is you can do live traffic monitoring. Keep an eye on how things are going. You can set some parameters. If I can't connect after this many seconds or milliseconds, I should abandon the connection. You can also do proxy timeout. So if I don't get a response or submit a full request after this much time, bail on the connection. And then also fail on status, which is something that I actually really needed in the web sphere world, because there's a period of time between when certain application servers will start answering TCP connections and before the application actually starts. So it'll give you a 503. Hey, I'm not ready yet. I would rather you be out of service until you are ready, please. And then of course, another option is you can just drive traffic through your site with monitoring. I would suggest you should use the built-in health check unless you need something a little more advanced. We're gonna have to fly, guys. Yeah, peace. Yeah, two minutes, I know. Okay, so, and this is what you're kind of talking about, Jay, so you can dynamically modify your cluster configuration, your proxy load balancer. The best way to do it is with the balancer manager. So there are a couple of things that you'll see in the balancer manager, and these are all things that you'll see on the next slide. But what I will point out is you're an admin. You're working on production. Be safe out there. The balancer manager will not say, hey, are you sure? You just said drain on everything or take it all down. Are you sure?  Yeah, so be careful. So this is what the balancer manager looks like. On the left side, we actually see the balancer manager, and then on the right side, this is an example of what the workers would look like. So this slides a bit of an eye chart. It's very clear in the downloaded presentation, but you can see the different parameters that you can set. You can see all the various things that you can learn about your environment. How often was this worker chosen? What's its current status? All kinds of stuff. You can change a couple of parameters. There are some parameters that you cannot change, but to your question earlier, one of the things that you absolutely can change is the state. And I just commented out who stands and what's needed in the company. So anybody can come behind and figure it out as opposed to having to... So there's good and bad, and there's some errata to kind of share with that. In 2.4.4, you can actually persist that state. So the challenge in 2.4.3 and older is if I mark this out of service intentionally, if I have to do a restart of HTTPD for whatever reason, it goes back into service. You can enable the persistence of these parameters that are set. So even though you don't necessarily see it in the config file, you do do a restart and come into the state that you expect to be in. Yeah, I think the newer docs actually show you may have a kernel example of using shell script, the kernel, to basically do things if you're done. So you could have a cron job set up. Absolutely. Or you could have a kernel request, because that's basically all the things that it's making a bunch of requests. Yeah, so. It's just to get requests to our edge. Jim makes a really good point, and you can script this stuff, because it's not full rest-like, but it's deterministic you can enable and disable. The trick is you have to either set the nonce to a value that you're expecting. It's like a shared secret between your client and the server or disable the nonce. And that exists to avoid cross-site request forgery in browser land users administering HTTPD. Well, it depends. I mean, it depends on what's right for you. I guess the way I would approach it is, I hear your concern. If I'm gonna be in a maintenance mode for longer than a typical maintenance window, I would probably wanna do a change to the config and reload. Because then, maybe I win the lottery between when maintenance starts and finishes, and I just walk away. I'm a big stickler. I like the configuration to represent what's actually out there. But if you're doing maintenance, and it's a five, 10 minute ordeal, and it's all scripted, this would probably be the most efficient method. That's true, that's correct. Yes. So I'm over time. I still have a handful of slides, but that's okay because you guys are gonna download them, and it's gonna be great. And in the next couple of slides, I talk about things that you can do to shape traffic. I wanna, you know, my application writes bad links. I'm gonna fix it on the way out. I'm going to compress or cache my content. I'm going to do things to enhance my security and make sure nobody comes into my house and makes a mess. There are modules that can help you with that. Go ahead and grab the slides, take a look at them. And one last time, this is where you can download it from, and I try not to keep a low profile when I'm here. I absolutely would love to talk with you guys about what are your use cases? What are things that I could add to this presentation? What are things that just didn't really do it for you? I'd love to hear it. Otherwise, let's clap real quick and then go have some coffee.


Hello, in this lecture, we will define direct labor costs. According to fundamental accounting principles, Wild 22nd edition, the definition of direct labor costs is wages and salaries for direct labor that are separately and readily traced through the production process to finished goods. When we're considering direct labor costs, we are often considering them in terms of a manufacturing company comparing and contrasting direct labor to indirect labor. Few different ways we can break out costs within the manufacturing process. For example, if we're producing inventory such as a tablet like so, we support accounting instruction by clicking the link below giving you a free month membership to all of the content on our website broken out by category further broken out by course, each course then organized in a logical reasonable fashion, making it much more easy to find what you need than can be done on a YouTube page. We also include added resources such as Excel practice problems, PDF files and more like QuickBooks backup files when applicable. So once again, click the link below for a free month membership to our website and all the content on it could break out the process of costs into categories of the material, the labor and the overhead. In thinking about any type of inventory, it's useful to think about the inventory in these components, even if we just purchased and sell the inventory because at some point in time, the inventory we are using had the direct materials but also had within the cost within the value of that inventory, the conversion costs of labor and the conversion costs of overhead. The materials will consist in this case of say metals and plastic, but of course, the conversion is going to be a huge factor including the labor. Now if that labor can be applied directly to the unit or the process or the batch, then we're going to call that direct labor because we can apply that out directly. If however, it's something that cannot be applied directly to the batch say we're talking about a supervisor or something like that, which is supervising for a large production process, we we still have the cost of that supervisor that should be in the production process, but we can't apply it directly out in a job cost system to the job or a process cost system to the process. And therefore, we would have to put it into overhead. So the components we have our materials labor and overhead, but we can break that out a little bit more in terms of the direct material versus indirect material and the direct labor versus indirect labor direct materials being the main thing the big costs that are going to be included in here indirect materials being those small costs that it's not worth our time to track. And therefore they're going to be part of overhead direct labor being that labor that will be applied directly to the production process of the specific job or process that we can apply out directly in direct labor being those costs to the job or process such as the supervisor such as maintenance on the factory wages involved there that cannot be applied directly to a job or process and therefore would be grouped in overhead along with everything else involved in basically the factory that we cannot apply to a job or process that we would then use some kind of estimate in order to eventually apply and estimate them to the to a specific job or process.


I've got a lot of new pickups from Uniqlo to Nike to footwear and things that'll spruce up your space. Let's get into it. So this first pickup is a banger and it is from the new Uniqlo U Collection and it's this hooded coat right here and for reference I'm 5'7", 162 pounds, you know your boy's been bulking a little bit and I got this one in a size medium. This is meant to be oversized and the coolest aspect has to be its cut. You've got a drop shoulder design with options and hardware to adjust the sizing of your cuff. Another thing I can always appreciate is pocket design. It really makes a difference compared to another Uniqlo coat I have. You know if you just take a look at the pockets this one is much more of a statement. You've also got that double zip which should be standard in every jacket, I don't know why it's not and you can choose to cover it with the extra fabric and snap buttons. Very clean and subtle. And I just like how even when you do zip it up and snap everything together you just get a different tasteful look, blade runner vibes for sure. And if you want the hoodies detachable and that just gives you a ton of different styling options. This is definitely going to stay in your wardrobe for sure and yes this is from the women's section. Ooh probably couldn't tell until I just told you. And I know that may be weird for some so there is a men's version which I don't think is as cool as this one and so this one right here I highly recommend. And now our next Uniqlo item is the two-way pocketable bag. So I got them in two colors, got an olive colorway, anymore maroon dusty purple kind of colorway. These are definitely my go-to travel bags now and by travel bags I mean like on a flight. They have a bunch of city commuting bags but these ones are perfect for traveling because they can actually fold into themselves into a smaller tiny package. So yeah it's a normal sling bag or you can treat it as a tote bag and whenever you do have a flight all you have to do is collapse it and you now have an extra carry bag for your vacation. These colors are simple, nothing too loud and pairs beautifully with basically any fit. And they've got a ton of colors. You really can't go wrong with any of them.  Now the last uniclo pickup before we move on is the checkered shirt with a mandarin collar. So as you can see there's no traditional collar and it just makes this a more unique piece. I already made a YouTube short on how mandarin collars are very underrated. It's a good way to stand out and I think it layers much nicer as well. And the simple checkered pattern makes this piece perfect for an all-black fit. Subtle contrast still keeps this an all-black piece but it'll help with separation when it comes to other black pieces in your fit which I just think is necessary for an all-black fit. Another detail I really like is this hem. The front is shorter and the back is longer so with the side view it has this staggered look that's really nice and they even have a pleated detail in the back which really isn't necessary but I can always dig that. Another pickup I have been enjoying are these socks from Bombas the sponsor of today's video. So if you saw my last video you would know the importance of wearing the right socks and Bombas has you covered. You see I bought some cheap socks before and they feel awful to wear by the end of the day.  Don't get that with Bombas in fact these are the comfiest socks I've ever worn. I have the no-shows, the crew socks and the performance heavy duty socks. First off it is mad cold out here on the east coast and so these heavy duty socks are the move. Super thick sweat wicking keeps the feet dry and is still breathable but the favorites and staples of the wardrobe are the no-shows socks and crew socks which comes with a cushioned footbed, a honeycomb arch support system and they stay hugging to your calves or ankles. The no-shows socks feel exactly the same comfortable and breathable but is perfect for the summertime. Now the best aspect and why I love supporting Bombas is one purchase equals one donated because socks are the most requested items whenever it comes to homeless shelters and so whenever you purchase a pair of socks it will go directly to supporting that. If you want to pick any of these socks up definitely click that link in the description they got basically every color where you can ask for black, white and a ton of fun colors. Every time you see me wear a pair of white socks in a fit it is from Bombas. Thank you Bombas for supporting the channel and sponsoring today's video. Back to it. So now let's move on from Uniqlo to these dark martin boots right here. My people up north, New Yorkers, Shytown, Canada, anywhere where it snows heavily these boots are for you. This is the Blizzard waterproof Chelsea boots. So it comes with this thick winter grip outsole and it is fleece lined inside to keep your feet warm. So I've been through a lot of New York winters and honestly regular Chelsea's and even just regular boots sometimes it's not the move.  Yeah, that was basically me every single winter. I don't have to worry about that with these because of that fleece lined it's thick and of course waterproof. So any dogs I think are a great introduction to boots. They add extra height, they're subtle with its design and you've got that slight military look. And if you don't live in an area that has a lot of blizzards or it snows a lot. I recommend these combat boots from Doc Martins. Also another great introduction to the brand and these style of boots. These ones are also much more affordable and you still get that classic Doc Martins look. But if you live in a colder climate where it snows a lot I definitely recommend these ones. But either way any Doc Martins I think is a great introduction and worth your money. And it's starting to get a little dark here. Let me turn on the light. Definitely see my mess back there so I'm gonna hide in front of the mirror. Next up are the Isimiyaki on police trousers. Yes this was filmed on a different day and yes these are mad expensive. With it being mad expensive does that come with quality? Absolutely it does but there is drawbacks when it comes to quality and paying for a higher price. I'll get into that in a sec. Let's talk about the trousers itself. These are beautiful. The pleated detail work is crazy. I don't think a lot of people understand how much it takes to get these pleated details to be straight aligned. So in order to get pleated work done it requires heat and pressure. So anytime you have a pair of trousers whether it be single pleated, double pleated it requires a lot of heat and pressure and precision. So the fact that these pants and the entire thing is pleated just goes to show that a lot of care goes into these pants and RIP Mr. Miyaki. So yeah the entire pants are pleated but there's a single pleat down the middle where all the pleated details meets and it's just a really really cool look. And I've seen other pleated trousers that I really don't like the shape to it. This one I think is perfect. It's nice and relaxed fitting. It's light tapered down past the knees because of this detail right here. So this is very versatile. You can pair it with sneakers, you can pair it with boots. It looks great. Now because it is pretty cold out here on the East Coast these are not really that great for it. These are more of a spring summer pair of pants I would recommend unless you drive a car. I have to walk around everywhere so these really aren't that great. And going back to the price of these comes some drawbacks. So when you first get these pants there's a warning that says don't sit on these pair of pants too long. Don't apply too much pressure. Don't apply too much heat to it because you could ruin the pleated detail work. So a lot of care has to go into this yourself as the owner. And that's just what happens when you pay more for something. Like when you have a Rolex versus a regular watch you don't really care about the normal watch as much. These pair of trousers I gotta watch where I'm going to eat. I gotta watch how long I'm gonna be sitting for. So something to consider but worth the price definitely if you got the money but if you're really not too into fashion there's probably something better for you. Okay moving on to our next piece is this right here and that is the All Saints zigzag sweater. So first off, don't do what I did. You see this right here? Knitted sweaters tend to have extra weight to it. So whenever you hang it up gravity will pull the fabric down and actually stretch out this collar area. So don't do that. This is just for the purpose of this video. Whenever it comes to sweaters make sure you fold them. But knitted textured pieces like this is perfect for the season. The light just hits the textured fabric differently making it stand out. This piece also has that split hem where it's shorter in the front, longer in the back and one side is brown. The other side is black with that zigzag pattern. Definitely Charlie Brown vibes. I got this in a size medium and it fits normal. Nothing too oversized or tight fitting. And honestly if you got a tight fitting knitted piece I think it'll just get a little bit too itchy. And even this one I'd recommend wearing a white tank top underneath so that it pokes out a little bit down here and it'll help with that itchiness. I'm gonna take it off its hanger now and fold it so that we don't get that shoulder crease. All right so the next piece is also from All Saints and it is this tie-dye shirt right here. So for my wardrobe, graphic teats and statement teats are kind of missing in my wardrobe aside from my cold wall shirt. And there's nothing inherently wrong with that. I just need a little spice in my life, you know? Switch it up every once in a while with something a little bit louder. And that's what this piece is. I love the tie-dye pattern. I love the subtle turquoise. And it's not dark black. It's more of a charcoal color. And I think it just looks really good. Although it is fall, I won't be wearing this as much unless I'm gonna be layering it. This is a good spring and summer piece. Okay so we're gonna move on to this scarf right here which is also from All Saints. If you guys watched my live Q&A, I definitely talked about all these pieces. This scarf isn't too particularly warm because of how translucent it is. It's nothing thick like cashmere or anything like that. But I really like its hint of pink. It reminds me of Japanese cherry blossoms. And I think when paired with an all-black fit or something like that, it's a good way for this piece to stand out while bringing some extra warmth. And I think it does lean a little bit towards Asian streetwear whenever you pair in an all-black fit. I just think it's cool. So next up, I think it's something that you guys will actually really like. And it's the Everyday Elements Backpack from Alpaca Gear. So this is what a backpack should be. It's water repellent, has a premium construction, secret pockets, and a mod system. So Alpaca Gear sells these mods that you can attach on the inside of this backpack for your keys or hand sanitizers. Those are what I have. And that just offers more organization no more having to dig to the bottom of your backpack for your keys. You've got your standard laptop pockets, any timeless design that can handle the elements. Can't really beat that. Now to be honest, this is something I probably wouldn't fly with. There's other bags I'd probably use. But for an everyday commuter bag or going down to the coffee shop, getting some work done, this is great. So now we have this elevated flannel jacket from Scotch and Soda. So again, if you watch my live stream Q&A with Nordstrom, you will know that this is gifted and a few other pieces as well. And this is a pricey piece, but I can kind of see why. Got a nice tactile hardware with a rose gold hue, heavy fabric construction, and some details that make this stand out from your typical flannel. It is a bit long on me hem-wise because I'm five foot seven. So this is definitely going to the tailor along with a bunch of other items whenever I have the time to do that. All right, so now let's talk about Fog Essentials, which I feel like everyone has a piece from them or has encountered them on social media or in person. Honestly, I think you can get more for your money, even with the Scotch and Soda flannel. But this piece does have some cool elements to it. You've got that thick collar and thick sleeve cuffs. This shoulder stitching right here is really a nice detail and really emphasizes the pecs. And I got it in a size medium, but just be aware, I don't think this is great for peak summer whenever it's really, really hot because the construction is really nice. They use a heavy fabric. But for summertime, like I said, I think you're rid off with a Uniclo Aerosim T, but this is a really cool shirt. Okay, next up, we have some Nike sweats that I actually bought for an upcoming campaign that I'm doing with them. You know, this one was sent over to me by them, but sometimes you got to spend a little bit extra to make your campaigns much nicer. So these are basically the same sweats. This one just has a two-tone look with a pop of color and thicker drawstrings. And this one is just the standard dry fit sweats. You know, it has a zipper pocket right there. A really, really, really tight cuff, just the same as this one. So whenever you hike up your sweats to show off some crew socks to the sneakers, it'll actually stay there, which I really appreciate. Only time will tell, though, if that will actually hold up and doesn't stretch out. But yeah, as you can see, it's the same exact thing. You got the YKK zipper, very nice and premium. Listen, fellas, you know you got good zippers when you could zip it down and zip it back up without using another hand. And of course, they're sweats. They're very comfortable and cozy. This one isn't too much more money than this one, and it does stand out a lot more. So I think you might get more of your money's worth with this piece right here. Got that bold pop of yellow from this Nike embroidery. And yeah, I've really been enjoying these. As you can see, this is empty and we're gonna move on from that to some useful items. And check this out right here. This is the Anker GAN Prime Charging Brick. So what's really cool about this piece is it's your standard charging brick for, let's just say, your laptop. But it has three ports to it. So you can charge your laptop, you can charge your phone, and you can charge another device. So this basically replaces all your chargers for whenever you travel. You don't have to pack three different chargers. It's all packed in one. And this doubles up as a portable charger that has 10,000 milliamp hours. So along with not having to bring my laptop charger, phone charger, or my external portable charger, I just gotta bring this. So next up is something that'll spruce up your space and that is the Philips Hue Gradient Lamp. So you can see a little bit of the lights down over there. And as you can see, whenever I turn it off because you can control it through the phone, feels a little bit more dull. And it is very subtle, right? But it makes a huge difference. I wasn't really planning on filming, you know, whenever the sun was gonna set and how to adjust my light. So my whole lighting setup isn't perfect.  And if you're not a creator, this is just something that'll spruce up your bedroom, your living room space. And you can adjust the colors, set the mood, something well worth investing in your place. All right y'all, I hope you guys enjoyed this video. If you're interested in any of the pieces, I'll leave them all linked in the description. Open all those links in different tabs. And full transparency, if you guys do make a purchase on any of those links, I will get a small kickback, which just goes back to supporting the channel. Make sure you like the video, subscribe to the channel, follow me on the socials. And until then, stay fly deuces.


What's up everybody? Jason for Jaspys, casebricks.com our last random number block to sell it impeccable number four just sold out This is just for the Patriots random number block style So everybody gets a random number from zero through nine you go by the first number on the left side of serial number dash So those are examples right there and of course any one of ones will go to spot one any and all redemptions for the Patriots we'll go to spot zero and if there is any non numbered cards and We'll have a randomize that to the customer names. So here's the dice roller. Here's the customer names Matthew I'm Robert and of course you got zero through nine Let's roll it Six two eight times. Good luck one two three four five And it was eight times six seven eight Well Steven down to Sean Maddock eight times one two three four five six seven eight Boom spot one down to four All right, Steven with one Danny with three Robert with five Last one module Adam with two Pat Wolf with seven Matthew with eight Mark with six Danny with nine Mark with zero any and all redemptions and Sean Maddock With four so there you go guys. So now in a separate video. We'll start to break. Good luck everybody


I was really puzzled that this product wasn't here and I had seen it in the US in a very sort of underground international way and created the brand name Browsie Bytes to sort of honor the Bytes from Brazil concept. My idea was, no, I'm going to bring this to Americans in a way that Americans can't understand and I wanted it to be sold in mass groceries. What was your first step in deciding to go? Very first step was learning the ABCs of the food industry so we took a class at a community college in Portland. Not CPG but just food industry. Food industry. So took this class, kind of understood the basics of it, got a commercial kitchen, packaged it, started knocking on doors, tons of rejection, a couple yeses here and there and started to go.


Good morning church. How are we doing today? I'm so glad to be with you. It's it's a joy to be here. Yes The Lord through an interesting journey has has us currently just north of Kansas City in Missouri But I grew I was born and raised in Chino And so it's always good to be back home graduated from Chino High School and always good to be back in Sun and No, actually Missouri is a great place It's a very underrated but beautiful place and God is doing a great work there But I tell you God's doing a great work everywhere these days. Isn't it exciting time to follow Jesus? Yeah, and and I'm just glad to be here with you guys I I had the opportunity to visit Your church a little while back as you were celebrating 40 years of ministry And I just want to applaud and commend a pastor David and the leaders and and all of you here at this church You have stood as a beacon a true to the gospel of Jesus Christ and Anchored in the word of God for so many years in this community and that is just worth Saying thank you and it's I'm humbled and honored to be able to share God's word with you today Well with that said yeah I'd love for you to grab your Bibles and turn to John chapter 12 That is where we find ourselves this morning Do my best here after first service I? did a little tour of the courtyard and I got talked into one taco and then three tacos and one played a nachos later I'm feeling moved this morning, so I Don't know exactly what your practice is here But I love for the congregation to stand while we read God's word So if you would mind standing with me and look at John chapter 12 this morning as I read from The gospel of John verses one through eight John chapter 12 verses one through eight Then six days before the Passover, so this is the week leading up to Jesus's crucifixion Jesus came to Bethany were Lazarus who was excuse me Let where Lazarus was who had been dead whom he had raised from the dead there They made him a supper and Martha served But Lazarus was one of those who sat at the table with him Then Mary took a pound of very costly oil of spike Nard anointed the feet of Jesus and wiped his feet with her hair and The house was filled with the fragrance of the oil important point to note there But one of his disciples Judas Iscariot Simon's son who would betray him said Why was this fragrant oil not sold for 300 denarii and given to the poor? This he said not that he cared for the poor But because he was a thief and he had the money box and he used to take what was put in it But Jesus said Let her alone She has kept this for the day of my burial For the poor you have with you always But me you do not have always Father we thank you god for your word to us this morning We ask by the power of your holy spirit That our hearts and our minds would be attentive and open to what you are speaking challenging encouraging exhorting us today and so lord we ask that you would Have full reign in this place that this house would turn into a sweet Dwelling place of the lord as your church is gathered here this morning and We look to your word for the truth that we need This morning in jesus name. Amen. You can be seated I'd like to start off the message this morning by asking you two questions Don't answer them out loud, but ponder them as we move through this passage this morning The question number one is simply this What do you want? That's a fairly broad question. What do you mean? What do I want?  What's it worth to you? Every person every human being lives their life makes their decisions builds their priorities Around the things that are most valuable to them The things that are worth something to them Everyone does this and what we call that is a value System all right and every person has a value system by which they live Different people value different things. There's different schemes different priorities But everyone has a has a order of what is valuable to them and here is a true statement regarding the value systems in life That the more valuable something becomes to you The harder it is to give that thing I need interaction so there's no trick questions this morning. It's just it's pretty obvious The more valuable something becomes to you the harder it is to give it Up in a way, that's right When it comes to the things that we value It's interesting how something can shift your view on on on what you value so quickly A few years back a couple in our family in our church was moving to Africa To become missionaries and so they were selling their home beautiful home in northern california They were getting rid of all their stuff and they gave us a call So we have some bikes we want to give give them to the kids come pick them up And if there's anything else you guys see here that you want, uh, it's just just come grab it And so we went over to their house and When I was in high school. I like to collect baseball cards It was a bit of a hobby of mine during my high school years And so I walk into this guy's garage and every single wall is lined and stacked with with boxes of baseball cards and he said you want these and I I thought about it and then I looked at my wife and I thought about my garage and I said no not not really But he said take this take this little I don't know what's in it Just take this box and so he gave me this little shoe box And it was all taped up So I threw it in my car packed up the bikes who went home that evening I grabbed out the shoe box and I started to open it up And I took off the tape and I opened the shoe box up and as soon as I opened it up The first card I see is it says mickey mannell willy maize Jota maggio and the whole box Had these cards and these thick cases and there and and all of a sudden I was not just tossing around a little cardboard box You know, I was like dusting it off and putting it on the shelf very carefully and all of a sudden it gained value it gained worth and I I treated it differently And value doesn't always have to be monetary, right? I mean I remember when I was cleaning out my garage to take things to the goodwill and I I took that old rusted out pogo stick Boy about broke my daughter's heart. I took her greatest treasure But not to mention All the white bags that we're sitting there to go to the goodwill drop them off come back And my wife says, have you seen that bag of our brand new snow clothes from trying to get ready for the winter? Are my 200 dollar jackets in there? I can't seem to find it Um, let's just say I spent the next couple weeks at every goodwill store Around and someone got a really good deal Um for the winter But anyway This message isn't about um clothes and it's not about money and it's not about those types of things What the message today has to do with deal with is is worship and how does worship relate? Well in the in the english the word worship is a compound word That is is much like we have friendship and relationship and then we have worship. What's war? W o r in the in the english it's worth worth Ship and so worship happens when I attribute value or worth to when it comes to the highest thing of my highest value of my highest worth Those are the things that I worship and typically The only time you find people giving up the things that they value And that are worth something to them Is when they find something that is worth More or that is more valuable the minute they find something that is worth more valuable The the they measure the cost and they say okay, it's worth me giving up this In order to obtain this that is more valuable Jesus in fact gives a series of analogies In matthew chapter 13 and yes, I'm selling my introduction here, but you don't need to turn there I'll have it on the screen if you'd like matthew chapter 13 Jesus discusses this regarding the nature of God's kingdom Verses 44 through 46 listen to this. He says again the kingdom of heaven is like treasure hidden in a field Which a man found and hid and for joy over it. He goes and sells all that he has and he buys the field Again the kingdom of heaven is like a merchant seeking beautiful pearls Who when he had found one pearl of great price? He went and sold all that he had And he bought it Now we could do an entirely in-depth study right on that passage But for the sake of this morning's message, here's one principle. I want you to take away That the treasure in the field And the pearl of great price Were more valuable to the finder Than everything else they possessed right to the point where they would say every all of my treasures I will get rid of them in order to purchase this treasure this pearl this field For that's where I found my greatest joy and of course the the application For that is the fact that God's kingdom through the person of Jesus Christ Is the greatest treasure that a human being could ever land upon Is there anyone who can testify in here that the reality is that you were in darkness You were miserable you were trying to find anything in this world that would fill the gaps and voids in your life You felt manipulated you felt lied to you felt like you were always confused And then all of a sudden the light of the gospel shone and Jesus came into your life and you said wow I found what I need He is what I need He's the answer But think about those looking in from the outside Those looking at these people not not knowing not having the knowledge of the field or the treasure or the pearl Going what on earth are those people doing? Selling everything they have to buy a field Well today I want to go through this story in the bible in john chapter 12 A story of worship where someone specifically marry sacrifices And pours out her most valuable treasure On the feet of jesus as an act of worship The title of this morning's message if you're taking notes is in the form of a question Wasted worship Can worship be wasted? This is a story of sacrifice of courage of embarrassment of humiliation of praise But it's an incredibly relevant story for us today Why because the story of mary forces us to ask the question how much is jesus really worth To me And so if you're taking notes We'll go through four points in the form of four questions that I want us to ask ourselves today as we look through this passage Question number one is simply this Is jesus worth more than what I value the most? Is jesus worth more than what I value the most verse three again look at it with me Then mary took a pound Of very costly oil of spikernard Anointed the feet of jesus and wiped his feet with her hair And the house was filled with the fragrance of the oil I want you to focus for a moment on the oil itself This is a very rare rare oil spikernard. It comes actually from india. You can actually buy it today Like doTERRA young living all those essential oils still still make it but back then it's it's still expensive today I looked up a bottle of spikernard. It was like $418 But back then even it was even more rare. It was reserved only to anoint those of highest honor and and for mary Many people believe that this would have been for a single jewish woman who did not have a husband This was her savings account her retirement her future marriage everything that she possessed in in the world was wrapped up in this sealed jar container of this very expensive oil Many people believe that it would have been for her dowry. That is the the cost that she would have brought into her marriage paid into her husband reserved for that marriage day And when we when we see this lavish way that mary expresses her love to jesus by literally some would say wasting or pouring out Her greatest treasure upon jesus doesn't make earthly sense. It didn't make sense to the people who were in the room We're going to find that out in a minute Only two people it made sense to at the moment were her and jesus But this isn't really what they teach you to do in like dav ramsey financial peace university, right? Like just go take just go, you know, just go throw it all out And here's the thing about this oil I want you to recognize I don't know if any of you are into essential oils or not My my wife got into essential oils a while back and my life's never been the same You know, but here's the reality. She has these diffusers, right? And and you put you put just like two or three drops of oil into this water And you turn it on and your whole house smells like stuff Trees and flowers and all sorts of things But here's the point oil of that Nature is very potent. It's very strong Only two or three drops if mary would have taken a sliver And just poured out a few drops and anointed jesus feet that would be a high act of honor Of worship that even would have drawn attention of like wow, what's she doing? But notice that mary doesn't just take a few drops She takes all that she has a whole pound of it and she puts it all on jesus Not even reserving anything for herself not reserving anything for her future And what speaks to me from this passage the most is maybe what is unspoken Because notice what jesus does not say Mary stop That's enough keep some for yourself. I'm not really worth it. Does he do that? There goes the oil more and more and more and the tears are flowing and the hair is and she's totally vulnerable before jesus and And and I don't know but jesus i'm sure had this intent look Of love And and joy In this moment of adoration And here's the thing i found About jesus jesus never and shouldn't ever apologize For the fact that he is worthy of our greatest sacrifice Of our submission of our obedience of the worship of our lives We give our worship to so many other things Except for the ones sometimes where it's the safest And yet it's when we give our worship to jesus that we find ourselves most complete isn't it? But jesus doesn't apologize that he's worthy he's worthy and paul would recognize this In seeing that jesus who being The very essence the very nature of god Who humbled himself had no obligation to do so but gave his own life for our sins paul would say i beseech you therefore brethren by the mercies of god That you present your bodies a living sacrifice holy and acceptable which what which is your reasonable logical understandable obvious Act of worship He is worthy of our greatest sacrifice Sometimes i think there are people who really walk around life be grudged Bitter and angry at god Because i gave god something And he took it And then what i hoped would happen What i dreamed of happening what i expected to happen with my life didn't go the way i had hoped and now i'm angry at god for it This is a very regular pattern that people live in they live in a lot of bitterness at god because it didn't go the way They had hoped when they gave themselves to the lord But i would suggest that many people in that state are miserable not because of what god didn't do But because they never really entered into the place of full surrender They never really understood the joy And the contentment and the satisfaction of giving their themselves to jesus simply because jesus is worthy Simply because he's enough Self-preservation never yields true joy or contentment or eternal fruit I sadly think about times in my life Where i have said no to jesus Because of the fear of what it might cost me And of course that never ends better But how many times is that our initial response right god prompts our hearts I want you to go. I want you to share the gospel with the guy. I want you to go reach out to that neighbor I want you to go to the hospital. I want you to go on the mission trip I want you to serve in this area of ministry. I have a plan for you I want you to step out in faith and the first question that pops into our carnal sinful ruined minds is well What's it going to cost me? What's it going to require? What am I going to have to give up? Can i do this and still maintain my comfort and still maintain my ambitions and still if i can fit it All into my box and i'll say yes That wasn't mary's thought at all She was so consumed with jesus that the sight of him the reality of who he was and what he was doing Eclipse The value of everything else This is why viewing every act that we do as an act of worship to god will Make those acts less burdensome Right paul said three separate times Whatever you do whether you eat or drink Word or indeed Do it all for the glory of god Giving thanks to the father do it all in the name of jesus. Why because when i'm directing my worship to jesus everything else falls into place I think this can even affect our corporate worship. We gather together in this place. It's just a building, right? It's just an empty shell until the church of god comes in who's in how Who are inhabited by the spirit of god and they and who are dwelling place of god in the spirit And we all begin to sing forth the praises of god We have these songs that declare his majesty and his glory and his goodness and his worth I personally think that that ought to be that ought to be such a special moment of interaction with god And many times for many of us it's like we're so distracted, you know, we're so Well, we can just skip that that's just the music.  Well, I don't really like that song. Well, you know And we're singing about a clap your hands clap your hands and we're just like, oh, when is this going to be over? It's a special time So for our lives to be poured out simply we have to ask ourselves that question Is jesus more valuable than the things I value the most second question Verses four and five teach us is we need to ask ourselves this is jesus worth more than the opinions of other people Is jesus worth more than the opinions of other people Verse four But one of his disciples judas is scary it Simon's son who would betray him Said why was this fragrant oil not sold for 300 nanari and given to the poor certainly The murmuring in the room Would have been incredibly humiliating You have to understand the context Of that culture right women didn't really have a place now jesus Changed all of that It was a patriarchal society and so and so women didn't really have a place they were to be beneath Right and so judas and we're going to talk about his motive in a minute He he verbally in front of her and in front of jesus and in front of the disciples and in front of lazarus and in front of everyone Who's at this meal that they're enjoying in bethany He says What a waste Why can't we do something more productive? With that oil that that money What does that do? Well, matthew's account tells us that all the other disciples started saying the same thing Because it only takes one little voice right complaining and Planting seeds and then all of a sudden. Oh, yeah, that's judas is right Oh, what a waste and and so put if you can try to put yourself in the position of this woman She's on her knees in a vulnerable position. Her hair is loosed already. She's making herself completely Transparent she's already putting everything on the line. Her greatest treasure is now being spent on the feet of jesus She's in this moment of worship and everyone around the in the room is like, what is she doing?  She knows what she must do and she is focused on the purpose and the mission at hand She was not distracted by the awkwardness or the discomfort of her act of worship that caught that that caused the others around her Sometimes I really have to think if if many of the disciples criticism of mary's worship Didn't actually come from a logical argument, but rather from a place of conviction I never worshiped jesus like that I never thought about giving jesus a treasure like that and instead of admitting And praising mary for her sacrifice they criticized her to make themselves feel better about their lack of commitment to jesus You know people still do that today This was not the first time mary was criticized for her worship decisions She was criticized once by her own sister. You remember that? In luke chapter 10 where we read that martha had a sister called mary who also sat at jesus's feet and heard his word But martha was distracted with much serving and she approached him and said lord Do you not care that my sister has left me to serve alone? therefore tell her to help me And jesus answered and said to her martha martha you are worried and troubled about many things But one thing is needed and mary has chosen that good part which will not be taken away from her Notice how jesus constantly comes to the defense of those Whose eyes are fixed on him and who are who are more concerned with obeying him than being swayed by the opinions of the people around them And jesus comes to mary's defense for her obedience He praises her for her priority prioritization of him above everything else even above serving Because jesus didn't die just for a bunch of workers He died for a relationship Yes, we do need to serve. Yes, we do need to work. But our priority must be to be with jesus To worship him to offer ourselves to him I believe this is why paul during his ministry made it clear as he wrote to the church in galatia in galatians 110 He says do I seek to please men? For if I still please men Would I would not be a bond servant of christ? So he basically says you you can't be torn about who your ultimate allegiance is to You can't walk through life always Worrying and being concerned about how everyone else is going to think About your decisions to follow jesus. No, your decision to follow jesus Is first directed towards jesus your allegiance is to him first And on a side note, and I won't I won't try not I'll try not to get too much on a rabbit trail here But I think we live in a day and age where the church needs to be more committed than ever before than christians Individually need to be more committed than ever before To jesus and his word and his truth Regardless of what you know, we've lived in a time where yeah, we've lived in a time Where christianity has mostly been culturally acceptable. We We sell out we remember today. We pray for the persecuted church the people that are literally Giving all to jesus and paying the ultimate price of their lives of their resources of everything they have And we haven't known that too much To that to any extent in this nation in this country But what concerns me these especially over this past year is the minute The godless culture gives their opinion on an issue You could hand pick a hundred churches Who stand from the pulpit a hundred pastors who stand from the pulpit and basically just hit the repeat button From the headlines on cnn news or the latest pressure points that people You know the loudest voice out there and all of a sudden the church is preaching it and dressing it up in all sorts of christian language The church has become so weak That we can be bullied around by the opinions of a godless world Since when is the last time you read that the that the That the church is to receive its talking points its doctrine And its messages from a godless world that doesn't that doesn't even believe that he exists that want to be their own god That's where you get it. No, this is where we get it. This is our foundation right here The opinions of the people around you when you choose to follow jesus are going to grow more and more critical in these days, trust me But don't change jesus to some culturally relevant politically correct Godless version of jesus because you want to be liked by a world that doesn't believe in him Shine as a light church Jesus said you are the light of the world A city on a hill cannot be hidden neither do they light a lamp and put it under a basket But they put it on a lamp stand for all to see What I love about that passage when jesus says this is he doesn't say you need to become the light of the world He says this is what I've made you But the frightening thing is is that what god made us? He's given us the free will to hide If we so choose But maybe you've noticed That everything in this world and in our culture is being shaken like never Before and maybe in our lifetime at least And I believe i'm not a prophet But I believe there is coming a time In this nation and in this world Where everything that the people around you have been trusting in putting their identity in putting their foundation in their jobs Their money their resources their relationships their prominence their power Whatever it is that they have tried to fill that void in their lives with it is going to crumble And the darkness around them is going to grow darker and darker and more intrusive and when they are in that place They are going to need to be able to look up And see on a hill a light and it's not a politician and it's not the government and it's not the it's not the stock market It is the church of jesus christ Brightly shining the truth of jesus being anchored in his word That's what the church of the book of acts was I have digressed a bit, but let's get back on track We need to make sure jesus is more valuable to us than the opinions of other people Number three question three Is jesus worth more Than the lives of the enemy is jesus worth more than the enemy's lives Judas pipes up with an objection That obviously to everyone in the room seemed reasonable Why don't we Why are we wasting that oil? We could have sold it for 300 denarii. That's one year's working wages Okay, now we understand why this was her greatest treasure one year's working way. We don't know how much we could have Fed the poor people with that I think Judas would have made a good politician right on the outside We need to take what belongs to everyone else and feed the poor with it when they really are interested only in money Okay, I'll stop. I promise. That's it. That's it. I'm done But notice a few things about Judas. These are important first of all Was it Judas's perfume? No, like what business it is. Is it of his anyway what she does with her own stuff? Like that's her decision between her and jesus Secondly, I want you to notice that Judas's internal motive was different than his expressed motive He expressed in front of everyone else Something that would get everyone riled up and get them critical at mary But notice the john tells us what he really wanted was that he kept the money box And he was thinking 300 denarii in the money box that I have access to would would pad my pockets So he was being deceptive Third of all, it teaches us something valuable about our spiritual adversary the devil Because I believe that Judas typifies Satan in this passage In what way Well satan too Has an express motive And an internal motive Satan will always mock and challenge the christian's commitment and worship to the lord Why don't you spend your time and effort and energy doing something worthwhile What are you really accomplishing by following jesus?  You could go make something of yourself in the world Hey, be good Feed the poor Do something moral that's all great. Just keep jesus out of it As long as you keep jesus out of it satan's fine with it. Why? Because his express motive is different from his internal motive. What is satan's internal motive?  He says he's doing the right thing Again by way of application. How many times have maybe we stopped short Of complete obedience to god's will Of a step of faith Because we Listened to the wrong voice We listened to the voice that magnified our insecurities or challenged Our faith or and we we gave in to that voice of the enemy Rather than keeping our hearts and our ears fixed on the word you guys sometimes especially in this world today We need to learn how to tune out and turn down the voices around us and tune in and turn up the voice of jesus And his word make sure that he is allowed his voice speaking into your life That's where eve went wrong Is that she started listening to the wrong voice and was deceived So be careful what voice you listen to Jesus must be more valuable than the lies of the enemy and his attempts to derail us The fourth and final question we need to ask Is jesus worth more than the potential lack of return? Is jesus worth more than the potential lack of return? The other thing i notice and observe about mary is that as she's giving this gift to jesus She doesn't express the mentality i'm giving something valuable to jesus. I wonder what he's going to give to me Notice that it is no jesus is worth it. I have it. I want to bless him. That's it period It's not So into so into jesus and and so jesus can do something better for your life No, it's jesus is god. He's king. He's worthy and i'm gonna give it to him and let him do what he wants with it And regardless of whether or not i see a return or understand the purpose or see the big picture i don't But that doesn't matter because i want to give jesus my obedience and my worship now What she didn't know Was that jesus was preparing a greater reward for her In fact in matthew's gospel jesus adds the words truly i tell you Wherever this gospel is preached in all the world What she has done will be told of her in her memory The story is attached to the gospel in what ways this kind of blows my mind Notice a couple things jesus said she's preparing me for my burial i find this a very interesting statement because jesus like i said at the beginning is One week out From the cross He's been telling his disciples over and over and over more more plainly and more plainly.  That's all i want to know right? That's his disciples apparently not much has changed because the women were the only ones actually listening to jesus And and jesus now is She is preparing him for his burial. She knows something she senses The value of what this will mean to jesus And so the week goes on The Passover comes jesus meets all of his disciples in an upper room And you remember the story they all go in there Trying to find who's gonna sit at the best place right? They all passed the big basin of water that the servant would Use to wash the feet of the people that enter in the room. They're not thinking about it. They just want to find their seats It's gonna be an exciting Passover. Jesus is gonna take over pretty soon Jesus walks in he takes off his robe. He take he he dons the servant's towel He picks up the basin of water and he goes and he systematically begins to wash each of their feet in the in the Picture of a servant in the person of a servant Even judas got his feet washed by jesus But here's here's what i want to ask Who washed jesus's feet? Any of the guys in there washed jesus's feet? Well, well mary did With her perfume And if you're walking around first century palestine You don't take showers. You don't take baths. Your feet tend to accumulate smells and such From that point mary a pound of this potent Aromatic oil on jesus's feet. He's walking his feet are not washed his feet are not washed they are the aroma He carries across he walks up the cavalry. He is nailed.   It is our job to obey And to give jesus all See we learned from mary that it is impossible to waste anything on jesus Even if you don't see the return here and now But not only did the perfume signify the sacrifice that jesus himself was making But what about mary? In missouri hunting season starts next week. So it's deer season and in missouri That means all everyone doesn't go to work and the fields are filled with people shooting guns It's very dangerous. No But but a hunter knows something about the body that Uh that the part of the body that maintains that locks in That holds the greatest amount of scent is your hair You get you don't get your hair smelling, right? You might as well not go out because those deers have good sniffers And they're going to tell that you're not part of nature And again, here's mary with a pound of with a pound Of potent aromatic oil in her hair Remember that statement that john made?  So think about it. Jesus dies His disciples are afraid. They're locked in this this room.     It's not that we don't steward them. It's not but all of a sudden Jesus becomes more valuable than the thing i value the most And the closer i get to jesus all the sudden The opinions of everyone else around me and what they think about my commitment to jesus matters a lot less than what jesus thinks about my commitment to him And the closer i get to jesus The more i'm not interested in rooting my identity in the lives of satan But rather fixing my eyes on the person of christ And the closer i get to jesus All the sudden i'm not so concerned about what do i get out of it And what's the return and what's god going to give me But i'm so eclipsed by by who he is in his glory and his majesty that i just want to give him more That's what happens when you get close to jesus You keep your eyes on him And you stay committed to him there might be Someone in this room today who has not yet made that final decision those steps To even know jesus in this way to give your life to him To trust by faith in him as your god as your king and as your savior I can hear the question i've heard it many times Why why why on earth would i want to give my greatest treasure to jesus? Why would i want to give my life To jesus and i want to flip that question on you for a moment and ask you why would you not Want to give your life to jesus Is your next raise at your job going to give you peace with god Is your next achievement Your next goal your next dream being fulfilled going to erase your guilty conscience of sin And make you innocent before the creator of the universe Is your knowledge and your pursuit and all of the things are those things going to give you peace with god and And give you eternal life in heaven. No, they're not there's only one who can do it and his name is jesus He came two thousand years ago god from heaven our creator to the earth He died as sinners death not because he sinned but because you did and i did and he took our place So that he we you and i could be restored to fellowship with god Receive the promise of eternal life find the purpose for what for why we were created And when you trust and give your life to jesus by faith it changes everything Why would you want to continue down the path you're going? When you can experience what god created you for At the end of the day church there is no such thing as wasted worship Unless we wasted on someone other than jesus What do you want what's it worth to you?