Thank you so much And thanks for coming along. It's very nice to see all of you as he said My name is Robin Ericsson and I like a lot of people around this conference. It seems I'm quite interested in async IO and That's what I'm going to be talking about today. You've maybe been to some of the other async IO talks this morning In my mind, they were a little bit kind of theoretical, but I'm here to try to represent the more practical side of things So yeah, you know, just trying to use this thing and make it work So the first thing that I want to do today is to you know Get a feeling of how many people in the audience have have toyed around with async IO in Python shows of hands We definitely are in a Python conference. That's for sure The more interesting question in my mind, however, is the following how many of you have created actual mission critical systems in Python using async IO and cannot, you know, deploy them to production It's still quite a lot but yeah Still very less than the number of people that have toyed around with async IO and this seems to be the case everywhere Where I ask this question Most Pythonistas have played around with the thing, but they it hasn't really made its way into their production systems for one reason or another And this is despite the numerous blog posts and articles and all of this stuff that details how massively async IO libraries outperform their kind of synchronous counterparts, but also like their asynchronous alternatives So why aren't everyone using async IO in production when it's so obviously all rainbows and unicorns? And there are definitely a number of reasons for this I'm just quickly gonna go through like some of my personal favorites First of all asynchronous programming is it's very different. It requires a very different mental model of how to do programming Takes some time to adjust to Secondly, the async IO feature in Python is it's relatively new to the language And by that I mean async IO I don't mean like tornado and all of that kind of stuff because that dates back to 2002 like to But on programmers a little bit kind of reluctant to new shiny things when it comes to their production systems It's kind of interesting because at the same time we are very much drawn to new shiny things. So it's a very thin line So third to convert on already existing Python application to async IO is non-trivial it takes efforts Fourth due to the lack of native support in the language in the past to do asynchronous programming the community has come up with solutions to this and They've come up with the libraries like event led tornado twisted all of the stuff And many of these libraries are widely used and they just work and people cannot just you know stick with them. So Last probably most importantly asynchronous programming is not always the solution to your problems Now it's so happens that I do have some experience with migrating actual in production Python codebases to use async IO And even though async IO is by no means perfect my path like my experience thus far has been quite positive And that's kind of why I'm here today a little bit to spread the word So my talk today is split roughly into three parts the first part in the first part I'm going to be discussing discussing what led me to commit a lot of time and effort, you know into migrating Software that was already working in production to use async IO Then I'm going to talk about some of the roadblocks that I hate during this time And you know some of the caveats that you might want to be aware of if you want to do the same thing last I want to talk about some of the benefits of this work and You know try to back this up with some empirical data I should probably also mention what this talk is not about Just so we're on the same page. It's actually not a lot of things But mainly it's not an introduction into async IO and how it works So yeah, you're gonna have to look that up somewhere else But even though you have absolutely no knowledge of it at all Don't worry. I'm hoping this talk might at least kind of trigger you to explore the subject further um interesting So why would you want to bother with async IO? Sorry, I'm just not gonna touch this thing So your software already works, right? To understand where I'm coming from personally We're gonna need to explore my background a little bit just a teeny tiny little bit so in my past I worked for a company that Was obsessed with using Node.js for everything Admittedly I was kind of one of the people in charge so I cannot really free myself from that But despite Node.js is and JavaScript's Mootable pain points These technologies still taught me how useful asynchronous programming can be and how efficient it can be Especially when your applications are just mostly IO bound By the end of my tenure at this company I had gotten used to like writing everything even what would be very simple sequential scripts in Python in an asynchronous fashion So when I joined my current employer a company called Smarkets I had to I had kind of to get a new like used to a new reality Smarkets is a company that relies heavily on a microservices microservices based architecture and most of these services are Coincidentally written in Python so initially when I started looking into how these microservices were structured and And how they were coated all I could see was just plain old blocking Python codes To be honest, I wasn't too impressed Especially coming from my awesome asynchronous background So at this point in time I started thinking like how are they scaling these things? Because some of these microservices were taking on some serious serious traffic So after a bit of research, I noticed that most of these services were scaled out in a fairly classical pythonic way its service was running in multiple instances application instances and its instance was a goonie corn server that had you know multiple workers So scaling out was a matter of adding new application instances or adding new workers or both So because our microservices are very IO bound It was kind of apparent to me that all of these workers on the end were just going to be stuck waiting on IO the whole time I was just thinking like what a waste And after thinking about this for a while, I noticed that a big part of the services depended on a packets That was somewhere deep down doing this thing here Probably some of you know this thing David actually touched upon this in the keynote this morning but Obviously my Node.js acclimated mind did not realize immediately what this did but after some research I figured out that this actually patches the standard library So you're previously kind of blocking cold will magically be doing asynchronous things behind the scenes cool So before I think IO came along this was apparently one of the kind of standard ways of achieving concurrency in Python In my mind, this is problematic in Multiple ways mostly because this is kind of hidden away from the developer It's quite magical and it's hard to reason about as well Also like many developers on my team and in the company We're not making use of event less multiple concurrency primitives because they didn't even know this was happening somewhere in their kind of software So the moral of the story is that async IO itself and the kind of async slash await keywords make this way more explicit and Someone told me that explicit is better than implicit I should probably know that I have absolutely nothing against event let in general Quite the opposite I find it fascinating that they were able to create something that works so well that I didn't notice it for you Months that it was kind of happy like doing asynchronous stuff behind the scenes But now that we do have async IO. I think we should kind of start using that So yeah to summarize a little bit. There are multiple ways in which we can achieve concurrency in Python, but in my mind Async IO is the obvious way to go because it's explicit and it's a part of the language It's also supposedly quite performant, but we will get back to that later on So assuming that async IO is indeed the future and that we want to kind of You know Make our new projects use it or migrate our existing projects to use it What issues are we going to run into and how simple is it? I've already mentioned. It's actually not super simple But it's definitely getting better. It's getting way simpler than it was Not that long ago when I was taking a look at async IO in Python for the first time I noticed that people were relying quite heavily on Monkey patching again their dependencies just to make them work with their async IO codes For anyone that's serious about their code base and like serious about the reliability of their system That's probably not a great idea But since then for the kind of past, you know a couple of months maybe up to a year It seems like the async IO ecosystem in Python has grown and matured rapidly We now have loads of mature web frameworks Loads of mature kind of database drivers and just a lot of libraries for a lot of stuff and yeah It's it's it's getting quite good So I kind of feel now like it's getting to the point where library authors should no longer be ignoring async IO And instead kind of defaulting to it Now because I'm a very practical person as I spoke about earlier I think the best way to describe how you should go about migrating a Python project to async IO is simply to describe the process that I went through recently when I Moved one of our kind of in production microservices to use async IO Having done this before I knew that the first thing I'd need to do was to kind of map out the dependencies of the service and research if there would exist async IO compatible versions of the dependencies and Also, since this was a microservice that exposed like a restful API Obviously, I had to figure out which kind of web framework to use always a classical problem And when researching these kind of async IO web frameworks that we have now I was pleasantly surprised to see the kind of wide variety of web frameworks that we have access to This slide just shows a few example of those And all of these are kind of specifically targeted towards async IO Some of them aim to be flask like some of them aim to be fast some of them aim to have good web socket support and some of them Aim to be compatible not only with flasks public API, but also its private API In such a way that yours like now you're basically supposed to be able to do a find and replace or flask to quartz And you just sprinkle a few kind of async await keywords around and it just should work. I Haven't tried it out, but I don't know a colleague of mine Phil actually wrote this framework. So Yeah, it probably works. He's a good guy This can be obviously this can be very useful if you are migrating a large kind of flask application to async IO And you just want to get up to speed quickly Now I didn't care that much about API compatibility with flask So I decided to go with another web framework, which is called a IO HTP Simply because it's known to be mature Sputtle test it and I don't want to take my chances with new shiny stuff like quartz But even though the a IO HTP API is a little bit different from flask the flask API. We all know and love migrating to it was super simple and In fact, I kind of felt a little bit kind of relieved to be rid of the global request object that I've always found a little bit odd That just mean Anyway, the same can be said about the migration from Psycho PG2 Which is the old database driver that we used for postgres to async PG which is the new de facto awesome Postgres database driver for async IO Except for the desperate lack of named parameters if the developers are in the room I was a little bit worried that migrating sentry the error tracking software that we use would be problematic and After searching the internet for a little bit I found some packets on GitHub that was supposed to be you know an integration between sentry and IO HTP couldn't really make it work So I figured I just I was just gonna be simpler for me to do this myself So I had already worked with middle-wares in a IO HTP and I knew I could easily implement something like this as middle We're and literally five minutes later. This is what I have Very typical middle where just runs the request handler race and if the request handle raises an uncaught Exception my sentry middleware will will capture the exception fire it off to sentry and then just raise again Super simple. So obviously this also makes use of the fact that The Python sentry client library also has support for a IO HTP as a transport. So so far so good Unfortunately, my migration was not completely without issues One of the features of my microservice prior to my migration was that its API was built and defined in swagger And it had some kind of fancy swagger UI thing on top of it. So you could kind of interact with the API. It's really cool Anyway, this support came through a library, which is called connection probably some of you know it and after researching connection for a little bit I I I It looked like it would support using a IO HTP as a back end But then I kind of tried it out and it didn't really work and the documentation was kind of non-existent So what I probably should have done at this point in time was just to fix the connection library and the documentation But so my to-do list no worries Yeah, instead I just dropped the swagger thing So up until this point, I've been talking about async IO like it's the perfect piece of software and it's not Yeah, that's just it's absolutely not There are quite a few things you might want to be aware of before starting to use async IO and I'm just gonna mention some of the issues that I've personally experienced Yuri spoke about more issues earlier and Yeah, and I think someone is talking even more about issues tomorrow in another talk So plenty of that first while async IO is conceptually simple in Python There is a steep learning curve to understand the whole beast We're talking about event loops event loop policies avatables coroutines generators futures tasks Executors transports protocols, etc. Etc. Etc. Etc So if you're migrating a large important code base to you know use async IO You'd ideally want to understand most of these and kind of how they enter play So yeah, this takes time another issue that many developers that try out async IO mentioned is As soon as you start developing Like migrating your Python code base to use async IO your code base is gonna be littered with async and the wait everywhere To me like yeah, I can't experience this but to me. This is like this is not a huge deal This is just the cost of explicitness and I'm gonna welcome that An issue that definitely did hit me personally was the fact that sometimes the async IO stack would just You know make my debugging live a little bit too difficult By kind of swallowing my exceptions and I had like no idea what was going on but this is definitely getting better every day and This is something that Yuri the one of the Python core committers around async IO spoke about earlier as well So I'm very happy to hear that Now accidentally running synchronous code that waits for IO inside of your asynchronous functions yet another source of issues Here what I can tell you is like it's very simple to monitor the event loop It's basically just about figuring out which tasks on the event loop take longer than x milliseconds and If some tasks are doing that this might be a sign that it's actually doing some IO or some kind of blocking IO Inside of the async functions. So yeah, as I mentioned, this is just some of the examples So to summarize if you plan on migrating large Project to async IO or you know create a project from scratch the most important thing I can tell you is just you know do the research first map out your dependencies see if there exist async IO compatible versions of them and You know if they exist actually make sure that they work and you know check them out like that's very useful What's out for something gotchas and yeah profit So you've migrated all of your projects to async IO. Was it worth it? Are you any better off? Let's see how it went for me I'm gonna start out by taking a look at that kind of before after Evaluation of a microser the microservice that I spoke about earlier I've already mentioned the initial version of it had you know flask to declare an API that's Psycho peachy to to communicate with the Postgres database a lot of other stuff that matters less Also utilized event led to make everything asynchronous behind the scenes. So in theory, it should have been quite efficient We've also gone through how the after version of this microservice looked like a IO STP as a web framework async peachy as a postgres database driver and To run the event loop itself. We used the python implementation of the UV loop, which is apparently very fast And this is kind of our experimental setup quite standard We used the work project or WRK to perform STP benchmarking of both versions of the service We ran each configuration of the benchmark for 30 seconds 10 times using a variable number of connections And noted the median 25th percentile and 75th percentile in terms of throughput request per second For all of the 10 runs, we also had some delay between the runs just to kind of allow the server and client to settle and On this slide, you can see this throughput comparison Of the microservice running in quite a basic configuration with only one guñicon worker and just on my machine So just in development We then use this work thing the benchmarking tool to test the throughput of both versions On a very simple just ping route that doesn't really do anything interesting. It kind of just returns the string Pong And we use this quite a lot in our microservices just to do health checking like are you alive? And as you can see the results here are quite conclusive like the async IO version of the microservice That is the yellow line is able to handle on our like on average fourteen hundred records per second While the event led version is able to handle somewhere around six hundred and fifty So in this case the performance increase is somewhere around two-fold Here we can see another benchmark that we did which is on a route that actually does things It does, you know some interesting database accesses And then kind of returns the results of the the database access and some transformations and in this Experiment it seems like the before the event led version is able to handle somewhere around two hundred to three hundred records per second While the async IO version the yellow line again Seems to be able to handle somewhere around eight hundred to one thousand now the most interesting one is probably this one This is an actual Bandsmark on the microservice both of them in production both before and after the migration and In this particular experiment the number of guinicon workers were just set to three And we only run the bands marks on one application instance Usually we have more application instances in production But testing all of them in conjunction is kind of besides the point here because they are supposed to be able to scale Linearly if the load balancer that you're using is okay So as you can see Here the before version the event led version of the microservice Performs, okay, like it's we're handling one like one thousand and three hundred records per second quite consistently While the async IO version Confusingly the green line In this graph is able to handle around seven thousand records per second And this is more than a five-fold increase in throughput So this kind of means that we can just get rid of like 80% of the like application instances that we have in production Which is quite nice because we save a lot of money So just to conclude the whole thing is async IO worth the efforts We finally have explicit native support in python to do asynchronous programming That is kind of slowly but surely becoming the de facto standard in the community And kind of replacing other concurrency libraries and as we just saw the performance the Performance of icing IO is quite good. It's very positive results and these mirror what I have seen on the web So all in all yes, I think it's definitely worth it. Go check it out if you have not Thank you Hey I Have yes, I was doing some like I was using some stuff in our code That was apparently doing some very interesting requests like using the request libraries somewhere it kind of deep down I Didn't really understand why it was doing it But yes, I experienced this problem and it's completely terrible Very hard to figure out in this case Well, like this is basically an issue that like it didn't take a long time for me to figure out why this was because I Saw that some requests were just taking too long and we were basically Everything was being held up because of this one request that was doing like this thing So it was pretty simple for me to do it I basically just found the code and I just literally threw it out. It wasn't necessary So I replaced it. So that was my solution like another solution would have been to actually start using the AI OSTP client instead of the request library Then everything probably like It would have been able to make this work Yeah So I might need like just yes or no piece of advice So what what do you think about like run async I own then run like thousand Processes and waiting in the queue in the main thread to just pick them up Wait, so running thousand processes. It's with like an east async event loop or yeah Like everything's there like we are waiting for the tasks Yeah Like they're in the meantime You're just waiting in the loop in on the queue and they're just the process are writing inside Does that make sense? I I'm not sure I understand but Using processes for the Using actual like operating system processes. Oh, yeah, I see sending a request to a Website like running something I think there's probably a lot of overhead in that to be honest Like a lot of overhead compared to what async IO gives us which is very lightweight Kind of you know just like some kind of task queue. It's running the queue If you you have to maintain all of these processes and the operating system has to switch between them correctly So I think there would probably be a lot of overhead in there Yeah, we can discuss the point I Have complexity like transports No, I don't I don't but like I feel like I need to I'd be like like I have never done anything with transports or protocols But given that I'm writing an actual, you know in production very important microservice I feel like I need to be on top of what this stuff is doing No, I'm not saying that absolutely not I'm just I'm just saying I should probably know what these kind of basic building blocks that are behind async IO I should know what they do But no, I haven't used them and Yuri actually talked like talked about this earlier Like I'm not supposed to be able now. I'm not supposed to need to know what these things are So maybe I should just take his word Maybe I Have not no, but I still feel like I need to know it Well, yeah, yeah, so basically the API is no longer defined in swagger and we don't have this swagger UI for this particular microservice I have not So that exists. Yes. Oh, that's very good to know. That's very good to know. Thank you learning a lot today So How should I put it like The code that I'm working with The company that I'm working for it doesn't use ORMs a lot and definitely the projects that I have been using they don't so If you are yes, you probably that's like this is one of the research things that you would need to do if you Want to migrate a project that you're using on an ORM You're gonna need to figure out if there is some support for ORMs somewhere else I I don't know the answer like I I we don't really use ORMs We just use, you know, like SQL queries directly. So, yeah research it some of the shortcomings of as in go should be problems with cancellation timeouts and Back pressure. Yeah, you run into any of these problems. Yeah, like I probably run into some of these But like these are not things that I'm dealing with a lot these services that like for example, this service not complex It's not it doesn't have to deal with a lot of timeouts and stuff like that so No, I haven't really run into a lot of these. No Norris, let's give our speaker one round of applause


A French national believed to be a mercenary was arrested in the Central African Republic with a large amount of weapons and ammunition. The ammunition was found at the home of Yuan Ramey Quinolote, a former French soldier who has lived in the capital of England for several years. Police reports say Quinolote's one stringed fighters of the former Segalcar coalition. But now he represents, presents himself as a consultant journalist in Bangui according to Eric Didier-Thombeau, the attorney general of the Bangui Court of Appeal. 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.


Hi everyone, Joe for Jaspy's Case, Brakes.com coming at you with 2020 Panini Plates and Patches Football. 12 box. Pick your team number six. We finally got this knocked out. Straight up too. No fillers. No number blocks. Nothing like that. There you go. Thanks everyone for making this happen on a Friday night, watching a little college basketball. I'm breaking some breaks together. Thank you. There it is. That's our FedEx label right here. I don't want to reveal where we get our treasures, our secret distributors, and suppliers. We've got six on the left side, six on the right side, and we've got five cards per box, one autograph, one memorabilia card, and one printing plate per box, on average. I think there's two things on the bottom and then the hit. All right. There you go. Now there's a plate per box. There you go. Cooper Cup for the Rams, Simon. We've got a little mini train whistle there because they're so common here. We've got Legends Relic, Phil Sims to 35. We've got Kishan. Okay. Kishan Vaughn's going to reveal a Joe Burrow dual relic. Nice. 11 out of 50. Double coverage. Oh yeah. I remember this year that they redesigned the surface of plates and patches. I think it looks a lot nicer before I think it was maybe a flatter finish. Bangles. That's going to go to Jay Goins and we've got a Kyle Rudolph, 17 out of 75. Kyle Rudolph, the red-nosed reindeer, going to Jarrett and the Minnesota Vikings. And Super Bowl champ Kishan Vaughn for Jay and the Buccaneers. That's to 75 right there. Right. We've got Ezekiel Elliott. What is this from? This is from Certified, Stat Smashers, Ezekiel Elliott, Damien, all aboard the Big Head Express. We've got Tony Gonzalez, 55 out of 60 for Kansas City. That's going to go to Demetrios and there's Alex Smith. Where does Alex Smith end up? There's John Elwet, Canton Cloth, 55 out of 75. The surface of his jersey going to Greg and the Broncos. I do like that old Bronco logo though. Behind Alex Smith is, there you go, my Raiders, Darrell LaMonica, 11 out of 75. Highly revered auto. Who's got my Raiders? It's going to be Robert Thacker. Raiders. Where does he go? He's a free agent. Alex Smith might, could make a good starter somewhere. Definitely a great backup. Is he on Jacksonville now? Oh. I was going to say, you know, like a team that could use him would be a team that maybe drafts a young quarterback. Maybe want them to marinate a little bit. There's Daniel Jones from Obsidian. New York football giant Scott, all aboard the Big Head Express. Steve Young to 25. That's for the Niners. That's going to go to Raphael. Beyond Cam Acres is a full coverage. J.K. Dobbin. Just kidding, Dobbin, 28 out of 80. Brandon Richards and Baltimore. Cam Acres reveals another Raven. This time it's Patrick Queen, 49 out of 50. Cam Acres to 75 right there as well for the Rams. Simon. Ah, talking to, not signed just yet for Alex Smith. That's a great photo right there. That's a catch. That is Calvin Ridley from Luminance, John, all aboard the Big Head Express. Woo-hoo. Got Chris Carson to 50. That'll be for Jeff and the Seahawks, the Hawks of the Sea. And behind Robert Woods is, is a nice, ranny moss, canton cloth. 33 out of 50. Going to Minnesota. Jared. And we've got a Michael Pittman, Jr. Double coverage, dual relic, two-color dual relic and autograph for the Blue Horseshoes. 19 out of 35 it looks like. That'll be for Ben and Indy and Appalachus. There's Robert Woods for the Ramley. That'll be for Simon. We have here, we've got Mike Alstott for the Buccaneers. It's going to go to J. Goins. J. King. All aboard the Big Head Express. Woo-hoo. And Zach Thomas, little Dolphin's linebacker to 25 for Kunihiko. And Curtis Martin will reveal a full coverage, Antonio, Gandy, Golden, 12 out of 25. That's for Serenity and the Washington football team. There you go, Serenity. Little wrinkling on the penny sleeve there. There we go. That's better. A little bit of yellow peeking up at the top. And we've got a Justin Herbert. Woo. One, two, three, is that four colors? Dual relic and autograph, one out of 35. John Stallone picked up the Charger straight up, scared money don't make money. Bam. It's got good penmanship too. Very nice. I like the lace. Right here. It's a good design. There you go. The draft's to John. There's Curtis Martin to 70 for the Jets. That's for Adam with the J-E-T-S Jets, Jets, Jets. All right. Plate is Jimmy Garoppolo from Illusion's Jimmy Garoppolo, Niners. That'll be for Raphael. All aboard the Big Head Express. Woo-hoo. Odell Beckham, Jr., nine out of, eight out of 10. Are there rumors about him being traded? Barry Roberts with Cleveland. And behind, Gardner Minchu is Chase Young, 23 out of 25. Wait, so if there are some talks about Alex Smith going to the Jaguars, where does Gardner Minchu end up? 23 out of 25. Hi, Jeff. Yes, we do ship to Canada, the Serenity with the Washington football team. And there's Lin Bowden, Jr. in his dolphin's gear. 63 out of 99. I think we might have details on international shipping in our frequently asked questions area on jaspeakcasebreaks.com. All right, Miami, Cunejico for the dolphins. And there's Minchu right there to 65 for Jarrell. But what about Minchu? Where does Minchu go then, Robert?  Baker Mayfield for Cleveland, for Barry, all aboard the Big Head Express, whoop, whoop. Got James Morgan for Adam and the Jets. Doon, doon, doon, doon. And behind, Miles Sanders is Van Jefferson.  Do you, who is this thing? Goes to Simon and the Rams. And behind, Miles Sanders is a thin auto and it's going to be Tyreek Hill. Marquis Marks, Marquis Mark, 12 out of 25. Marquis Mark and the Funky Bunch. That's going to go to Demetrios and the Chiefs. Oh, and are you saying Tennessee or are you thinking maybe Alex Smith? Goes to Tennessee as a backup? To Tannehill, perhaps? There's Miles Sanders to 70. All right, next box. We've got Devin Singletary, Chronicles Football, Buffalo. That's for John and the Bills. All aboard the Big Head Express, whoop, whoop. Tyler Johnson to 60, 12 out of 60 for the Super Bowl champ. Goes to Jay. There's the relic, it's... What time is it? Game time. That's out of 75. Ray Lewis, it's Brandon Richards. And behind Reggie Bush, Saints Edition, is Ryan Kerrigan. Nice, he is pretty highly revered. 67 out of 99. Serenity with the Washington football team. And there's Reggie Bush, Saints Edition to 70, going to Josh Cherry. All right, we've got four boxes to go. Good luck. Tine's Ward for Nick and the Steelers, Nick. All aboard the Big Head Express, whoop, whoop. Tyreek Hill, 55 out of 60. That'll be for Kansas City, that's going to go to Demetrius. Behind Cooper Cup, we got Chris Godwin. Supreme Swatches, three out of ten, nice. This piece of the, looks like the pirate ship right there. That's pretty nice. Buccaneers, Jay. Nice, that looks really sharp. All right, and the other one here behind Cooper Cup is for the Blue Horseshoes, Jonathan Taylor, double coverage, dual relic and autograph. Number to 35, looks like 11 out of 35 for Ben. And Cooper Cup is to 65. All right, another couple thicker cards right there. Good luck. The plate is DeAndre Swift for the Lions. AJ Anderson, all aboard the Big Head Express, whoop, whoop. Van Jefferson for the Rams. That's going to be out of 60. And behind LaVisca, Chennault Jr., Buffalo. Patch Trio, that looks pretty sharp too. Four color, triple relic, 36 out of 50. Zach Moss, John Stallone with the Buffalo Bills. And then we got Just Kidding Dobbins. Two color patch and autograph. 21 out of 50 for Brandon Richards. Well, Brandon Richards' parlays are going today. There you go, Brandon. There's LaVisca Chennault Jr. To 75. That'll be for the Jaguars. That's going to go to these Jacksonville. Jarrell Taylor with Jacksonville. Two more to go. The plate right here is AJ Brown for the Titans. That's going to go to Chris Parent. Chris. All aboard the Big Head Express. Whoop, whoop. There is Reggie Bush over there. Again, Keenan Allen over here to 60 for the Bolts, John. Behind Reggie Bush, we have Javon Curse. Javon Curse to 70 for the Titans. That's pretty great. And we have Lynn Bowden Jr. And the JK Dobbins, Lynn Bowden Jr. Double coverage. Going to the Dolphins. Queenie Heiko. There's Reggie Bush again. Reggie Bush ended up carving out a pretty nice career. And the last box here in Pick Your Team 6. Good luck, everybody. Appreciate everyone getting in. Let's see how we finish this off. There is Patrick Chung for the Patriots. That's going to go to Karen and her Pats. Karen. All aboard the Big Head Express. Whoop, whoop. And the last bits here. We've got Josh Allen to 25. We've got DeAndre Swift behind him. His full coverage. Anthony McFarlane Jr. 71 out of 80 for Pittsburgh. It'll be for Nick Tee with that one. There you go, Nick. And the last one looks like another... Is that Steelers' colors again? It is. It's Chase Claypool. Three-color jersey and autograph. He gets his teammate, Juju Smith-Schuster back. 35 out of 99. Looks like they're keeping the band together. Nice finish for Nick and the Steelers. There you go, everybody. I'm Joe for JaspeysCaseBrakes.com. Thanks for watching. Thanks for breaking with us. I'll see you next time for the next break. Bye-bye.


Well, good evening and welcome to the University of Bradford Stadium as Don Caster made the trip from South Yorkshire to West Yorkshire to take on a huge native Bradford. For the home side, coming to this one, I look for practice at the Saturdays game here in Mick's Counties. I look for a lot of pitch to the crowd tonight, though they make a couple of changes in the side. The last player I'm going to meet today can be John White. Don Caster made just the one change tonight as we look for Mollinu next to Irving. There's also a staff for me. Recently, he's been unable to keep up with the fixture congestion. He's at Bristol Street, Lotus football has been playing here for the last couple of months. He's reaching the rain for the nice and the snow. Don Caster have come forward here, but there's some very obvious shape pulling going on. And it's a very yellow card, and I think it's about that. David Coon was the man who was running at the heart of the defence. David Coon right-footed, good effort. He's still alive in the mix. It goes and it's a flex wide for a corner. It was a decent opportunity. Joe Ironside had to be. It's always him who's in there for Don Caster. I'm thinking David Coon must improvise. I think he'll get his own man, actually, but somehow, it's working. He's got his white and blue shirt on the inside. I hope he's holding his hands partially away. Still alive. There's Nick Donald. He's progressed centuries up. That's an opportunity on the left-hand side. And it's a good turn of pace. Kelly left-footed, crosses it into the box. It's Topo Goldwoods and wide of the target. Tied it right. The man on the end of it. There's great link-up play out wide here. Put it across below. Foot or so. Opportunity. Tied it right. Those are begging. He surfers as it pokes out wide for James Maxwell. They find his footing. In fact, he's given away the ball and you don't want to give it away to Andy Cook as he burrs down on goal. Bradford, is this the opportunity? He pokes it towards Gold. He couldn't really generate any power out of that. He's going to stop him from his feet. Totala, great foot on the surface. It won't be the first time or the last time as it's played through here. And is this the opportunity for Doncaster? Yes, it is! Luke Molyneux opens the scoring at Valley Parade. And Doncaster leads in West Yorkshire. Well, the goalkeeper slipped as he took his goal kick. The ironic change from the home support soon turned into groans because they're 1-0 down. Perfectly slid through ball. Molyneux. I think the most of the Bradford back line being all over the place. It's all Yorkshire Derby. It's the side from South Yorkshire who leads. The counter could be on. He's right. Plays it through to Cook. Towards the corner of the penalty area. He has to cut inside. He's still alive. Arriving his holiday and the shot spins up and behind for a corner. For a moment there. That was flying into the top corner. Cook got in his way. Footed from range. Straight at the goalkeeper in the end. Goal to it. Holiday finds himself in a central position. On the corner from McDonald. That's a good ball. They want a handball. Right plays on and he fizzes it across the face of goal. That's a good save. Down low from low to Tarla. Still alive over Bradford. Doncaster. They're really very sure of themselves at the back. Half cleared. And now properly cleared away. And even the counter charges. The shot comes in from the half line. And that is got to miss, if you have to say. They'll try though. Down the ball though. And it's scruffy. On a very scruffy pitch. There's a heavy coming together there. And Kalan Kavana without the booking here. Now it's out wide. Mollin New. The goal scorer. Left footed. It's a deep looping cross. Oh it's a great ball in. And nobody can get on the end of it. The iron side might have got the slightest of touches. They just couldn't kind it towards goal. So close. They just can't get towards the ball. What a turn that is. And Medele Kuhn as the shot comes in. And it probably is. And then the running surface. Coming out of time here. Even though silly free kicks like that. Certainly won't. There are the options. Mollin New. Right footed across. And the volley from range. Oh great save. Sam Walker. On his toes. To the nine James Maxwell. A wonderfully controlled ball. You have to say that. On the up bounce as well. Look at that. Shindy actually. Six yard box ball controlled though. And there's the nod on. He falls down. Harrison Chapman's path. And running out of time here. Clark Adore goes down. So foul. Medele Kuhn taking quickly. Chapman. Now there's players down the left hand side. The opportunity now for Brad. As the ball is floated in. There's the header. From Andy Cook. And then it is straight. And it goes to Tyler. And he had to generate all the power in. Straight with himself. Well waited. Cross into the box. And Richards. But as ever. He's the first ball. Doesn't get the second one. Gives it away. Adore manages to win that one. Just about. Right footed. Switches the play. Lewis Richards. Harrison Chapman. Gets away from his man. Left footed low cross. Oh, and there's the finish. Tyler Smith. Turns it in. And rescues it. For Bradford City. Well, there'll be questions asked. Of the goalkeeper. Loti Tyler. I think he thought it was going over the crossbar. Well done Chapman. Down the line. And Smith arrived in. Brilliant win play. It was six minutes to go. It's Bradford. Who equalised? One-one. There's no time. In this game. Bradford. In the reverse fixture. There's no time for a winner. And this is as it goes. Sort of goalwards. But there won't be another opportunity. Because the referee. Has blown. For full time. And on both sides. We're going to have to set off for a point. In the mud. And the serve was a boggy element. To tonight's game. And as it finishes the level. Bradford save it in the end. Smith. And the late, late equaliser. As it finishes here. And then all Yorkshire Derby. Madagascar City War. Doncaster. England's War.


Hello everybody and welcome back to the average today We are looking at watercolor sets from two different places from a small business and from Ali Express Now I know Ali Express is not really like a mainstream massive company But I do think that they pull out like a lot of knockoff things and stuff like that So I want to compare buying something from Ali Express And then something from a small business and seeing like the difference in quality and things like that So this is from a small business Artemis paint shops and it comes in this beautiful like little bow and this really nice tin And this is the watercolors that I got from Ali Express The actual packaging doesn't look as nice as it did in the image when I first picked it out And I'm not sure if maybe this is like a knockoff of something that looks nicer It from the actual product shop. I couldn't really find that out. So I'm Guessing that this is a knockoff, but it might not be it comes in this like little baggie and then inside is like a set I'm gonna open up the Artemis paint studios first and then we'll get into this one This is the small business one And we're just gonna check out like the packaging and everything first before we try them out So this is what it looks like it comes with this little slip and then it has this really nice like painted design And it comes in this little tin, which is very nice and yeah, so it's quite interesting in that sense We're gonna open it up And it's very cute. It has these different paints. I will say that I've had this for a while and haven't opened it So maybe some things have come through like the color on this So it comes with the set of these different colors and it comes with a little pipette so you can make Sure that they're nice and wet when you want to apply the paint because I think they need to soak a little bit And then it comes with like this sheet where you can test them out. Let's just like open a couple of these pans and see What the colors are like? So this is the first pan And it's kind of got this sparkly tint to it So I think these are a bit sparkly Which is super cute and then you can also like add more pans These have a magnetic bottom so they stick to the tin Which is super cute and Quite like that so you can always buy like more pans as well online at the shop and just add to your Collection and add more and like make your own one. Here is like a magnetic kind of blue. I Like the look of that Let's just open them all up and see what they look like Okay, these are all the colors and you can see some of them are a little bit cracked But that's only because I think I've had these for a while and haven't used them So if I had wet these they wouldn't be that cracked and I think like now when I wet them They wouldn't look that bad They all have like the name on the side, which is really cool as well Like it just has a little label there so in case you forget what color is what I'm interested to see what these colors Look like when we actually test them out because I have a feeling that they're gonna look quite different to what they look in the pan so that is the Artemis paint studio they're on Etsy I will link down in the description where I got each of these paints I will say it did take a while for these to arrive, but I think only because at the time it was First when we went into lockdown and I think there was a whole issue with like posting stuff So I don't actually blame like the company and stuff So these are the ones that I got from Aliexpress I will say that this took a long time to arrive as well It probably took like a few a couple of months And I also audited it with a load of other things and half of those things didn't arrive and Aliexpress still charge me And I think that this is a knockoff from an original painting. So I'm not gonna link the Aliexpress Link in the description. I'm just gonna try and find maybe the paints the original ones and link them if not, sorry But I don't really feel good about like sharing Aliexpress stuff. So I Don't know. It's kind of like at your own discretion to shop from there I haven't done it since I got these and I've never used these so I just wanted to see like the difference between This and a small business. So let's see It obviously comes with this cover which feels quite nice and the writing on the front looks a bit distorted It looks a little bit nicer in the picture and it comes with this set. So it says 36 colors keep smiling Keep smiling art of what? I don't know what that says Keep smiling is the art of leering Okay, right it comes with this postcard and I think This is the company that it comes from Keep smiling must be the company and it here are the pans of color. They look very chalky But let's see, you know, maybe once we try them, they won't be so bad It does come with a set of a pencil a brush and a watercolor brush and a sharpener These do look very crappy It comes with these watercolor papers which look quite nice though. So that's kind of a nice thing It is a complete set.  Obviously you get more Colors, but are they better? Are they worse? So we're gonna find out here is a little brush and it does say keep smiling again it's the art of leering and It does feel kind of okay. Let's get into Painting with these things and yeah, so these are the two comparisons and Obviously, it looks like you get more bang for your buck for this big purchase That is all a complete set, but I think that in the end these will be the winners, but let's see First of all, I'm gonna use the little pipette to like water these it's quite satisfying to do this These are the final results. I think that They look kind of good like the AliExpress one looks okay But then when you kind of zoom in on it, you see how chalky it is and kind of How difficult it was to work with they were okay They did the job and I think they're really good for like a beginner or somebody who just wants to try test out something not necessarily Want to use them too much, you know So even that like I think a beginner might like appreciate a better quality of paint as you can see here, this was the The homemade paints by Artemis paints and I think they were really nice I think I did find it a little bit difficult to work with them in some sense because it took a while to dry But I think that's just because they're like homemade, but as you can see they've got like a really nice Shimmer to them and I think they look really good. So as you can see the two comparisons, there's no contest really obviously the Small business wins out on this one I think even with price and everything involved if you want a quality paint and you know It's coming from someone that loves what they do then obviously you need to go with a small business route And I think it's really good to support small businesses. So there you go I think these paints are really nice and I'm gonna use them again These ones I might give to a niece or something and pass them on because I probably won't use them again I haven't really tested out the other things, but I think it's kind of a nice set to give to a beginner So there we go. Thanks for watching guys. Please like and subscribe I really appreciate it really helps out the channel if you're interested I do have a patron down below also and I'd just like to thank my patrons. They are Devon Ace Tobolom, Jacqueline, Steph, Eva, Lucille, Erica, Miguel, Tim, Charlotte and Alex Thanks so much guys for your support. It means the world to me. Thank you. Bye


Hearing from all the people that have helped me use my platform to impact other people's lives and hear how much they appreciate it. It was very powerful, obviously emotional. For us it's a space that we've created to where these patients and their families have an opportunity to escape the real reason why they're at the hospital and we've heard some so many patients and families say that while they're in the end zone they don't feel like they're at the hospital. Obviously we don't do what we do to win an award but when you look at the past winners of that award and how prestigious the award is you know you would be a part of an incredible fraternity of really really good men.


For joining this call, this is our community meeting for the. Upcoming intersection improvement projects at the intersections of Brian Irvin and Oakmont and Oakmont Boulevard in here is per going. So, just a few notes, if you can please mute yourselves just so that we don't get an echo and this meeting will be recorded. So, again, this is the community meeting for the intersection improvements at Oakmont Boulevard and Brian Irvin road and with at Oakmont Boulevard and Harris Parkway. These are in council districts 3 and 6. My name is Fanta Kaba. I am the city of Fort Worth project manager and the project engineers are with Portugal coach consulting engineers. Are there any representatives from council districts 3 or 6 on the call? Hi, yes, I'm Carmen. I'm the constituent services director for council member Williams, representing district 6. Good evening. Thank you for joining us. Is there anything you would like to say before we get started? Not at the moment, but I'm so happy everybody could make it on the call. And we're glad to have you. Thank you our agenda for tonight. We're going to go over the project background. We'll give a project update. We'll give update on the project schedule. And then we will give the project contact information as well. So, the objectives of this project include improving efficiency of traffic flow at both intersections during peak hours, reducing delays and improving overall safety for all users. We're also planning to improve the pedestrian safety at Brian Irvin and Oakmont Boulevard through new directional ramps, striping in addition of pedestrian refuge islands. And also to improve traffic flow at both intersections, their left turn lane additions, signal timing revisions and modified lane assignments. This project is funded by the 2022 bond and then further on the background. So Oakmont Boulevard respond traffic at Brian Irvin road that has consistent backup to Harris Parkway during AM and PM peak hours. Oakmont Boulevard respond traffic trying to enter Harris hospital via left turn lane consistently has backed up for several hundred feet during AM peak hours. Harris Parkway northbound traffic leaving the Harris hospital has backups during PM hours. Eastbound traffic on Oakmont Boulevard and Harris Parkway that occasionally backs up all the way to Brian Irvin road, which then blocks the turning in through traffic. Currently, as the intersection is timed, Brian Irvin and Harris Parkway, those signals are not for native and then here's the project location. So we are East. We're a rest of Chisholm Terrell Parkway and south of 20 and then on this screen right now. We're showing the preliminary design of the Brian Irvin road at Oakmont Boulevard intersection. So these are the proposed improvements and then on the screen now we're showing the proposed improvements for the Harris Parkway at Oakmont Boulevard. So I know we have a few calling users again. If you don't mind putting your email or reaching out to me by email, that would be great. I will make sure to send this presentation over to you. And then we'll send the recording as well so that you can see these exhibits. And I'm also putting my email fans to help you out in the chat for those who are on and just need, if they need to jump off on the slides. Thank you, Laura. So, and the leading up to this meeting, we did get some feedback and we did make sure to incorporate those into this presentation and just provide updates in those regards. So, the 1st was in regards to the signal at Brian Irvin in Oakmont. So there is concerns about the east bound vehicular traffic going across this intersection. And so, as part of this project, the lanes will the alignment will be updated and as well, we will have updated pavement markings. So hopefully that will serve as a guide for vehicles traveling and that will reduce the. That will provide more guidance as opposed to how the intersection is operating today. And then also at Brian Irvin in Oakmont, there was a request for bike lanes along Brian Irvin road. The scope of this project does not include bike lanes. However, we have submitted, we have that transportation management know that there is a request for back lanes along Brian Irvin road. And then further in this presentation, we'll have a slide on how you all can submit service requests, whether for this project, or any project, or anything you wish to see throughout the city. So that would be a great tool as well. She's got a camera turn. Who is she? I don't know and then the last. Um, like that we received less in regards to the Oakmont Boulevard and Harris Parkway. There was a request for a designated eastbound right turn lane onto Harris Parkway. So, as part of this project, there is a planned L. E. D. Blank outside and traffic signal timing changes that will help to alleviate these backups. So, Fanta, but before we go on to the schedule, those were some really good exhibits that we had about the proposed improvements. Could we go back to those? And could maybe you or maybe Chris sort of describe, you know, the improvements that we're proposing as part of the project, you know, what we're proposing compared to what's out there today. Chris, do you want to do that? If can you go back to those colored slides that were so good? Yeah, or or Fanta, can you? Yeah, could you just walk us through the improvements real fast? Sure, go ahead, Fanta, or do you want me to? Yes, Chris, if you can go ahead and then once we're done, when we get to the blank outs, L. E. D. sign, if you can give, like, a background on how that's going to affect the operations at the intersection, that'd be great as well. So, this is the bright urban and Oakmont intersection. The proposed improvements really are striping predominantly. And ramps and redoing the signals themselves, the major pavement improvement here. Be the addition of a additional left turn lane on Oakmont Boulevard to southbound Brian Urban. So there'll be 2, a double left there. Today, the median kind of impedes the turning movement along with there's no striping so it's not clear. Which, which lanes, I know that I've seen. From the middle line, people turn left or treated as a double left. We'll. Have clear pavement markings along with tracking across the intersection of puppy tracks. So hopefully it's clear that's a double left and then the. Medium noses are pulled back so that that left turn movement to be made, especially with some of the bigger traffic there, bigger trucks. Also on the west side of Oakmont. That'll be kind of a more refuge island for pedestrians. We're going to bolt the curve out. And only have 1 lane that way. And then opens back up to 2 lanes, but that way there's only 1 lane in the middle going that way. And then on Brian Urban itself. There'll be a refuge island, the median on the northbound side and on the southbound side that that median gets pulled and median nose gets pulled back. And we utilize the existing islands, which doesn't have any pavement in it right now. It'll have paved sidewalk. For pedestrian refuge and so. And also, I believe the traffic on the signal. For the pedestrian pole on that side doesn't work. We're fixing that with the new signals. That was great, Chris before you move on before you move on to the other intersection. Yeah, can you tell us about on the east side? The rat turn lane and how it's strived at that driveway. Well, that's actually that probably will. It's not going to happen that right turn line will still exist. So, there was an idea of creating kind of a refuge for turning movement out that way. There's just not that much traffic. So, in order to keep. Maximize capacity, it'll have a right turn lane a through lane and 2 left. So, it will be it'll be as it is today. Perfect moving over to the next slide. The improvements at Harris and a little bit less in terms of the pedestrian improvements. It'll mainly be striping of the crosswalks just delineating those lines and doing new stop bars. The big addition will be a left turn lane in that median. So, giving more room for stacking and turning on to Harris, if you're traveling west along Oakmont. And additionally, the signals will be timed. So. It kind of when Harris backs up the signal timing itself, the lights aren't coordinated. So, we believe having a LED blank out. Sign for right turns and coordinate the signals so that. You know, your right turn on to Harris is going while your. Main through traffic, which is left. South bound to east bound on Brian Irvin doesn't back up. And so it's kind of the intersections are clearing. And coordinate with each other that should help alleviate some of what's happening today. At peak hour, I guess I kind of went through the blank outside of the traffic signal timing changes, but if anyone wants to go in more detail, let me know. Thank you, Chris course so now we'll go over the project schedule. So we are currently in the design phase. There is no right of the acquisition anticipated. However, we do anticipate the need for pedestrian access easements at the brain Irvin and of 1 intersection. We are in coordination with the franchise utilities to address conflicts of Brian Irvin and the. The estimated contract execution for construction is summer of 2024 with estimated construction start the fall of 2024. With that estimated construction duration of 11 months and construction costs of 1.2 million dollars. Project contact information we have our design engineer Christopher Shaw, his numbers,<PHONE_NUMBER>. Myself Fentacaba, the city of Fort Worth project manager. My number is<PHONE_NUMBER>. I think she's the 1 talking. Yes, and we are happy to repeat that the project manager who is speaking is Fanta. F, a last name Cava. Yeah, that'd be fine. No, actually, I'm going to have some tomatoes. I think. They're already fixed. So, to input any service request, it doesn't have to be for this project. Necessarily for any any improvement. You would like to see in the city of Fort Worth. We have the my Fort Worth app for Apple. The my Fort Worth app for Google, you can text hello to 817835 my Fort Worth or 6939. You can call the city cost center at<PHONE_NUMBER>. And there's also a chat box on the city of Fort Worth website. So, that concludes tonight's presentations and it's now open for questions. Thank you all for joining us. Is there any detour route while the construction. Begin so we will we will have a pre construction community meeting as well. And in that meeting, we'll have details on what conditions to expect during construction. And if there's any detours as well, y'all, this is Laura. I am also with Fanta's team and with the city of Fort Worth. I just want to be sure for those who aren't able to see the side. So this is a. Design meeting, which means it is still in process. Nothing has been finalized. Correct Fanta and are there other opportunities for people to weigh in if we send them slides? Yes, so using my contact information that is on the motor so you are received with this meeting information. If you have any feedback, please contact us and then we will work to. Accommodate if possible in our design and then we will have an update on the on the exhibits during the pre construction meeting as well as. What conditions to expect during construction? Any more questions? I'm going to also look in the chat for you to see if. There were any there feel free to ask questions folks. Fanta, I am not seeing any questions in the chat. Last call from anyone on the phone or on our Webex. So, can you go back to the schedule slide 1 more time? Just put it on the screen for folks to see. Okay. Thank you. So, for those caught in or sorry, go ahead. No, I was just going to read through it 1 more time. So. The plan is to have contract execution for construction in summer of 2024. We estimate that we're going to start construction in fall of 2024. Our currently estimated construction duration is 11 months starting in fall of next year. Okay. Thank you. So, am I correct in understanding that the next meeting we should expect to. Have is in the fall of 24 when we start construction. It will probably be sooner after a design has been completed. I do have 1 question in the chat. Pardon me are the only changes to northbound Harris Parkway timing on signals. That makes sense how I read it. Are the only changes to the northbound Harris Parkway. Timing is that signals only. And please correct me whoever asked that if I did not ask your question appropriately. Chris, do you mind giving a breakdown again on the updates to the old 1 will avoid and Harris Parkway intersection. Yeah, so that's correct on there. It's going to mostly be. Signals, there is some signal timing. There is some pavement markings to make sure it's clear. That the that the lane assignments are. Done, but the predominant improvement is the left turn lane on Oakmont. So, if you're traveling West found on Oakmont, there's a double left on to Harris, but along Harris going northbound. There is not any additional lanes planned. It's just signal timing. What is a blank outside? So, a blank outside is some of those signs that. You see that you can kind of variable. You know, sometimes you see them. When lanes are closed in 1 direction and you open up lanes the other way in this case, it would be. For like a right turn only or right turn and straight. If that makes sense, the kind of you can vary the lane assignment. Via the LED sign, would all these intersections stay controlled green arrow or would any of them. Move to flashing yellow, which seems. Like it could be a dangerous change if that was made given multiple turn lanes and busy intersections. So, some of the green arrows and the. Dedicated lefts and no flashing or because of sight distance. Issues, you know, Brian Irvin kind of on a hill. And then same with Oakmont and it's on a hill with that. That's horizontal curvature. So those probably aren't changing. It's just going to be a timing issue. Between the 2 signals trying to clear traffic. But for a while, you know, while accepting traffic the other way. This isn't directly related to the intersection changes specifically, but it is related to to the intersection of Harris and Oakmont. If you're traveling West bound from Chisholm Trail Parkway. Down Oakmont towards Brian Irvin road. There's a pretty large live oak tree very close to the street that that it's foliage and overhang tends to block visibility of the intersection lights at Harris Parkway. And perhaps as part of looking at this intersection, it would be good for the engineers. To also look at the visibility of the lights as you approach them and how close you have to get before they emerge from beyond that that tree and whether any trimming or maintenance is needed on those trees. Thank you for that. We will we'll look into that and see if that's something that we can accommodate as part of this project. Thank you. I think on the my for worth that, if you see stuff like that, you can report it. It's a great suggestion. Thank you helpful for maintenance to pick up. I have another question in from the chat. From Dean, there is currently a lot of right turns from West bound, Oakmont to north bound. Brian Irvin the proposed striping seems to load a lot of traffic on to the street. Through Oak, Mount West bound lane. Unless the right turn light allows a lot of traffic to move. Someone speak to that and kind of what's been discussed or what might be plans for that. And that full question is in the chat. Yeah, sorry. So. Agree this we're not striping off as this shows. I think this is our, this is a more earlier vintage that that concern. Was brought up so it will be remain 3 lines. There that right turn line won't be striped off there because there is a significant amount of right turn traffic. So, it'll really be 4 lanes when you get to the intersection right turn. Just through and 2, left. Okay, don't be shy. This is Laura again. I don't see any questions in the chat, but now is a great time. To ask questions because you have a good team here with your project manager and the engineers. And can we go back to the contact slide again? Sorry, I keep making you jump back and forth. I apologize. Can we, I think you already did this. I know you're really good at this. Can we read since we have a bunch of calling users who had some technical difficulty getting on. Can we just give your phone number and email out 1 more time so that they can request a copy of this presentation? Sure, thank you. So, my name is Fanta Kaba. My number is 8176, 8, 2, 3, 1, 8, 1. Email is Fanta, f, a, n, t, a, dot, Kaba, K, a, b, a, at Fort Worth, Texas dot gov. Thank you, Fanta. Please reach out with any requests for this presentation and this meeting reporting and we'll assume that to you as soon as available. 1 more update. This is Laura.  Also, if you go to our 4th, worth, Texas dot gov website and in the search, you just type in Brian Irvin. Our project page should show up for you and I'm going to also post the YouTube recording and the slides there as well. Just give me a couple of days here. Hopefully by Friday. Perfect. Well, Fanta, I don't see any other questions in the chat. I guess we can go ahead and conclude the meeting if there aren't any other questions. Is that right? Do you think that's okay? Fanta. Yes, we'll do a last call. Any other questions, comments, or concerns. Thank you for providing this so early on. Thank you. So, with that, we will conclude tonight's meeting. Thank you all for joining again. And then. As soon as the recording is available, we will send that out to anyone who requested as well. Laura will be. Uploading it to the project web page on the city of forward website. Thank you, phantom team. Sure. Thank you all and have a nice evening.


Hi everybody it's Sam here, thank you for watching today so I'm going to be showing you how to make this a peek-a-boo card. This has actually been requested a lot, so I had a look on YouTube and I saw Dawn's happy thoughts. She's made one years and years ago. She's done a few. I checked out Jennifer McGuire and I couldn't see any that were 5x7 so I've done a 5x7 version and this is what I've come up with. So you open the front and it will change the image as it opens. So we've got Jerry the giraffe and then her friend. Wishing you a merry Christmas. It's very very fun. I did use alcohol markers with this one and I didn't kind of think that the bleed would show there. So I would say use either colour pencils or die cuts if you're going to fill the aperture like I have. I'm still using these again on the next card but I'm going to try and hide them a little bit so they're not as noticeable. I'm not too worried about this and I know the person that will receive it will not mind at all. But it's very very fun and then on the back here you have your space to write your message and it stands up like so. So it's kind of like a Z-fold. You kind of keep it like that. That's how it would stand. You can see how the workings work like so. Let me show you how to make this fun card. Okay so first of all let's get our paper sizes. So you'll want a piece of 5x10 and 5x8. Okay I've actually extended this piece by 1 eighth of an inch if anybody watched Facebook Live. You want to score along the long side at 7 inches. Then I've got this piece which is again 5x11. You're going to just score this one right through the middle at 5.5 and you can just burn a short of these. This just becomes a little card blank. That one you can fold over like so. And then this piece here is 5x7.25 and you just want to score it a quarter of an inch. And this is going to become the back of the card so this is just our little tab to be able to attach it to the rest. And just burnish that like so. Okay so that's our three pieces. And then for the mats and layers you'll want a piece that is 4.75x6.75. That's going to go on the very front. This is for the back so the red piece is that same size again 6.75x4.75 And the white piece is 6.5x4.5 and I've just stamped and that will go on the back like this one here. And then this piece is to mat this inside section here and that is 4.75x5.25. So you get all those ready. Okay so the papers I've used are from my perfect pop-ups paper pad. You've got some really fun backgrounds there. I love the snow background which is the one that I used on the front of this one here. And then I'm using this candy cane one today. Okay so first of all you want this piece. So the piece that you would have scored at 7 inches.  So this piece here is this piece here.  So you can see we've got our image which is going to end up being on the inside here. And then on the front we've got all of this. So what we want to do on this half. So when I lie that flat within this section here but on the front we're going to cut this aperture. And this can be any shape you want. I've done circles but there's no reason why you can't do squares. You could do a couple of smaller circles you could have like so. And yeah it's entirely up to you how you want to do this. So I've used, just checking I've got the right one there. So this is two and a half diameter. Okay and I'm going to sit this one like so. Now I can feel where that card folds over there. You don't want to go over that with the die. You don't want to cut into this. We'll open it up when we put it through the die machine but it's good to keep it down so you can feel it. So I can see exactly where I need that to go. So I'm going to bring it down and have it about there. I think that's okay. So I think I'm going to go for there. That looks about right. I'm going to tap it just like so. Alright and then I'm just going to bring in, I'm going to do all the die cutting with you because usually I just kind of speed through it. But if you've got, if your plates are quite, you know they've got marks on them and stuff just grab a piece of copy paper.  Now also don't run all of the card through. It's kind of unnecessary in it. Anything you put through a die machine is going to have pressure put on it and it will just go over your score lines that you've already done and so on. So I'm literally just going to put my cutting plate just over the circle die there. So that's all that it will cut like so. And then it means the rest of the card is still lovely and it's just cut that away like so. Now we're going to be also covering this. So what you, what I would say actually and what I did in the live is you actually want to cover this with your pattern paper first.  I can line that circle back up again. So I would say put this on first, but if you've got a thick pattern paper or maybe your die machine isn't, you know, very strong to cut through multiple layers, then you would want to do it this way that I'm doing it now anyway. So I guess in a way it's good that I didn't because at least I can show you what you would do the circle separately. So I'm just adding my glue. I'm not worried that it's going to go over that circle. I'm just going to lay that down there like so. Just rub that away. Okay. And then all I can do then is grab that die, flip it over and I'm just going to lock it in to that circle. It kind of clips in. I can feel it like so. And then I'm going to pop a little bit of tape on there again and just do exactly the same. Run that through the machine. Okay. So there we have our aperture. We have our pattern paper. There's two ways to do it there, depending on the machine you're using. And then obviously you've got these bits here that you can keep for something else. Okay. Next, you want this piece, which is that just that card blank. And I'm just going to burnish that one there. And you want to grab your pattern paper and cover the inside. I'm actually going to change and use this one here. So that's that four and three quarters by five and a quarter piece. And close that one up. Now what you're going to do is grab this piece and you're going to sit it. So this is the opening you want on the right hand side. Okay. You've got your folded side here on the left. Pop it in here. Don't worry about this piece. Just pop that out and just line it up with this end. Okay. So you'll see I've got that piece, the fold there, just just lying inside there. So with that all lined up perfectly, you then want to draw around this one.   So don't worry again if it doesn't cut all the way through, because you can just open it up and run it through again afterwards. But I'm just going to lay that down there and run that through the machine. Okay. So I take that away. You can see that it's cut that circle there. It's kind of gone through. I could probably push it if I wanted. But all I'm going to do now is that will lock in. You just could let it kind of find its place. Pop another little bit of tape on. And then run it through again. Okay. So now we have that with two circles that perfectly line up. Now we can get this piece and we're going to stick it back over there. So on the front of this one, all of this section here you're going to add glue. And again, making sure just pop that piece out. Just lay this over the top so it lines up with the edge. And you can just, you know, use the circle as a guide as well. You can see there what you should have. So this just opens now with the front of it attached to this piece. Okay. And it should all lay down into that five by seven size. Then what you can do is get this piece, which has got that tab. And if you grab some red tape or double-sided tape or even liquid glue, but just run it along the tab. And it's just the deconstructed five by seven card because this is the back now that you're going to add on. So just take the backing off of there. And then with it open on the back of this piece. Okay. So that little card. I'm just going to lay this down and just line it up with that score line. Make sure the top and the bottom marry up. And then you can just fold that one back around. If you just go in there, you can just burnish it. Now it should all lie down nicely like so. Now also what you can do is if you open it up where you've got this piece here, if you pop a little bit of tape just on top of that kind of tab piece that you've just stuck down.  We'll do this last. So if it's double-sided tape, just leave it like so. But we will end up attaching it. But for the minute, yeah, just leave it open in case you need to feel that you want to get inside the card for some reason. So now we can start decorating it. So I've got my two images here of Horace. And I'm going to have this one. It's going to be the one that you see at the very start. And then when it flips open, it will be this one. So what you want to do is this time I've cut my circles to the... You don't have to do it like this. You could stamp directly onto this. You could get your stamp now and stamp in there. I wouldn't recommend that if you're using alcohol markers. If you're using color pencils, then fine. And it might be something that's already colored.  Then you can just stick these straight in. But on the live, I cut these pieces with the next size up circle. So this one here. And if you would prefer that, I'll just tell you the measurement of this one. So it's about three inches. And then I slotted them in and lined them up so you could see the image. This time I've cut them the same size. And I'm just going to add some glue to the back. And then I'm going to pop it in here. And it will just fit perfectly into that space at the back. But I can just make sure it's all lined up, which it is. Like so. And then when I open it, this area is now where I want to stick this one. So again, I'm going to add my glue and pop that one in there. And just lift it up slightly just to make sure it does go where it's supposed to. Just give that a minute to dry. You can see now, when you open it, you get your two different images. So whilst that's drying, I'm going to stick down my frames. These here, I just cut with both those circles. So the original one and then the next size up, put a little bit of tape on them. And I just cut them using the self-adhesive glitter card here by Dovecraft. But because it's going on a card and I don't always trust the adhesive that's on these. So I like to add my own glue on top. So I'm just going to, I'll show you this one, but I will then do the rest and just speed the video up. So I'm just going to run some glue around the edge there and just lay that one over the top. And I'll do the same with this one in here. So I'm now going to pop the video on high speed and I'm going to bring in all of these elements here that I've already prepared and I'll just show you what I've used. So the lovely big bow there, just love it. It's down there as well. And it's this one from the scene builders stamp set. I've got some other ones there as well. And then obviously I've used Jerry and Horris there. And then I've used the props for all of these bits here. So you see the hats, the gingerbread man. And I've also got the present there as well. I was going to use the ho ho ho and do some mirror image stamping with it. But if you do the mirror image of any writing, it's obviously reversed so it didn't work out. So anybody that's thinking, I thought you were going to do that Sam, because I did mention it during the live. That's the reason why. I've also got my Galloping by and then I've got my, and it says to say, and then inside it will say Merry Christmas. So I'm also going to get this stuck down on the very back and I'll be back when it's all finished. Okay, so I'll show you what I've done. I really like it. So I've added the little Christmas hats and then all of that detail. And I've not gone into the circle there as much with the leaves so that when you open it, you can only see a little bit again. I'm not too worried about that. Isn't it cute? Now a couple of little tips. Obviously there's a lot of dimension to mine. I've curled all the edges here. I've used a thick 300 gsm cardstock and I've used hot glue, but this will fit perfectly into one of my box envelopes and I will link them. But it will also still go in a normal envelope.  So when you make one, you can sit this inside the envelope and then fold the sides over and that way you will kind of shape the envelope to the card rather than trying to squeeze it into one that you would have stuck down beforehand. Also a little tip that Jennifer McGuire mentioned. I don't need to do it, but if when you open it, it catches. Because when this piece slides, it could catch on the circle here. Or I mean I've got that hat that I've stuck down. So I did think it may well catch, but it isn't. If it did, the very back one here, so this circle here, if you pop a little bit of tape just over this edge here, I'll just lay it down just to show you. Just a little bit. It will mean that this will slide when it opens. You see it will slide over that bit there. So if you do find that you've got anything catching, then that's just a little tip to get around that. And then all you need to do now, once you've kind of finished with everything, this piece here is handy because it kind of holds it in shape a bit better and kind of keeps the workings in place. So see without it, it's just kind of like this. But now if I just stick that down, it now, that stays flat and flush, and this opens. Okay, so there are my two peek-a-boo cards. Perfect for any animal lover or if anybody just wants more of a comical style. And I also just wanted to show you ways that you can use Jerry in Horris because obviously these came out very early in the year. And I just want to show you ways that you can incorporate them into your Christmas cards. So I hope you like these ones from me. I'll just show you one more time. There's Horris and then Jerry. And they're lots of fun. So thanks for watching. I'll link everything that I've used in the description box below. I'll also pop up a couple of other cards that you might enjoy here. And we'll be back very soon with another tutorial. Bye.