[User] Please transcribe this text

[Assistant] And if we did it twice, for example, which of course we can also do, then Peter should also be gone. And indeed, we removed J and Peter.


[User] Please transcribe this text

[Assistant] Now again, this pop method also returns something, but this one doesn't return the length of the new array, but instead it returns the removed element. And so that can sometimes be useful. So let's call this one popped. Okay.


[User] Please transcribe this text

[Assistant] And so let's log that one to the console as well.


[User] Please transcribe this text

[Assistant] So that is the popped element. And we could do the same for this first call, but as I said earlier, we don't always do this because it's not always that useful. But here I just want to show you that it actually works.


[User] Please transcribe this text

[Assistant] And so the popped element should now be Peter. So this first one here is Jay. And then the last one becomes Peter. And so here in the second pop call, uh, Peter is the one that's being removed. And so that's the element that's then going to be saved into popped. And yeah, here it is.


[User] Please transcribe this text

[Assistant] Okay. And finally, let's also remove the first element from the array. And so that's friends that unshift.


[User] Please transcribe this text

[Assistant] Give it a save, and so now only Michael and Steven should be left after all this manipulation, right?


[User] Please transcribe this text

[Assistant] Oh, and actually that did not work. Ah, and that's because I did a mistake. So unshift is of course to add elements to the array. And so this one here is called shift and not unshift.


[User] Please transcribe this text

[Assistant] So now it should work. Yeah. Once again, we didn't need any arguments. And once again, this method here will return the element that was removed. So if we need that, we can capture it.


[User] Please transcribe this text

[Assistant] Next up, there is a very useful method that tells us in which position a certain element is in the array. So let's work with this small array that we have left. And what we want to log to the console now is friends.indexOf.


[User] Please transcribe this text

[Assistant] And then we pass the element which we want to reference. So let's say we want Steven.


[User] Please transcribe this text

[Assistant] And so, as I said, this should return the index at which this element is located. So we know that Steven is right now element number one.


[User] Please transcribe this text

[Assistant] So 0 and 1. And we actually can see that here in the console. So 0 is Michael, 1 is Steven. And so, uh, this index of function call should return the value 1. Because again, that's the index of the element Steven.


[User] Please transcribe this text

[Assistant] And yeaah, there we go. Now, if we try the same thing for an element that is not in there, let's say Bob, we will get minus one.


[User] Please transcribe this text

[Assistant] Alright, and now finally to finish this lecture, there is a very similar method to the indexOf, but which is a bit more modern, and in my opinion also more useful. So this one is an ES6 method, and it's called includes.


[User] Please transcribe this text

[Assistant] So includes, instead of returning the index of the element, will simply return true if the element is in the array and false if it's not. So let's check that.


[User] Please transcribe this text

[Assistant] And now we can actually do the same as up here.


[User] Please transcribe this text

[Assistant] So let me just copy that. The difference here is again the includes method.


[User] Please transcribe this text

[Assistant] So let's see what we get now. And as expected with Steven it is true, because indeed we have one element here, Steven. But Bob is false, because well, there is no element called Bob.


[User] Please transcribe this text

[Assistant] And this method, uh, actually uses strict equality for this check. So let's say that we, uh, pushed some value here to this array. So friends.push, which remember will add a value to the end of the array. So if we add a 23.


[User] Please transcribe this text

[Assistant] And then if we checked for 23 to string, it would not work.


[User] Please transcribe this text

[Assistant] Right, and that's because it is testing with strict equality, which means that it does not do type coercion. And since 23 the string is different from 23 the number, it gives us false. But if I test it directly for the number, then it should be true. And yes, it is.


[User] Please transcribe this text

[Assistant] So we added it here to the array and so then of course the array includes it. That makes sense. And so we can use the includes method to write conditionals. So that's one of the very useful application of this method. For example, just to test it out very quickly, let's say friends dot includes.


[User] Please transcribe this text

[Assistant] Peter. And then if so, we can log to the console


[User] Please transcribe this text

[Assistant] Okay, so we already know that this here returns a boolean, and we also already know how the if statement works. And so only if this is true, so if the array does include a string with Peter, only then this code is executed.


[User] Please transcribe this text

[Assistant] And so right now, of course, nothing happens. But if I ask for Steven...


[User] Please transcribe this text

[Assistant] Then I get, you have a friend called Steven. So that's probably the most used case of the includes method.


[User] Please transcribe this text

[Assistant] Alright, and that's all I had to show you for this lecture. And as I said in the beginning, there are many more useful methods for manipulating arrays. But for now, I just wanted to show you the most basic ones. And next up, there's yet another coding challenge waiting for you.


[User] Please transcribe this text

[Assistant] Today, it's day one and I think, jeez, if I can just stay out of the bottom four, I'll be happy.


[User] Please transcribe this text

[Assistant] Today I'm gonna make a crab linguine. I've done it a hundred times before. I don't think I can stuff it up. This is a very simple dish with basic elements, but if you get it right, the flavour can be delicious. I'm sure we got pasta happening on at least three, four benches.


[User] Please transcribe this text

[Assistant] I look around down my bench and I'm on a bench of three pastors. I can't believe it. I hear something from the back and I can hear another pastor.


[User] Please transcribe this text

[Assistant] Today I'm making a crab linguine. I know there's five or six passes up today. It's gonna be so important to make sure that mine's perfect.


[User] Please transcribe this text

[Assistant] Yep, it's definitely different being in the MasterChef kitchen. You're using a new pasta roller. I didn't think I'd run it that thin, but Gary isn't happy.


[User] Please transcribe this text

[Assistant] Almost boiling. I've got eight minutes left to go. I get my water on the boil. All I've gotta do is cook this pasta well, plate it up nicely, and I'm pretty sure that I'm through without being in the bottom four. I'm gonna cook it for 60 seconds maximum. It's really important. I don't overcook it. There's half a dozen other pastas on. This has gotta be spot on. So I go and check on my bisque. So while I've got the pasta boiling, I'm working on that.


[User] Please transcribe this text

[Assistant] So now I've rolled it too thin and cooked it too long. I'm really disappointed.


[User] Please transcribe this text

[Assistant] It's been a huge journey getting here and probably 30 extra seconds has absolutely nailed me. I can't believe it.


[User] Please transcribe this text

[Assistant] I'm walking my plate up to the judges and I'm anxious. I'm nervous. I know I haven't executed that pasta properly, but I'm hoping that the flavour's gonna get me through.


[User] Please transcribe this text

[Assistant] My heart just dropped. I know my flavors are good, but you just can't overcook pasta when there's half a dozen others on the table.


[User] Please transcribe this text

[Assistant] I have my crab shells boiling. I have my roti dough ready so now I'm going to crisp the kai for flesh.


[User] Please transcribe this text

[Assistant] I'm picturing the dish with the bisque crab meat on top and just roti bread on the side to mop up the bisque.


[User] Please transcribe this text

[Assistant] Hi Benita. Hi. What's cooking? Ah, well I've cooked the tea crab. Yeah. And I want to reduce that down to, um, I'm going to pulverise the whole lot.


[User] Please transcribe this text

[Assistant] So I decide, yep, I'm going to listen to them. Make something in 40 minutes that we're gonna love. Okay. I take my saucepan off, put it under my bench, and I'm going to start again.


[User] Please transcribe this text

[Assistant] Today is the first elimination, uh, I'm feeling a bit nervous. Mastership, uh, means a lot to me. So after yesterday's school camp,


[User] Please transcribe this text

[Assistant] It's tricky because you have to hero both of the components, not one or another. Hopefully I don't get a weird one.


[User] Please transcribe this text

[Assistant] You worked with green peppercorn before? Nah, I haven't. I don't know what I'm gonna do now.


[User] Please transcribe this text

[Assistant] All I'm thinking is how can I make a hero out of green peppercorn? Lee, come on down man.


[User] Please transcribe this text

[Assistant] It's challenging but the peppercorn and the mango should go together if I can pull it off.


[User] Please transcribe this text

[Assistant] I just have to motor on now and don't want to get behind. The last time I didn't do so well, so this time I have to prove myself.


[User] Please transcribe this text

[Assistant] Today I'm making a mango mint pepper consorbe, coconut pot seekers, a coconut broth, and some charred mangoes.


[User] Please transcribe this text

[Assistant] I really need to move very quickly. Time wise, I'm not doing as well as I wanted to. I'm just putting the solder in now.


[User] Please transcribe this text

[Assistant] The thing that I'm worried about is the green pepper corns. If you put too much into the dish, it will overpower the dish. And if you don't put enough, the judges won't be able to taste it.


[User] Please transcribe this text

[Assistant] My main concern is the sorbet, so that I get the balance right, I get the flavors through. That's really the main challenge I think. Stacy, if I don't hero the peppercorn, I'm afraid that I might be going home.


[User] Please transcribe this text

[Assistant] Later I got the, uh, hit in the back so it's alright. I think that's what the judges will be looking for.


[User] Please transcribe this text

[Assistant] 10 minutes to go, time is running out. I have to cook my potstickers which are getting ready and then have to plate up.


[User] Please transcribe this text

[Assistant] I'm confident that the peppercorn and the mango is on the plate. Whether they go with the dish or not, there's a question.


[User] Please transcribe this text

[Assistant] Rashidel, what have you cooked? Mango, mint, pepper, consorbe.


[User] Please transcribe this text

[Assistant] Coconut pot seekers, a coconut broth, and some charred mangoes.


[User] Please transcribe this text

[Assistant] How was that? That was nerve-wracking, exciting. Really tested me out today.


[User] Please transcribe this text

[Assistant] It was very challenging because, uh, the balance, if I put it too much, then it's gonna overpower. If I put it less, then you'll not find it in the dish. So I've tried to put it in the sorbet.


[User] Please transcribe this text

[Assistant] I've put myself out there and learned a lot about myself. And now I'm going back to my family and my son.


[User] Please transcribe this text

[Assistant] Yes, and actually one special user was the inspiration for this lesson. So Wolfgang, this one is for you.


[User] Please transcribe this text

[Assistant] So we're going to look at some sci-fi language in this lesson. But before we start, let's look at vocabulary preview.


[User] Please transcribe this text

[Assistant] That's right. Unidentified spacecraft.


[User] Please transcribe this text

[Assistant] A spacecraft is a vehicle that travels in space.


[User] Please transcribe this text

[Assistant] Alright, well uhm, I think the people in our dialogue may or may not have seen a UFO, so why don't we take a listen.


[User] Please transcribe this text

[Assistant] Well I guess in the dialogue, the bad guys were breaking through.


[User] Please transcribe this text

[Assistant] Well, let's listen to some examples to help us find out.


[User] Please transcribe this text

[Assistant] So it's a little bit different from reaching an agreement because there's usually a winner and a loser.


[User] Please transcribe this text

[Assistant] You want to accelerate so you can pass another car.


[User] Please transcribe this text

[Assistant] Well great, uhm, well great. I think that's a little bit more clear this time. But like Marco said, I want to look at now some phrases that you might hear in a sci-fi context.


[User] Please transcribe this text

[Assistant] Yeah, so you will not be my prisoner anymore.


[User] Please transcribe this text

[Assistant] Uhm, I will no longer be your employee.


[User] Please transcribe this text

[Assistant] One more thing Marco, is this quite commonly used or maybe a little bit formal?


[User] Please transcribe this text

[Assistant] You know nothing of the power of the obscure side.


[User] Please transcribe this text

[Assistant] Again, formal, uhm, and probably quite often used in science fiction movies.


[User] Please transcribe this text

[Assistant] Now let's go to our last phrase, and then this one actually can be used in many different circumstances. Let's settle this once and for all.


[User] Please transcribe this text

[Assistant] Actually, I've seen some of the Star Wars movies, but everyone that I've watched I've fallen asleep in the middle of.


[User] Please transcribe this text

[Assistant] Yeaah, even in the movie theater, I fell asleep in the movie theater watching Star Wars.


[User] Please transcribe this text

[Assistant] No, I just, the whole time I'm sitting there going, this cannot happen.


[User] Please transcribe this text

[Assistant] You'd think it would be pretty easy for you to win, considering all the sugar in sodas, ice cream, candy, and big white bags labeled sugar. People get about half of their added sugars from those drinks and treats, so it might seem like sugar is hiding in plain sight.


[User] Please transcribe this text

[Assistant] But like someone in the witness protection program, the other half is hidden in places you'd least suspect.


[User] Please transcribe this text

[Assistant] Check the ingredients on ketchup, bologna, spaghetti sauce, soy milk, sports drinks, fish sticks, and peanut butter. You'll find sugar hiding in most of those products. In fact, you'll find added sugars in three quarters of the more than 600,000 items available in grocery stores.


[User] Please transcribe this text

[Assistant] But how is sugar hiding? Can't you just look on food labels? It's not that easy.


[User] Please transcribe this text

[Assistant] Just like your friend Robert might go by Bob, Robbie, Rob, Bobby, or Roberto, added sugar has a lot of aliases. And by a lot, we don't mean five or six. Try fifty-six.


[User] Please transcribe this text

[Assistant] There's brown rice syrup, barley malt, demerara, florida crystals, muscovado, and of course, high fructose corn syrup. Sometimes called HFCS or corn sugar. Even sugar's tricky nicknames have nicknames.


[User] Please transcribe this text

[Assistant] Grape or apple concentrate has the same effect on your body as its 55 sugary twins. And even though organic evaporated cane juice sounds healthy, when you evaporate it, you get sugar. Chemically speaking, it's all the same.


[User] Please transcribe this text

[Assistant] And even trickier, when multiple added types of sugars are used in one product, they get buried down in a long list of ingredients.


[User] Please transcribe this text

[Assistant] So the sugar content might appear to be okay, but when you add them all together, sugar can be the single biggest ingredient.


[User] Please transcribe this text

[Assistant] Currently, the FDA doesn't suggest a recommended daily limit for sugar, so it's hard to tell if this 65 grams in a bottle of soda is a little or a lot.


[User] Please transcribe this text

[Assistant] But the World Health Organization recommends limiting sugar to just 5% of your total calories.


[User] Please transcribe this text

[Assistant] But just what is sugar? What's the difference between glucose and fructose?


[User] Please transcribe this text

[Assistant] Both are carbohydrates with the same chemical composition of carbon, hydrogen and oxygen. But they have very different structures and behave quite differently in our bodies. Glucose is the best source of energy for nearly all organisms on earth. It can be metabolized by all organs in the body.


[User] Please transcribe this text

[Assistant] Fructose on the other hand is metabolized primarily in the liver.


[User] Please transcribe this text

[Assistant] And when your liver gets overloaded with sweet sweet fructose, the excess is metabolized to fat.


[User] Please transcribe this text

[Assistant] Fresh fruits actually contain fructose, but it's naturally occurring and doesn't cause an overload because the fiber in fruit slows its absorption. This gives your liver the time it needs to do its job.


[User] Please transcribe this text

[Assistant] It's sugar that makes cookies chewy and candy crunchy. It even turns bread crust a beautiful golden brown. It's also a great preservative. It doesn't spoil or evaporate, so the foods it's added to are easier to store and ship long distances and tend to be cheaper. That's why sugar is hiding everywhere.


[User] Please transcribe this text

[Assistant] Simply choosing water over soda, juices and sports drinks is a great way to avoid hidden added sugar. At the very least, try to pay attention to food labels so you can keep your sugar intake at a healthy level.


[User] Please transcribe this text

[Assistant] Because it's home cooking week, no fancy equipment. Oh.


[User] Please transcribe this text

[Assistant] You have 75 minutes to cook us a delicious dish using at least one of those ingredients inside the mystery box. The garden and the pantry.


[User] Please transcribe this text

[Assistant] The other thing you need to know is that we're only tasting the top five most appealing dishes. So we're gonna be watching every move you make in the kitchen and looking very closely at those finished dishes.


[User] Please transcribe this text

[Assistant] Because actually I can't see anything cooked here.


[User] Please transcribe this text

[Assistant] What a great cook, and it feels like we're in the thick of it already, doesn't it? And putting your minds to the test, because we've taken away all that fancy equipment. Now remember, we're looking for the top five dishes only, and the winner will get that all important advantage in the invention test. So, first up,


[User] Please transcribe this text

[Assistant] Pumpkin, prawns and pineapple are not a flavour combination that comes immediately to mind. So when you eat it and go yum, delicious, and of course it makes sense. It's because you've roasted that pumpkin, you've pushed it, you know, that little bit, so it's all caramelisedy and very, very sweet, and of course it matches the other flavour profiles, the prawns, which are naturally sweet. And that vinaigrette, that's a yum combination.


[User] Please transcribe this text

[Assistant] And the pantry are in play. So you've got everything that you need to feed us very well today and we are looking forward to it. The top three will find themselves in the first immunity challenge of the year.


[User] Please transcribe this text

[Assistant] Well, you had 75 minutes to cook a delicious dish from the core ingredient that Eloise chose today, which was halloumi. We are of course looking for the top three.


[User] Please transcribe this text

[Assistant] And for those three people, they get a chance at winning the immunity pin. And we're also looking for the bottom three.


[User] Please transcribe this text

[Assistant] And for those unfortunate cooks, a pressure test tomorrow.


[User] Please transcribe this text

[Assistant] So, first dish we'd like to taste belongs to Sarah.


[User] Please transcribe this text

[Assistant] Kind of sauce on this biscuit. Absolutely delicious. I'm not 100% behind the fritters.


[User] Please transcribe this text

[Assistant] Oh, what a shame. When George and I came to your bench, what we wanted to do was, you know, channel your thinking. We've got a very confused bowl of food there. And the fact that the pastries...


[User] Please transcribe this text

[Assistant] What a great day, starting with a mystery box. And Eloise, of course, you won that with that beautiful and very creative tart to tart. And that, of course, won you the right to pick the core ingredient in the invention test and you chose halloumi. We saw tons of creativity and some really out of the box thinking, which is great. We're looking for a top three and a bottom three.


[User] Please transcribe this text

[Assistant] And if you're one of those, you'll find yourself in tomorrow's pressure test. And there, someone will be going home.


[User] Please transcribe this text

[Assistant] And today we're bringing you an advanced lesson for all of our advanced learners out there.


[User] Please transcribe this text

[Assistant] Yes, we're gonna be talking about a very interesting topic that's known around the world, which is International Workers Day.


[User] Please transcribe this text

[Assistant] Right, but we're also going to be taking a look at some great words and of course a little bit more advanced or complicated structures.


[User] Please transcribe this text

[Assistant] Alright, so we were in a history class and we learned something new, something interesting, right?


[User] Please transcribe this text

[Assistant] Alright, so why don't we take a look at some of the words that we saw in this dialogue which were maybe a little bit different or difficult in Language Takeaway.


[User] Please transcribe this text

[Assistant] So that's a genesis. So the genesis of our legal system, you would say.


[User] Please transcribe this text

[Assistant] Yeah, I guess maybe you can say the origin or the beginning.


[User] Please transcribe this text

[Assistant] So now if something is appalling, like the working conditions were appalling,


[User] Please transcribe this text

[Assistant] Okay, okay, so the working conditions were appalling and people were setting up this movement.


[User] Please transcribe this text

[Assistant] Okay, yeaah. So, if somebody is hostile,


[User] Please transcribe this text

[Assistant] They can maybe be aggressive and maybe to a point, violent.


[User] Please transcribe this text

[Assistant] I think there's a saying that says, desperate times call for drastic measures.


[User] Please transcribe this text

[Assistant] Well, okay, but it goes around there somewhere, right? Something like that. If you really have an emergency, you need to do something drastic.


[User] Please transcribe this text

[Assistant] So again, maybe brutality and hostility are maybe similar, right?


[User] Please transcribe this text

[Assistant] Okay, so, brutality. Now, we also use the word brutal.


[User] Please transcribe this text

[Assistant] Now, sometimes we can use that word, but not in a harsh or forceful way, right?


[User] Please transcribe this text

[Assistant] Right, so that's what you're saying with this word, that it's very hard or it was very intense.


[User] Please transcribe this text

[Assistant] Okay, so for example, I can say, oh, I went for a run today and it was brutal. I'm so tired.


[User] Please transcribe this text

[Assistant] That phrase, brutal, using it in that context would be for younger people maybe, not really, you wouldn't really hear older people using it.


[User] Please transcribe this text

[Assistant] Okay, so we have some phrases that we saw in this dialogue, and well, let's start with the first one.


[User] Please transcribe this text

[Assistant] Okay, so the teacher started with an important aspect of and then specified the idea or what part it belongs to.


[User] Please transcribe this text

[Assistant] Okay, perfect. A part of. Very good. So Aspect sounds a little bit more formal or just a lot more intelligent, right?


[User] Please transcribe this text

[Assistant] So the teacher said that it's an important aspect of understanding the legal system was understanding its origins or its genesis.


[User] Please transcribe this text

[Assistant] Okay, so the beginning of this sentence is not enough to simply something.


[User] Please transcribe this text

[Assistant] Another example would be, it's not enough to simply pass your exams. You must get good grades as well.


[User] Please transcribe this text

[Assistant] Okay, very good. So that's a very good way of starting out. This idea of more is required.


[User] Please transcribe this text

[Assistant] Okay, so, what's happening here? Obviously this happened in the past, it's like about a hundred years ago, right?


[User] Please transcribe this text

[Assistant] But there was a future action that was going to happen in consequence of this.


[User] Please transcribe this text

[Assistant] Okay, so it's a, it's a grammar structure. Many of you maybe know the simple present or the, or the future tenses, but this is a little strange one. And as we said, so maybe it's a little bit difficult to understand the grammar in general, so why don't we take a look at some more examples of how we would use this future in the past.


[User] Please transcribe this text

[Assistant] Okay, so now I think it's clear this whole idea of the future and the past and we'll, uh, we'll also be answering any questions on the site if you have any problems, right?


[User] Please transcribe this text

[Assistant] Okay, so why don't we listen to the dialogue one more time, and then we'll come back and talk about this holiday, which is the International Workers Day.


[User] Please transcribe this text

[Assistant] Oh wow. Well yeaah, I mean, it's not productive, right?


[User] Please transcribe this text

[Assistant] Yeah, we do. On May 1st, it's a, it's a holiday and we actually have two holidays in May as well because on the 24th, we actually celebrate the Battle of Picincha, which is one of the decisive battles for the independence of Ecuador. So we don't mind having two holidays in the same month.


[User] Please transcribe this text

[Assistant] So yeaah, on May 1st, people take vacations or companies usually on May 1st will do something special for their employees.


[User] Please transcribe this text

[Assistant] Yeah, so it's like, it's workers' day, so they'll set up maybe a barbecue or a trip or something like that. So that's what usually happens on May 1st.


[User] Please transcribe this text

[Assistant] May 1st, right? And if you do, well let us know, come to our website, EnglishPod.com and leave your questions and comments there as well.


[User] Please transcribe this text

[Assistant] It's as hard as any dish that's ever appeared on this show.


[User] Please transcribe this text

[Assistant] The actual, the actual principle, probably 15 years, the dish itself, I would say nine months.


[User] Please transcribe this text

[Assistant] What is this dish? It's called, uh, Counting Sheep. Counting Sheep? We talk about counting sheep.


[User] Please transcribe this text

[Assistant] There's something that we do in order to sort of fall asleep. So this is incredibly light meringue. Two pillows.


[User] Please transcribe this text

[Assistant] There's malt in there as well, because that's got, you know, that whole thing about Horlicks or Ovaltine or malty drinks. Very relaxing at night. The key thing, absolute key thing for this is it's light. And this is all about the feeling of lightness before you fall asleep.


[User] Please transcribe this text

[Assistant] Yep. So this is an incredibly light malted meringue with milk ice cream inside.


[User] Please transcribe this text

[Assistant] And that lightness, especially from the pillow, sets you up for the dish.


[User] Please transcribe this text

[Assistant] You've got a steamed, this is like a steamed sponge with panna cotta.


[User] Please transcribe this text

[Assistant] Oh, the sponge is so light. So that sponge is light but it's got a slightly soft, chewy texture as well. Then, there's incredibly light mousse, which has been sprayed. Wow. With coriander, lychee, and caramel inside. Oh my god, the mousse is so light.


[User] Please transcribe this text

[Assistant] There's some yoghurt powder and underneath there's a few little special purees.


[User] Please transcribe this text

[Assistant] Pistachio, orange flower, water, coriander, and some other things.


[User] Please transcribe this text

[Assistant] There's so many ingredients in here that to get the balance right is so, so critical.


[User] Please transcribe this text

[Assistant] This is my ninth year and to be involved in the final on the tenth anniversary is more special than ever. I'm so proud to be part of it.


[User] Please transcribe this text

[Assistant] The critical thing, if they get all the textures right, that the real essence of this dish is going to be the balance of all of those flavors. So don't get that. It's a big trouble.


[User] Please transcribe this text

[Assistant] I would be careful not to push it too hard. Because if not, it might actually come through the... Do you want to leave some mousse on the bottom here? Yeah.


[User] Please transcribe this text

[Assistant] Which is beautiful. And the sponge texture.


[User] Please transcribe this text

[Assistant] Just looking at these dishes and the pillows, I'm proud of what you've done. Because the dish looks like it's been represented beautifully.


[User] Please transcribe this text

[Assistant] And that, that sort of ovaltiney malt drink.


[User] Please transcribe this text

[Assistant] The panna cotta, fantastic. Excellent texture. And then I think that on the actual dish, there were some fantastic bursts of the mixture of the flavours that really connected. Yeah.


[User] Please transcribe this text

[Assistant] Okay, we're going to look at two words that you'll hear in this dialogue. And the first one is trim.


[User] Please transcribe this text

[Assistant] That's right, here in this dialogue, we'll hear nothing too fancy.


[User] Please transcribe this text

[Assistant] So I guess the stylist really thought this guy had nice hair, right?


[User] Please transcribe this text

[Assistant] And when something is silky, uhm, it's very soft and smooth.


[User] Please transcribe this text

[Assistant] Yeah, so the light bounces off things that are shiny.


[User] Please transcribe this text

[Assistant] Alright, well sideburns are things that men have, right?


[User] Please transcribe this text

[Assistant] And it's the hair that grows on your cheeks near your ears.


[User] Please transcribe this text

[Assistant] So, if this guy let his curly hair grow out, he would have an afro.


[User] Please transcribe this text

[Assistant] That's right, it's like a big, round, curly, fluffy ball of hair.


[User] Please transcribe this text

[Assistant] Okay, so we have some phrases here that you might hear in a hair salon or in a barber shop. So why don't we look at those now in Fluency Builder?


[User] Please transcribe this text

[Assistant] So why don't we hear a few examples to help us understand how to use this phrase.


[User] Please transcribe this text

[Assistant] We might use this phrase when somebody is not doing what we think they should do.


[User] Please transcribe this text

[Assistant] Okay, and our final phrase, and this one is really common in barber shops. Take a little off the


[User] Please transcribe this text

[Assistant] Yeah. Okay, uhm, and our last one, my actual personal least favorite haircut.


[User] Please transcribe this text

[Assistant] Yeah, uhm, it looks like you haven't washed your hair in about seven years.


[User] Please transcribe this text

[Assistant] Sure, or like, uhm, young hippie kids.


[User] Please transcribe this text

[Assistant] And every time you step into this kitchen, every day, you're gonna be cooking just one thing.


[User] Please transcribe this text

[Assistant] Your staples this week include all the usual. Milk, butter, sugar, eggs, etc. But, because this is Sweet Week, we've got a few extra things to help you put up a gorgeous dessert.


[User] Please transcribe this text

[Assistant] They are icing sugar, gelatin, agar agar, liquid glucose, maltodextrin, citric acid and bicar.


[User] Please transcribe this text

[Assistant] What a brilliant cook. What we were so thrilled to see, there were so many techniques on show. I think every pastry technique we could name, you guys were doing it. We're looking for the top five dishes. First up to taste is...


[User] Please transcribe this text

[Assistant] The bottom three, Samuel Trent, Brian, you need to get a solid night's sleep. Because tomorrow...


[User] Please transcribe this text

[Assistant] I've made a apple and rose pie and green apple syrup.


[User] Please transcribe this text

[Assistant] On this slide, the red line is the 30-year mortgage rate. It's the rate of interest on the 30-year mortgage. And the blue line is the yield to maturity.


[User] Please transcribe this text

[Assistant] Uh, I put the two together on this chart to illustrate an important fact that the 30-year mortgage rate tracks the 10-year government bond deal. It's a pretty good relationship, isn't it?


[User] Please transcribe this text

[Assistant] Well, the reason that there's a good relationship is that there's, there should be one interest rate. Right? Uh, no, no, let me clarify one thing.


[User] Please transcribe this text

[Assistant] 30 year mortgage. That looks very different from 10 year.


[User] Please transcribe this text

[Assistant] Most mortgages are paid off in less than 30 years. In fact, this is the way it works. The typical homeowner, uh, that's you, uh, coming up, uh, the typical homeowner buys a first home, which we call a starter home, when they're in their 20s maybe?


[User] Please transcribe this text

[Assistant] Uh, and then their jobs tend to be unstable at that, they're moving from one job to another, uh, and they might move several times.


[User] Please transcribe this text

[Assistant] Uh, in the space of 10 years. And then typically the normal life cycle in an advanced country is by the time you reach 40 or thereabouts, you've now settled down in a job that will keep you for 30 years. Not always, but typically, this is a typical life story.


[User] Please transcribe this text

[Assistant] And then you buy a house which is your final house, uh, which you live in for 30, 40 years. Uh, and then, uh, then, uh, uh,


[User] Please transcribe this text

[Assistant] You end up moving to some kind of retirement community, and then you move to a nursing home, uh, and then you move to the cemetery. That's the life cycle.


[User] Please transcribe this text

[Assistant] But look at the housing purchases there. There's a lot of short purchases, and then there's a long one. But we don't, we give these people 30-year mortgages, uh, even, often, even, uh, even if they're buying a starter home. They never know it's a starter home. They don't like to bring that up. You're buying a home. You're excited, we hope. You've got a house now. And they know that you're going to probably sell it.


[User] Please transcribe this text

[Assistant] So anyway, the average time that a mortgage actually is outstanding is something like 10 years, even though it's a 30 year mortgage.


[User] Please transcribe this text

[Assistant] So they like to track, they're doing this deliberately, they're tracking the 10-year mortgage rate.


[User] Please transcribe this text

[Assistant] Now why is there a spread though? The, the mortgage, I said, they're tracking a 10 year government bond yield. Uh, now why is there a spread?


[User] Please transcribe this text

[Assistant] See, the bank is charging more than, uh, the 10 year rate.


[User] Please transcribe this text

[Assistant] Uh, now incidentally, uhm, there is, uh, some of them are FHA insured, so, uh, and there's other mortgage insurance, but they have to pay for that insurance, so it's not, uh, we just said it's up to one and a half percent. The spread between the two is getting wider now than it was back then.


[User] Please transcribe this text

[Assistant] And I think that reflects the costs of, uh, and also a mortgage has to be serviced.


[User] Please transcribe this text

[Assistant] You have to send out letters, you have to maintain a system. When people don't pay, you have to call a credit bureau that will nudge them to pay. So all those are costs. But, uh, I find it amazing. The 30-year mortgage rate in 1982 got up to almost 19%.


[User] Please transcribe this text

[Assistant] Okay, that's the interest rate on the mortgage. This is the mortgage rate. But your mortgage payment would be more than, uh, if you bought, if you borrowed, let's just make it simple, you borrowed all of the money to buy a house.


[User] Please transcribe this text

[Assistant] Let's say you bought a $300,000 house. And let's say the total mortgage payment is 20%. Uh, so what's 20%?


[User] Please transcribe this text

[Assistant] Uh, that's $60,000 a year. Uh, that's a lot of money, isn't it? How did people do that? A $300,000, of course, back in 1982, $300,000 would be an expensive house. We can still do that.


[User] Please transcribe this text

[Assistant] That's a lot of money to be paying out every year. Uh, you know how they did it?


[User] Please transcribe this text

[Assistant] Well, A, they didn't do it. The home prices fell, uh, because nobody could afford to buy a house. Uh, some of them did it, and they got their mom, their mom and dad's money to buy a house.


[User] Please transcribe this text

[Assistant] Yeah, and there was a lot of inflation. But you see, the problem, it doesn't matter whether there's a lot of inflation or not. Yeah, you're being paid back because ideally your property is appreciating with the inflation rate. But that's not cash that I have.


[User] Please transcribe this text

[Assistant] Uhm, but there are other, uh, kinds of mortgages. No, instead, what was prompted by your question is the so-called price level adjusted mortgage, or plan.


[User] Please transcribe this text

[Assistant] They made the amortization actually negative. Amortization means paying off the principal. Your payment comes in two parts.


[User] Please transcribe this text

[Assistant] One of them is interest, one of them is amortization. So they had negative amortization mortgages in the first year. So you didn't have to pay 20% of the value of your house every, how can anyone afford that?


[User] Please transcribe this text

[Assistant] So PLAM started to come in in this really high inflation period. The inflation rate was double digit in 1982.


[User] Please transcribe this text

[Assistant] So uh, then, then there's all these different, I'm not gonna, adjustable rate mortgage is a mortgage that


[User] Please transcribe this text

[Assistant] You get it for 30 years maybe, but they, they don't fix the interest rate. They tell you that your interest rate would equal some short rate, like the one year treasury, uhm, each year plus something.


[User] Please transcribe this text

[Assistant] Uh, there might be some. You might, if you're asked around, be able to get one now. But inflation is virtually zero now, and so people completely lose interest. They shouldn't, by the way, because we're going to have a lot of inflation in the future, probably, sometime, and uh, but people get kind of, uh, unconcerned.


[User] Please transcribe this text

[Assistant] The banks are unconcerned. If there's a lot of inflation and you own a house, you're happy. Because now the real value of your mortgage goes down, uh, if it's a fixed rate mortgage. But the bank won't be happy.


[User] Please transcribe this text

[Assistant] Uh, then there are, uh, there are shared appreciation mortgages. These are mortgages where you pledge some of the, you pay out some of the appreciation and value of your house in lieu of interest.


[User] Please transcribe this text

[Assistant] These were popular in the United Kingdom, uh, just before the financial crisis, or just before the 2000s. But they dropped out of favor because home prices went up so fast in the UK, and people were


[User] Please transcribe this text

[Assistant] They were promising to pay that and they didn't like it. And they got angry and the whole thing kind of fizzled.


[User] Please transcribe this text

[Assistant] You know, we're still back mostly in the United States with conventional fixed rate mortgages. A home equity loan is a loan on the value of your house.


[User] Please transcribe this text

[Assistant] That you might take on later as a way of, uh, getting money. So for example, for home improvements or


[User] Please transcribe this text

[Assistant] You might just take out a second mortgage, uh, and they're often marketed separate, separately, uh, and they were part of what got us into a great amount of debt.


[User] Please transcribe this text

[Assistant] Just prior to the financial crisis. Because people were first of all borrowing at a conventional fixed rate mortgage and then they'd get an ad saying


[User] Please transcribe this text

[Assistant] So people started borrowing more and more against their house. We had fewer people who had paid off their houses. And more and more debtors. And then the financial crisis came.


[User] Please transcribe this text

[Assistant] Well, when you bring that up, it rings to my mind, uh, the episode just as Paul Volcker became chairman of the Fed in 1979, there was double-digit inflation, like 12% in the US at that time. And so interest rates were very high.


[User] Please transcribe this text

[Assistant] You know, some people were paying 18% a year on their mortgage. It became very difficult for people to afford that interest. And so home prices reached real extreme lows, uh, at that time. Uh, but they came back. So, uh, it's, uh,


[User] Please transcribe this text

[Assistant] So as usual, we're going to predict 1, y equals 1 if h of x is greater than or equal to 0.5 and predict 0 if the hypothesis outputs a value less than 0.5.


[User] Please transcribe this text

[Assistant] One way to do this would be to modify the algorithm so that instead of setting this threshold at 0.5, we might instead say that we'll predict that y is equal to 1 only if


[User] Please transcribe this text

[Assistant] But in contrast, this classifier will have lower knee call because now we're going to make predictions, we're going to predict y equals one on a smaller number of patients.


[User] Please transcribe this text

[Assistant] But we fail to tell them that they have cancer, then that could be really bad, because, you know, if we tell a patient that they don't have cancer, then they're not going to go for treatment. And if it turns out that they have cancer,


[User] Please transcribe this text

[Assistant] But we fail to tell them they have cancer, well, they may not get treated at all, and so that would be a really bad outcome. They would just die because we told them they don't have cancer, they fail to get treated, but it turns out they actually have cancer.


[User] Please transcribe this text

[Assistant] So suppose that when in doubt we want to predict that uh, y equals one. So when in doubt we want to predict that they have cancer so that at least they look further into it and uh, they, they, they at least can get treated in case they do turn out to have cancer.


[User] Please transcribe this text

[Assistant] Right, and by doing so, we're saying that, you know what, if, if we think there's more than a 30% chance that they have cancer, we better be more conservative and tell them that they may have cancer so that they can seek treatment if necessary.


[User] Please transcribe this text

[Assistant] We're going to be correctly flagging a higher fraction of all of the patients that actually do have cancer, but we're going to end up with lower


[User] Please transcribe this text

[Assistant] And by the way, just as an aside, when I talk about this to other students, up until before, you know, it's pretty amazing. Some of my students say it's how I can tell the stories both ways. Why we might want to, you know, have higher position or higher recall and the story actually seems to work both ways.


[User] Please transcribe this text

[Assistant] But I hope the details of the algorithm is true and the more general principle is depending on where you want, whether you want high position, lower recall or higher recall lower position, you can end up predicting y equals one when h of x is greater than some threshold. And so in general,


[User] Please transcribe this text

[Assistant] There, for most classifiers, there's going to be a trade off between precision and recall. And as you vary the value of this threshold, you know, this, this value of this threshold I've been drawing here, you can actually plot out some curve that trades off precision and recall where a value up here, this would correspond to


[User] Please transcribe this text

[Assistant] So a very high value of the threshold, maybe threshold equals 0.99. So that's saying predict y equals 1, only if we're, you know, more than 99% confident, at least 99% probability of this one. So that'll be a high precision, relatively low recall. Whereas the point down here will correspond to


[User] Please transcribe this text

[Assistant] So the value of the threshold is much lower, maybe equal, you know, 0.01. Meaning uhm, when in doubt at all, predict y equals 1. And if you do that, you end up with a much lower precision, higher recall classifier.


[User] Please transcribe this text

[Assistant] And by the way, the precision recall curve can look like many different shapes. Sometimes it'll look like this, sometimes it'll look like that. Now there are many different possible shapes for the precision recall curve, depending on the details of your classifier.


[User] Please transcribe this text

[Assistant] But by switching to the precision recall metric, we've actually lost that. We now have two real numbers. And so we often may end up facing situations like if we're trying to compare algorithm one and algorithm two.


[User] Please transcribe this text

[Assistant] You know, we end up asking ourselves, is it a precision of .5 and a recall of .4? Well, is that better or worse than a precision of .7 and a recall of .1?


[User] Please transcribe this text

[Assistant] But this turns out not to be such a good solution because similar to the example we had earlier,


[User] Please transcribe this text

[Assistant] Almost all the time, that is if it predicts y equals 1 very sparingly, this corresponds to setting a very high threshold using the notation of the previous line.


[User] Please transcribe this text

[Assistant] So the two extremes of either a very high threshold or a very low threshold, neither of that would give a particularly good classifier. And the way we recognize that is by seeing if we end up with a very low precision or a very low recall.


[User] Please transcribe this text

[Assistant] In contrast, there's a different way for combining precision and recall. It's called the F score and it uses that formula.


[User] Please transcribe this text

[Assistant] And, uh, so in this example, here are the F scores. And so we would tell from, from these F scores that it looks like algorithm 1 has the highest F score, algorithm 2 has the second highest, and algorithm 3 has the lowest. And so, you know, if we go by the F score, we would pick probably algorithm 1 over the others.


[User] Please transcribe this text

[Assistant] That the F score takes a product or a precision and recall. And so if either precision is zero or recall is equal to zero, the F score will be equal to zero. So in that sense, it kind of combines precision and recall, but you know, for the F score to be large, both precision and recall have to be pretty large.


[User] Please transcribe this text

[Assistant] Uhm, but, uh, this usually gives you the effect that you want because if either precision is zero or recall is zero, this gives you a very low F score. And so to have a high F score, you kind of need a precision recall to be one.


[User] Please transcribe this text

[Assistant] That's equal to 1 times 1 over 2 times 2, so the f school will be equal to 1 if you have perfect precision and perfect recall. And intermediate values between 0 and 1, you know, this usually gives a reasonable rank ordering of different classifiers.


[User] Please transcribe this text

[Assistant] I know Ben's gonna taste my food, but I'm really struggling to make up my mind. I'm running out of time. If I can't get it together, it's gonna send me into the bottom three.


[User] Please transcribe this text

[Assistant] It might be home cooking week, but every now and then, even a home cook needs a bit of time off. Which is why you are here.


[User] Please transcribe this text

[Assistant] Just behind you is one of Melbourne's most popular family restaurants. Gravy at Crown.


[User] Please transcribe this text

[Assistant] Now there's not much that Johnny doesn't know about pizza and pasta.


[User] Please transcribe this text

[Assistant] So do you want some rules? Yes please. Each team has to cook four different dishes. One pasta, two different pizzas, and one dessert.


[User] Please transcribe this text

[Assistant] That's right, your first team challenge, your first service, 250 people.


[User] Please transcribe this text

[Assistant] But also your performance in the kitchen, including getting your dishes out on time. Remember what's at stake.


[User] Please transcribe this text

[Assistant] The least impressive team will be going into tomorrow's elimination. And from there, one of you will be going home.


[User] Please transcribe this text

[Assistant] We actually have to say we are quietly impressed. She showed some real grit, some real determination and so much enthusiasm. Well done. Johnny?


[User] Please transcribe this text

[Assistant] And the women aren't quite what they seem in this dialogue.


[User] Please transcribe this text

[Assistant] Well I don't think things are turning out very well for our housewives and our mons.


[User] Please transcribe this text

[Assistant] Yeah, like from a mouse to a bird to an insect or a bug.


[User] Please transcribe this text

[Assistant] But sometimes we also use it to mean an unknown and scary animal.


[User] Please transcribe this text

[Assistant] Yes, or some type of creature was attacking me.


[User] Please transcribe this text

[Assistant] When you break free, you escape from something that stops you moving.


[User] Please transcribe this text

[Assistant] Now, that's quite interesting the way we can use this in different ways, so why don't we take a look at some examples now.


[User] Please transcribe this text

[Assistant] So why don't we move on to our next word. They thought that maybe this creature was a kidnapper. Kidnapper. Kidnapper.


[User] Please transcribe this text

[Assistant] A kidnapper takes someone to a place and keeps them there, against their will.


[User] Please transcribe this text

[Assistant] Yes, that's true. So this word can actually be used in three different ways. So we saw a kidnapper, right?


[User] Please transcribe this text

[Assistant] Okay, so this is an interesting phrase. It's a sound made from pushing two words together.


[User] Please transcribe this text

[Assistant] Why don't we hear a few more examples of this and see if we can figure out what are the two words. Example one.


[User] Please transcribe this text

[Assistant] But it's really common when people speak. And actually, it's more likely that you'll say, let me, give me, than let me give me.


[User] Please transcribe this text

[Assistant] Uhm, because in, especially in American English, we don't like to talk about religious words, so like hell and God and Jesus, these things are, uhm, impolite in American English.


[User] Please transcribe this text

[Assistant] So they suspected her of being a kidnapper.


[User] Please transcribe this text

[Assistant] Yeah, suspect someone of being something.


[User] Please transcribe this text

[Assistant] Okay, well, Marco, we're coming near the end of this series, aren't we?


[User] Please transcribe this text

[Assistant] A mystery here at EnglishPod. So we want to hear from you. What do you think is going to happen?


[User] Please transcribe this text

[Assistant] That's right. Well guys, we're happy that you downloaded this lesson and remember to check out our website. But until next time, thanks for listening and goodbye.


[User] Please transcribe this text

[Assistant] Let's keep exploring objects, and this lecture will bring us to object methods.


[User] Please transcribe this text

[Assistant] So we learned that objects, just like arrays, can hold different types of data. And they can hold even arrays, and in fact, they could even hold objects inside objects. But now we can take it even further. And for that, remember how I said that functions are really just another type of value.


[User] Please transcribe this text

[Assistant] And if a function is just a value, then that means that we can create a key value pair in which the value is a function. And that then means that we can in fact add functions to objects. And so let's now see how.


[User] Please transcribe this text

[Assistant] And once more I will get back this object here.


[User] Please transcribe this text

[Assistant] But we will change it up a little bit this time around. So here let's simplify and just put the birth year.


[User] Please transcribe this text

[Assistant] Just to show you that we can hold all kinds of different data types in one object. But now let's also add a function here as a key value pair. So to do that, all we have to do is to add another key here.


[User] Please transcribe this text

[Assistant] And the function that we want to add is again the calcH function.


[User] Please transcribe this text

[Assistant] So that's one of the favorites as you can see, but it is because it's a very simple calculation that we can do with the birth year.


[User] Please transcribe this text

[Assistant] So to do that, let's simply add the name, basically, of the function here as a key. So as a property.


[User] Please transcribe this text

[Assistant] So calc, h, and then the colon, and now here we simply specify the function as an expression. And that works because the expression produces the value. And so we can just do this.


[User] Please transcribe this text

[Assistant] So function, and just like before, we pass in the birth year.


[User] Please transcribe this text

[Assistant] The birth year that was passed in. So this is pretty similar to simply writing this.


[User] Please transcribe this text

[Assistant] Right. So a regular function expression. So cons, cog, age.


[User] Please transcribe this text

[Assistant] Like this. This is how we used to do it before. And so you see that this is pretty similar.


[User] Please transcribe this text

[Assistant] The difference is just in the syntax, because now cogH is not a regular variable like here, but it's a property of the Jonas object. And so therefore we use the colon here, but the rest here is exactly the same.


[User] Please transcribe this text

[Assistant] And so that's why it was very important that you understood what a function expression actually is. Because here we need the function expression to create this method. And that's what this function is called. So any function that is attached to an object is called a method.


[User] Please transcribe this text

[Assistant] So of course we could have not used a function declaration here. So something like this. So function.


[User] Please transcribe this text

[Assistant] For example, that would not work. We would certainly get an error here.


[User] Please transcribe this text

[Assistant] Unexpected towing function. Because this is a declaration. And so it doesn't work here. Here we need an expression. And so this will work indeed. Okay? Does this make sense?


[User] Please transcribe this text

[Assistant] So if you can think of functions as simply being values, then you can see that a method is actually also a property. It just happens to be a property that holds a function value.


[User] Please transcribe this text

[Assistant] So here we have a string value, here we have an array value, here we have a boolean value, and here we have a function value. Alright?


[User] Please transcribe this text

[Assistant] So, I hope that's logical. And now, just like we can access any other property, we can also access the cog8 property, or method.


[User] Please transcribe this text

[Assistant] So Jonas.ColqH. And so colqH is now the function value. And just like any other function, in order to call it, we use the parenthesis. And now we can pass in the year here. And so that should then calculate our age.


[User] Please transcribe this text

[Assistant] And let's just lock this result to the console here.


[User] Please transcribe this text

[Assistant] And it does indeed. Okay. And you could also have accessed this method using the bracket notation.


[User] Please transcribe this text

[Assistant] Because again, it's just as if it was a normal, uh, property. And the brackets would actually be necessary here, so that this then here is the function. And then we call the function using the parentheses. So let's try that. And, ah, yeah, here this needs to be a string.


[User] Please transcribe this text

[Assistant] Like I showed you in the last lecture. And now here we get 46 as well.


[User] Please transcribe this text

[Assistant] Okay, so just like I showed you in the last video with the operator precedence table, the first thing that happens here is that jonas.corkh is computed. And so this here will become the function value. And then with the parentheses, we call that function value here and pass in 1991. And the same thing here.


[User] Please transcribe this text

[Assistant] So here we access the property cogH using the brackets, and then this here will basically be replaced with the function, and then we call the function right here, just like before.


[User] Please transcribe this text

[Assistant] Alright, now you might have noticed that the birth year, uh, 1991, that we passed here as an argument to the method, is actually already defined in the Jonas object itself, up here.


[User] Please transcribe this text

[Assistant] Right? So we already have this information in the Jonas object. And so writing the same number here and here is not ideal. Because we might make a mistake and pass in the wrong here. For example, right here.


[User] Please transcribe this text

[Assistant] So Jonas' birth year is 91, but here we could, for some reason, accidentally do 92, and then it would be wrong. And even if we do not make any mistake, this is still not ideal, because we are not keeping the code dry. So we're violating the don't-repeat-yourself principle.


[User] Please transcribe this text

[Assistant] So if we know the birth year of Jonas, it should only be written in one place, not in multiple places. Because if that might change, then we have to change it everywhere. That's always the philosophy that we need to keep in mind.


[User] Please transcribe this text

[Assistant] So what if we could actually access this BirthYear property directly from the Jonas object instead of having to pass it in?


[User] Please transcribe this text

[Assistant] Well, it turns out that we actually can. And that's because in every method JavaScript gives us access to a special variable called this.


[User] Please transcribe this text

[Assistant] And so what we can do now is, in this CalcH function, we can read the birth year directly from this object itself without having to pass it in as a parameter here into this function.


[User] Please transcribe this text

[Assistant] Alright, so let me copy this and comment this one out, just so that we keep a record of what we did. But this here will be the new version.


[User] Please transcribe this text

[Assistant] So, now we no longer need this parameter and we will read the birth year directly from the object.


[User] Please transcribe this text

[Assistant] And for that, again, we will use the dis keyword. So the dis keyword or the dis variable is basically equal to the object on which the method is called. Or in other words, it is equal to the object calling the method. So let's see who is calling the method. So down here.


[User] Please transcribe this text

[Assistant] Here is CogH, and the object that is calling the method is Jonas, because that's where the dot is. Let's forget about this one. I'll actually comment it out here.


[User] Please transcribe this text

[Assistant] And so again, the object that is calling the colch method here is Jonas. And so that means that inside this method, the dis variable or the dis keyword will point to Jonas. And so let me just write dis.birthYear here.


[User] Please transcribe this text

[Assistant] And then I can explain it even a little bit better.


[User] Please transcribe this text

[Assistant] So here we don't need to pass the 1991 here and I will run this now and we still get the correct result.


[User] Please transcribe this text

[Assistant] Great. And to make this even more, uh, clear here,


[User] Please transcribe this text

[Assistant] Let's also log this to the console.


[User] Please transcribe this text

[Assistant] And indeed, this is the whole Jonas object. And so again, that's because the Jonas object is the one who is calling this method, so this function.


[User] Please transcribe this text

[Assistant] You see here? It's Jonas.callGauge. And so whatever appears before the dot is the one who is calling the method. And so therefore, in the method, this points to Jonas now.


[User] Please transcribe this text

[Assistant] And if this points to Jonas, then this.birthYear is of course this value that we have, right?


[User] Please transcribe this text

[Assistant] Great. So you see that the dis keyword is something really, really useful. And we will learn even more about the dis keyword in greater detail in a later section. For now, I just wanted to introduce you to this concept.


[User] Please transcribe this text

[Assistant] And I know this can be a bit confusing, so really make sure to maybe pause the video and really analyze what's happening here. Maybe you can even rewind a little bit and hear my explanation again. That might be useful too.


[User] Please transcribe this text

[Assistant] Now, you might argue that maybe we don't even need these confusing disk keywords. Why not just do jonas.birthyear here instead?


[User] Please transcribe this text

[Assistant] Well, because that would actually still violate the Don't Repeat Yourself principle.


[User] Please transcribe this text

[Assistant] It would work just the same here now, but then let's say that we need to change the name of the object. So we change it here to Jonas2, and then we call Jonas2 down here. And then the code will no longer automatically work.


[User] Please transcribe this text

[Assistant] Because now Jonas is not defined, of course. And so we would have to keep that in mind and then come here and manually change this as well.


[User] Please transcribe this text

[Assistant] While if we had the disk keyword, then everything will keep working without us having to change it there.


[User] Please transcribe this text

[Assistant] Because now this will simply point to Jonas2, because that is the object calling the method. And so therefore, uh, it's always a good idea to reference the object itself and not hard code the name of the object.


[User] Please transcribe this text

[Assistant] So this works great already and we're really going into some more advanced territory here. So I hope you're still following me and you're still making sense of everything. However, we can actually even take this a little bit further.


[User] Please transcribe this text

[Assistant] But don't worry, it's not gonna get a lot more confusing. Just a small variation of this. Because let's say that we need to access the age, uh, multiple times throughout our program. So that would be like calling this, uh, a couple of times.


[User] Please transcribe this text

[Assistant] So let's say in three places of our application, we need to access the age. And so of course this will work.


[User] Please transcribe this text

[Assistant] And indeed it does. And it always locks the Jonas object because we still have this here. So this makes it a bit easier to view.


[User] Please transcribe this text

[Assistant] And so what happens here is that the function will get called a total of four times. And so this computation here will be done four times.


[User] Please transcribe this text

[Assistant] And in this case, that's not a big deal, but it might be, uh, like a heavier computation that actually takes some more time. And so it would be a bad practice to do this multiple times. Instead, what we can do is to just calculate the age once.


[User] Please transcribe this text

[Assistant] Store it in the object and then when we need it at a later point, we can then just retrieve the age as a property from the object. So I hope you're following me here.


[User] Please transcribe this text

[Assistant] Uh, so I will again copy this and comment it out so that we keep all the three versions that we did here.


[User] Please transcribe this text

[Assistant] So we calculate the age, and then we create a new property on the current object. So, in this case, on the Jonas object. And remember that we can use the dot notation like this to create new properties. So we did that in the previous lecture as well.


[User] Please transcribe this text

[Assistant] Where was that? Yeah, right here. So here we created Jonas.location and set it to Portugal. And so here we are essentially creating Jonas.age and setting it to this age that we just calculated. And then we can simply return this age.


[User] Please transcribe this text

[Assistant] And of course, we don't even need to return anything if we didn't want to. We could make this method only calculate the age, but not even return it. But I think it's a good practice to actually also return it.


[User] Please transcribe this text

[Assistant] And so now, here we can replace the function call with simply a request for the age property.


[User] Please transcribe this text

[Assistant] And notice this trick that I did here again with the command D, right? So this gives me multiple cursors and then I can do one operation in multiple places at the same time. So that's a really handy shortcut. So again, command D or control D and in the menu bar, that means add next occurrence.


[User] Please transcribe this text

[Assistant] And it is. But we only needed to calculate the age once. Then from here, we simply retrieve the property that we had already calculated before. And so this is the most efficient solution, let's say.


[User] Please transcribe this text

[Assistant] Alright, and now I actually have another small challenge for you that you can do just in this video.


[User] Please transcribe this text

[Assistant] So I want you to write a method called getSummary() and this method should return a string which should kind of summarize the data about Jonas. Or, of course, any other person data that you might have used. Uh, for example, uh, let me again.


[User] Please transcribe this text

[Assistant] Actually, we can get rid of this. So let me write challenge here again and then do an example string.


[User] Please transcribe this text

[Assistant] And we now could actually add all the data here to this string, but that would be too much work and I'm a bit lazy now. So let's just also say if I have a driver's license or not. So Jonas is a 40 year old teacher and he has a driver's license.


[User] Please transcribe this text

[Assistant] License. And it says that I have a driver's license because has driver's license is true. But if it was false, then here it should say, and he has no driver's license. So it's either a or no.


[User] Please transcribe this text

[Assistant] So figure out how you can do that, and so I hope you managed to do it. It's a bit similar to what we did in the previous lecture, but this time I want you to actually write a method on your own. So give this a try, and I see you here in a second.


[User] Please transcribe this text

[Assistant] And remember that you need to have a comma between the properties. And so that's true also with methods. So here we need a comma. And then just a function.


[User] Please transcribe this text

[Assistant] And it will then get all this data of course from the current object. So actually let's first, uh, call this method.


[User] Please transcribe this text

[Assistant] So, and we're doing it inside a console.log because of course we want to be able to see the summary string as a message in the console. So, Jonas.get summary.


[User] Please transcribe this text

[Assistant] Okay, so which is the object calling the method? It is Jonas. And so therefore, the disk keyword inside of getSummary will be Jonas. So I hope that this one is clear at this point.


[User] Please transcribe this text

[Assistant] So, let's now build a string here. And starting with the name, it is at this dot


[User] Please transcribe this text

[Assistant] So this, and now what do we do here? Should we use the age property, or should we do colchAge? Well, I would say that we should do colchAge, because we cannot assume that colchAge was already called before.


[User] Please transcribe this text

[Assistant] Okay, and if we don't call callH before we call getSummary, then the age property would not exist. And so,


[User] Please transcribe this text

[Assistant] Uh, and so it's, uh, it's better to actually do CogH here.


[User] Please transcribe this text

[Assistant] And so I think we did this before. So in a template string, we can easily do a function call. That's not a problem at all. So this.callh will call this other method and this will then return the age.


[User] Please transcribe this text

[Assistant] Alright, and maybe it might be strange for you to call the function also on this, but well, the rule is just exactly the same. This is Jonas in this object, and so this is essentially the same as writing it here.


[User] Please transcribe this text

[Assistant] License. Okay, makes sense. So again, here, uh, we want either A or no, depending on the state of the HasDriversLicense property.


[User] Please transcribe this text

[Assistant] So we get that property by calling this.hasDriversLicense. And here we're using the ternary operator. And so if this first part is true,


[User] Please transcribe this text

[Assistant] Then the result of the operator will be a. And otherwise the result will be no. And so that's what will then be put into this place of the sentence.


[User] Please transcribe this text

[Assistant] Okay. And we already called the method down here and we logged it to the console. And so I think this should work now and it does. So Jonas is a 46 year old teacher and he has a driver's license. Now just to test, let's set it to false.


[User] Please transcribe this text

[Assistant] And now, and he has no driver's license. Beautiful.


[User] Please transcribe this text

[Assistant] That's all the code that I had to show you in this video. And now just to finish the lecture, which I know is already running quite long, but I want to basically build a bridge between this method and the array method lecture. So remember that we used methods on arrays previously. So we can quickly go there.


[User] Please transcribe this text

[Assistant] So it was before this challenge.


[User] Please transcribe this text

[Assistant] Yes, indeed. So for example, here we have friends.push. And so we have an array and on there we call a method. So just like we did in this video.


[User] Please transcribe this text

[Assistant] Now what this means is that arrays are actually also objects. They are just a special kind of object. And so they have functions, or in other words, they have methods that we can use to manipulate them, like push, pop, uh, shift and unshift, and many more.


[User] Please transcribe this text

[Assistant] All right. So in this lecture, we created our own methods on our own objects, but here we basically used built-in methods on arrays. And so once again, that means that arrays are actually also objects. That's why they can have methods as well.


[User] Please transcribe this text

[Assistant] And we will dive deeper into why things work like this, but I wanted you to realize this early on in the course. This is quite a complex topic. And so there is really a very exciting journey still ahead of you.


[User] Please transcribe this text

[Assistant] So I hope you're enjoying this journey so far. And now to test your knowledge, there is coding challenge number three coming up next.


[User] Please transcribe this text

[Assistant] It was a traumatic brain injury, so I was in hospital for nine weeks. It's been a real struggle to get here. It was a relief just to get the top 24 apron. There's some really good cooks I'm going up against.


[User] Please transcribe this text

[Assistant] The chips are the hero ingredients, so without them, I don't have a dish.


[User] Please transcribe this text

[Assistant] I'll run with that. Give us the name of the dish. Sweet potato and potato chips with horse radish mayo.


[User] Please transcribe this text

[Assistant] I'm really disappointed in myself, but I'm gonna try and give it my absolute best minutes round. It's gonna be gnocchi, pretty basic Italian sauce. Italian cooking at its heart is simple and that's what I'm trying to bring to the table today.


[User] Please transcribe this text

[Assistant] I'm feeling really worried that my potatoes may not be soft enough to make gnocchi. And the gnocchi is the hero of the dish. It is the potato in my dish. You need to sort that out. I really need to get these potatoes cooked. And that's all that matters to me at the moment.


[User] Please transcribe this text

[Assistant] So there's only 15 minutes to go. I think some of the portions of potato in there are soft enough for the riser. I pull those out. Are they feeling soft?


[User] Please transcribe this text

[Assistant] The knockies floated to the top. It's done. The knockies looking good.


[User] Please transcribe this text

[Assistant] Uhm, it should be super smooth. The texture was good going through the process, so.


[User] Please transcribe this text

[Assistant] I don't know how much you guys like gnocchi and how much experts you are. I just hope I've done enough.


[User] Please transcribe this text

[Assistant] My MasterChef journey has ended a lot earlier than expected, but it's given me determination to get out there, chase my dreams, and do what I love.


[User] Please transcribe this text

[Assistant] And here goes the final coding challenge of this section.


[User] Please transcribe this text

[Assistant] And in this one, let's improve the tip calculator that we created earlier, but this time using loops. So here is what I want you to do. First, create an array called builds, which will contain the 10 test values that we have down here.


[User] Please transcribe this text

[Assistant] Create empty arrays for both the tips and the totals. And so these arrays should be called tips and totals. And if you need more details about this challenge, you can always go back to the code of the previous version that we wrote of this.


[User] Please transcribe this text

[Assistant] Then in number three, use the call tip function that we wrote before. And so go back to that challenge really and copy the function from there. There's no need to repeat the same code.


[User] Please transcribe this text

[Assistant] So use that function to calculate both the tips and the total values for every single build value that is in the builds array we created in number one.


[User] Please transcribe this text

[Assistant] And to do that, of course, use a for loop, just as we learned over these few last lectures.


[User] Please transcribe this text

[Assistant] And my hint to help you a little bit with this in case you need it is to call the callTip function inside the loop and then use the push method to keep adding values to the tips and the totals arrays.


[User] Please transcribe this text

[Assistant] Alright, so that's the basic challenge and hopefully you can solve it even if you need to consult the code that we wrote earlier. That's absolutely no problem.


[User] Please transcribe this text

[Assistant] There's no need to memorize anything. All you need is to understand. And so if you understood what we did up until this point, you should be able to look at the code that we wrote and then change that in order to fit this challenge. Now if you want to challenge yourself even more,


[User] Please transcribe this text

[Assistant] And basically push what we learned to the limit, then I have a bonus question.


[User] Please transcribe this text

[Assistant] And here I want you to write a function calcAverage, which will take any array called r as an argument.


[User] Please transcribe this text

[Assistant] And this function will calculate the average of all the numbers in the array that it received.


[User] Please transcribe this text

[Assistant] Now let me tell you that this is a very difficult challenge for you at this point. Because we haven't done anything like this before. Okay? So if you don't want to get frustrated or something, then there's no need to try this one. You can just watch the solution at the end of this video.


[User] Please transcribe this text

[Assistant] But if you still want to attempt how to do it, here are the steps, uh, how to solve it to make it a bit easier.


[User] Please transcribe this text

[Assistant] So first of all, you will need to add up all the values in the array that the function receives.


[User] Please transcribe this text

[Assistant] And to do that, you start by creating a variable called sum and set it to zero. And then you will loop over the array using a for loop. And in each iteration, you will add the current value of the array to the sum variable.


[User] Please transcribe this text

[Assistant] And by doing this, you'll end up with all the values in the array added together.


[User] Please transcribe this text

[Assistant] And then to calculate and return the average, all you have to do is to divide the sum that you just calculated by the length of the array. Because that is the number of elements.


[User] Please transcribe this text

[Assistant] So for example, if the array had just two values, like 10 and 20, we would add them together. They would be 30 and then divided by the number of elements in the array.


[User] Please transcribe this text

[Assistant] And so that would be 2, and so the result would be 15.


[User] Please transcribe this text

[Assistant] Okay, that's how you create the cork average function. And then I want you to use that function on the totals array.


[User] Please transcribe this text

[Assistant] Alright. So basically I want you to calculate the average of all the total values of the tips plus builds. Okay. So again, don't beat yourself up if this bonus one is too hard for you. Anyway, good luck with this one and I see you here again in a minute.


[User] Please transcribe this text

[Assistant] Okay, let's start by grabbing the cork tip function from earlier.


[User] Please transcribe this text

[Assistant] And that's why we keep all the code in one neat file like this.


[User] Please transcribe this text

[Assistant] And this one has quite a number of values, but we can just copy them. They are already almost in the correct format.


[User] Please transcribe this text

[Assistant] Then we create the empty tips and totals, const,


[User] Please transcribe this text

[Assistant] Another empty array. And now is where the magic starts. So basically where we will calculate the tips and the totals. So that is question number three. So use CogTip to calculate tips and total values.


[User] Please transcribe this text

[Assistant] And we want this to run while the counter is less than the length of the builds, which is 10. And so the last index is 9. And so that's the last element that's gonna be taken.


[User] Please transcribe this text

[Assistant] And now in here, let's start by calculating the tip and store it in a variable. So const tip is equal, and now we're using the corgtip function.


[User] Please transcribe this text

[Assistant] So we call it using parentheses, and now we need to pass in the build value. And what is the build value? Well, it is just the builds array at the current position.


[User] Please transcribe this text

[Assistant] And now you might wonder why I am able to declare this tip variable here as a constant. Am I not changing it in every loop iteration?


[User] Please transcribe this text

[Assistant] Well, actually that's not, uh, what happens. Actually, in each iteration, a new tip variable is going to be created. So we're not mutating, we're not changing the original tip that we declare here. In each iteration, we will simply create a new one. And that's why we can use const.


[User] Please transcribe this text

[Assistant] Anyway, now we have the tip calculated, and so we just need to push it into the tips array. So tips.push


[User] Please transcribe this text

[Assistant] So totals.push, dtip, plus the current build. And we already know that that is builds.


[User] Please transcribe this text

[Assistant] Okay, and that's actually it. Now you could have done it in a different way. For example, without this variable here at all, you could have just put this code, uh, here and here. But then you would have calculated the value twice.


[User] Please transcribe this text

[Assistant] And that's just not necessary. We just calculate it once and then we use it, uh, both to push the value into the tips and into the totals.


[User] Please transcribe this text

[Assistant] Okay, and now as always, let's check all the three arrays out in the console.


[User] Please transcribe this text

[Assistant] And, woah, that's a lot of numbers. But just by quickly looking at them, everything looks correct.


[User] Please transcribe this text

[Assistant] Great! That's really great. We basically just did the same as we did in the previous version of the challenge, but this time we did it using a loop, instead of manually creating the array by calling colgtip with builds 0, 1 and 2.


[User] Please transcribe this text

[Assistant] So that's what we did in the previous challenge. But this one is a lot better. Because now, no matter how many builds we have here, the loop will take care of all of them at the same time, basically.


[User] Please transcribe this text

[Assistant] Okay, so that's the basic challenge. I hope you arrived at the same result that I did, no matter how you solved it.


[User] Please transcribe this text

[Assistant] And now let's go for the bonus here. So we're writing a function called calcAverage.


[User] Please transcribe this text

[Assistant] And once again, I'm using a function expression here, which is my favorite kind of function, I would say.


[User] Please transcribe this text

[Assistant] And as we said, we will receive an array. And any array here will work.


[User] Please transcribe this text

[Assistant] So once again, we're building a generic function which does not care what kind of values it's going to receive. It can receive builds or tips or scores or heights or masses or whatever really. It doesn't care what the values are.


[User] Please transcribe this text

[Assistant] And that's also why I gave it this generic name. So it's just caulk average and not, for example, caulk average totals.


[User] Please transcribe this text

[Assistant] Let's now do what we say, or what I say, here in 4.1, which is to start creating a sum variable that starts at 0. Then as we loop over the array, we will keep adding the current value to that variable. So, this time it needs to be a let.


[User] Please transcribe this text

[Assistant] Because this sum will of course be updated as we loop over the array.


[User] Please transcribe this text

[Assistant] And now all of this is pretty standard at this point. So equal zero.


[User] Please transcribe this text

[Assistant] I should stay below the array.


[User] Please transcribe this text

[Assistant] Dot length. And so this time array is simply the array that we're receiving in this function. So it's this parameter.


[User] Please transcribe this text

[Assistant] And now, as I said, as we loop over the array, we will keep adding the current value to the sum.


[User] Please transcribe this text

[Assistant] So what I mean is sum will be equal the current value of sum plus the array that we received as an input at the current position. And that's it. We're just missing here the


[User] Please transcribe this text

[Assistant] And comment out the original one, because remember that we have a more shorthand operator in JavaScript, which we can use when we want to update a value. So instead of sum equals sum plus, remember we can write


[User] Please transcribe this text

[Assistant] Sum plus equal array i. So this one is exactly the same as this. So if you prefer, you can write just this version, but this here is going to do exactly the same thing. Okay. And just to see if this works, let's actually test this now for now by logging only the sum. console.log


[User] Please transcribe this text

[Assistant] And we know that this will be 11, right? And so now we can test this function here just to see if this first part that we just wrote works.


[User] Please transcribe this text

[Assistant] Let's see. And yes, we get 11. And so this logic here is correct. So we got this array here into the function.


[User] Please transcribe this text

[Assistant] Okay, and so r is now 2, 3, 6. And so that's the array that we're then looping over.


[User] Please transcribe this text

[Assistant] Okay, so we end up with a sum, and now what we want to return


[User] Please transcribe this text

[Assistant] is simply the sum divided by the number of elements in the array, which remember is r.length.


[User] Please transcribe this text

[Assistant] And that's it. We can now get rid of this, but now we need to log the result to the console if we want to see it. Because this function here now does not log it, it simply returns it. And remember that that is a big difference.


[User] Please transcribe this text

[Assistant] So we know that the sum of this is 11, and 11 divided by 3 is something like close to 4. So we could change this here to 7, then the sum would be 12, and 12 divided by 3 is 4. And so then we can make sure that this function works.


[User] Please transcribe this text

[Assistant] It is 4, so great. This means that the function now works. And so now we can use this function to actually calculate the average


[User] Please transcribe this text

[Assistant] And so here we simply use the totals value that we already created before. And that's it.


[User] Please transcribe this text

[Assistant] So, the average total value of all our builds plus tips is 275.19. And let's actually do the same with the tips themselves, just to get an idea of the kind of tips that were paid here.


[User] Please transcribe this text

[Assistant] So the average tip is 42.89. Hopefully that part here was...


[User] Please transcribe this text

[Assistant] Not too confusing. But if you go slowly through the code step by step, you will understand it.


[User] Please transcribe this text

[Assistant] All right. And with this, we finished the complete JavaScript fundamentals. So we made a ton of progress here. So congratulations for making it this far. Great job, really.


[User] Please transcribe this text

[Assistant] However, as you know, we are really just getting started here. There is so much more to learn. And actually in the next section, we will quickly configure our VS Code Editor a little bit better and also set up a better development environment.


[User] Please transcribe this text

[Assistant] So that's going to be super useful for writing code a little bit faster. And I will also teach you some developer skills that every developer should really have.


[User] Please transcribe this text

[Assistant] But as always, before moving on, make 100% sure that you understood all these fundamentals from this section and the previous section.


[User] Please transcribe this text

[Assistant] So, if you want, you can redo the challenges or you can come up with your own small problems or ideas to solve. And by doing that, you will reinforce all these tools even better and ultimately become a better developer faster. Then, when you're really ready, let's together move forward.


[User] Please transcribe this text

[Assistant] When you look around the world, things seem to fall into two categories. There's stuff that produces light, like the sun or your computer monitor, and then there's stuff that only reflects it.


[User] Please transcribe this text

[Assistant] Fluorophores get their name from the process of fluorescence.


[User] Please transcribe this text

[Assistant] Fluorophores are secret color-converting workshops. But it's more than just, like, cool in theory. Fluorescence turns out to be a kind of chemical superpower that lets us tackle all kinds of problems, from solving crimes to saving lives, and even


[User] Please transcribe this text

[Assistant] First, in 1961, researchers at the University of Princeton were studying a jellyfish off the coast of North America that glowed green around its edge. To learn more about this, they ended up taking samples from thousands of jellyfish, and they isolated a protein called ichorin. Except, ichorin produces


[User] Please transcribe this text

[Assistant] Blue light from a chemical process, which was not the same as the green light they saw in the live jellyfish. So something must have been changing that light from blue to green. The answer to the puzzle was green fluorescent proteins, or GFPs. These glow green when exposed to blue or ultraviolet light.


[User] Please transcribe this text

[Assistant] And in the 1970s, researchers figured out why. It's a combination of how these molecules absorb energy along with the way they're structured. So molecules are made up of atoms, and atoms are just a central nucleus surrounded by some number of electrons. And in an atom,


[User] Please transcribe this text

[Assistant] There are different orbitals that electrons can occupy. For a rough analogy, you can think of them as like floors of a building. Electrons can exist on one level or on another, but they can't hover in between floors. When GFP molecules absorb light,


[User] Please transcribe this text

[Assistant] That energy pushes electrons up to a higher energy orbital. Then, eventually, the electrons relax and fall back down to their original state. But when they do, they release some light.


[User] Please transcribe this text

[Assistant] But it's not exactly the same light the molecule first absorbed. Some of that original energy might have gone into moving the whole molecule around a little or twisting it or rotating it so the light that's released


[User] Please transcribe this text

[Assistant] All fluorescence works in general, but it specifically works in these GFP molecules because of how they're shaped. They're essentially built like a soda can.


[User] Please transcribe this text

[Assistant] With a combination of three amino acids hanging out inside. On their own, those three amino acids don't seem to fluoresce. But when they're inside a GFP, the surrounding can of proteins


[User] Please transcribe this text

[Assistant] That means when light falling into the can gets absorbed, it's harder for these amino acids to convert that energy into movement or transfer it to other molecules nearby. Instead, they're more likely to lose the energy by releasing it.


[User] Please transcribe this text

[Assistant] All in all, this allows GFPs to convert ultraviolet and blue light into visible green light. And that was a huge breakthrough, it turns out!


[User] Please transcribe this text

[Assistant] By the 1990s, scientists had managed to take the gene for producing GFPs and put it into E. coli bacteria. Then, when scientists observed the bacteria under a microscope and shined UV light on them, the bacteria


[User] Please transcribe this text

[Assistant] I mean, with their eyes. In fact, by tweaking the segment of genes that produces GFPs,


[User] Please transcribe this text

[Assistant] They even managed to get the proteins to shine in colors other than green, which has been hugely helpful. Like, in 2007, a study used different colored GFPs to tag the nerve cells in a mouse's brain as it developed. Afterward, the resulting nerve cells could be individually traced with different rainbow colors,


[User] Please transcribe this text

[Assistant] Which the researchers obviously called the brain bow. The next year, the Nobel Prize in Chemistry went to the researchers who discovered, isolated the genes for, and created new colors of GFPs. GFPs are used for a bunch of different stuff, too. Since whole organs, like skin, can be made to produce GFPs,


[User] Please transcribe this text

[Assistant] Which are pet fish genetically engineered to glow in different colors. We still don't quite know why that original jellyfish evolved.


[User] Please transcribe this text

[Assistant] Like reddish-brown brick dust to the naked eye. But as the name hints, deep down, it has fluorescent powers, too. It's made up of organic molecules whose whole structure consists of several rings. In that arrangement, each of the atoms in fluorescein has strong chemical bonds with its neighbors, making the molecule rigid and stiff. And like in the GFP soda can structure, that stiffness gives fluorescein its abilities.


[User] Please transcribe this text

[Assistant] When blue light gets absorbed by a fluorescein molecule, the energy is stored by the electrons. But because the molecule is rigid, the electrons can't easily give up their energy to the molecule through movement or deformation. So the molecule ends up releasing most of its energy in the form of light.


[User] Please transcribe this text

[Assistant] Specifically, a bright yellowish-green color. And that has come in handy for medicine.


[User] Please transcribe this text

[Assistant] For instance, doctors occasionally need to inspect blood vessels in the back of the eye for damage that might diagnose certain conditions. Like, diabetic patients might have narrow or blocked vessels in their eye that could impair their vision or cause blindness. To inspect those blood vessels, they use a procedure called fluorescein angiography. The first step is to inject fluorescein dye into a patient's bloodstream.


[User] Please transcribe this text

[Assistant] After a short while, the dye will be circulating in all of their blood vessels, including the ones in their retina. Then, the doctors can project blue light onto the retina to get those fluorescent compounds glowing.


[User] Please transcribe this text

[Assistant] And then, they can check out the shape of the blood vessels with a filtered camera. Meanwhile, fluorescein can also detect blood even when it's outside the body.


[User] Please transcribe this text

[Assistant] The hydrogen peroxide reacts with the iron in the blood, which releases oxygen. And when the oxygen reacts with the fluorescein, it can convert it back to a form that fluoresces as usual. Then, an investigator can shine blue or UV light over everything and look for that telltale yellowish-green glow. And luckily, DNA within the blood


[User] Please transcribe this text

[Assistant] Daylight fluorescent pigments are a whole family of artificial molecules that fluoresce in different


[User] Please transcribe this text

[Assistant] Colors. Like fluorescein, their general molecular structure consists of rings of molecules which create strong chemical bonds between neighboring atoms and absorb UV light in a similar way. But they can also be made to absorb visible light by adding rings of carbon atoms or a long chain of atoms. These extra atoms change how the electrons jump around inside the molecules, which ultimately changes what


[User] Please transcribe this text

[Assistant] They add even more light to their natural color through fluorescence. The fact that they shine visibly in daylight is what gives the dyes their name. And since the colors seem to almost leap off the material, daylight pigments make materials


[User] Please transcribe this text

[Assistant] Extremely visible. And that is useful in lots of scenarios. Safety jackets, road signage, and lifeboats benefit from the vibrant, bright colors of fluorescent dyes.


[User] Please transcribe this text

[Assistant] Fire trucks and ambulances are covered with fluorescent pigments so they can be spotted from far away, too. But bright colors aren't just for safety. Lots of clothing, face paint, and accessories are also made with daylight fluorescent dyes in them. As well as looking bright and colorful in the sun, those same clothes will shine just as brightly under a black light.


[User] Please transcribe this text

[Assistant] So file that away for a future trip to the nightclub. I know we're all gonna go.


[User] Please transcribe this text

[Assistant] Face paint and rave out as soon as the COVID's over. Finally, while fluorescent pigments might bring some color to a Saturday night, it's a different kind of fluorophore that shows up at the office on Monday morning. Optical brighteners are organic molecules with rigid chemical bonds between their atoms. Like other fluorophores, that allows them to absorb UV light.