2018 has been a pretty rough year for H3H3 Productions, but has he learned anything? What is up everybody this is Chris from the Rewired Soul where we talk about the problem but focus on the solution and if you're new to my channel, my channel is all about mental health and what I like to do is pull different topics from the YouTube community to try to teach you how to improve your mental and emotional well-being. So if you're into that make sure you subscribe and ring that notification bell and real quick did you hear a brand new book boom Rewire your anger it's out now you can download it by the way I get so many people who are like I don't have a Kindle I can't download your book the Kindle app is free if you have a smartphone or a tablet or a computer pretty much whatever you're watching this video on right now you can get the book so I just want to clear that up real quick but yeah anyways I made some videos about H3H3 this year since he's been talking a lot about his depression and woohoo the internet has not been happy with him like I was just doing some research right before this video to kind of check and see what's going on and I man man so those of you who don't know so H3H3 he was one of the first like I don't know I don't know if he was like one of the first like commentators but he was one of the first like calling out other youtubers on just kind of like not so great content but this year with his kind of ups and downs and like breaks from making videos and focusing more on the podcast and then he came out with his new app and just the internet lost it but yeah I've done some videos just about his depression and talking about that and H3H3 like Ethan has brought up a conversation of like are people using depression as an excuse and that's a whole nother video and I think I've talked about it in past videos but anyways I want to talk about like now that we're coming to the end of 2018 has Ethan learned anything right and I think it's important so those of you who've been following my channel I've been talking about how when you start looking at people who are doing well with their mental health and look at them for inspiration and try to learn from them and say what are they doing what is this person doing so I kind of got the idea for this video like right after I watched um Ethan and Elah's new video about the Fine Brothers and like I was laughing like I was actually laughing and like here's the thing I I have never been a huge H3H3 fan like I think like Ethan's like kind of funny but he's not like something that I watch all the time that's legit not funny not funny that is legit funny you know hold up you're the one that doesn't hold up you're gonna when the world starts being as fended by Seinfeld we've gone too damn far you know and when I watched the video that he made like I was cracking up I'm like this is great maybe it's because I grew up with like Seinfeld even though I wasn't obsessed with Seinfeld but like you can see this change in him right you could see a difference in him and something that he talked about during his depression and this is why it kind of blows my mind when people think that he was just BSing about his depression you can see the difference like if you watch their newest videos and you watch some of the other ones from earlier this year you can see like a difference in confidence a different in passion a difference in like the humor that they're using right and that's the thing about depression like and he's talked about this it's just he hasn't been motivated to make these videos so what's changed what's changed like the last video I made about him we were talking about how he started taking antidepressants finally and he started seeing a therapist and like one of the things that I hope all of you took away from that last video is quit causing your own misery for so so long like Ethan had all of these thoughts in his head like you know having depression and getting help for it it's kind of like the wimps way out and stuff like that but like so many of us get to a point where like when that when the pain gets so bad we finally get help and then he was like why did I wait so long why did I wait so long and you can see like anybody who is watching people and kind of analyzing people the way I do like you can legit see the change in him like if you're an h3a3 fan watching this video right now tell me if I'm crazy tell me if I'm crazy down in the comments below and tell me if you see the difference to between his content from earlier this year and some of his most recent content and his last few videos but the other thing I want to touch on was last night I was listening to his just a clip from his most recent podcast with Jack's films and like this is what really inspired me like this just made my night last night okay so Jack's films was talking about you know YouTube burnout and kind of just like the laws in his content and this is something that a lot of comedy creators struggle with and Jack talks about how he's like looking at his old archive and all that stuff but anyways you see Ethan just say bro you try therapy yet being in the right state of mind I think would work wonders are you in therapy I am not in therapy personally but for me it's been huge yeah because I've been in a rut and I always thought of therapy as some like I was like ooh smell your own ass while I'm at it therapy but I swear to God it's helped me a lot and Jack's like what? And Ethan just starts talking about how like therapy has been so beneficial to him he starts talking about how like this outside perspective this objective point of view is so beneficial and I'm like yes yes yes that's what I'm trying to tell you guys like like Ethan has ELA right Ethan has his other friends and support group but it's sometimes difficult to get an unbiased opinion from them right because maybe they don't want to hurt your feelings or maybe maybe they've been sucked into your story over the last years too so they're seeing everything that you're seeing but when you bring in a therapist somebody with a completely outside point of view to kind of talk about it with you that can start giving you more clarity right and that's something that Ethan's talking about so like this is one of the reasons like you should all try therapy but plus they're gonna give you different tools and things that you can use to kind of get out of your own funk but what I'm getting at is I love that Ethan Ethan is somebody in the community right who is a trash talker he has you know his own like kind of like dirty sense of humor and stuff but he's connected with all these other bigger youtubers and he's showing them like yo it's okay to go to therapy yo it's okay to like try taking some anti-depressants like if you're struggling with your mental health you don't have to that is a choice that you are making and like you kind of saw it like in the look at like Jack's Jack's films I was like oh wow so like that that's just really really inspirational to me and that's one of the reasons I make these videos like I was like this is just something that's normal for me now I posted over on my Instagram by the way follow me on Instagram if you're not yet when Rachel Oates who just did we just did a collab together to when she was talking about me in her live stream but didn't know I was in her live stream but what she was talking about is how you know I'm a I'm a man who doesn't have a problem opening up about mental health and my feelings and emotions and all that and like the thing is for me I don't even think it's that big of a deal it's just something that I've been doing for the last six plus years and starting to work on my mental health it is just normal to me and that's one of the reasons I have this channel is because I want it to be normal I don't want it to be some weird thing like I have guys like other men who come to my channel like oh hey look at this who's talking about his feelings like I am an emotionally healthy who's and I will take that all day long baby so I'm glad that Ethan is somebody else out there who has more connections in the YouTube community and showing other youtubers that it's okay to not only talk about your mental health but to get help for your mental health to not only talk about the problem but to get into the solution you see what I did there but anyways anyways that's all I got for this video I'm super proud of Ethan and I'm gonna do some more videos on other creators who are doing well with their mental health and what you can learn from them to try to improve yours as well alright but anyways let me know down in the comments below like again have you seen a change in Ethan like between this last few videos and the videos he was doing earlier this year let's have a conversation down below but anyways that's all I got for you with this video if you liked this video please give it a thumbs up if you're new make sure you subscribe and ring that notification bell because I make a ton of videos and a huge thank you to everybody supporting the channel over on patreon we got some new names up on this list right here so if you would like to become a patron and get some exclusive content make sure you click or tap right there all right thanks so much for watching I'll see you next time


What's going on everyone? Sam here with late in sports cards ripping one box of 2022 Panini certified football hobby for Tony K Good luck here, Tony. See we got in here for you, brother. It's a Christian Watson RPA. That's nice 19 out of 75 nice low numbered RPA. Always good to get one of these under a hundred or less Very solid first tip for you, Tony. Congrats, buddy Gold team Josh Allen and Rashad white to 399 our course is Zach Wilson Face Tom Brady certified stars Keenan Allen, there's a Corey Davis pretty nice two out of 25 for the Niners nice Brock Purdy Lamar and Wanda Robinson to 325 Marietta 199 Cardinals Gold team Jamar Chase. I had to hold it together last night in that box that we always talk about. Oh, yeah Yeah, nice Sam Williams going to the Cowboys mirror signatures 115 out of 149 not mirror signatures, but rookie signatures Nice one there. He had a great week last week seal of approval Joe mix in a 199 My god Certified gamers 45 out of 99 Nothing super big a lot of the new Star Wars top scroll black, which is pretty cool. I haven't ripped any of that yet We've got Najee Harris to 249 I'm excited to see what that's all about Don't really get to watch any of for us today Con Hamilton 393 out of 399 going to the Ravens They Drake London and base Two more to go here. Tony. Good luck, buddy. We need an extra hit. Nope. That's a filler. Just getting just getting false alarm Devontae Adams those Gonna watch that video back when I see you can see the pillar go flying. There's two out of 349 filler card Lesson and funny yeah That'll do it for the break. Congrats again on all your hits Tony. Thanks as always for jumping in man I do appreciate it. We'll get them right out to my friend


What's up guys? Today I'm going to share with you exactly how much I made passively last month in all the different projects that I'm currently invested in to make some passive income. Please note that these are all very high risk investments that I'm currently experimenting with. Pass results never guarantee future results. So do not ape into these blindly. Please do your own research to make your research a little bit easier. I've even done some breakdowns and tutorials on these platforms. So the ones we will be covering today is Olympus Dow. I did a deep dive on it here last week and I also did a tutorial guide on it. The next one we will be covering is strong block. I did a deep dive and tutorial on this one on how to set up your strong block node exactly how it works right here two weeks ago. The third one we will be covering is of course ice poker. I did a video on it about a month ago and you can find out all about it right here in this video. And then the final one that I'm going to be doing I have not done a deep dive on it yet. So I will cover it but I'm not going to dive too much into that one yet until we do our deep dive and tutorial on that platform. So without further ado guys let's go ahead and dive right in. All right guys so the first one we're looking at here is strong block. You can see that I currently have five nodes up and running. This is currently bringing me almost about half a strong token per day right now. So what's the value of a strong token. Well you can look at it right here. You can see that it is currently trading at $600 per token. So if we pull up our calculator created by the calculator guy on YouTube you guys can check him out. You will see that it's currently making us about $300 a day. Now it is a little bit less because we're not making an exactly half a strong coin a day. We're making 0.45. So just a little bit under which is currently about $277 per day, $1942 per week and about $8,324 per month. And of course if you draw that out over the span of an entire year if everything were to remain exactly the same which it never does of course that's over $100,000. But we're only going to be focused on the daily, weekly and monthly since that's the short term and that's more predictable than you know 12 months out from now. So you can see here that we started with just one node here on the 23rd of November. We added on a second one as we did more research and grew more confident in this project. Then there was a dip in the price and at $473 we added two more here and then towards the end of December on the 27th to be exact Santa came along and added a fifth node. We actually only had to buy I think four tokens because we had six tokens already from what we had accrued here over the last month. So we haven't been running the five nodes for the full month but we're going to tell you what the end result was as we started out in the beginning of December with just two nodes halfway through we added two more and then at the end we added one more node. So in total we've been running it for about 43 days now and we have accrued over $7,000 in interest in total though. So just in the month of December though we did $5,474.96. Now of course because we have five nodes now starting now in January and we're expecting to probably compound our interest to get two or three more nodes by the end of this month. We're definitely expecting that number to possibly double by the end of this month. So next on the list here is Olympus Dow. Now of course last week we did a video on Olympus Dow. We did a deep dive on it in a tutorial. So if you guys have not checked that out yet make sure to do so before you make any type of investments. So this is currently what our Olympus Dow looks like. We currently have 34.7718 ohm being staked right now and Olympus Dow has definitely taken us on a ride here. So if you remember we basically started our Olympus Dow journey at the top towards the end of November and ever since the price has just fallen, fallen and fallen. Currently it's sitting at a price point of around $323. So I'm not going to lie it has been pretty slow of a start here but we have accrued about $3,000. I haven't added in what we've done today as of yet but we've been making around $120 a day. So I will say that it's safe to say that we've done about $3,000 in total as far as interest right now. However, compared to how much we've invested into the project which was $15,190 to what we currently are holding which is $11,237, we are down currently about $3,953. But of course as the prices change this is also going to change with it. That's one risk that you always have to consider with these dowels is that the values will always be fluctuating either up or down depending on what the trend is at the moment. And if we look at the Olympus Dow charts here you can see that it's been trending to the downside. We finally got some green the last couple of days but it's down you know 78% from its all-time high. Now we did not buy at the all-time high thank god but we bought down here in this green box that's where we were expecting it bounce and we actually got a bounce when we bought here. You see that it bounced up and then it just fell back down and this is when basically the entire market dropped really hard. End of November, early December so we're hoping to get a bounce here but we're not too worried about it as long as we hold this as a long-term investment. Then we believe that with the rebasing it will eventually end up evening out and get us eventually into profit. Even if it just went up to 440 at this point we would be in profit and that's definitely a number that it can get to if you see here last time I got rejected at 450. So if we get a bounce here like we did last time I'm expecting it to retest at 450 area. So if we just set this up to give us the interest that we've accrued in December you will see that it gives us a value of seven and a half ohm that we've got an interest resulting in a $2,431.78 total interest accrued during December. Okay so next we're going to take a look at Ice Poker. You can see that I currently have three active wearables and they've all been delegated out. So I'm gonna be honest the first half of December I was delegating one wearable out and I had one wearable that I was using to play but I was maybe completing the challenges maybe twice a week at that point I just didn't have the time to put in to play. So I ended up delegating my second wearable out and I also bought a third wearable I was able to mint it for 0.25 Ethereum. So even if you just pull up the lowest prices here you will see that minting for 0.25 Ethereum has basically three x'd my investment if I were to sell at these levels and I've minted two of them. The one that I didn't mint I bought it on here but I bought it for 0.65 Ethereum so still basically doubled my investment on that. Now the first person that I delegated my piece to he also wasn't completing his challenges so I had to remove him I found me three brand new people to delegate to and they have been killing it. So you will see here to basically to end off the year and start this new year they've been killing it and ever since I changed up the people that I was delegating out to it's been a huge huge difference. Now of course by the value of the ice tokens going up this has also helped me make more money in return. Now I wasn't keeping track of this in the beginning. So when I started keeping track of it on a day to day basis is basically when I added everything on. So we're just going to go with the overall that we have so far and keep in mind that this is going to include about one more week from the end of November. So if we remove the three days here that we've had in January it gives us a total of nine thousand four hundred and thirty two ice tokens. If you multiply that by the current value of the ice tokens it gives us a value of around one thousand three hundred and eighty nine dollars. So I think this month we should have a much clearer picture on the amount of money that we can make passively here because now have three wearables delegated out starting from the beginning of the month. I will personally not be playing with any of the wearables they're all delegated out so it will be true passive income. Now the final project that I am invested in that I will be sharing with you guys is Time Wonderland. Now as of today I haven't done a video breakdown on it yet or tutorial so I'm not going to get too much into the details but be expecting that video in the next one to two days. So Time Wonderland currently has an APY of sixty six thousand five hundred and nineteen percent so on a daily average it's currently paying out about one point eight percent per day. So on this project was very similar to Olympus Dow I bought in towards the top and it's dropped about 50 percent since then. I've slowly averaged my way down also every time that I get a new rewards it averages my position as well. So although I'm currently down on my overall investment in December I accrued one point three seven eight time which was a total of three thousand seven hundred and fifty four dollars right now as of this time at its current price. So in total in December I accrued in interest on passive income thirteen thousand fifty dollars and four cents. However if you take into consideration that my investment in Olympus Dow and Time Wonderland are currently down it does change those numbers but nonetheless the interest alone that I gained in November was that figure of thirteen thousand fifty dollars and four cents. And of course that's the total at the values right now. So as the value of these things fluctuate unless I turn it into some cold hard cash that that total is also going to fluctuate with the market. So these are all things that you must consider when you're investing in any of these high risk passive income projects. I would say that the safest ones out of these four are probably strong block and ice poker the rebasing dowels are on the higher end of the risk spectrum. I hope you guys enjoyed this video. If you did don't forget to smash the like button. Let's try to get this video over a hundred likes. If you have any questions about anything that we covered in today's video don't forget to drop it in the comments. And if you guys are new to the channel of course make sure to subscribe turn on notifications. We'll keep doing these videos as we bring you along with our passive income investment journey. Let's see if we can get our passive income to over six figures per month which would be insane. Thank you guys so much. I will see you on the next one as always. Peace and love


Hi, my name is Katie Ida. I am a dual-degree student here at UVM. I'm getting a BA in English with a minor in political science and a BS in community and international development. Next year, I'm headed to the London School of Economics and Political Science for a Master's in Social Policy in Gender Policy and Inequality. When I came to UVM, I wasn't really sure what I wanted to do, but I took some classes that inspired me to get passionate about a subject and had some faculty members that were passionate themselves about the subject and it led me to get really excited about women and development, which is what I am really excited to be studying next year in London.


So tonight, we're going to talk about concurrency. We're going to talk about async and await as a sort of modern approach to doing concurrency in JavaScript. And I'm Simon. So I'm a JavaScript and React engineer. I've been doing JavaScript for a long time and React for a number of years now. I have a team just outside of Jakarta. CodeFox is our company. And so you can also find me on Twitter with sstur underscore. So today, we're going to talk about concurrency. And it's kind of a technical topic. So I'll try to explain it as simply as I can. But you're definitely going to see some code. So we're going to go through some code and talk about some concepts. Maybe we should start with, is everybody a JavaScript programmer or does write JavaScript in here? OK, cool, just checking. And what about using kind of more modern ES6 constructs? Is everybody using ES6 at least has some familiarity with that? Yeah? OK, cool, because that's what the code slides that we're going to look at is all ES6. So let's talk about what is concurrency? So concurrency is doing multiple tasks in a period of time. So typically, one core can only do one thing at once, as well as other pieces of hardware can only do a single thing at a time. But over a stretch of time, we want to do multiple things. So a web server wants to serve multiple requests for a web page. A script wants to read multiple values from a database before it returns the request. And so what we're really talking about is doing multiple tasks over a period of time. And some of those things we can do in parallel, and some things we have to do one at a time. And so generally, order-dependent or partially-ordered units of work is where concurrency happens. So this is just an example of multiple tasks that may start at various different times, but are kind of running over the same period of time. So they're running in parallel, essentially. Some of these are. And so this is something that is pretty hard to do in computing. In particular, it's hard to reason about. It leads to race conditions. It leads to difficult models of things changing over time. And so concurrency is specifically important when we're dealing with user input output as in network requests. Also, user input, users interacting with the system and reading, writing from disks, anything that is kind of considered asynchronous type of activity, something where the CPU needs to stop and wait for the user to do something. Or the CPU needs to stop and wait for some data to arrive from the database or the network. And so there's typically two ways for a program to do those kind of tasks. So to do IO specifically, we have the blocking or the synchronous style, which is easy to write. It's what PHP and Ruby and Python and most web, especially server side technologies, are doing synchronous or blocking IO. And in order for that to work, we need multithreading. Because if we stop one thread, we need another thread to be able to continue to serve user requests. But it's easy to write because you write everything sequentially. However, there's a memory overhead to that because every thread requires memory. And there's context switching. So when the CPU switches between the threads, so there's overhead there. The other sort of paradigm, the other pattern, is the non-blocking or the event loop style. And so that's single threaded. So everything runs in one thread, which means we cannot block the thread. We do get high concurrency, and we get low memory. So that's the win. And it's really good for UI, so user interaction stuff. That's why the browser uses the event loop pattern. And it's also good for IO bound services, things that are doing a lot of reading from network or database or disk. But it's not great for things that are CPU bound, because anything that's using the CPU is blocking other things that could be happening. So that's kind of the overview of the two patterns. And so JavaScript, as you know, is the second one. And so all the browsers and most JavaScript server-side frameworks are all event-driven or non-blocking. There are some exceptions to that, like historically, like really older engines. But in general, every JavaScript you ever write will be event-driven, non-blocking. Does anybody have any questions about that stuff? So what happens if you block in JavaScript? Well, there are some things that will block the thread, that will halt any other execution. And so alert is the most common, alert or prompt. And so we also have a synchronous style of XML HTTP requests. And it's rare, because that was probably a mistake in the API. They probably did not intend for that to be synchronous, or at least it wasn't a good idea. And then we have some stuff in Node World that are intentionally synchronous for various reasons. But I think the one that everybody's probably familiar with is the sort of alert style, where it blocks everything else that's happening. And so that's this one. And so that's like the page puts a dialogue up and everything pauses. You cannot interact or press a button. You can't even scroll. And so that's kind of a bad user experience. And so that's what we mean when we say a blocking interaction or blocking the thread. So how do we write concurrent software without blocking? So generally in JavaScript world, as you know, we use callbacks. And it's pretty straightforward. We just pass a function. And when the task is finished, JavaScript will call our function. And that would be, for instance, an on-click event. So you pass a function to the document, to the browser.  Similarly, a network request. You're waiting for the network request to finish. And then the callback happens. So this is the callback style. We're going to read a file. This is more maybe server side. We read a file. When the file is finished reading, we have our content. So does everybody understand the callback style? I mean, that's pretty much every JavaScript program you've written. So what's the good things? It's a good low-level abstraction for concurrency, for asynchronous actions. It performs really well. It has low overhead. There's not context switching involved. And we can do almost any asynchronous task using callbacks. What's the downsides? Well, doing things in callback style is really difficult. So doing things in sequence is difficult. Doing things in parallel is even harder. You give up your constructs that you're familiar with, like for, and while, and try, catch. And those are things that people come to JavaScript World from PHP background or from Java or from almost any other language. And they don't understand why you can't do these things. And so error handling, as you know, you always have to check this error parameter. Things could fail during the middle of a network request. It needs to be handled. And your code readability goes downhill pretty fast. So systems become kind of hard to maintain when there's a lot of callback asynchronous code. And so this is kind of the example of the first one, which is like the, or sorry, the giving up the constructs that programmers are familiar with. This is your typical example. So it's like every day on Stack Overflow, somebody asks, what's wrong with this code? And can anybody see why this code will not do what the programmer expects? So here, we're defining an empty variable. And here, we're returning an empty variable. And then somewhere later, that variable will be set. After the network request comes back. But to a programmer from a non-asynchronous world, this is a strange thing. This is a strange thing. And so that's why people new to JavaScript are always on Stack Overflow asking this question. So callbacks, they add complexity. It's messy to chain them. If you need to do three things in a row, simple things. Like write something to the console, wait a second, write another thing to the console, wait another second, and write something to the console. That's like a lot of callbacks. So it becomes messy to chain things. And it's pretty hard to do things at the same time. And so this is your sequential stuff. And so this might be the most code you see on any slide. But I want you to get the idea of how the complexity grows when you're using this style. And we're not even doing any error checking here. This is like the simplified version. This is just taking three files. And we just want to total the number of bytes in those files. So we have to read three things from disk. So we're going to stat file one, add the size to the total, stat file two, add the size to the total, and do the same thing with number three. Every time we're getting more indented. And then eventually we have our total and we can do our callback. And so is anybody written code like this all the time? So if we want to do, so these three things, these three files, we don't have to do them one by one. We can just read all the files and then get the total number of bytes. So if we want to do it in parallel, it's a little harder. So this is kind of my naive version with no error handling of doing the same three files in parallel. So here we put the files in array. We four each. And we stat each file individually. The problem is how do we know when we're done? Because the answer might come back in any order. So we have to keep track of the number that are finished. And we've got to count every time one finishes. We've got to add that number. And when we've reached three, then we know we're done. So this is kind of parallelism in callback world. And then there's error handling, which we didn't even look at yet. So what do you do? We spent a lot of effort just checking if there's an error when we read file one, but file two has already completed successfully. How do we handle that? And if we look at the same example with error handling, it doesn't even fit on a slide. Because now we have to like, if there's an error, we need to log it and return. And that's not even good error handling. That's the minimum error handling just to log the error and just give up. And so we have to do it every time. And so we have readability issues. So when readability is this bad, systems become difficult to maintain, difficult to read. It's easy for errors and bugs in your code just to sneak in. So let's talk about promises. So we've kind of talked about callbacks. So promises do a little better. So this is basically a thin wrapper, a thin abstraction around callbacks. And so it gives us the chaining that we need, doing task one, waiting till it finishes doing task two, and continuing in sequential order. It gives us helpers to do things in parallel. It gives us error handling. And they're composable, right? Because the way a promise works is we can pass around a representation of a future value. So a promise is an object that represents what the value will be when the operation finishes. And so it kind of looks like this. So we read a file, and then we get two things. We get then and catch. So then we can, in a sense, attach a handler or a callback that gets executed whenever the data is finished. So it's better than callbacks. Like it may not seem so at first. It may seem more complicated. But it is better. And so it looks, if you look at this code, like all we did was take our callback and put it inside of them. But we still have our callback. But it's better because we can do some chaining with that. And so I'll give you an example with a very simple function that uses setTimeOut. And it just waits for 1,000 milliseconds for one second. And then it fulfills the promise. So it's the same idea as a setTimeOut but in promise world. So the idea is that here we want to just wait one second and log something and wait another second and log another thing. And so we don't want all of that nested callbacks. So we get a better, more readable pattern here. So at least we can see first we sleep, then we do this thing. And then we do this other thing. And then lastly, we do this final thing. So at least it reads in a very sequential order. And so the first thing you might notice is that we're returning something from inside our callback. So inside of our then handler, we're returning another promise. So remember, whenever we call sleep, it returns a promise that will fulfill or will finish in the future, resolve. It will resolve in the future. And so when we return a promise from in here, that's what allows us to call another then. And in the last one, we didn't return anything. So we're finished. So even this might be a little better than callbacks, but it's not amazing. But we get flow control. So when we go back to our example of doing certain things that we have to do in series, we have to wait for one to finish and then do the next, other things we want to do in parallel at the same time. And so that's really hard with callbacks, but it's easier with promises. So the example would be we want to fetch some data about maybe the user that's logged in right now. And then we're going to get back this user object. And then we want to fetch the friends of that user. And then we'll return that promise, right? So every time we call fetch JSON, we're going to get this promise. And so we'll return that promise. And then when that finishes, we have the IDs of all the friends. And so now, and this is where it becomes powerful, is now we can take these IDs and we map through them. So we go through each individual friend ID and we want to fetch the user details of that friend. And what I do here is I actually create an array of promises. So each time for each ID, we return a new promise. And since we're calling array.map, we get a map, we get an array of promises. And then we can call promise.all, which just waits for them all to finish, gets all the results and we can return that promise. And then when we're finally finished, our last then we have like all of the details for all of the friends in the order that they were provided in the same order that they were in this array. So promise.all is the magic that I want you to understand from this slide. So here we're doing something that would be really hard in Callback World because we're doing the first two things in sequence, right? They have like, we can't get the friends until we get the user, right? So we have to do some things in sequence but other things we can do in parallel. So that's the power of control flow with promises. So promises, even though they don't seem great at first, or at least when I first learned them, it seemed like a not much better than callbacks. Once you explore the chaining and the control flow, it is better. So error handling, we get a catch. And so we don't have to check every single time for this error. We can just attach one catch function at the end. And so exceptions will bubble through our code or bubble up the way we expect it to work in normal programming with try catch. So in this case, if we go back to our same user profiles example, I can just add one catch at the very end and grab that error. And we just know an error happened somewhere in one of these an error happened. All right, everybody with me so far? Cool. But we're still putting callbacks inside of then, right? I mean, we're still doing callbacks. It's a nicer way to do callbacks, but ultimately we eventually have to pass these functions. So can we do better? So what do we wanna do? Like we wanna just like have normal sequential programming like we're used to in other languages. And so here's what we want, right? We want to get our promise. We wanna somehow wait for the promise to finish and then we just wanna log the result, right? With no then anywhere. And so the problem is, JavaScript is fundamentally single threaded. So we can't block. And what I mean by that is, we can't just pause the program right here, wait for the promise to finish and then resume because we don't wanna block our entire thread and then you have the same problem as when you use alert and then the whole software is just not doing anything useful. So JavaScript is single threaded. We can't block, however, there's a special thing called a generator function. And so what that is, is that allows us to pause just one function and we'll go back to it later. So we're not gonna pause our whole program. We'll just pause this function. And so has anybody used or seen this generator syntax? With the star. So that's the special thing right here is the star. And then the keyword yield. So generators are not about asynchronous or event loops or they're not about doing concurrency. They're just about pausing stuff basically, right? So we get this thing called yield. We can just wait. So the idea is we just pause the execution of just this function. We wait for something and then later we will be resumed and we just console.log the string that says we're back whenever somebody has resumed us. So there needs to be something controlling this. Some function needs to resume this whenever the fetch has completed. So generators are pretty complex and I don't wanna spend a lot of time on them. I just want you to know that generator is the only thing that kind of allows this to work because we can pause our function. And it's important to understand it just pauses this function, not everything. So we take promises, we combine it with generators and we get awesome stuff. So this is the whole point. We get a single weight. So it's basically just a layer of syntax on top of generators and promises. And it looks like this. So instead of a function star, we have this async function but it's really similar to that function star, right? We use the word await and we put a promise after that. So await and then a promise and it always has to be that way. And then what that does is that await will pause it in the middle of executing this line we just pause the whole function and we just wait but we let the event loop do other stuff and then eventually when this fetch has completed this function gets resumed and then we have our result and now we can just console.log the result. So this is the whole idea of async await. A few things to remember. You can only use await inside of an async and it has to work with promises. So it's a win, it's a win because we get back our traditional constructs, right? We get back our for while, our try catch. It becomes readable. I mean, it's got some keywords in there that might seem strange at first but it flows like normal programming in any other language and normal thread blocking programming, right? And we get this kind of interop with promises so we can use any other promise library and use it with async await because it just uses promises. So the same example or a new example of reading a file here with async await is that here we just use this read file which is a function that we've kind of made up that presumably just returns a promise and then we just wait for that and we get our content and then we convert it to a string, we parse it with JSON and we log the result. So it just reads sequentially like you'd expect and the point of this slide is that now we have our try catch back. So two things could go wrong here, right? Something could go wrong with the reading of the file. The file doesn't exist. The USB stick has been unplugged. The permissions aren't there. So this thing could fail. The other thing that could go wrong is parse. There was invalid JSON, it just doesn't, the JSON.parse can't handle what the file had in it. So these two things could have gone wrong. And so this thing is going wrong in async world, right? Something is happening asynchronously while our function is paused. But this exception is just a traditional, normal, regular JavaScript exception. And async await doesn't care. The try will work exactly how you expect it to and it will send the error to your catch no matter which problem happened. So we can kind of not really think about async callback errors being different from any other error. And so we also get back our for loop, right? Things that are just normal programming constructs that have been around since the 70s and we understand them. And so in this case, we're combining just a regular for loop with async await and we get something really cool. So in this case, we just take a regular browser element and we're gonna loop through a hundred times and move it a little bit to the right. By increasing the left value by one pixel every time, we're just gonna increase it to the right. But we wanna do it every frame, right? It's an animation. We wanna wait in between the frames. And so we're gonna wait 16 milliseconds between every adjustment of the value of the style. So in this case, in like four lines, we've written an animation with a hundred frames that happen 60 frames a second that would be really difficult to do with callbacks. But because async await just pauses our function in the middle of a loop, it just does what we kind of expected to do and it's understandable. Does anybody have any questions about this? So it's just promises. And async function itself returns a promise. And so when we await a promise, our function pauses until the promise is ready or until it's resolved. So we can still use our normal promise stuff, right? So promise.all, which we talked about earlier, still works with async await. And here's an example of that. So here we're gonna fetch our, we're gonna get our user and we're gonna get our friends and then we're gonna map over our friends and create our array of promises just like before. But in this case, we're using await for both of the first things because we can't do the second thing until we've finished with the first thing, right? So we have to wait on those. But these promises that the fetching the friends, we can do those all at the same time. So we just create an array of promises just like before we call promise.all and then we await that. So we await them all to be done. So we just, so we, as long as the thing on the right of the await word is a promise, everything's cool. So the thing on the right needs to be a promise. And then we console.logit at the end. But the thing I want you to know about this is that this whole entire function because it has this async word itself returns a promise, right?  Yes, yes you can. You can await another async function because it's just promises. So a few pro tips, don't forget to use your await. If you accidentally leave out this word because you're so excited that everything is like, you know, normal programming again that you kind of forget to leave out the await, it's not going to do what you think it does. So don't forget your await. Be careful about doing too many things in sequence if you can actually do them in parallel. So now that we have our for loops back that we love, it's very tempting to just put a weight inside of a for loop. And we have to remember that if we do that, it's going to pause that for loop every single iteration. So don't do too much in sequence if you can do it in parallel. And so the other thing is that using a weight in a map or filter function, probably doesn't do what you expect. And so I should show you an example of that. But the idea is that a filter function, right, a radar filter should take a function that returns a Boolean. But if you pass an async function, it's going to return a promise. And so probably not going to do what you think it does. So you just have to remember that. So map, it's fine to use, but just remember that if you pass an async function into map, you're going to get an array of promises, which might be what you want. And so even though it looks synchronous, also remember that your code has been paused and then started again later. So some of the assumptions that you might make about global state or global variables might no longer be true after your function has been resumed because things have changed in the world while you were paused. So user input, right, has been traditionally hard with Node.js. If you've ever written a CLI tool, you need to read some data from the user and then you gotta have a callback and then you gotta read more data from a user and it becomes really nested. And so this is just our final example. It's just that we can just create a read line function that returns a promise and we can now await it and write command line programs just like you would in Python or any other language. But we get all the advantages of Node as well. So you can use this today. Async await is in Chrome, it's in Firefox and it's in Node. For any of the other browsers, you should use Babel. But it's actually not that bad to use Babel because Async await is a pretty thin layer on top of just generators and promises. So most browsers support generators anyway. So there's not too much stuff that Babel needs to do to make this work. So thanks for listening.


And outside Africa all NATO allies have agreed that Ukraine will eventually become a member of the Alliance, but the main focus now is to ensure the country prevails against Russia. NATO's Secretary General James Choltenberg disclosed this on the sidelines of the ongoing NATO summit in Ethania. Let's go a long way. Since we made that decision in 2008 that the next step will be a membership action plan. Ukraine is much closer to NATO, so I think the time has come to reflect that in also the NATO decisions. All put together, including that we make clear that Ukraine will become a member, we remove the membership action plan, we make their forces interoperable, NATO forces, we establish a NATO-Ukraine Council, all that together will send a very strong and positive message from NATO to Ukraine. I'm confident that we will make strong and united decisions on Ukraine, both to sustain and step up our support. I'm also confident that on the membership issue, allies will reaffirm that Ukraine will become a member. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


Sorry, but the gentrification issues mean that I have to go meet with the Barra-Prasel District in about 20 minutes because our neighborhood has suddenly been raised in value and I fear that it is a virtual inflation, much as we saw in the economy in 2006 and 2007, right before the economic crash where we decided that something was worth more because it was convenient to them to say that it was worth more. There's something different about San Antonio's downtown compared to other major urban centers. There's something general, friendly, softer, more welcoming. For generations we've been called a big city with a heart of a small town, but if certain developers and planners have their way that will change. The very fabric of our downtown's residential safety cushion will be erased and undone and redone to model after other cities to become in short, less San Antonio and more Pittsburgh, Chicago, Phoenix, Detroit, wherever the developers are coming from. For more than a century our downtown businesses have been surrounded by a residential safety cushion that brings stability, safety, warmth, color, longevity to our city's heart. Neighborhoods like Tobin Hill, Monteviste, Beacon Hill, Dignavid Hill, and King William have always provided strength and uniqueness to our fiber. They have traditionally been people with a wide variety of residents, economically, ethnically, professionally, but people who by and large have felt a commitment to benefit the city. I live in that gentle safety cushion. I have lived in that gentle safety cushion now for more than 20 years all the time, but I've been back in San Antonio having grown up on the west side and having lived for a brief period of time before I left off to college also in that safety cushion. I call it a safety cushion because I think that it is important to keeping San Antonio the kind of city that we love. I live next door to a family who's been there for three generations who advised me of the fact that they watched on TV the coronation of Queen Elizabeth in my backyard. Yet within a block of my house, I developed a business trip and at 5 p.m. it entities out into a dangerous nothingness. Yet one block in, we walk the dog, we let the kids play in the front yard, we feel invested enough to think about permanence. I have not been in this neighborhood long. I came back to San Antonio in 1994 and bought a house in Montelista right before the prices went up. A year after we bought the house, we received our tax appraisal and the appraisal of the house had gone up like $100,000. I didn't do anything to make the house better. We didn't even have all our property on the rocks. But it was considered all of a sudden to be a very valuable place because people said it was going to be the next King William. That's what they're now seeing. I won't give you a blow-by-blow history of what happened among the DC problem. Let me say that the taxes went up so high that it threatened the ability of people to retire there. It became a convenient place for very mobile yuppies moving in professionally. We're going to be here for two years or three years, so I didn't need a higher price because that's the way this virtual inflation goes, this artificial inflation goes, and then they move on to some other city. We had hoped to stay there forever. It didn't work out. During one period suddenly, when everybody realized what was happening in our neighborhood, on the block we lived on, which had a few businesses, a few professional offices, and then about nine or ten residences on our block. Within 18 months, all the residents on the block, except one, had moved. We had seen 17 years of rising taxes and finally got to the point where it was impossible to deal with it. So we made a decision for our family to move out of our forever home to another home, and we realized that my family had somebody in the 90s and somebody in early elementary school and everything in between. We moved 12 blocks west, we moved across the tracks into Beacon Hill, a very nice neighborhood, if I can quote Abby Kittrell, who, when she tells people she looks in a different place, they say, ah, you really know what to do. She says, no, I have a $100,000 quest. It's a nice neighborhood for a lot of reasons, and one of those reasons is there's economic diversity, there's age diversity, there's professional diversity. It's a really wonderful neighborhood, but late last year we saw something happen, and all of a sudden there were all these rezoning requests like within five or six weeks, and as we began to see people descend almost like vultures on the neighborhood, pointing at my house, and I was like, well maybe that would be a good offer. We began to feel like we were at the target of this onslaught, this development tsunami as I call it, an unraveling of the community. They used the excuse that they were trying to make it a arts community. I am an artist, I am a writer, I am the city's first poet laureate, but I'm also a resident, and a mother, and a daughter of a senior, very senior citizen, and a person who cares about my neighborhood. We've been descended upon, and I began to ask about these all of a sudden inflations in our tax values that are not based on anything except somebody's closed door session that sent to a bunch of young investors go west, young men go west, and they did, they came, and the word is out, but this is the place to invest. All of a sudden this street that I live on, it goes for 17 blocks of front porch houses, some Victorian, some post-Victorian, some American, some just squarish, some apartment building is on the corner. All of a sudden they're talking about a tiny lot, putting in three houses sideways, like apartment complexes, and selling it at 200,000 dollars each. I could go on, I'm not going to, because I have to make the very appraisal, because you have to go on to many more important things, and I'm going to appreciate the comments that have been given here. I've got to warn us when we start thinking about 15%, when the values go up by 15%, it's not always to the values that go up by 15%, it's the piece of paper that says the values have gone up by 15%, and that piece of paper can be part of an alliance of business interests who have decided that this is the way they're going to make their money, will have their own view for what will happen to the future of that area, or they're just to make their money and move out. I'm glad that Hemisphere was mentioned, because Hemisphere introduced to many of us an urban renewal, which then became very important, because we began to think that this urban renewal, which is what was happening, people in the houses and the historicity were being removed. I just feel that gentrification is such a major issue that it is probably the next civil rights, major civil rights issue of this nation. The displacement of the individual homeowner by the large alliances of investors and business interests who are interested, not in permanence, not in the future, but in their own profit, after which they're free to move on. I have to tell you, I have testified in front of the Zoning Commission, and it was amazing to watch the reaction of the council of people who the minute someone came to the front, said they were from a business, got full attention. But the minute they said they were a resident, they zoned out. As if residents don't count. As if that safety cushion, which makes our city a good place to live, all of a sudden loses importance, loses status, loses power. I was one of the people testifying in the minute I said resident, I could see them going back to checking their notes and reading their email and whatever. And the only thing that stayed with them after my entire testimony was when one of the people who again voted to go ahead and breeze on anyway, there's no problem. She said, I feel sorry for that, that mom who had a child who talked about her child. That was me. She was talking about, but that's all that it counted for. Just a mom, just a resident, just somebody, the child. What is the future of our city? We're here to hope that there's a different kind of voice and the voice that doesn't require $75 to get or $90 to get into the event in order to make a difference on the future of our city. Thank you for your attention.


I said it before and I'll say it again. It seems like everything is lining up perfectly for the Baltimore Ravens to win the Super Bowl this year. Team keeping clean, we got a huge update for our Baltimore Ravens. And before we get into it, make sure you subscribe to the channel. Turn your notifications on so you do not miss not one single video and leave a like on the video because it helps out a lot. And y'all have been doing that. So I appreciate y'all a ton. Y'all keep it up. Thank you for everything that y'all do on a daily basis to help with this channel. Now onto our Baltimore Ravens. A couple of weeks ago, I said something, and I was very happy about that something that I said, but I was completely wrong with what I said. And what I said a couple of weeks ago was that the Baltimore Ravens, they control their own destiny when it came to the playoffs. I thought that if the Ravens won out, this was a couple of weeks ago now, I thought that if the Ravens won out, then they would get the number one seed. And I thought that statement was true, but a couple of weeks ago it wasn't. A couple of weeks ago, if the Ravens and Chiefs had both won out, then the Chiefs, they were the ones that would get the number one seed. But guess what? Now, that statement is a fact that if the Baltimore Ravens went out, they control their own destiny and they could get that number one seed. Because the Chiefs, they had a tough matchup today with the Packers and they lost. Now there was some questionable calls, but there was some questionable calls that went both ways. And I even tweeted, I said, man, we're so used to seeing calls go the Chiefs way. It was so weird that everything wasn't going the Chiefs way like we just so used to seeing. But anyway, the Chiefs failed to the Packers. The Steelers failed to the Cardinals and the Browns, Joe Flacco, they failed to the Rams. So this sets the Baltimore Ravens up nice. And right now, I know some people probably looking at it like the Ravens aren't the number one seed right now. How could they possibly get the number one seed? Right now, if it all ended today, the Dolphins will be the number one seed. It'll be the Miami Dolphins. And then you still got the Jacksonville Jaguars that are gonna play later on against the Bengals. And I mean, you could root for the Bengals if you want to because that would help the Ravens. But essentially it really doesn't matter because the Ravens are in firm control of everything from now on. Now let's look at the remaining schedule and shout out to Ryming for tweeting this. The remaining schedule for teams that are currently nine and three. And then of course the Jaguars, they still gotta play against the Bengals. But the Ravens, they played the Rams next week. They played the Jaguars tough. They played the 49ers, Dolphins and Steelers. So they got some tough games, man. They got five tough games. If Ravens win that out, get in the Super Bowl right then because those are five extremely tough games. Now, the Dolphins, they got the Titans, the Jets, the Cowboys, the Ravens in the Bills. So you know that could go either way. So their schedule is semi tough. They got two easy games. That isn't even Sunday, but they got two easy games. But then they got three tough ones on the back and then the Jacksonville Jaguars, of course, again, they played the Cincinnati Bengals. But then they played the Browns, that's tough. They played the Ravens, that's tough. They played the Bucks, the Panthers and the Titans. So they got their tough games early on and then they finished out with the easier games. Again, still any given Sunday. But my point is with all that being said, the Dolphins right now are ahead of the Ravens. The Jaguars right now, if they win, I believe they'll be ahead of the Ravens. But since the Baltimore Ravens play both of those teams and if the Baltimore Ravens take care of business against both of those teams, then, and of course the rest of the teams too, Ravens will be in the number one seed. Now, I noticed there's some Baltimore Ravens fans that don't want the number one seed because they are scarred from the past, but let it go. It's okay. It's okay. Now, I was talking to my guy, know the other day from Forda Flock and he made a really, really good point about the bye week, about potentially being the number one seed. And he talked about how it is like, if you're not the number, if you're the number one seed, then yeah, you get the bye week. And he brought up 2019 how the Ravens in that last week of the season against the Steelers, they rested a lot of guys. So it was almost like they had two bye weeks. And I'm like, oh, that's a really good point. I never thought about it like that. And he talked about how somebody who is not the number one seed, they obviously got to keep playing. So if they keep playing, then they'll continue to have momentum. And they can have more momentum going into the game against the team that had the week off, then the team that had the week off because they had the week off. So when he presented the information like that, I was like, wow, that makes a whole lot of sense. But I still want the Ravens to be that number one seed, but I get what he was saying and I can see how a lot of people could look at it from that angle. But one thing that is really nice about this, that the Ravens control their own destiny. The fact that the Chiefs lost, cool. The fact that the Steelers lost, cool. The fact that the Browns lost, cool. And while all those losses did help out the Baltimore Ravens, you know who helped out the Baltimore Ravens the most? The Ravens did. The Ravens did. Because the Ravens, they put themselves in this position to where at this point of the season, you coming off your bio, you ain't even had to do nothing today to be in position to control your own fate this year. So the fact that the Baltimore Ravens, they won enough games. They closed out enough games to where if they want the number one seed, they really want it, they can get it, that's a beautiful thing. And they don't even need any more help. They don't need any more help. Now that's of course saying that if the Ravens go five and O for these last five games. Now, as much as we would love that and as much as we hope for that, there is a chance that that doesn't happen. But at the same time, it is a chance that it does happen because we know in December, it's something about Ravens football in December, especially when they have their starting quarterbacks. They just do some wonderful things. First of all, John Hardball coming off the bye. I know he got this beautiful record. But then Ravens football in December, and I'm sure during the Rams game, I'm sure we're gonna see all the stats and everything, all the reminders of that about both of those statistics and whatnot. But the Ravens, this is such a great position to be in. And the fact that, and I know we get frustrated with these Ravens sometimes. I know we just get like, oh, what are they doing? And how could they give this up? How could they do that? Why are they doing this? Why are they going away from us? What's going on with this team? But the fact that after 12 games, they are sitting at nine and three. And it's up to them what happens next. That's a beautiful thing. It's crazy because I remember through points of this season, it's crazy that this season has went by so fast already. But through different points of this season, especially early on, we talked about how it was a beautiful thing that despite us seeing this right here that the Ravens needed to work on, this over there that the Ravens needed to get better at, this right here that we know the Ravens need to improve if they're gonna go far this year. For the most part, they were still winning games. Despite the hiccups, despite the mistakes, despite the turnovers, despite the lack of discipline here, despite the miss tackle, despite giving up that play, despite giving up that touchdown, despite the miss sack, despite whatever, they are still winning the majority of their games. And even in their losses, even in the losses, they lost by a hair. Now, the loss is still a lot. Well, it's a big loss or it's a small loss, but context is important in all of their losses. They've lost by just that much. And if one play would have went the other way, if they would have got one more touchdown here there, one more score, one more stop, then of course they could be 12 or no. They could be 11 and one. They could be 10 and two, but they're nine and three. And we look at the games that they lost. They lost against the Browns most recently. Game winning field goal by the Cleveland Browns. Game winning field goal and that game just, oh, they had a big lead and it diminished. They started off so strong and they fell apart. They lost against the Steelers. Oh my goodness, drop after drop after drop after drop. Then the end zone interception and everything just fell apart. They lost against the Colts and it took five quarters to lose against the Colts, but they lost against the Colts in overtime. And just the missed opportunities here, there and everywhere, but these Baltimore Ravens, despite those losses, they still control their own fate. So this is a good thing. Excuse me, no, no, no, this is a great thing. And we hope that these Baltimore Ravens, hope that they run the table.  You going up against Matthew Stafford, who you know here, feeling good, especially after that game, he got Cooper Cup and Puka, Puka Nuka, we going against them this Sunday. Then the Jaguars, T-Law, that boy T-Law, he cold, man. He cold. Like I remember watching the game last week against the Texans. The Jaguars and Texans, I'm thinking, oh boy, that boy T-Law about to be shook, man. Them Jaguars about to be shook, them Texans, the stadium is rocking. They got momentum. I thought they was about to come back. But T-Law said, no, no thanks. No thanks. Then we got the 49ers and they just crushed the number one seed Philadelphia Eagles just now. So that's gonna be an extremely tough game. And the world will be watching too. So that should be a really good one. The Dolphins, now I know the Dolphins, they haven't beaten any teams over 500. Well, I know they did beat the Broncos and Broncos are, well, they were over 500. I forgot what their record is now, because I know they lost to the Texans today. But anyway, the Dolphins, they haven't really, they haven't beat good teams. But when they face bad teams, they beat up on them. But still with the Dolphins, they are obviously a very dangerous team. Even though they ain't beaten or good, they still very dangerous. So you don't want to be that good team that they do beat. And then of course you got the Pittsburgh Steelers. And we know Kenny Pickett is hurt right now, but he'll be healthy by the time he play the Ravens. You know how that goes.  And even though like with Kenny Pickett, it's so weird, it's like, Kenny Pickett is not bad. But in my opinion, he's not this great quarterback that's just killing and making all these plays. But for him, it's like, quarters one through three, Kenny Pickett's like, okay, whatever. Fourth quarter, that's when that boy just turned it on for some reason, especially against the Ravens. So you got to always be fearful of that. And you got to watch out for that. That's what these Baltimore Ravens need to do. But they know what they got to do. We know what they got to do. Now it's just a matter of them doing it.


This episode of The Photographic Eye is brought to you by Squarespace. I believe that the best way to improve your photography is rather unsurprisingly, to look at as many photographs as is possible. Much like a chef tastes different ingredients and explores and discovers cuisines and cultures from around the world to improve their own recipe making. So too should the photographer who wants to become a more rounded image maker seek out inspiration from as many genres in photography as possible. How's it, how's it? When you started photography, you were no doubt given photographs to look at by people who were trying to get you into photography and they were saying these are the great photos that you should look at and be inspired by because they're fantastic. And you were probably nodded your head and gone, yeah, yeah, that's really amazing. But truthfully, you kind of really didn't know why. Why was this picture any good? A fantastic example of this occurred on the channel here recently on a video where I was talking about this very famous photograph by Robert Frank of The People on the Bus. And I said that I didn't really have much impact to me. Now, I was looking at that through the lens of how I first experienced that photograph which was as a young photographer and I only interpreted it through the lens of the language that I had at the time which was all technical things. I looked at its composition and the use of tones and all that sort of thing. And I wasn't looking at the wider perception of it which of course is about segregation in the US. And the comment on the video reminded me that his interpretation of that Bus photograph is very different because he experienced that personally. And this is at the heart of what I believe is a problem when we are looking for inspiration in photographs is that we are not really oftentimes ready for everything that the photograph is able to offer us. If you find that this is the case that you've looked at various famous photographs and they haven't really, or you don't understand it's just like, I don't get it. What's the problem? Why is this picture so great? It's okay, right? It doesn't really make a huge amount of difference. It's just that sometimes you don't have the tools available to seek out, to pull out all the meat and the inspiration that's in that photograph. This isn't really super surprising because quite often in photography, especially when you are beginning photography, you're taught the basics. You're taught sort of exposures and f-stops and shutter speeds and all that sort of stuff. So that is the language that you use to analyze a photograph. Like much of that Robert Frank photo, I wasn't looking at the bigger picture. I was looking at the compositional elements. And then of course there's the issue that a lot of famous photography has an awful amount of baggage attached to it. Because it comes with stuff.  So this famous photography has all this baggage. And so we combine that with the fact that you're kind of thinking about images in terms of gear. It's no wonder that it could be quite confusing. Especially when a lot of work about photography, when writing is about photography, if you're going to be extremely dense and they're, you know, very earnest. And you know, Susan Sontag and Rene Baths and people like that are all very interesting. But it's not like reading. The more that you watch these kind of videos, you're going to start moving beyond simply responding in some sort of gut animal way to photographs and being more aware of why this is happening and why these things are moving you in a certain way. And of course then being able to channel that into your own photography. And that's a fantastic skill really that is so worthwhile in developing. I believe that there are two distinct areas in photography that we work on. There's the technical side of things. And that's a fairly, I won't say basic level but it's easy to understand. It's easy to grasp because it's quantifiable things. And then there's the more ethereal kind of thing which is how we speak visually. What language do we use when we photograph a subject? It's this second stage, this etherealness that is I believe at the heart of creating photographs. I don't want to say meaty and worthwhile because that's certainly not the case. But photographs have some sort of substance to them that hold our attention for a little while. I'm reminded about a interview that I listened to recently with a writer who said that the big problem or a problem that is made when people talk about great writers is that they confuse the tools so the words that people use with being a great writer that a great writer must use floral language. They must use highfalutin words that sweep us majestically across the page. When the real thing that makes a great writer is because they have something to say. And this is very similar in photography. You can be a technically amazing photographer. You can build this technical photography in the entire world. But if you don't have anything to say with your photographs, then as far as I'm concerned they're going to start lacking any sort of real impact. They're gonna lack some sort of gravitas. And that's not to say that all photographs should be important and that they should be worthy photographs because that of course isn't the case. But if you do want to explore that side of things if you want that to be your photography to have a message to convey at least a feeling to evoke a feeling in somebody who's looking at it then I think it's crucial that you spend time going and revisiting the photographs that you saw when you were a younger photographer or new photographer that didn't really have any impact on you, that didn't give you inspiration in the way that you've felt that they could because you didn't have the tools, you didn't have the visual skillset to really pick apart and to see how that photograph moved you. And this is kind of what I think so few photographers ever really do is to revisit with new eyes, with eyes that are now more mature and look at the photographs. Really look at them, look at their own photographs. Look at photographs that are famous but I think crucially go back and look at your own photographs because within that, that's you, that's your voice in there and I want you to be able to tease it out. See now that you know a bit more what is in that photograph? How could you've done something a little bit differently? How could you read photograph that scene now knowing what you know? This is gonna be the best way for you to learn to improve your photography because you are essentially teaching yourself and we all know that the best way to learn something is to teach it. Creating websites used to be such a chore, you needed to know so much, coding, name servers, all that sort of thing but these days, Squarespace have got you back. With Squarespace, which I use for my own studio website and the new photographic eyesight, it is so simple to create your own designer, modern, friendly, easy to use website. Everything is set out in a clear visual way so you don't need to know any of the coding. All you need to do is just click a few buttons and you've added your own photo gallery. No need to worry about how it will look on different devices because Squarespace has their own built in way of making sure that your photographs look great no matter who is looking at them on what device.  If you run a camera club, you can set up a members only area in your website. Again, no specialist coding needed, it's there, it's done for you. I mean, what could be simpler? Why struggle with old outdated websites that go sluggish and slow? Head over to Squarespace for your free 14 day trial. Just use the link in the description box and when you're ready to go live with your website you will save 10% off your first purchase of website or domain. Books are a wonderful resource to improve our photography and there's things like this. This is a textbook called The History of Photography and it is one of my old student books. You can see it's quite well-thumbed. Now that's a great resource but it is academic and again it's talking about these things like the ideas of the deep academic ideas. So one of the things that I love to do to find inspiration from unknown sources and to be able to explore photographs without any of that baggage is to go on to Amazon and go and list all the monographs from cheapest first so you find all the stuff that people are trying to get rid of because it didn't sell for whatever and yes, there's a lot of dross in there to be said but occasionally you get books like this. You know, this is a book called Vista and it's by Andy Earle as photographer and it's wonderful. It's some music photography and it's some pictures of chickens with motion blur and it is just a wonderful way of discovering photography that's new to you. Of course you don't have to just go on to Amazon. You can of course go to book fairs, to secondhand bookstores. I found some amazing books about photography and also sort of monographs for basically nothing. So keep your eyes open. If a photograph just kind of for whatever reason just grabs you. I just bought this on the strength of the cover alone. Then buy it, you know, you're not gonna come out short especially when it's only a few pounds.  Revisit these things with fresh eyes and see what you can now find. If you want to improve how you speak through your photographs then click on this video here. It's an excellent resource to get you starting to learn the language of photography. So your photographs are gonna have far more impact and more meaning for the viewer.