www.nanohub.org Online simulation and more for nanotechnology In this next section, I want to talk about regression testing. Now that you've built a tool, you can set it up so that you can test the tool. And more importantly, when you publish the tool, you can test it again and again and again. So, we've spent a few days now. You guys are pretty good now at building Rapture tools. You've got the tool built. You're running it in your workspace. It works. In a minute, I'll show you how you can get it published on Nanohub. So congratulations. You've got a tool. We'll go through all of this business about how you install and launch and test and finally publish the tool. But pretty soon you'll know how to do this part too. Congratulations. You've got a tool and it's published. So, what's next? Well, what's next is once your tool is published, people on Nanohub may put in wishes. They say, hey, I love your tool, but I wish it simulated gallium arsenide. Hey, I love your tool, but I wish it had a few more options for plotting. They'll put in different ideas of things that they want to see and there's wish lists on Nanohub to do that. They'll also find bugs in your tool. If you write software, you're writing bugs at the same time. Always. So people will find problems and then they'll put in tickets on Nanohub. And guess what? If there's a problem with your tool, you get the ticket. Congratulations. Isn't that great? So, when you write software, there are bugs and somebody's got to fix it. And if you wrote the tool, you get to fix it. So, I'm sure you'll be making changes because nothing is ever perfect. The other thing that's going to happen is that your advisor will come along and say, hey, that's great. I can't believe you finished that tool so quickly. I've got some new ideas. Let's try adding this equation. Let's try adding that equation in. So, your advisor will say, there's new physics that I want you to try and add this into the model and add that into the model. And you'll have to add a few more inputs. So, you'll be making changes. No matter what, you're going to be making changes to your tool. I'm pretty sure.  Remember I told you about that sequel program that I wrote back in the day when I was a grad student? I got to this point. I was adding some new physics in. I had a whole section of parameters here in my physics. You know, e to j and pi and all these different constants that I had fixed up. And I added just a little bit of new physics into my tool. I wanted to republish, right? So, at some point, when you add that new physics, you'll get in and you'll click the link that says, please install the latest code for testing and approval. And you'll want to republish your tool. Okay. Congratulations. You published your tool all over again. I'll tell you the rest of the story in a minute. But you've got this new tool. You've got all these different versions. Turns out on NanoHub, you can keep multiple versions online. You can have like a version 3.01 that's the very latest. And that's online. And then some people may say, well, hey, I want to keep this old version 2.1 online because a lot of people use it. It's got a different model, a simpler model. People also use it, but they want to keep the old version and the new version online. So, NanoHub lets you have multiple versions of the tool online. But getting back to my story, this is where I thought I was headed. My SQL program, way back in the day, when it was 1985 and I was watching Back to the Future and playing the Tetris game. So I had this program and I wanted to make a change, a simple change, relatively simple change to the physics.  And I don't know, you guys may have seen the standard bubble sort code before, but this is kind of what it looks like. I needed to go through a list of values and I needed to compare two values. If this value is greater than that value, then swap them. That's how you do a bubble sort. And when you're swapping two variables, what you typically do is you set the temp to the first and first to the second and the second to the temp variable. You introduce the temp variable, right? So you can swap values around. So I made a two line fix, or maybe seven line fix, to my program to sort the values like this. And then I started running again. All of a sudden, my program got this bizarre physics. It started doing all this weird stuff. I got this funny little curve in the thing and everything. And my major professor was very excited because we discovered some brand new quantum physics, right? But we looked more carefully into the code and it turns out, no, it was actually bizarre. The behavior of everything was completely bizarre because it turned out when I was doing my swapping here with my temporary variable, there was another global variable up in my state declaration. It was also called temp. Actually, I was using that for the temperature of the simulation. So as I was doing my bubble sort, my temp variable was overwriting the temperature of the simulation and instead of being at 4 degrees Kelvin, it was going all over the place. It was like 193 degrees Kelvin and then 7,000 degrees Kelvin and then 0 degrees Kelvin and it was going all over the place. Because of this simple one line fix, the one line fix, I thought all I was doing was adding a few lines of code into the program, but I forgot about my global variable and all hell broke loose. So the point is when you go to republish your program, you get everything all perfect, right? You'll test it, you'll check it, everything will be all perfect.  And it turns out the five line fix could be completely horrible to the rest of your program. Every time you go to publish, you really should check your program again as if you were publishing it for the first time. Go through everything, check it all, right? And you really should, you really should, nobody does that because it's a lot of work, right?  But really you should be checking everything very carefully each time. So Rapture has a solution for that. Rapture can solve your problem because it has a testing tool and the way it works is you build up a suite of test cases. That first time through when you're building your program, take a few extra minutes and build up a bunch of test cases and save them. And then you might not ever need them again, but then the bug report comes in or the wish comes in or whatever, you go back to your tool and you add something. Just before you go to publish again, you can run back through these test cases. But instead of you doing all the work and taking all the time, you just push a button and Rapture will do it automatically. Rapture will go through all the test cases that you started with and check to see if they're still working. They may not. They may be broken. And when they're broken, you can look at each of the ones that's broken and figure out why it's broken. In my case, the temperature was varying wildly and I was getting strange physics out and I wish I had known that because if I had a series of test cases, I would have seen right away that these simple test cases are not working anymore. And I would have caught the error right away. So let me show you how it works. Maybe the best way right now, let me flip and show you kind of a demo of what it looks like. So if I've got this program here, my Fermi function calculator thing, and I can run it, working great, right? Go ahead and republish the tool, right? Fantastic. Everything's working. If I run rapture-tester, it'll bring up all these test cases that I created before. So all these different test cases that at one point worked perfectly for me.  First one worked great. Oh, wait a minute. That one failed. It walks through each of the test cases and tries to replay the old results and wherever it fails, it puts like a red X. The ones that are fine give me check marks and the ones that are failing give me red Xs. So you can run through all of these tests and again, this is much easier to do than it is to run them all by hand and look at them. And for any particular test, if it's working fine, great, but when it's not working, it'll show you what's wrong. So this one, in this case, it says the output status is bad. The test run failure was not expected. So if I look, it's giving me child process exited abnormally. In other words, that test case cordoned for whatever reason. And so that wasn't expected. It was supposed to give me a real result there. So okay, something's wrong with that case. I should really look carefully at the one EV case. Zero EV gave me different things. Here it tells me that the, there's a result missing from it expected to get a certain string in the output. It expected ASDF, but for some reason it isn't there. And then here it's telling me the details have changed. If I click view, something changed. Oh, in this case, it's really innocuous. What happened was, it used to be called very direct statistics. And now it's called very direct factor. You may look at that and say, oh yeah, I changed that. That's supposed to be different now, right? And in that case, that's okay. Don't worry about changes like that, because what we can do is, if I, if I like that particular test case, I can say this test case is good. It's a new golden standard for me. Everything's working fine. It was not supposed to have that string ASDF, and it is supposed to have the different label parameter act factor. So if you look at a test case like this and you say that's working correctly, then all you have to do is click on new golden standard like this, and it says, are you sure that this is right? All right, this is perfectly right. And I click yes, and so now, I basically told the system, don't worry, that test case is fine. So now when I run, that test case won't fail. It's not going to fail. And now when I run, that test case won't fail anymore. It's using the new output as the golden standard. So sometimes there are changes in your tests that really, things really did change. They're supposed to change. And other times, there are problems like this where it really wasn't supposed to core dump, right? So you want to go through all of these tests that fail one by one and see what's happening. For some reason, 1EV is killing me with that test case. And so I can bring up my tool and I can set it to 1EV and run it. Ran there, but maybe it doesn't match the, oh, maybe it's a different, it may be a different temperature too. I should look at the test case. By the way, it leaves around all these run.xml files so I can check them out. And there's a series of test cases here that I can look at. I think it was test three that was failing. So I can look in test three and see what was the default value and the current value and all of that and kind of nail down what was going wrong. Let me get back to the lecture and show you now sort of the rest of it. Now you get a sense of how this works. Let me go back and explain how this is working. So from the normal Rapture runtime environment, we can run the tool. You remember it generates a driver, it runs your program, it does the run.xml and we load up the result. And then normally that run.xml gets whisked away into your data results directory, like we've seen up to now. So normally that goes there. It'd be nice if that kind of stuck around because I'd like to use, I'd like to capture that and use it as a test case. And there are a couple of different ways of doing that. One way of stopping it from storing that result is to set the, to unset the SessionDur variable. What normally what Rapture does is it looks for an environment variable called SessionDur and it tries to put that result in that SessionDur. And if you can't find that environment variable then it won't put the result there. So if you want to keep those run files sitting around, one way to do it is just by unsetting SessionDur. Another way to do it is to create a driver file and run by hand. We've seen that too, right? When you run your program by hand with a driver file it leaves the run file around because in that case you're running the program not Rapture. But somehow one way or another you want to get your hands on a run file and then you can move the run file into a test directory. So if I've got a run case like this one, if I move it into a test directory I can keep it around for later as a test case. So imagine I'm running half a dozen different cases grabbing all the run files and moving them into the test directory. For each one of those test cases if I just add a little label up to the top of it then Rapture will recognize it now as a test case. So I can edit that run.xml file and I can add a little test label and a description and all of that. And this suddenly, that's how basically it makes it a test case for the tester. So all I need is a run.xml with a little bit of labeling stuff and I have a new test for the tester. In the label you can put a little pipe symbol and that's how you create folders. This is a folder room temp and then a value called 0EV. So if I have room temp and 0EV that will show up now in a series of folders in the tester. And the description here is a little note to yourself to remember why was I testing this case. Maybe you should say I should always core-jump when you pass in 0EV and maybe that's something you test for because you can do negative testing with this too. You can expect failures when certain things happen. Or you can say I'm trying to make sure that it does work in 0EV because that's a corner case in the problem. So just by taking your run file and adding a little bit of test stuff into it you can create yourself a test case. And then, just like we saw before you can run through all these test cases and see what's going wrong for each particular one. So we can run through and look at the various outputs and see what's failing. Oh, we should also... I should also make sure my laptop is plugged in. There we go. One other thing that I didn't show you before if we run through all these test cases looking for the failures remember that's the one that we re-goldenize so it's passing now. So we have a complete set of test results. Sometimes you'll get outputs that are slightly different. This is a case where the output curve it says differs from expected value and if I view it it will actually show me subtle differences in the output. What looked okay to my eye is actually wrong. My old case it expected to get... Let me see, the black is the expected result so it expected to get this black curve and the red is the test result and this is what it actually got. So here's a case where if I just looked at it with my eyes I would think everything's fine but yet it's actually wrong completely wrong compared to what I got when I first published the tool. So that's exactly the kind of subtle error that you want to be able to check. You notice it gives you two ways you can see the output here as a string then you can also see the output as a plot and you can scroll through. Turns out I guess there's one value in here that's correct. At the value 0.5 we actually match the same value and that's right in the middle when they cross but everything else is wrong on this curve. So the tester catches errors like that too. So you can go through case by case and examine all the results and try to figure out what's wrong. Here it says there's an extra number in the output so here somehow there's this extra number that the tool is reporting that isn't supposed to be there and you should say oh yeah that's good or you should say don't, I forgot I deleted that out of the tool.xml and I didn't mean to. So one way or the other you go through all of these different things you notice that it'll tell you the subtle differences in labeling and the run status and so forth and it's up to you to look at each one of these and go through point by point and try to convince yourself whether or not the difference is real and it should be there and you need to fix your tool. You can go back into the tool then and edit it. If you do some debugging on this particular Fermi one you can see how it's working and you might notice ah well here it was 4.2 Kelvin so if it's 4.2 Kelvin and one EV it's actually dying. I put in an explicit kill kind of thing so if I simulate oops not that one if I simulate 4.2 EV and one EV ah child process exited abnormally so that's the problem that I ran into in my test case and I can fix the code just by saying oh yeah now that's fixed doesn't do that anymore so if I put in 4.2 and one EV then now it works good that works the way it should and if I run my tester and select well that particular case let's say and run it ah that one's working now so little by little you can work your way through all of the failures that you have and convince yourself yes this is working now working correctly and you want to make sure that you get all green check marks down that column before you republish your tool so this is the last thing you do is kind of double check at some point as we get more and more people using the tester we may start using it as a standard for all the tools and we'll be able to on Nanohub say this is a tool to test sweep and pass and this is a tool that doesn't have a test sweep or didn't pass the test the last time it ran so we'll be using that as kind of a quality metric in the field of science they call this verification and validation verification is making sure that your code runs correctly like this and validation is making sure that the model actually explains reality so scientists do this very carefully when they're building codes like this and in the future we may start to like I said require that or use that for Nanohub right now we don't because the tester is not quite feature complete like the builder the tester is about halfway there well even a maybe less quarter or a third of the way there it does some simple things it handles most of the simple inputs like the builder on the output side it only handles a couple of outputs it'll handle curves but for example may or may not handle images it doesn't handle Unirec 2D in fields for sure we haven't implemented that yet so there's still some things in the tester that are not quite there but for simple tools it'll work great for you so give it a try and see what you think these are the kinds of errors that you'll be able to catch the fact that an output value is changed that an output value is missing or extra and also that the input value has changed maybe the label changed the units changed whether it's missing or it's extra so you can track down all of those cases and again if you convince yourself that should be like that I really did remove that input it's different now then you can click new golden standard and force that test case to to pass from then on that'll be used so here's the assignment for you guys you have a nice tool working now yeah actually we might want to back up and use the very oldest version of this tool that you guys created again because the tester is not feature complete I'm not sure it'll work very well with all the fancy stuff the notes and the groups and all the enable and disable and all that stuff that you put into your latest spirograph I'm not sure that works in the tester so we back up to the plain Jane version of your spirograph it just has three numbers and produces a spirograph plot you can create a test suite for your spirograph plot so what you do that again is you make a test directory you run your test cases a few times by hand you take the run.xml files and copy them in I want you to test those three cases I want you to run the tool as a fancy cross as a flower as a palm branch you run that xml put it in the test directory and then try to run the rapture regression tester on it at that point if you run it everything should run cleanly and pass and then you can edit one of your tests and delete some of the numbers in the test case and then run it again and at that point your test will be weird compared to the current result and you should at least be able to catch the error and you'll say no no my tool is working I want you to run the test so then you can re-goldenize and make it all properly again so give that a try back up to your early version of spirograph if you don't have a version let me know because we can put one up on the bootcamp site that you can start from and then create those three tests and mess around with the tester okay let me show you my solution for the lab assignment here with the regression tester so here I am in my directory I can run rapture and simulate different cases and I want to build the set of regression tests here for various test cases with different values and normally when I run rapture it will give me results but when I close rapture and look around I don't see the run files jeez if I could get my hands on those run files that I could use so there are two ways to get your hands on those run files one way is to copy them out of your data results directory under data results there's all these other directories that you can see that all depend they're all different workspace sessions that I've fired up and you might wonder which one is the current one well there are two ways to find that I can echo dollar session and it shows me that the current session is 3264l so I can go into data results 3264l and there are a bunch of run files so those are all the run files usually the run file with the highest number is the one that I just ran so 78 739 uh 19 jeez I'm blind 392 well I probably wanted 394 that's the latest one alright so there's a run file in fact if I want to double check and see what it looks like you remember you can do rapture-load and it'll pop it up okay so that's that run file and it's an interesting one because it's 1710 and minus 3 and it gives me that funny looking shape so I'm going to actually grab that one as a new test case I'll add another test case so I'm going to copy that file from that directory back into my test directory and I'll give it a name I could leave it the same or I can give it a name funny shape dot xml alright so now in my test directory I've got four test cases actually I need to make that into a proper test case and I do that by adding test in here and slash test with a label and a description okay description should probably remind you later when it breaks like what was important about this test case now another way to grab test cases for the run dot xml is to if you do the unset your session dir and then if you run rapture all the cases that I run from here on one and two okay so that's another test case and now if I look that run file is sitting right there so I don't have to go over and hunt it down in my data results directory if I break that link and get rid of that session dir the run file is sitting right there and now I can take that run file and I can move it into my test directory and I'll give it a different name again for the run folder dot xml let me edit that one and give it a test description with the label and I should set the description I'll just skip it alright so that's how I generate test cases and some people were asking me oh boy how do I set my session dir back well one way is just by starting a new xterm because if I start fresh with the new xterm it'll have the session dir back or I can sort of copy and paste that value and do the export session dir equals and then can I copy and paste our middle mouse button there we go so now I've got my session dir back alright so now I've got all these different test cases and if I run rapture dash tester it'll bring it up and it finds them all if it doesn't find some of your test cases it's probably because you forgot to put test with the label in there and all that so anything that it finds in the test directory that has a label on it it can pull up as a test case and you notice there's no description for that test case but everything else has a description so I can grab one test case or I can grab all of the test cases and run through them now and oh it's telling me there's something wrong with that test case let's take a look so if I look at that test case and it shows me just the output is different the result differs if I click on it it'll show me it expected these values and it got a bunch of other new values over here and you can even see the difference on the plot here the black line versus the red line right there is sort of the difference between this and this and if you look at it very carefully whenever you see a difference like that you should always ask yourself what the heck is going on you look in your program you convince yourself whether or not your program is correct you should ask yourself is my program right in this case my program seems to be doing the right thing the latest result that I got the red result, the test result is smooth and correct and the old result is actually weird and choppy and you might ask yourself at this point how did that test ever get in there but maybe you just never noticed it the last time you ran the test case it looked okay to your eyeballs but it's wrong you might say well alright the test is wrong my program is correct the test is wrong and in that case I want to use the current output for my program as the new golden standard now rapture says are you sure are you sure that the latest results are completely correct and if so then yes so now if I run that test now it's checking the output against my latest standard so rapture will look at all kinds of things let's say I run the rapture builder and I'm going to open my tool.xml and suppose I add a boolean control in now to my tool.xml and I'm going to save that uh oh set a default value and save that alright so I'll save that tool.xml now when I run rapture you see I've got the extra control in there alright and now when I run my rapture-tester and I run all these tests they're all failing why did they fail well it's telling me that the input has changed this test case doesn't specify that new boolean input value and it didn't of course because back in the day when I created these tests I didn't have that control I do. So the question is is that okay and again if that's okay then I can say alright keep that as my new golden standard and unfortunately you have to do it for each one yes yes yes yes maybe maybe someday there'll be some kind of batch thing where you can select them all so now I've re-goldenized my tests again so now they expect that control and if I run them all they'll pass immediately because I changed the interface so as you're building your tool and checking everything you always want to ask yourself is it something that I did in the did I make a mistake in terms of my simulator or did I make a mistake did I add something to rapture or what you remember it's real easy to mess up your code it's not very hard at all to make what looks like an innocuous change you just run one and save your program oops not that much of a change and run your tests and they're all failing again and this time I'm like yeah yeah yeah the output is actually completely different now from what it's supposed to be completely different and it was like oh yeah I was debugging something and I added that stupid 2.1 in there I didn't mean to so you eventually track down the problem and you say oh man this is wrong and you fix the problem and you run it again oops with the tester and now you can convince yourself that everything's running cleanly so that's the whole point of the regression tester is to say hey I got all these test cases and I want to make sure that when the temperature is zero or the temperature is 500 million degrees Kelvin or whatever the electron volts is negative I want to make sure my simulator doesn't crash I want to make sure that it gives the proper value and I didn't make any mistakes by accident because it's so easy right to change one character in your code and it screws everything up in the program oh I got another one for you oh I should have done this example case oh man the uh the classic example is I have a loop variable up here I set I equals one right or I equals 10 for my loop counter but wait wait I is the imaginary number in MATLAB right so now if I'm running my test case select all and run burn see a simple innocuous statement like I equals one that you wouldn't think twice about because you were putting in a loop counter all of a sudden you completely broke your program and you can look at each case and convince yourself like what did I do oh my gosh oh my gosh what did I do right I decided to put it on a spirograph anymore let alone the wrong one so so when you do stuff like that be careful check your code carefully and make sure when you go to publish oops I always forget the tester part make sure when you're about to republish your tool you always go back through your regression test suite and have it run cleanly and again my only my biggest apology is that right now the rapture regression tester doesn't work for really complicated tools we need to fix it and finish it so that it works with all the complicated output types because then it would really work for you guys and you could you can use it to check everything but at least you know it's there and at least you know you should be very scared of any one line change that you make to your code because the simplest one line change sometimes can break everything


When the narcissist sees you're doing better without them, when they see that you've moved on, and you're living a happier and healthier life, they see that you're looking good, you're dressing smart, living well, making lots of money, and then suddenly, you run into them. They see you, looking happier, looking healthier, looking good, and you may think that they didn't notice you. You may think that there were more significant things going on in their minds, but I can assure you that they did notice. They could see that you had built yourself back up again from the pieces that they left behind. They could see that you had finally found happiness and success. They could see that you're doing better now that they're not around, but you don't see this from them. They don't tell you this or show it in their behaviour because narcissists are masters of manipulation. They know how to display an illusion. Just remember when you first met them, they seemed so kind and sweet back then until you uncovered the real person under the mask. It's the same thing now. They are giving you a mistaken impression. They are trying to make you believe that they don't see how much you have evolved since you were with them. They are trying to make you believe that you're still nothing special because that's how they feel about themselves. When you leave a narcissist, their lives deteriorate until they're left with nothing and they wish that they could come back to you, but they don't want to put themselves in that position. They have too much pride and arrogance. They have an exaggerated sense of their own abilities and importance. They think they're so much greater than what they actually are, which is really nothing more than a coping and defence mechanism for how they really feel about themselves.  They look at you and the person you've become and they wonder why you would ever be interested in them now.  They know that them being around you isn't going to be any good for you and once you've moved on and done better without them, they assume that you've figured that out too because if they were so great, you would have been happy and healthy when you were with them rather than it all coming together once they had left. That suggests that there was something wrong with them. That suggests that they were no good for you, but they can't let you know that. They have to continue living in this delusional reality where they are superior to you, where you need them, when really they are the ones who need you. They are the ones who are struggling without you, when the narcissist sees you doing better without them. They're looking at your physical appearance. You look better now. You're taking good care of yourself. You might have more money. These are the things that they're looking at. They never actually see you as a real separate person. They just see you as something that they can use for their own benefit or gain, but it's never actually about you as a person. They don't have the capacity to see you in this way. All they can see is something that they can use.  It's never about connecting with you on a human level, because they're not even capable of doing that. They cannot be vulnerable. They will do whatever it takes to avoid exposing any form of vulnerability or weakness, and that is why you cannot connect with them. Because if abandoned who they really are, that person died a long time ago, and all they're left with now is an empty shell, this character who they think people want to see, who they think people find desirable or attractive. They end up around people who see people in the same way that they do, as objects that they can use for their own benefit or gain. It's a sad, meaningless existence, but that's just how narcissists live their lives. When the narcissist sees that you're doing better, they wish that they could come back. They would love to partake in everything you have built since they've been gone, but there are two reasons why this is something that they're not going to do. They're not going to hoover you, because they fear that you will reject them. You're happy and healthy now, so why do you need them? That's how they see it, but they will never tell you this. They will just act like they're the ones who don't need you. No matter how obvious it may be that they are struggling without you, they also cannot come back. Because when they left you, they played the victim. They acted as though being around you put them at risk of danger or harm. They told everyone that something was wrong with you, or you treated them bad.  So how is it going to look to the flying monkeys if they try to come back to you? In their minds, they're going to look like the fools by trying to go back to someone who treated them so unfairly. So even though deep down they may want to come back to you, they know that they can't. They don't want to put their image or reputation on the line, because that's the only thing that really matters to them. How they look to other people. They also fear that if they did come back to you, they would have to be held accountable for everything they did to you. They treated you unfairly. They did things to you that they never even answered for. And if they left you, they did that to dodge responsibility for their actions. Narcissists don't want to deal with responsibility. They're like emotionally immature toddlers that cause damage and destruction in your life. And then they leave you to deal with the consequences of their actions. So even though they may see that you're doing better without them, they're not going to come back. They've got too much pride. They don't want to risk their reputation.  Because you've built this whole life without them. You've done better without them. Which suggests that they're no good. They're incompetent. You're on a different level to them. You deserve better. Once you've had enough time away from your narcissist, they begin to wake up and realise that they were never on your level. They were never up to your standards.  And that is why when you were with them, all they ever did was disrespect you. All they ever did was try to put you beneath them because they were jealous and insecure. They couldn't stand to see you rise above them. It made them feel worthless and insignificant. Because deep down, they always knew that you were meant for something greater. They were just hoping that you wouldn't figure that out. But once you come to that realisation, they know it's too late. They know there's no point coming back around you because they know you're never going to see them in the same way ever again. They know you're never going to see them as special or superior. They know that you're never going to see them in the elevated way that they would like. And someone who doesn't validate their false self is completely useless to them. All they care about is their false image. They don't want to deal with the truth or reality of the situation. A narcissist being forced to deal with the truth or reality is like sunlight to a vampire. It causes their false self to dissipate. And that is why they will hide.  At least then, they could pretend that they're special. They can pretend that they're superior to you. They can pretend that there's something great. Thank you for watching and I'll talk to you soon.


All right, so we're working through tithing. Now one of the reasons that we are doing this is because this has been a subject that has caused some confusion over time. A part of that confusion comes because of the various voices out in evangelicalism or in teaching that hold various views and because of things like theological systems and those kinds of things, these issues over law and gospel. Basically, this is a law, gospel kind of an issue. These things can cause some confusion. Well, the word of God is not confusing. There are some things in the word of God as Peter says that are difficult to understand that sinful men, wicked men twist to their own destruction. But if we study, we do the hard work, we can understand these things and we can have a confidence in the word of God with the theology that will hold. When we're not confident, we'll say when we're not very confident about that, and we have to hold those things loosely. But with something like this, there's good evidence in Scripture for why we hold the view that we hold and we want to be able to defend that from Scripture and uphold faithfulness to the Lord in this issue. It's something that because of a host of reasons, churches don't teach on today or they pull out, you know, one month a year. That's Stewardship Month and for four straight Sundays, they just preach hard on giving to everybody and, you know, people get tired of that every year. Giving is to be an every week act of worship. This is the way that we worship the Lord. It's an important part of worship because we see that in Scripture and it's something that is as much as everything else, we want to be faithful to the Lord in our giving. And so what does the Bible teach on it? And we want to be clear on that. So tithing, tithing. There really is, as we look at again this today, a distinction, two separate parts to this. One is the issue of tithing itself, which is the tenth. And as we talked about last week, the questions that come up around that, whether the tenth or the tithe is still applicable for the Christian today, how that is to be given, if it is, all those questions. Then you have the issue of Christian giving, which is something that is another issue. Those two things are connected, but not the same. And we see a large amount of instruction given in the New Testament with respect to giving. But for purposes of our Sunday School class here over the next couple of weeks, we're going to address specifically the tithe. And then as we talk about the tithe, we'll get into how Christian giving relates to that. So here's where we're at so far. I was going to get on a whiteboard, but we'll just sort of talk through it. Tithing, as we saw last week, is clearly taught under the Mosaic Covenant. So in the Old Testament, that'd be great, brother, if you don't mind, that we can write some of that now. Thank you, brother. Clearly taught under the Mosaic Covenant as part of the law. Moses was given the Ten Commandments, was given the Mosaic Law. If you hear dispensationalist talk, we'd be considered, I think, by some to be leaky dispensationalists, as MacArthur would put it, but others consider us more covenant. We'll talk about that later. But if you look at like dispensationalism and breaking up the ways that God administers his rule and reign over people, there was a way in which he did that under the Mosaic Law, under the Mosaic Covenant, with the children of Israel, and tithing was certainly taught under that Covenant during that time. Okay, we established that next week that according to Scripture, very, very clear that the tithe was a part of the Mosaic Law, the Mosaic Covenant. So give me, just shout out, some principles that we learned about tithing last week as it relates to the Mosaic Law, as it was taught under the Mosaic Law. What are some principles that we learned about tithing from last week? The Levitical Tithe? Yeah, the tithe was to take care of the Levite, okay? The tithe was instituted to take care of those that did the work in the temple. So we have to care for the Levite. We have to care for the priest. The priest gets taken care of through the Levitical Tithe. And then we have the orphan and the widow and the stranger and the foreigner that the tithe was to take care of, right? Okay, sorry, I stole your thunder, sister. Sorry. So yeah, all those reasons for the tithe. Thank you, baby. Yes, ma'am. Very good. So they've got two more principles there. You have the principle of giving our best, or thank you, brother, our first fruits, the first of our herds, the first of our produce, are the best of all that we possess. And then all of that is to be brought into the storehouse. The Scripture taught, clearly teaches that it comes to the tabernacle of meeting or comes to the temple, and then the priests, the Levites, get to distribute that as it's needed, right? So tithes are of first fruits of the best that we have, and then they're all brought into the storehouse, something else. Those are good.  Yes, Sergio. Amen. Yeah, that very, very, very important point that the Lord instituted tithing, what we saw under the Mosaic Covenant, so that the Lord could teach the people how to fear Him, how to live for Him, how to respect, how to reverence Him. So very good, taught the people to fear the Lord. That was a very important point. It's another principle that we learned. There's several here. Do you think of one? Yes, ma'am. Yeah, there was a festival tithe, so you have the three tithes, right? There was a festival tithe, there was the Levitical tithe, there was what they call the Charity tithe, the Poverty tithe. Yep, so three tithes. What did the three tithes amount to? What did the people normally give? Was it a tenth? No, it was actually the people gave considerably more, often in any given year, between 20 and 30 percent that the people gave to the work of the Lord, 20 to 30 percent of all that they had. What are some other principles? Give me another one. There's one. It was an act of worship, right? They brought their tithes to the Tabernacle of Meeting, to the temple, in worship of the Lord. So it wasn't separate from worship. They didn't fill out a tax return every year and send their check, right? It was a part of worship. They went to the temple, they went to the Tabernacle and gave their tithe, gave their tenth, as a part of worship. That's one of the reasons, too, for that festival tithe, the Levitical tithe, as a part of their worship of God and the festivals that the Lord instituted, they worshiped the Lord in giving. So very, very important, a tithe was a part of worship. They were to give above and beyond the tithe in certain circumstances. So for the work of the temple and rebuilding the wall and rebuilding the temple under Nehemiah or under Ezra, the people gave more than the tithe, so that's a principle we see under the Mosaic Covenant. It was robbing God if they didn't give the tithe. Not only was it robbing God if they didn't give it, it was robbing God if they didn't bring it into the storehouse. That they were to bring tithes and, very interesting, in Malachi chapter 3, they were robbing God if they didn't bring the tithe into the storehouse. What else? Tithes and offerings, yeah, it wasn't just the tithes, it was tithes and offerings, Ben made that point. So yeah, they brought tithes and offerings to the Lord, brought them into the storehouse. If they didn't bring both, Malachi 3 says they're robbing from God, okay? It's all those good principles, yes, ma'am. Yes, yeah, yeah, so if you didn't tithe and that's tithe that was considered robbing from God, then you have the judgment of God, judgment of God against tithes. And it happened in Malachi, it was in that passage in Haggai 2, where the Lord says he'll put what they produce in a bag with holes. In other words, the Lord makes it, he blows it away. He blows it away. And there are multiple times we see that in the scripture of God who is sovereign over our possessions supplying everything that we need, say that if we're going to hoard that to ourselves, that he will blow it away. You know, what happened to the manna in the desert if you try to collect more than you were supposed to? Yeah, it's stinketh. It rotted. They weren't to collect, they weren't to take in more than what they needed, the Lord provided it. If you got outside of that, that provision of the Lord outside, the Lord's understanding there that we're to have what we need and we're not to hoard more than we need to ourselves. That was sort of the lesson of the Israelites in the desert. Trust God. Trust God to provide what you need. Don't sinfully hoard possessions because of a lack of faith, right? And so there are all kinds of principles like that that we learn from tithing and all of that under the Mosaic Covenant. But is tithing only or is giving for that matter, but specifically tithing, is tithing only a Mosaic Covenant issue? No, why not? Why isn't that? When we consider tithing, is it only because of the Mosaic Law that we consider tithing? Then? Amen. So why would that be important? Okay, the Mosaic Law definitely teaches tithing, but why is it important that it happened before the Mosaic Law? Yeah, amen. So we talked about mentioned dispensational thinking here there for just a moment. It's sort of during that time, that's the way the Lord administered his rule or his reign over the people, but this happened before. So let's take a look at a couple of those texts. One of them is Genesis chapter 14. So turn to Genesis chapter 14. And this is important to understand. This is what some people would say is a trans dispensational principle. This is a principle from Scripture, command from Scripture that goes beyond one dispensation. Yeah, Oliver. It's the way that a dispensation is described. It's the way that the Lord interrelates with his people during any time in history. Or the way that he administers his rule and reign over the people. So people would say, like a dispensationalist would say, that the way the Lord interacted with the people of God in the wilderness under Moses is different than the way that the Lord administers his rule and reign with the people of God now in the church. So you'd see two different dispensations. You might say that the way the relationship that the Lord had with Adam and Eve in the garden was a little different. The way that he interrelated with Adam and Eve in the garden was a little different in the way he interrelated with the people of God in the wilderness with Moses. And there was some that would say the way that he interrelated with Noah and the people of God at that time was a little different. So they see these various dispensations. Dispensation is a biblical word. Paul uses that word. And it just is a way of describing the way that God interrelates with his people over different times. And if you're a dispensationalist, so to speak, though, that's a theological system that is broad in its understanding. There are some that believe in dispensationalism. They want to break everything up that God is nothing today that he was under Moses, that he was with Adam and Eve in the garden, that there was a different salvation for the people of God under Moses. And there's a different way to be saved nowadays. And it's heretical. It's called hyper-dispensationalism. But along this spectrum, you've got varying degrees of the way people view those various dispensations. And the issue really is with, we'll talk about this in the coming weeks. This is the next subject we're going to cover, a sort of dispensationalism and covenant theology. And we'll break that down so it's clear. It won't be too technical. I think it'll be a really interesting topic to cover for everybody. It's going to be helpful. But there are some dispensationalists who break things up to the point where there is no continuity. There's no connection between the Old Testament and the New Testament. Or there's little, varying degrees of connection between the Old Testament and the New Testament. And this really is where this issue of tithing has become an issue. For those that say there's no connection, or little connection, little continuity between Old Testament and New Testament, the issue of tithing was an Old Testament law. It related to the people of Israel under the temple in the Tabernacle. And really isn't for the Christian today. And one of the things that they will say is that's because it says it in Moses' law, but the Mosaic law doesn't apply to the Christian today. Now we have the royal law, or the law of Christ. And so Moses doesn't apply. And the only reason that any law from the Old Testament would apply today is if the New Testament clearly teaches it. If the New Testament doesn't say it or doesn't teach it, then it does not apply to the Christian. So you see in that theological system how that causes issues with our subject of tithing, right? If we established last week tithing taught under the Mosaic law, well if the Mosaic law doesn't apply to the Christian, then why would we tithe? So we go into the New Testament and look at the New Testament and say okay, does the New Testament teach tithing? And they would say no. So the Old Testament taught tithing, that was for a different dispensation. Not really much continuity between Old Testament and New Testament. We come into the New Testament. The New Testament really doesn't teach tithing, they say. We're going to find out that it does. New Testament really doesn't teach tithing, and so tithing is not for the Christian today. But we see passages in the New Testament related to giving and a free will giving, giving from the heart. And so what is taught to the Christian today is just to give as Lord would lay it on your heart to give, right? So that's that issue. It really is, and I know this is a little technical, but an issue between continuity and discontinuity between Old and New Testaments. And the law of God versus whether that applies to the Christian today or not. Our church, our stance on this, and we'll explain why this is, is that there is great continuity between the Old Testament and the New Testament. That the law of God given in the form of the Ten Commandments applies to the Christian today. You know, James says, if you stumble in one point of the law, you've what, broken, what is he talking about there? Ten Commandments, yeah. And so there's continuity between Old Testament and New Testament. There's continuity. The law of Moses still applies in some form or fashion. We'll talk about that. To the Christian today, we're to obey the Ten Commandments to walk in a way that is worthy of God, right? To please the Lord. We're to obey him. We're to obey the Commandments. So, does that make sense any? Yes. Yeah. Yeah. We're actually going to try to get into that this morning if there's time, because now what we're doing now, and that's a very good question. If you understood Mike's question, you know, we would say that the ceremonial law, we'll talk about this and we'll explain it. The ceremonial law has all been fulfilled in Christ. So that's why today we don't have feast days and we don't sacrifice animals and we don't celebrate those festivals. It's because Jesus Christ, all of those festivals, all those sacrifices, all of that ceremony, all of that ceremony in the Old Testament was pointing forward to Christ, right? The animal sacrifices, all pointing forward to Christ, the Sabbaths they would hold, all pointing forward to Christ. And so we would say that all that ceremony now has been fulfilled. And that's why all of that stopped, that when Jesus Christ came, Jesus Christ is a fulfillment of that ceremonial portion of the law. Then you had a judicial, like Mike is talking about, a judicial part of the law that was, there were laws of governance for the theocracy. You know, Israel was a nation, not just a, or not a church, so to speak, or not just a covenant community, they were a nation of people. And so they had judicial laws that are also given in the Bible and that pertain to them as a nation, that pertain to them as a theocracy. Well, we're not a theocracy today. We don't live in Israel, the nation. And so those judicial laws that apply to them in their theocracy don't apply to us today. But now also in the Old Testament, you had judicial, you had ceremonial, you also had the moral law of God. And the moral law of God is binding on every person who claims the name of God, it's binding on every person. Lord is going to hold people accountable one day for not obeying the moral law of God. The moral law of God transcends all time, His word lasts forever, stands forever. But from Genesis to Revelation, because it's in keeping with the character of God, we are created as image bearers of God, we're to reflect His character. The moral law applies always. And so when God gave Moses the Ten Commandments, those Ten Commandments, all of the Ten Commandments are upheld in the New Testament. The New Testament teaches that we're to obey the Ten Commandments, teaches us to obey the moral law of God. And so it goes across both testaments, there's great continuity, that makes sense. So now the question that Mike points to, where does tithing fit in with that? And that's what we want to try to get to today if we can. So tithing is an important point related to Mike's question. A really important point is that tithing didn't exist only under the Mosaic law. It didn't exist only under the theocracy. So now, picture this if you will. It's a Mike's question, you've got the moral law, the ceremonial law, the judicial law. Tithing was a part of that program, so to speak. The children of Israel, as a nation in the wilderness and when they got into the Promised Land, practiced tithing. So is tithing a part of the judicial law, the ceremonial law, or the moral law? And that question becomes very important for us, is that if it's only under that time period, then there'll be some that would say, well it's gone away with the ceremonial law. Or that was strictly a judicial law, we don't have a nation where we have to pay a temple tax, so to speak, to cover priests. And so we don't have priests today, it went away with the judicial law. There are others that would say it's a principle that applies. Now here's the point I guess to make from this, and this is Ben's point. That because tithing, if tithing was strictly limited to the theocracy, in other words we got to pay the bills, so to speak, and so we created a theocratic tax for the people of Israel to pay. If tithing only existed for the theocracy, then it would have only been under the theocracy. It would have been judicial only, and there'd be no other purpose for it. So when that purpose goes away, then the tithe goes away. Or was it ceremonial only? And so if we're tithing in terms of ceremonial worship, ritual worship, or tithing to support ritual worship or ceremonial worship, then when the ceremonies go away, then the tithe would go away. So why is it important then, considering those things, why is it important then that we see the tithe outside the mosaic covenant in the book of Genesis, long before the mosaic law was given, long before Israel became a theocracy, long before priests and Levites were doing their work, why is that important that we would see that, yes Tom? Yes, yeah. Amen. So to Tom's point now, worship exists outside of the mosaic law, right? Adam and Eve worshiped God, Noah worshiped God. People of God have always worshiped God. From Genesis to Revelation, we'll always worship God. So see Tom's point, not tied strictly to attacks, not tied to just the judicial law, not tied to just ceremonies, it's an act of worship. Yeah, hopefully we're going to get to that today. We'll make a good effort. So if we don't finish it today, we'll finish it next week. Okay, so let's look at this text now. We're in Genesis chapter 14, and somebody nice and loud, just read for us verses 13 through 24. This is Genesis 14 verses 13 through 24. Alright, thank you brother. Okay, so now many, many principles again that we're going to draw from this. And that's the way we study the Bible. When you take a text of Scripture, you have to look at that Scripture at, we've talked about this before in hermeneutics, but how that applied to them specifically at that day and age, their immediate context. You know, how an audience at that time would have understood what is being said. You have to take the principles out of that that would apply to us in our context today. There are things that will differ between us contextually, and then there will be things that apply to us from the Bible the same. And we have to separate those two things. And so we've got several examples done in Scripture, and I'll give you some examples here. So first, we have this situation coming where Abram goes in and rescues his brother Lot. There's a battle, and he is victorious, and Lot, and all his goods, all his people are rescued. And so these two kings come out then to meet Abram. Abram is victorious, and you have a huge contrast here. You have the king of Sodom who was extremely wicked. Sodom is just a wicked place, the king of wicked king. And so this wicked king comes out to Sodom, comes out to Abram, and then you have Melchizedek. Now Melchizedek said the king of Salem. Melchizedek, the name, means righteous one, or righteous king. Melchizedek, king of Salem. And it says in Genesis 14 that he was a priest of God most high. So as a priest, Melchizedek was a spiritual authority. And it's important to note, he was a spiritual authority over Abram. When Abram came, rescued, ran into Melchizedek, Melchizedek is a priest, and he's a priest with spiritual authority and spiritual authority over Abram. Name meaning king of righteousness. So some believe that Melchizedek is just an unknown person from biblical history. Others believe this may be a theophany. This was a picture of Christ from the Old Testament. We don't really know much about Melchizedek other than what we get here in Hebrews chapter 7. But it's important to note here that Abram, in the way that Abraham, interrelated with Melchizedek, that Abram saw him as a spiritual authority. Or saw him as, I mean, for lack of a better way of putting it, that Melchizedek had authority as a spiritual priest of God most high. So then in verse 19, Abraham accepted a blessing from him. He says Melchizedek verse 18, king of Salem, brought out bread and wine. He was the priest of God most high, and he blessed him and said and gave him a blessing. So as a result of the blessing of the priest of God, as a result of Abram's thankfulness to God for the blessing of having gotten locked back, just as an act of worship like Tom was talking about, to God for all that God has done for Abram, in response to the Lord's blessing and to the Lord's representative, so to speak, Melchizedek, priest of the Lord most high, Abram paid a tenth, gave a tenth of all that he possessed. It was a tenth of the spoils of his war, so to speak, of the war. He paid him a tithe, okay? What does the tithe mean again? Tenth, tenth, okay? Now, think about the principles as we go through, what principles you're gonna draw from this. But because Abraham paid tithes to Melchizedek, and this is gonna be the point that we'll look at when we get to Hebrews chapter 7, because Abraham paid a tithe to Melchizedek, the order of Melchizedek, or the priesthood of Melchizedek, is superior to the Levitical priesthood that came out of Abraham. Now, explain that. Abraham, father of Israel. Out of Abraham came the 12 tribes of Israel, out of Abraham came the Levitical priesthood, out of Abraham came the Levites, came Aaron, right? So out of Abraham, the people of Israel came. Because Abraham paid a tithe to Melchizedek, this is gonna be the point that Hebrews 7 makes, because Abraham paid a tithe to Melchizedek, Melchizedek, the order of Melchizedek's priesthood, or Melchizedek himself, is greater than the Levitical priesthood that came out of Abraham. Right? Everybody understand that? Get that? So that's a very important point to make, and the Lord's gonna make that point later. The Levites descended from Abraham. The Levitical priesthood descended from Abraham. So when Abraham tithed, as if the whole Levitical priesthood tithed to Melchizedek through Abraham. That's an important point to make, okay? So now, think about this for a moment. You've got this scenario with the two kings. In talking about the king of Sodom, Abraham said that he would not take a thread from that wicked king of Sodom, because Abraham had lifted his hand to the Lord Most High, to God Most High. What did Abraham do there? He was making a covenant, making a vow, making a promise to God. So Abraham, now Abraham, was he, did he deserve to take spoils from Sodom? Technically yes, because it was victorious in war. Abraham won the battle. He could have taken all those spoils for himself. But Abraham had paid a vow to God, made a covenant with God. He wasn't going to take anything from that wicked king of Sodom. And in all of that, that's exercising what in God. Faith in God, exercising faith in God that God is going to provide. Now he took the blessing from Melchizedek, and he would have seen Melchizedek as God's representative. He would have seen that blessing as coming from God himself through Melchizedek, right? He'd already received the promise from God. We've got to get to Genesis 15, where God is going to make the covenant with Abraham, where he separates the animals, right? The fiery furnace and all of that. So he has this covenant from God to Abraham. So God, Abraham is exercising faith in God. He is not going to trust the kings of this world. He's not going to trust the spoils of war. He's not going to trust anything he could get from, he could get from the king of Sodom, a Sodom. And he doesn't want the king of Sodom to say down the road that he made him Abraham rich and somehow Abraham owes him. Abraham wants to be beholden to God alone in all that he has. So this is, in addition to being an act of worship, which it is, a response and thankfulness of the Lord, which it is, a tithe in accord with priesthood, so to speak, or a representative of God, which it is, it's also an act of faith in the Lord, an act of faith in the Lord alone, okay? So, give me some principles now from this account. If you look at Scripture, you're going to observe the text and you're going to draw out principles from the text that relate to the tithe, what would some of those principles be? And don't think about it, you know, too in-depth. Some of these are lying right on the surface. You just pick them right up and they're good principles to take from this. What are some principles that we get from this account in Genesis 14? Don't be bashful. Yes, Nolan? Ten percent. Ten percent, awesome. Thank you, brother.  So a tenth, yeah, very good. Some good principles. Ben's already mentioned one, what would that be? Yeah, Tom mentioned worship, so it's an act of worship. That's the principle we draw. Ben mentioned it's outside the Mosaic Covenant. This is in Genesis 14, so that's pretty obvious. Somebody else, Brenda? Faithfulness, yeah, so an act of faith in the Lord. Oh, thankful, yes, thankful. Yeah, a faithful too, so we covered two verses with one stone. Yeah, so he's thankful that he gives that thankful to God. Is that obvious from the text? So expressing gratefulness to God, Abraham gives a tithe, okay? Yeah? Yeah, if you're gonna observe the text well, you gotta say that it's of all. It says that he gave him a tenth of all. That all there is referring to everything that had come in, to Abraham from the, they're gonna say the spoils of war. So, you know, he went in, he took all these goods and possessions back with him, and of all that he took back with him, he gave the tenth to the Lord of all. So yeah, you'd have to say it's a tenth of all that he took in, right? Amen. Yeah, that's something that you pick up from the text, right? We see that in the Mosaic Law, we see it here with Abraham. This is a very important point, that those in covenant with God give, and not give only indiscriminately, they give a tenth, and then give offerings above and beyond the tenth. So yeah, it is a, it's a testimony of the covenant. It's you enter into covenant with God. That's what he's done here. I mean, he's trusting God. He's entered into covenant with the God most high. He's not going to tie himself to the wicked kings of this world. And so in, I mean, for lack of a better way of saying it, sort of, you know, in a way that ratifies the covenant or depicts or evidences the covenant, Abraham gives a tenth of all that he has, of all that he gets. He gives a tenth back to God. So yeah, I think it's closely tied to the covenant. Yes. Yeah, that was actually a question I was going to ask coming up, is that, can you think of any place, you know, no, no, it's good. It's perfect segue, brother. Thank you. Genesis 14, we'll look at Genesis 28, too, with Jacob. But any other time outside of that, that you see this act of giving, and we see that in Genesis chapter four with Cain and Abel. What's, you know, thinking real quickly about Cain and Abel, bringing their offerings before the Lord, what's a principle that we've already mentioned that you see in that account in Genesis four with Cain and Abel? A principle that you would take away about what they gave and how they gave. Yes. Yeah, amen. So if you're tied and you're tied just out of ritual, then it's not the right heart. That's not acceptable worship of God. So again, it ties it to worship, doesn't it? You've got to give. You've got to give with the right heart. This is an act of worship. Yeah. So it's an act, it's a testimony of faith. So there again, see all these principles that get brought? It's a testimony of faith in the Lord. Very good. From their earnings. So we see a principle of it's from earnings and that we get the issue of first fruits. First are the best of the flock, the best of our produce. No one. Amen. Amen. Yeah, it's got to be acceptable worship. Yeah, very good. So you see how that we're tying all this. We're building a case here. We're tying all this together. It's not just a tax to support somebody working in the temple. And I mean, if that was all that it was just to keep the lights on, so to speak, it'd be different. But there's so much more to this, isn't there? That we see throughout Scripture related to this. And all those principles related to Genesis chapter 4 with Cain and Abel, very important principles. And we see the same thing here in Genesis chapter 14 with Abram. All those principles still in operation. Oliver. Yeah. Can you imagine?  I'm just going to go before God. I'm going to worship him inappropriately because I'm a God-hater and that's what I'm going to do. That'd be one thing. But yeah, there's the implication there that worship of God was expected and that Cain came inappropriately. That Cain came with an unacceptable sacrifice, an unacceptable worship. So yeah, that's a good point too. So a lot of really good principles from that. And again, that's in Genesis chapter 4 that we see all those. And those principles, aren't they? We're finding out. We're coming to the understanding. And this is going to be important. We've got to determine, once we look at these passages, if this is just descriptive of what Abraham did with Melchizedek or if this is something that is prescriptive that all people of God need to do, we've got to answer that question. And one of the ways that you answer that question is by looking at these principles throughout Scripture and the way that people of God obeyed him and we take lesson from that from Scripture. So all these things, these trans-dispensational principles, if you will, or these principles that last from cover to cover in your Bible, all very important and very important for making this case. So any other principles that you see drawn from Abraham and Melchizedek here? Yes, Mike. Yes. So it shows that Melchizedek was in authority over Abram, but also shows that Abram was being submissive to priestly authority, right? So this was an act of submission on the part of Abram to do this as well. Some people have difficulty reconciling those two things. Act of worship and act of submission. Those two things go hand in hand. We submit ourselves to the Lord in worshiping him. And we are to submit ourselves. Can you imagine going to worship the Lord in rebellion, the rebellion in your heart, you know? We submit ourselves before the Lord in worshiping him. So Abram did that with Melchizedek. It's very good. I think we've said everything else. So it's a suppression of faith. It's a response to blessing equal to a tenth given to an order of priests. That priesthood greater than the Levitical priesthood. So all those principles apply. Okay, so I hope you're jotting those down. Now, because what we're going to do here soon is we're going to build this case. I'm going to put all those principles to good work. Yes. Amen. Yeah, very, very good. Yeah, very good point. I love Pastor Mark's exhortation this morning during the giving part of the worship service. Yeah, the Lord judges those who are covetous. We saw that in Isaiah when Mark was speaking to that pastor this morning. And so it's a way to put off covetousness for us is to faithfully give. And in faithfully giving, trusting the Lord, not only is it putting off covetousness for us, but it's that act of faith that the Lord is going to provide exactly what we need and going to care for us. So just so much blessing that the Lord weaves into the fabric of tithing. It's very, very important. It's a very good point, brother. Okay. Let's take a look at next text we want to look at is Genesis 28. Genesis 28. And Genesis 28 is the account here of Jacob. And again, this is outside the Mosaic Law outside the Mosaic Covenant. And many principles involved here in Jacob's act. If you're going to say that tithing was only related to government in Israel, the theocracy, or you're going to say that tithing was only under the Mosaic Covenant, only applied to Israel while the temple was necessary or why the tabernacle was necessary. And that's what many who object to tithing say. Tithing doesn't exist today or isn't important today because we have no temple. We have no priesthood. We have no tabernacle. So it's not necessary. We have no theocracy, so it's not necessary. If you're going to do that, if you're going to say that, then you've got to be able to say that Genesis 14 doesn't apply as a text on tithing to the people of God. It's descriptive only for Abraham in that one circumstance. Now, the reasons that are raised for that very thought process or that point is that, well, in the ancient Near East, at the time that Abraham was doing this, the pagans tithed. This was a custom of the pagans. That's why Sodom, the king of Sodom, was going to take a portion or give a portion of goods. The pagans practiced tithing at that time. Well, we have no account of whether the pagan cultures who did practice tithing at that time took that practice from the Bible. These people who object would say that Abraham took that from the pagans. Well, we've got no basis for that. It was obvious that Abraham paid a tithe to Melchizedek that's illustrated for us very clearly in Scripture. And there are reasons given for why Abraham did it. All of that was faith in God, act of worship, trusting in God, thankful to God, all those kinds of things. And so whether a pagan country did it or not really is irrelevant. The Bible teaches, the Bible clearly says what Abraham did. And it gives us an example there. I have to say that it was only descriptive, that because it was spoils of war and I mean those kinds of things. And all of that really is reading into the text to speculate about the circumstances that Abraham was under. Lord says all Scripture has been given by inspiration of God and is profitable for. We're to be able to take instruction. We're to be able to take rebuke. We're to be able to take correction from Genesis chapter 14 with respect to Abraham and the tithe. Yes, yeah. It's explicitly given under the Mosaic covenant, right? And we'll talk about why that's important to and how that, there's a progression. We'll talk about why that works. Yeah. So here it's implied from what Abraham did. Many examples given in Scripture, worship isn't it? Throughout Scripture, there are places where the Lord commands people of God to worship him. But we see examples of worship throughout Scripture that informs how we are to worship the Lord. That aren't explicitly commanded. But we take that, those laws, if you will, are principles about worship and we apply them in our worship of God. Because it's right to do that. It's right to study the Bible that way, right to obey the Bible in that way. And we'll talk more about that. I think it's a good point, brother. Okay. So Genesis chapter 28. We'll run out of time. Let me read this quickly to you. Genesis chapter 28. Look down beginning in verse 10. And it says here verse 10. Now Jacob went out from Beersheba and went toward Heran. And so he came to a certain place and stayed there all night because the sun had set. He took one of the stones of that place, put it at his head, he lay down in that place to sleep. Then he dreamed and behold a ladder was set up on earth and its top reached the heaven. And there the angels of God were ascending and descending on it. Behold the Lord stood above it and said, I am the Lord God of Abraham your father and the God of Isaac.  Also your descendants shall be as the dust of the earth. You shall spread abroad to the west and the east to the north and to the south. And in you and in your seed all families of the earth shall be blessed. Behold I'm with you. We'll keep you wherever you go. We'll bring you back to this land for I'll not leave you until I have done what I have spoken to you. What is that? The Lord just, yeah covenant. So this is the Abrahamic covenant that is being renewed or given to Jacob. Okay. So look at what Jacob does verse 16. Jacob awoke from his sleep and said, Surely the Lord is in this place and I did not know it. And he was afraid and said, how awesome is this place? This is none other than the house of God and this is the gate of heaven. So Jacob rose early in the morning and he took the stone that he'd put at his head and he set it up as a pillar. What's Jacob about to do? Worship. He's about to worship God. And he poured oil on top of it. Verse 19. And he called the name of that place Bethel, but the name of that city had been Lutz previously. And then Jacob made a vow saying, If God will be with me and keep me in this way that I'm going and give me bread to eat and clothing to put on so that I come back to my father's house in peace, then the Lord shall be my God. And this stone which I have set as a pillar shall be God's house.  So we have another example now. Old Testament outside the mosaic covenant where Jacob gave a tenth of all that he had, of all that he got to the Lord. So give me some principles here. You're going to find these overlapping. What are some principles? You're going to observe the text, draw out principles from the text. What do you see? Amen. Yeah. Very good. Yeah. It's interesting how those two things fit together. You saw that in Genesis 14. In Genesis 15, God gives the Abraham covenant and you've got Abraham and God in covenant together. And so it's connected there. You've got the same thing here. The Lord repeats the Abrahamic covenant to Jacob, repeats the promise and Jacob worships and Jacob gives a tenth. I think those things are connected. Very good. Someone else? What's another principle? Yes. Trusting and depending on God. You notice one of the objections, one of the objections to Jacob giving here, because again, if you're going to say that tithing was only mosaic, then you've got to do away with this text. This text can't apply. So you've got to do away with it. So one of the objections that they say about this text is that Jacob is a swindler. He cheated his brother out of his birthright, out of the blessing. He deceived him. So Jacob is a deceiver. And so Jacob, when he comes to God in this passage, listen, God, here's what I'll do. If you do these things for me, okay, then I'll do this for you. It's not what Jacob is saying here. This is not the act of a swindler. This is Jacob's response to God's covenant to provide for Jacob. Does Jacob believe, let me ask that question that way, maybe, does Jacob believe that God is going to provide for him? Yes, he does. Does Jacob believe God's covenant promise to him? Yes, he does. Does Jacob believe that he is going to bring him back to his father's house in peace? Yes, he does. He's not like, listen, God, if you bring me back to my father's house in peace, then I'll give you a tithe of all I have. Or listen, God, if you'll provide, give me everything I need, then I'll give you a tithe. Jacob trusts God for all these things, and in response to God's faithful provision of these things, they're a done deal. In Jacob's mind, Jacob is worshiping God by giving a tenth of all that he possesses. So this again is just a testimony of God's faithfulness. It's an act of faith and the goodness and provision of God. What other principles do you see? Very good. Yes, so God gave it to him. Who does everything belong to? The Lord's. Jacob sees himself simply as a steward or a recipient of the blessings of God, and so Jacob freely gives back to God. Yeah, that's a good principle to carry forward, too, as we start talking about this later in the New Testament. Yeah, Tom. Amen. Can you see how... That's such a good point, Tom. Can you see how if the tithe were only to a theocracy to try to keep the government, the work going, is that really to God? If the tithe were only to, you know, support work in the temple, only to the Levites. Well, the tithe would be to the Levite, and it would have no bearing, really, would it on God? It would be going for the work of the Levite. But at Tom's point in Genesis 14, here in Genesis 28, under the Mosaic law, the tithe was to God. It was given at the temple. It was given as an act of worship, given as an act of faith. So, yeah, thank you, brother. I think it's really, really good. Some quick points, Jen and then Ben. Amen. Yeah, Jacob feared. And that was the purpose, right, that the Lord had instituted the tithe in the Mosaic Covenant, was to teach the people how to fear the Lord. And here, Jacob, fearing the Lord, gave the tithe. Yeah, as we gave it, trusting God. Yeah, amen. You know, it's interesting, the objections that people have. Well, okay, you know, my tithe goes to the Lord. And so, I can give it to this organization and this organization and this organization. Most of them are church or false organizations. Well, the Lord says, where's that principle? Where's the principle that applies in that circumstance? Pardon me? It comes into the storehouse. Yeah, it comes into the storehouse. The other issue that comes out of that is that because my tithe is to God, does God need my money? No. And so, you know, I can, that's what people think, say those things. Those are objections that are raised. Crazy ones. Okay, so what are some other principles that's a common part of worship, right? He was setting up the stones. That was actually those stones. That's the way they set up stones when they were going to sacrifice. Just a normal part of worship he gave. So, yeah, I think that was a very good point. Yes. Not, the Bible doesn't say that, but it is an act that a believer does in the course of worship. And so, I think the connection that we can make is that Abraham believed God, God counted it to him for righteousness, and then as a fruit of his faith in God, Abraham gave as an act of worship. We can say the same thing of Jacob. The Lord made a promise to Jacob. Jacob believed God, God credited to Jacob as righteousness, and then as a fruit of Jacob's belief in God, he gave as an act of worship to God. That makes sense. So, yeah, it's a fruit. I think giving is a fruit or tithing. It's a fruit of faith, evidence of faith. Yeah.  You're trying to draw out of the text worship to the Lord, and so you're reading it and you think, wow, Jacob, boy, the house of God, can you imagine? Ladder, angels ascending and descending on it and what an awesome scene, what an awesome promise given by God, and then you see as a humble-hearted Christian, right? You're reading that and you're thinking, wow, what an amazing experience there that Jacob had. And look at what Jacob did. Jacob worshiped and then Jacob gave. In your heart, you're just, I want to worship the Lord, and I want to worship the Lord just like Jacob did. I want to give. Look at all the Lord has given me. It just doesn't that produce in you. It's those principles like that through Scripture that inform our worship, and a tithe is inescapably a part of that. We see it throughout Scripture. So, yeah, active gratefulness to God. Yeah, made a vow before the Lord. It's almost back to this covenant issue that the Lord made a covenant with Jacob, and in response, Jacob covenanted with the Lord. Now, we covenant with the Lord to love him with all our heart, soul, mind, and strength, to follow him as Lord, but here Jacob also made a vow as a part of that to give the tithe to the Lord, made a commitment, made a vow to do that. Very good. Okay, we're running out of time. So, those two passages now, if you can, between now and next Sunday, come up with reasons for why those should not be in the Bible. Then let me know. But these are passages outside of the Mosinic Covenant that cannot be... This is no swindler's deal that Jacob is making here. Jacob here is not being a cheat. Jacob is not up to, some would say, his old ways, so to speak. This is worship of God. Abram, that's worship of God. That wasn't strictly because of some agreement that he made with those he went to war with. It wasn't as a result of, you know, trying to shove off the king of Sodom. It wasn't because, well, this is what the pagans of the land are doing, so I'm just going to do the same thing. Abram was in an act of worship to God-most high that provided him with a victory. Well, most of the time it's dispensationalism that... Well, it doesn't have to be hyper, no, any form of dispensationalism. There's some that obviously dispensationalists that believe in the tithe, but I think it's a fruit of dispensationalism that does away with the tithe. But listen, when you do away with the tithe, then you've got to go back into Genesis and say, why don't these passages count anymore? You've got to do away, so to speak, with the application of Genesis 14 or Genesis 28 to modern-day tithing. You've got to say that doesn't apply in the way that we're saying it applies, and you've got to come up with reasons why. And so on one case, I do think there are many, you know, godly men who hold a different view on tithing that are trying to be intellectually honest with the text, and they just, you know, I think get it wrong, but I think in a lot of cases, it's just here's the sort of the theological system that I'm holding to, and so in order to support that theological system, I don't believe that tithing is for the Christian today. If tithing isn't for the Christian today, then these principles that proponents of tithing use, like Genesis 14, Genesis 28 being transdispensational, I've got to come up with reasons for why that isn't true. And so that happens over the centuries. Countless tithes, Jesse. I think that's the right way to view Scripture, and that's why I think we hold more to the continuity of Scripture than a discontinuity between the Testaments. There's continuity, so we would go back in the Old Testament, and there's much that we can learn, much that we need to apply from the Old Testament today, and we just would see more continuity. I think that's the right way to view the Bible, so we'll talk about that a little more next week, next week too, and we didn't get through the sort of the point of all this, we'll do that next week too, and the point of all this is we've got to answer the question, because Genesis 14, Genesis 28, teaches all these principles on tithing, then we've got to answer the question, is that then prescriptive for the Christian today, or is it merely descriptive of what Abraham or Jacob did in their context at that time? If it's descriptive for them only, well, then it doesn't apply to us, and we can ignore it, but if it's prescriptive, then it's something that we need to take into consideration today, and we'll answer that question and go on to a couple of New Testament texts next week. All right, let's pray. Father in Heaven, thank you for this time together. Thank you for the clear teaching of the Word of God, just so grateful to you, Lord, for how the Word, just so clear to us. Just a sure guide teaches us what we're to know, what we're to obey, just so helpful, Lord. So thank you for your word to us, and be with us now as we worship you. Be with us as we study your word further during the worship service. Help us to sing, Lord, from the heart, or I pray that our worship of you would be true worship in spirit and in truth from the heart. We love you, Lord. We're so grateful for all that you've done for us and all the promises, Lord, that you've made and kept that have been fulfilled in Christ, and just so grateful, Lord, that we can be called children of God. So we worship you. Love you, Lord, in Jesus' name. Amen. All right. A few minutes, and we'll get started in...