Yeah, so as we approach finals, in the past we approached the different midterms you had to be able to study guys, and my question was, will there be anything like that for the finals? Nope. So there will be, for the final, everything is fair game for the final. Okay, so just reference the other stuff. Yeah, so what we will be doing, I believe, in recitation sections, the TAs, and we've just started talking about this, but they're going to go over all of the midterms that you've had, because there are some in there that people do not do well on, so they will go through those problems from the actual midterms that you took. In addition, the undergraduate TAs have gone through the previous finals of Spring 2015 and Fall 2015, and they're going through and solving them and recording and posting those videos. So when I get those, I will post them up and post links and send them out, so you will also have access to all of that. So you get, there will be a lot of material and lots of ways to study. Okay. Which will, in turn, be graded? Before the final. It's actually in pretty good shape right now, but I think we're, I don't know if the total number is, but it's hard to do different versions, but hey guys, it's, I wouldn't say, it's like 30% graded right now? So it's actually pretty good. Any other questions? Class related? Alright, let's get back into Lambda Calculus. Alright, so on Wednesday, okay. On Wednesday, we were talking about Lambda Calculus, and we're specifically showing how we could use functions in Lambda Calculus in order to represent various concepts in programs. So specifically, we were looking at Boolean logic. So could we mimic and develop Boolean logic using only Lambda Calculus? So what did we start with? We wanted to develop Boolean logic. What did we start with? True and false. What were true and, I mean, not specifically what were they, but how did we define true and false? Somebody else. Did we define them as a 1 and a 0, like in Boolean logic? Yeah, we defined them as functions, right? So we actually defined them as functions. So we can go here and quickly review. So we have true is basically a function that takes in two parameters and always returns its first parameter. False is a function that takes in two parameters and always returns its second parameter. So this is just a definition. And another important thing in here that we haven't talked about is when we say true is equal to this, we're not giving this function a name, true. We have functions with no names. All we're doing is simple, like mathematically quality, where everywhere we see true, we can completely replace it with this and it's exactly the same thing. So the true, the t and the f symbols are really just short hands for us to express this function here. And then we saw that we can use this true and this false to build up logical functions. So here we have an and function. So we know when we did the truth table, we know that and should only return true, both parameters are true. And so we saw that by constructing and defining our and function like this, that's something that takes in two parameters. And where these two parameters are either going to be the true or the false that we defined, we can then define and. And we actually went out and saw exactly how we calculate that yes, and true and true returns true. The same with and true and false and and false true and and false false. So we walked through all of these, then we defined a not function, which takes in one true value, true or false and returns. If it's true, it returns false. If it's false, it returns true. It's exactly the not function that we would think. So that brings us up to now we have logic, right? Using and and not, we can define any of the other Boolean logics that we can do ors, XORs, whatever, any type of thing that we want, using these functions, even using these functions, or we can define new functions. But that kind of idea there is it shows you a little taste of where we are and then where we're going. So now that we have this logic, we can express complicated Boolean equations, which is what we want. But in programming, do we just want Boolean expressions? What do we use Boolean expressions for? Conditions. What do conditions do? Yeah, so they allow you to change the execution flow of your program depending on the result of some Boolean expression. So how did how does how do Turing machines do branches? How are they represented? Yeah, so Turing machine, right? Each state that the Turing machine is in depending on what the current, what is currently pointed to by the head if it's a 1 or a 0, it can do a different action. So it can take a different transition. So it can essentially read and then decide which way to move depending on that. So we need something similar here. We need some kind of branches, right? We want to be able to say, hey, if this expression is true, execute this true branch, if this expression is false, execute the false branch. So our if statement, if we think about our if statement as a function, what should it take in? A Boolean logic, so some kind of Boolean, what else? A true branch and a false branch. This actually has a lot of parallels with your project 5 that you're doing, right? You are creating these data structures that represent if statements, right? This is a very similar thing here we need to do with if branches. So we want to be able to essentially say if some condition C, then do A, otherwise do B. So it's very basic. The idea is, and so in the kind of language we looked at for Hingley-Milner, what would this if condition, what would it return? Which expression? A or B, depending on the condition, right? So lambda calculus is going to use similar ideas. So here we don't necessarily just want to execute A or B. We're going to return either the function A or the function B, whichever one it is. So what we want is some function like this. If C, then A, otherwise B. So if in this case it should be taking about three parameters, right? And depending on the condition, if the condition is true, it should return which parameter? The second one, A in this case. And if the parameter is false, which one should it take in? The third. So we want essentially if C is true, then return A. And if C is false, return B, right? This is the basic logic that we want from our hit branches. And so the beautiful thing here is that, well, our condition. So what was the semantics behind the way we defined true? True takes in is a function that takes in how many parameters? True takes in two parameters and which one does it return? The first. So what is this branch? So if this is true, which one does it return? The first one. The first one, if it's false, which one does it return? Which is basically the way we've defined true. So then we can actually define our if function essentially as the identity function. So it just takes that first argument and returns it. So we'll use that condition, whatever that condition is, if it's true, we'll choose A. If it's false, we'll choose B, based on the way we've defined true and false. Let's walk through an example. We have if true AB. So our if we're going to substitute out for lambda A dot A, just the identity function, right? We've seen this function many times. So we have a beta reduction here, right? We're going to substitute in this body, substitute all three As in this body with T. What's that going to give us? T. T. So T, true AB, what's this going to return? A. A, based on the way we defined true. And is that exactly what we wanted from the semantics here of if true AB? Similarly with false, if false AB, well we substitute if with the identity function. So we're going to substitute inside here all three As with false. We do that, we have false AB with this return. B. So we basically, so I think a couple of people asked some questions after class on Wednesday about why specifically true and false would define this way. And I kind of said it's arbitrary in some sense, right? You just have to, you have to define what is true or false and you have to use that to build everything up. But some of the benefits are here you have true that's basically doing the if function shot, right? So this means your if function doesn't have to be complicated at all. Questions here? So that's it, branching. You got branching for free. Now things are going to get a little bit weird if they weren't already. Now we get into the numbers.  We're dealing with numbers, adding things. And yet here, now we have a language. Do we have, so think back to the syntax on lambda calculus. Do we have tokens for numbers? Can we write 10, 1, 0? So an ID, so we're using ID very similarly to what we think about ID, how we've been defining it all throughout class. So it starts with an alphabetic character and then any number of alphanumeric. So even just a simple 10, right? We can't define our current lambda calculus. So earlier when we were saying plus, let's see, 10, 20, right? We can't even write this. This is not a valid lambda expression. And yet, I'm going to try to convince you that we can still do mathematical operations and we can still represent integers. But we'll probably use the tricks that we did in Boolean expressions and we'll represent them using functions. So basically we're going to create a one-to-one mapping from every number to a function. And it will be very clear by looking at the function, which number it is, and by looking at a number and figuring out which function it is. And so I believe this person is Alonzo. Alonzo Church is the one who created these numerals. So just like with Boolean logic, how you define your numbers, like how you define true and false impacts how you define ands, ors, nots, if conditions. Similar thing here. We have to define numbers and then we have to define operations on those numbers. How do we define addition? How do we define multiplication using these numbers? And so there may be other ways to represent numerals and numbers, but we're going to go with the way that Church defined it. I don't have the exact date, I want to say sometimes in the 40s, but we can look that up. So, okay, there we go. So all of our numbers will be defined as functions that take in two things. Two parameters, an F and an X. So zero will just be X, which is the second parameter. So what does this make zero equivalent to alpha equivalent to in what we've seen so far? Just X, false. So this is the alpha equivalent to false, right? False took in two parameters and returned in second parameter. This zero takes in two parameters and returns in second parameter. Which actually when we think about it makes a lot of sense when we think about how we use zero in programming languages, right? A lot of programs you can do if with a number, even in C, right? You can say if zero and zero is false and any non-zero value is true. I don't know whether that's the case. I don't think any non-zero value here will be true, but we have that nice kind of symmetry here, which is pretty cool. Okay, so zero is false. I'm going to kind of show you some and we'll build up. We'll see the pattern. So first you want to see the pattern of what the numbers mean, and then later we'll try to go with why this actually works. It's one of those things that's all interconnected. The numbers, the way they're defined, work because we can define addition and multiplication and subtraction. Subtractions look very difficult, but hey. So one is going to be X, X, so two takes in two parameters and applies the first parameter to the second parameter. Two is going to call f of X and then apply that to f. Three is going to do this three times, only that you're starting to see the pattern. Four is going to be four. f of X applied to f, applied to f, applied to f. So this is how we're defining numbers. So this is zero through four, and you can see that you give me any number. So I guess I should also preface here. We're not doing negative numbers. We're just focusing on zero and above. So you give me any number, can you construct the function that represents that number? Yeah?  It's 10, it'll be 10, it's 100, it'll be 100 of those f-falls. It's going to get very messy. So now that we have that pattern, then we have to think the other way. If I give you a function, and then go back to the number, so if it's in this form, could you go back and figure out which number that represents? So that's, and it should never be the case, right? That two numbers map to the same, so we want a one-to-one mapping. So it should never be the case that two numbers map to the same function and two functions map to the same number. And I think you can convince yourself that yes, this is the case, because you keep adding fs, they will be distinct functions. Functions on here? Okay, numbers, functions, numbers. That's right. Cool, I did change these. These slides were wrong for like a good two semesters. I think it was only until the very last part of last semester that somebody mentioned that I had the parentheses wrong here. Which is a good point of disambiguation rules. If you leave this as f, f, f, f, f, x, then that would mean these s are grouped together, and then you're together with the other f and the other f and the other f, that would be left dissociative. But we don't want that, that's why we have to put the parentheses here. Cool, okay. So intuitively, what does this kind of mean? So if we have four ab, what this is going to be is basically a, use a, pass it b, the result of that pass to a, the result of that pass to a, the result of that pass to a. So we're applying first b to a, and then continually applying that result back to a, however many times the number is. As to why this works, this is something that, like I said, is all connected. If everybody get the numbers, how they look like at least, we're going to walk through this type of thing. So the very first thing, when we build up addition, well, we're building up numbers, we're going to build up first a successor function. So we want to say, give me one number, what's the successor to that? So that would be, what's the next number? It's basically, you think there's a plus one function. What does it do is it adds one. So it should be that we give it zero, it should return one. And we give it one, it should return two. We give it two, it should return three. And so we'll see we can actually use that as a building block to then build up addition. So we need a function that does this. So when we think about this, successor is going to take in one parameter, where that parameter is a number. So it'll be one of those zero through whatever. So n here is the number. So the way it's defined here, it looks like it takes in how many parameters, based on how we've talked about this. So it looks like it takes in three, but if it looks like it takes in three and it takes in one parameter, then what's it going to return? A function that takes in two parameters, and what types of functions are numbers? Functions that take in two parameters, which makes sense, because it should be taking in a number and returning a new number. So even though it looks like it's three, we'll see that what it returns is going to be a number, where a number is a function that takes in two parameters. And so the way this function is written, we have f applied to n, what's n? What was that? It is an id. In the context of this function, what does this parameter n represent? The number that we're trying to add one to. So we first take that number, we're going to pass in f and x. And so you can... So what is a number? What is one f of fx? So one is a function like this, and it's going to take return f of x. So then we have in here... Wait, I'm going to parse these out. So if I have one, doesn't matter, f of x, what's this going to return? First we're going to substitute in here all the three f's with f, so this will be f, then inside here we'll replace all the three x's with x. So it'll return... If I take this f of x, so this is one, this will be f of x. If I add another f around it in the body, what's this now the body of? Two. So the way I've defined these one functions inherently means that this successor, because a successor function just basically wraps whatever it was around another call to f. Which will then take us from one to two, because the only difference here is f, two to three, three to four. So we can walk through this starting with zero. I think that's always good. You want to start with the base case to make sure your base case works. So we have zero, lambda f dot lambda x dot x. So the successor of zero, expanding that out, is zero, lambda n dot lambda f dot x of f of n of f of x. And so I'm going to substitute into this body all three n's with zero. Do I need to worry about renaming any of these f's or x's when I'm doing my substitution here? Why not? There's no free variables in zero. In the zero function, we know in here there are no free variables here. Therefore we don't have to worry about that at all. That's why I can leave it as this zero. Because I know I can just pop that in and at any point I can expand this zero out. Okay. So now we have lambda f dot lambda x dot f of zero fx. Now the question is, do we still have more beta reductions to do here? How do we know if we have a beta reduction? We have an application, and what's important about that application? The left side is a lambda expression. So we have an application. We have zero applied with f. Zero is a lambda expression. An abstraction. So we have lambda f dot lambda x dot x. So we have a possible application here. We have a beta reduction we can make. We can apply f to zero. So let's expand that out first. So we have lambda f dot lambda x dot x. And so we're going to substitute inside here all three f's with f. There's no free f's in there. That's going to go away. And then we will substitute this x for this x. And so we'll get lambda f dot lambda x dot fx. Which is what? One. This is exactly what we wanted. And so we've just shown that the successor of zero is one. And we can keep doing this. We can do this with one. We can do successor of one. We have the same thing. We substitute in for this n with one. And then expand out the one. And we say this is lambda f dot lambda x f of x. So apply that to fx. We'll return fx. And so the result here will be lambda f dot lambda x dot f of f of x. Which is two. So the successor of one is two. And so this function defines give me any number. I'll give you that number plus one. So this actually shows that by starting with zero you can actually just keep applying the successor function to generate all of the numbers. So using this we can define all the numbers. We can define them exactly this way. And we don't even have to use the kind of hand wavy logic I did where you say you can see the pattern in here. It tells you how to find the pattern. I give you the lambda expression for zero. I give you the successor function. You can now go build any number you want. Pretty crazy, right? We can do the fun thing of addition. So we can have numbers. We can do numbers plus one. Now we want to add two numbers together. So what are some of the cases we want? We want adding zero and one to be one. So our add function and we want, whatever you want, add one and two is three. So let's think about types of this add function. So what should this add function take in? How many parameters? Two. Two. It should take in two parameters and return what? What specifically should it return? A number. A number, right? From thinking about types. It should take in two parameters. Each of those parameters should be a number defined as we define the numbers. And it should return a number defined as we define the numbers. So again, it's going to look very weird because it has to return a function that takes in two parameters, which is how we define numbers. So you can see that it's going to return a lambda f dot lambda x, which is how we've been doing numbers. So it's going to take in two numbers, an n and an m. And then it's going to return a lambda f dot lambda x, so that's all the number. And it's going to be n of f of m of f of x. So we've already kind of seen if n is one, then what's this going to return? Just f x.  And so if n is zero, which what's it going to return? Well, let's just walk through it. I wanted to kind of high level that, but that's fine. Add zero and one. So we can expand out our add function, lambda n dot lambda n, lambda m f of x, n f and f of x. Very quick. Okay, so we're going to do these substitutions, so we're going to call this replacing all the n's in here with zero and only n's with one. So we have the zero, we have the one. So now how many beta reductions do we have in here? That we could do. Two, we have two. We have the one with the f and the x and the zero with the f and the other one. It doesn't matter which order we do these in, as we've said in this class, the order won't matter. Let's do the middle one, the inner one here. So we have one of f of x. So we know what that's going to return is the first one applied that many times to the second parameter. So that's going to be one. So it'll be f of x. And now we have here zero f of f of x. So we said zero was the same as what? False. So false takes in two parameters and returns what? The second one. The second one. So what's this?  And what's lambda f dot lambda x dot fx? So we just did adding zero and one is one. Isn't that crazy? Let's do add one and two. We want to make sure that that worked. So we have our numbers. Remember these are standing in for the lambda expressions of one and two. Again, we're going to substitute the n and the m. So the n's are going to go here. The n's are going to go here. So we'll have one f, two f of x. So what's two f of x going to return? And so one of f of f of x is going to return what? Yeah, so let's step through that because that may not be clear. So this should be three. It's not negative three. This is just... So we can substitute out one. We have here. Let's expand out one. So here we have... We're going to replace inside here all the f's with f to call this first parameter. Correct? And in fact, since we're just focusing on this in here, let's completely ignore this part. Let's just look at it like this. Everybody good with that? So we have first parameter and then second parameter. But we know we're left-associated. So we always do the first parameter. So we're going to substitute inside here every f with f. Cool. Now in here... So now we're going to replace inside here what? x with f of f of x. Right? So let's do this one a little bit more straightforward. So we have this. We're going to substitute x with this. And we apply that to both sides. So we apply it to the f. It doesn't change anything. And we apply it to the f. What do we do? Yeah, we just substitute it, right? There's nothing complicated here that we're doing. So that will be f applied to... And so the final result is... Which is which number? Three. We had one plus two. Let's go back to the addition. So why does this work? Cool. So let's think about this inside one. Right? So m is a number. We know a number is going to return its first parameter applied to its second parameter that many times. So if this m is two, it will be f of f of x. If it's three, it will be f of f of f of x. If it's four, it will be four f's of f of f of x. Right? And then when I apply here with this n, what is this one doing? What does this mean? So we have n of f of, let's say, whatever alpha we can call this alpha or something. Apply f that many times to alpha. So I've already applied f this many times to x. And then I'm going to apply f and more times, which is just going to add to it. So you can think of this m of f of x is going to return some f of f of x. Right? Whatever m is, in this case, it's two. And so this n, because we're using this fixed f here, says apply f and number of times to this. So when we first get this inner result, how many f's are we going to have? m number of f's. And then now I'm applying how many more f's? n. n. So my final result will be m plus n number of f's applied to x. Isn't that crazy? Yeah. I still look at this and it's like, how in the world did this person come up with this? I don't know how many days in white boards, or probably chalkboards back then, you had to have filled with this notation. Then you make one mistake on things, you got to go back and change it all and don't even have a cell phone to take out and take a picture of it. Yeah, it's crazy. But once you start kind of pulling it apart, and that's part of what we're trying to do here and what these numbers are and what they mean and how they're used and how that's used then here to do addition. So subtraction is something we're not going to cover because apparently church couldn't figure out how to do subtraction. He thought it may not have been possible. And then it took somebody else to come up with how to actually do subtraction. But we can do something else that's really fun. Multiply. Questions on addition before we go on? So multiplication, as far as types go, is going to be similar to which function. It takes in two numbers and returns a number. So we should expect a similar form. So when we see at, whatever this one was, lambda n dot lambda m dot f of x, we should expect to see a similar type of definition. And so we want to verify, we'll have the similar base cases. We want to multiply 0 and 1 to get 0. We want to multiply 1 and 2 to get 2. And we want to multiply, let's say, 2 and 5 to get 10. And it should be the case. So the other way to think about it when we look at addition, did it matter what n and m were if we swapped the parameters? No. No, because we're applying f this n many times to x, and then we're applying f n more times. So that doesn't matter which order you do that in. You'll total end up with the same number of f's of f's of f's. Cool. So this is actually going to be kind of cool. So we're going to define multiplication in terms of addition that we already have. And the essence here is, now it's kind of nice. Now we actually don't have an inner x and y. We're just saying take in two numbers, n and m. That makes this thing a little bit easier to understand. And so m do essentially, so what's this inner thing going to return? So this will add n, which will return a function that will add n to whatever its first argument is. And m times, we're going to add n first to 0. And then the result of that will be added to add n. And then the result of that will be added to add n. And the result of that will be added to add n. So we will add n how many number of times? M times, which is going to be m times n. What's another way to do it? You just add, so multiplying 2 plus 5, another way to say that is add 5 to itself twice. Add 5 to 0, you could say. So you have 5. And then take that result, add 5 to it again. You have 10. That's 5 times 2. Add 5 again. That's 15, 5 times 3. You can keep doing that, right? So we can step through this. We have multiply 0 and 1. So we know this should return 0. So we have lambda n dot lambda m, m add n 0 with 0 and 1. So we're going to replace in here all the free n's with 0 and all the free m's with 1. So we have 1 add 0, 0. And so with 1, 1 is a function that takes in 2 parameters and returns the first parameter applied once to the second parameter. So this will be add 0 to 0, which doesn't return 0. This is in there? Yes. If you said, OK, write a multiplication function you must have write out the 12 characters. So you can use it like this as long as you're doing it correctly, right? Yeah, you should always, you know, you can use these symbols that makes it a lot easier to understand semantically what you mean. But if you're using them incorrectly then... OK, let's look at a more interesting example. Multiply 1 and 2. So we have our same thing in here. We have the definition of multiplication. And we can see substituting 1 in for the n and substituting 2 in there. So we're basically going to do first add 1. So remember, the way we define numbers applies the first one f of x and then f of that result. So this is the same as add 1 to 0 and then add 1 to that result. So we have add 1 and 0, which is going to return us 1. And we have add 1 and 1, which is going to return us 2. So now we get to 2. So, and like I said you can build up subtraction and then I think when you have subtraction you can do division, which is pretty crazy. So now with this we have pretty much the basics of a very hard to write programming language but we still have, what do we have here? What have we defined in this language? We have functions, application, we need call functions and then using those two primitives, right? That is all the language provides. What have we been able to construct on top of that? Arithmetic, what else? Yeah, Boolean logic. Branches, we have branches, right? So using all these, we've been able to construct all of these things. The question is that, the question I want you to think about and I want to talk about now at the end is, is that enough? Can you do everything you can do in a program now using what we have? Another way to think about that is, is it Turing complete, right? Can you do everything you can do on a Turing machine in plan of calculus with what we've defined? What can't you do and why? Looping, so what's the purpose of looping? Yeah, it allows us to kind of go back to an earlier instruction, right? And say, start doing this. So why doesn't our language, why doesn't lambda calculus have loops? Yeah, right now we don't have any recursion, right? We don't have any way for a function to call itself, right? Which is also a form of looping. Why don't we have a way for functions to call themselves? What's lacking in our language that we're used to? Basically, yeah. Let's have y'all set it up. What was that? No names. No names, our functions don't have names, right? Normally the way we do recursion in our programming language is, we say define some function foo, and then that means that inside foo we can call itself, right? We can say call foo again, right? But here in this language we have, we have no names. Now am I lying to you because I just defined an add and a multiply function? What was that? What is it? Yeah, it's a definition, right? That's the key difference. I'm defining mult as whatever the definition is here, right? I'm defining multiply as this, and I've defined add as that, but part of recursion, or part of self-referential, is we can't use that same definition as the definition, right? Here I'm saying, what I'm essentially saying is, anywhere you see multiply, you can completely replace it with the thing on the right. Exactly, it's kind of like a macro you could fill in, right? So if that macro itself had multiply in it, you would never be able to write out the final lambda expression. So we do not, so this, even though it seems a little bit counterintuitive, where I say there's no names, but I'm giving things names, I mean that in the language itself there is no way to say, define this function foo, and then call foo inside of itself. So we have Boolean logic, we have true and false branches, we have arithmetic, and so the problem is, like we've talked about, we have no way to do loops, right? We have no way to do recursion yet. So we can't write something like the factorial function. We can't do something that is like factorial zero is one, factorial n is n times factorial n minus one, right? One of the most basic recursive definitions that we study in computer science, right? Is this is how you calculate the factorial function, and in code it's very easy because we can call factorial from the inside of its own body. And part of that is that this function, this lambda expression has a name, right? This function has a name that we can use inside of itself. So the key question to think about is, does this mean that lambda calculus now has completely failed? Do we need names? Are names an inherent part of being able to do recursion in a language that has only functions? So, where are we at? I think we're still got a couple minutes. Okay, so the idea is, how would we write this factorial function in lambda calculus? So we already have the basic building blocks, right? We already have ifs, right? We have if statements. One thing we need, we already have multiply. We'd also need subtract, and we need equality. So let's say we have a function is zero. So we have some function that will check if something's zero. If it's zero, it returns true. If it's false, it returns false. That's something we could easily write. We also, let's say we have a predecessor. So like a successor is plus one, predecessor is minus one. Let's assume that we have that. Then we want something like this, right? This would be a direct translation of that programming to lambda calculus. So factorial is lambda n. If n is zero, return one. Otherwise, multiply n with factorial of the predecessor of n. So multiply n times factorial, multiply n times factorial of n minus one. But the problem is we cannot write this function even though this seems incredibly simple because of this factorial. We're using factorial inside there. So this is not a definition, right? This is a recursive definition. So it's going to come down to, the super cool thing we'll get into on Wednesday is the y-combinator. So it turns out there is a way to do recursion in a language without names, which is crazy. So if you thought the numeric stuff was crazy, that's going to be a weird thing.


The forum may not be in your old box. August 11, 2011. Welcome to How.Net, an online message board for animal lovers and animal rights advocates worldwide. We are glad to meet you. Simply input some information to continue. Email joannirxes44 at yahoo.com. Username jojolove. Password redacted. Confirm password redacted. Excellent. Now share some info about yourself so that other users can know you better. Name, Joanna R. Birthday, June 25, 1982. Location, Austin, Texas. Bio. Hiya, my name's Joanna and I'm an animal lover from Central Texas. None other than Austin, the capital itself, LOL. I absolutely adore all members of the animal kingdom, not just the cute and fluffy ones, though my two cute and fluffy cats Charlie and Pickles mean the world to me. I'm open to chatting with anyone else who loves animals as much as I do, but I warn you, be prepared for me to talk your ear off about them. I happened to find this website via Google search, and even though it seems a little crude, sorry guys, I'm down for anything as long as it's animals, animals, animals. Woohoo. You're now fully registered. Redirecting you to hashtag made. Hashtag made. Lobberry, admin, hey hey, welcome to the community JoJoLove. We're pleased to meet you and hope you have an excellent time here. JoJoLove, aw, thanks so much. I certainly aim to have a pleasant time conversating with fellow animal lovers like myself, especially about cat's LOL. I got one snuggling in my lap right now. Dexter33, hello. Cinnamon Toasted, hello fellow cat lover. JoJoLove, OMG, hi. Cinnamon Toasted, I see in your bio that you have two cats. Charlie and Pickles are such adorable names, OMGGG. JoJoLove, thank you so much.  Cinnamon Toasted, I had a cat named Maxwell since he was a kitten, but he passed on two days ago. JoJoLove, OMG, I'm so sorry for your loss. Cinnamon Toasted, thank you, I'm planning to get another cat soon. JoJoLove, well I wish the best for you and hope that you can have many happy years and memories with your next pet.  Cinnamon Toasted, sad face. Lockberry, admin, hey Dexter, please be respectful to our site's members. There's no reason I can think of that she shouldn't get another cat to replace Maxwell. JoJoLove, yeah man, where did that come from? Dexter33, you know what happened to her cat? How.net FAQ. Question, why is the website so out of the way and hard to find? Answer, because it's easy for the wrong kind of people to get in, of course. Trolls and vandals are obviously problem number one, but we also can't have members that are merely half-hearted towards the cause. They must be willing to do anything imaginable for our furry, staley and otherwise non-human friends of the animal kingdom. As such, we know only the most qualified of people will ever find their way here. Hashtag main. User Dexter33 has received a one-day ban. Reason, being indescribably impolite. Lobdary, admin, I'm so sorry about that. Dexter's normally quite easygoing and funny, but for some reason, he gets this way a lot around new users. Hopefully you're not too upset about all this JoJoLove. JoJoLove, that's okay, but bam.  But Maxwell is a sore subject right now. JoJoLove, I understand wholeheartedly. I would be absolutely broken if one of my precious boys died. DerekDoubleR, admin, we all know the feeling of losing a deer pit, something we hold close to our hearts. But no can last forever, just can't. Though we try to control the feelings, I feel personally that there's nothing wrong with letting them lose. Letting them out. AlsoR, hi. JoJoLove, hello. I'd love to meet you, but I'm afraid I've got to go for now. Charlie's clawing at my leg for some reason, probably hungry, and it's getting late for me. See ya guys. CinnamonToasted, bye, hope we can chat again soon. DerekDoubleR, admin, see ya later. User has disconnected. August 12, 2011. Hashtag main. JoJoLove, hey, can you guys help me figure something out? DerekDoubleR, admin, what seems to be the problem? JoJoLove, my cat Pickles is avoiding me today for some reason, and not just hanging out alone like he sometimes does, but actually avoiding me. Everything was normal when I got up today, and both my boys were waiting excitedly as usual for their breakfast, but then for a moment I just felt incredibly dizzy, and then suddenly Pickles hissed at me and ran away. I've tried calming him down with his favorite treats, to no avail. He keeps treating me like I'm a wild animal. At least Charlie still likes me, but he does seem unusually wary. Dexter33, it's probably the website. DerekDoubleR, admin, oh Dexter. Lobberry, admin, I'm sure it's probably just a temporary thing. Hopefully anyway. Crossing my fingers. JoJoLove, crossing mine as well. Dexter33, well we've talked a lot about cats, but how about we discuss something else instead? JoJoLove, such as... X. Anonymous, OP, August 12, 2011, Friday, 9 hours 32 minutes and 13 seconds, number 2,390,483. Hey, you guys heard of a site called How.net? If you got any friends or family on that site, you should probably tell them that the site is known to cause people to go insane. I don't know how it does it, supposedly, but three people nationwide all wound up in highly guarded mental institutions after interacting with the site, and that was before they all turned up dead under mysterious circumstances days later. Anonymous, August 12, 2011, Friday, 9 hours 32 minutes and 54 seconds, number 2,390,483. Read's Obvious Bullshit Post. Goes to Obvious Bullshit Domain. Bullshit Domain doesn't exist.  Anonymous, OP, August 12, 2011, Friday, 9 hours 33 minutes and 45 seconds, number 2,390,483. It only appears to select individuals. People with a strong connection to animals.   But for real, you do have to be a very extreme type of animal lover. I can't describe it other than extreme, honestly. Because the word I'm looking for doesn't describe the hunger. Hashtag Admin. Lopberry, Admin, new member, new leader. Welcome to the club Cinnamon. Cinnamon Toasted, Admin, great to be here. Barrett DoubleR, Admin, what about Dexter? Lopberry, Admin, though he's a veteran of the website and knows what we're all about, he has some issues. I think he suffered a small bit of brain damage the first time it happened to him. Anyway, we need to prepare for tomorrow. It's gonna be a fun one for sure. Hashtag Main. JoJo Love, Charlie's all curled up on my lap, so cute and trusting. I feel weird guys. Sorry, got to go. August 13, 2011. How.net FAQ. Question, why is the website called How.net? Answer, while we believe in showing all animals some level of kindness and care, there are those that mean more to us in many ways. Cruel as this may sound, those who have been a part of our mission long enough know the reason we believe in this so strongly. If you're reading this, then hopefully in time, you'll understand as well. Hashtag Venting. JoJo Love, guys I need help. I've been seeing things, and Charlie's been hurt really badly. I'm sobbing so hard, I can't even type right now. I'm not even thinking rationally. I came to you guys instead of calling 911 for some reason. Dexter 33, poor girl. She got it worse than me. Cinnamon Toasted, admin, hey calm down JoJo please. I know things seem bad, but this all for the better. JoJo Love, oh Jesus. What's happening? My body's on fire. Cinnamon Toasted, admin, see, we asked Dexter to talk to you last night about endangered species for a reason. Specifically wolves. We have a plan to bring them back. JoJo Love, it comes to you. Cinnamon Toasted, admin, humans hurt the world and the animals on it. The important ones, that is. So turning them from the destroyers into the very things they destroy makes sense, right? But as much as it hurts me to say it, there's predators and prey for a reason. I'll miss Maxwell. I'll always live with the guilt of what I did. But unlike other less fortunate animals such as wolves, there's hundreds of thousands more cats to replace him. Joey is as cute as any, but he may not last the night. I hope Charlie brought you many years of good memories. JoJo Love, replied with a blank. Dexter 33, at least you have a smart one. User has disconnected.


Hey everyone, it's Kyle from Mantic and we're here to bring you our next installment in the Twilight King design diaries and this time we're going to take a look at the void skiffs. So we had a great place to start with the ships that we have already in Armada, but this was going to be, you know, a, you know, just a few manned vessel and wanted to be able to make sure it scaled down appropriately for King's War and the best unit type that it made sense for was a chariot and with a chariot base, you know, you can essentially use multi-basing and kind of some clever and creative ways to put the models together to allow for, you know, a nice chariot unit and then it would work perfectly for things like, you know, mounts as a hero option. We went through a number of different designs for it and, you know, the way the process works is that the concept artist, you know, kind of throws a whole bunch of ideas out. You take a look at the variety of things that are available for the unit and you try to see, you know, can we tie this into what we did with the impalers? Are there certain elements that can match and make sure that it's all consistent throughout the entire range and, you know, we knew that the corruption would need to be there.    They're ships that are floating along and what a great representation of something that's in fantasy space. You know, you have a classic looking ship skiff that would be floating across the battlefield and we knew that we wanted to have a solid support structure for it. So, you know, you toss around the idea as like a clear plastic flying base stand, but, you know, we really wanted to embrace the the ability to sculpt something and put a structure underneath of it that would represent that it was, you know, floating across the surface and so I remember working with Luigi and he cranked this out in like an hour and it was just it was the perfect kind of representation of the magical energy sort of just rolling underneath of it and I thought what a great opportunity for painters and hobbyists to put some glow effects from underneath and some OSL even, you know, implementing LED lights to have some kind of a glow effect underneath of it and it was just such a great opportunity to do it and that's the reason that we decided to go with that sort of flow. From a gameplay standpoint, you know, we thought about ways that could make it interesting and one of the earliest ideas that ended up sticking was the fact that they would have a ranged option that you could purchase for the unit, but they would be slightly different. So it's a ship and with the narrow nature of it wouldn't be cool if we could figure out a way for them to fire off like broadside fire, you know, actually using the side arcs instead of the front arcs to make the range attacks from. So it was kind of a creative endeavor that, you know, pushed towards the actual rules and we wanted to represent it on the model with a nice embedded bolt thrower that would go into the side and just make kind of an interesting hidden tactic that you wouldn't exactly expect.  So with the impalers and the skiffs knocked out, we were in a really good place and sort of felt like we had a great direction to go with the Twilight Kin. But we knew we had to get the core of the list down and that's what we'll be taking a look next, which is going to be our basic infantry, which are the Corsairs and the Void Touched. Stay tuned next time, guys. There's a lot more coming.


Over the past few days, players who have pre-purchased or pre-ordered Hogwarts Legacy are seeing a lot of cancellations, especially on Xbox. We also have news on cross-platform saves, as well as an incident that happened yesterday which scared a few PC players for a few moments. Today we get into it all. How's it going guys? My name's DPJ and if you do enjoy the video, leaving a like really helps out and if you like what you see and want to see more, be sure to subscribe. Guys, I'm giving away a Hogwarts Legacy Deluxe Edition version of the game so you guys can win and play this three days early as well as get that Dark Arts exclusive pack. To win this, simply drop a like on this video and leave a comment down below. Winners will be picked from one of my Hogwarts videos so check them all out and announced before the 7th. Good luck. So not only have I been questioned about it, I've seen posts on social media including Facebook, Reddit, Twitter about pre-orders of Hogwarts Legacy being cancelled and it seems as though the reason this is happening is because the availability date has changed. Well that's the excuse Microsoft wrote you when they cancel your order which is just bizarre. As you can see by this image right here on the screen it reads, your Hogwarts Legacy Digital Deluxe Edition pre-order was recently cancelled due to the availability date for the Xbox version of the game changing to the 4th of April 2023. They're then going to say the game's release will be as usual on the 7th of February with this edition pre-order. Now I went on the Warner Brothers game support Twitter and they are being bombarded with people asking what's going on here. It seems as though a lot of players are having their pre-orders cancelled so why are they being cancelled? We just have no idea. Their common reply is thanks for writing in about your pre-order. We'd like for you to check out your candidate.microsoft.com for your pre-order status as the message indicates. If this is the second time you're seeing messaging about a cancellation and you've already ordered a game you should be all set. Now to my understanding if this has happened to you once before it will probably happen to you again but on a third time if you order in the game, your pre-order in the game you should be good to go but to be honest it is an unnecessary fast and I'm truly not surprised why some fans are pissed off about it.  So you actually have no idea what's going on here why it's mainly happening in xbox too but it's definitely a problem that needs to be sorted. Now yesterday we had a slight scare for pc players well I say scare I'd say it's probably a little bit of another reaction but delays are not uncommon in games and we've seen them before even when games were close to launch but yesterday on steam the release date stares for the game changed to come in soon from the 10th of February this really led to an unnecessary outrage from players seemingly worried the game was going to be delayed once again. I saw videos posted of people actually genuinely worried really posts and all sorts but I can confirm it was just a hiccup and the game is still set to release on the 10th of February so do not stress people do not stress pc players. I think this game is so overhyped and anticipated players will no doubt stress over the most minor things people just want to create that wizard and experience Hogwarts and you can't okay so to end it's also being confirmed guys that cross saving will not be a feature for Hogwarts legacy now this I really wanted to be a thing because no doubt I'll be playing on pc or xbox on launch 7th of February but I'd love my saves to cross over to that switch in July on release so I could go there and play on the goal but hey confirmed it's not happening but when I really think about it it's not much of an issue I'll happily just create a brand new wizard simple as that but there we have it for today's news guys on Hogwarts legacy guys if you enjoyed the video leaving a like really helps out feel like what you're seeing want to see more be sure to subscribe and hopefully guys I will see you on that next one


In just a moment auto light presents suspense starring Miss Agnes Moorehead in radio's most famous play Sorry wrong number Say hello, have you seen states football team? They're terrific speaking of terrific teams Hap my friend the one that ignition engineered those auto light resistor spark plugs is tops You know the auto light people got together with many of the nation's leading car and truck manufacturers and they ignition engineered a 10,000 ohm resistor right into the auto light spark plug that permits a wider spark gap setting and Maintains it far longer than was ever possible before you know what that means to your car smooth That's the word for states football team smooth right you are smooth Thanks to the white gap auto light resistor spark plugs help your engine idle smooth as silk And that's only one of the simple sound solid splendid advantages of those sensational auto light resistor spark plugs And then it all off your chance to know sure have Hap you're not going to hear one more word out of me till we've heard the whole Suspense show no no middle commercial tonight Hap auto light doesn't want us to interrupt Agnes Moorehead's performance in that famous drama Sorry wrong number. Okay, Harlow. Let's hear suspense Suspense Auto light and its 60,000 dealers and service stations bring you radios outstanding theater of thrills Starring tonight Miss Agnes Moorehead in Anton leader's production of Lucille Fletcher's famous suspense play Sorry wrong number But tail well calculated to keep you in suspense Operator, I've been darling Murray Hill four Oh nine eight now for the last three quarters of an hour and the line is always busy I don't see how it could be busy that long will you try it for me, please? I will be glad to try that number for you one moment I don't see how it could be busy all this time. It's my husband's office He's working like tonight, and I'm here all alone in the house. My health is very poor, and I've been feeling so nervous all day Three hill four oh oh nine eight is mr. Stevenson there. Hello. Yes, sir. This is Hello, who's this what number am I calling please? I'm here with our client George. Oh Clear for the night. Yes, George. He says the coast is clear for tonight. Okay Okay, where are you now in a phone booth? Everything's okay. No the address. I know I know At 11 o'clock the private patrolman goes around to the bar on 2nd Avenue for a beer. That's right 11 o'clock Okay, I'll be sure that all the lights downstairs around there should be only one light visible from the street Okay, okay, what's that just a minute George? Oh Our client tells me that 1115 a train crosses the bridge It makes a noise in case a window is open and she should scream. Oh, hello. What number is this please? Okay? I understand that's 1115 the train. Yeah, you remember everything else, George. Yes, I'll make it quick as little blood as possible Because our client does not wish to make her suffer long. That's right Use a knife. Yes, the knife will be okay then afterwards I remove the rings and bracelets and the jewelry in the bureau drawer because Our client wishes it to look like simple robbery Don't worry Everything's okay. I never Oh Operator, I've just been cut off. I'm sorry. What number were you calling?  I was cut into a wrong number And I I've just heard the most dreadful thing something about a murder and operator You simply got to retrace that call at once. I beg your pardon. May I help you? Oh, I know it was a wrong number and I had no business listening But these two men they were cold-blooded fiends and they were going to murder somebody some poor innocent woman It was all alone in a house near a bridge and we've got to stop them. We've just got to number. Are you calling? Well, that doesn't matter. This was a wrong number and you dialed it for me And we've got to find out who what was it immediately. What number did you call?  What time is it? Do you mean to tell me you can't find out what that number was just now? I'll connect you with the chief operator. Oh, I think it's perfectly shameful now now look it was obviously a case of some little slip of the finger I told you to try Murray hill 40098 for me and you dialed it But your finger must have slipped and I was connected with some other number and I could hear them But they couldn't hear me now. I I simply failed to see why you couldn't make that same mistake again on purpose Why you couldn't try to dial Murray hill 40098 in the same sort of careless way Murray hill 40098 I will try to get it for you. Well, thank you. I am sorry Murray hill 40098 is busy I will call you in Operator your call You didn't try to get that wrong number at all. I asked you explicitly and all you did was dial correctly I am sorry. What number are you calling? Well, can't you for once forget what number I'm calling and do something for me Now I want to trace that call. It's my civic duty and it's your civic duty to trace that call and apprehend those dangerous killers And if you don't I will connect you with the chief operator. Well, please This talk can't make everyone understand this This is the chief operator chief operator. I want you to trace a call a telephone call immediately I don't know where it came from or who was making it but it's absolutely necessary that it be tracked down because It was about a murder that someone's planning a terrible cold-blooded murder of a poor innocent woman tonight at 1115 I see. Well, can you trace it for me? Can you track down those men? I am not certain It depends depends on what it depends on whether the call is still going on If it's a live call we can trace it on the equipment if it has been disconnected We cannot disconnected if the parties have stopped talking to each other Oh, but of course they must have stopped talking to each other by now That was at least five minutes ago and they didn't sound like the type who would make a long call Well, I can try tracing it. May I have your name, please? Mrs. Stevenson, Mrs. Elbert Stevenson, but but listen and your telephone number, please Plaza three two oh nine nine, but if you go on wasting all this time, why do you want this call traced, please? Why? Oh Well, no reason. I I mean I merely felt very strongly that something ought to be done about it These men sounded like killers. They're they're dangerous. They're going to murder this woman at 1115 tonight And I thought the police ought to know have you reported this to the police. Well, no not yet You want this call checked purely as a private individual? Yes. Yes, but meanwhile, I am sorry mrs. Stevenson But I'm afraid we couldn't make this check for you and trace the call just on your say so as a private individual We will have to have something more official. Oh for heaven's sake.  Thank you. I am sure that would be the best way Ridiculous. I never heard of such a point. I can't see why you have to go through all this Oh You are called please the police department. Get me the police department, please. Thank you Ringing the police department. Oh dear. Do you have to dial? Can't you ring them direct all this time? Police department precinct 43 sergeant martin speaking police department Um, this is mrs. Stevenson mrs.  Yes, ma'am It was a perfectly definite murder I heard their plans distinctly two men were talking and they were going to murder some woman at 11 15 tonight And she lived in a house near a bridge Are you listening to me? Yes, yes, ma'am And there was a private patrolman on the street He was going to go around for a beer on second avenue and there was some third man A client who was paying to have this poor woman murdered. They were going to take her rings and bracelets and use a knife Well, it's it's it's unnerved made dreadfully and I'm not well. I'm very nervous When was all this ma'am about eight minutes ago? Oh, then you can do something you do you do understand. What is your name ma'am mrs. Stevenson mrs. Elbert Stevenson and your address 53 5 3 north Sutton place That's near a bridge The queensboro bridge, you know, and we have a private patrol in our street and second avenue is the next street Murray hill 4098, but that wasn't the number I overheard I mean Murray hill 4098 is my husband's office. He's working late tonight And I was trying to reach him to ask him to come home I'm an invalid, you know, and it's the maid's night off and I hate to be alone Even though he says I'm perfectly safe as long as I have the telephone right beside my bed Well, we'll look into it mrs. Stevenson. See if we can check it with the telephone company But the telephone company said they couldn't check the call of the parties and stop talking I've already taken care of that. Oh, you have yes And personally, I feel you ought to do something far more immediate and drastic than just check the call What good is checking the call do if they stop talking by the time you tracked it down They've already committed the murder. Well, we'll take care of it Don't you want I'd say the whole thing calls for a search a complete and thorough search of the whole city Well, I'm very near the bridge and I'm not far from second avenue And I know I'd feel a whole lot better if you sent around a radio car to this neighborhood at once And what makes you think the murder is going to be committed in your neighborhood, ma'am?  You've never heard about how do you know they were even talking about new york at all? But I heard the call on the new york dialing system. Well, maybe it was a long distance call you overheard Telephones are funny things now. Look, why don't you look at it this way? Supposing you hadn't broken in on that telephone call Supposing you'd got your husband the way you always do you wouldn't be so upset, would you? Well, I know I suppose not only it sounded so inhuman so cold-blooded A lot of murders are plotted in the city every day, ma'am. We managed to prevent almost all of them The clue or this kind is so vague it isn't much more used to us than no clue at all Unless of course you have some reason for thinking this call was phony or or that someone may be planning to murder you me Oh No, I hardly think so. I I mean why should anybody? I'm alone all day and night.   He just adores me. He waits on me hand and foot Has scarcely left my side since I took sick 12 years ago. Well, and there's nothing for you to worry about Now if you'll just leave the rest of this to us, we'll take care of but what will you do? It's so late. It's nearly 11 now We'll take care of it lady.  I said we'd take care of it Just now I've got a couple of other matters here on my desk. You'd require immediate attention Good night, ma'am and thank you.  I hang up the phone like that Your call operator for heaven's sake. Will you ring that murray hill 40098 number again? I I can't think what's keeping him so long I will try to get it for you. We'll try I try Burial 40098 is busy. I will call you. I can hear it. You don't have to tell me. I know it's busy Be driving me crazy. I've never seen such inefficient miserable service now. Look. Look. I'm an invalid And I'm very nervous and I'm not supposed to be annoyed But if this keeps on much longer what seems to be the trouble Well, everything's wrong. I haven't had one bit of satisfaction out of one call I've made this evening the whole world could be murdered for all you people care And now my phone keeps ringing and ringing and ringing and way to check whether the call is coming through the system or not Unless the person is trying to reach you Complaints to his particular operator.  Check it. Check it. That's all anybody can do Oh, what's the use of talking to you?  How dare she speak to me like that? How dare she speak to me? Young woman, I don't know your name, but there are ways of finding you out And I'm going to report you to your superiors for the most unpardonable rudeness and insolence. This has ever been my privilege Give me the business office at once. You may dial that number direct. Dial it direct. I'll do no such thing I don't even know the number the number is in the directory or you may secure it by dialing information Listen here you oh, what's the use? Over heaven say I'm going out of my mind. They're sure I'm home. They heard my voice answered them just now That's why they've been ringing me. What doesn't she answer your call, please? Where were you just now? Why didn't you answer it once give me the police department? The line is busy. I will call you busy, but that's impossible. The police department can't be busy There must be other lines available. The lion is busy. I will try to get them to take people beside the police department Detective agencies you will find detective agencies listed in the classified directory But I was to look it up and I don't know how to use it. I will connect you with information Perhaps they will be able to help you. Oh, no I and you wouldn't care. Yes. I'm sorry This is plaza 32099. This is western union. I have a telegram here for uh, Mrs. Elbit Stevenson. Is there anyone there to receive the message? I am mrs. Stevenson a telegram is as follows Mrs. Elbit Stevenson 53 north southern place new york new york darling terribly sorry try to get you for last hour But line busy leaving for boston 11 p.m. Tonight on urgent business Back tomorrow afternoon. Keep happy love signed elbit. Oh, no. You wish us to deliver a copy of the message? No No, thank you Good night. Eight number for me just once more, please You may dial that number. Hensley hospital. Hensley hospital. Do you have the street address? No, it's somewhere in the 70s. It's a very small private and exclusive hospital where I had my appendix out two years ago Hensley h e n c a one moment, please Please hurry and and please what is the time you may find out the time to be dialing the number of hensley hospital Is butterfield hensley hospital. Good evening. Give me the nurses registry. Was it you wish to speak to please? I want the nurses registry at once. I want to train nurse. I want to hire immediately for the night I see and what is the nature of the case madam nerves. I'm very nervous. I I need soothing and companionship You see my husband is away and I'm all you've been recommended to us by any doctor in particular madam No, but I really don't see why all this cataclysm is necessary. I want to train nurse I was a patient in your hospital two years ago and after all I do expect to pay this person for attending me We quite understand that madam, but registered nurses are very scarce just now Our superintendent has asked us to send people out only on cases where the physician in charge Feels it is absolutely necessary. Well, it is absolutely necessary.  I'm very upset very I'm alone in this house, and I'm an invalid and and tonight I overheard a telephone conversation that upset me dreadfully A woman's going to be killed when a train comes In fact, if someone doesn't come it was I'm afraid I'll go out of my mind. I see Well, I will speak to miss phillips as soon as she comes in What is your name, madam? When do you expect her in? I really couldn't say she went out to supper at 11 o'clock 11 o'clock Telephone as though someone had lifted the receiver off the hook off the extension telephone downstairs Onstairs in the kitchen, and they're listening to me now, and then they're filling Oh, what about I don't call someone now while they're still down there. There'll be no time operator I'm I'm in desperate trouble. I I am sorry. I cannot hear you Please speak louder. I I don't dare. I there's someone listening Can you hear me now? I am sorry. Oh, but you've got to hear me. Oh, please Please you've got to help me. There's there's someone in this house Someone who's going to murder me and and you've got to get in touch with the police Oh, there there it is. Did you hear it? He's put down the extension phone He's coming up. He's coming up the stairs. Oh, give me the police department Give me the police department One moment please I will connect you hurry hurry. Oh, hurry. I can hear him. He's coming. He's coming here. Oh Oh, no What are you gonna do to me? Oh, no from precinct 43 sergeant martin sweet Police department. Yes Oh I'm sorry Must have got the wrong number Don't worry Everything's Okay Thank you miss agnes moorhead for another memorable performance Miss moorhead will return in just a moment Say, hello, you got so wound up on auto light resistor spark plugs a while back You never told me whether you saw the state football game last week You bet I saw it and say did you notice the big gaps that state knocked that enemy line? Reminded me of that wide gap in auto light resistor spark plugs now hollow You know when you replace your old narrow gap spark plugs with wide gap auto light resistor spark plugs By cornelius your engine idle smoother. You have better luck with lean gas mixtures actually save gas hollow I'm talking about football. Oh by the way, how do you like the way state's line cut down enemy interference? Great almost as good as the way auto light resistor spark plugs cut down spark plug interference with radio and television reception What a team what a team yes friends when it comes to team play You really get it with those sensational new auto light resistor spark plugs another auto light engineering first And no wonder for auto light resistor spark plugs are one of over 400 automotive aviation and marine parts made by the 26 nationwide auto light plants all famous for auto light engineered dependability So friends don't dilly-dally dawdle or delay But hop down tomorrow to your friendly auto light dealer and get a set of wonderful new wide gap auto light Resistor spark plugs. He's got just the type and size to fit your car and friends remember to Auto light means spark plugs ignition engineered resistor spark plugs Auto light means batteries stay full battery Auto light means ignition system the lifeline of your car And now here again is miss agnes moorhead My thanks to producer tony leader for affording me this opportunity to play lucille fletcher's wonderful story once again And my thanks to the cast and the musicians and sound men who helped make it successful The suspense program will always hold a special place in my affections And i'll be listening with great interest next thursday when radio's outstanding theater of thrills Brings us little margaret o bryan starring in ray bradbury's story the screaming woman another gripping study in suspense Agnes moorhead has recorded sorry wrong number in album form Miss moorhead may currently be seen in the warner brothers picture johnny belinda Music on tonight suspense play was composed by lucian morroweck and conducted by lutt bluskin The entire production was under the direction of anton m leader In the coming weeks suspense will present such stars as ronald colman rosland russell clod reins and william bendix Make it a point to listen each thursday to suspense Radio's outstanding theater of thrills and next thursday same time here margaret o bryan in the screaming woman This is the auto light suspense show Volunteers are needed for the armed forces of the united states Your nearest recruiting station will have complete information Good night Switch to auto light. This is cbs the columbia broadcasting system


This is the VOA Special English Agriculture Report. When is a plant considered a weed? Experts at Penn State University have a simple answer. When its undesirable qualities outweigh its good qualities. Consider the fact that crops generally produce several hundred seeds from each plant. But each weed plant can produce tens or even hundreds of thousands of seeds. And some buried seeds can survive up to 40 years or even longer. Eradicating weeds means that you have to remove all the seeds and roots so the plants will not grow back. But birds or the wind can reintroduce them to the land. A more common way to deal with weeds is to control them enough so that the land can be used for planting. Experts advise using two or more control methods to deal with weeds. Chemical weed killers or natural treatments like corn gluten can suppress weed growth. Dense planting of a crop can also act as a natural control. Bill Curran is a professor of weed science at Penn State in University Park, Pennsylvania. He says one of the most common methods for suppressing weeds is dense planting. He says a dense competitive crop that quickly shades the soil will help suppress many weeds. The seeds need light to grow so blocking the sun will reduce weed growth. Other controls include turning over the soil, pooling the weeds or covering them with mulch made of shredded wood, garden waste or other material. But even mulch has its limits. Natural resource specialists point out that weeds can be transported in mulch. This is also true of soil, grain, hay and animals. Yet animals like sheep or goats eat weeds so they can provide a biological control. Insects and other organisms can also act as biological controls. Preventing this spread of weeds is an important part of weed management. Farm vehicles should be kept out of areas with weeds. If that is not possible, then clean off the equipment and your shoes when leaving. Some people burn weeds or bury them deeply or make them into mulch. Professor Curran says another way to make use of weeds is to compost them. Heat is produced in the process of making organically rich compost to improve soil.  The same is true for seeds that pass through animals that graze on weeds. Tell us about your own fight against weeds. Please share your stories at voaspecialenglish.com. For VOA Special English, I'm Carolyn Presuti.