[User] Please transcribe this text

[Assistant] Individually emitting socket events only for users who are part of a DM chain. So that's the sender and the recipient of a DM message.


[User] Please transcribe this text

[Assistant] And to do that, we can navigate to app.js line 114 once again.


[User] Please transcribe this text

[Assistant] And we're going to add, uhm, some conditions here so that we make the right emissions at the right times.


[User] Please transcribe this text

[Assistant] Uhm, simply emitting a socket event to all connected sockets, because everyone's meant to receive this message. However, we will now also account for the case when the message is a DM.


[User] Please transcribe this text

[Assistant] So if the recipient's not all chat, we can assume that this message is a DM, in which case we'll only want to emit socket events to both the sender and the recipient of the DM.


[User] Please transcribe this text

[Assistant] In order to do that, we'll need to get the sockets that are associated with both of these users. And we can do that with a function, uhm, called SocketManager.getSocketFromSockets, or sorry, fromUserId.


[User] Please transcribe this text

[Assistant] And this is like essentially the name pretty accurately describes what this function does. This will simply get the socket associated with a particular user ID. So first we can notify the sender. And this would be rec.user, uh, dot underscore ID.


[User] Please transcribe this text

[Assistant] And once we have this socket that's returned by this, this function that's associated with rep.user, we'll want to omit an event to that socket.


[User] Please transcribe this text

[Assistant] And we'll call it the same thing because we actually want the client to handle it in the same way, simply adding it to the list of active, or messages of the active chat.


[User] Please transcribe this text

[Assistant] We'll also need to emit a socket event to the recipient.


[User] Please transcribe this text

[Assistant] We can do the same thing by getting the corresponding socket with getSocketFromUserId. However, this time we'll pass in


[User] Please transcribe this text

[Assistant] The ID of the intended recipient. So that's rec.body because this is a post request, so the information is contained in rec.body. And it will be the recipient field of the body.


[User] Please transcribe this text

[Assistant] So simply we'll emit socket events to the socket belonging to the sender, rec.user.


[User] Please transcribe this text

[Assistant] As well as the socket belonging to the intended recipient, wreck.body.


[User] Please transcribe this text

[Assistant] Now if we navigate back to our example, we'll see that this actually is able to resolve the issue we were seeing before, because when the message is a DM, only the participants of the DM are notified via the socket emissions.


[User] Please transcribe this text

[Assistant] So once again, Seymour will be trying to message or DM MI.


[User] Please transcribe this text

[Assistant] So, Seymour to Michael, or to MI will say, hello, this is now privates.


[User] Please transcribe this text

[Assistant] And as expected, MI will get this message. However...


[User] Please transcribe this text

[Assistant] Michael, the third party, who's not part of this DM exchange, will not be able to see this message in any of these chats.


[User] Please transcribe this text

[Assistant] So there's one slight thing that we need to account for as well, which is the possibility of sending a DM to yourself. So if you look at our website, we can see that...


[User] Please transcribe this text

[Assistant] We have the ability to, uhm, DM ourselves.


[User] Please transcribe this text

[Assistant] And we can see something weird happens, we actually get two of these messages appearing. And the reason for that is because...


[User] Please transcribe this text

[Assistant] We're emitting this socket event to both the sender and the recipient. So if both of them are the same user, we'll actually emit two socket events, causing this duplicate message problem.


[User] Please transcribe this text

[Assistant] And instead we'll want to, so what we'll want to do is like, double check to see if the user is the same as the recipient. And if so, we won't actually want to emit this second message. So we can just check this, uhm, kind of like this. So if the sender, uh, rec.user.id,


[User] Please transcribe this text

[Assistant] And we're only gonna want to send a second one if the sender is not equal to the recipient.


[User] Please transcribe this text

[Assistant] So once again, we'll always notify the sender via the socket.


[User] Please transcribe this text

[Assistant] And then if the sender is different from the recipient, we'll also notify the recipient via the socket. And just to kind of demo this working one more time, let's log in with one of our accounts and try to initiate a self DM.


[User] Please transcribe this text

[Assistant] Twice. And indeed we only get this message once.


[User] Please transcribe this text

[Assistant] So, that's the end of step nine. We've successfully prevented third parties from watching, uhm, private DMs.


[User] Please transcribe this text

[Assistant] And we've also handled the case where we are denying ourselves, so we shouldn't actually, um, emit individual socket events twice.


[User] Please transcribe this text

[Assistant] So now that we're here, we're almost completely finished with our chatbook page. There's just one more subtle issue that we need to take care of.


[User] Please transcribe this text

[Assistant] And to see what that is, let's again consider the case where Seymour, this leftmost account, is DMing MI.


[User] Please transcribe this text

[Assistant] If now Seymour, this left-nose account, wants to send a message to MI, this is a DM to MI.


[User] Please transcribe this text

[Assistant] MI actually has this message appear in all chats. Which is kinda weird, right? Cause I thought we just fixed that issue.


[User] Please transcribe this text

[Assistant] Well, it's a slightly different issue because if you look at a third party,


[User] Please transcribe this text

[Assistant] The third party, in this case Michael, still does not see this DM. So it's not as severe, we're not like leaking DMs to other people.


[User] Please transcribe this text

[Assistant] It's just that we're displaying the DMs in the wrong page.


[User] Please transcribe this text

[Assistant] So essentially what we need to do is add a filter to say like, I'm only going to display a message on the client side if it belongs to the current chat I have open.


[User] Please transcribe this text

[Assistant] So in order to do that, uhm, let's first all get on the same page by typing git reset dash dash hard, and then git checkout w nine step 10.


[User] Please transcribe this text

[Assistant] And as I mentioned before, we'll be doing this filtering on the client side to kind of just determine whether or not we should display a message, uhm, and if it's the correct open chat to display the message on.


[User] Please transcribe this text

[Assistant] And simply put, we're just going to check a bunch of conditions to make sure that we should be displaying this message to the client based off of what windows they have open. And it's a pretty long function, so I'm just going to copy and paste it in here. And it's not super important to like copy this yourselves.


[User] Please transcribe this text

[Assistant] Uhm, instead I'll just like walk through kind of what the logic is and why we're filtering out. And then if you want to run this locally, you can either copy it down or simply check out w9-complete.


[User] Please transcribe this text

[Assistant] But if we look at this, recall that this addMessages function is the function that is called whenever the client hears a socket event called message. And what it's going to do is it's going to add


[User] Please transcribe this text

[Assistant] The message that's sent along with the socket to the active chats.


[User] Please transcribe this text

[Assistant] And this is essentially just doing some filtering, uh, before to make sure we only update the active chat if these conditions are met. And again, these conditions are from the bottom to the top.


[User] Please transcribe this text

[Assistant] If this message that was just received was meant for all chat, and we're currently looking at all chat, we should update the active chat. Otherwise...


[User] Please transcribe this text

[Assistant] We're in a DM, which means we should only display messages that correspond to that DM chain.


[User] Please transcribe this text

[Assistant] The intended recipient of the message is who we're currently talking to and it was sent by us, we should display it. Similarly,


[User] Please transcribe this text

[Assistant] If it was sent by who we're currently talking to, so whoever we have active chat set to.


[User] Please transcribe this text

[Assistant] The recipient is us. We'll display it. So essentially, these two messages at the top say if this is a correct DM message, display it. This bottom one says if it's an all chat message and we're looking at all chat, we should display it. So if you navigate back to our example, and again, we'll just use the same example.


[User] Please transcribe this text

[Assistant] Seymour, the leftmost account, will be trying to send a DM to MI, the middle account here.


[User] Please transcribe this text

[Assistant] And we'll see that now, the middle account MI will not see their DMs.


[User] Please transcribe this text

[Assistant] In all chat. However, when they navigate to the DM page, they'll be able to see it.


[User] Please transcribe this text

[Assistant] So with that we finished up building out our chatbook page and it should be pretty functionally equivalent to the example we saw at the beginning at weblab.is slash example.


[User] Please transcribe this text

[Assistant] One thing to note is that currently, you won't be able to communicate with other users on different computers because we're running our backend server locally.


[User] Please transcribe this text

[Assistant] However, when we get to the deployment lecture and you actually deploy your servers, uhm, you'll be able to then chat with anyone who's connected to the same server as you, even if they're not using the same computer. So that's something to keep in mind as you're testing.


[User] Please transcribe this text

[Assistant] Uh, but it'll make more sense after we talk about, you know, deploying our backend to some remote server somewhere.


[User] Please transcribe this text

[Assistant] And I just wanted to like kind of end with some, um, high level notes about like what we learned in this workshop and how a socket's working in general. Pretty much.


[User] Please transcribe this text

[Assistant] We'll just need to remember a few things, uh, when working with sockets. And that's... Every time you want to use a socket, it's a two-step process.


[User] Please transcribe this text

[Assistant] One of those steps is to instruct the client to listen for a certain socket event. And this is done with the socket.on syntax in the client.


[User] Please transcribe this text

[Assistant] We can specify the name of the socket event we want to listen to, and we'll specify a callback function that's executed whenever the client hears the event that we're listening to.


[User] Please transcribe this text

[Assistant] The second step would be to have the server actually emit events of different types to the clients uhm, to inform them that something has happened.


[User] Please transcribe this text

[Assistant] There's two ways we can do this. One of them is with this .getio.imit syntax.


[User] Please transcribe this text

[Assistant] And I just realized that this is actually the wrong case.


[User] Please transcribe this text

[Assistant] .getio.emit syntax will essentially be like a shout because it emits an event to every single connected server or every single connected client to the server.


[User] Please transcribe this text

[Assistant] And again, with that, we can pass some sort of data for the client to use whenever they hear that event. In contrast, we can do something called a whisper.


[User] Please transcribe this text

[Assistant] Which is essentially done with this getSocketFromUserId syntax.


[User] Please transcribe this text

[Assistant] And we'll call dot emit to emit a socket event only to the socket that belongs to this user ID.


[User] Please transcribe this text

[Assistant] Again, we'll specify an event name for the socket event, and we'll also pass the user some data.


[User] Please transcribe this text

[Assistant] It's worth noting that we can actually use clients or sockets to communicate.


[User] Please transcribe this text

[Assistant] Client to server as well. Uhm, and we'll kind of cover that in the next lecture tomorrow on games.


[User] Please transcribe this text

[Assistant] But either way, this is a very high level overview of how we'll use sockets. And I encourage everyone to like, think about the last few steps and kind of the differences between getio.emit and getsocketfromuseid.emits and kind of the different scenarios in which you'd use them.


[User] Please transcribe this text

[Assistant] And as always, we're happy to take any questions on Piazza and office hours. And especially if you're building any sites that involve these concepts, we highly encourage you to come talk to us to clarify any confusions that may arise.


[User] Please transcribe this text

[Assistant] So one more thing I forgot in step 10 that's pretty important is that


[User] Please transcribe this text

[Assistant] In order to get this to work properly, we'll actually need to move the definition of this addMessages callback function. And I'll just go ahead and do that first and then kind of explain why this is important in a second.


[User] Please transcribe this text

[Assistant] So let's, let's all cut that message or the addMessages callback function and move it into this useEffect on line 73.


[User] Please transcribe this text

[Assistant] And this is the same, uhm, use effect that we turned on the sahi in.


[User] Please transcribe this text

[Assistant] Note that I've also added some dependencies of this use effect, specifically the ActiveChat.recipient.id and the props.userid.


[User] Please transcribe this text

[Assistant] It's not super important to understand why we have to do this, but essentially the reason is because whenever you define a callback function and pass it into a socket,


[User] Please transcribe this text

[Assistant] All variables are frozen. So essentially this means like,


[User] Please transcribe this text

[Assistant] Uhm, like this ActiveChat.RecipientId will be frozen to the value of when it's passed into the socket function. And similarly for like props.userId.


[User] Please transcribe this text

[Assistant] So in order for us to actually use those values and change them as they update, we'll need to add the callback function into this useEffect and have the useEffect execute any time any of those variables change.


[User] Please transcribe this text

[Assistant] This way, when the callback function is passed into the sockets, the correct values will be used.


[User] Please transcribe this text

[Assistant] Uhm, I know this might be kind of confusing, but an easy thing to remember is like, whenever you're using callback functions,


[User] Please transcribe this text

[Assistant] Uh, for sockets, it's good to define them within the use effect that you turn the socket on.


[User] Please transcribe this text

[Assistant] As well as add any variables that may change to the, the dependency list.


[User] Please transcribe this text

[Assistant] And, again, as always, like, if this is confusing, highly, like,


[User] Please transcribe this text

[Assistant] We really encourage you to post Piazza questions about this or come to office hours for explanation.


[User] Please transcribe this text

[Assistant] Uhm, this can be a source of like many hard to find bugs when using sockets, so just be careful for those.


[User] Please transcribe this text

[Assistant] Now, tell me about your teeth cleaning routine.


[User] Please transcribe this text

[Assistant] Well, imagine all the toothbrushes you've used in your life, from your first brush as a child to the one you currently have. You do realise that probably they all still exist in the environment somewhere. We use them for a couple of months, yet they will last for hundreds of years.


[User] Please transcribe this text

[Assistant] Well, it's just one of the problems we're facing with our use of plastics. A marvellous invention that has given us so much, but...


[User] Please transcribe this text

[Assistant] We are beginning to realise it's causing many long-lasting environmental problems. More on this topic shortly, but first a question. Plastic has many natural variations, but where was the first artificial plastic developed? Was it A. England, B. Germany or C. Switzerland? What do you think, Sam?


[User] Please transcribe this text

[Assistant] Okay, we'll find out if you're right at the end of the programme.


[User] Please transcribe this text

[Assistant] Environmental issues are of course a big story at the moment. The topic was featured on the BBC Woman's Hour radio programme recently. Madeleine Murray is from an Irish organisation that gives advice to businesses and communities on how to operate in an environmentally responsible way.


[User] Please transcribe this text

[Assistant] She was asked about what she does in her daily life that other people could do too. What food items does she mention?


[User] Please transcribe this text

[Assistant] So she buys in bulk. Buying in bulk means buying a lot of something. And if you have a lot of something, like rice or pasta, you can always transfer it to different smaller reusable containers. She uses the word decant for this.


[User] Please transcribe this text

[Assistant] So that's one area where we can all be a bit more environmentally friendly.


[User] Please transcribe this text

[Assistant] Another area is reusing things that are perfectly good but which we don't need any more. Dr Tara Shine is a colleague of Madeleine Murray and she talked about how new parents often buy a lot of new things for their babies which they then throw away when the child gets too big or too old.


[User] Please transcribe this text

[Assistant] She suggests that it's better to pass these things on, to give them to other people.


[User] Please transcribe this text

[Assistant] She used another expression for passing things on, didn't she?


[User] Please transcribe this text

[Assistant] And the thing is children grow up quickly, so often everything is in good condition.


[User] Please transcribe this text

[Assistant] It's time for the answer to today's question. Where was the first artificial plastic developed? Was it A. England, B. Germany or C. Switzerland? What did you think, Sam?


[User] Please transcribe this text

[Assistant] Well, I'm afraid you are wrong. The correct answer is actually England.


[User] Please transcribe this text

[Assistant] Well done if you got that right. Extra bonus points if you knew that in 1856 Alexander Parkes patented Parkinson, the first artificial plastic. Now let's recap today's words and expressions.


[User] Please transcribe this text

[Assistant] Buying in bulk means buying many of the same things or a large quantity of something. Buying in bulk is usually cheaper and can be better environmentally.


[User] Please transcribe this text

[Assistant] You can pass on clothes, toys and other kid stuff to family and friends. This means giving them to other people to use. Those things can be described as hand-me-downs.


[User] Please transcribe this text

[Assistant] Right, that's all we have time for. We hope you will join us again soon though. You can always find us on Facebook, Twitter, YouTube, Instagram, online and on our app. We are BBC Learning English. See you soon. Goodbye.


[User] Please transcribe this text

[Assistant] Oh, well, yes, I'm alright with my height. I can't do a thing about it anyway. So, uh, how about you?


[User] Please transcribe this text

[Assistant] Now, you may not have heard of heightism before, but it's like other isms, like racism, sexism, ageism, and other isms that highlight a particular kind of discrimination or unequal treatment that people experience.


[User] Please transcribe this text

[Assistant] Hmm, clever title. To shortchange someone is to not give them what they're entitled to, what they deserve.


[User] Please transcribe this text

[Assistant] And originally this phrase comes from paying for something and not getting the right money back. So if I buy something for £6 and I pay with a £10 note and the shopkeeper only gives me £3 back,


[User] Please transcribe this text

[Assistant] I've been short-changed. It means I've been cheated.


[User] Please transcribe this text

[Assistant] And in the context of facing discrimination because you're not tall, shortchanged is a really good pun.


[User] Please transcribe this text

[Assistant] And another point she makes is that many people embellish their height if asked. This means they say they're taller than they actually are. Now to embellish a fact means to exaggerate it, to make it seem bigger, faster, better and so on.


[User] Please transcribe this text

[Assistant] And this disparity or difference between the salaries of taller and shorter people is an example of heightism.


[User] Please transcribe this text

[Assistant] Shorter people, she says, are getting fewer jobs and fewer benefits because they're short.


[User] Please transcribe this text

[Assistant] Well, relish was one of those words. If you relish something, you really enjoy it. So thanks for that, Neil.


[User] Please transcribe this text

[Assistant] And discrimination because of someone's height is called heightism.


[User] Please transcribe this text

[Assistant] A premium is an extra benefit or advantage that can be gained in this case by being taller.


[User] Please transcribe this text

[Assistant] And finally, we had disparity, another word for difference. There's a disparity between salaries of tall people and their shorter colleagues.


[User] Please transcribe this text

[Assistant] It's a sleight of hand fraud. The criminals get you to look over there whilst they rifle your pockets and I have the email here and it looks completely convincing. All the right logos, all the right fonts. It just says that my direct debit on my TV license has failed and I need to pay it. It's very polite.


[User] Please transcribe this text

[Assistant] Can't wait to see you. You? What's new with you?


[User] Please transcribe this text

[Assistant] Can't wait to see you. You? What's new with you?


[User] Please transcribe this text

[Assistant] Hey, uhm, did you talk to my friend Small? Who? Oh, a friend of ours. She's, uh, well, she's small. She wanted some advices.


[User] Please transcribe this text

[Assistant] Muscles and... I think they go very well together.


[User] Please transcribe this text

[Assistant] Time is going very quickly now and I feel the pressure. I still have to...


[User] Please transcribe this text

[Assistant] Uh, uh, Caring Your Love With Me by George Strait. The genre is country music.


[User] Please transcribe this text

[Assistant] Too easy! That song is Kingslayer by the Finnish power metal group Nightwish. You are correct!


[User] Please transcribe this text

[Assistant] So yeah, so I'm going to be talking about spell.


[User] Please transcribe this text

[Assistant] So let's look into, uh, by the way, before we start, has anyone used Svelte before or has worked with Svelte or heard of it at all? Okay. Okay. A couple of people. All right.


[User] Please transcribe this text

[Assistant] So our agenda for today is basically do a quick spell, spell kit overview. And then I'm also going to go into a mini spell kit workshop. So you can actually follow along. Uh, if you want, I'll go a bit fast because I don't have that much time, but, um, if you want to go ahead and try that too.


[User] Please transcribe this text

[Assistant] Uh, so you can go to a weblab.is slash svelte to see the repository that I've created, uh, which has the, uh, source code for the example app that we're going to be making, as well as some resources that, uh, if you want to learn what more about, about svelte.


[User] Please transcribe this text

[Assistant] But, uh, essentially what is Svelte? I haven't even mentioned what that is. So Svelte is essentially a lightweight component-based web framework developed by Rich Harris.


[User] Please transcribe this text

[Assistant] Uh, and by now you probably understand what most of these terms are. So component-based means we use components within our app development. Web framework being frameworks like React, Angular, View, if you've heard of any of these. So you can see Svelte is kind of an alternative to one of these.


[User] Please transcribe this text

[Assistant] Uhm, beating out React even, as well as being the framework that most developers wanted to learn.


[User] Please transcribe this text

[Assistant] Uhm, and another key thing that people like about Svelte is that it's really, really easy to learn and get started with. Whereas React, uhm, as you might have, you know, uh, seen going through our, our React workshops, there are some things in React that are a bit hard to learn, like, uh, hooks, uh, like use effect, things like that.


[User] Please transcribe this text

[Assistant] So some more comparisons, uh, components. Again, spell is still made up of components. Uh, spell components look more like regular HTML files. So if you remember way back to workshop one or day one, learning HTML, CSS.


[User] Please transcribe this text

[Assistant] Spell components look more like regular HTML files, whereas React uses more JavaScript and JSX and things like that.


[User] Please transcribe this text

[Assistant] Next I'm going to be talking about SvelteKit, which is actually going to be what I'm working with today. So SvelteKit is a meta framework that allows you to use the Svelte component library to create full stack projects very easily. So, uh, this is very similar to Next.js and we're actually going to have a lecture on that tomorrow.


[User] Please transcribe this text

[Assistant] And what spell kit does is it adds many features required in modern web applications and it has them built in. So it has things like routing, data fetching, server-side rendering, environment variables, things like that.


[User] Please transcribe this text

[Assistant] Okay, so now I'm gonna actually go through the walkthrough. So, uh, if you want to follow along, uh, again, don't feel like you have to, I'm gonna be going pretty fast. Uh, you can clone the, the repo that I have here at, at the, at weblab.is slash svelp.


[User] Please transcribe this text

[Assistant] And you can check out, uh, you can, you know, cd into the spell workshop library, uh, directory, and then check out step one.


[User] Please transcribe this text

[Assistant] Alright, so I'm actually going to skip this step for the sake of time, but essentially what you can do is you can basically run this tool here, uh, this command line tool that SpellKit has provided for us. And we can basically just create a SpellKit project from scratch. Uh, no need to clone any, any external repo or anything, or anything like that.


[User] Please transcribe this text

[Assistant] Uhm, so the way that we can basically get caught up to this is by


[User] Please transcribe this text

[Assistant] And then what I'm going to do is I'm going to, uh, install the dependencies. So npm install.


[User] Please transcribe this text

[Assistant] And then the other command that I'm gonna do is npm run dev.


[User] Please transcribe this text

[Assistant] And you'll notice that this is a single command that we need to do. There's no need to run anything like npm start or npm run hotloader. It's just one command that starts both a server and a client.


[User] Please transcribe this text

[Assistant] So the first thing we're gonna do is basically just take a look at, at, at this, this, uh, this website here that we have. So if we refresh our localhost, and you'll have to go to localhost 5173. That's the port that feltkit decided to use when, when they created this. And you should be able to see something like this.


[User] Please transcribe this text

[Assistant] So the first thing that we can do is install the VS code tools that allow us to code with Svelte.


[User] Please transcribe this text

[Assistant] Then we're going to understand the basics of Svelte components. And then lastly, we're going to create a simple counter app and kind of compare that to React and see how Svelte is actually a lot cleaner and a lot simpler to understand.


[User] Please transcribe this text

[Assistant] So, uh, self officially recommends using this, uh, this extension spelt for VS code. Um, so if you search that up, uh, in the extensions.


[User] Please transcribe this text

[Assistant] You should be able to find it pretty quickly. I think it has like a million installs and you can install that there.


[User] Please transcribe this text

[Assistant] And then what you can do is you can open up the source folder here, you can go into routes, and you can go into page.svelte, plus page.svelte here, and you should be able to see this code here with a bunch of syntax highlighting if you have that extension installed.


[User] Please transcribe this text

[Assistant] And you can see here that this code, uh, it looks like just regular HTML. This is what's being rendered here in our local host. And if I change something here.


[User] Please transcribe this text

[Assistant] Say, I just removed this. Let's say I want to make it capital for whatever reason. It'll automatically update when I, when I save the file.


[User] Please transcribe this text

[Assistant] Okay, so now I'm gonna go ahead and demo how to create a simple counter app. So you're, you're gonna find that this might, this is pretty straightforward. So I'm gonna go ahead and let's just call this the home page here instead of a, instead of this title. Oops.


[User] Please transcribe this text

[Assistant] And let me create a script tag so I can create some state. And I'm going to say, uh, I'm going to say, let's, let's call it count. And I'm going to say let count equals zero. So that's pretty much all we need to do to create mutable state in spell. We don't need to use the use state. We don't need to import anything. That's all we need to do.


[User] Please transcribe this text

[Assistant] And okay, how are we going to update this counter? So let's create a button. Let's say click me.


[User] Please transcribe this text

[Assistant] And then let's also render a H3, for example, to display the count. And you'll notice that this is pretty much exactly the same as, uh, as React so far, where we're just displaying the count in brackets.


[User] Please transcribe this text

[Assistant] Now to update the, the count, uh, in, in Svelte, the way we do this is instead of using onClick, we use onColonClick.


[User] Please transcribe this text

[Assistant] And we do the same thing as in React, we pass in a callback function.


[User] Please transcribe this text

[Assistant] And so how are we going to update the state? Well, in React, we'd have to use the state setter. We have to take in the function, uh, you know, set count or something like that and call that. In Svelte, it kind of is just magic. We can basically just do count plus plus, and that's all we need to do. So let's take a look at our code.


[User] Please transcribe this text

[Assistant] And you'll see that when you, when you click the button, the state automatically updates. So that's pretty much all we need to do to make a simple counter.


[User] Please transcribe this text

[Assistant] So next I'm going to talk about file-based routing. So this is kind of equivalent to using, say, React router or Reach router, as we learned in a previous workshop. And so for this, we can check out step three, if you'd like, if you want to catch up.


[User] Please transcribe this text

[Assistant] Uhm, also note that sometimes if you created files, you might need to use the dash dash force command if you run git checkout. Okay.


[User] Please transcribe this text

[Assistant] So let's talk about file-based routing. So here we're going to understand file-based routing with pages and we're going to add a new page. We're going to add a comments page.


[User] Please transcribe this text

[Assistant] So the way that spellkit structures, uh, routing is it basically uses what's known as file based routing.


[User] Please transcribe this text

[Assistant] So let's go ahead and add a new page called comments. So if we go into our code, uh, we can go into routes.


[User] Please transcribe this text

[Assistant] And we can add a new file. We can put it under comments and let's call it plus page that's felt.


[User] Please transcribe this text

[Assistant] And let's say, let's add an h1 tag, and let's say it completes.


[User] Please transcribe this text

[Assistant] Okay, so going back to our website, now if we go to comments, you'll see that the comments page is rendered. So that's again, that's very simple, no need for any libraries or anything like that, extra components. We've literally just added a new file in another folder and speltkit automatically figured out what to do with that. So that's super nice.


[User] Please transcribe this text

[Assistant] Okay, next let's go ahead and add a nav bar so we can easily navigate. Uhm, so if you wanna, if you wanna catch up to this step, you can run these two commands again using dash dash force if necessary. So we're on step four.


[User] Please transcribe this text

[Assistant] Okay, so let's talk about file-based routing with layouts. We're going to add an app or component and also add a global CSS file.


[User] Please transcribe this text

[Assistant] So in the documentation, Svelte recommends putting components in the lib folder, so let's go ahead and do that.


[User] Please transcribe this text

[Assistant] So let's create a simple navbar. So I'm going to create, I'm just going to create some quick HTML here.


[User] Please transcribe this text

[Assistant] And I'm also gonna add just some quick styling here. So I'm gonna say UL. And remember that because, uh, uh, Svelte scopes the style to the specific component, it will basically, uh, we can basically do this by just referencing the HTML element.


[User] Please transcribe this text

[Assistant] Uhm, so let's go ahead and just give this a little bit of styling. Display, flex. Uh, let's do justify content space evenly. And let's give it a background color. Just a random, random blue. Okay.


[User] Please transcribe this text

[Assistant] Now to render this navbar, let's create, as we mentioned before, the layout file. So I'm going to go to routes and I'm going to add a plus layout dot svelte.


[User] Please transcribe this text

[Assistant] Uhm, and you might see in your terminal that there's going to be an error because we don't have a slot tag to render all of the other other content. So I'm going to create slots.


[User] Please transcribe this text

[Assistant] And if we go to our website, you'll see that right now we basically just have the exact same thing as we have before. But if we go ahead and create the navbar element.


[User] Please transcribe this text

[Assistant] And one thing I'm going to need to do is actually import this. So I'm going to create a script tag and import it as well.


[User] Please transcribe this text

[Assistant] Now we'll see that the nav bar has appeared at the very top. So we have the nav bar.


[User] Please transcribe this text

[Assistant] You might have noticed that I didn't actually fill in these hrefs. So how are we going to do that? So in, in react router, we had to create custom link components. In spell, we can just use this, the plain old anchor tag, this, this a tag here. So I'm going to put slash for home and I'm going to put slash comments for comments.


[User] Please transcribe this text

[Assistant] So let's see if this works. So if I go to home, uh, I go to home, comments, it'll automatically update without refreshing. So that's super nice as well. Super clean. Um, yeah, much, much faster and easier than React in my opinion. Um, yeah. Okay, so that's pretty much it for the, for the nav bar.


[User] Please transcribe this text

[Assistant] Uhm, the last thing we're gonna do here is add a global CSS file. I'm probably just gonna skip this as well for the sake of time.


[User] Please transcribe this text

[Assistant] But essentially you can add a global CSS file to the layout.svelte file and it will be applied to all of your components.


[User] Please transcribe this text

[Assistant] So you should be able to just see the, uh, our nav bars we had before. We have home and comments. And there's just been some global styling that's been applied, uh, by checking out this stuff.


[User] Please transcribe this text

[Assistant] Okay, the next thing we're going to talk about is props and loop rendering. So again, these should all be familiar concepts to you.


[User] Please transcribe this text

[Assistant] So props, they're very similar to props in React. So the way we pass in props is using the attribute prop name equals prop value. So you can see an example here in parent.spell. We have a component and we pass in a prop, uh, in this case, name.


[User] Please transcribe this text

[Assistant] Okay, so let's go ahead and create a generic component that represents individual comments.


[User] Please transcribe this text

[Assistant] So, uh, as you remember, components go into the components folder here. So I'm going to create a new file, comment.svelte.


[User] Please transcribe this text

[Assistant] And I'm going to just create, uh, I'm first going to pass in the props. So, uh, if I go back here, um, I say here that the comments can have an ID, user, title, and body properties. So I'm going to actually create those as props.


[User] Please transcribe this text

[Assistant] And I'm going to render this out in our markup. So let's create, let's say, let's create an article.


[User] Please transcribe this text

[Assistant] Put in brackets, put in h2 that represents the title. Now let's create a paragraph tag that represents the body. Okay, so this should be our custom comments component.


[User] Please transcribe this text

[Assistant] Uhm, but we can't really see what this looks like yet because we don't have the data for it yet. So we're going to have to go into the parent and add in some stuff.


[User] Please transcribe this text

[Assistant] So, uh, the way we're gonna do this is with loop rendering.


[User] Please transcribe this text

[Assistant] So in Svelte, the way loop rendering works is using the special syntax.


[User] Please transcribe this text

[Assistant] So let's go ahead and render a list of dummy comments using loop rendering in the comments page. Okay.


[User] Please transcribe this text

[Assistant] So, uh, let's go into comments and back into routes. So here we're in the, uh, the main page file.


[User] Please transcribe this text

[Assistant] Uh, and so let's create a script tag to create this list, this array of dummy comments. I'm going to say let comments equal array.


[User] Please transcribe this text

[Assistant] And then I'm gonna use loop rendering as we saw in the previous slide, uh, to render out all these comments.


[User] Please transcribe this text

[Assistant] Again, this will only be one, but we're, uh, but let's just still use loop rendering in this case. So I'm going to say each. And the nice thing about the spell extension is that it can auto complete this for us. So we type this here, we can enter in the, uh, array name. So we have comments.


[User] Please transcribe this text

[Assistant] And I'm gonna call it comment. And I'm gonna use the ID as the key here, so I'm gonna say comment.id.


[User] Please transcribe this text

[Assistant] And then here, let's use our custom common component that we made. So let's wrap this here.


[User] Please transcribe this text

[Assistant] Let's make sure to import it and you'll see I'll get imported here at the top of our script.


[User] Please transcribe this text

[Assistant] And let's pass in the props. Now, you noticed that we had four different props in comment.


[User] Please transcribe this text

[Assistant] Now, uh, we could pass them in individually, but one neat thing that's felt allows us to do is basically destructure this object here and just automatically pass in all of that, uh, as, as one. So I can use the dot, the spread operator, these three dots and comments. And so hopefully if I did this correctly, we should be able to go into our website.


[User] Please transcribe this text

[Assistant] Go to comments, and we can see a little comment here. So we have the username, we have the title, and we have the body.


[User] Please transcribe this text

[Assistant] I skipped the styling, so I'm actually just gonna check out step 6. That's all we need for step 5. Let's see.


[User] Please transcribe this text

[Assistant] Okay, so let's see what it looks like with the styling. Okay, so we've rendered a nice little card around that. And that was basically done, again, by just using the style tag within Svelte. So I created a background color, some padding, some border radius, and margin. Okay.


[User] Please transcribe this text

[Assistant] So the next thing I'm going to do is actually convert this into this local state into a global store. So this is going to be a new concept that we're also going to be covering more tomorrow.


[User] Please transcribe this text

[Assistant] Uh, so we're going to understand what a global store is. We're going to create it and then we're going to replace the local array with that global store.


[User] Please transcribe this text

[Assistant] So just to quickly introduce this, again, you don't have to understand this completely. We're going to be talking more tomorrow if you're interested.


[User] Please transcribe this text

[Assistant] So, uh, I'm gonna skip this. I'm gonna, uh, I'm running low on time. I'm just gonna create a global store for the comments data and, uh, replace that, uh, uh, with the, uh, replace the local array that we made here with that store.


[User] Please transcribe this text

[Assistant] And I'm probably also just going to skip that as well. I'm going to check out step seven to see how we did that.


[User] Please transcribe this text

[Assistant] So what I did here is I created the store here. You can see that I created it using this writable function that's felt revised to us. And it has basically the same thing that we had before. We had a dummy comment that we wanted to render.


[User] Please transcribe this text

[Assistant] And in, uh, the plus page.svelet where we render the comments, uh, instead of the state that we had, uh, I basically imported this comment store and I'm using it now using this dollar sign operator to render out the array of all these different comments. Uh, so you can see there's no,


[User] Please transcribe this text

[Assistant] You won't see any visual changes when you, when you convert it to a store, but you can see that it works just the same. Okay.


[User] Please transcribe this text

[Assistant] So I'm gonna actually now add new comments, uh, using this global store.


[User] Please transcribe this text

[Assistant] So, uh, we're gonna understand updating the stores and binding inputs. Uh, and so, uh, with that, we'll be able to create a new comment form that adds new comments.


[User] Please transcribe this text

[Assistant] So the way that I can do that is by calling this update function from the store. Again, you don't, I'm going really fast, so you don't need to understand the specifics about this. Uhm, but then I'm going to create a form that will update that store and add new comments. Okay. So let's go into page.spell.


[User] Please transcribe this text

[Assistant] And at the top here, I'm going to create a simple form. I'm going to save form.


[User] Please transcribe this text

[Assistant] I'm going to create an input box that's going to be type text and I'm going to create a button that says new comments.


[User] Please transcribe this text

[Assistant] We should be able to see this in our website. So we have a simple form that says new comments. What I'm gonna do is I'm gonna keep track of the current thing that the user has typed in, and I'm gonna say that as state, so I'm gonna say let new comment title.


[User] Please transcribe this text

[Assistant] For simplicity, I'm just going to allow users to create comments by only changing the title. So a new comment title is empty string.


[User] Please transcribe this text

[Assistant] And in Svelte, the way that I can connect the input here with the state is by using the bind.


[User] Please transcribe this text

[Assistant] Value, uh, property here. And I'm going to bind the value of this input to the new commentator state.


[User] Please transcribe this text

[Assistant] I'm going to call, I'm going to create a function called add new comment.


[User] Please transcribe this text

[Assistant] Say just math.random. This is bad practice, but yeaah, just for this workshop. I'm gonna give it the title of new common title.


[User] Please transcribe this text

[Assistant] I'm going to give it a just dummy user. So web lab and a dummy body as well. Hello.


[User] Please transcribe this text

[Assistant] And what I'm gonna do is I'm gonna use the comment store and update it using our update function. So I'm gonna call update.


[User] Please transcribe this text

[Assistant] And what update does is it takes in the previous value of the store and it returns and we can return the new value that we want to do. So we can say, uhm, let's, let's say new comments. Oops.


[User] Please transcribe this text

[Assistant] .concat the previous value. So the previous value is the array of comments we had previously. And I'm going to remember also to clear the current input that we have. So I'm going to say let you, or I'm going to just say new comment title equals empty string again. Okay, so that was really fast, but let's see if we managed to get that.


[User] Please transcribe this text

[Assistant] So if I say hi and I press enter, you'll see that the new comment has been successfully added to our data and we can actually, uh,


[User] Please transcribe this text

[Assistant] We can actually, uhm, see it in our feed now. And we can do this as many times as we want.


[User] Please transcribe this text

[Assistant] And we'll have a bunch of comments being updated automatically. So that's good.


[User] Please transcribe this text

[Assistant] Uhm, so I'm really low on time, I just want to show you a, so the next step I would do is delete comments, so that's another thing that we can do. Uhm, this is similar as before, we're using the global store and we're updating it to filter out the specific comment that we want to delete using its ID.


[User] Please transcribe this text

[Assistant] Uhm, but the last thing I wanted to show, which I think is pretty cool, is that SvelteKit comes with built-in animations. So you don't have to import any external libraries or anything like that.


[User] Please transcribe this text

[Assistant] So, uh, and, and it just works really well. It's, it's, it's almost like magic. So, uh, I'm going to actually animate a comment when it's created or deleted. And the way that I'm going to do that, it's, it's really simple. So I'm going to check out.


[User] Please transcribe this text

[Assistant] And I'm going to say in the root element here in this article, I'm going to say transition. So that's the custom property that spell has defined for us. And I'm going to use any, uh, uh, a specific transition, uh, function that spell has defined for us. So if I import.


[User] Please transcribe this text

[Assistant] Oh, I guess it's complaining because I have this. But you should be able to see.


[User] Please transcribe this text

[Assistant] That there are a bunch of different types of transitions we can use. So I'm going to use the fly transition.


[User] Please transcribe this text

[Assistant] And what I'm gonna do, uh, is to, is, uh, basically tell it to fly in from the left side and move into the right. So I'm going to do that by setting X to negative 200.


[User] Please transcribe this text

[Assistant] And okay, so it works. So you can see here that with the transition that we imported from Spell, we don't have to add any extra, you know, fancy code or libraries to do this. We can basically just create this transition property and apply it to our elements. And we can basically, and it'll automatically figure out all that animation stuff for us.


[User] Please transcribe this text

[Assistant] So I can say, you know, wow, it'll, it'll fly in. And I guess I didn't check out the previous step properly. So I'm going to reset.


[User] Please transcribe this text

[Assistant] I'm just going to go to the complete branch so you can see kind of the full, the full demo. So, uh, yeah, so we can basically just add new comments.


[User] Please transcribe this text

[Assistant] And they'll fly in and even when you delete the comments, you'll see they'll fly out. It kind of just does the opposite. And I didn't have to add anything else. You can see here that it's basically the exact same thing that I had before, but it's automatically added these nice little transitions for us.


[User] Please transcribe this text

[Assistant] And the last thing we can do also, uh, I didn't show the code for this, is we can animate between pages automatically. Uh, so you'll see here, uh, uh, when I go to home, it does a nice little animation, uh, that kind of just fades out and moves a little bit, uh, when I switch between the pages. So, uh, yeah.


[User] Please transcribe this text

[Assistant] That's basically all there is to Svelte, uh, so far. There's a lot, there's, there's a lot more. Uh, you can also integrate backend stuff, fetching data, things like that. Um, but I just wanted to run by, uh, run through this quick, uh, preview of Svelte in case you wanted to try using it for your project.


[User] Please transcribe this text

[Assistant] Uhm, but uh, yeaah, that should be all. Thank you.


[User] Please transcribe this text

[Assistant] That's right, uh, we've got a lesson about, um, construction.


[User] Please transcribe this text

[Assistant] And we'll also learn some phrases that you can use to talk about work. So even if you're not really interested in building and making stuff with your hands, uhm, you will learn some language to talk about work in general.


[User] Please transcribe this text

[Assistant] Well, Marco, we're gonna look at two words now, and like you said, we're building something in this lesson, right?


[User] Please transcribe this text

[Assistant] So it's a platform that's a little bit higher off the ground.


[User] Please transcribe this text

[Assistant] So that shows you how the building looks, like where the different rooms are.


[User] Please transcribe this text

[Assistant] Yeah, and I think this is a good lesson in, uh, maybe not rushing through important projects, right?


[User] Please transcribe this text

[Assistant] Alright, so we got some language all about tools, so why don't we just get started. So they mentioned a nail gun.


[User] Please transcribe this text

[Assistant] Alright, alright, so they were nailing some, some, some pieces of wood together, but they also needed to cut the wood and they said, uhm, help me cut the two by four.


[User] Please transcribe this text

[Assistant] So I guess it's called a circular saw because the blade or the cutting part is shaped in a circle.


[User] Please transcribe this text

[Assistant] So after they cut the piece of wood, one of the guys said, I think you should sand the edges.


[User] Please transcribe this text

[Assistant] Yeah, exactly. And so uhm, they also mentioned a sander, right?


[User] Please transcribe this text

[Assistant] Now I'm sure if this was a video podcast we could show, show you what a measuring tape was and you'd really understand it, but we'll do our best to describe it for you.


[User] Please transcribe this text

[Assistant] Alright, so that's our last tool that we're going to talk about. So why don't we move on now to Fluency Builder, where we've got some phrases that you can use to talk about work.


[User] Please transcribe this text

[Assistant] Okay, well, you know what? I think we can understand the meaning pretty clearly if we listen to some examples.


[User] Please transcribe this text

[Assistant] Uhm, one of the guys noticed a few problems, you know, the splinters, uhm, and he said, you've gotta take pride in your work.


[User] Please transcribe this text

[Assistant] Well, because she made some mistakes, she didn't do such a good job. He's wanting her to work harder, work better. Work more carefully.


[User] Please transcribe this text

[Assistant] So when you take pride in your work, you work so well and do such a good job that you feel really happy about it.


[User] Please transcribe this text

[Assistant] Right, so if you live, uhm, in a, in a neighborhood in North America, you might see like, you know, the dad of a family outside building something and all his friends come over and they, you know, drink beer and build this big thing together.


[User] Please transcribe this text

[Assistant] Yeah, and you know, it's actually, it's so popular that there are tons of TV shows about how to build stuff for your house and there are a lot of really big stores where you can go and find like all of this equipment for building stuff for your house.


[User] Please transcribe this text

[Assistant] That's right, you can come to our website at EnglishPod.com and tell us about it. As well, you can also leave your questions there.


[User] Please transcribe this text

[Assistant] It is something that we are in the process of rolling out and it will be in all of our stores. It's also not just our stores in which these cups end up. So we're doing a lot of work outside of our store environment to ensure that paper cups can be recycled on the go.


[User] Please transcribe this text

[Assistant] We're working with our environmental charity partner Habab to increase


[User] Please transcribe this text

[Assistant] Recycling infrastructure outside of our stores because that too is where a lot of our cups will end up.


[User] Please transcribe this text

[Assistant] It is something that we are in the process of rolling out and it will be in all of our stores. It's also not just our stores in which these cups end up. So we're doing a lot of work outside of our store environment to ensure that paper cups can be recycled on the go.


[User] Please transcribe this text

[Assistant] We're working with our environmental charity partner Hubbub to increase recycling infrastructure outside of our stores because that too is where a lot of our cups will end up.


[User] Please transcribe this text

[Assistant] If you're watching this, you are probably a human. And we have a show that is all about you. It's called SciShow Psych, and there we talk about the


[User] Please transcribe this text

[Assistant] And on that channel, we've explained common human experiences, like riding a bike or forgetting what you were doing when you walked through the door, which might seem like simple things, but our brains always find a way


[User] Please transcribe this text

[Assistant] And you can blame your brain. Here's Britt, one of our hosts on SciShow Psych, with more about that.


[User] Please transcribe this text

[Assistant] Why is it so hard to remember those? Like, we just wake up, and poof, it's gone. That said, this also might just be me. You might be better at remembering dreams, or worse than me. Why is this? Well, let me explain.


[User] Please transcribe this text

[Assistant] It seems like some people can regale you with every last detail of the dream they had last night while others


[User] Please transcribe this text

[Assistant] No matter which camp you fall in, everybody does have dreams. It's just that some people are better at remembering them than others. And whether or not you remember those surreal, unconscious experiences,


[User] Please transcribe this text

[Assistant] Still aren't totally clear on why we dream in the first place, but they have a decent idea of what our brains are up to when we do. We dream the most when we're in a stage of sleep called REM.


[User] Please transcribe this text

[Assistant] REM stands for rapid eye movement, and it's a stage of deep sleep that gets its name from the way our eyes move back and forth while we're in it. We typically have a few REM cycles through the night, beginning around 90 minutes after we fall asleep.


[User] Please transcribe this text

[Assistant] And each cycle can last between a minute and an hour. Even though you're sleeping deeply during your REM cycles, your brain actually acts a lot like it does when you're awake. For instance, while you're awake,


[User] Please transcribe this text

[Assistant] There's lots of blood flowing to the cerebral cortex, the thin layer that surrounds the largest part of your brain, which plays a role in making decisions and thinking creatively. Blood is also flowing to the limbic system, a set of structures that control your emotional response to the things you experience. During REM sleep, those same parts of the brain are active. Even your heart rate and blood pressure are similar to what they are when you're awake. So you're having lively, emotional experiences a lot like the ones you'd have


[User] Please transcribe this text

[Assistant] The main difference is that while you're asleep, your brain kindly paralyzes you so that you don't act your experiences out.


[User] Please transcribe this text

[Assistant] They can still feel very real, though. So during REM, almost everyone is having dreams, and often vivid ones.


[User] Please transcribe this text

[Assistant] The more active that part of the brain will be. More brain activity creates more vivid dreams and more vivid dreams


[User] Please transcribe this text

[Assistant] But another big reason you either remember your dreams or don't has to do with your levels of a hormone


[User] Please transcribe this text

[Assistant] Called norepinephrine. Whether you're awake or asleep, norepinephrine helps you remember things.


[User] Please transcribe this text

[Assistant] Whenever you have an emotionally stimulating experience, your brain releases this hormone. As it rushes through your brain, it binds to the nerve cells that help us learn new information.


[User] Please transcribe this text

[Assistant] ...creating pathways between them. Later on, electric signals in your brain can travel back down those pathways to help you recall the experience you were having when they formed. Norepinephrine is always present at some level while you're awake. When you fall asleep, though, your norepinephrine levels drop.


[User] Please transcribe this text

[Assistant] That's true for everyone, and it's especially true during REM cycles. But from then on, the amount of norepinephrine in your brain has a lot to do with how well you sleep. If you knock right out and don't wake up till morning, your norepinephrine levels


[User] Please transcribe this text

[Assistant] Probably rarely rise to the point where you start


[User] Please transcribe this text

[Assistant] Isn't exactly the superpower it might seem like. The truth is, you probably just don't sleep very soundly.


[User] Please transcribe this text

[Assistant] Is still having lively adventures while you sleep.


[User] Please transcribe this text

[Assistant] But there are some things that you don't need to write down. You remember them by heart. Just like riding a bike. If you learned as a kid, no matter how long ago it was, you can probably grab a bike and ride it. No training wheels required. Now this all comes down to how your brain stores those precious memories. Once again, here I am to explain.


[User] Please transcribe this text

[Assistant] If you learned to ride a bike as a kid, at some point you probably left the bike in the garage for months or years before coming back to it. And though you might have been a little wobbly when you finally decided to climb back on, you never had to go through the training wheel phase that you'd had at the start. That feeling is so familiar, it's become a figure of speech. When something is easy to remember after a long time not doing it, you say, it's like riding a bike.


[User] Please transcribe this text

[Assistant] But this kind of memory really does stand apart from other


[User] Please transcribe this text

[Assistant] Just like riding a bike. Motor memories get stored differently than lots of other memories, making them harder to lose. But like other memories, there's still a lot we don't know. Motor memory is the ability to repeat motions and remember motor skills. It's part of a category of memories called implicit memory.


[User] Please transcribe this text

[Assistant] Which are generally things you learn less by thinking and more by doing. And when you learn things without putting in specific effort to learn them, weird things can happen.


[User] Please transcribe this text

[Assistant] Like, back in the 80s, 48 students were asked to identify what was in some incomplete photos. Some they had just seen the full version of, but others were completely new to them. But then, 17 years later...


[User] Please transcribe this text

[Assistant] Researchers got in touch with 12 of them, brought them back, and compared them to a control group who had never seen any of the pictures before. Those 12 still did better at identifying partial photos when they hadn't seen the full version in 17 years.


[User] Please transcribe this text

[Assistant] While the control group didn't show any difference. Four of those 12 students also said they had no memory of even being in the study.


[User] Please transcribe this text

[Assistant] Which is part of what makes it implicit. No one ever sat them down to make them study up on photos because they were going to be tested later, like you might for a test in school. Those implicit memories also use different brain systems than others.


[User] Please transcribe this text

[Assistant] One of the first on any list of brain parts related to memory is probably the hippocampus, which is involved in making new memories.


[User] Please transcribe this text

[Assistant] But it's less important for implicit and motor memories. One reason we know this is from studying patients with amnesia. When people suffer injuries to the hippocampus and nearby parts of the temporal lobe, they tend to lose memories from before the injury, and also can't make new memories afterward.


[User] Please transcribe this text

[Assistant] These are called retrograde and anterograde amnesia, respectively. And while it would be of course massively unethical to cause brain damage in order to study memory,


[User] Please transcribe this text

[Assistant] Case studies of people who have suffered brain injuries can give us unique insight. Basically, if someone damages a part of their brain and loses a certain function, you know that part was necessary for that function. And some of these cases have interesting twists.


[User] Please transcribe this text

[Assistant] For example, one patient spent years volunteering to shelve books at his library after a motorcycle accident caused him to lose his hippocampus, preventing him from making new memories. But he still learned the Dewey Decimal System, even though he couldn't tell you


[User] Please transcribe this text

[Assistant] Which means that researchers have to look beyond the hippocampus to understand how implicit memories work.


[User] Please transcribe this text

[Assistant] And for motor memories in particular, we got a few leads. One of these regions is the cerebellum. That's a part of your brain that's separate from the cerebral cortex. Other brain regions involved in memory, like the hippocampus, are part of the cerebral cortex. So the fact that it's separate might be part of why this learning can be unconscious. And one of its major purposes seems to be fine-tuning of motion.


[User] Please transcribe this text

[Assistant] That includes careful movements like balancing on a bike or playing the piano. It's a complicated system, but some of the tools that make it all work are called Purkinje cells. They collect signals from neurons coming from other sensory systems like sight,


[User] Please transcribe this text

[Assistant] It's sent to different motor systems, like hand grasping or gait, hopefully adding up to a smooth, fluid motion. One of the mysteries, though,


[User] Please transcribe this text

[Assistant] Is that this might not be where these memories are stored. Instead, research has pointed to changes in a number of different brain regions, not all of which are where we'd expect. For example, in a study published in Nature in 2004, 24 people were split into two groups.


[User] Please transcribe this text

[Assistant] One of which was asked to learn how to juggle. After about three months of practice, they all could juggle for a solid 60 seconds. The researchers scanned their brains and found changes to the temporal lobe and the intraparietal sulcus in the group who learned to juggle. These weren't regions associated with memory, per se. Instead, they had to do with tracking visual motion and planning hand movements.


[User] Please transcribe this text

[Assistant] But then, three months after that, the volunteers got their brains scanned again, and those changes


[User] Please transcribe this text

[Assistant] We're still there, though they were a little smaller.


[User] Please transcribe this text

[Assistant] That's even though none of them reported continuing to practice. I guess once the scientists tell you you're done, you just stop juggling. Come on!


[User] Please transcribe this text

[Assistant] Have some fun! But similar studies found other brain locations were important, so we probably won't ever tie motor memories to just a single location or process. And those neurons in the cerebellum might not be just for motor skills.


[User] Please transcribe this text

[Assistant] Give some thanks, at least in part, to your cerebellum. It's one of the major things keeping you balanced and upright, and contributing to your ability to hold onto that for years.


[User] Please transcribe this text

[Assistant] But something that your brain does not have is a key holder, which might be why I lose my keys all the time. Like literally, okay, I put them right there. They are right there. They're on the little stool. But why does this happen so frequently? Here's Britt, back with more.


[User] Please transcribe this text

[Assistant] What happens when you try to remember what you did yesterday, or last week? I can barely remember what I had for breakfast yesterday, but our brains aren't tape recorders, and they don't always preserve a flawless record of what we see and do. So am I remembering what I had for breakfast yesterday, or am I creating a


[User] Please transcribe this text

[Assistant] False memory of those Cheerios and that banana. Let me explain why your memory can sometimes be a tricky thing.


[User] Please transcribe this text

[Assistant] A psychology study in the mid-1970s was one of the first to show the power of verbal suggestions. In one experiment, the researchers played college students' videos of a car crash, and then asked some questions about the crash. One group was asked how fast they thought the cars were going when they hit each other.


[User] Please transcribe this text

[Assistant] Another was asked how fast the cars were going when they smashed each other. And that word choice affected their memory. When the researchers said smashed instead of hit,


[User] Please transcribe this text

[Assistant] People's estimates of the speed increased by about 3 miles per hour. Then, when the psychologists followed up a week later, they asked if the participants remembered seeing broken glass in the video, which, for the record, there wasn't. Of the 50 people who heard the word smashed,


[User] Please transcribe this text

[Assistant] Sixteen remembered seeing broken glass that wasn't actually there, as opposed to seven of the fifty people who heard the word hit. Even without the suggestion, a few people were remembering incorrectly, but not as many. Now that wasn't a huge study, but the power of suggestion has been replicated hundreds of times in different experiments.


[User] Please transcribe this text

[Assistant] So it seems like we're pretty prone to getting little details wrong. Turns out, we're also bad at remembering where we heard something in the first place, or whether something actually happened to us instead of, like,


[User] Please transcribe this text

[Assistant] They tested for this effect by inviting some 210 volunteers into a lab for a couple of days and asking them to either do or imagine doing a bunch of different things. There were familiar tasks like smelling a flower, plus some weird ones like tapping a flower to their forehead. Then, two weeks later.


[User] Please transcribe this text

[Assistant] Over half the time, participants thought they actually did the things they only imagined. And if they spent more time imagining an action, they were more likely to think they really did it. Now, both of these memory flaws have been psychologists sort of messing with people, but sometimes we just...


[User] Please transcribe this text

[Assistant] Unintentionally make stuff up. These are called spontaneous false memories. This is when all the knowledge and patterns you have swimming around in your brain can mess up what you remember. Let me show you.


[User] Please transcribe this text

[Assistant] Try to remember this list of words. Think you have them memorized? Good. Now take a look at these words. How many of them were on that first list?


[User] Please transcribe this text

[Assistant] In case you were wondering and didn't just write them down, the answer is 6. But in controlled lab experiments, where people do have a little more time to memorize, most people will falsely remember one word that wasn't on the first list.


[User] Please transcribe this text

[Assistant] Read a story to a class, and then got money stolen from her wallet in a cafeteria. Then they had to pick the thief out of a lineup. In one version of the video, there was a bystander next to the teacher while she was reading, someone who was about the same age, build, gender, and ethnicity as the thief. And after watching that version,


[User] Please transcribe this text

[Assistant] The 11 to 12 year olds were more likely to pick the innocent person out of the lineup than the actual thief. This is called unconscious transference, when an innocent person gets misremembered as a criminal because of the way your mind categorizes things like how they look. Psychologists think we make up these patterns as we go through life, most of the time without thinking about it. They've also noticed that adults usually show unconscious transference and mix up DRM lists more than really young children do.


[User] Please transcribe this text

[Assistant] Because they just have more life experience and general knowledge. So, memory is kinda scarily unreliable, and it's probably worth taking your own memory with a grain of salt. But now that you know some of the ways your own mind can trick you, maybe you can avoid being too trusting. You know, Pixar didn't happen.


[User] Please transcribe this text

[Assistant] But beyond our memories, our stomachs can also be tricked. Kinda. Like, it doesn't matter if I created the memory of those Cheerios and banana, I always find room for dessert. Well, it turns out, I'm not creating an imaginary second stomach. It's my brain helping me find some extra space. Here's psych host Anthony with more.


[User] Please transcribe this text

[Assistant] It seems like our memories love to play tricks on us, whether it's dumping everything when we walk into the kitchen or making something up on the spot. If you enjoyed these amazing things that your brain does, go on over to SciShow Psych at youtube.com slash SciShow Psych where we answer questions like these and many more, and we would love to have you as a subscriber.


[User] Please transcribe this text

[Assistant] Well, we ran a pretty thorough check on her. Besides, I think Hallelujah needs her.


[User] Please transcribe this text

[Assistant] With solar power, the orbital elevator project, and colony development, the Federation has achieved financial stability.


[User] Please transcribe this text

[Assistant] And the alloes and the security agency are suppressing all dissident activity. If nobody asks questions, there's no harm done. That's why there won't be any complaints.


[User] Please transcribe this text

[Assistant] I understand. Milena, do you think you could take over the maintenance duties for Ian?


[User] Please transcribe this text

[Assistant] The king of Swiel and our comrades are gone, along with everything else.


[User] Please transcribe this text

[Assistant] That wasn't it. It was a high-powered laser that struck from space.


[User] Please transcribe this text

[Assistant] With this kind of power the anti-government forces will be dealt with in no time. Yes. This is what will literally eliminate all wars from the world.


[User] Please transcribe this text

[Assistant] For example, Anne gave me one which says, it's good though. A lot of people might put the word though at the end of some sentences. And it's always like to express even more how good something is or how bad something is.


[User] Please transcribe this text

[Assistant] I don't use this one, it's more of a younger person's kind of term, uhm, or if you're a bit more kind of street. Also, the word banter. What does the word banter mean? Well, the word banter is, it's almost like a culture. Banter is a culture, a British thing.


[User] Please transcribe this text

[Assistant] What all friends do in England, it's part of our culture. Now we don't do it in a bad way. We don't take the piss out of people to be horrible.


[User] Please transcribe this text

[Assistant] Involved within friendships. It's used more within friendships. So please be careful with these slang words because you could offend someone.


[User] Please transcribe this text

[Assistant] The best way to learn banter is just by getting to know how it works. What's right to say, what's wrong to say, and finding that kind of level. If not, don't worry about banter. I'm not very good at banter myself. I just like to be nice to people and that's how I make friends. But some people do it differently.


[User] Please transcribe this text

[Assistant] Don't worry, you can leave that little detail up to us.


[User] Please transcribe this text

[Assistant] Hmm. That's it then, we've won. Kujo. Humanity cannot avoid fighting.


[User] Please transcribe this text

[Assistant] This classification is based on the presence, absence, or combination of specific antigens in our red blood cells.


[User] Please transcribe this text

[Assistant] If we have A antigen, then our blood type is A. If we have a B antigen, then our blood type is B.


[User] Please transcribe this text

[Assistant] If we have Rh deantigen, then we are Rh positive. Otherwise, we are Rh negative.


[User] Please transcribe this text

[Assistant] It's a form of acupressure. No. In order to deliver oxygen and nutrients to each and every cell of our body. Our heart pushes blood through tubes called blood vessels. As the blood moves, it exerts force on the vessels' walls.


[User] Please transcribe this text

[Assistant] The measurement of this force of blood on the walls is called blood pressure. The ideal blood pressure reading is about 120 over 80 millimeters of mercury or slightly below it.


[User] Please transcribe this text

[Assistant] But why does the reading have two numbers? It is because our heart is constantly contracting and relaxing. During a phase called systole, our heart contracts to push the blood through arteries.


[User] Please transcribe this text

[Assistant] So, the bigger number indicates the systolic blood pressure. Whereas during diastole, our heart relaxes, decreasing the pressure. So, the smaller number indicates the diastolic blood pressure.


[User] Please transcribe this text

[Assistant] Our blood mainly consists of a liquid called plasma. Red blood cells, white blood cells and platelets. However, the color of our blood is basically because of red blood cells. Each of the red blood cells contains hemoglobin. Hemoglobin is an iron-rich protein.


[User] Please transcribe this text

[Assistant] When hemoglobin binds with oxygen, the interaction between them gives our blood its red color.


[User] Please transcribe this text

[Assistant] Moreover, like human beings, not all animals have red-colored blood. This is because the blood of some animals such as octopuses, spiders, etc. has hemocyanin instead of hemoglobin.


[User] Please transcribe this text

[Assistant] Hemocyanin is a copper containing protein. When hemocyanin binds with oxygen, their interaction gives the blood a blue color. The blood of some lizards has biliverdin, instead of hemoglobin, which give their blood a green color.


[User] Please transcribe this text

[Assistant] I heard Captain Zaneen was promoted to Lieutenant Colonel.


[User] Please transcribe this text

[Assistant] But warrant officer, you do know one of the enemy. He seemed like a close friend of yours.


[User] Please transcribe this text

[Assistant] You met Louise? Yeah, pure coincidence.


[User] Please transcribe this text

[Assistant] Is she doing alright? She's good. She asked how you were doing as well. I told her you were working in space. I see. Did you now? You haven't been in touch with her at all? Uuuh, mmm, that's kinda...


[User] Please transcribe this text

[Assistant] The terrorist organization that took your parents and little sister from you. You don't have to tell him this. He needs to hear this.


[User] Please transcribe this text

[Assistant] Lock on. Or I should say Neil DeLondy would never have become a Meister.


[User] Please transcribe this text

[Assistant] Striving in accordance with my own sense of justice. But will that lead us to the future?


[User] Please transcribe this text

[Assistant] You haven't filed a report with Sumeragi Lee Noriega, have you Tierra?


[User] Please transcribe this text

[Assistant] Well, I'm still organizing my thoughts right now. It's...


[User] Please transcribe this text

[Assistant] How reckless. Even with that, they're no match for the Federation's military.


[User] Please transcribe this text

[Assistant] There hasn't been any substantial news since the announcement about the provisional government taking over.


[User] Please transcribe this text

[Assistant] Information on our country is only released at the whim of the Federation.


[User] Please transcribe this text

[Assistant] If we ever want to rebuild Azadistan, we have to defeat the Federation. You have to fight as the princess you are


[User] Please transcribe this text

[Assistant] Ugh. Fine then. You just continue doing nothing like you're doing now. I am going to fight. Because if I don't, we'll never get our country back.


[User] Please transcribe this text

[Assistant] There's no doubt about it. The pilot of that new model is an innovator. The one that took control of Beta is behind this. He could develop suits that can also use GN fields. And that means...


[User] Please transcribe this text

[Assistant] However, they seem to be spreading extremely slowly. This is very different from Mr. Lasse's condition.


[User] Please transcribe this text

[Assistant] The twin drive invites Setsuna into unknown territory. Next episode, Double O's Voice. Is it the birth cry of a new world?


[User] Please transcribe this text

[Assistant] I'd like it acknowledged that I have nothing to do with this operation as it stands.


[User] Please transcribe this text

[Assistant] So this is how Celestial Being fights its battles.


[User] Please transcribe this text

[Assistant] Non-recommendation of mystery, thriller, and horror books that I've read since I started booktube. So at this point I've read about a hundred books from these three categories and I thought it would be fun to


[User] Please transcribe this text

[Assistant] Talk about the best and worst ones to just get some recommendation because obviously fall is the time of the year where I read, and I think most of us read these categories the most.


[User] Please transcribe this text

[Assistant] We'll be putting on the screen a bunch of the ones that I have read as I'm talking so you can get a little bit of an idea of the kind of books that I have read and also so you can feel free to leave some of your recommendations in the comment section because the more the better.


[User] Please transcribe this text

[Assistant] I am attempting, I wanted to attempt to do a top 5 for each.


[User] Please transcribe this text

[Assistant] But obviously I can never stick to a specific number so it's a bit more than that. I attempted to have like specific prompts for each of them to give you an idea. We'll obviously give you a little summary and then my thoughts and we'll do the same with the ones that I've hated because just because I hated them doesn't mean that you will feel the same although some of them probably.


[User] Please transcribe this text

[Assistant] The ones that I have enjoyed the most. The first one, I have recommended this book so much to so many people since starting BookTube, and it is The Kind Worth Killing by Peter Swanson. I feel like we have read a ton of domestic trailers in the last couple of years, they just keep coming out, and it's always the same idea of like, drunk wife.


[User] Please transcribe this text

[Assistant] You're following these two people that meet randomly at the bar and airport. There's this man, he just learned that his wife is cheating on him, and then this woman just sits down next to him, they start talking, and they end up pretty much planning the murder of his wife.


[User] Please transcribe this text

[Assistant] So many twists, and they don't feel forced. I feel like sometimes, uh, some of them it feels like the author's really trying to get you, like a hug, you didn't see that one coming, but like, it doesn't feel like the same book anymore.


[User] Please transcribe this text

[Assistant] So, I really enjoyed it, uh, if you're looking for a new messed up, uh, trailer to Raid During the Fall, I highly recommend this one. I've recommended this book so much, but,


[User] Please transcribe this text

[Assistant] Years later, it is still one of my favorite ones, and actually my favorite one by this author. The next one is the most unique book in my recommendation section, and it is The Library at Montchart.


[User] Please transcribe this text

[Assistant] Which is one of the best but weirdest horror books I've ever read. To be honest, I don't think I've read normal.


[User] Please transcribe this text

[Assistant] You know, a horror book. They're always like, a little up there. I actually did a video about the weirdest books that I've read on booktube. I'll link that down below if you are interested, looking for more recommendations. Some of them are like, bad weird. Some of them are good weird. And that one is the best ba- good weird.


[User] Please transcribe this text

[Assistant] Ever. Uh, if you've read this book, you know what I'm talking about. I'm gonna try to summarize the plot, but like, bear with me, it is so weird. Uh, there are a few different point of views in the beginning, like the first half took me like a week to read and the second half one day.


[User] Please transcribe this text

[Assistant] So you're starting and you're following this, uh, young woman. She's been kidnapped, so have been, like, her siblings.


[User] Please transcribe this text

[Assistant] Uh, they're all living in the library at Mulchar under father, who is kind of a god.


[User] Please transcribe this text

[Assistant] And they're learning superpowers, like she's learning all the languages ever, uh, including like supernatural ones and, uh, father is really, really cruel to everyone. There's another story that you're following, uh, you're following a man that is trying to solve a murder. At one point, the story is even told through the eyes of a lion, like,


[User] Please transcribe this text

[Assistant] Weird, weird, but the second half, things start making sense and it's really, really interesting and like I said, I've never read another book like this. I don't think I will. Uhm, it's very unique. I think it's a little gruesome. I feel like I remember some scenes. I know some people were asking me.


[User] Please transcribe this text

[Assistant] Uh, to mention that if I can remember, I think that one's a bit more out there. Uh, but I highly recommend this if you're looking for a really interesting different book to pick up during the fall.


[User] Please transcribe this text

[Assistant] This has been becoming more and more popular for a good reason. I feel like everyone tells me that they've read it and it was really weird, but somehow they enjoyed it.


[User] Please transcribe this text

[Assistant] These other series were books by him, but I think this one is the safest choice.


[User] Please transcribe this text

[Assistant] I don't even want to tell you the plot, but really vaguely, because it's better to go blind, but very vaguely following this like 40 year old man, uhm, and one day he gets kidnapped, and when he wakes up his wife is not his wife, his son doesn't exist, nothing makes sense, and...


[User] Please transcribe this text

[Assistant] Lots of twists, I really really enjoyed it. Obviously it reads like a movie, so like the writing isn't super prozy and the character is a little like 2D.


[User] Please transcribe this text

[Assistant] But, uh, if you are in a slump and you just want something that stresses you out, this author in general...


[User] Please transcribe this text

[Assistant] Is it? I will continue to read everything else he comes out with. His old stuff is weaker, but uhm, this one specifically, I highly recommend it. I mentioned earlier that I made my dad read this book. It's the only book, the only author I've been able to make him read. He read that one and then, uh, Recursion.


[User] Please transcribe this text

[Assistant] And you loved both of them, read them super, super fast. So yes, fantastic. Still a fan of those. The best mystery I have read on booktube.


[User] Please transcribe this text

[Assistant] Yeah, the girl with the dragon tattoo. I am so late, but I read this this year and it's easily one of the best books that I've read this year. The plot is a little hard to summarize because it begins with a lot of like info about this, uh, journalist, financial journalist, which seems like, oof, that's going to be heavy to read about, but it becomes super interesting because he is hired by a really rich man to solve a like mystery murder.


[User] Please transcribe this text

[Assistant] Uh, his family basically, they had a party and this relative of him.


[User] Please transcribe this text

[Assistant] Uhm, disappeared, got murdered, and he doesn't know who did it, but because they were all stuck on an aisle and basically was essentially all his family,


[User] Please transcribe this text

[Assistant] It has to be someone around him and it's been years and years and years and he doesn't want to die and, you know, leave his money to someone that...


[User] Please transcribe this text

[Assistant] Murdered someone else. So, do read it, please, if you haven't.


[User] Please transcribe this text

[Assistant] Next two books on my shelves. I will be reading them like literally ASAP. Uh, but I really, really enjoyed it. Easily five stars. I can't believe it took me so long to read this and I can't wait to continue. If you're like me and you still haven't picked them up, you need to.


[User] Please transcribe this text

[Assistant] They're so good. Like so, so good. I was not expecting that. Like literally, this was randomly one day I read it because I was doing like a one week one shelf. Basically I put the number of all my shelves in a jar, pick one up and it was my random shelf and I was not excited to read any of the books on there. So I read like the first chapter of a couple ones and could not put this one down.


[User] Please transcribe this text

[Assistant] Highly recommend. I wanted to include a cozy mystery because I've realized throughout the last couple of years that I'm a big fan of them. Like, they just work for me somehow. And the perfect author for that specific category has to be Megan Miranda. All the Missing Girls is my favorite by her. I'll put on the screen some of her other books in the order that I've liked them the most, at least.


[User] Please transcribe this text

[Assistant] But they all happen in like small town, which again seems to be a team that I really like. Also did a video on that topic actually, we'll link that down below. But all of our books seems to have also uh,


[User] Please transcribe this text

[Assistant] Like she plays with timelines, and this one specifically, there have been two murders ten years apart in this small town, and you're following it backward, like the second murder, basically ten, uh, two weeks, two weeks, fifteen days after, and then you go back to the day where it happened.


[User] Please transcribe this text

[Assistant] I really enjoyed it. Uh, surprisingly, again, kinda cozy-ish and I just like her as an author. It seems to be pretty solid all the time. I say that because the last one that she published was a little weaker, but this one I do recommend if you are in the mood for like cozy mysteries. I feel like during the fall you crack a window, you have a blanket, I need a book like that.


[User] Please transcribe this text

[Assistant] I needed to include one Stephen King book because everyone is always asking me for my favorite by him and it is The Long Walk, which is not his usual style, which is probably why I liked it because I did a video talking about all the books that I've read by him, also linking that, and I realized that I don't really like him.


[User] Please transcribe this text

[Assistant] All that much. Uh, if you want something more classic by him, I do recommend Pet Sematary. I think that's probably closer to his usual stuff that I also still liked. But The Long Walk is the one that I enjoyed the most. Uh, you're following


[User] Please transcribe this text

[Assistant] 100 teenage boys that are engaging in the long walk for some reason, uh, they decided that they wanted to take the risk to walk until there's only one left standing. Basically, you can't stop to, you know, pee, you can't stop to sleep, uh, and if you stop, uh, you get a few chances after that you're just shot in front of everyone.


[User] Please transcribe this text

[Assistant] But if you survive, the last one do get to, like, choose whatever they want, so I guess that's the reason they're doing it. Seems still stupid to me, but they do. Uh, I did think it was totally horrifying. I could not put it down. My legs were hurting just reading the book.


[User] Please transcribe this text

[Assistant] The ending does suck, as it's always the case in his books, I feel like. But, uh, in my personal opinion, this is his best one. At least the best one that I've read. Would recommend that one. It's less famous, so...


[User] Please transcribe this text

[Assistant] You might not have read it, do recommend it. I tried to move the ring light so it wouldn't, uh, blind you in my glasses, but I need them to read, so quickly some special recommendation behind our eyes. If you don't mind,


[User] Please transcribe this text

[Assistant] Like supernatural kind of trailers, I would recommend this one. The ending is so far-fetched, but it worked. It sounds like something I would absolutely hate because


[User] Please transcribe this text

[Assistant] It does sound like a domestic thriller, as you're following this single woman who, uhm, single mother, I should say, and she drinks a lot, and she kisses her future boss, who turns out is married, and it sounds like I would absolutely hate it, but it worked. I didn't watch TV show, uh,


[User] Please transcribe this text

[Assistant] So I can't really tell you if it's as good, but uhm, it worked. I don't know, I can't explain it. So many people hated it, but I liked it somehow.


[User] Please transcribe this text

[Assistant] Kinda Black Mirror-ish short story- short novella? Like it's a hundred and something pages? Uh, if you like podcasts, I read The Night Swim earlier this year and did really enjoy it.


[User] Please transcribe this text

[Assistant] The last time I lied, which is my favorite by Raleigh Sager. The Santa Montelle, which I read earlier, uh, this year also, recently, uh, think ghost supernatural. Sharp object, because obviously I need to mention Gillian Flynn, uh,


[User] Please transcribe this text

[Assistant] I love it, she writes really morally grey female characters that are interesting, I just, I need it too. And then the push, so if you like, mom doesn't know if their child, usually daughter, in this case daughter, uh, is supernatural, evil, I don't know what's going on, or if it's the mom that's crazy.


[User] Please transcribe this text

[Assistant] So now that we talk about the best ones and some special recommendations, it is time to bash some books. Uhm, the worst ones that I've read


[User] Please transcribe this text

[Assistant] Easy. But I wanted to have like specific reason why, because you will see a team and then you can leave me also some recommendations, but also know if my taste is similar to yours. Let's start with the worst one that I've read this year, Survived Tonight. This is, I think, the only book I gave one star to this year.


[User] Please transcribe this text

[Assistant] I have given less one star rating this year because I have been forcing myself to put down books I'm hating.


[User] Please transcribe this text

[Assistant] I used to be so stubborn and never DNFed books, but that has changed for the, for the best. Uh, but Survived the Night, because it's the author, I think it's the fifth book that I read by him. And you might have noticed that I mentioned, uh, the last time I lied by him in the special section, special mentions.


[User] Please transcribe this text

[Assistant] I've been hoping another book by him would work for me, but his female characters suck.


[User] Please transcribe this text

[Assistant] Uhm, specifically this one is full of just cliché. It's cliché after cliché after cliché. You're following this young girl, she's at university and her roommate slash best friend got murdered by the campus killer and she probably saw it but she doesn't remember and she wants to just leave the campus, quit everything and then she


[User] Please transcribe this text

[Assistant] Catches a ride with a stranger, she's barely off her meds, and then it's like,


[User] Please transcribe this text

[Assistant] It was bad, it was terrible. The ending was horrible. And then there's the after ending too, which, spoiler free obviously, but like, it's even worse. I just...


[User] Please transcribe this text

[Assistant] I haven't hated a book like this in a while. It's just straight up horrible. Straight up horrible. If you want to hate read it, maybe do that, but I...


[User] Please transcribe this text

[Assistant] I am so mad at this book. Uhm, so bad. So bad. Nine Perfect Strangers.


[User] Please transcribe this text

[Assistant] I really liked, uh, Big Little Lies by her. I think the best part of it was that the characters were super likable, so I was hoping that I would feel similarly with this one.


[User] Please transcribe this text

[Assistant] No, uh, every single character is horrible. I hated every single one of them. I'm pretty sure they're not meant to be likable, but it doesn't matter. Like, you need to have something in a book to make you want to read it, the writing is very average, the story's straight up bad, and then the characters are bad, so I'm just...


[User] Please transcribe this text

[Assistant] Hated it. And then recently I looked up the ending and I did the right thing because it kept going in that direction and it was awful. I know it is now a TV show. Apparently they have made some changes so I can't compare. I haven't watched it. I have no interest in watching it after reading the book. It was so bad.


[User] Please transcribe this text

[Assistant] Uhm, so yeaah. Hated that one. I also wanted to mention Cabin at the End World by Paul Tremblay because...


[User] Please transcribe this text

[Assistant] Uhm, so much potential, but I got so mad at the ending, which again, I will not spoil. If you're curious, let me know in the comment section. I'll just put spoilers and like...


[User] Please transcribe this text

[Assistant] You know, enter, enter, enter. You found a family that are going to a cabin at the end of the world. Basically, uh, really isolated in the forest. And then a group of people come and, uh, hold them hostage, I guess. And then they try and force them to do certain things. Otherwise, uh, the end of the world is going to happen.


[User] Please transcribe this text

[Assistant] I hate when that happens, like when you're like super into it, you're like, I don't even care what the ending is, like I just want an ending. Uhm, and no.


[User] Please transcribe this text

[Assistant] That's kind of a joke, but kind of not. Uh, there are two inappropriate relationships between step-parents and step-children, which...


[User] Please transcribe this text

[Assistant] Look, I understand that like, shock value was- is a thing, like lately authors are trying to really surprise you and it's supposed to make it better, but like,