This is an EKB-TV Evening News Special Report, Flood Crisis 2015. While many people of the Big Sandy and Tug Valley region are putting the flood behind them, others are still waiting for recovery to begin. Good evening and welcome to this EKB-TV Special Report. I'm Gary Sla. And I'm Cindy Mae Johnson. We begin tonight in Johnson County, where floodwaters only reached their peak today. EKB-TV's Ralph Davis brings us this report. I'm standing in Painesville, where local officials cannot yet begin to recover from the storm because they're still dealing with it. Our main objective right now is continuing to provide any type of emergency services to the east end of town, you know, across the river. And, you know, the mayor and far chief, we've all made arrangements for that. We have a EMS unit placed on that end. The river had been expected to crest in Painesville at midnight last night. However, that did not happen until later on this afternoon. The good news is the river stopped rising a couple of inches shy of flood stage. However, at that level, there is still flooding in low-lying areas. And that is taking its toll on the county's road system. And, of course, from the infrastructure standpoint, you know, city streets, county roads, you know, we're all seeing the potholes, you know, everywhere now.  Despite the delay in getting to recovery, county officials say that Johnson County is still fortunate. We've been fortunate in a way not to have had some extremely serious events associated with the bandwidth. We've had wrecks just like everybody else and impaired traveling and things of that nature, but we've been lucky in the long run, I think. City and county officials tell us that they still haven't been able to do the damage assessments just yet because they can't get everywhere they need to go. They plan to do that over the next few days. For EKB TV News, I'm Ralph Davis. In Williamson, West Virginia, 30 families remain trapped behind a wall of mud as a landslide has blocked their only route to the outside world. So far, three homes have been destroyed and we say so far because the earth is still not stabilized. EKB TV reporter Shelby Steele went to Mingo County today to find out more. A large mudslide trapped residents in a Mingo County community Thursday night. The slide took place on Big Splint Hollow Road near Nolan at 10.30 p.m. Mingo County Emergency Management Interim Director Doug Gulsby says everyone affected was extremely lucky. No injuries so far. The gentleman at his trailer was completely destroyed last night. He just left 40 minutes before the slide. Gulsby adds that the slide will get worse before it gets better. We come out here this morning, more of a slid, so it's continually sliding. If we have more warm weather or a rainstorm, you're going to have a worse slide and we're trying to, at this time, do a voluntary evacuation of the residents. Even though there have been no injuries so far, it has still been a hassle for everyone in the community. It's trapped 45 residents up in there. The landslide itself comes out on three trailers. It's still sliding, causing an emergency situation. Gulsby says this has taken efforts from everyone. Mingo County Commission in conjunction, working with West Virginia State Homeland Security, Logan County Emergency Rescue, Chattanooga Fire Department, and being in a Department of Transportation and Department of Highway has been working on this all night to try to fix the problem. For EKB-TV News, I'm Shelby Steele. Thank you, Shelby. In other areas of the region, the good news is recovery efforts are well underway. In Pikeville, flood gates have been opened this morning, a signal that the worst has passed. In Floyd County, officials had to wait a little bit longer for flooding to diminish. Floyd County Emergency Management Director Bobby Johnson says the damage has begun, but several areas of the county have seen residential flooding. Even as officials begin to switch gears from rescue to recovery, Johnson says mudslides remain a real threat. Right now, everybody should be concerned about mudslides, because you just have no idea where they're going to come from. So what we're telling folks are to be aware of the area that you live in. If it's prone to sliding, be looking for it. If you see trees leaning near your home that's out of the ordinary, start watching for mudslides. We're telling folks just don't stick around. If you see a slide starting to form, get on out of there, contact the authorities. In dealing with the threat of mudslides, Johnson says the first steps you can take are to be familiar with your surroundings and to develop an emergency plan. You should also take note of drainage patterns around your home and be alert for any sign of movement, even less obvious ones like tilting trees. You should also listen for unusual sounds like cracking trees or colliding boulders. Another sign of danger is a sudden change in the amount or color of storm drainage. If a slide is happening or you believe one might be imminent, stay away from power lines and contact emergency officials immediately. Like the rest of the region today, Williamson, West Virginia dealing with the aftermath of the 2015 flood crisis. Most of the problems in Williamson include debris on roads, as well as standing water continuing to block roadways. Williamson City Fire Chief Joey Carey says they are doing everything they can in order to clean up the city. Today we've got a lot of mud and debris that was left where the river was in the road in some places and then backed up. We have a small amount in the east end of town at the mouth of Peter Street and at Doobah's department highways are helping us out there because it's Route 52 and they maintain 52. So they're helping us with that end. And we have a lot of mud and debris in Fairview Audition on road. We're at Route 52 that Vila Water is down there taking care of. And we're just doing patrols through town to see if everybody's okay. Stay with us. When we come back, we will talk to two Pike County officials on their cleanup efforts. And Leith and Hopkins will be in to explain how all of this began. Well, the last couple of days have been so stressful for everybody in our region, but especially for the two men who head up the Pikeville and Pike County emergency response teams. Gary had a chance earlier today to sit down with Paul Maynard, Pikeville's Public Safety Director, and Doug Tackett, Emergency Management Director for Pike County. Doug, let's talk a little bit about... Now, first of all, there has been a disaster declaration issued in both Pike County and the city of Pikeville, right, Paul? Yes. Okay.  Were they used? We had one at center that was used last night, a family from I think Upper Pompey utilized the Pikeville Senior Citizen Center. Okay. Will those centers be available tonight? Should the need arise? Should the need arise? Yes, they will. Okay. Paul, city of Pikeville, the training center, was that the warming center there? Yeah, that's kind of our go-to spot. Obviously, yesterday the decision was made pretty quick with the rising waters and obviously the forecast. We went ahead and stocked that and we had it available and we still have it available and we will do that as long as the weather dictates or the need dictates. Okay. The city actually put up one of the floodgates yesterday, very early yesterday morning as the waters were rising. That was the first time that I can recall that ever being put up outside of practice. Yeah, absolutely. I've been here for 19 years and we've had a couple of close calls. Going to put it up, that's the first time I've seen it up. Our protocol says standard once it gets to 38 feet, it's got to go up and at the time they were predicting crest at 38, but the decision was made early no matter if the crest was predicted at 38 or if it was going to be on, the gate was going to go up at 38. Okay. That gate has since been taken down, right? Yeah. Thank God yesterday the water did crest. It started going down. You know as a precaution we leave that in there and sometimes for several hours, you know I talked with fire chief Ronald Cohen and he said you don't want to take a chance. He said if something happened and it started coming back up, it's a task. So we gave it through the night and we do have it down now. Okay. Doug, any type of rescues that had to be done yesterday during the height of the high waters? Yes, there were about seven or eight that had to be done. Pike County technical rescue team assisted with the Floyd County Rescue Squad did some evacuations around Winward Lane and down through Mossy Bottom in that area. Okay. And again, of course, those shelters will be available tonight for those who may need them. That's right. Let's give out some telephone numbers right now. Doug, with the county, what's some numbers if somebody needs assistance? If they need assistance and it's not an emergency, it would be 432-021-0 or 437-4126. And as always, if it is an emergency, please call 911. Okay. Paul, the city of Pikeville, again, the shelter will be available if needed. What's the number that they can call for a year? If they just need to come to the shelter, call the 911 Center. We ask them to call in at 437-5111. And again, like Doug said, if it is a true emergency, do not hesitate to dial 911 for either of us, because that's what we're here for. Looking ahead to the weather of the next few days, it looks like we're out of the woods. Well, I'm hoping that all this will soon just be a bad memory. EKB Chief Meteorologist Lathan Hopkins takes us for one last look back on what's been an incredible few weeks of weather. The recent flooding was not just a result of the heavy rainfall this week. We actually have to look back more than two weeks to see where our problems began. February 2nd, Groundhog Day. Punxsutawney Field sees his shadow, meaning six more weeks of winter. After a relatively calm season so far, we had no idea what the next few weeks would hold. February 16th, our first significant winter storm of the season blankets our area with more than a foot of snow. The highest amounts were found in the Coleman community of Pike County, where they picked up 18 inches of snow. February 19th and 20th, we woke up with the coldest temperatures we have felt in more than 20 years. On the morning of the 20th, the temperature dropped to near 30 degrees below zero in parts of eastern Kentucky, making it the coldest temperature recorded in February since 1899. February 21st and 22nd, while parts of the tri-state picked up more snow, most of our region recorded one to two inches of rain. This led to flooding and ice jams in several creeks, streams and rivers, helping cut off water to thousands of people in eastern Kentucky. While minor storm systems moved through in late February and early March, cold air helped keep plenty of snow on the ground. That melting snow in more than two inches of rain Wednesday was more than enough to cause severe flooding of creeks and streams before all that water moved to our rivers on Wednesday night and Thursday. When you break it down in those 18 days between February the 16th and March the 5th, we have recorded more than six and a half inches of precipitation, including more than two feet of snow. Again, we're dealing with some incredible things that we just don't see every single year in this region. Especially within 18 days, we have dealt with a couple of feet of snow in a matter of 18 days, several inches of rain. The good news is things much calmer today and the calm weather is going to stick around for a couple of days as a matter of fact. The Doppler radar, this is what we want to see, dry conditions all across eastern Kentucky, western West Virginia, southwest Virginia. No snow, no rain, no sleet, no freezing rain looking much better today compared to this time yesterday. Now the waters are dropping all across the region, but we still have a flood warning in effect until early Saturday morning, Johnson, Martin and northern parts of Floyd County where the waters are still running a little bit high in those three counties, but I do expect late tonight that that flood warning will be dropped in for the first time in about 72 hours. We will be without a watch, an advisory, a warning looking much better. Those river levels continue to drop. That's the top of the weather headlines for today. All the rivers below flood stage this evening, partly to mostly sunny skies expected throughout the weekend. Warming trend this weekend into next week to make the next chance of rain. That will hold off until the early part of next week. Satellite and radar composite. Look at this. I mean, we're talking across the Ohio Valley. We are talking across the central part of the U.S., Minneapolis, Chicago, Detroit, Atlanta. Oh, looking fine. The only thing we have to watch is this little batch of clouds here across the upper Midwest. Not a lot of moisture associated with it, but it could bring a few more clouds to the region late tomorrow night and to the day on Sunday. We're not expecting any rain, though, so that's good news. Tonight, 12 degrees, mostly clear. Another cold night, but tomorrow 45, mostly sunny. We say goodbye to the snow and the ice. We will see plenty of melting, I do believe. Now, look at this five-day forecast. We go 52 on Sunday, 52 on Monday. Chance of rain moving in late Monday into Tuesday. Not a big deal.  The temperatures. By Wednesday, 58 degrees and early next week, overnight lows instead of daytime highs will be in the 30s. Big, big change. That sounds reasonable. Back where we should be this time of the year. I'm looking forward to that. Who would think we would be looking forward to overnight lows in the 30s? When we're talking about daytime highs in the teens and 20s, we'll take 50s. We certainly will. We're going to take a quick break. We'll be right back. And welcome back into this special report. And Cindy, this has been definitely a very interesting 48 hours. Very unusual as well. As we told you in our report last night, we actually are going to be bringing you local news at 6 p.m. This was a little earlier than we had planned, but Mother Nature kind of called that shot. Absolutely. So we definitely look forward to having you join us with the news. And that will just... Well, the last couple of days have been so stressful for everybody in our region, but especially for the two men who head up the Pikeville and Pike County emergency response teams. Gary had a chance earlier today to sit down with Paul Maynard, Pikeville's public safety director, and Doug Tackett, emergency management director for Pike County. Doug, let's talk a little bit about... Now, first of all, there has been a disaster declaration issued in both Pike County and the city of Pikeville. Right, Paul? Yes. Okay.  Were they used? We had one at center that was used last night, a family from I think Upper Pompey that utilized the Pikeville Senior Citizen Center. Okay. Will those centers be available tonight? Should the need arise? Should the need arise? Yes, they will. Okay. Paul, city of Pikeville, the training center. Was that the warming center there? Yeah, that's kind of our go-to spot. Obviously, yesterday's decision was made pretty quick with the rising waters and obviously the forecast. We went ahead and stocked that and we had it available and we still have it available. And we will do that as long as the weather dictates or the need dictates. Okay. The city actually put up one of the floodgates yesterday, very early yesterday morning as the waters were rising. That was the first time that I can recall that ever being put up outside of practice. Yeah, absolutely. I've been here for 19 years and we've had a couple of close calls. We're going to put it up. That's the first time I've seen it up. Our protocol says standard once it gets to 38 feet, it's got to go up. And at the time they were predicting crest at 38, but the decision was made early no matter if the crest was predicted at 38 or if it was going to be on, the gate was going to go up at 38. Okay. That gate has since been taken down, right? Yeah. Thank God yesterday the water did crest. It started going down. As a precaution, we leave that in there and sometimes for several hours, I talked with fire chief Ronald Cohn and he said you don't want to take a chance. He said if something happened and it started coming back up, it's a task. So we gave it through the night and we do have it down now. Okay. Doug, any type of rescues that had to be done yesterday during the height of the high waters? Yes, there were about seven or eight that had to be done. Pike County technical rescue team assisted with the Floyd County Rescue Squad did some evacuations around Wynward Lane and down through Mossy Bottom in that area. Okay. And again, of course, those shelters will be available tonight for those who may need them. That's right. Let's give out some telephone numbers right now. Doug, with the county, what's some numbers if somebody needs assistance? If they need assistance and it's not an emergency, it would be 432-021-0 or 437-4126. And as always, if it is an emergency, please call 911. Okay. Paul, the city of Pikeville, again, the shelter will be available if needed. What's the number that they can call for a year? If they just need to come to the shelter, call the 911 center. We ask them to call in at 437-5111. And again, like Doug said, if it is a true emergency, do not hesitate to dial 911 for either of us, because that's what we're here for. Looking ahead to the weather of the next few days, it looks like we're out of the woods. Well, I'm hoping that all this will soon just be a bad memory. EKB chief meteorologist Lathen Hopkins takes us for one last look back on what's been an incredible few weeks of weather. The recent flooding was not just the result of the heavy rainfall this week. We actually have to look back more than two weeks to see where our problems began. February 2, Groundhog Day. Punxsutawneyville sees his shadow, meaning six more weeks of winter. After a relatively calm season so far, we had no idea what the next few weeks would hold. February 16, our first significant winter storm of the season blankets our area with more than a foot of snow. The highest amounts were found in the Coleman community of Pike County, where they picked up 18 inches of snow. February 19th and 20th, we woke up with the coldest temperatures we have felt in more than 20 years. On the morning of the 20th, the temperature dropped to near 30 degrees below zero in parts of eastern Kentucky, making it the coldest temperature recorded in February since 1899. February 21st and 22nd, while parts of the Tri-State picked up more snow, most of our region recorded one to two inches of rain. This led to flooding and ice jams in several creeks, streams and rivers, helping cut off water to thousands of people in eastern Kentucky. While minor storm systems moved through in late February and early March, cold air helped keep plenty of snow on the ground. That melting snow in more than two inches of rain Wednesday was more than enough to cause severe flooding of creeks and streams before all that water moved to our rivers on Wednesday night and Thursday. When you break it down in those 18 days between February the 16th and March the 5th, we have recorded more than six and a half inches of precipitation, including more than two feet of snow. Again, we're dealing with some incredible things that we just don't see every single year in this region. Especially within 18 days, we have dealt with a couple of feet of snow in a matter of 18 days. Several inches of rain. The good news is things much calmer today and the calm weather is going to stick around for a couple of days. As a matter of fact, the Doppler radar this is what we want to see. Dry conditions all across eastern Kentucky, western West Virginia, southwest Virginia. No snow, no rain, no sleet, no freezing rain looking much better today compared to this time yesterday. The waters are dropping all across the region but we still have a flood warning in effect until early Saturday morning, Johnson, Martin and northern parts of Floyd County where the waters are still running a little bit high in those three counties but I do expect late tonight that that flood warning will be dropped in for the first time in about 72 hours. We will be without a watch, an advisory, a warning looking much better. Those river levels continue to drop. That's the top of the weather today. All the rivers below flood stage this evening partly to mostly sunny skies expected throughout the weekend. Warming trend this weekend into next week and it looks like the next chance of rain. That will hold off until the early part of next week. Satellite and radar composite. Look at this. I mean we're talking across the Ohio Valley. We are talking across the central part of the U.S. Minneapolis, Chicago, Detroit, Atlanta. All looking fine. The only thing we have to do is this little batch of clouds here across the upper Midwest. Not a lot of moisture associated with it but it could bring a few more clouds to the region late tomorrow night and to the day on Sunday. Not expecting any rain though so that's good news. Tonight, 12 degrees. Mostly clear another cold night but tomorrow 45. Mostly sunny. We say goodbye to the snow and the ice. We will see plenty of melting I do believe. Now look at this five day forecast. We go on Sunday 52 on Monday. Chance of rain moving in late Monday into Tuesday. Not a big deal.  The temperatures by Wednesday 58 degrees in early next week. Overnight lows instead of daytime highs will be in the 30s. Big, big change. That sounds reasonable back where we should be this time of the year. I'm looking forward to that. Who would think we would be looking forward to overnight lows in the 30s? We're talking about daytime highs in the teens and 20s. We'll take 50s. We certainly will. We're going to take a quick break. We'll be right back.


Look at that full stack fest. There's my old cat, Zach. OK, so we got a lot of code to write. Right before lunch, Peter gave that great, really great talk on some functional stuff in Ruby. And one of the things that he mentioned was that that wasn't just crazy stuff he'd done on the weekend, but stuff he's actually been using. Well, we're going to follow his talk after lunch with crazy stuff I did on the weekend that you shouldn't use. But so basically, we're just going to play around, look at some stuff, how lambdas work. We're going to actually build lists. A lot of times you hear about lambda calculus and all of the crazy stuff. So what we're going to do is we're just going to build up list implementation. We're going to code it. It's going to be fun. And then you'll get back to talks that are useful. So a couple of things just to start off. Let me get my reading glasses. I'm getting old. I have a script, so. OK, so we want to start off. But if you haven't seen lambdas in Ruby, lambdas work pretty simply. They start with the little pointy operator. They take an argument and you can return something. So this is basically return it. And you can execute them pretty normally. So if you want to do it like that, I have a little mapping here. So as we go through, oh no. Ah. Oh, that's why. There we go. So you can see as we run, it prints a 1 down there. You can also, which is what we're going to be using a lot more, you can do this really odd syntax where you use brackets to call it. It's just a nicer syntax, I think, for stuff. So it actually calls it and gives you a 1 and a 2. OK, now, of course, return it doesn't make that much sense as a name. And since it returns whatever you pass into it, the real name for this is identity. So we've got what we call our identity function, which returns whatever you pass into it.  So we're going to just call it I. So whenever we use I, it's a function that takes an argument, returns itself. Now, having a single argument isn't always that useful, unlike everything else we're going to do. So what we kind of want to have is if you have two args, how do you implement that? Well, we only get to have one argument in our lambda. So if we want to do this, we actually just return another lambda. So basically, we're returning a function. We're calling a function with x. We're returning a function that takes y. And in this case, we're just going to return x. Now, an interesting thing about this is if you think about it, this is a function that I give it, and it returns me a function, and no matter what I pass here, I get the first argument back. So this is really kind of constant. So in this case, if I call constant and put hello, goodbye, so see, I've kind of got the two arguments here, then I always am going to get hello. So no matter what I pass here, I get hello. Seem reasonable? OK, so constant, of course, is a really large word to write. So we're just going to call it k. And I'm going to actually clean it up a little bit. So the way we're going to look at lambdas in this is if you have more than one argument, it basically just looks like this. You have your first lambda, then it returns a second lambda. If you have a third argument, it puts it there. OK, so that's basically lambdas. Works out wonderfully. So what we want to do, though, is we want to go through the exercise of building lists, with this being all that we have. Now, as any good, happy developer does, we always write our code with tests. So basically, we would want to do something like assert. And a very simple test, a very simple test when working with lists, is whether or not something is an empty list. And we would expect that if I had something called empty list and I called a function called isEmptyList, it should be an empty list. And our assert should pass. Notice I'm using the bracket way of calling things. So if we run this, of course, it sure would be nice if we already had everything, but we don't. All we have is I and K, I being the identity and K being the constant function. So we get an error on initialized constant assert. So I'm going to copy this out because this is kind of our larger we're done when we have that. So let's look at what assert is. Well, if you've ever used assert, how many people use Minitest? Here, awesome. How many people use RSpec? So for the RSpec people, I'm going to talk a little slowly around this. This coming from somebody whose first Ruby code that I ever wrote was actually RSpec. I love RSpec. I use that as my day-to-day tool. But assert is sort of the core of everything. So assert basically takes an argument if it is right or true, we print T. It takes an argument. And if it is wrong or false, we print an F. And that's what assert does. It's a very simple function. Most people use it. Even the RSpec people, it's kind of like expect. I won't make any more RSpec jokes because I do use that as my day-to-day one. I love RSpec. So if we want to write it. So basically what we end up with is we want to be able to say assert true. And that should print a T. And assert false, well, that should print an F. So if we run this, though, what do we get? Well, we still haven't defined assert. But we've got two tests, effectively. They're visual tests that say what assert should do. Well, it's got to be a function. So look at this, underscore. If I don't care what the parameter is, which I don't right now, I'm just going to use an underscore, which sort of just takes it out of vision. So if I just return true with assert, well, I don't have a true, so that doesn't work. So let me make a true. I don't know what it is. It doesn't matter, so I'm just going to make it an identity. OK, now I don't have false. I don't know what that is, so I'm just going to make it the identity. Now, I don't get any output. That goes against what my things are. So let's just make this print. I'm going to use p, a t. Now you notice I'm actually printing a t twice. Ooh, it puts that thing there. Let's use a puts, so we don't get the quotes. So now you can see I got t's, which, ideally, that's what we want everything to do, except that here we said if it's false, we want it to print an F. And that's not the expected behavior. So even though the assert is working, well, that means that this hard-coded thing is not really what we want to do. So instead, let's actually define it here. So our true and false are what's bound there. Well, the assert is just going to take something in. We'll make up a word, boolean. And we'll just execute it. Remember, you can execute with a dot and the parentheses. So if we do this, now we get a t and an F. That's what we were expecting. So we've got basically assert working now. That makes me happy. So now we can come back here, taking baby steps, because of course we do TDD, uninitialized constant empty list. Well, what do I want to have happen? Well, I guess I could just make this true. Well, assert's going to call it. So let's see what happens if I just make it true. Ah, uninitialized constant empty list. Well, that makes sense, because I haven't defined that yet. So let's define that. I don't know what it is, so I always use identity as my default. Oh, no. When we get that error, it means we don't have a function. We forgot that we're only really dealing with lambdas here. So at this point, assert is empty list. Empty list returns a true, and we're done. Here's a picture of my other cat squeaks. OK, let's get on, because of course, that's not really what we want to do. That's not totally enough. Well, what if we give it something that is a non-empty list? Well, that we would expect assert to print F, because isEmptyList is not empty. Of course, it's called a non-empty list. So let's run this. OK, well, let's take non-empty list here. I don't know what it is, so we'll make it an I. Now, it is T and T, but it's not what I'm expecting. It's not what I want. I want it to print out T and F, because if I assert isEmptyList on a non-empty list, it should actually fail. So that's no good. So why don't I change this? The problem is that I'm hard coding this here. So whenever I have a hard coded thing, but I want to actually have two different options, then what I want to do is move the hard coding up to an abstraction. So at this point, I now have what I'm expecting, a T and an F. But since we're writing tests, we don't really want to have a whole string of T's and F's and go visually figuring it out. We just want a long string of T's. So rather than using assert, which we've said up here, prints T if the value is true, we want to write this other one, which is called refute. So refute, if we look at it, it basically takes the same thing, except if it's right, we want to print an F. And if it's wrong, we want to print a T. It's basically just the opposite of that. OK, so what happens with refute? Well, refute looks a lot like assert, but I can't just call the Boolean because that doesn't do me any good. I'm still getting that F. I want refute to give me a T. So again, we've got an abstraction problem. So we're taking that Boolean and we're calling it. But our true always prints T. So what we're going to do is we're going to actually comment out our refute and work on assert a little bit more. Actually, we're going to comment this too and move back to assert. And we're going to make a little refactoring on assert. So instead of having the Boolean, we just execute it and it prints T, what we're going to do is we're going to take that choice and move it into the Boolean. So it would be nice if I could say that my assert, I want to take this and bring it down here. So I can grab that, put it there, grab that, put it there, and then I don't have to call it here. And so what I want the Boolean to do is take a true case and a false case and just return me the true case and the same with false. So let's replace false. So the false takes a true case and a false case and returns me the false case. And then I execute it. So I've basically just moved abstraction over to the Boolean and now I'm bringing the concrete stuff back in and abstracting that choice out. So now I get an F which says that my false is what I wanted because I'm visually verifying it now. So this works with assert. So if I bring up refute, I would expect refute to print me an F and I would expect refute of false to print me a T. Well, it's not going to. We actually need to bring... We really... Refute is just like assert except opposite, all right? So I should be getting TFFT because if we look here, we get a T, FFT. And I do, which says to me that everything's kind of working for me. So let's take a little brief look at this. Well, true is a function that takes two arguments and returns you the first argument. Does that sound familiar? Well, it should because this is K from up here. Takes two arguments, returned me the first one. So if I run now, I still get the TFFT. Now here's something that's going to blow your mind. Look at this. What is this function inside? Well, this is a function that takes an argument and returns an argument, right? Well, we've seen that before, right? I keep saying right because I'm hoping that it is. Well, that's just the identity function. So false is something that takes the true case and returns the identity function. I think if I run my test and see it, TFFT, which is still good. Now here's the thing, so that's unnecessary. We don't have to actually care what that true case is. So false is a function that takes something and no matter what you give it, it returns you the identity function. So you could kind of think of it as a constant function that always returns I. Well, we know what a constant function, how we can create a constant function. So this is actually K passing I in. So no matter what I now give to it, I'm going to get the identity function back and then I'm going to get that. And so TFFT, love, that's my favorite part of this whole talk. So let's comment these out. Our assert and refute are now working and that's wonderful. But let's do one little more refactoring. I'm going to do a little bit of moving of code. Look at a certain refute. They're exactly the same. The only difference there is one passes in a different true case, one passes in a different false case. Now, Sandy yesterday had talked about how when you are doing refactoring and you're creating abstractions, you want to find the pieces that change and take those and extract them out and then pass them in. Well, we're going to do the opposite, which is we're going to find the things that are similar and we're going to extract that out. One gives you an abstraction that's a little bit higher. One gives you an abstraction that's a little bit lower. So we're going to take this idea of taking a boolean, a true case and a false case and executing which one comes back and we're going to do it with a function that you may never have seen before, but I'm going to make it up. I'm going to make it up. I'm going to call it if. So it takes a true case and a false case. Look at that. Three arguments, two, three. And what does it do? Well, it's basically doing this, except instead of having them hard-coded, we just use what's passed in and that allows me then to make this as a function call. So now I'm calling this if function, passing in the boolean, passing in what I want to have happen if in the true case, what I want to have happen in the false case and then let me get rid of that comment. Let me run it. I should still see tfft and I do. So now I've got a really nice kind of abstraction, this if statement. So the last refactoring that we're going to do is around the assert and the refute method. So if we look at them, we still see that they're kind of the same. There's only one small little difference. So it sure would be great if I could have refute defined in terms of assert. Well, luckily, not going to hold you in too much suspense we can. So what I want to do is say, refute is just the opposite. It's basically the same if I could take the opposite of the boolean or the not. So let's hold this real quick and let's build a function called not. So what not does is if I take assert and I do not true, I should get the opposite in f. If I assert on false, I should get a true and the same with refute. So if I change this to refute, I should get a t. So my knots are kind of the same. I've been running off t, f, f, t. Well, when I use a not, I get f, t, t, f. If I run this, of course I get uninitialized constant not. And so I can create it. Well, what does not do? Not takes a boolean. And what is it supposed to do? Well, it's supposed to say if it's false, return me true. If it's true, return me false. It just swaps them. Well, luckily I have a function already called if, convenient. So if my boolean, we're gonna see this pattern a lot where you take if with that and then what you put into here is the true case. Well, I wanna return false. And in the false case, I wanna return true. And now if I run, I get f, t, t, f, which is what I kind of expect. So now I know that, I know that not works. So now I can come back down and get rid of these and run these tests. So now I'm back to t, f, f, t. So I'm still with assert and all of that. But if I bring not up just a little bit, at this point I can redefine refute as assert not my boolean. And at this point I'm still at t, f, f, t. So I've got some nice boolean operators here that I can use, but that's not really what we wanna build. We really are looking to build lists. So let's come down here and talk about lists. Well, make sure these are still passing. Yes, they are. That's great. So it's one thing to say that a list is empty or not, but what happens, I wanna be able to add things to list. That's really kind of the important part of all of this. So I'm gonna get rid of this non-empty list because that doesn't do us that much good right now. But what I'd like to say is wouldn't it be nice if I could make a list that has the true value in it? So I'm gonna make up something called add the list. Gets a true and I'm adding it to the empty list. I get to define everything. Now just as an aside, this is a technique called programming by wishful thinking. This is the way I write all of my code. I think it is a core part of certain styles of test-driven development where you basically write what you wish you had and then you implement it until it's actually there. So some might say I live my life that way, but that's a whole different talk. Okay, so let's look at this. What does this do? Well, we don't have add to list and I don't even know anything about it. What do I know about add to list? Well, the way that I can find out things about it is to write tests. So what I can say is, well, is this list empty? Well, it's not. It should be a refute. So if I add an item to it, I shouldn't have an empty list anymore. So if I run this, well, I get my initialized constant because I just wish it was there. So let's come up here and build add to list. Well, what do I need it to do? It has to take an element and it takes a list. And well, I think I can just return true. Helps if I have extra there, aha. So I return true. It didn't make my other test pass, but it still makes that first one pass. So it doesn't do me that much good. But what if I return my list? Now, what if I just return empty list a little bit better? What if I pass? There we go. Now I'm marking empty list is true. Add to list is false. So no matter what, I now can check whether or not something is an empty list or not. And that's important. It's important to be able to say that. And so if I make something that's, I'm adding false to the front of that, oops. I would expect to be able to refute that as well. So if I have a two element list, then I can refute it. So at this point, I now can tell whether a list is empty or not. And that's great. It's kind of fun, but might not be exactly what we want. So it also is good if I can tell what the list was that I added it to. So just telling whether it's empty or not is not that great. But I wanna be able to do, if I look at a list, well, a list looks like this. It has the value true. And then it has the rest, the other list that I added it to has false added to another list which was true with a bunch of other stuff on it, the rest of the list. So I'd like to come down and I would like to actually be able to say is what's called the tail because a list is like a snake. It's got this thing on the front and then the rest of it, which is another list. So I'd like to be able to do something like this. Well, the list that has one item in it, if I look at it here, I added true to the empty list. So I should be able to assert that the tail is the empty list. Because if I only have one item, then the tail is the empty list. Of course, I don't have anything like that tail. So I'm going to do something here and say, well, what does tail do? Well, it takes a list and well, I'm going to actually return the empty list. Awesome. So now I'm passing. So now every list is a one element list because the tail always is empty. That's okay. But I would expect to not see the tail of my two element list up a little bit. That's wrong. I would expect that the tail of that to not work. So I've got an F, I need to fix this. So I want to mark and maintain this mark that something's an empty list, but I also need to pay attention and here on add to list, I want to keep track of that list that I added to. Well, it would be wonderful if I had a way to keep track of it, a tuple of some sort. Because then I could just take the first element to get whether or not it's an empty list and the second element to be the list that I had or that I started with. Well, we don't have anything like that, but luckily we can wish it into being. So I'd really like to do something like this. Let's make a pair. At that point, the tail will be the second element. If it's an empty list, I won't just return that. I'll actually return the first element of my pair. Empty list now takes my list. And the empty list is just going to mark itself. I don't know what, so we'll just use identity. So empty list is a pair of true, which is the marker that says I'm an empty list and the identity function, because why not, is empty list grabs the marker, returns it, add to list, constructs a new pair that has a marker of false. This is not an empty list anymore and a list. And tail grabs the second part, that list that was still there. And okay. So if we run this, we got lots of failures because I have an extra thing here. There we go, uninitialized constant pair. Well of course, because nothing is real. So let's work on pair. Pair is really nice. What do I know about pair? Well let me create a couple of them. I have a pair of true and false, and I have false and true. What can I know about these? Well, I should be able to assert that the first part of true false, that should be true, I should be able to refute the second part of true false. I should be able to assert the second part of false true and refute the second part, or the first part of false true. Yay auto completion. So this makes sense, right? So I'm just writing the test. This is the way I want pair and first and second to work. Of course I don't have pair, so let's talk about pair for a second. So pair, it basically takes two arguments, which we've seen, and it has a couple. First takes a pair, returns the first argument. Second takes a pair, returns the second argument. These sound pretty familiar. They sure sound like kind of like true and false to me, which we decided was K and K of I. Well, so let's write this. This takes a first element and a second element. I don't know what it does. First takes a pair, oops, I don't know what it does. Second takes a pair, I don't know what it does. Now let's look about first and second. Let's pretend. Like what if pair, what do I know about pair? I know it's a function. So I can call it. Wouldn't it be sweet if I could call the pair and give it a function that picks the first one out? So what if I could give it a two argument function and return the first argument? And then here, return the second argument. So basically pair is a function and I'm giving it a function that takes two arguments and picks out the first or the second. Well, that would be great. How do I do that? Well, pair, what do I know? I know it's a function, so gotta return a function and it's gonna take, that function takes another function, a function that selects between the first and the second. So I'm gonna call this selector. Now what I need to do is call the selector passing in the first and the second. It's a little nicer. And if I've typed it correctly, pair now works. This, I find one of the most awesome parts of all of this because it's so much redirection and I'm so happy. Here's my other cap pistachio. Ah, time, I would wait. Can we skip ahead to where it says pistachio? There we go, this is my other cap pistachio, yay. Okay, so back to pairs. Well, we're gonna, of course, simplify this. What is this, anybody? Takes two arguments, return the first. K, it's around our tests, still passing. This takes the two arguments and returns the second one, what is this? K of I, look at that, all passing. So now, look at, that's pretty fun. So now if I come here, oops, it would help if I actually pulled these out. There's my lists. What's failing? Shit. Oh, did I say that out loud? So add to list, so empty list takes a pair. Add to list creates a pair. Empty list takes the first item of that. Tail takes this, and then is empty list takes the list? Where are we failing? This is always the bad part of coding. Say that again? Thank you. Oh, it's always the horrors of live coding. Thank you very much, give it up for the him. Okay, so now we can actually tell what the rest, the tail of our list is. So what's left, well, it sure would be grid. Let's create another list for ourselves which gets the false with an empty list. I'm gonna move this up here. So list false is one element list that has false on it. So let me, I should be able to grab the first element because of course it doesn't do you any good if all you can grab is the rest. So now we've got tail of the snake, let's use head. So I should be able to assert the head of the list true and refute the head of list false. And what really just to make it sure is I'm actually going to assert the head of the tail of list false true. So now I have a two element list. I'm gonna take the tail of it which should be true false or true and then take the head of that. So we've seen this before, uninitialized constant. Head, wow. We get the same problem that we had with the other one is we're not keeping track of the element. So we can't really make a three pull. We could but we're not going to. But what we can do is instead of just having this list let's make it a pair of the element and the list. At that point we have to have this be a pair of I and I. There's a few things that we could do to make empty list better but we don't care that much. Is empty list still takes the marker? We're always maintaining that marker. The tail is, what is it? It's the second element of the second element. So I have a pair, it looks like this. Marker, comma, element, comma list. So the second item is the node. The second item is the list. Head in this case, oops, takes a list and it takes the first item of the second item of the list.  This is ugly, naming is super important and if I come back to this in like an hour I'm gonna have no idea what I just wrote. So let's extract that out into something like list node. So if I give it a list it actually just returns the second item and once I'm there I can just change this to list node and this reads nicer I think there and I'm all passing. So what I've got now is I've got a list. I started, let's recap a little bit. I started with these two lambdas, I and K. The identity function and I'll let you in on a little secret this is actually called the K combinator if you ever like actually go in and look at lambda calculus and combinators. There's a guy named Reg Braithwaite who wrote a great book on combinators that are worth doing it.   All of the combinators have names. If we had time we would do composition and composition is called the bluebird. Combinators are awesome. So we started with I and K, we built up a Boolean structure, we built up assert, we built up if, we built up true and false. We then got and we played with not. You could see probably with if that we could build up and or and all of these things. We made pairs, we have tuples now and with tuples once you have tuples you can make lists. Now imagine this, imagine you took lists and you had the length of the list be numbers and now you have numbers and once you have numbers you can assign characters to them and once you have characters and lists you can make strings and you can build up the entirety of everything with just these. So let's get back to things that are relevant to your day to day life. Hope this was fun. Here is your treat. A pictures of both Squeaks and Pistachio. Thank you.


Hello, I am Martha, a member of the Spark of Humanity Network. We are here today to talk about hope and how the concept that there's a spark of humanity in each one of us can bring us to a place of a hope that is engaged and vibrant. It isn't the sitting in the bleachers crossing our fingers, twiddling our thumbs. People thinking sort of hope is the sort of engaged gritty down on the playing field sort of hope. And with me today are Axie Noyes, also a member of the Spark of Humanity Network, and Amy Lindemann. Also a member of the network. There is a podcast that is available on the Spark of Humanity website, www.sparkofhumanity.net, that is an earlier conversation between Axie and me about this issue. So you may want to listen to that and it may also be available on the Orca media website. So Amy has agreed to come today and ask, having listened to the podcast, has agreed to come today and ask Axie and me some questions that sort of clarify the issue of how the dynamic, how understanding and claiming our spark of humanity can get us to a place where we feel hope for the world as it currently is. And we're filming this in the 23rd of October in 2020. So that gives you some context. Amy. All right. So these questions come as a combination of a number of different people that viewed the first podcast. So start from the top. So during these unknowing times with COVID and the election, guided meditation is a way to develop and increase the spark glow, as you have said. Are there other ways that people can develop mindfulness of spark or increase their spark other than guided meditation? Maybe there are other self-practices that you do. Thanks for asking. Did you get that question, Axie? Yes. Okay, good. Good. Do you want to respond to that first or do you want me to go first? You go. Well, yeah, I just think it's in using the techniques that we practice inside of the meditation. We actually practice envisioning ourselves, meeting others, first of all, where those conversations have been on the phone. So we only hear each other's voices. Then we picture our sparks, our individual sparks, and then we picture the sparks of those on the phone. And then we picture the sparks of people in the future who might be listening. And each time we picture them, we picture our own individual spark of humanity meeting the other sparks. So how to do it is to, when you're actually meeting people or on the phone with people or in any kind of interaction, it's not necessarily I would, for myself personally, it's not just people, although that's really where our problems are today. But with birds, stones, important objects that come into our life on a daily basis to practice acknowledging the life within that object or being. And it's like a rainbow. I have a pot of gold. You have a pot of gold. I have a pot of gold. You have a pot of gold. So anyway, that's, and it's very simple. Not it doesn't take a lot of time, but over time I think it has an effect. And I'm just praying it has a big effect. It's not something we can actually see, prove that this is working. That's hard to do. But what I do know is it helps me, I think it helps, has helped Martha. It strengthens something. And so that's. Okay. Thank you. Thank you, Axie. The I personally don't envision my spark. The guided meditations are, links, access to them is on the Spark of Humanity website. And that's a guided meditation that has up to now been led by me helping people connect with their spark and connecting through their spark to other people's sparks. And that's the basic way that's out there. When I first began to do this work, which was 40 years ago or so, it was a matter of connecting between my spark and the spark of someone I was having a hard time with, or someone I was scared of, or someone who I might have a hard time with, and just from my spark connecting with their spark, hopefully before I'm in their physical presence, because I get rattled in the physical presence. But if I have a moment or a day or a week of preparation, and I'm going into a challenging situation, I can connect with my spark through my spark to connect with an affirm these other people's sparks. And that acts to strengthen my spark, although that wasn't the point. That's only become evident in the past three or four years. But it acts to strengthen my spark, and hopefully their strength and spark acts to erode their defenses and release their distortions and clarify their bafflement, as it says elsewhere in the videos that we've given on the website. And a little book that we use. And there's a little book that we didn't bring with us today. So there you have it. But the guided meditations are a recent acquisition and recent growth of this. Development that came from the Roots groups we had in 2017, which is what brought Axie into the work, I think. And that's what's obvious out there. But the personal work, it's useful in any situation of conflict, or potential conflict, or anxiety, or fear, or any of those things. Because when I through my spark connect with the spark of humanity and someone that I'm scared of, or don't like what they're doing, or wish they'd just go away. And I know I'm old enough to know they're not going to just go away. And the only, the constructive, not the only maybe, but what I've learned as the most constructive way of engaging is my spark to their spark, and understanding that it seems that when their spark is strengthened by my affirming it, that their defenses are slightly eroded, and their distortions are maybe a little released once the defenses are eroded. And then their bafflement may be clarified. They may have more of an understanding of what got them scared. So that makes them less scary if they understand why they're scared. Great. Good. How has the spark knowledge changed your life, personally? How has the spark knowledge changed your life, personally? For me, well, it's given me a base to go to in relationship with other people. It's not something, actually, to be honest, it's not something I am necessarily conscious of in the moment in a conversation, but I've noticed that the quality of communication is different before the conversation even starts. And this is not with some ideologue or some archetypical being like political TV person or something like that. This is with people that I speak to. Not that I don't apply the spark work to people like that, but more in my own locale and my zip code. It changes the nature of my base. I found that it changes the nature. And I'd have to say that there is a trust now, a trust, a kind of faith, something that has strengthened just the base that I'm, the gravity, the space that I inhabit when I am in contact with others. I try to come from, it's a different place I'm coming from. So yes, I think it has profoundly changed my life. And it's not in ways that I can necessarily articulate. I probably should have, you know, I haven't done my homework. But that doesn't mean that I'm not telling you the truth right in this moment. It's not something that I can, I'm not sure I'll ever be able to articulate how it's changed. But the, it's inside work that you do with others. You practice this work with others and it's inside work. So we each have our own, in the guided, even though it's guided, we have our own internal work that evolves out of that guidance. And so we're all kind of moving in the same direction, but each with our own connection to the world. And you know, I'm not sure how it changed, although I think it strengthened the faith and trust that I have in people. It's lessened any kind of fear, which is a good thing. Anyway, that's all I have. So the question is, how has the spark work or concept changed my life? Yes. Well, most obviously during this time of pandemic and the incredible horrors that I am aware of in the world around me, it's given me a sense of purpose. It's given me a sense of trajectory. It's also an instrument of my formation as a human being because I believe in this work and I know that my well-being, my wholeness are contingent upon my being faithful to this work and true to this work, so it's keeping me, it helps me stay on the path. Anyway, it's, because it's been forty years, and I would have grown and changed a lot in forty years anyway, let's hope. It has, speaking of hope, it's given me hope because through the spark work I found early on it was just about changing you, strengthening your sparks. I'm fine, thank you very much anyway, but doing this work and it was through Axie that I became aware that, oh, they're my own defenses and my own distortions that are getting in the way of my doing the work, so I become aware that, because the basic unit is I cannot claim my spark alone. In order to claim my spark, the action of claiming my spark, which is the foundation of the work, requires that I connect with and affirm the spark and someone else. So that's how I connect my spark, how I claim it is in connection with someone else. So when I do that and I am connecting my spark with their spark, my spark becomes strengthened. And as my spark becomes strengthened, like I want their defenses to erode, I want their distortions to be released, I want their bafflement to be clarified, I might be willing to have my bafflement clarified if I'm willing to admit that I have any bafflement, of course, which is always an issue, but I become willing to have my defenses eroded through the work because I believe in the value. And I become willing to have my distortions released. I can't put words on my distortions, except maybe they're in the process of being released, but I know that I have them, I have to admit I do, and to allow them to be released and that allows the process we talk about in the network that we're all creatures of an ever-evolving multi-dimensional dance. And we're not going to get into the dance too much, I think, but the fact is it's in motion and it's a multi-dimensional thing, and the dance knows where it wants us. We have each have our optimal place within the dance. I don't know what that is with my head, but my spark knows where it belongs. And the dance draws my spark into my right place in the dance, my right size, my right relationship within the dance, and it's at that place as I get closer and closer to my right place in the dance, which is, of course, ever-evolving and multi-dimensional. So I can't say, I've got it today, that's great, I'm set, because it's ever-evolving. I need to stay alive to the dance through keeping my spark as undefended and undistorted as possible. And so that gets me to the relationship in the dance where I find hope, because I'm in touch with something, I'm in touch with the living tissue of the dance, and I really get it viscerally, that I'm a member, a creature of a dance that's infinitely large, and it's in charge and it knows where it's going, and I don't, and my only joy and comfort are in cooperating with the dance and being a part of it and enjoying it. Thank you, Amy. So going off of that with the dance, what do you feel happens to our spark when we pass on this plane of living? When we die, do you actually have any sense about that? I don't think anything happens to the spark. I think the spark stays a spark. And maybe it joins other sparks who have been transformed in that, basically when we die, the body stops functioning, but the spark is not just the body, it's always something beyond that. So I would say, you know, the body, look, to answer the question that you just asked before about how did it affect our lives, basically you're asking us, the whole point of the work is transformation. That's the whole deal. So you're asking, two people who have been caterpillars and might, at this stage, we might be in cocoons now. I'm not quite sure where we are in our transformation stage, but you're asking us to describe something that is ongoing or asking a butterfly, you know, that's just hanging from the milk weed, you know, with wings that it doesn't quite know what the heck is going on, you know, what's going on. And it's very hard to describe human transformation. And I think it's profound as that is, and in articulate as I'm being right now, that's the same thing that's ongoing in death. That's what I would say. The spark is, it's another transformation, radical, radical. But I don't think the spark will prompt, my spark isn't going to blink too hard. My spark is much more in, it's not an intellectual exercise, but my spark knows what to do, knows the work. I'm the problem with my spark. I'm like a sea anchor. My spark is like, you know, a hunting dog. It knows what, it's on the scent. And I think that's, you know, as willing as I'm being to release these delusions and distortions and, you know, the ways that I might fool myself, my spark is fine. I would say more simply that I think my sense is that my spark just goes back to the fire that it's the spark of. There you go. Alright. What are the biggest distortions and erosions that you see and yourselves or other people? Distortions and erosions or all the defences, delusions, what are the biggest ones? Sure. I think there is a delusion and a distortion of, we are actually, we come by it honestly, our school systems don't help in this regard. I think that's hard. Our society doesn't help. We are taught to believe that we're separate.  And it's a weakness to ask for help. So, yeah, I think that those are the, at this time, those are the main problems that we have.  You know, yeah, these are big ones, big ones. Okay. Let me, the way I have to think about this as I have to start with my understanding of the way this develops is that there's a baffle month. I don't know how to handle something. When you come out of the womb, how do I, how do I cope? What, what do I do? What do I need to do in order to be safe? So, that creates the distortions. Maybe if I smile all the time, maybe if I, you know, do whatever, we tend to pretzel ourselves in order to feel safe. And then that hurts. And we don't want to be aware of it. And so we create the defenses to, to keep people away from our distortions and to keep us from feeling our distortions because they're painful. And they come from a baffle month. So the, the primary distortions are, they're, they come from the, they come from the, the lack of, of appreciation that there is a spark of humanity in everyone. And that therefore feeling that power over has any meaning is anything other than just silly and or destructive. And the, the, I'm losing it here. Let's see if I can find it again. The distortion of, it's all fear-based. The distortions all come from fear. And so the, I don't tend not to look at problems. I tend to look at solutions. The solution is to appreciate the spark and the power of the connection of the spark and the sparks in communion and the sparks working together and the power that that happens. It doesn't mean looking at the nature of other people's distortions or the nature of defenses. They're there. And if I start talking about the distortions and the defenses that I see out there, the only way for me to see them is through my projecting from my own distortions and my own defenses. And that, that doesn't solve anything. It may, if I'm awake at the moment, help me become aware of my defenses and my distortions. But they're all basically fear-based. They're all because we, we want to be safe. We need to recognize our inherent safety that our sparks cannot be extinguished. They cannot be corrupted. They cannot be destroyed. They cannot be destroyed. They cannot be put out. They are safe. They're fine.  And that's what causes the problems and then we project on other people and we feel separate on all this stuff. But we all have this, we all have a spark of humanity. All sparks are made of the same stuff. Sparks have a natural affinity for each other. So when we begin to realize that and practice that and work our way down through, this is what I've found for myself, it's a geological process. The layer upon layer upon layer of delusion, of distortion, of defense. Decades in my case of building up beliefs and habits of response that are based on the illusion of separation. The lack of trust and awareness of the infinite life of the spark. And I think, last question maybe before we pause, but is what can alter your spark in ways that can impact your life negatively? You got an answer for that one, Axie. What can alter my spark? In ways that can impact your life negatively. The lens through which my, the stuff that is me that surrounds my spark, the idea of who I am. For instance, if I am convinced in a certain situation that I'm a victim and that it's that person out there that has victimized me. And it may be that I've actually was a victim, but over time I might continue to decide that I'm still a victim because that's the very good defense. I can't, I'm protected then. I can't make a mistake if I'm a victim. And that's the kind of thing that you begin, or one can begin to become aware of doing this work, that you, oh my goodness, I'm choosing to be a victim. So it can be, it's challenging and a little scary sometimes because to step out of that, that is a defense, you know, to take down that wall or to let that wall erode by, but this is the trick. I can't really just do it on my own. I need to connect with another person in order to bring down that wall. And it may be just to talk about the trap of victimhood, but I can let it melt away by talking with another person, another, and recognizing their spark, letting them see my weakness, my whatever, things kind of melt. It's wonderful. So, okay, so nothing can impact my spark negatively. However, doing this work, if I'm doing it deeply, when I'm doing it deeply enough, things can start changing in my life. I can find myself responding differently. And that can be scary and that can feel very uncomfortable. So it can feel negative, but there's nothing negative comes from this process. It may bring into, it may wake up some illusions, some delusions from the past, but it's all safe. The process cannot go wrong as long as I'm in touch with my spark and paying attention to that, acknowledging the defenses, the distortions and the bafflements that pack around it, but knowing that they are not real and that they are being eroded and released and clarified through this work. Awesome. Time for a break. Time for a break. Thank you much. We'll be back. Welcome back to continuing on with the questions. Why is now the time for the spark work? Well, that's a good question. Martha, could you take off your mask? Oh, I could take off my mask. Just for this. Right, yes, right. It's such a nice mask though. Why is this the time for the spark work? Well, it seems to be the time for the spark work. And the spark insight, as I said earlier, came 40 years ago, so it's been sort of brooding, festering, composting, stewing, did I say brewing, brewing and brooding for that period of time. And I personally have been waiting for, I mean I've been open to waiting for application. And it first clear application was during the Standing Rock crisis of summer of 2016. That sort of got the spark of humanity network started and that it has continued to grow through the roots groups of which actually was an early part. And then the network and the website and all that has been growing. But the particular use for it at this time is in the history of humanity I would say there's never been such an obvious time of crisis. The environmental, if the planet can survive what we're doing to it, what we've done to it, that'll be grace. I'm not sure maybe the planet has a spark of some sort that I like to connect with to encourage the ecosystem to continue to sustain us and to be resilient and generous as it has been since it was first created. Just that is one reason. And everything else that we all know that I don't need to delineate because each one of us holds it differently but the spark word gives us a point of engagement that everyone can do. No one is hopeless. No one need be hopeless. No one is helpless. No one needs to feel frustrated about what can I do because spark work is something that everybody can do regardless of their mental capacity, their physical capacity, their age, their political party, their gender preferences, their prejudices, where they live in the world. Spark work is available to all human beings and there's never been a time when it's been more needed more broadly throughout the planet. To me, Martha said we started with a root work back in 2016 and with the water protectors and trying to develop a way of supporting them perhaps without the ability to actually be there. We couldn't have known that we'd be where we are right today and yet to me this work is, it matches up, it parallels. There may have been other times in our history where things have been this bad but there's never been a time when we all knew it. We're all together in this knowledge and to me that's why I initially was talking about connecting not only with human beings but with our connection with the earth, with wild animals, with stars. Basically I think that it helps transform us as human beings to understand what we are here to do. That a lot of the things we talk about, bafflement and distortions are in our belief systems as to why we are here, they are attached to those. Is it really that we're here to acquire stuff and get rich and stop on somebody else's back so that we can think that we're higher in some kind of social pyramidal scheme? I don't think so. To me the spark work and to put it in a nutshell is and why now because it's so desperately needed that we remember who we are and why we're here and make sacred our relationship with each other and with the earth and the world. It is the sanctification, whatever, make sacred again and to recognize it's not like it's ever not been sacred, it's just that we went wandering off the path. We're way off the path and this work helps individuals come to a place where we can put ourselves together, back on the path, help each other and not have to necessarily breathe in each other's faces in the process of doing that work. We can do it if you have a phone, even if you don't have a phone. One of the things that Martha says and then I'll shut up during the guided meditation is when she's making a transition to another part of the meditation she says remembering that we can always return to this work and that is when we're off the phone and we're not in direct communication with each other. We can still pick up the work and do it. You don't even need a phone, but it's nice. Isn't it amazing and wonderful that we have all this technology now to help us to do this work and connect when it's so important that we do? I would also say, taking on that, that it's affirming the dance this time it's recognizing our place in the dance and affirming the dance so that the dance can go more joyfully and with less collateral damage. You both have made a reference a couple of times to the root work and I'm just wondering what's the difference between root work and sparks work? That's a good question. Let's see if I can think of an answer. The roots groups came in early 2017 when the shock of awareness of the depth and of the divisions in the United States became evident to people who had not been aware that this country was as deeply and tragically divided as it is and people were reeling as if they were palm trees and a tsunami and an earthquake. Some of us thought, if you have a sturdy strong root system you can go with the breeze and the earthquake and you'll be okay.  That brought the idea of creating a setting where people could get in touch with their roots which is their access to the resources they need in order to feel safe enough to be willing to be transformed by the spark work because we have to be willing to be transformed in order to be agents of transformation ourselves. The roots groups, thanks to the local Kellogg-Covered Library who sponsored the series that winter, were about encouraging people to connect with their root systems which have boiled down into stability. We need stability. We need access to wisdom or truth, whichever way you want to say it and we need a sense of community and when we have those we are strong and we are safe and we know we're safe, we recognize our safety and our spark can do the work at once of transformation. So that was the roots work, the groups were around that. At that time there was no thought of doing what we're doing now and the guided meditations that Axie referred to a couple of times on the telephone which is just easier than Zoom for some of us. But the roots groups started with reading the little spark booklet and we went to our sparks first and then the sparks would know what the roots need so the sparks would sort of direct the roots. The spark work is just the current iteration of the roots groups but if people wanted to start roots groups in their area we'd support that and help them do that but the spark work sort of has folded that in and continues it on. For me the root work was looking back one can see a little bit better and imagine for me the root work was almost like being in utero connected to it was practicing in that it was nurturing it was embryonic in the nature of the work that we were doing it's sort of a beginning phase and it's also to me it was a lot to do with the nurturing of understanding and again practicing this was we were practicing together and actually together not virtually but in a space together where we were envisioning our roots going out and touching and then these roots were magical roots because they could go across the country and around the world I mean and to be nourished also the idea of a tap root that goes so deep in the earth that it hits an aquifer that is referred to as wisdom the aquifer of living wisdom these are concepts that are helpful in the work to understand because they're real and yet sort of baffle the mind in the process of working with them because you're kind of thinking gee I'm making this up well we are we are making it up but that does not mean it's not real before there was airplane somebody sat around and drew pictures of something this is something we do as human beings we make this up and that process it becomes real and so yeah I felt it was and still to this day it's a wonderful thing to be able to sort of revert back to an interior world where we're fed and we actually breathe through our navels you know through a whole different system that is beyond our ken as human beings here but we breathe in a different way and we're fed all through one source and through a mother source that's where I felt the root system that practice was helping to birth this whole new this spark work which is very active and of a different nature but the roots meditations are now part of the spark and I don't breathe through my navel axi maybe I just want to let you know okay thank you Amy in a world where we spend so much time on zoom and telephone calls how have you guys seen COVID affecting the spark or the spark work well pre COVID people didn't spend so much time on the video or on telephone calls so that was that was good didn't I mean didn't do zoom so the COVID the pandemic has been a great boost to the spark work as far as I'm concerned because it's it's sort of during the particularly the early points when people were very isolated and locked in they were looking for anything to do that might be constructive and positive and new and different and so it's been very helpful and we had a series of meditations engaging the pandemic and eroding the domination system which we're not going to go into here but it's it's it hasn't it's been helpful it's been it's been like a the pandemic has been like a poultice that is drawing the spark work to visibility and to make people aware of that there's this opportunity yeah I totally agree with that I find myself in greater communication in other words because of the absence of of friends and family and humanity that is physically in my life I am reaching out more I realize what I'm missing I think my God what a gift I had and I didn't even know I just thought it was always going to go on that way forever and to have this this is the gift of the whole thing is to that we're I have the opportunity to know what this is like and while at the same time having this odd virtual ability which is to me like face to face light so I have to do twice as much of it in order to for the same effect so I find myself yes I'm using this more than I did because sitting with another human being the way we are today is so much it's like it's stronger you know it's it's more powerful it feeds me to a greater extent because that's what I'm used to as a human being now I'm learning how to appreciate us in our little boxes in zoom and on the phone and face time and stuff like that I'm learning to accept the fact that there actually is a human being on the other side and I'm not thinking it's a bad thing I'm actually just totally grateful that we have this I don't even sit around and talk about oh I wish it was the old days because that sort of puts down the gifts that we have these tools that we have that we can use in this time and we better use them so we are currently a week and a half away from the election and what happens when your spark does not agree with other sparks for example like in the election is there a way to change this how do we get past that my good question my spark always agrees with other sparks my my bafflement may be heightened by other people's distortions and defenses because my bafflement is heightened my and the fear comes up the distortions my distortions may become activated and become stronger and fiercer and therefore my defenses may get stronger and more hostile and of course when I'm doing that the spark of the other person the same thing is happening with them they're because in the interaction if we're not in tune with our sparks and I'm coming at them from my defenses and my distortions they're going to be scared they're going to be baffled so their distortions are going to become tighter and more distorted and more twisted and their defenses are going to become more hostile and more egregious so the solution that the spark work offers and we've had to grind through to come to this point to get to this understanding that the solution for each for me personally and everybody else is welcome to take it too right is that when I claim my spark and connected with the spark in the other person I know that my spark has an affinity with that person's spark and I know that everything that makes it difficult for me to connect is my stuff and so it's a matter of the language we use it's am I willing to be transformed in order for my spark to connect powerfully with the spark in that other person am I willing to become willing to be transformed hopefully I am because that's the only way that's the way that the spark work gets traction in the world in the current situation so it's on me because my spark and that other spark are just happy to be together they are just they know they're the same stuff they like being the joy for the spark it's all the rest of the garbage and I only have control over my own garbage and the way to deal with my garbage and that person's garbage is to strengthen my spark and I do that through claiming my spark and affirming and connecting with their spark I second that totally I don't know how many more questions Amy has not many and I think maybe that's all I need just yeah there is no disagreement any kind of thought around this my spark at first I was a little confused because I thought I was directing my spark and in this you know let's say we're in a phone conversation and I'm in a guided meditation thinking I was directing my spark but actually after I learned the process which is very similar each time my spark it was like a little puppy dog or a horse that knows what to do I any kind of manipulation I was trying to put on my spark was not helpful so I just realized I'm riding my spark my spark I need to trust that and I need to try not to think too much because when my spark let's say my spark confronts an enemy which I perceive in my mind this is enemy I have to let go of that and just let my spark do the work if I'm thinking enemy enemy then all these defenses and all this crap starts building up so it's a question of trust and it's not I'm not saying I can do it easily but that's what it is it's letting go of these ideas that come along with the work when you're in the process and maybe the face of someone comes up and you realize this is a person and you'll think enemy and then try to release that like a bloom that's just a thought and then the spark goes and the spark spins around and they they do what they do and then you have some faith that it might take time for the transformation you know those things may take time and that's out of my control and as thank god it is thanks X what is it about spark work that allows for hope I think that the basic the basic tropism the basic draw of spark work is towards hope hope for a better world it's simple it's accessible it's powerful on a very subtle and unquantifiable way and what I'm finding is that it draws me into touch with the fabric of the dance there's something I think of it as fabric or tissue a living tissue from which all life and creativity emerge and that's a tissue from which the dance which generates the dance perhaps the dance of which I am a creature the dance creates me and I'm a member of the dance so it's very abstract but thanks for asking when I get into when I get into when I become right sized and in right relationship with true relationship with all that is then there's hope because all that is is bigger than me and when I look around at the history of the formation of this cosmos this universe and the development of life and the beauty and the power and the experience that we have here on this blessed planet that I know that there is something larger and very creative and very good and very uncorruptible like the spark and that the closer I am into that the more I experience life within myself and around myself and there's that hope of that hope of the engagement that I am where I need to be where I belong in the dance and that I'm affirming the dance and wholeheartedly participating in the dance and that's where hope is because I trust the dance because it's so much bigger and better than I am it's the way of putting into action it's the way of participating when for me when I sometimes feel that there's nothing that I can do but it's also it can be challenging and that I, this is a personal admission I sometimes find myself doubting that it can this really work and and yet I have evidence that it works in my life therefore the challenge is to just see that if it works for me and if it works for you and if it works for you and it's helping what does this add up to it does that, what is that and and is that lake of living wisdom that aquifer of living wisdom can I access that can I be a part of this in a meaningful way through my through my mind but it's not necessarily by being really smart or something like that no, no it's from being willing and being open to transformation for the good so that's all. So thank you both for your thoughtful answers and time you know we've over this time covered death the pandemic at large the election and just wanted to give you guys space if there was any big takeaways you wanted to make sure that people knew or if there's anything that came up for you that you want to cover that we just hadn't had time to cover yet. Thanks Amy. I would just encourage you to look at the spark of humanity website and go to the events page if you're interested or just cruise it see whether you want to explore these insights we're just it's like yeah it's a it's an experiment here and the guided meditations that Axie's been referring to the schedule is on the website on the events page so we welcome you to join us anytime. Thank you. Thank you Amy. Yeah thanks Amy. You helped to reveal more more shall be revealed and hopefully you'll come back and help us to reveal it. Thank you. And thank you Orca Media. Thank you.