This year governments will discuss the preparations of the United Nations General Assembly on drugs that will take place next year in New York. Ungas provides an opportunity to rethink what we have been doing over the last 50 years. The world has changed and world drug policy has also evolved. But have the objectives of the drug treaties which are to ensure the health and welfare of our populations really become outdated? I don't think so. We do believe that policy changes can be achieved within the existing legal drug control framework. The most popular mantra of the commission was shared responsibility. The world drug problem remains a common and shared responsibility. On the basis of the principle of common and shared responsibility. Common and shared responsibility. For some member states, most of them Latin American, this shared responsibility should lead to an open debate about the alternatives of current punitive drug policies. We agree with Mexico, Guatemala, Colombia and Ecuador with the support of other Latin Americans and European states that this preparatory process for the Ungas should guarantee a real debate and dialogue. The global drug problem is a complex issue that is not possible to approach in a simplistic, single-minded way. As such, for years we have called in this forum for a broad and diverse debate without constraints or taboos. What is the position of the group of Latin American countries on Ungas? What do they want to achieve next year? The first challenge of the Latin American and Caribbean group is to achieve a common position. There is a majority of countries that see the Ungas as an opportunity to have an open debate where all policy alternatives can be debated and analyzed. In general, I would say that the aim of the region is to acknowledge and make visible the negative economic and social consequences of the war on drugs. So the international community can discuss whether it is still relevant to just tackle and approach the drug phenomena from one perspective rather than from a comprehensive approach, including development, public health, justice, human rights and other very relevant issues, not just security. Does it mean that there are some Latin American countries that would change the treaties themselves? I don't necessarily see the Ungas being that particular occasion in which Latin America will directly advocate for treaty reform, although I would say that the Latin American region is one of the regions that are pushing the most for the Ungas to have a very strong political outcome. However, the majority of U.N. member states and institutions think drug prohibition works well, so they don't want to open a debate about the U.N. drug conventions at the next year, Ungas. What do you expect from next year's Ungas on drugs? Well, in 2016, Ungas will be a meeting of the General Assembly in special session to talk about the problem of the war on drugs. My concern is that if we just go to Ungas and just talk, nothing will have been accomplished. We need amendments to the United Nations Drug Treaties signed and filed in advance of Ungas, so a nation who is unhappy with a particular aspect of drug policy should file an amendment. The United States should sign and file a petition to say end the cannabis prohibition in these treaties. Uruguay could sign the same statement, and then the countries of the world would have something specific to debate and act upon when they get to Ungas instead of just talking about it. I would like to see more organizations from different kinds of sectors coming out and explaining that this is their turf as well, because I think for too long it's just been the drugs NGOs, and it's too easy to sideline or silo us. But when the likes of Human Rights Watch spoke out more, when Health Poverty Action recently spoke out more, and if we can get child rights organizations just pointing out the intersections, you don't all have to agree with policy solutions, just pointing out that this is actually a very wide-reaching policy area, and it is trampling human rights in different parts of the world. It is undermining development. It is a security nightmare. Many, many countries are calling for, you know, we need to take a public health approach to illicit drugs or illegal drugs. And what they, many times that's well-intentioned and it's not a bad thing per se, but what they don't really want to consider is some of the more powerful public health interventions, which are the regulatory interventions. I mean we, the successes we've had with tobacco in various countries has not been just because we educated people about it and we did some research to find out the harms. We regulate the heck out of the product. We tell people, you know, how old they have to be to buy it, where they can buy it, where they can smoke it, where they can't smoke it mostly. So in some countries you, the regulatory aspects of it are really profound and they complement the educational and the research aspects of it. And you use enforcement to, you know, bust people who are selling to miners and bust people who are producing illegally, that sort of stuff, who aren't licensed producers. So public health has a lot of power and some, much of that power is through their regulatory interventions. So we should be looking at how can we use that type of framework for currently illegal drugs. On a good day, on gas is a big opportunity to open the door to new ways of thinking and approaching this issue. On a bad day here it's going to be just more of the same and not much different.


How can I run a flow across existing emails rather than new ones coming in? I want to do a clear up of some old email attachments but I can't get it to run across existing emails. Stay tuned and I'll show you how you can do this in just one simple click. Hello everyone and welcome back to another video. So in today's video we'll be showing you how you can use Power Automate to loop through all of your existing emails and capture and save all attachments within those emails. So in order to do this we're going to be using Power Automate for desktop. So you may have previously been using the cloud version of Power Automate. Unfortunately it doesn't have the functionality in there at the time of recording that we need hence why we're going to be using the desktop version. If you haven't got that application already installed on your machine all you simply need to do is go to the Microsoft Store search for Power Automate and as you can see on my screen now where I have the button to open the application you'll have the option to download. So all you need to do download the application sign in and then you'll be able to continue on with all the steps in this video. So let's just close the store and in the background you can see I've simply just created a new flow titled tidy emails and this is really simple and I did put the start of the video that you can do this with only one click actually there's two clicks you need to do or maybe three just to pull in the required steps into your flow but ultimately it will be one click of this run button when we're finished. So the first thing we need to do and it's worth mentioning we're going to be looking at doing this on the Outlook mailbox so the first thing we need to do is launch Outlook so I'm simply going to drag that into the middle here and no information is really required here apart from confirming we're happy to store this variable as Outlook instance which looks logical to me so we'll simply click save and you can see we now have step one of our process done. The next thing we need to do is to retrieve all of our emails from Outlook so second in the list nice and easy here all we're going to do is click and drag retrieve email messages and you can see we've got on the side there and it's going to be looking at Outlook instance which is the variable we produced in step number one. The first thing we need to do is provide what account do we want to look for emails so all you need to do is add your desired email address as I have done so here for account in mail folder all we need to do now is provide the folder within this account that you wish to look for emails so for me I'm going to simply do this in inbox but for you of course you can do this for any mail folder that you require secondly in terms of retrieve so we have a few options here we can either look at all messages within the folder only those that are unread or only those that are read so depending on the criteria you have you can slick one of those options but for me I'm going to stick with all email messages next we have mark as read so if I open up my outlook you can see these are the four emails that I currently have in there so you can see each email has got an attachment but of course you might be working with emails spanning a lot longer duration than I am of which they may be read or unread so what we want to do is as our flow goes through all these emails I want to mark each one as read as it iterates through and that's all that this is doing so if you leave it marked by default as ticked on then it will obviously mark all of your emails as read however if you untick this it will just leave them as unread so hopefully that's make sense and it's no it really isn't complicated at all it's just down to preference on how you like the emails marked after this flow has run the next four fields give us the ability to filter those emails so you could only do it for emails which contain are from a certain person they were to a certain person or subject or body so when you come down to building this flow you may wish to like add some like say filter criteria if you're looking for specific emails or specific attachments but for me I'm just going to I literally just want to capture all attachments that are stored within the inbox so that brings me to the last field which is attachments and you can see by default it says do not save attachments so all I'm going to do in here is change this to save attachments and then we can obviously provide a save attachments into a particular folder so I already have a folder set up so all we need to do is go into the folder and I need just need to navigate to my desired location which is going to be email attachments so we'll select okay and having done that there's we've got okay a variables produced obviously it's good to know our retrieved emails but this is all we need to enter so we'll click on save and then lastly you could of course add the close outward close outward option to the end here like I'm doing here but all that will simply do is just close outlook um so yeah we'll add that in there just to round it off so we've got that there so let's just double check what we've got so first of all we're going to be launching outlook secondly we're going to retrieve all email messages from outlook and we can oh we know from within this we're going to save the attachments and then lastly we're going to then close outlook as well to finish off so let's just do one more check of what we've got so this is the email inbox we can see we've got four attachments and then lastly we can see if we look at our folder we currently got an empty folder location of email attachments that contains no attachments so what we'll do we'll go back into power automate and we'll simply run this flow and see what happens so we can see that uh yep we can see we're now gone through step one step two step three uh hopefully you can see that on the screen and what it should do yep we can see its status is now ready so it's indicated to us it is now finished so what we'll do is navigate back into our email it's going to emails for almost outlook has been closed but if we go into our folder we can see that we've now got our four desired attachments so one thing to notice here what's obviously worth mentioning is that we currently have an attachment which is named the same so you can see we've got example one which is in here twice so this is just one thing to remember if you have attachments that are titled the same then they are obviously going to be uh obviously replicated simple but luckily power automate knows how to deal with this and it gives it the second icon in there and if we just go into outlook here now into inbox we can see that all four of those emails have now been marked as red just tying back to obviously that option we selected to obviously mark as red once the uh the email had uh or the attachment had been saved so i hope you enjoyed that video if you did please don't forget to give it a like it's not only greatly appreciated by me but does help out all important youtube algorithm as with this video it was a question from one of our viewers so if you have a question about this video or there's a video that you would like to see in the future just drop us a comment below and i will get back to you as soon as i can and hopefully we can turn your question into a video as well if it's your first time watching one of our videos and you've or you've watched them in the past and you're still yet to subscribe please can ask you to hit that subscribe button and also don't forget to hit that bell notification button that way you'll be notified of all our videos as they come out in the future so thank you very much again for watching and we'll see you in the next video


Well, everyone, Basel Chapman here. This is the 11 a.m. Tiger Financial News Network Market Update. And don't forget, we started, and I, we have Tommy Junior, a fabulous show called Market Kickoff. And then after my show at 10, the Tiger Technicians are, we have Larry Pazavento, trade what you see. You've got Thinkorswim. You've got the Options Program, Fabulous Program. You've got Steve Rhodes, Dave White, Tom O'Brien. Great program. Market down 612 at 30,654. By any measure, the volatility index is starting to get to a point where we can expect very soon some kind of, at least some kind of hiatus in the buying of the VIX volatility index fear factor. It's already down from the high of the day of 37.95. It's down four points at 33.71, still up 4.86. So don't dismiss this. We're getting close to at least a pretty decent bounce. But you've got the Fed coming up on Wednesday, we'll see what happens here. So the Dow itself, just one more time, the Dow is down 622. The S&P, it's underneath, so the Dow is sharp, you're under the 200-period moving average. The S&P also, it did that today, yeah, it sat right on the 200-period moving average. I showed them, I showed the Tiger Technicians hour a few moments ago, how, how few times we've been here, and it's really important that usually it's held, this time we went under it, down 104 in the S&P, that's not the Dow, it's the S&P, down 2.38 percent at 42.93, QQQ down sharply as well, down 2.63 percent, down 9 at 342, way under the 200-period moving average of 384 to 342, the IWM, the Russell 2000, nothing to see here, folks. The Dow mode in the weekly chart, in fact, we're looking at the, even the TLTs are really important. Usually you get money flowing from the insecurity of securities stocks, going to the safety of bonds, well, not now, it's only at 15 cents and 143.78, a real struggle. You've got crude oil, crude oil has actually pulled back some, down 2.15 at a PQF top at 87.10, almost a double top from the 85.65 high of October of 2018, these double tops are spent a lot of the show, just a moment ago, talking about these double tops, hey, look at this, you've got gold, gold is now up three, it's just stuck in the strength, it should be leading the pace, in fact, I never did the XLF during my show, which is the financials, what a, what a slide from the 41s to the 37, 10% just like that in the financial. Stay tuned for the Lighting for this event, there should be a great show coming up, and check out what you can call my daily newsletter, we have been short the Dow for quite some time. Have a great day, stay tuned for great programming, see you tomorrow at St. Pat's next station.


Okay, so what I'm here today to talk about is modularity. There are two possible talks I could have given here. One of them is sort of a general Ruby modularity talk and that'll be awesome. And what I am giving today is a talk on sort of some case studies and rails around modularity. So I could go into more depth and give more useful techniques, but what I'm going to instead do is talk about some specific cases that hopefully will be representative of some things that you could do. I write a lot about the stuff on my blog, so if you want more in-depth information about specific techniques, pretty much everything I'm talking about today, I've written long blog posts about, so feel free to go check it out. So the first thing I would say about modularity is you ain't going to need it. What do I mean by you ain't going to need it? What I mean is that basically when you write an application, there are two ways to approach it.   The way that most of us build our apps is you make a basic plan, a basic idea, and then in short iterations, you build your app and then you gather the requirements rather than upfront, you gather the requirements from feedback from the actual application. So again, there's two ways to do this. The sort of waterfall approach is that you first gather a bunch of requirements, decide what your app is going to look like, and then build that. And the agile approach is that you actually gather your requirements from the app. So it's not just a lot of people look at agile and they're like, it's doing it faster. It's actually different than that. It's actually that you're flipping where your requirements come from. Instead of the requirements coming from your brain or committee meetings or grant letters, they're coming from real users telling you things about your application.  Again, agile is also not about not planning. You know where you're going. You can't actually start writing something if you don't know what you're doing. So you do have a basic plan, but requirements look like this. And this is a real thing, the virtual observatory architecture.  So here's this whole system. There's like 17 standards that they're working on in concert and kinds of stuff like that. And if you actually look at what their document for creating the body comes, talks about, it says that the objective of the virtual observatory is shown at the top of the figure to improve and unify access to astronomical data and services for primarily professional astronomers, but also for the general public. That's the basic plan, right? They should start with that. And then if you actually look, so I could stop there and like we could all have a laugh and they're doing crazy architecture, but let's look at what they've said they've achieved out of this. And I just looked at their last document. Of course they have really long documents with roadmaps and explaining what they've done. So here you can look at this and as more applications make use of the registry, the issues of service compliance stands as a major back barrier to user success. Recent monitoring and validations indicated that as few as 7% of registered standard services are fully compliant, right?   So you do it a bunch of times, building your app, gathering requirements, building your app, gathering requirements and then at some point in the future, that's where you do the modularity, right? Because if you do the modularity upfront, if you leave this talk and you say modularity is awesome, I'm gonna go in and actually start every application I build and spend two weeks figuring out what the architecture is, you will end up guessing wrong, right? It's not simply a matter of, I'm not a good enough programmer yet to do this right. It's a matter of it would be wrong, even if you're the best programmer in the world, to start out your application and think about how the architecture is going to work. That's something that you figure out later. And I think while Rails came to this party too late, Rails should not have come to this party in Rails 0.5, right? That would have been the wrong time for Rails to do it. Probably it would have been the wrong time for Rails to do it in Rails 1.0. Fundamentally, the way that you build applications at work is you start with a plan and you keep iterating until you get to a point where the lack of modularity is obviously hurting you, right? Where you could move quicker, obviously, if you start to decouple things. So what is modularity? When we talk about modularity, we're really talking about two things. We're talking about reducing assumptions in order to increase reuse, right? So when we're talking about modularity, a lot of times people talk about just the top one, the reducing assumptions. The reason why we're reducing assumptions is to increase reuse. It's very easy to go crazy with modularity and reduce assumptions everywhere, but if there's not an obvious reason why you wanna reuse something, probably you should wait until there is, right? Now, I'm gonna explain later that often those reasons come sooner rather than later and we just don't notice the signals. But definitely don't just go off and start making everything as modular as possible simply because you can, right? And one of the things that sort of hold us off from having to do this for good in the beginning and then for ill later is that we have a really dynamic language in Ruby. And I'll give you one really silly example that just demonstrates how you can avoid for a long time ever being modular, right? So let's say we have this class, class person, and it has a bunch of attributes and we have a name that goes and gets attributes. And when we ask for the attributes the first time we do hash.new. And then I go do this and it's like ycats equals person.new and then I go and grab the attributes, set the attributes to me and then I do puts my name, right? Now let's say I don't want to use a hash anymore there. Like I want to use something else. Let's say I want to use this Rick Roll hash that every so often returns Rick Astley for the key if it's name. So imagine I want to use this. Now we actually have in Ruby we can do this, right? It totally work 100% of the time without any major negative side effects. Go in, be like, ah, I changed my mind. I don't want to use a hash anymore, right? And now if I do this and I say attributes that name equals me some of the time you get back Rick Astley and it totally works, right? So that leads to alias method chain which is a really working approach that works totally for specific individual cases but is definitely not the approach that you need to take when you're building large modular systems, right? It just, it eventually breaks down because instead of building modularity in from the beginning what you're doing is your monkey patching modularity in. I don't know if anybody's ever described it that way before but that is fundamentally what the Rails 2 approach to modularity was. It was you can just monkey patch modularity in afterwards. Right, and that doesn't work. But it does work, right? It works. People say that all the time, it works. What are you telling me? I don't understand. So it totally works but it's definitely not, it starts to fall down in the face of reality. I think most of us probably have seen it falling down in the face of reality. So a good approach to doing this, a good approach to building an application is you have this basic plan, build that modularity. The appropriate time for the hacks like alias method chain is in the middle of place, right? You haven't really built your app, you're getting something into place. Don't bother trying to figure out what the perfect edifice is. Don't build castles in the sky just yet. Now feel free to do my hash, Rick Astley hash equals hash, Rick Roll, right? That's fine, that'll work fine. Later on, when that starts falling apart, what I'm here today to show you is sort of how you untangle that mess, how you deal with it and what you should be looking for. So again, what this is about is reducing assumptions specifically so that we can increase reuse and I'll just repeat. You wanna make sure that there's a reuse case that you're dealing with, right? It's very modularity in a lot of other languages as this very abstract concept that you just do because it's a good idea, right? And what I'm trying to say here before I go into real code is don't do that, right? That isn't good, that doesn't result, it's not only that it's a waste of time, right? Because it is, it actually causes you to get locked into architectures that are not sustainable in reality because you don't know what you're doing yet. A good example of this is Twitter. If Twitter would have started and tried to build an architecture up front, they would not have built what they need today to build a really good message queue. They would have built something else and then they would have been locked down into it. Now was it fun for them to switch from hack system to what they have today? Definitely not, but it would have been less fun for them to switch from perfectly architected edifice that had nothing to do with their actual users to what they have today. So just build what you need, make your users happy, they will tell you what they need and then you'll build the right stuff, which I'm gonna talk about now. The first thing about modularity is, in Ruby there are these things called constants. Those constants are essentially globals. Constant is a global variable, okay? In Rails 2.3 we did this, include action controller routing routes. By doing include action controller routing routes, what that essentially meant was include this global thing which has a bunch of helpers in it. If you want to change that, you have to change the global thing. So if you wanna have two different route sets and different parts of your application, you just cannot do it. It's impossible, there's only one router, it's global, that's how it works. This went all the way through to how the URLs were generated, how URLs were recognized. It wasn't simply a matter of like, oh, there's probably an object somewhere that this thing represents, I'll just make another one of them, that was just totally impossible. And that worked fine because most applications, all 2.3 applications have only one router, right? But what's better is to make the rule that you're doing this. You're saying include application.routes.routhelpers, because now instead of, even though it's functionally exactly the same thing, from a perspective of a Rails user, there is like a global concept of the application, it has a route helpers on it.  And I think the interesting thing about this is that we're not gonna see really good benefits from stuff like this right away. Because right away, the important thing for us, from the Rails 3 team is to actually make sure that it looks and feels almost exactly like Rails 2.3. That's the highest priority for Rails 3.   But over time, plugin authors will be able to heavily leverage this. We've already seen the desert plugin, which is sort of an engines plus plus, go from some thousands of lines of code to 50 lines of code. Just because they no longer have to hack around these global concepts, things became more sane. And here's an example. Here's how testing worked. There was this thing inside of Rails, because in Rails tests, we cannot rely on one global router, right? There's a bunch of them that we're using to test various things in Rails. So there's this thing called with routing and it pulled out the action control routing constant and then it set it and then in an insured block, it went and reset the routes module back. So this is what you have to do when you have global state, right? You're forced to actually modify things globally. We could do this in tests, but of course in a thread safe scenario, this is just totally impossible, right? So basically what we have to do, and this hides it, right? You have a with routing block, so it looks all pretty.  And then suddenly everything looks great. But in fact, what's happening is that we're having to munch globals in the background and that does limit what you're able to do. If you zoom in a little bit, you'll see that we're having to actually do like module eval do, concept, right? And we're yielding temporary routes and then we have a separate insured block. Like I said, that does this stuff. If you look in URL writer, which is the thing that generates routes, again, it does routing routes dot generate blocks, actually explicitly generating the routes from this global object. In Rails three, this changes to some instance of router dot URL for options, right? And as an example of this, you can do this. You can say rack apps equals action dispatch routing routes dot draw, and you can match hooray to hooray rack app and match sad panda to sad panda rack app. And then you can actually go in into a controller and say include rack apps that URL helpers instead of the normal ones. So the normal ones, of course, are included for you by default, but now you can include this other URL helpers rack apps and you can generate routes for it and all that. Now again, this is not something that you as a user of Rails are likely to do, but it's totally the fact that you can do it will open up the door for other plugins to do interesting things. And it also means, of course, that testing becomes conceptually simpler and the pass of the code inside of Rails become easier to understand. As you probably know from having looked in Rails, trying to track down globals is much harder than trying to track down instance variables or variables that are being passed around. You're like, what is this? Where was this set? Who set up this action controller routing routes thing in the first place? I don't know. Start like grepping around for the actual constant. That is much worse than like there's a router instance that's on the controller and it generates routes. So pretty much all rack apps that URL helpers does is it defines a router instance and that router instance is the right, it finds a method called router, which is the right one and it also defines all the named routes. So the hooray path is a method that's on a module that sits in rack apps that URL helpers. So the first rule of modularity, step one is to eliminate things that are global. And tests, in this case, are really the canary in the coal mine because when you first build an application, you usually are happy with global state. It's just one application, things are global, that's fine. And when you start to write tests, that's where it's like, wait, I don't want a foo hash here. That hits a database or that hits some global web service. I want my own fake thing here and it's not so much that I wanna mock it out as this code here doesn't actually care if it's a foo hash or a bar hash or a my fake hash, it just cares that it gets back some data from something, right? In Java they call this technique dependency injection. I try not to use the term dependency injection in Ruby to much consternation of some people because I feel like there isn't actually a hardcore technique here. It's just don't hard code things and instead of hard coding constants, pass things around. And that actually, if you look up, if you like Google dependency injection with a lot of words and a lot of Java code, that's what's happening, right? They're passing things around. So like constructor dependency injection means pass a class into the constructor instead of an instance of an object, right? Or setter dependency injection means set the class on a setter instead of hard coding it in. So it's a good technique and I just feel like the word is sometimes hard to understand and when you Google it, the code that comes up is much harder than the equivalent Ruby code. A corollary of this is don't, this is not always bad, but be suspicious of constant.foo, right? If you do, if you hard code constant.foo, then you can't actually replace constant with something else. But if you have variable.foo, then presumably you can actually change what is looking up the constant. So when you're trying to reduce coupling, a good thing to do is to make it so that there may be a default, right? It may be that there's an optional parameter that says class equals capital constant or you may set it in the constructor, right? At constant equals capital constant, but provide some way of overriding that, of overriding the default and creating something in. This actually includes constant.new. When I say be suspicious of any methods on a constant, that means in constant.new. Usually that is in fact what I'm talking about, right? You wanna make sure that if you want a different thing here than a hash or a different thing here than a factor like some AWS thing that you can actually swap it in. And again, I'll reiterate this one more time and then try not to say it again. This is not the first thing you do in an application, right? The first thing you do in an application is hard code constant.new, right? But later on, when you start running into real problems, that's when this is a good thing to look out for.  That's the problem here. So bottom line is don't hard code. Here's an example of this. In Rails 2.3, Action Controller Base had this perform caching thing. So Action Controller Base.perform caching told the entire system whether or not you could cache, whether or not you should cache. And if you go in, for instance, JavaScript and Clue tag, that's not on Action Controller Base, it's on some totally other object that's saying if can cat or Action Controller Base.perform caching and cache, then do something, right? And page caching tests had set up. Action Controller Base.perform caching equals true. Action Controller Base.perform caching goes false. And this again is a perfectly good assumption that you can make. There is a state of your application, either you want caching or you don't want caching, right? But what if you actually want to turn off caching for a particular request? Like, I don't know why you would want to do that, but maybe you do, right? The fundamental thing here is that there's an assumption, which is that caching is global. Why would you want to do it? I don't know, right? I'm not actually sure why, in fact, you would want to turn off caching per request, but certainly it could happen and this totally forecloses that possibility. So Rails is preventing you from doing it without going in and munging globals, which makes your application not thread safe and is also scary. But the thread safe thing is like the practical reason why you can't do it. What we've done in Rails 3 is essentially, just made it a class attribute. Rails 3 class attributes can be manipulated on an instance level, so they get inherited throughout the process. So Action Controller Base has a perform caching, then every one of your controllers has a perform caching so you can override it on like, articles controller dot perform caching equals false and then every instance has its own instance to perform caching as well. And then inside of JavaScript include tag, instead of looking at the controller class, we say, hey, controller instance, do you have perform caching on? And then that allows the nice default of Action Controller Base dot perform caching equals false to work because that'll propagate all the way down, but if you want to change it on an instance level, that works. So this is really just saying, don't store things in global places, right? You could have a global setter for convenience, but don't actually use that global setter throughout your application. Instead provide a mechanism for, make that go into the instance and then provide a mechanism if necessary to modify it. I think what's really cool about this scenario is that it demonstrates that actually going in and ripping out global state doesn't always need to be really hard, right? Here we basically maintained exactly the same API that you had in Rails 2.3, although it is deprecated for other reasons involving the hope that we have of being able to have multiple apps in one process at some point in the future. But we didn't have to break the API to gain the benefit of being able to modify the perform caching setting on a per controller basis, right? It still works. And a lot of this is due to just Ruby being awesome, like Ruby being very flexible. So now in your index, you can say self dot perform caching equals false and everything works. And in your test, in our test we can change it to controller dot perform caching equals true and not have to worry about tear down, right? Because every instance is getting its own controller anyway and so all we're doing is we're changing on the instance. Is this useful? I don't actually know. But what I know is that at this point in Rails Lifecycle, which is many iterations down that two week cycle, we should stop making assumptions about what people are actually trying to use Rails for, right? And that's, again, the appropriate time for you to talk about it. The second big deal is objects. First thing, stop worrying about allocations. A lot of people are like, I don't want to use an object here. It's going to result in allocations, okay? Here's something that you do a lot. That's an allocation, that's an allocation. Stop caring about it, okay? Having an object that's foo as opposed to making a hash is not expensive. It might be expensive in a tight loop so don't be careful about tight loops. Profile your tight loops, right? But don't say, I'm not going to use an object here. It seems expensive. Object allocation in Ruby is essentially free compared to everything else you're doing. Even other cheap things, okay? So don't worry about it. Stop worrying about it. The second thing is that objects themselves present good opportunities to memorize. When you have procedural code, it becomes very hard to actually cache things because you have this huge method and where exactly do you cache it? You have to store it in locals and make sure the locals are having the right state. Objects actually provide very good opportunities to memorize and I'm going to give a case study here which is like most of the rest of my talk. So in Rails 2.3, when you say render something, so I'm going to teach you how the rendering stack works if you don't know it yet. In Rails 2.3, when you say that you want to render something in your controller, it goes through a few objects. So first of all, this isn't how it used to work. It used to be procedural code. Rails 2.3 was like, okay, objects are good, yay. But all the objects in this stack hard code, the fact that the templates are actually stored in the file system. So the controller passed a path, the view path set asked each of the view paths to look up a path and the template took a path. And the template eventually is an instantiation of an object that represents the actual file in the file system. The method that you call is def bracket path. So for instance, it has a hash of all the paths and it takes a full path. So foo slash bar dot html dot erb, right? And that load bang thing goes and loops through all the templates. So here, sorry, if I go back, first we load unless it's already loaded and then we get the templates in the path. So what load does, by the way, I don't know why but it seems like every one of my slides is pushed over a little bit so that's why some of these things look weird. So load bang goes and loops through all the templates in the path and does template dot accessible path, write a lot of logic that has to do with the file system here. And when you look at actually who's calling this, right? So somebody's calling this with a path, right? The controller is setting up. It's doing, this is a slide-ified version. The lines here are very wide so I've moved things into local variables. Maybe that should actually be how it would work in real life.  So we have paths like foo.html.erb, foo.html, foo.erb, right? And these are a bunch of actual paths on the file system that have to be checked in sequence because the abstraction is, hey, view path object that knows how to get templates out of the file system, give me an actual path and I will try to look it up. There are two big problems here. The first one is like I've been saying, path is an abstraction that you can't therefore replace with something else. Now there's nothing stopping you from cutting off the stack where the controller calls in and putting some other object in there that does something else but it has to basically pretend it's dealing with paths, right, because it gets paths so it has to pretend it's dealing with paths and that can get really crazy. Like if you want to do templates in the database which again is a, I don't know who wants to do this in real life but if you want to do this, you just have to pretend it's a path which isn't really the ideal way of doing it. So here's another example, right? There's like file.directory question mark file, yield create template. So the first problem is files, files everywhere. Can't do templates in the database. The obvious case for templates in the database, by the way, is some kind of CMS like WordPress where you just want to let people put the templates in and you don't want to have to write things to the disk. Like you're on Heroku and you want to be able to move things around. You just want to store the template in the database or you're on Google App Engine, right? So places where you don't have a right file system or you have a lot of boxes, right? So regardless of whether or not you have access to the file system, you might have like 20 boxes and you want to be able to let users update the stuff without a redeploy. Again, this is definitely not the domain that we live in, I think. We definitely live in a domain where a programmer is making everything and deploying but there's a whole other domain that lives outside of the normal Rails comfort zone where people are doing this en masse where there's like a box where you could put in a template and edit it and you could hit submit and the next time someone goes to your site it actually updates. And I think part of the reason why Rails hasn't really picked up in that space is because it's hard to do that sort of thing with Rails because PHP is basically reloading the app on every request, so it's easy to do that. Whereas Rails is caching a lot of things like I was showing and so it becomes hard. The second big issue with this approach is that it's hard to cache because we're calling in a path, right?  So it's not easy to actually cache the process of going from I have some information and I want to build the path and get a template back because so many people have so many different ways of building the path. At this point it's way too late, right? So here's an example of something that uses this API. Yeah, it's tiny on purpose. And it's the method that figures out whether a template is a valid candidate for layout. If you zoom in over there you'll see that at the end of all that code does self.viewpass.find template and then it passes in a path and a format, right? But you can't like if you just cache at the endpoint which is what happens in Rails 2.3 it's too late to avoid the cost of actually converting all that information that's up that big chunk of code into something that we don't have to repeat over and over again, right? Another example is how you figure out how to get the partial template. And this if you zoom in after this code that goes and makes paths and munges strings and tries a bunch of things, right? The end game is just self.viewpass.find template pass. So again, we have a big chunk of code that we can't cache. The bottom line is that the logic to make the paths is everywhere. There's a bunch of it all over the place and my first attempt at making things faster in Rails 3 was literally just to go into all these places and make local caches. That actually really sucked, right? That meant that I had to make 10 caches where one would suffice. And the solution for making one cache is to have an object, right? You have one object that is responsible for that cache that you're always going through. So not only are allocations basically free, but when you actually go and you make objects, you provide better opportunity to cache things that would otherwise be tricky, complicated, or just way too hard to do in practice. So what we have in Rails 3 is this different stack. Sorry, this is Rails 2.3. I'm gonna go through it real quick. Rails 2.3 has this bunch of stuff, calls the view pass set, which calls the view pass, which calls the template. The end of that stack is template.new. So it makes a new template. Template.new takes a path. So template.new has to be aware of everything about how to actually get something from the file system and convert it into a template. The next step up the stack is view path takes a path. Again, it takes a path. So there's no opportunity here to like abstract it into something else. The next thing is the view pass set, which is a list of all the paths in your system takes a fine template, takes a path in a format, right? That path in a format again is a path on the file system. And basically what ends up happening is that there's all these things in Rails that call these different parts of the system. And you have to, in order to make this fast, which again is what I did in the beginning of Rails 3 for performance, you have to go into all these places and make sure that there are local caches that use class variables or something with mutexes. You have to figure out basically how to do this caching behavior in all these different places.  In fact, you can actually have, putting caches in all the steps in the process actually provides better performance. So the right way to make this fast is to put like 15 different caches throughout the system to make it fast. And that's not great. The way it works in 3.0 is that, and this is actually the new object just landed like last week. The way it works in 3.0 is that the entire system is agnostic to the storage. So no part of the system actually cares where you get the template from. And the bottom of it template.new takes just source. So another object goes to wherever the template is actually stored, which would be in the database at the bottom of the file. Maybe you have all your templates in one file. Doesn't really care how it gets it. It just gives a source file. So template is this object that doesn't is able to just handle anything, right? Then the next step up the stack is resolver. And instead of taking a path, it takes four pieces of information. It takes a name, a prefix, a partial, whether or not it's a partial and a bunch of details. An example of each of those things is application could be like the name of the template. Layouts is the context, the prefix. It's not a partial and the details are format HTML. And the path resolver, which is a specific kind of resolver, takes that information and converts it into layout slash application.html dot whatever. But you can have another thing that goes in that place that goes and gets the information from somewhere else. So the path resolver is responsible for doing the thing you're used to having happen in Rails 2.3. It's just on the file system. That's definitely the right default, right? But if you wanna do something else, put something else in place, you can do that. And all it does is get this very same information. Sorry. So it just gets this exact same information and it can do whatever it wants. So a SQL template, for instance, could store all these four things in separate columns in the database and not have to do some path munging to make it work. The next step up the stack is view pass. It has the exact same API. So view pass is just an object that holds a bunch of these. So what you might know from Rails 2.3 that if you have an engine, that engine has templates that could, that exist at lower priority. So if you put a food.html.erb in an engine and there is a food.html.erb in your application, the application one wins, but lacking the one in your application, it falls back to the engine. So that's just, there's just an array of those things. And as I showed you before, in Rails 2.3, they had totally different APIs. In Rails 3, they have the same API. They just take the same name, prefix, partial and details. What we discovered really looking at the real way that these applications are built is that for the course of one request, the list of details is the same. It's locked. This isn't always true. You can actually change the format. You can say I specifically want XML. RJS wants HTML even though it's a JavaScript template. So there are some exceptions. But in the vast majority of cases, the list of details does not change throughout the course of an application. For that, the course of request, I should say. So what we've done is we've created this separate object called lookup context. And this is the performance piece. The lookup context starts by having the same list of view pass, but it's a per request construct. So instead of there being this global idea of view pass that exists for the controller, every instance gets its own copy of something that has both view pass and it has a set of details. And instead of just passing view pass, what I said before, those four things, we also pass it an opaque key. And that opaque key is basically just something that is formed from the details, but it's formed from the details in a way that would be fast. So instead of having the resolvers having to say, hey, I have these details, let me go look it up again, it can say, hey, did I already look this up for this opaque key, which is, again, a fast key? If so, I'm done. I'm just gonna look up further the things for this particular request. So instead of having to say, I have HTML, I have locale of English, this is a mobile request, these are all always the same for each request. So as I'm looping through and I'm rendering an HTML on a partial and a collection of a thousand elements in RJS throughout one request, if I'm doing all those things, I only have to go and make a key, the fast key once, and then everything else is just doing simple lookups. This looks weird, I'm just gonna draw it all in, I guess. So the API for lookup context is, it just takes name prefix and partial. Those are the things that differ across a request. You might render a partial, you may render a layout, you may render an actual template. So these three things are different, but the details stay the same. So you set the details once, we generate a key for the details, and then we pass all that information over to view pass find. Lookup context that, so basically, essentially what's happening internally here is something like this. You say, lookup context.updateDetails formats is HTMLJS, okay, I'll move. So you update the details for your request. You say, hey, my request is HTMLJS. And then you say, hey, go find me, index in the articles directory with false, and then the lookup context actually says, hey, here's the formats, that's the details that I talked about before, and this opaque key. Basically how it works is that there's the path resolver, and it has a cache, which is running, existing internally, has a bunch of keys, right? And for each key, it can actually drill down further to index, that's probably not really readable, index articles false, and it gets that object, index.html.drb, or for the second key, it can drill down index articles false, write the exact same information, but in this case, it's actually index.js.rjs because the details say I want JS. If it can't find the key, then what it does is it does a full lookup, which is slow. It's slow, but exactly what happens in two, three all the time, right? And it stores the result in that key. So basically what ends up happening is that after the first time that you lookup index articles false for formats.html.js, every subsequent time all you're doing is a hash lookup for index articles false, which is a fast hash lookup as compared to a hash lookup that includes this other hash inside of it, which would be slower, you would have to make a key out of that all the time. So in Rails 3.0, the whole thing is storage agnostic. The main thing that I'm talking about here is that we were able to put in an object there, the lookup context. So the thing I'll say is that all that is, I think interesting, but not very important to what I'm trying to say, which is that sometimes putting in objects is useful. Sometimes putting in objects can allow you to get performance where it was theoretically possible before, but very hard. So not only should you not worry about objects being slow somehow, you should think that objects can allow you to do caching and performance work that would otherwise be annoying. So the second rule is use objects. Again, for objects, tests are the canary and the coal mine, once you start writing a situation where you wanna swap out an object for something else where you have a bunch of code in your tests that looks like really it's just an object, right? Like all these things represent one concept, make an object. We're writing Ruby, not C, right? So we have objects, make use of them. The corollary for this is, don't hard code a specific class, right? If you go and make an object, that's actually nice, that could work well, and it will allow you to improve performance, but ideally you're not gonna hard code a specific class. So in this case, we have a pen view path and you can pass in your SQL resolver in there, and that allows you, the user, to put in something else. We've kept the same 2.3 API of a pen view path string. If you do that, then it goes and makes the path resolver for you. So from the perspective of your user, it looks exactly the same, but from the perspective of the internals, it allows you to drop in anything that you want. I have very little time, but I'll just do one more rule which I've talked about a lot on my blog, so I don't wanna go into, which is use modules, and I'll show you what I mean by that. So here's a class person, it speaks a word, puts the word, yay, and here's how you would, let's say I wanna yell the word now. The way, the sort of traditional way of doing this is that you say class person, alias speak to old speak, and then define it, and then call old speak with word.upcase. This is sort of like the standard thing. And the way people used to mean when they said use modules is that they would make a module with an included hook, that in the included hook did a class eval to do that alias, and then this other method would be included. In Rails, a lot of people would actually have made a separate module called instance methods, which they would include in. I don't really understand that at all, but that was common. Obviously, if you're including a module, that method will get included. And then in person, you include that, and then that works, right? But that isn't what I mean when I say you should use modules. What I mean is that, sorry, and this is how you would actually make use of that. You would say, I'm sorry, this is how you make use of it. What I mean when you, when I say use modules is don't put implementation that you intend for people to be able to override in the body of the class. Make a module with a base implementation. Here's speaker, right? That has that method speak word. And then if you want to actually override it to provide yelling capabilities, you make a module yell or you define speak again. But here you can actually call super because when I include this module in, now that module is underneath the other module. So the other module is right on top of it. And I can call super without having to do any kind of crazy aliasing. So Ruby already has the feature of alias method chain built in. All you have to do to make use of that feature is start off by not putting things directly in the class and everything works, so do that. Again, this is not the first thing that you should do because the first thing you should do is make it work. But once you start noticing that you're overriding classes a lot, literally all you have to do is take the body of the class, put it in a module and include that module in, or even say include module.new, do put the thing there that would work, you can abstract that. But the point is that if you put all your implementation in a module that actually automatically provides a mechanism for overriding that is as powerful as aliasing method chain with none of the drawbacks. So we've done this a lot in Rails 2.3. A corollary to this is use access for concern. Access for concern is a mechanism for making it easy to declare both included hooks and dependencies. So an annoying thing that happens when you start using modules a lot is that, for instance, the layouts module depends on the rendering module, cannot work on its own. Access for concern gives you a mechanism for saying, hey, if somebody ever includes layouts, make sure that rendering is there first. So when I call super, it actually works. It's very small API. It's literally just extend access for concern. And then when you say include into that, it defers the include till when you include the module, includes that other module. Anyway, the point is that it provides good resources for really complex module-based architectures, but you probably aren't gonna get there, right?  One last thing about modules is it's pretty clear to me that this technique is not well known because everything in kernel is a module and RubyGems, when it overwrites require, it does alias method chain. It does alias require without dependencies and then it defines and then it calls the old one. When all it really has to do is make a new module called RubyGems require, include that and because kernels are ready a module, they can just call super to that. So I think if you don't know this technique yet, definitely look at it more, like try to understand how Ruby's inheritance system works and the main thing that it does for you is it reduces the brittleness of alias method chain. So you get the benefits of being able to isolate code into their own little buckets without the drawback of like, oh, there's code running that's doing weird things. Now I have two things doing the same. I don't know what's going on, right? Modules are actually designed for this. Thank you, I have this live for questions but I don't think I have any time, so that's all. Thank you very much. Thank you.


All right, welcome back to the second session on the local church. Hope you had a good break with your coffee and tea Thanks, Nina for coffee Okay. All right, let's continue in a PDF. We'll go to the next case study But just before we go on one of the key points that judge and highlighted in the chat section She has maintained a good balance between mighty manifestation and strong teaching to establish Believers, I think that's such a key point there. Isn't it like the balance to strike a balance between manifesting or pursuing the supernatural and Following that up or backing that up with good teaching either ways good teaching backing it up with manifestations of the gifts of the Holy Spirit or The supernatural is super is key okay, so and There was a good balance there in that first church. Let's move on to the case study of the Antioch Church You'll remember where Antioch is last class. Oh, Bangalore, Lingarajpuram here and you know, Narayanpur across Southern Turkey Okay, okay, let's start reading from I think Sri Radha can read We are in page 29 in your PDFs And page 42 and 43 in your yeah, it's 43. Okay He studied the Antioch Church started by believers who were scattered out of Jerusalem due to persecution Established through supernatural Demonstrations Receipt the leader Barnabas sent from Jerusalem to strengthen them Barnabas became the first pastor of the church in Antioch. Okay, cool. Thank you So this before we continue reading so it says started by the believers who were Scattered from Jerusalem due to persecution. That means they were moved out from Jerusalem. Okay, so it was the church was planted by Those who moved out. Yeah, then established through the method is through supernatural demonstration, okay After yeah, yeah, so it is now happening from the eighth chapter on Okay, that's when there's beginning to scatter To different places there some of them have gone to Antioch Now they're planting a church and one of the methods or key methods they planted was through supernatural Demonstration that could be anything prophetic ministry Moving in signs and wonders, etc. Etc. Okay Received the leader Barnabas son of encouragement from Jerusalem to strengthen them. What does encouragement do does? Strengthens right it edifies it builds you up. So that's exactly he they knew the right person to send it Okay All right Then he becomes the first Pastor of the church in Antioch. All right, let's move on Okay, welcome to another leader Paul brought in by Barnabas to strengthen them New believers were discipled through teaching Okay, so what one of the ways and how you can disciple is through Teaching okay, that's key and Identified with Christ believers were first called Christians in Antioch. Okay, cool. Great. So they were welcomed. They welcomed another leader Paul okay brought in by Barnabas Friends to strength strengthen them again to encourage them again New believers were discipled through teaching Teaching okay, that's key and identified with Christ That means these people in church identified in Christ.  Okay Yeah, that's exactly what it is. So but before that they were known as the people of the way Okay, the term pastor Maybe the word but then just like how we know about say deacons or elders before that word came that Activity of that, you know, the responsibilities of that role was being demonstrated Right. And so in Acts chapter 6 we talk about deacons, but the word deacons is not there on but they Demonstrate the responsibilities of the word and so and we see that who? James, right? Was it James in Acts chapter 14? Where everybody's having this discussion and but the final decision is made by James, right? Yeah And so he was demonstrating the responsibility of a single leadership pastor. So, yeah Yeah, someone received prophetic ministry Received prophetic ministry. They followed other ministries to come into the church They allowed other Agapas, right? Agapas is a person Just to verify if you read about him in Acts chapter 21 verse 10 Okay, so he was he was functioning in the office of the prophet Okay, so there's a difference between functioning in the office of a prophet and moving in the prophetic gift Okay, so that's for study for another day. Okay, receive the prophetic ministry from Agapas from Jerusalem They allowed other ministries to come into the church and impart into the life of the church. Yeah Involved in social work sent relief to Jerusalem Church. Okay, so Okay, now let's go on. Sorry. Yeah, so the emergency of more leaders and I guess emergency Yeah, emergence Emergence just emerges that means So emerges may see they emerged someone new came up. Okay came to the scene so to speak I need more leaders in the development of ministry in about two years Yes, please continue leaders were in fellowship with one another and minister to the Lord Involved in missions sent out apostolic teams to pioneer new churches They released their senior leaders in the apostolic ministry Became an apostolic mission base for Apostles and Prophets and missionary teams Okay. Yeah, let's just pause there and just those are some amazing points there. Okay So from the point where Prince left off the last point saw the emergence of more leaders and development of ministry, so Again, we are all talking about this word growth We haven't left that Okay, so Emergence means coming up to the scene is also pointing towards growth the emergence of more leaders the more people came in They saw a need for more leaders And then the development of ministry teams in about two years. So in about two years there was growth Okay, so in just with that point there's so many things you can learn is You say, okay, you have a team meeting. All right guys, we have to grow and I think the first thing they would have done is In two years, we're going to give ourselves this time in two years. Let's see what we can do So they give themselves a deadline and then they work towards that Are you with me? So anything that's all related with the goals and the missions and the visions, etc. Okay And development of ministry teams. We don't know how many different teams they had But development happened. That means progress happened. That means growth happened Yes or no. So if any of your teams are kind of stagnant in your ministry, it's a dangerous place to be in that means Anytime stagnancy comes that means it attracts all kinds of unnecessary things like mosquitoes, you know In this case evil spirits and demons and you know, but The river has to flow Right the river has to flow. Okay involved Yeah, sure. This might be just later also But when we are talking about because we are talking about the growth in the in the terms of numbers So we know when we see this we have seen growth also in the terms of numbers like Majorly from three thousand to five thousand been specified and it's been, you know highlighted but right now in The church that we are in So how do we strike that balance or what will be our Mindset, I would say perspective of growth in terms of numbers okay, so Do we say That only we are growing in numbers We are a growing church or we are an anointed church or we are doing the right things right or Even though there are a few churches, you know, there will a lot of years going past by there might not be that much growth Yeah, so how do we take it in a right perspective? Yeah guarding numbers? So you look at it as a parameter As one of the parameters to gauge growth, it's not the only parameter so if How do I I'm gonna use a musical example, and I hope you don't mind that okay is if someone is auditioning for singing So we have at least four or five parameters one is are they singing in pitch? Are they singing in time? Can they sing harmony etc, right and so I'm not going to You know Another word I am not going to decide or make a decision on the person's singing ability based on just one parameter Okay, she cannot sing in pitch Or she cannot sing in time, but she can sing in pitch that means they scope for improvement kind of a thing So numbers are growing in numbers or growth in numbers is definitely one of the parameters that points to okay There's growth happening there Right so there is growth happening, but is this the only parameter you think okay? You leave out the rest. What about the spiritual maturity maturity growth? Are they growing spiritually are they growing in science and wonders are they growing? You know What spiritually except except so that's not the only thing so Yeah So that that is how you gauge trouble is You don't just stick to one parameters Okay, you know you see a like a large number church. It's great. Okay. That means they're doing something, right? There can be there cannot be we don't know that so hence the thing so Yeah, but there can be isn't it because You can also gauge the fruit of it eventually a Fruit of the mystery so not necessary not everything that is big necessarily is good. We know that as well And so you take time to just gauge the fruit Okay, the consistency and what they're teaching, you know, you know, so I hope I make sense, but yeah Okay, another couple of key verses that was read is they were involved in missions They sent out apostolic teams. Okay a couple of sessions ago. We learned what an apostle means Okay Yeah to send out and we get that from the Greek or the Roman word Apostle right so you go into a region geographically you change the atmosphere of it, isn't it? so apostolic teams to pioneer new churches and The next point is became I love this point. It says it became an apostolic mission base What is what is a base? huh Russian Foundation, okay, but it became an apostolic mission base. No all those are very military kind of words All right, I'm sorry. Yeah, exactly, but it so a base as in all let's say, I mean So a country is going for a war against one of our neighboring countries. I hope it never happens Because it's not fun say and The base is one of the border cities in northwest of India That's our base. So that means every troop from every other part of India are going to meet there And there they are going to be refreshed.  It's not the Jerusalem church That's the mission base but anybody who's traveling any missionaries from any different town or villages or cities Would come here.  You give a prophetic word uh in all of that But I'm saying I don't know in detail what it would have looked like but then Everything that looks like today would have looked like back then as well Yeah, there allowed other ministries to come into the church and impart into the life of the church. Yeah and Yeah, and I think one of the elements of prophetic ministry is one of the things of moving in the prophetic is you are able to discern Now prophetic is what you hear God speaking and you release that word Right in other words. I'm very rare cases. You speak and he does right Okay, so Elijah said it will not rain for three years and he god listened and said, okay, I will not make it rain for three years Okay, so uh Yeah You discerning I think you need you all we all need to do a word study on uh spiritual word study On the word discernment discerning only if you can discern spiritually you can discern what god is saying Right what god is doing There's a very thin line between discerning and judging You think you're discerning but what you're doing is actually judging I discern in my spirit that this boy here is uh You know And so that discernment is a huge element in prophetic thing When you're moving in the in the prophetic you need to uh Yeah Something that we all need to grow and continue to grow and uh because it is so powerful As human beings because we are in the flesh we can tend to get arrogant I moved in the prophetic yesterday. So he you know putting god in the box saying okay, he will move in the same way today You know is what is happening is you're not discerning Right david constantly inquired of the lord You read about it in in first chronicles towards the end Every time he went in the war he inquired of the lord the scripture says before like will you give the philistines into my hand now God will say go second time as will you give the philistines? I will give you go third time inquired of the lord again. He says will you give like no Go wait near the balsam trees when you hear the sound of an army marching then go That's discerning, isn't it? What is happening? He's moving in the prophetic But he's constantly You know leaning yeah waiting for god's instruction. So that is prophetic ministries Is beyond the science and wonders and everything what a prophetic gift can do the core of it is are you listening to god Because he will want to move in a way now like never before like how we moved yesterday That is basically what prophetic ministry is All right Everybody alive Okay Okay, let's move on now to the more practical Points and of looking at stages of growth Most of these points here are kind of borrowed from the book called apostolic strategies affecting nations by dr. Jonathan david And so pastor has taken that and it's kind of added some adapted some key points to these his points. Okay So stages of growth Ah, yeah Sorry, I miss out and thanks for bringing that up. Yeah disagreement between two key leaders Paul and Barnabas. So who was Barnabas? Son of encouragement and he was also the lead pastor the first pastor of the church of Antioch Paul is another key leader Barnabas brings in Paul Okay, uh, but there was Disagreement Uh, what is going on going to say caused these leaders not only part company. That means they went their own way But perhaps even distance themselves from the Antioch church That means Barnabas left his pastoral responsibilities and he left Paul left What are the church members doing? Okay, so We do not hear from them returning for any length of time to Antioch until Paul visits much later in act chapter 18 verse 22 So two things what you can do is So in act chapter 15, it says that they left you can go back to the pdf and see which year And then you can go back to the pdf and you can see which which year is acts 18. What's the time gap between that? What was he doing? That's none of our business. But yeah The church seemed to have continued but without its two main leaders Not much is mentioned about the Antioch church after that. Okay So not everything was flowers and roses walk in the park kind of thing There was disagreement They behaved like a normal church as well I mean in today's context So, uh, I don't know that I Yeah, I Yeah, I don't really know But maybe Paul was Paul was Paul was very radical He was saved in a very radical way and the things that he believed was also very radical, right? um Yeah, I think as leaders one of the things that we need to remember A important leaders is disagreement is not I can disagree with you and still be respectful Disagreement does not necessarily means disrespectful Right, and I many many times that I disagree with pastor Ashish but As we have a conversation, right? Okay. Can we do this? Can we do that? Like no, I'll say pastor. I don't think we need to do this. What am I doing?  And I think see disagreement has to happen It is bound to happen when there are one or two people to come together But how you continue to You know balance that out or work that out is or sort that out will show your maturity Right. Um, so refusing to get offended because you disagreed with the person is very important Right, are you pointing because of It could be I mean, but I think mark Mark and paul had some direct disagreements as well I think something must have happened between them and so and then you see here you hear paul saying that later No, it's like mark went back. He didn't want to come Yeah It's awesome guys. I mean they were normal people, isn't it? It's as much as they moved in in in the supernatural in the prophetic and they were doing some amazing things Achieving some great things And all of these points out to that there were normal people as well, isn't it? So It's okay Yeah, absolutely. Okay. So one of the first stages It's the stages of growth in a church is what is known as the pioneering stage What is the meaning of pioneer? Start something okay Or be the first to start something Like a trailblazer, you know Trailblazer is a modern way of saying pioneering. So that means nobody before has done something what you are doing Actually, you are setting the trend kind of a thing. So that's what a pioneering is right Be the first to use or apply a new method or whatever So the first stage of growth is pioneering stage Okay, so should we all just stand up and do some stretches? So shall we y'all want to We can it's okay Okay, let's all stand because um, so here in class we're going to take a minute break. Okay Because something interesting is happening. Uh, they've been sitting for a while I know you've been sitting so you back home can also just stand up and Stretch your arms your legs your feet If you want to take a minute go wash your face as well The person who's supposed to be doing is not doing Something something That is not stretching Done done stretch your legs your thighs Okay, all right. I hope every one of you Did that as well We had we had one student who left the class now She probably wanted to go out and stretch so Okay, let's come back pioneering stage. Uh, where are we in in the hard copy which page are we on? 44, okay stages of growth and the pdf we are in 29 Um, so the first point the church planting team and leaders establish commitment to a territory Where the lord has sent them Okay laying the groundwork through prayer intercession reaching out building bridges with the community that is being reached Third it is the foundation laying stage you are going down instead of going up It's one of the most important stages Uh, you know in in the growth is the pioneering stage god tells you to go to a region You're going to a region where you you don't know anything about you don't know the people you don't know the culture But what are you going to do? First you say yes to that call Establish commitment. Yes lord. I will go there Uh, I don't know the language, but I will go Where the lord, you know, so you establish commitment you uh, and then second point says laying the groundwork through prayer intercession Um reaching out building bridges. So what you do is begin with prayer you intercede for that land You ask god, okay lord, you sent me here. Why did you send me here? What is it that you want me to do here? Show me speak to me Okay, all of that is pioneering stages and then he goes on to and then he might lead you. Okay. Go and meet this person Go and meet that person In uh, in case of paul, uh, you know in acts chapter nine paul is uh Paul is where is he was on the road to Damascus. So he's there but god tells ananias To go and anoint him Right. So god is speaking. He's saying something and so what is happening is you are building network you're building bridges So basically building bridges is nothing but building network or build establishing contacts You get to know, okay. Who are the other, you know, ministry leaders? Is there any senior pastors in the church there or any big churches that you can know of?  You are you know, it's uh, it might not seem like the most fancy stages You might you might feel like giving up at this stage because you're building bridges. Nothing. It seems to be happening Lord, why am I here one year? I'm here. You haven't spoken to me. What are you doing? Etc. Etc. You might feel like giving up but it's a very it's a kind of a Make or break kind of a stage the pioneering stage. Okay um, the second stage is administrative Organizational and structural stage can someone just go through those points. Please take the mic and uh Two points As the con as the congregation begins to grow establish well defined Systems and processes to serve the people Assign roles and functions for various ministries that the Lord releases in your midst Establish godly standards and guidelines for ministry Teams so that new members who come and uphold these values Okay, as the congregation begins to grow Establish well defined systems and processes to serve the people Assign roles and functions for various ministries as the Lord releases in your midst. Okay. Uh, next point see you rather Do now what you will do even after you have increased in numbers put processes in place when you have 50 people in attendance Which you will maintain when you are 500 people or 5000 people Okay, awesome. Thank you. So This point is the point of faith Isn't it so you establish system process in place you don't say okay, let it grow to 100 people then I will bring this in Right, let's let's work on the system right now when you have five people 10 people work on the system like you have 5 000 You know people already. So, uh, that's one of the And that that will set you up for success in the future. Okay, the next point new ministries can be births New ministries can be birthed there by the spirit In one of two ways the Lord gives a vision of what needs to be done And as you declare that vision God is rise up Stress up people who will step into it and carry it out. Yeah, the Lord and it is or send people with certain gifts and callings and you recognize these and create opportunities for them To function and in new ministries or ministries ministries are birthed Okay, so the first point is the new ministries are birthed now What in a church you just began as a senior pastor a leader you just started the church new ministries are birthed The key thing there is new ministries can be birthed by the spirit So again, you're leaning on God's guidance and the Lord gives a vision A lot gives a vision gives you a burden for the youth. So you start youth ministry Okay, the Lord might give you a vision or a burden for the children.  The second thing is the Lord may raise That means one among you will be raised Or God might bring another person in who's you know, who can run that particular ministry Okay, so this is the second stage administrative organizational structural stage You will learn more about all these administrative parts in the church administrative Administration course in third year In more detailed fashion and that's a very important course. Um, I think Just to understand the importance of administration in a church in a ministry in general, okay So any questions any thoughts you want to share regarding this administrative or organizational structural stage Goals in the church is one of the important thing we had to do in the churches Yeah, local churches Yeah, absolutely. Yeah, okay. So now that you have gone through the pioneering stage. That means you haven't given up Okay, you're successfully come to the second stage where you're planning your setting up systems in place Then comes the pastoral team stage team ministry senior pastor stage. Okay. Can someone go through those points, please Establish a leadership team to carry out several areas of the ministry The founding pastor moves into a senior pastor role providing overall vision and direction for growth and expansion Continuously create room and opportunity for developing leaders who understand and are committed to the vision God has given spend time nurturing new leaders The more trust you give the more faithful your leaders will be okay So the first point there is establish a leadership team to carry out several areas of the ministry um, see As the main leader of the church of a ministry you can't you cannot do everything all by yourself Right, uh, no it can happen two ways One is it can happen for two reasons.  I know I don't trust him Right. You're not willing to take that risk to trust or put your faith Um, the second thing reason could be you want all the glory and honor praise and power You see in some of the movie titles. So think they are not okay screenplay direction dialogue everything music by one person Okay Youth ministry pastor same pastor. It's just ministry same pastor. Okay Everything one person That that's related. No with the second reason because you want all the glory. Why because you can be seen secure You I shall share my glory with no other Right, um, but it's you cannot Isn't it, uh, I mean we can that's a key example is jesus himself He built a disciples. Okay 12 and then later you see growing up to 72, uh, you know and then all over the world Um The founding pastor moves into senior pastor role providing overall vision So it is the responsibility of the senior pastor group provides the overall vision for the ministry for the church, etc Okay, and everybody comes under his leadership to serve that vision Okay, the more trust you give the more faithful your leaders will be. Okay. This is very again key I again forgive me if I keep saying every point is important every point is key, but being in ministry for Short amount of time it says the more trust you give your leaders You will learn two things again. You know that they are capable of handling that And or the second thing is you know that they are not capable of handling that So you will give that responsibility to someone else Isn't it either way you are learning something are you with me so, uh, you trust them You you choose them you say, okay, can you do this if they say yes, and I'm kind of like that if they say yes Let your yes be yes. Let your no be no. I'm like that kind of a person. So Um, so it's very important that you trust your leaders. See what they come up with. Okay It'll give them the freedom to explore whatever they want. So that is the pastoral stage anybody in that station Okay, is there anybody in anybody in any stage right now? Sri radha is in which stage No stage Okay All right Then next comes the equipping building stage trainer stage someone else read that please. Let's go through those points Focuses on equipping the same so that the entire church is mobilized into ministry It is no longer just the leaders doing the ministry, but Everyone is involved emphasis on supernatural ministry and uh Moving everyone into the realms into the realm of science and wonders and the prophetic The senior pastor focuses on equipping and imparting While much of the pastoral Care ministry is provided by others in the pastoral team the church Begins to penetrate the community and catches a vision for the missions Believers are ministering to one another into the world Okay So anything that you want to add or whatever you what do you take away from those uh, those two points What is your understanding of that? We should equip other Our congregation of believers to go and minister Okay We should impart what god has given us to them so that they will go and impart what is What is the meaning of equipping again? We use that word so much train Okay Everything is correct guys Yeah train Nurture what is nurturing to help them grow You take care of them.  It can't feed itself. It can't even sleep by itself Okay You know, so and all of that is you're walking with them This is a stage where you're walking hand in hand with them until you realize that they can take care of themselves right, so that's Equipping stage overall is discipling is what jesus did with the disciples is he walked hand in hand with them Right, he let them see what he's doing He let them see how he teaches how he preaches all of that, right? So that's the equipping stage. Um, there is a progression to the mentoring stage We just recently finished a series on mentoring Revisit that sermon series when you can and if you can So there is a progression to this equipping stage that we talk about And that can come in any different shape equipping stage can also be a mentoring stage Okay, so the progression that I believe is Uh, so if I'm your mentor I take you under my wings and say, okay Uh, all right prince.  I take him under my wings He I do it and I show him as an example And then eventually we do it together It's okay. And then He does it. I watch him do it I give him feedbacks if necessary and they become a stage where he's ready and he can go and do the same thing Okay, so that is the equipping stage is you take a person under your wings And you get you walk with them until the you know that they are ready And then you can let them go Okay, and final stage is the apostolic function stage Okay, this can someone go through that please Um establish an apostolic mindset outward focus rather than a focus on internal care All other process in place to continue to equip the saints the senior pastor and others are more free to go out And gain new territory for the kingdom of god, right? The church begins to actively reproduce itself in regions beyond Believers have an apostolic mindset and are ready to sacrifice go to new places and extend God's kingdom to other regions the local church becomes More of a mission base rather than a spiritual nursery Right awesome. Thanks Nina. Okay, so establish an apostolic mindset outward focus rather than the focus on internal care Um See now there are two kinds of people in the church, right? Uh, we both of them are important one is uh people who go Right who go out to do the work of the lord And if you're if you're either not going to do the work of the lord You should be under the category of you sending the people So you either send or you go Right. Um, and so with the church that I used to be part of used to take separate offering just for missions It was called the missions offering And so people who give in other words They're helping the missionaries or they're sending the missionaries and other they're supporting them, right? We see the anti-org church was that they were not just the missions base They supported the church in jerusalem in the case study you see Are you with me that's what that means they had this apostolic mindset Okay, they would go they would also support. Um, and then you know, it's very easy for us In this day and age especially it's like Go don't go don't go don't go be in this church If you go then the number number will reduce What do you want to do inside the church? Okay, uh, I'm gonna say pastor, but uh, god has told me to go is why you want to go all that No, no, no, no Let me stay here. No, um But the church grew by sending people out Right again, I talk about the river has to flow Isn't it? Um, and And so that's a very key important for us to have the mindset of an apostle apostolic function stage So from the pioneering stage you've laid the foundations And you've got you have the system for your ministry to function You've set the vision right, uh, and everything and now you're You know your ministry is grown Let it not be stagnant Let it flow Encourage people to go. Okay, and that comes with equipping as well. Okay. Are you all with me guys? Yeah, um, so any questions any thoughts that you'll want to share Because I want to leave the last part of the chapter for you all to just go through that. Okay, it's uh This time for reading is kind of important The conclusion part of where constantly move people forward Bridging people across two levels. I want you all to read that Uh when you can But I want to pause here and any questions or any thoughts that you want to share Something that kind of stood out to you in this chapter that we spoke about We have four minutes Uh, this last part like what he just said about um Um Your church will grow if you send out people So actually we would think like we are actually losing but actually we are gaining when we're losing something. Yeah. Yeah Yeah It's very important to have that mindset from the beginning Like if I have that mindset in the pioneering stage or in the administrative stage as a pastor to say, okay Right now there is zero members in the church. There will come a time of say 500 people At that time there will be some individuals who would want to go out So if I prepare myself from that stage and have that mindset And I will have no problem when I actually hit the mark of 500 to send people out Yeah, you're preparing for that. You're thinking big Yeah Yay, Francis bring yay Come on Francis Actually, I hear in a story like this not sorry real thing like on pastor Train learn like one person he took one person and trade but what happened at last is he separated church and he started another ministry Okay So how to handle that situation like in case we are start We are doing we are keeping another few days if they are doing like that So how do you do on thing? Yeah, see now I let's say you you've been part of my church I've been equipping you and whatnot right and you come and tell me Like pastor the lord has given me a burden to start another church and whatnot. So see The depth of that conversation between you and me will be based on the the freedom that you and I have Or the relationship that you and I have you trust me enough to come and tell me that okay This pastor is not going to get angry, but he understands You know if I he will understand That okay. God has told me to start a new church and so if I am in line with God with his spirit I will I will bless you and I will send you off Yeah, so there has been a misunderstanding between the two leaders Isn't it so uh and any misunderstanding can be solved That means misunderstanding is because of miscommunication that has led to separation of parting of this church leaders Okay Okay Everything comes down to that point of communication. No, so see you you want to start a new church You can communicate by telling. Okay. What do you want to communicate? Is it do you want members from that church again? It talks My point is that Yeah, it is like that, but see again Why am I say I understand what what you're saying? Okay, but why am I stressing on communication in at first at apc What do we announce? We ask first time visitors to stand. What do we say? What does pastor say every sunday? Yes What we encourage is to for you to remain faithful in that church. Okay, but if you are looking for a home home church What is he doing? He's communicating isn't it? So if I if I'm one of those leaders who's parting ways from a church I will communicate. He's like, hey You found a home church be faithful to it. It comes from it is born from that place, isn't it? Now if my intention is to start a church and divide the church the beginning itself is wrong Right, the initial process of that the thought itself is uh, it's not right. I would say isn't it Now the people wanting to go there is a secondary because it's their choice now You can choose to be with me or you can choose to go It is their choice The question it comes is based on the leadership. Isn't it the thought the intention behind it You you know in so many cases you don't even give that option to the people. So How is prophecy to be tested to keep it in perspective? Um, okay, Nina. We'll see if you can address that question next class. Um, I'm sure it'll also be addressed in the Um prophetic ministry course, but yeah, we'll try and address that All right, guys. Thank you for joining in. God bless you. I hope you had a good time and learned something Next week. See you


THE DIARY OF A MADMAN AND OTHER STORIES by Nikolai Gogol read by Nicholas Bolton for Maxos audiobooks Petersburg Tales Niefsky Prospect There is nothing finer than Niefsky Prospect, not in Petersburg, anyway. It is the making of the city. What splendour does it lack, that fairest of our city thoroughfares? I know that no one among the poor clerks that live there would exchange Niefsky Prospect for all the blessings of the world. Not only the young man of twenty-five summers with a fine moustache and a splendidly cut coat, but even the veteran with white hairs sprouting on his chin and a head as smooth as a silver dish is enthusiastic over Niefsky Prospect. And the ladies. Niefsky Prospect is even more attractive to the ladies, and indeed to whom is it not attractive? As soon as you step into Niefsky Prospect you are in an atmosphere of gaiety. Though you may have some necessary and urgent work to do, yet as soon as you are there you forget all about business. This is the one place where people put in an appearance without necessity, without being driven there by the needs and commercial interests that swallow up all Petersburg. A man met on Niefsky Prospect seems less of an egoist than on Morskaya, Gorchovaya, Lityeinaya, Mishchanskaya, and other streets, where covetousness, self-interest, and need are apparent in all those walking by or flying past in carriages and droshkies. Niefsky Prospect is the general channel of communication in Petersburg. The man who lives on the Petersburg, or Vyborgside, who hasn't seen his friend at Piesky or at the Moscow Gate for years, may reckon with certainty on meeting him in Niefsky Prospect. No directory list at an address inquiry office gives such accurate information as Niefsky Prospect. All-powerful Niefsky Prospect, sole place of entertainment for the poor man in Petersburg. How cleanly swept are its pavements, and my God, how many feet leave their traces on it? The clumsy, dirty boots of the discharged soldier, under whose weight the very granite seems to crack, and the miniature ethereal little shoes of the young lady, who turns her head towards the glittering shop windows as the sunflower to the sun, and the clanking sabre of the hopeful lieutenant, which marks a sharp scratch along it. All print the scars of strength or weakness on it. What rapid transformation scenes pass over it in a single day? What changes it goes through between one dawn and the next? Sample complete. Ready to continue?