Thank you. Is the mic working? Yeah? OK, good. So I'm Larry Hastings, and this is Python's infamous gil. I'm going to talk about the gil. I'm going to talk about what it is, what problem it's trying to solve, how it solves it, what the ramifications of those choices are, what its history is like, and what its future is like. And I originally proposed this talk at being a bit of a more of an advanced level. And the way that I wrote it, it's really kind of friendly for beginners too. So don't get scared. So let's run the clock back to 1992. Python's about two years old. It was still young and fresh and evolving rapidly. It was mostly used around CWI, where Guido was working, but it also been released on the internet. There was a new technology out there in operating systems, something called multithreading. This isn't something that people had dealt with very much to date. It was seen on Mock, I think it was available on SunOS. Most operating systems didn't support it. It was in the betas for the new operating system from Microsoft called Windows NT. But this multithreading, what it was, is it was kind of like multiprocess, except that it was all in one process. You had multiple threads of execution happening inside of the same process wall, the same shared state. People wanted to try experimenting with threads in Python, but you couldn't just start adding threads and expect everything to work. There was going to be a problem. The first problem is globals. So a global in C is kind of like a module attribute in Python. It's something, there's only one of them, and everybody knows where it is. If you have multiples of these threads and are all trying to talk to the same global variable, you're probably going to have problems. As an example of one of these globals in Python, there's a pointer to the current executing frame object. And that's, there's one of them, and it's a global variable, and everybody can see it. If multiple people tried to play with the frame object pointer, you'd have trouble. An even worse problem, though, is reference counting. So Python uses a technique called reference counting to manage the lifetimes of objects, to destroy them when nobody's interested in them anymore. And I'm going to do a deep dive right now about what reference counting is, how it works, and how, what the ramifications are of reference counting is with multi-threading. So reference counting. Inside of the Python interpreter at runtime, every single Python object starts with these two fields. The second one is the type of the object, and the first one is what's called the reference count. This is an integer, and this integer tells you how many people are interested in this object right now, how many people are holding references. So if the reference count is three, that means that there are three pointers pointing at this object. And what you do with this reference count is every time you take a new reference to the object, you increment that number. And every time you are no longer interested in the object, you decrement that number. So you ingref and decref. When the object count reference count drops to zero, nobody's interested in this object anymore, and so you should destroy it. You call the Dunderdell if it's got a Dunderdell, and you release the memory, either giving it back to the operating system or recycling and using it for another object. So in C, there are these things called macros. This is kind of like a subroutine call, but it's actually done as more of a textual substitution. So ingref and decref are how you manage the reference count inside of C. These are what they look like today. The ones in 1992 looked much the same. So let's look at what happens if we have two threads that are trying to deal with the reference count at the same time. I'm gonna show it to you in exhaustive detail, and I'm gonna show it to you both when it works and when it fails. Now thread one and thread two, both have references to this object in the center, and they're both gonna drop their references, so they're both calling decref. Let's turn the decref into the underlying C, but even this isn't deep enough. We actually have to go one level deeper and look at the assembly language that this was compiled into by the C compiler. This is actually just pseudo-assembly language, but this is very accurate to what's actually going on. So let's say that the object has a reference count of three. Thread one loads that reference count into something called ax. Ax is a register on the CPU, and you can think of it as a variable. Each thread has its own set of registers, effectively, so they get swapped around. So thread one loads the value of three into ax. It then decrements it, so now it's two, and it stores it back into the object, the reference count, and the object is now two. Thread two comes along, does the same thing. Loads it into ax, decrements it, and stores it, and now the reference count on the object is one. This worked. We have two threads, they both drop their references, the reference count on the object dropped to one. Now let's do it again, but this time we're gonna do those things in a different order. Thread one loads it, and now it shows it three. Thread two does it the same time, almost at exactly the same time as thread one does it, and it also sees three. Thread one decrements, so does thread two. Thread one stores, so does two. But thread two and thread one both wrote the same value. Both threads dropped their references. It should have dropped from three to one, but it only dropped from three to two. This is a bug. This is what's called a race condition. Both of the threads were racing along, and they kind of stepped on each other's feet. Now you have the inverse problem with ink ref. If you have two threads that both ink ref, the object at the same time, then the reference count can be one too small. The problem here, you get different results depending on which it is. If you have the reference count too large, then what happens is, if everybody releases their references to the object, the reference count is still positive, it's one or more, and nobody has references to the object, so nobody's ever gonna clean it up. So now this is leaked memory, and if there's a finalizer, and it has resources, those finalized resources never get finalized, then you're leaking resources too. The inverse problem is much worse. If the reference count is too low, then let's say that it's two, and there are three people who have references to it. The first guy drops, and it drops to one. The second guy drops, and it drops to zero, and it goes away. We now clean up the object. We release the memory either back to the operating system or reuse it, but there's still one guy who has a reference to this memory he thinks it's a valid object. What's he gonna see? If the memory's been given back to the operating system, the program will just crash. If it's been recycled to use for another object, he's gonna see garbage values, he might crash, he might compute some inaccurate result. Who knows? But this is a really nasty bug, and it's really hard to debug. So getting your reference count numbers wrong is really painful, so we wanna prevent this from happening if we're going to make Python multi-threaded. So the first approach that one might think of would be to add locks around everything. A lock is something used in multi-threaded programming to prevent multiple people from using something at the same time. You can think of it as kind of like being a bouncer. There's a bouncer standing at the bar, and he only lets one person inside at a time. So the first person comes along, he says, go on it. The second person comes along and they have to wait until the first person comes back out, and then the bouncer says, okay, now you can go.  We could say, in order to use the frame pointer, you have to be holding this lock. In order to be hold, or maybe we could do it for groups of things together. We could group together all the stuff that's for the runtime currently executing stack frame. And we also would need at least one, maybe more than one lock, for reference counts. The problem with using multiple locks like this is you have a special kind of race condition called the deadlock. So let's say that we have two threads here. This is an example of a deadlock. A and B are locks, and thread one and thread two are gonna try and use those locks. The problem is that they grab them in the opposite order. So thread one grabs A, then B. Thread two grabs B, then A. And the problem is if you execute them in this order, lock, thread one tries to get lock A, and that works fine. Thread two tries to grab lock B, that works fine. Now thread keeps going. Thread one keeps going and tries to grab lock B. Nope, has to wait. Thread two tries to grab lock A. Nope, has to wait. These two threads are now deadlocked. They will never make progress. And if any other thread comes along and says, I want thread A, or lock A, or lock B, it's gonna get stuck too. This is a deadlock. This is another painful thing in multi-threaded programming. You don't want to have this problem. So Guido, very carefully, in 1992, very cleverly, created something called the GIL. That's it. That is the interpreter lock. Since it's global to the whole Python running process, we call it the global interpreter lock, or the GIL for short. That's what it looked like in 1992. Almost two years to the date, by the way, since the Python repository was created. If you want to see what it looks like today in Python 2.7, that's it. It really hasn't changed in whatever this is, 23 years. In Python 2.7, anyway, we'll get into that in a minute. Now, in order to interact with the Python interpreter to do anything, you have to be holding the interpreter lock. In order to interact with an object, in order to run Python bytecodes through the interpreter, you have to hold the GIL, which is both good and bad. So let's talk about the good. This is simple. Simple is easy to get right. Because it's part of the Python CAPI, extension modules have to hold the GIL in order to interact with the Python interpreter. This made it a very simple rule, and it was very easy for extension authors to get right. This led to people writing lots of extension modules for Python. The story of the Python GIL is really the story of the success of Python.  Without the GIL, Python would not have been as successful as it is today. So also because you only had what GIL, you can't have a deadlock because there aren't two locks that you have to deal with. Now, if you have IO bound code, if you have multiple threads and they're all blocking on IO, then this also just works magically. Your program runs as fast as it can. If your program is CPU bound, then your program is effectively single threaded because again, only one thread can hold the GIL at a time and therefore only one thread can be interacting with the Python interpreter. So if you have three threads that all wanna be running code, only one of them can do it at a time. Therefore, you're effectively single threaded. We're gonna talk about that. That's why people don't like the GIL. Now about this, the reason that it works magically for IO bound code, there's another one of these macros. It's two of them actually. Pi begin allow threads and pi end allow threads.  You might as well drop the GIL. Let somebody else use it for a while and then you can go and grab it again when you need it. So that's what these macros do. And these are again, very easy to use. You can use an extension modules, they're used all over in the Python source code. Anytime you're gonna do something that might take a while, drop the GIL, do your thing, grab it again. So what's the examples of these things? If you're gonna go to sleep, obviously you don't need the GIL. If you're going to read or write from a file handle, you can drop the GIL. If you're gonna read or write from a socket, you can definitely drop the GIL because that can take who knows how long. But sharing the GIL in CPU bound code, that doesn't work. Now, the GIL didn't change, like I said, for a very long time. In 2009, David Beasley gave a presentation at a Chicago area Python user group. David Beasley's a computer researcher, he loves Python and he's very interested in the GIL, so he's played with it a lot. And he discovered some things that were kind of awful. So first of all, when you have multiple threads that are trying to use the GIL, there's an internal thing in Python. I should have put it on the screen, it's not there. It's called the sys.setcheckinterval and sys.getcheckinterval. This is a number that's set to 100. And what that says is, every 100 bytecodes, the currently running thread is supposed to say, okay, let somebody else have a turn. That doesn't work. Here is a diagram showing two threads running at the same time. They're both CPU bound. They both want to use the GIL all the time they can. And you can see that little arrow there, that's 66,000 ticks. This is 667 times longer than it was ever supposed to be. This checkerboard was supposed to be like tiny little slices and they're running for a very long time. So people aren't releasing the GIL when they're supposed to. But it gets worse if you have two threads and one of them is IO bound and the other one is CPU bound. What you want is, the IO bound thread doesn't run very often and it doesn't run for very long. It does a little work and then it waits on a socket. And then it does a little more work and it waits on a socket. You want to let that thing run whenever it's ready to run. So if you have a CPU bound thread and an IO bound thread in the same process, you want to prefer the IO bound thread. Here the CPU bound thread is getting all the time and the IO bound thread never gets to run. This is what's called priority inversion in the world of operating system schedulers. And Python had it in a really bad way. The problem is this code that's supposed to be releasing the GIL and letting other people have a chance to run. So this is it. What it does is this PyThreadStateSwap thing, that's this macro that we saw before, this PyAllowBeginThread, or whatever it was called, and thread and begin thread. So this is releasing the GIL here. Then we say, other threads can run now. And then the immediate next thing we do is acquire the lock. So what was really happening is if we have two threads and this one has the GIL right now and this one wants it, he's saying, you can have the GIL, oh, take it back. You can have the GIL, oh, take it back. This guy never gets a chance to get the GIL. And it's worse, if you CPU bound, he never has a chance. And if he's IO bound thread, he's never got a chance. So this, by the way, is still what Python 2.7 is like. This is Python 2.7. It was fixed in Python 3 in 2009 by Antoine Petroupe. He wrote what's called the new GIL, which is only a minor change to the GIL. It added a new variable called GIL drop request, which is something called the condition variable. In effect, this is a flag. If the second guy is trying to grab the GIL and he's not getting it, he sets this flag and says, look, there's somebody waiting, you really have to give it up. And then the first guy who releases it, he releases it and he looks and he sees this flag and says, oh, I really have to back off and let other people have a chance. So with this change in place, the really bad behavior that David Beasley was saying is fixed. There are still funny conditions that you can arrive at where you can still starve threads for CPU time and never getting the GIL, but it's a lot less bad now. And to fix those really funny conditions would make, would require making the GIL a lot more complicated. And what we're really talking about at this point is writing a scheduler. And I only know a little bit about operating system research, but I can tell you that writing a scheduler is very complicated. And the more fair you wanna make it, the harder problem it becomes. And this is really kind of a raffle that we don't wanna go down in the Python source tree. So the plan was, we're gonna try a GIL this way and see if it worked okay. And basically it's been fine and we just wanna leave it alone. So this is the GIL that's in three, two and above, I think. Now meanwhile, while we haven't been paying attention to all this, the world has kind of changed around it. So I remind you, Python itself was written in 1990, originally created in 1990. And multi-threading was added in 92, I think. Now you didn't see multiple cores. You didn't see multiple CPUs in a computer very often back then. You'd have to actually go and get a second CPU and have both of them on the motherboard. I had a computer like that in 1995, 96. I had two Pentium 133s in one single computer, but I was kind of a weirdo. You didn't really see it prevalent until you had multiple cores on a single CPU. And you didn't see that until about 2005. That's when server CPUs and desktop CPUs and actually the CPUs used in game consoles for the home, those all went multi-core in 2005. And that's when we started really seeing a lot of uptick in multi-core use and programming. Laptops themselves went multi-core in 2007. Tablets and phones and systems on a chip that are embedded in very small projects. Those all went multi-core in about 2011. Eyeglasses went multi-core in 2013. Watches went multi-core in 2014. Ladies and gentlemen, eyeglasses and wristwatches are now multi-core. We live in a very multi-core world. And we still don't have a solution for running Python on multiple cores simultaneously. Now, Guido has talked about this. He wrote a blog post back in 2007. He said, and he said, by the way, Python 3K, that's the old name for Python 3. He said, I'd welcome a set of patches in the Python 3K only if the performance for a single-threaded program and for a multi-threaded but IO bound program does not decrease. This is a tall order. It's been almost eight years. Nobody has done it. We're not sure how to do it. People have tried in the past. There was a famous patch back in the Python 1.4 days called the free-threading patch. What it did, it didn't require changing the CAPI, which is good. It took all of those global variables like the pointer to the current frame. It sucked them all into one single struct, excuse me, a C struct, which is roughly equivalent to a Python class. So now you could have more than one of them. So he created one per thread and now they didn't stomp on each other. And then he added a single lock, a mutual-exclusion lock, around in-craft and de-craft. So you had to be holding this lock in order to do an in-craft or a de-craft. And so you would grab it, do your plus or minus and release it. This added so much overhead that performance is terrible. It was about, it was between four and seven times slower. And this is results based on David Beasley reviving this patch like 10 years later. A couple of years ago, a guy named Antoine Petru, who's around the conference today, he tried something using atomic tests instead. So modern computers actually have machine language instruction that is a single instruction that says, subtract one from this value over here. So you remember those three instructions, load, decrement, and store. It combines with a single instruction, which it guarantees will happen atomically and you'll never have any problems of races. So that's good. It doesn't require any API changes, which is also good, but it makes it 30% slower. So again, it doesn't meet the bar that Guido was talking about. Now here's something to consider. There are four big Python interpreters in the world. There's Cpython and then there's everybody else. Cpython has a gil, everybody else doesn't. Cpython uses reference counting, everybody else doesn't. What do the other people use?  You can, if you have a garbage collection, you don't need the gil nearly as much. It's very easy to say, okay, we can get around it. PyPy actually has a little bit of a gil that they just use during garbage collection cycles. They say, it wouldn't be that, it'd be kind of a pain to get rid of it, but it's not impossible. It's impossible to get rid of the gil as long as we're using reference counting. So people say, we should go to garbage collection with Python. The problem with that is that changes the API. We change, so in order to talk to the Python interpreter, you call the C API. In order to deal with objects in the C API, you have to understand Python's memory management approach. So C, extra programmers have to know intref and decref. If we got rid of those and changed to garbage collection, that changes the API. That breaks every extension out there. There are a lot of extensions for Python. We don't wanna break them. So I'm not sure that we can do this. Would it be any slower? Would it be faster? Conventional wisdom, or at least told to me by Michael Ford, is that garbage collection and reference counting are roughly the same. But we wouldn't actually know until we did it. And it would be a lot of work and nobody has been gutsy enough to try. Here's something else to consider, though. So all of the major languages that have come out since Python was invented, like the JVM for Java and the CLR for C sharp, Rust and Go, all these things are using garbage collection. Also, all of them don't have C APIs. Python doesn't have a C API either. Now why is that? Well, the obvious reason is that these languages are generally considered about as fast as C. So the reason for writing a C extension to speed things up, you don't need it. They all have the ability to call out into a C library. And so maybe they think that, well, you just don't need it. You can call out to a C library and you don't need the optimization of an extension. So we don't need the C API. But another thing to consider is that, like I've just said, having a C API means exposing your memory management model to the world, which means that now your hands are tied. If you change that memory management model, you break everybody's C extensions. If they don't expose the memory management model for the world, they are now free to change it internally. PyPy started out with a simple mark-and-sweep, I think, he can correct me. It started out with simple mark-and-sweep and over time it became generational and it became an incremental collector. And Armin told me that the change to incremental wouldn't have broken anybody's code. The change to generational probably would have. If they had exposed a C API, they wouldn't have been free to make those changes and PyPy wouldn't have the better memory manager that it does. So if C Python switched to garbage collection, again, this would break every C API out there, and then if we made improvements to it later, we might break everybody again. So in my opinion, I think that if we went to the route of trying to change to a garbage collection, we should probably give up on having a C API. But again, we break everybody's C extensions and we don't fix them again. Instead, we say rewrite your extensions in Python and use CFFI, which by the way is wonderful because then that lets you run on PyPy and also Jython and IronPython are talking about CFFI support. So this would mean that your extensions were now portable across Python implementations. I think for political reasons, the only thing that we could really talk about is atomic test and set. And even with a 30% speed loss, I think that the pressure for supporting multi-core is going to get big enough that we're really gonna have to look at doing this. That's it. So the coffee break has started. So if you're jonesing for a cup of coffee, you can take off. If you have questions, I'm happy to answer questions for a couple of minutes until they kick me out. Somebody is holding up their hand on the aisle in the center. Yeah? First of all, thank you very much for this awesome talk. So you say one of the main problem with a garbage collector is C extensions. But what if somehow mark the code as pure Python code that doesn't interact with the C extensions? And there you can, with those objects, you can do garbage collection. And somehow mark that the code that interacts with the C extensions, and there use Gil or atomic increments, decrements. Because like there is a lot of pure Python code out there. Okay.  Python code that runs in Python doesn't care about whether it has a garbage collector or whether it's reference counted. So I kind of didn't understand your question. Maybe you're gonna have to clarify it. But I will point out to you that C Python has reference counting and all the other Python implementations use garbage collection and your code still runs either way. So it doesn't matter. So I'm not sure I'm answering your question. I mean, imagine you have a pure Python program that doesn't interact with any C extensions. What prevents having a garbage collector there? Nothing. You can run it today because you can run it under Jython or IronPython or PyPy and those have pure garbage collection. They don't have... No, I mean, why not implement it within C Python? I'm sorry? Why not implement it within C Python? Why not implement in C Python? Because that breaks all of the C extensions and people use the extensions all the time. Yeah. And to provide a data point for this, can I interrupt Larry? Sure. So ResolverSystems at one point implemented something called IonClad which was an implementation of the Python C API for IonPython. And IonPython doesn't have a gil and it doesn't use reference counting. But all of the... We maintain binary compatibility with existing binaries because this was for Windows and people basically can't compile their own extensions there. And so what you have with those existing binaries is you have C objects, effectively, Python objects implemented in C that expects to use reference counting. And so we had a hybrid system. We uttered objects that were returned from the C extension. We artificially inflated their reference counting by one so that the macros compiled into the binaries would never be triggered by getting down to zero.  We would decrement the reference count to zero. Technically we had a leak though because if you pass in references to Python objects to the C extension, the C extension could keep references to those alive. And essentially what Larry is saying is that if you move to something like Mark and Sweep for the main Python C interpreter those C objects are opaque to the garbage collector. It can't know what internal references you have. That's kind of what you're saying, isn't it Larry? Unless you change the API. Right, so Python actually supports garbage collection. C Python does support garbage collection but it's only used in a very small way. It's used to break reference count cycles and most objects don't bother to implement it. So if you had an object you created in the C extension it might have references to other objects and you have no visibility inside of it. The world that he lived in with Iron Python was a little different where they were running inside of the CLR and the CLR knows everything. In the C runtime environment we really know nothing about the memory that's been allocated. I mean, in practice we had no memory leaks that we could find from objects, from C extensions keeping other objects alive or those objects dying when the C extension. But that was only in practice it seemed like it worked. So you kind of want your system to be theoretically tight, not just working by accident most of the time. Yes. So I guess the answer to my question is no but is it possible that two threads think that the gill is free? They claim it and then something strange happens? No, the lock objects are provided by the operating system and they're very good. So one thread grabs the lock and the operating system does a very good job of only allowing one person to have it at a time. Yeah, it's not fast. It depends on the operating system actually. Like Linux has what they call the few-text and I think Python may use a few-texts on Linux. So that is very fast. It depends on the operating system. Some locks are actually pretty slow. But we live in 2015, I think all of them are fast these days. Hi. What I think is the feasibility of having CPython clone interpreter that breaks the CAPI and you use it when the extensions have caught up. So you're talking about forking the Python interpreter and going to garbage collection for that? Yes, certainly you wouldn't, that's possible. I'll point out to you that we're in 2015 and CPython 3.0 came out in what, 2008? And there are a lot of C extensions that still haven't caught up here. So people are very slow to adjust to changes to the CAPI. And I worry that the change to garbage collection would be even worse than the change from Python 2.0 to Python 3.0.  And it's really taking. I mean, at some point you make so many changes that it isn't recognizable Python anymore and you might as well switch to PyPy because those guys have been doing it for a long time and it kind of works mostly, okay? I think everybody wants to go to coffee. Thank you. Thank you.


Good morning everyone and thank you Kung, Asha, Christopher and Abinahs for joining class. We'll begin, the others will join in the meantime. Can I ask Abinahs, can you please lead us in prayer please? Yes, yes. Let's pray. Our Grace is Heavenly Father, we thank you for this beautiful day and beautiful time, Father God. This time we come to Throne, Father God, with the one accord and one mind, Father God. And as we are going through this Book of Romans, Father God, we ask you, Lord Jesus, to reveal your heavenly things, Father God, so that we will learn and equip ourselves, Father God, and we will know the hidden truths that you have, Father God.  And we have to pray in Jesus' mighty name. Amen. Thank you. Thank you, Abinahs. Okay, we'll continue with our study in Romans. I hope you all are learning from the Book of Romans, encouraged, uplifted, spiritually growing in your understanding about God's ways and the doctrines that we are learning also through these chapters. We've come to chapter 10. Anyone has any questions about chapter 9? Any questions in chapter 9, anyone? Basically, in chapter 9, we saw that Paul is basically trying to answer the question, what is God doing with the Jewish people, because he's chosen them, he had given them the covenants, the sign of the covenant which is circumcision, giving them the laws, the prophets, there's the forefathers there, through them came the priests, and they were the chosen generation, the chosen people group through whom God is going to fulfill his plans and purposes. And here we see that God has chosen the church, which is comprising of Jews and Gentiles. So what is God doing with the Jewish people? Those who have not accepted him as Lord and Saviour have not accepted Jesus as the Messiah. And so what are the promises? Where are the promises gone that God made to the Jewish race? So we see that the promises of God haven't yet failed and will not fail. God is a promise-keeping God. He will keep his promises. And so Paul first states in Romans chapter 9, who are the children of promise? The children of promise are not the children who are born to the Jewish race or to Jewish parents, but the children of promise are those who believe God. They're made righteous by faith. They receive righteousness by faith when they believe in God. They are called the children of promise. Second, he says, the purposes of God will be fulfilled because God is sovereign. He will go about doing what he has planned. He has purposed even before the foundations of the world in spite of man's choices. And so he gives an example of Abraham, Jacob, Esau, Moses, and Pharaoh. In spite of their own decisions that they made, the choices that they made, God fulfills his plan and his purposes because he's sovereign. He does what he wills. But even though they don't choose according to his plan and purpose, yet we see that God will bring about his plan and purpose, will see his plan and purpose, that he has envisioned, that he desires to be fulfilled through what he is unveiling in history. So that is God's sovereign will or his plan and purposes that stands, that he brings about irrespective of man's choices. And we also see that towards the end of Romans 9 that the Jews want to establish their own righteousness. They want to be made right in God's sight. They want to have a right standing. And they do it in their own understanding, in their own ways based on the law. Instead of receiving the righteousness by faith, they want to pursue it by the works of the law. And God is going to overwrite that God is going to give them up to their own choices. You can choose keeping the law. You think you're going to be made righteous by keeping the law. He just gives them up to their own plans and purposes. He's not going to overwrite their choices. But those who choose to be made righteous by faith, they become the children of promise. They inherit the promises. They become part of the blessings that was given to Abraham. And God will bring about the blessings, the plans, the purposes he has for their lives. It's because of the choice that they have made.  He's going to give them up to their own choices. Now, that is briefly what we saw in chapter 9. In chapter 10, you know, we see that Paul is again talking about how we can be made righteous and he, you know, he talks about the Jews and the Gentiles, what is God's plan for them, what is God's will, what he has foreordained, and how he is going about bringing about his plan and his will into fruition. So we look at Romans chapter 10. Can somebody please read verses 1 to 5, please? Romans chapter 10 verses 1 to 5. Shall I read it, ma'am? Yes, thank you, Rupa. Romans chapter 10, 1 to 5. Brothers, my heart's desire and prayer to God for them is that they may be saved, but I bear them witness that they have a zeal for God, but not according to knowledge. But being ignorant of the righteousness of God and seeking to establish their own, they did not submit to God's righteousness. But Christ is the end of the law, the righteousness to everyone who believes. For Moses who writes about the righteousness that is based on the law, that the person who does the commandment shall live by them. Thank you. Thank you, Rupa. Is my voice audible? Is it clear or is it echoing? It's clear questions. Sorry, dear? It's clear questions. It's clear? Okay. Thank you, Asha. Okay. So we see in chapter 10 verse 1, Paul is basically repeating what he said in the beginning of chapter 9, what he's revealing that is in his heart or what is the desire of his heart. His desire in his heart is that for his own people to be saved, the Jewish people to be saved, to come to the saving knowledge of Christ Jesus to receive salvation. So he's beginning chapter 10 as he began chapter 9 where he's saying what is his desire, his burden, his overriding desire, his deep desire, his will, his burden in his heart that is for his own people, the Jewish people to be saved. We know that Paul was a staunch Jew but through this powerful encounter that he had in the road to Damascus with Jesus, he comes to faith in Christ and he knows that this encounter has brought significant transformation in his life. And he's desiring the same thing for the rest of his Jewish people. Verse 2 he says, for I bear them witness that they have a zeal for God but not according to knowledge. Okay. So the Jewish people are very zealous for God but they do not have the right knowledge. They are so blinded to the truth and their eyes have not been opened to the truth. So even though they are zealous for God, just like Paul was so zealous for God and that's why he was going around persecuting the Christians because he was so zealous for the Jewish faith. So he's saying yes, these Jewish people just like me are very zealous for God but sadly they don't have the right knowledge. They're so blinded to the truth. Their eyes have not been opened to the truth. Verse 3, for they being ignorant of God's righteousness and seeking to establish their own righteousness have not submitted to the righteousness of God. Okay. So he's saying here that they are ignorant about how to receive God's righteousness.  They're going about trying to establish their own righteousness by keeping the law and they haven't received a revelation of how they can receive righteousness through Jesus Christ. Even if they receive some of them have received their revelation, they don't want to believe it. And that later on in this chapter, he goes on to say how because they rejected the gospel, how the gospel was God and the sovereign will chose the gospel to be shared with the Gentiles and hence they also become, when they receive by their own choices, when they receive and they made righteous by faith, they become children of a promise. So he says that they have received maybe the revelation, but they're seeking to do establishing, they're seeking to establish their own righteousness in their own strength in their own wisdom by keeping their law and they have not submitted to the righteousness of God. So even though they've received the revelation, so to say some of them, they have chose not to submit to the righteousness of God. They have not believed that they can receive righteousness through Jesus Christ. In verse 4, he says, Christ is the end of the law for righteousness to everyone who believes. So Paul is very beautifully stating here that yes, God gave the law, but we could not keep the law. The law just kind of showed us what is, you know, when we were sinning, it made us aware of sin, it highlighted sin. It showed us when we were missing them, but the law could not enable us to keep the law. It could not make us righteous. And so he says Christ is the end of the law. So all of the law was given for one reason. What was the law given for? The law was given for a reason that is to bring us to Christ. The law was given to point to Christ. The law was given so that we can come to a place where we can understand that righteousness is through faith in Jesus Christ. So all of the law is just speaking of one person that is... So all of the law is speaking of one person and that is Christ. So all of the law was given for one reason, which is to bring us to Christ. The law pointed us to Christ. How does the law point us to Christ? The law showed us when we sinned, when we missed the market, highlighted sin in our life, but it could not empower us to keep the law. So it showed us that there is somebody else, God himself, who can enable us to keep the law. It showed us Christ and Christ was the one who came. And through his righteousness, his righteousness was imputed upon us, was put into our account. And when we believe by faith, we are made into a right standing with God. So all of the law speaks of one person Christ. All of the law points to one person that is Christ. And all of the law was given for one reason, that is to bring us to Christ. Verse 5, he says, For Moses writes about the righteousness, which is of the law, as the man who does those things shall live by them. So basically, Paul is pointing out to Moses when Moses said, if you want righteousness by the law, you have to live by the law. And this is very difficult because eventually you know that you will end up not keeping the law, but living by the law, but breaking the law. Because if you break one law, you've broken all of the laws. So you just can't keep any of the laws. So it's very difficult because you will end up breaking it, at least one of the many laws you will end up breaking. So if you break one of the law, it's as though you've broken the whole law. You've broken all of the law. So the option of getting righteousness by the law is not available. There is no possibility of being made righteous by keeping the law. So the only way of receiving righteousness is through Christ. But the Jews, Paul says, are not willing to see that. They're not only willing to see that, they're not only willing to receive that, and hence they're trying to work out their own righteousness by keeping the law. And it's not working for them. So in verse six onwards, Paul is talking about righteousness by faith. And he says, he talks about people who receive righteousness by faith. How do they live? So he's going to talk about this in verses six onwards, where he's talking about righteousness by faith. And he's going to tell us that people who receive righteousness by faith, how do they live? So can one of you please read Romans chapter 10 verses six to 13, please. The righteous faith in faith says, do not say in your heart, who will ascend into heaven. This is to bring Christ on, or who will descend into heaven. This is to bring Christ up from heaven. But what does it say? The word is near you. The mountain in the heart. That is the word of faith that we look for. Because if you confess with your mother, Jesus is Lord, and buried in your heart, and God lays nothing to death, that is what we say. But with the heart, one believes in his justice. One of them got one few persons and he was saved. Oh, did you read verse 10 and 11 as well, please? Or 10 to 13 as well. Yes, Master. But with the heart, one believes in his justice, one looks him out, one confesses and is saved. But the scripture says, everyone who believes in him will not be put to shame. For there is no distinction between you and me. For the same Lord is Lord of all. He is telling his riches on all who have called him. Verse 13. For everyone who called him, the Lord will be saved. Thank you, Asha. So here in verse 6, Paul is saying, but the righteousness of faith speaks in this way. Do not say in your heart who will ascend into heaven, or who will descend into the abyss. So here Paul is saying, those who receive righteousness by faith, they speak in this way. How do they speak? And he's quoting from Deuteronomy chapter 30 verses 12 to 14. So we read Deuteronomy chapter 30 verses 12 to 14, or we can read even verse 11. Deuteronomy chapter 30 verse 11 to 14. One of you please read that. Deuteronomy chapter 30 verses 11 to 14. Somebody else read it please. Deuteronomy chapter 30 verses 11 to 14. Yes. Okay. This command I'm giving you today is not too difficult for you, and it's not beyond your reach. But it's not kept in heaven so distant that you must ask who will go up to heaven and bring it down so that we can hear it and obey. It is not kept beyond the sea so far away that you must ask who will cross the sea to bring it to us so we can hear it and obey. No, the message is very close at hand. It is on your lips and in your heart so that you can obey it. Thank you, Kong. Amen. So here Paul is quoting from the Old Testament scripture and Deuteronomy chapter 30 verse 11 to 14. He said in the introduction that, you know, we see in the episode of Romans, Paul quotes a lot of Old Testament scripture. So here is one of the scriptures that he's quoted. And here this scripture here in Deuteronomy chapter 30 is what Moses is speaking to the people of Israel. He's talking to them. He's telling them, telling the people about the commandment, the law, that, you know, the commandment and the law is not mysterious. Okay. It's not mysterious that is, you know, that you have to go and look for it in heaven or you should go down at the bottom of the sea, that you have to look for it, that you have to understand it, that you have to discern it. No, it's quite simple. It's easy. It says it's close to you. It's in your heart.  So what he's saying is, you know, the law and commandments of God is not mysterious that you cannot understand. It's something that you can understand. It's very near you. It's already in your heart. It's in your mouth. That means it's so much part of you.   It's something that's a lifestyle that you just live by. It's just something that's so automatic that is, it's innate in you. It's part of inbuilt in you. It's part of you because it is very near you. It's in your heart and it's in your mouth for you to do it. It's not something that you can't understand. So what he's basically encouraging the people is, you know, don't make excuses that you can't keep the law. You don't know the law. You can't understand the law. You don't know, but the law is, you know, close to you. It's in your heart and it's in your mouth. And, you know, Paul is quoting that scripture here in verse six. And he says, do not say in your heart, you know, who will, you know, ascend into heaven or who will descend into the axis. And he says in verse eight, he says, but what does it say? The word is near you.  And this is a word of faith which we preach. Now, in Paul is quoting from the Old Testament in Deuteronomy chapter 30 verse 11 14. But in Deuteronomy, Moses is talking about the commandments and the law or the commandments and or the law. And here Paul, instead of saying the commandments, he's saying the word. Okay, that is a difference here. Okay, Paul is saying using the word word. But when Moses speaks, he talks about the commandment or the law. And so Paul is instead of saying commandment, he's saying the word. He's saying the word of faith, which is preached to you, which we preach to people. So he says the word is near you. So we see that Paul is replacing commandment with the word. He's replacing commandment with Christ because he's just stated that the end of the law is Christ. So he's replacing the commandment or the law with Christ. We read that in verse four for Christ is the end of the law for righteousness for everyone who believes. So in verse four, he's replacing the commandment with Christ. And here he's replacing the commandment or the law with the word word. So what is Paul trying to basically say here? He says the way God wants us to live actually hasn't changed. It's the same in the Old Testament. It's the same even now. You know, the Old Testament, the law, the commandments is near them. It's in their heart and in their mouth in order for them to know what the law is. It's not mysterious for them. They can understand it and know what they need to do. But you know, much hasn't changed. What has only changed is in the Old Testament, it is the law. But in the New Testament, it is the message of Christ. It's the word of faith that we preach. It's the word of Christ. It's the word of faith. It's the teaching of Jesus. It is who Jesus is, what he has done and what he has made available to us. And Paul is saying this is the word that we preach.   So Christ is not far away. You know, it's not like somewhere in heaven that we have to search for him or it's not, he's not deep down, you know, that we have to go looking for him. Just like, you know, the law is not so mysterious that we have to go to heaven and try to understand the meaning or we need to go down the depths of the sea to find the meaning. No, the law is near you. It's in your heart and in your mouth. The same way Christ is not far away or he's not deep down that we can't understand him. But he's right near you. Okay. He's, he's just, just there next to you. He's right there with within you. And it's within your reach. It's the word of faith and the message of Christ, who Christ is and what he has done.  And then in verses nine and 10, he explains to us something which is not mentioned, which Moses has not mentioned in Utronomy. In verses nine and 10, Paul is basically explaining to us the dynamics of how it works. Yes, the word, in the New Testament, it's the word Paul says is near you, it's in your heart and your mouth. Of course, in the Old Testament, Moses says it's the law, the commandments is near you, it's in the heart and your mouth. But you know, Paul is going on to explain the dynamics of how this works. He's going to talk about the inner details of keeping the word in our heart and in our mouth. Yes, the word, you know, all that Christ has done, the message of Christ, what he's accomplished, you know, what, what he has said, what he has done for us. It's not mysterious. We, we all know about it because that is what is preached. That is what has been told to us. We are aware of it. So the revelation has been revealed to us. We know we have seen the truth. But, you know, he's talking about the dynamics of how it works in our lives. He's talking about the inner details of keeping the word in our heart and mouth. So how does it really work, even though the word is near us, it's near our heart and our mouth. How does it work? In verse nine, you know, Paul says in, in verse nine, he says, if you confess with your mouth to Lord Jesus and believe in your heart that God has raised him from the dead, you will be saved. Okay. So here in verse nine, he says, if we confess with our mouth, what do we confess? We don't confess with our mouth, the commandments or the law, but we confess with our mouth, the Lord Jesus. And when we believe in our heart that God has raised him from the dead, then we will be saved. Which means we will experience salvation. We will experience so so. So so we know is a comprehensive word, which, you know, it's not just saving us from our sins. It's not just talking about forgiveness of sins, but it's talking about healing. It's talking about deliverance. It's talking about divine protection. It's talking about redemption.  So he says, how does this whole thing work? The word is near our heart and it's in our mouth, but how does it work? It only works when we confess it with our mouth and we believe it in our heart. So we believe in our heart that Jesus Christ is God. We believe in our heart what he has said, what he has done for us on the cross, what he's accomplished for us on the cross. We believe it in our heart and then we confess it with our mouth. And what happens when we confess with them in our mouth, what Jesus has done for us on the cross, you know, we will be saved. Which means we will experience salvation. So when we believe who this Christ is and what he has done for us, we will experience salvation.  But Moses does not talk about this in Deuteronomy. In Romans chapter 10 verse 10 he says, For with the heart one believes unto righteousness and with the mouth confession is made unto salvation. So in verse 10 he says, For with the heart one believes unto righteousness. So in our heart we believe with righteousness. So why does God want to keep his word in our heart? Because it's in our heart that we believe. Because this word says here, For with the heart one believes unto righteousness.  You know, keep it in your heart and in your mouth. Why should we keep his word in our heart? It's because in our heart is where we believe, you know, God is in a heart where we believe and we are made righteous. We come into a right standing with God. It's in your heart that you believe that word. It's in your heart that you believe who Christ is. It's in your heart that you believe what he has done for you. It's in your heart you believe this message and you believe in your heart. And when you believe in your heart, you know, you're put into a right standing with God. You're in a position where you are rightly positioned in Christ and you have a right standing with Christ. So with the heart, man believes which results in righteousness, which results in a right standing with God, which results in us being rightly positioned in Christ. And it's in our mouth that confession is made. And so when we believe in our heart, you know, we made righteous, but when we confess with our mouth, you know, Jesus is Lord and what he has done on the cross for us, you know, the whole process is complete. And what does it result in? It results in salvation. So Paul is basically saying that those who receive righteousness by faith, they are to speak like this. How are they to speak?  So they believe in their hearts and they confess with their mouth who Jesus is, what he has done. You know, what is the message of Christ? The word of faith, which Paul says, you know, which we have been speaking and preaching. So he says, we do not speak as though Christ is far away in heaven. They say, okay, where is Christ? You know, or as it to say, he's dead and deep down in the earth, they were looking for him. But he says the message is right here. It's in our heart and in our mouth. Now this confession is, you know, that we make is not a one time confession. Yes, we make the confession once and, you know, we make that choice. We choose righteousness by faith and we come into a right standing with God and we confess with our mouths and we receive salvation. But this confession that even Moses is talking about in Deuteronomy and what Paul is saying here in Romans chapter 10 is not a one time thing. We continuously keep on reminding ourselves who God is, what he has done for us. Like every time we partake in a communion, we're reminding ourselves what he has done on the cross.  We're actually going back to what Christ has done on the cross, what he has spoken, what he has done for us. The promises that he has spoken over our lives, the blessings are spiritual blessings. We're declaring, we're decreeing, we're speaking it over our life. So it's not something that we, you know, believe in our heart one time and confess them out one time and it's done. But, you know, what Paul is saying here is, and also what, you know, Moses says in Deuteronomy, it's not a one time confession. But it's a way of life. Okay. The law, Moses says it's in your heart and in your mouth. That means every time we're speaking, we're speaking the law. Every time we're, you know, we're living, we're living by the law book. It's in our heart. What our heart rules our lives, right, our desires and our passions. And so also when Paul is saying the word, what Christ has done, what he's accomplished on the cross, what he is and what he has done. It's in our heart and it's in our mouth. We're constantly speaking, confessing that it becomes a way of life. It's a lifestyle and we, because we're continually believing that truth in our heart. We're continually confessing it in our mouth, what Jesus has accomplished for us in our lives through his death, his body and his resurrection and his ascension. So it's something that we continually confess, make known and constantly keep speaking about it and decree. So what does this mean for us? It means that those who have received righteousness by faith, you know, they're always speaking the word of faith and always speaking the message of who Jesus is and what he has done.  Now, the Greek word for this word confession means to say the same thing. So the Greek word for the word confession means to say the same things, which means, you know, we are speaking in agreement with who Christ is. That means we're saying the same thing just as Christ is saying or we are speaking in agreement with who Christ is. So, you know, when we're saying things, we're confessing things, which means we're speaking in agreement with who Christ is. We're saying this is who Jesus is. This is what he has done for me. This is what he's accomplished for me. This is what he has done for me or purchased for me on the cross to his death, to his burial, his resurrection. So when I'm saying the same thing, I'm not saying something that is contrary to who God is or to who Jesus is and what he has done. You know, when we do that, you know, we receive the blessings just like in Matthew chapter 10 verse 32. Jesus said, if you confess me before men, I will confess you before my father in heaven. So what does it mean? It means that if we say who Christ is, if we constantly declaring who Christ is, what he has done, declaring him over our situations, over our life, over our challenges, over our salvation. We are constantly speaking, declaring and believing it and also speaking it to people, declaring it before people. You know, you're basically declaring who Christ is and what he's done. Then in the same way Jesus is saying here that, you know, then I will also declare to you that I am their healer. I am their deliverer because we're speaking in agreement because when they're saying, you know, Jesus, I believe that you have taken all of my sicknesses on the cross. I believe that you are my healer. We are actually believing in our heart. We're confessing with our mouth and then what happens when we confess? You know, when we confess, you know, Jesus says, I will confess you before my father in heaven. So Jesus is standing there interceding on behalf of us and he's saying, yes, I am your healer. So here, receive your healing because we're confessing. We're saying things in agreement with who Christ is. So, you know, the power of our confession is so powerful. What we believe in our heart, what we're confessing. So if we say who Christ is to us, then Jesus will declare, you know, this to us that, yes, I am your healer. I am your deliverer. I am your provider. I am your waymaker. I am your miracle worker. You know, I am the one who will give you the favor. I am the one whose grace is sufficient for you. Why? Because we are confessing. And when we are confessing, we're saying that in agreement with what Christ would also say along with us. Isn't that powerful? So it's important that, you know, we constantly are confessing from our mouths and constantly believing in our heart who Jesus is, what he has done and, you know, what he's accomplished for us on the cross. So Paul is saying that this word of faith or the message of Christ, what he did through his death, burial and resurrection, you know, he's saying in verses 11 to 13, he's saying has to reach all people. Okay, has to reach all people. It's not that, you know, only we know about it and we enjoy this blessing of receiving salvation. So, so of saying things in agreement where Jesus is also in agreement with us at testing with what we are saying and seeing that become a reality of fulfillment in the natural. But here Paul is saying that this word of faith, this message of Christ that is near us is not heart, not mouth, you know, what Christ has done on the cross and also what he has accomplished for us to his burial, his resurrection, his ascension, it has to reach all people. Okay, because everyone has access to this truth. Everyone needs to know this truth. And he's saying that, you know, just like I have a burden for my own people that they know this truth, they believe this truth even as they have access to this truth. He says, you know, the same way I want people in all races throughout the world to have access to this. And anyone can have access to this and anyone who believes in this, who makes a choice to believe in Jesus, who calls on the name of the Lord Jesus will be saved because all who call upon him, God will respond to all of them. And that is what we see in verses 11 to 13, where, you know, basically Paul is quoting from the Old Testament scripture and he says, whoever believes, you know, there's no distinction between Jew or Greek. And verse 13 he says, whoever calls. So, you know, everyone who believes that there is Jews, Gentiles, Greeks, whoever calls of the name of the Lord shall be saved. So he says, you know, once you've received the truth, you know, don't just keep making confessions for yourself and believe in your heart, but also, you know, make known your confession to others, speak it out to others so that everyone can have access and all who call on the name of the Lord Jesus Christ will be saved. And verses 14 to 21 is a motivation that Paul is basically motivating us that the message of Christ has to go out to everyone. Okay, so we look at 14 to 21. Before we look at verses 14 to 21, any of you have any questions? Any questions? Okay, if there are no questions, then there's perfect silence. We'll read verses 14 to 21. So can somebody please read clearly and slowly verses 14 to 21, please. The feet of those who preach the good news. But they have not all obeyed the gospel. For Isaiah says, Lord, who has obeyed what he has heard from us, the faith comes from hearing and hearing through the word of Christ. But I have asked, have they not heard, indeed they have, for their voice has gone out to all the earth, and the words through the hands of the Lord. But I have asked, if there's no more understanding, first Moses says, I will make you jealous of those who are not a nation.  Then Isaiah is so bold as to say, I have been found by those who do not see me. I have shown myself to those who have, who do not ask for me. By a place where he says, I have held out my hands to disobedience and contrary people. Thank you, Asha. Thank you very much. So in verse 14, Paul is basically motivating us to take out the gospel, to declare, to confess who Jesus Christ is before men. So he says, how would people call? Because if you look at verse 13, all those who call or whoever calls in the name of the Lord shall be saved. And then he goes on to say, how will they call in the name of the Lord if they have not believed? And how can they believe if they have not heard? And how can they hear if there is no one going and preaching? And how can somebody go and preach unless they are sent? So he says that no one can believe unless they hear. And how can they hear if there's no preachers or someone has to go and preach? And how can someone preach unless he sent, someone has to send them out? So here's the importance of missions. The mandate for missions is very given, very clearly given here. So verses 14 and 15 are classic texts to encourage people for missions. And in verse 15, Paul is quoting Isaiah chapter 52 verse 7 where he says, how beautiful are the feet of those who preach the gospel of peace, who bring glad tidings of good things. And in verse 16, he's quoting from Isaiah chapter 53 verse 1 where he's saying that, where Isaiah says, Lord who has believed. So yes, Paul is saying people cannot believe if they have not heard and they cannot hear if there's no preacher who goes and this preacher cannot go if nobody sends them. But even if a preacher goes and people hear the gospel, they hear the truth, but yet there are people who have not obeyed the gospel. So he's basically even, indirectly just basically talking about there are few remnant Jews who have accepted Christ, but there are many Jews who have still not believed even though they have heard the truth. And he's quoting from Isaiah, he says, Isaiah chapter 53 verse 1, he says, Lord who has believed are people. So not everyone who believe will believe when we go and preach or when the preacher said not everyone would hear and not everyone would believe, but that does not stop us from going and sharing the gospel or the truth of the gospel. We need to go and preach the gospel. So even though people don't believe, it's our responsibility to preach the gospel because we know that faith comes by hearing and hearing by the word of God. Okay, so how does faith come? Faith comes by hearing and hearing by the word of God, verse 17. That's so beautifully Paul has just put it here. He says, just go and preach. Yeah, there are many people who God for all four knows already who are not going to accept him or going to reject him, but that should not stop us from going and preaching the gospel because he says faith comes from by hearing and hearing by the word of God. Okay, and then he goes back to his original style of how he's been writing Romans. Again, he goes back to his rhetorical questions in verses 18 and 19 where he basically asked questions which would pop up in the mind of his leaders or in the mind of his Jewish audience or in the church and he basically asked the questions and he answers it himself. So in verses 18 and 19, he asked these questions, but I say, have they not heard? In verse 19, but I say, did Israel not know? So he's saying, did Israel not hear the gospel? Did they not hear the truth? Did they not hear the revelations? They're not aware of it? He's saying, no, they have heard it. They have known it. Yes, they have known it. They have heard it, but they have still chosen to reject it, but there are some who have made a choice to receive the righteousness by faith and they are part of God's children, part of God's family. They are the promised seed and theirs is the blessing. And then in verse 18, Paul, he asks the first rhetorical questions and says, yes, they have heard. And then he quotes from Psalms chapter 19 verse 4 where he says the sound has gone out to all the earth and the words to the ends of the world. And in verse 19, he again asks the second rhetorical question. He says, did Israel not know? But he says, no, they have known. And then he quotes what Moses said in Neutronomy chapter 32 verse 21 where he says, I was found by those who do not seek me. I was made manifest to those who do not ask me. So he's basically talking here about the Jews. And I will provoke you to jealousy here. Again, he's talking about the Jews by those who are not a nation. He's talking about the Gentiles.  I will move you to anger. He's talking about the Jews. And because the Jews refuse to receive the gospel, God in his sovereign plan made known the gospel to the Gentiles. And he says, why did God do that? So that the eyes of these Jewish people could be opened. Provoke means to awaken them from their sleep, from their slumber. So God is basically saying, through Paul, where he's quoting from Neutronomy chapter 32 verse 21 where Moses said, I will provoke you to jealousy by those who are not a nation.  And this is already foreordained by God. God already knew that the Jews are going to reject him. They're not going to choose him. So the gospel is going to go to the Gentiles.  I will use the Gentiles to awaken you from your slumber. To awaken you of your jealousy because they were, you know, they always thought they were the chosen people, the chosen race, the chosen generation, the people who had the promises, the covenants, it was them and no one else. But now, you know, when the Gentiles have been incorporated into the church, they are part of the promise seed. They are receiving the Abraham's promise.  So what Paul is basically doing here in verses 19 and 20 is setting up the stage of what is coming up in chapter 11, that God has, you know, taken the message out to the Gentiles to awaken the Jews to the truth. The truth was given to the Jews, but, you know, they refused. They rejected it. And now it's gone to the Gentiles. And now God is using the Gentiles to awaken the Jews to the truth. Okay. So, and we see that this is something that God is always spoken ahead of time. Part of what he's doing is through the Gentiles, he's awakened the King, the Jews to know who Christ is. I'll just finish this last bit. I know I'm two minutes away beyond time. Just finished this last bit verse 21, you know, it says, but Israel, he says, all day long, I have stretched out my hands to a disobedient and contrary people.  They would not listen to the message of Christ. So, you know, what is Paul, why is Paul mentioning all this? He's actually setting us up for chapter 11, where he's going to show how God is reaching out to the Gentiles with the gospel to awaken the Jews. And he's eventually bringing both the Jews and the Gentiles as one nation or as one people in Christ. So the gospel is reaching everywhere. Israel is aware of the gospel. It went out from them to the Gentiles. The Gentiles is receiving the gospel and God is manifesting himself to them. But Israel is hard towards the message of Christ. So irrespective of whether people are receiving the gospel or not, whether hearts are hardened toward the gospel or not, Paul is saying, you know, let's take the message, let's take the word that is near our heart and in our mouth, let's confess it so that, you know, everyone can hear it and all those who choose and all those who confess to them out of Jesus' Lord will receive salvation. Okay. So that is Romans chapter 10. Anyone has any questions? Sorry, I just went way beyond time. Four minutes. Anyone has any questions? No questions. Okay. Okay. Thank you, Harrison. Anyone else? Okay. If you have no questions, then please read through Romans chapter 10. If you have any doubts, you can ask on Friday and we'll continue with Romans chapter 11 on Friday. Okay. See you on Friday. Have a good day.


Hi there and welcome to today's products and focus as we will see there the US 30 had a bit of a negative day yesterday Failing to close again above that potential resistance at 16401 and they were slapped back in the middle of two ranges lots of different As she's been cited for this obviously had the the candy crush King.com IPO that can have suffered a little bit later on in the session was down about 20% Which dragged down a lot of tech stocks obviously still got Ukraine and Russian problems And it's that Chinese slowdown. So It's looking a little bit top-heavy right now as you can see here for the whole of March It's tried repeatedly to break higher and so far it's failing to do so and it keeps on making this series of like Lower highs I guess to a certain extent. We've still not broken above that that may that March 7th Friday high that we made And we thought we're gonna retest 16598, but We are drifting between positive and negative territory on there today So we'll see how that how that continues on throughout the rest of the day Very quick look at the UK 100 As you can see there, it's also a little bit in the doll drums We're now currently trading below potential support at 6581. We are in positive territory just right now But further weakness will bring us down to next potential support at 6519 That's where we are UK obviously banking stocks go ahead quite hard yesterday on the back of that Lloyd sell-off as well So looking at Japan 25 is Bouncing off this potential support. This is this is really really nice in regards to a Credible support level and I gotta say a potential support level there So that's 14 to 1 9 as a potential support with the next potential resistance being 14 9 77 and we're still in positive territory territory today We've been making a higher highs last couple of sessions We could do with a higher close though and what we have been posting the last couple of sessions So jumping on to dollar yen And dollar yen is drifting lower again So we're seeing a bit of weakness in the USD more buying of the end So it's quite interesting to see that the yen is actually strengthening slightly and the Japan to five is still increasing So that's an interesting decouple. There's normally dollar yen And the Japan to do five moving to handle together. So we are seeing maybe a kind of a head and shoulders formation right here Which you know, it's not really the top end of this trend right here But you could you could argue that this is a head and shoulders formation So if we do break down below 100 spot 80 yen, that does open up a move towards 98 or maybe 99 yen It's not broken there yet. So if you have a look then cruel West Texas Which has been breaking above its potential resistance at 100 spot 60 its next potential resistance at 103 But we're just slightly above that just now so that that broken resistance at 100 spot 60 Is likely to become as new support potential support So looking at gold gold's not been feeling the love at all It's come off a lot And we're actually a pretty good are actually currently approaching the next potential support at 1295 technical indicators seem to indicate that there's further room for maneuver to go lower Though we are coming quite close to 55 period SMA 1295 looks like it could be relatively strategic in the short term and this sell off here is quite pronounced So many traders will be looking at this and we are seeing Some dollar strand when we look at your dollar you'll be able to see that but a bit more clearly So looking at your dollar, which is next in the list You can see there is breaking down below potential support at 3772 next potential support Which also also the 55 period SMA is 3709 technical indicators are neutral So we need to check to see what the economic announcements are today and tomorrow to get the flavor was gonna happen next but this This is a very interesting chart formation that we're seeing right here the candles are quite negative so looking at cable It's a little bit more resilient than your dollar right now We are trading above potential support at 6519 next potential resistance as ever is 6744 Though this looks like it's it's under pressure. I think 6519 is going to be strategic And if we do move lower the next potential support is at 6388 However, the slow to cast it there is slightly oversold I was getting indications of buying interest as is the MACD. So I'm a technical analysis perspective There could be a little bit of support there. So actual amount data-wise there is UK retail sales due at 930 UK time Then you've got US GDP and 1230 and jobless claims at the same time as well So 1230 UK time should be quite interesting And then if you fast-forward on to Friday You can see we've got UK GDP and then you've got Eurozone consumer confidence and To finish up the session at 255 you've got the Reuters cinnamon index end of month Which shouldn't be as as exciting as some of the other Announcements, but nevertheless worth having a look at I think many people will be looking at the UK and Euro zone markets First thing tomorrow morning and remember to keep an eye on the chart forum for more trade ideas from our global analyst team then this is actually just kind of technical trade setups and Make sure you make insights part of your layout going forward and join me again tomorrow to find out what happens next


Thank you very much. It's a pleasure to be able to present to you in particular your indulgence in allowing me to do this online as I wasn't able to come to Helsinki. I'm grateful for the assistance wider has given me over several years. And in particular the the work I did with one of the other panelists pair, Princeton Anderson on food policy as well as the work that wider supported looking at foreign assistance to agriculture, which is why I was asked to give this particular presentation. I want to begin with some background. Okay, I want to begin with some background and what's happened to foreign assistance to agriculture over time, because there's a marked important trend that reversed somewhat around 2008 at the time of the commodity price spikes and that we sometimes call the food crisis then and again in 2011. But there's been over time a noticeable decline in assistance given to agriculture. The peak was at 20% of total overseas development assistance in 1983. And it fell to a minimum of 3.7% in 2006. This is assistance to agriculture. And in addition, there's another category measured in ODA called developmental food aid or food security assistance. And that was another 7.5% of ODA in 1984. So in the mid 80s, assistance to agriculture and food security was over a quarter of development assistance that fell to 1% in 2006. The developmental food aid part of it making overall assistance under 5% at that time. There are a number of measurement issues associated with this data included aggregation of egg forestry and fisheries data prior to 1995 and how you count humanitarian food aid of which much of developmental food aid is considered. And there's an excellent discussion of this by Neural Islam from IFPRI in 2011. If you want to know what all the different categories of this are about and some of the problems in interpreting the data, I strongly recommend this paper. This is the data from the OECD showing the trends over time, showing the spike in developmental food aid around the late 1960s. And then the decline of that over time to a plateau that was, as I said, about 3% in 2006. We see the blue line in this graph is agriculture and forestry and fisheries aid, which peaked around 1983 and declined rapidly until about 2003. It leveled off then and then we see some increase after about 2006. Why did this happen? What was the decline in aid to agriculture the result of? I think it's fair to say that many products either failed or experienced only limited success over much of this history. Resources as a result went to more successful population health and education interventions. Some believe this is because agriculture involves many small highly competitive private entities and it's quite difficult to intervene to improve the lot of those entities to reach all of the actors that might be involved. It's a lot easier to build a school or to build a health center in a village than to reach lots of farmers living in dispersed areas. Another issue is the consequence of structural transformation, an important issue that another one of the panelists will talk about and that will be important as I look at what we might consider in the future. Some economic models have de-emphasized agriculture since the primary work of Lewis and many economists still believe that the government service industries and as a result foreign aid to agriculture is not a priority. Also the importance of agriculture in transitioning economies has declined. This has led to people to choose not to support agriculture as much as other activities. The city's taxes and the peristals, the public organizations involved and markets have distorted those markets and very importantly there are missing markets, particularly things like credit and input markets for agriculture and their governance and policy failures. The World Bank has strongly emphasized these latter two factors, the missing markets and the governance and policy failures as one of the principal reasons for the decline in foreign assistance to agriculture. It was somewhat of a change following the spike in commodity prices in 2007, 2008 and again in 2001. It brought huge promises of more aid and some actual increases. As I said, the low was 3.7 percent in 2006. In 2009 this jumped to 5.3 percent of ODA foreign assistance was 5.5 percent again in 2012 and the latest date is 2016 where it slipped to about 4.3 percent. Promises for this aid were large at the time. There were numerous international meetings including the World Food Summit in 2008 and the Laquia G8 summit in 2009 and at the Laquia Summit the G8 countries promised an additional 22 billion dollars in foreign assistance. There's always these promises that they looked at the details. This wasn't to occur in one year. At the time total foreign assistance tag was about four billion dollars and in 2007 it jumped to six billion dollars. Food security assistance at the time was about 1.4 billion. The promises were committed over several years. They did not prove to be additional. This is a list if you want to look later at a number of the kinds of initiatives that were taken and the amounts of money that were with some increase in food assistance and in agricultural development assistance following this crisis. This looks at the data over time of the various categories. Agriculture is the blue line. On this we see the decline to 2006. The ramp up and leveling off at a somewhat higher level after 2006 we see the decline in food aid and food security assistance over time with a brief jump in 2008 and then a decline and then a new category that emerged which is labeled basic nutrition was one of the new areas that we also see the trends in health education and population and population notably has been something that also has increased post 2007. As foreign assistance to agriculture declined and then increased the design of interventions has changed as people have looked at that they've seen numerous changes since say the 1970s when agriculture was trying to become important in the ways that we went about trying to improve agriculture changed a lot. It used to be the case that for resources were given to input and credit subsidies and fewer resources have gone to that area. There's less support for land and water augmentation things like building dams in the mid 1970s to the 1980s integrated rural development projects were pursued. These were believed to be complex and hard to implement and so we're not pursued and recently governance policies and institutions have been emphasized that are now part of public goods. Agriculture research is something that us ag economists at least have always thought was important and there's better recognition of that and there also exists a number of alternative development programs such as the use of cocoa instead of drugs as a way for rural populations to make a living. This graph comes from the OECD database and shows some of the different categories. Islam points out the categorization is not perfect to show what's going on. The brown line at the top is a category called development and policy and you see that it is somewhat erratic over time but much larger than the other categories and in particular in 2016 it's taking up nearly 60 percent of the ODA that is going to agriculture. The green line research which peaks around 2008 and always has been a bit erratic and has come down over time. The orange line shows inputs and we see since the mid 1990s that's been coming down. The 2008 crisis brought a peak in inputs as lots of countries wanted fertilizer subsidies as a strategy and then it settled back down to the level after somewhat below where it was before. The World Bank had anticipated this change in the nature of foreign assistance to agriculture and in its 2008 world development report it devoted that to agriculture and I thought what was interesting is this was prior to the 0708 crisis and they advocated increased investment in agriculture ahead of those crisis. It also provided a framework for subsequent interventions based on past experience. This is where the notion that probably drives the current design of foreign assistance to agriculture that emerged and that was that they said that much of the failure was due to past governance and policy failures and if foreign assistance was to work we needed a much improved policy environment. The emphasized market access and value chains that the nature of the markets was critical that small holder competitiveness was critical that employment needed to be emphasized in both non-farm and farm activities and these had to lead to improved liability for the assistance of farm. This is a diagram taken from that report showing the various ways in which they thought that agriculture could matter. There are a number of new not entirely new but more heavily emphasized initiatives and concepts that I wanted to point out. As always when you look at foreign assistance and you look at government intervention emphasis is placed on public goods and in the case since it's both global and national public goods and this is not just technology and infrastructure but I think the emphasis on institutions as a public good is one of the important features of foreign assistance initiatives afterwards. Policy regulation and governance are all seen as public goods. Value chains have been emphasized we look at inputs markets and institutions and not just what's going on on the farm and these have tended to emphasize exports and higher value added goods. As I noted earlier nutrition interventions have become important and there are at least two ways to look at these. A lot of nutrition interventions target vulnerable groups particularly mothers and young children and so maternal and child health interventions are important but also there's a dimension of nutrition sensitive agriculture where people with knowledge about nutrition try and inform interventions. Scaling up has become an issue it's become apparent that there's technologies available to improve agriculture and we know how to descend on a village and improve the lot of smallholder farmers in that village but getting interventions to matter to large populations is difficult and I think the other concept that's important is public-private partnerships leading to another topic I was asked to address in this which is the role of foreign investment and all of this and let me just talk about that in this case. In many developing countries foreign aid has been a huge part of a country's agricultural development budget that the amount of money that government spends and the amount that's invested in agricultural development at least for public goods there are numerous cases in Africa where foreign aid can be more than 80 percent of the agricultural budget in a country. The scare in 2007-08 led to a discussion about whether or not agriculture can feed the addition more than 9 billion people expected in 2050 and noted this will require substantially increased resources to meet that production. To put this in perspective the FAO did an estimate when they said that there would be need to be an additional 83 billion dollars invested in agriculture in developing countries based on a current 142 billion dollars invested and right now foreign aid and FDI are each about 10 billion dollars much of that investment's private domestic investment and one of the points was you'd never get enough resources from foreign aid to meet the investment needs that are required and the hope was that the portion coming from the private sector in particular from FDI could be increased substantially. This has led to much emphasis on public-private partnerships and leveraging private investment it's difficult to find ways to do this for small holders the issue I raised earlier as to what agriculture has been a problem so at least my assessment is that there's lots of talk about this and lots of discussions of the issues involved and trying to implement in public private partnerships but they've proven somewhat difficult to implement over time. That said multinationals have been in a long history of being involved in agriculture more so in export industries than in other industries and much of my experiences in Africa working on cocoa under an extent Latin America as well and there's a long history of multinationals involved in that area but one of the things striking is the limited penetration inside borders of those countries. They set up shop in the ports and sometimes intervene in markets but have limited involvement of farm and much of the value chain. I think I'm going to skip that over time. I was asked to comment on wider and how it affects this. Widers themes for successful agricultural development are transformation that inclusion and sustainability and these are both keys to successful agricultural development. One of the issues for those of us in agriculture dates back to the Lewis controversy people now believe that agriculture particularly in Africa should be playing a leading role in economic growth and this is an area that I think needs more work and attention in the future and hopefully one of the other panelists will discuss more that issue. Inclusion, agriculture growth and poverty reduction. The notion is that while agriculture may not lead to the most rapid economic growth that involves agriculture is led by agriculture tends to lead to greater poverty reduction and agriculture also involves safety nets and then sustainability agriculture is an important component of adaptation to climate change. I think in the interest of time there are a number of wider projects that address these as they've noted earlier a big component of agri-culture now is in the form of policy and a major project directed by para-print strip. Anderson looked at a number of studies to ask how did they react to this food crisis in 2007 and 2008 what policies were put in place. This is a good work to understand what happened and the difference in priorities of donors versus governments in recipient countries. The donors were interested in long-term ag development and safety nets and the governments were interested in boosting production in the short term through input subsidies and the like and broad consumer protection. There's also been a considerable amount of work at wider looking at aid effectiveness and this contributed to one of the pieces I was able to work on looking at how foreign assistance played a role in the crisis and how it might have evolved afterwards. This is done under the Recon Research and Communication to Foreign Aid project and as you can see on this slide there were a number of other activities in there as well. There's also been a project by Art McKay and Tarp under the Reconselling Act called Africa's Growth, Poverty and Inequality Trends and they looked at 16 case studies and asked how policy reform and institution building was working in those cases and I think this is an example of something that needs to be followed up on and done more often because this is one of the keys to improving agricultural assistance. Then there's a project under Development and Climate Change by Art, Farmers, State, Surab and Thurlow which is another area that Wider's been working. In addition in the project on New Directions and Development Policy, Lou Kredes and colleagues have looked at a number of roles. He explores a concept that's interesting that says agriculture is good for raising dollar a day or reducing dollar a day poverty but it becomes less effective when the goal is $2 a day poverty. It can raise poverty levels at the various lowest levels but then their limits to how far that goes and this is related to this structural transformation issue. We needed to worry about and then there's work on the political economy of social protection systems. Much of the work at Wider's been in Latin America and the two key cases are probably Brazil and Ethiopia which are contrasts in a debate that exists between whether or not cash transfers can replace food aid as social safety. I want to make just a few observations about effectiveness of food aid and then think about what that means for a research agenda moving forward. First of all, local small-scale interventions are well understood and can be quite successful. I think of the Millenellin villages in the Green Rail in Africa of the Ford Foundation. We've learned from these and from other work that off-the-shelf technologies exist now and we don't necessarily need new technology to improve the lot of small farmers in Africa but we need to make better use of the technology that exists. When these interventions come to a village they bring institutions and markets along with technology and while you can easily intervene at village levels, scaling that up to matter at a national level is quite challenging. In terms of value chains they're important because they emphasize not just on farm initiatives but market development. They also emphasize higher value in exported products and in some work I've done. Sometimes the targets are probably not as realistic as they might be and this leads to the fact that while there have been some great successes, think flowers out of Kenya or green beans out of Senegal but many of the value chain efforts have not been at all cost effective. The fertilizer subsidies I mentioned, this has been less important to donors and it remains something that governments think are important and it was part of their agenda over the last decade. I want to mention the challenge of structural transformation. Can we lead economic growth with interventions and investments in agriculture and how will employment evolve in the meantime? I think it's right that ag growth may benefit the extreme poor but as a wider study has emphasized it's less effective relieving $2 poverty a day. When those of us study ag policy look at its evolution over time we attribute many of the institutions that arise and develop country agriculture to the problems of the structural transformation and the release of labor from agriculture over time. Can that be avoided or not? A related issue is what's now referred to as the greening of poverty we've known for a long time that if you go to an area and increase production dramatically prices can collapse and intervention agriculture mostly benefit consumers. As I mentioned in public-private partnerships there's more talk than action and the study is that I reviewed provided little assessment of the scope and success of activities. Let me just conclude by saying that one of the initiatives has been to try and improve governance and this has been going on since the Maputo Declaration in 2003 where governments in Africa committed to spend 10% of their resources on agriculture and only 10 of 47 cadet members do that. This was repeated in Malibu and that still hasn't happened. Okay so I think going forward I would emphasize two agendas where wider can play an important role. One is this question of structural transformation is agriculture a lot of growth realistic? How do you deal with employment and poverty along the way and can you leapfrog the ag policy history that structural transformation has led to? And the other issue is the heavy emphasis on policy governments and institutions are reforms working can we improve institutions to form aid or decisions taken by some donors to only give aid to countries that are well governed an appropriate role and what role does policy play in climate change? I think I'll stop there. Thank you very much.