What's up everybody, I'm Evor Ebbett, welcome back here to Aesthetic Corsa Part 2 for modeling and creating your own custom car with doing some basic wheels changing, interior change and stuff of that nature. If you guys missed the first episode, I will leave it down in the description box below. So we do have our M4 GTS here, if you guys remember we did take out the windows, we did basically get it into the game and everything of that nature and get rid of all the boxes. So we're going to bring back, we're going to go to tools, we're going to bring back all the boxes, so we're going to go unhide all. So those are all the boxes that I was talking about. So now we're going to be getting rid of these wheels that are on this car. So I guess I could have left all the boxes by by. So what we need to pull up is we need to pull up the wheels. So we need to go into over on scene and go down to wheels, make the box visible and show you what we need to keep and what we need to get rid of. So what we're going to actually get rid of is just the wheels. So we expand the left front wheel, we can get rid of everything in there except the box. So you want to highlight that, but hit control and get rid of this wheel LF because that's this outer box to lead everything from in there. So now we're going to be basically down to just suspension components, suspension brake rotors and things of that nature, which is part of the actual suspension, not in the wheel demograph because if anything is in the little wheel box, it would rotate around like a wheel. And if we had the suspension in there, our suspension arms everything would just be going around, around, around circles. So now we have basic suspension, which is kind of cool that we have basic suspension under there. They have to switch those up to some wise fab and stuff of that nature. So now we got to find what wheels we want to pull onto the car. So we're going to make these boxes go away. We're going to hide those selections. So now we're going to pull another car in here to pull some parts off. So go into a set of Corsa and we're actually going to pull the wheels off of my EVO 8, which you guys have seen maybe once or twice, but going to be bringing this car back. Definitely love the look of this EVO 8. So we're going to be pulling the wheels and the tires from EVO 8 and probably the seats too because it does have my Evil Rabbit energy innovation seats. We're going to pull those out too and maybe some of the roll cage to extend that current cage that's in the M4. So we're going to do the same way we did with the M4. You're going to unpack it. Overwrite files. Yes. Now this is where it gets a little bit tricky. You could use the same folder or you could do two different folders. I like to use the same folder that way. Everything's all in the same place. So we'll close that. Go back to my desktop. So like I said, a set of Corsa mods is my folder. Now as long as the cars aren't named the same, you won't have an issue. But if the cars are both named model or something like that, then you'll run to an issue where you'll have to override stuff. So what I like to do is I pull over the 3D versions and the FBX file of the car I'm working on. Then I will open up the textures folder from the car I just exported, highlight it all and drag it over. Now since we're using the M4 as our main car, I want to keep all the textures from the main car. So I will skip these files. I don't want to overwrite the files from the M4 in my textures with the Evo files. So we're not going to need these because the M4 already has textures and it will mirror those textures over to the new parts even if it's from the Evo. So now we have M4 textures and everything in here as well as Evo. So let's go back into 3DS Max and take a look-see at bringing the Evo in here. So we're going to go into file, we're going to go into import, we're going to import, we're going to go back to my AC mods folder where are you AC mods and we're going to pull in the FBX as a 3D object file of the Evo. Very important here when you're importing two cars into the same thing, make sure it says add. Don't put add and update or update animation, make sure it says add because if you do another one it could get rid of all the work you've already done. So make sure it says add and once again make sure you're scaling no matter what numbers it is, is at a 1.0 scale. So we're going to hit OK. Now we're going to have the Evo in here as well. So everything for the Evo is highlighted. So first thing click on the drag, the drag arrow, the movement tool and immediately drag that Evo down or up or whatever. So now I have the Evo down here and I have the M4 up top. So like I said we're going to be taking all the wheel parts from the Evo. So since I only have the Evo box as shown you'll be able to see inside what is shown. So if I go over to wheel you'll see there's some that have the eyeballs. Those are actually for the Evo. These are the boxes for say the M4, if I click on it it shows up on top. So now I know which ones are for which. So what I'm going to do is I'm going to expand the Evo, expand all the Evo wheel parts just like that and I'm going to grab all of them excluding the box. We don't need that box because we're going to be using a box from the M4. So then we're going to take all those wheel parts and I just prefer to drag them up top. We're going to drag them up. We're going to be able to get rid of the rotors and stuff because we're going to be using the M rotors unless I decide I want to use those fancy brake rotors that are already on there which those rotors do look a lot better. So we're going to pull the rotors up too. So we've got the wheels up top first and we're going to click here and click on the other rotor. Well, I mean the calipers. The calipers look way better. I said rotors. Rip. Pull those up top. So now we have all that pulled out. So then there's a couple other objects that we're going to pull out from this car before I get rid of the car. So we're going to pull the seats and the cage. Pull the seats and the cage up and then we can go click on right. So now we've got parts floating everywhere. We can highlight the Evo. Get rid of it. Now we can bring that Evo back if we need to or if we want to because we're going to probably use parts of this cage and mirror them into that cage. And by parts I probably mean the door bars and the downtubes and the anti-intrusion bars and stuff like that. We're going to get rid of this back barring sets. So but first we need to work on this on the wheels and get those where we need to get them. So we are going to remove these calipers and put these bigger calipers here. So the tool we can use for that is we can use the alignment tool and we can click Align to Left Front Suspension and that's going to put us right where it needs to be. Make sure you have all your check marks and everything boxed however you want to. You can move around afterwards but it's going to align it there. Now to make sure that that rotates with the suspension you need to actually click off of alignment. Click on that and click on the brake with control and the highlander bolt and make sure you drag that into the folder underneath Left Front Suspension because otherwise it won't work. So then we can actually delete the caliper, delete the floating M, and then we can actually move this into position where we want it to, pull it up a little bit, yep. That definitely looks a lot nicer than the calipers that were on the M so we're going to do the same thing for all the other parts. We're going to align this one to the Left Rear Suspension. That's going to be a bit in the middle but we can get it to move without a problem. Click on that, click on there, make sure we drag all the highlighted parts under Left Rear Suspension, delete that, delete this. Now this is basically going to be a little bit different because we're going from the front caliper. We're basically modifying the brake system with some very massive rear calipers. So we could scale this down a little bit if we wanted to. We could scale it down into twins and we could just add a second caliper but we're just going to do single calipers for the sake of it for today and then we can get into adding dual calipers and things of that nature in a later episode because we're just going to get these done and then these all aligned up so we can get the wheels in the car because that's the main purpose of this right now. Hit OK, get rid of that, go in here, delete that, delete the floating M, pull this back, pull that up. So far so good, we got this almost all done. Align with suspension right front, make sure we get off alignment tool, click on that, click on that and then make sure we drag it all into suspension, delete that, there we go. Now we can get this moved to where we want it to.  Alright so now we got our brake rotors and calipers all squared away so now we can go up into this part, we can actually delete these rotors because we're not going to need these brake rotors where we're going with this car because we're going to use the rotors that are on the car. Get rid of the hubs, get rid of the brake hubs, rotors, alright, then go here, delete that, delete that, delete that, okay. So now let's get the wheels aligned into this car so we're going to make this all visible. So now what we need to do first and foremost is take our left front and drag all the parts into left front wheel. And then once we do that we can double click on this and we can actually isolate it, isolate all the parts. So there we have all the wheels and everything isolated so we have to take this and we have to align it to basically the center of this. And we're not going to match scale or anything like that so we can do full center or we can do, I usually do Y and Z position because then it centers it because if you don't have Z you see it's going to be off centered and it's going to be, you know, not centered to the point where it's going to be in the center of the box so when you go into a set of course it's going to look like it's wobbling. So we're going to make sure we do all of that and then we put that on there and then we're going to unisolate and see where it sits and where it sits is way in the hub which is not a big deal because we're going to have to rotate it and move it anyways. So we're actually going to have to re-align that because I think we need to align, nope not that one, yeah we need to align the X axis because of the fact of it needs to be the same area of the box like I said before so it needs to match all of these parts because of the simple fact that it will look like it's wobbling otherwise. So we will do the alignment scale of all of them. We don't need to do this, we're going to move the wheel back in but for sake of everything we're just going to line everything up, hit okay. So now we're going to move some things around so we have the wheel flipped. Alright so now that we got it there it's way off so what we're going to do is we're actually going to highlight everything and just move it all out so that it is not inside the hub anymore and we can do final alignment basically speck of it when we actually get the car into the game so we're going to pull this out so that the wheel is full and there we go. So now we basically have the wheel where we need it to be so we're going to do repeat that process for all four wheels and we're going to save our process and we will continue building this car so we got to, we're not going to isolate everything this time we're going to just drag these parts down to the left rear and then with it highlighted we'll do alignment, we'll click on the box, all of our stuff should be the same and we'll click okay and then we got to definitely move it out, we're going to move it out there. So as you can see it's pretty, it's pretty wide out there actually and we're probably going to have to move the tire and do some adjustment to it so we'll click on the tire and oh no no that's not the tire, click on the tire and move it out to the edge of the wheel and we're good to go with that and like I said we can do final movement and adjustment of everything once we get the car into the game with the actual alignment of the suspension so we're going to do here, get off alignment, oh no get off alignment and I don't know why I zoomed so far out, we're going to drag all of this stuff to the right rear line there okay and then movement, move that stuff out and move our tire to match the outside of the rim like so, we got one more to do and then that will finish up today's little episode on more customization of these cars here on Assetto Corsa so make sure you guys follow me on all social media all of which found the description box below and make sure you guys come back for the next episode where we continue the building of this M4 here for Assetto Corsa so we got the wheels put on the car now we have our brake calipers and everything swapped over so now we're going to be working on the seats and the cage and everything like that if you're getting the idea of how this all works it's kind of very similar on doing everything else on the cars this is just the basic tutorial so as always I thank you guys for coming back and watching I'm Evorabbit I'll see you guys on the track


Good morning, everybody. It is Monday. I should say good morning. It's just after lunch. Good afternoon. Happy Sunday morning, everybody. It is Sunday morning, March 7th, 943 a.m. Don't get excited. I'm looking at the computer. So before we go faucet shopping or anything else, we've decided to go for a walk. We need the fresh air to clear out our minds from the stress and everything else. So we're gonna go get that done first. I don't know about you, but I need some walk and some fresh air. What about you? I'll be back. Hello. So it's Monday, March 8th, and obviously we're in the car. Gotta adjust all the mirrors and everything. My neighbor's got a giant car sticking out of his driveway, so hopefully I can get around it. Hey guys, how are you today? I don't think I vlogged it today, and it's 2 p.m. Wednesday, Tuesday, March 9th. I did my live stream this morning. I've got a couple of journal pages done. Put some pictures right about here. Finally putting my round journal together.  Straightening the paint water through these. I usually throw them away, and then these two particular ones. I thought, you know, I wonder how they would look as journal covers, round ones, and so it might be a little bit better picture of the color. Anyway, so they look really cool. I am going to use some cinch coils to bind them. I used my zutter binded all punch to create sort of a template of where the hole should be. And then I used that to wind it up on that curved edge and marked it where to punch the holes with a regular paper punch. Because these are round, they won't punch in the zutter. That's not going to be something that happens. So I just wind it up like that and then punch them out.   And then I will get this all together and I'll show you when I'm done. I don't know what time it is, so don't ask me. Sometime Tuesday afternoon. 50 degrees out, but feels like 46. And it's raining. Did I mention that? We're going walking anyway. Obviously you can see I have an umbrella. Bob has changed his mind about not having one and he's going to grab one and probably grab hot hands. And then we're going to go for a walk. I'll be back. It'll be Wednesday morning people. It is Wednesday morning just before 11 a.m. The rain keeps going off. I think it's the cats. Anyway, I have a table full of stuff I should be working on. So I have two bad envelopes of purge artwork and two boxes of artwork and supplies and stuff that aren't selling. Y'all aren't interested. So I'm going to repackage them, throw some stuff in the trash, something. And then of course I have to film the user. I'd lose it for February, which I still haven't done. So now it's like part of February, part of March because it's the 10th. Good morning people. It is 10 a.m. We're just there after on Thursday, March 11th. I have my appointment for my big hair chop today. So in a couple of hours before that I'm going to go run a few errands like check on the PO box, pick up a few things at the drugstore. After that I got to go to the grocery store. So it's going to be a day. I do want to ask you all, how are you all doing? Are you taking care of yourselves? Aside to doing art here on this channel, we talk about life and life struggles and those kind of issues. So are you all doing okay? Are you managing? Do you have safe place to go, safe people to talk to that you can trust?  If you have tips or tricks for people who might need some advice or new things to try, put them in the comments below. That would be great. Hopefully you have some friends and or family members that you can safely talk to. That's always helpful, meant to get your frustrations out. I have been saying for a while now for me besides doing art, listening to music, turning off devices, going for a walk, just being able to clear off my head for more than a month now I've been turning my computer off early and I mean early I get two thirty three o'clock at the latest my computer goes off. I do sometimes have the tablet on downstairs but it's not for like our business or watching the news it's literally for watching YouTube videos and or Netflix and something like that entertainment kind of stuff. Nothing depressing, only you know cheery things I can get lost in or art tutorial videos I find interesting. I don't watch the news or the ever anymore and that it's just too much it's just too too too much what do you do I would love to know all right I gotta get over it and I gotta go to Walgreens. By the way I know you've seen my hair like for the last few months up like this a lot on camera I'm gonna put a picture here of what it looks like when it's down clean and combed out I really do look like Einstein's sister and then the next shot's gonna be a picture of me post haircut so that'll be fun all right I'll be back so there you go I kind of like it I haven't had my hair this short you're really really really long time if ever as an adult but I like it yeah it looks good and this is after you know the beautician she like kind of straightened my hair um yeah because it normally wants to kind of go every which way but I like it very much I'm gonna eat lunch now because I'm starving and watch some YouTube I'll be back that's them quieter than they were just a second ago glad that's not my house oh my god all right I'll be back good morning everybody still getting used to the short hair it's very weird anyway and to stop and feed Bambi before I could leave I need to run to the hardware store I'm working on something for my easel the painty easel you need a drip tray there isn't too many of them made mostly they're made in regards to children's easels which is fine but even those are like 25 bucks nobody's got them in stock anywhere that's just kind of a lot of money for a drip tray I'm going to be and have the itch and urge to paint more at the easel which is great but I'm a messy painter I want to be able to spray water on the painting have it dripping things and not worry about it getting on the floor so that means I need a drip tray I did rig of a rag with the last painting I did which worked great but it was a perfect by any stretch so I am going to head to the hardware store there has got to be something for less than 20 bucks whether it's a window box planter I can adapt or something I can use that will work so as you can see I got my DIY drip tray mounted underneath the easel I didn't film any of it because it was I wasn't sure what I was doing and every easel is going to be different I will put the brand name of my easel that I have in the video description it is made by the company M A B E F this one I think it might be this one which is their M 12 maybe liar easel that sounds about right I know when I bought it I was just brand new to painting didn't know what I was buying it was the least expensive one I should have gotten a different one a bigger one but I'm just making it work because now I have it and I'm not buying another one so I have a one of those giant art clipboards wedged into the back of the easel and that way that's always there and that way if I want to use the easel for paper and I want to do watercoloring or something back here I totally can do that and now I have this drip tray here which is wedged between the wooden tray I actually took the easel apart and I put the some holes into this wooden this is a window planner box and I wedged it in between the pieces of wood and screwed everything back together which was a pain in the neck the husband said you know I'll do for you tomorrow if you want to wait this little piece came out while I was doing it which I didn't know where it went to I didn't find out where it went to I don't know that it's a huge deal that I put it back I think we're going to just leave it out for the moment um the husband feels so inclined he can take it apart again and put it in for me I don't know anyway I'm going to love working on this it does have some holes in the bottom because it's a planner but there's a tray down here um so the water's not going to go far I'm never going to put that much water on the canvas that it would like fill it up and overflow anyway plus I've got can you see chamois in here um I've got a couple different chamois cloths I'm going to line into the bottom that'll catch most of the water I just wanted to have a secure place where it would go and not like drip off the chamois onto the floor yeah because that's a thing I may fill the drainage holes up with hot glue or something at some point but for the moment I'm going to just let it go and I'm going to take it as the order to the mailbox and I might go get a little bit of a walk and get some extra steps in today because the last few days besides yesterday um were kind of slow step count days where I did seven to eight thousand and I'd like to have for the week close the week out with um my normal like 60 000 and I don't think I'm very close to that at the moment so I'm going to go try to get some extra steps and I think I do have some projects I want to work on but that was adding that was the big one for today and I got that done um I have some water coloring ideas and things I want to do but tomorrow's another day all right I'll be back okay so this year I've made a choice the choice is to put myself first yes my family and art are always a priority but if I don't make myself a priority I can't do those other two so eating better monitoring my blood pressure and my blood sugar because my mom's diabetic for those that don't know um getting my steps in getting exercise losing weight getting healthy all of those things they're a priority I can't control everything but I'm going to control what I can I'm going to be better about taking care of myself and to that end we're going to go get some steps in because it's been kind of a slow step week I like to have 60 000 steps by Friday and I only have 49 so we're gonna go get some extra steps in and hopefully by the end of the day I have 60 000 or close but yeah I'd like to end the week which my weekend's tomorrow on fit bit I'd like to end the week with something over 60 so we'll see I'll be back out walking taking a new path trying not to get lost oh boy we'll see what happened good morning it is Saturday morning 10 31 a.m it's been a busy morning already I got laundry started I cleaned out the bathroom cabinets my side anyway got rid of a bunch of expired stuff reorganized what is staying in there makeup I'm just not wearing anymore and is so past expired um most of which I'm not replacing um I wear a little bit of eye makeup anymore a little bit of blush stain and lip stain and that's pretty much it anymore um what else feels like I got so much else stuff but stuff done besides you know showered and dressed and all of that um I got all the garbage we got all the garbage cans emptied I got bambi fed um Bob did the dishes love love that guy um right now I'm trying to stay out of his way I'm coming up here I've got netsy order that came in overnight so I'm gonna get that packed up and wrapped and scheduled to pick up and because I'm staying out of his way because he's putting in a new kitchen faucet yeah he's doing some DIY I'm staying out of his way unless he calls me to help him hand him a tool or something because yeah but I got it we got a new kitchen faucet so he's putting the new one in today and then the one that's there now is going to go in the laundry room when we have the sink put in the laundry room which will hopefully be in a couple of weeks and yeah I have to feed the sourdough starter still and I want to try starting a gluten-free sourdough starter which I have the recipe for I have no idea if it's going to work it out but it's a king Arthur flower recipe so I'm going to give it a shot and um there was something else I needed to do and I can't think of it besides walking I do want to get some walking in today I can't think of what the other thing was I came all the way upstairs for something and now I can't remember what that something was don't you hate when that happens holy cow that took 15 minutes longer than it should have I just remembered I was going to go upstairs and open some windows while it's nice out duh okay I'll be nice early spring day and a great day to get some ventilation in the house and that was what I wanted to do when I headed upstairs holy cow anyway I'm going to go back to watching YouTube I should say we've had cats and deer and birds and snakes visiting the house today all the wildlife is out it's just such a bright beautiful day I'll be back okay we got the faucet in and it looks great I'm so happy we changed it out we found a couple of interesting things under the sink so I'm glad we actually did it for more than just look and operation of the faucet let's put it that way um but it's all fixed now and we learned a few things along the way that we probably should know anyway looks like the new laundry room sink will be coming in or being installed at the end of the month hopefully and the new doors for the back patio will be on order I hope probably next week and we're going to go get some steps in I'll be back accidental pictures of myself that's always fun hey guys it's 901 p.m saturday march 13th did I even say what the date was this morning I have no idea it's been a busy day but we got a lot done and yeah the sink is looking good I don't even know if you can see it from there but there's a new faucet back there it's all looking good Bob did a good job good job dear anyway and his car his car park came in for his barracuda that he wants to um try to get on tomorrow so yay all right that's it for the minute I hope you all had a great week and that you enjoyed the video please like share and subscribe leave any questions comments or concerns down below don't forget to check out the video description there is always links to ways you can support the free content here on youtube and over in the facebook art groups there's a link tree list of links in particular that has my email newsletter my instagram at the Etsy shop all that stuff so check it out and I'd love to have you join the facebook groups or follow me on instagram or whatever works for you and don't forget to stay safe stay healthy stay creative please wear a mask and go out and do something nice for yourself because you deserve it we'll see you next week bye guys


How do I stand out in the saturated market? I'm six foot 10, it's easy. Just kidding, I mean, that helps. But in all seriousness, if you wanna stand out in the saturated market, you gotta know that there's barely 1% of people doing the hard work to be at the top. So that means the other 99% of people that are in this saturated market are not doing that many reps. It's like people that join a gym, they pay $500, $600 up front for the whole year and they rock up twice. The gym has 1500 members, but if all the members were there at the same time, then it would be saturated. But it's only perceived as saturated because of how many people are in the gym membership network.


While the recently formed Sanford Center work group presented some of its findings and held a discussion last night about how success should be defined at Bemidji's Sanford Center. Our Josh Peterson was there and shares with us how talk of a new tax could be the answer to help Bemidji's event center be successful. In a study done by the Sanford Center's management company, VenuWorks, Bemidji's event center leaves a $24 million dollar economic impact on the city of Bemidji. To get the most out of the Sanford Center is all about how you define the event center's success. Ultimately we have to decide how do we define what success at this event center is and so we've been meeting this group's been meeting for a couple months and I would I think it's fair to say we've kind of got a couple ideas. The Sanford Center work group which was created last fall after concerns over staff turnover and questions about event center policies were brought forward. The city of Bemidji budgets annually a $400,000 subsidy as an operational investment that stems from property taxes. That is where the conversation began on a hospitality tax on lodging. A food and beverage tax was also brought to the table as a way to offset the use of property taxes. I think the point of the meeting last night was to further the conversation with the council and to start to formulate a plan to have some community conversations about an alternative revenue here to help that facility. While one of the reasons for the hospitality tax would be to provide property tax relief, council members discussed gaining support for the tax to fund an event center with a tarnished image due to financial impropriety would be an obstacle. This building hasn't got the best news going around the community and even if the business communities and stuff the reputation for the Sanford and Bemidji city manager Nate Matthew says that while they are aware of the negative issues surrounding the event center the issue that has the most impact is making sure the event center is a success. I mean we're aware of some of the issues of staffing and some of the financial propriety that's notwithstanding the subject that we're reviewing which is a sustainable ability to help our community. While the hospitality and food and beverage tax remains as an option the city plans to make sure everyone is on board. In Bemidji Josh Peterson, Lakeland News. To make sure there is no miscommunication about the possible hospitality tax the city will be seeking public input and will hold more meetings regarding the issue this spring. If you've enjoyed this segment of Lakeland News please consider making a tax deductible contribution to Lakeland Public Television.


I think as of lately people in general have been a little bit more sad than normal. People were going out, making plans, doing things, and then the craziest thing happened two years ago. Now that's not just my perception of the general public, that's also me. I've had a pretty difficult time trying to find the motivation to care about myself and my own personal gain, but there was something I saw the other day that made me more sad than I am right now to the point where I felt like I had to do something about it. And fortunately, thanks to Intel who is the sponsor of this video, they were able to help us out in the best way possible, hooking us up with one of these laptops featuring one of their Intel Core H series processors. I was coming home from a date. Yeah, that's right. You heard me. And the girl I'm with, as this kid that's walking by, hey, how are you doing? And the kid kept walking by and said, really bad. Now, normally when you ask somebody how they're doing, even if they're not doing well, they typically respond with, I'm good. I'm fine, because that's what most people do. Nobody just opens up in a passing conversation. Hey, man, how's it going? Oh, I'm pretty depressed. Oh, okay. See you later.  My family was not big on sharing their feelings, and I kind of hated it. So whenever I hear or see someone being honest with their feelings, it grabs my attention. So anyways, she pause not wanting to be an insensitive to the kids who just said he's doing bad and ask what's wrong. And the kid ends up telling us the story about how his friend died yesterday in a fire. And he didn't know how to handle it. He mentioned he was playing video games so that he didn't have to think about it. And he kept walking after that and just went back into the parking lot. Now, for those of you that know me, you probably know that I handled death pretty poorly, especially when it comes in such an untimely way. So seeing that in this kid, I wanted to do something to try and make his experience with it a little bit better. Now, before we can do any of that, we have to talk a little bit about this laptop. I was sent it to review it. Now, if you know me, typically, I am really critical of laptops. Normally, I actually discourage them. But there are some situations where I can see a point in case for someone needing one, such as a student or someone who is super mobile. I am a huge stickler for getting the most out of your dollar when it comes to performance. So let's talk a little bit about this Acer Predator Triton 500. Now, in my possession, my model has an 11th gen Intel i9-11900H, a GeForce RTX 3080 graphics chip, 32 gigabytes of DDR4 RAM, as well as a 2 gigabyte terabyte SSD. On paper, those specs are ridiculous. Now, obviously, if you've used laptops versus actual desktops before, you're probably wondering, well, how much difference is the performance? And we've tested a lot of the FPS numbers, which we're going to show right now. So, the FPS benchmarks go as follows for the laptop. The system actually runs off of a 2K resolution, which if you are planning on gaming for an extended period of time on this laptop, I recommend dropping it to 1080p. I personally think that's all you need for competitive gaming. But if you're keeping it at a story mode type of game, feel free to bump it up and keep it at what it is. That being said, we actually let the game run at its system resolution of 2K just to see what we would get. For Unigine Heaven, again, running at the 2K resolution, it actually averaged 83.1 frames per second. Now, if you don't know what that is, Unigine Heaven is a computer benchmark that hardware enthusiasts like myself use to try to gauge how powerful a system is when it comes to putting out FPS for games. I found this thing to be holding up to a standard that I was very impressed with. Lastly for the FPS benchmarks, we tried out Apex Legends, which is vastly more intense on a system than Valorant is, and we actually saw some performance dips which might be considered unplayable to some. Now, I did launch Apex with an uncapped FPS counter. A lot of people don't actually know to do that when they test systems out. That being said, the system was still actually occasionally dropping under 60 FPS, which for competitive games, I find that to be unplayable, and I think most people do. Again, the resolution was playing at 2K, so if you can find a way to drop it to 1080p, which is not that hard if you just right click on the desktop and adjust a couple of settings, this would actually be still a viable option for your Apex portable needs. Now for Valorant, this laptop actually got an average of 98 frames per second. Remember, that is a 2K resolution at high settings. For a laptop, I find that incredibly impressive. Another important thing to talk about with this laptop is noise. Now for some of you that have laptops, you've probably noticed in the past that if you set it with the fans being covered at the bottom onto your lap or onto a desk, the fans will be choked out and you will usually spin quite a bit faster to make sure that the system stays cool enough and doesn't overheat. While we were running benchmarks, I tried to gauge the decibels for how loud the computer is while it is under load and to my surprise, it actually stayed around 60 decibels. Now, if you don't know what decibels are, it is a unit of measurement for sound and as far as the laptop goes, I would say it's not that it isn't loud in the environment if it is being stressed, but I actually found it to be quite a bit quieter than other laptops that were supposed to be gaming laptops that I've worked with in the past. If you're to buy this laptop and you have it on an elevated surface with some holes at the bottom, much like a laptop stand, I think that this would actually be a quite... quite... that's the keyword. A quiet system, considering that again, it is a laptop. If you take a look at the specs alone, this thing has CUDA cores out of its mind, which means if you are somebody that uses Adobe Premiere Pro, you will get insane hardware acceleration for the program itself if you were looking to do something like video editing on the go. I've tried some of it on the laptop myself, nothing 4K crazy trying to run it through Proxies, but some regular 1080p edits and the laptop actually held up pretty nicely. I won't nerd out too much, but the rest of the specs are 1.71 gigahertz clock speed for the chip and 10 gigabytes of GDDR6 memory VRAM. This chip inside of a laptop is unprecedented. And from my experience, from what I have seen coming out of this laptop, paired with that 32 gigabytes of RAM, it's kinda nuts. Now, don't pay too much attention to the GPU of this laptop because something you have to pay attention to as well is the processor. Nowadays, people almost fetishize over the graphics and don't pay enough attention to the processor. I've seen it way too often. The processor in this laptop is actually insane and should not be slept on. The 11900H from Intel Core H series is so powerful it can handle what laptops before typically couldn't. This laptop can stream and encode from the CPU in case you have livestreams on Twitter and YouTube. It can also handle creative endeavors for video editing and photo editing, and it has the specs to handle your gaming needs now and in the coming years. In the past, laptop processors have known to be weaker than desktop ones because they have to be underclocked to avoid any heat issues. I can honestly say that with this specific processor and as well as the rest of the Intel Core H series, it's actually a huge step forward. As for the price, this laptop, you can find it for multiple retailers online, goes for around $2,500, and I know for that price point, usually in the past, you were able to build yourself a pretty decent computer for that price, but I would actually say considering the current market and the portability option of a laptop with all of these specs, the Acer Predator Triton 500 is actually, never thought it saves my laptop, it's a really good buy. So now that you have seen how amazing this thing actually is, I am really excited to try and put it in the hands of someone that will appreciate it more than I think I would. With that being said, I have to go pack some stuff up and I have to take a short drive with my friend Will. So what we're doing right now is we are driving over to the kid's place and from what I've told his mom is to keep it an absolute surprise so he doesn't know what's going to go on. Obviously it's kind of weird that some stranger wants to borrow you at six o'clock to shoot a video. If anything that sounds really, really suspicious and I shouldn't be allowed to do that, but the mom knows that we're trying to surprise her son. What's a good excuse for telling a kid why you're randomly shooting a video with him? I'm a psychologist. No, I'm a therapist. Will the kid think that his mom thinks that he's messed up if I'm the therapist and we're recording this in front of his house? Uh, I don't think we can park down there. Park up here. I was going to tell this kid I'm a psychologist. I was a film student. Exactly. I'm a film student. I'm reliving my glory days. Isn't it weird to walk into somebody else's house and give them free things?  I'm a film student. Is Mr. Beast a film student? Hi. Okay, so they just said to come over whenever they're ready. Okay, hello. How's it going? I'm sorry for taking so long. What's up? My name is Chris. So I work with UNLV, the school that she's going to be working at too. And I'm part of the film program. And when we were coming back the other day, you actually said something that was perfect for the project that we're working on right now. And I was wondering if you would be okay with being a part of the documentary. Yeah, perfect. Awesome. So basically, thank you for giving us permission because it's already set up. So this is this is what had been the other day where you caught my attention. So do you remember when we were walking upstairs and we're and Selena asked you like, Hey, how are you doing? Yeah. How come you open up? Because I mean, I'm not really a person not to open up. So I'm curious, most people when you talk to them, right, you say, Hey, how are you doing? Everybody's on autopilot. They're like, I'm good. I'm okay. Even if they're not doing okay. How is that?  I mean, because I really, I just thought of the thing I need to hide my emotions. If I feel sorry, I'll let everybody know and not just keep it in because like, I do, I just have it there and I'll just be sitting there forever. It's really just like easier to like say, like, if you want to hold your emotions in, I think you'll just keep them built up.  So you might as well just let them out right there in there. Who taught you that? You just thought of it. Everybody asks how you're doing. You don't feel good. Tell them I don't feel good. Don't be afraid with somebody. How old are you right now? 12, 13. If you don't mind me asking, tell me about your friend. Tell me about what happened. Well, the really thing bad thing is, I kind of said, yes, we got into a fight before the last time I seen him. And he, he hit me. And so I was kind of playing around and I kind of got a little too rough, I think. And he started getting like a little like, oh, I don't want to hang out anymore. And I was like, I told him, you take stuff to see this.  Then they moved and then they went home and I never talked to them. And then they came to move and got their stuff. And I was to sister was there. And I told her, um, hey, tell them I'm sorry. You know, he, uh, I actually am sorry, uh, we're friends. And then she said, uh, well, sorry guys were passed away in the fire. So do you have any regrets about that? So yeah, but I'm not going to keep myself back for that because I'm just going to do better. I don't tell myself every day I'm sorry. I know she never done that. I don't show anybody that part. So open about my emotions. Well, I wanted to ask you this, what was the other thing you told us when, uh, when, when we were coming up? I don't know if you remember. I remember saying I'm not the greatest, but I'm doing well. Hmm. There's another thing you said it was, uh, you said, I think I'm pretty sure that, uh, you're playing games. What games you play? Oh, I play my switch. I play Fortnite, which is your live event with my friend. Fortnite. I'm just kidding.  And switch. Well, I wanted to ask you if we can make an upgrade.   So here's the thing.  I hate, I went to film school, but I hate it. But I'm lucky in that I, uh, I had the opportunity this week to do a bit of a sponsored thing with Intel. Um, and they sent out this predator triton 500. Now this, I don't know how to explain this in a way that doesn't make me sound like an absolute giga nerd, but is one of the best laptops you can have right now for pretty much anything work, watch, whatever. Nope. Nope. Yours. Well, I've been meeting a new computer. So I was going to ask you if it was okay if you put that filthy controller down and made an upgrade to a PC instead. Yes. The thing that stood out to me about you is I was, I was looking for someone to give this to because I'm lucky enough that I don't need it. But when we were walking up the stairs, like I said, most people, they don't talk about their feelings and I think that stuff is really important. Um, I don't think you need to overload people all the time, but I really hate that a lot of people keep too much to themselves.  So it really caught my attention when we were just walking up and you're like, yeah, I'm sad, but I appreciate your honesty. So if it's all right with you, I'd like you to have this. It's set up about as best as I can set it up. It's got a couple of things on here already, but please don't play only Fortnite in here, bro. Please play a man's game. Play warzone. Well, Fortnite on PC doesn't cost money. It doesn't. Fortnite's free to play. It's the skins that they get you. But Minecraft, I really want to play a PC because there's like things you can do that you can't do on console. Right. So this is mine. Yes. Don't play too much Fortnite. You can play a little. It's not a lot. Don't worry about it because it doesn't matter. I'm gonna play so many games with my friends house tonight. Thank you. Yeah, no worries. It's all good. I hope you enjoy it. Be careful with it. I will make sure that this will start my PC. I walked here with no computer. I'm gonna walk in my friends and be like, I'm gonna get the computer. I'll see you later, man. How are you doing with your friends? Damn, she got a 10 second hug. I got like a two second. We're monetizing this hug. They're like, bagging it up. Later, Troy. Thank you so much to Intel for sponsoring this video. I really appreciate you giving me the opportunity to make somebody else's day a little bit better and hopefully their life a little bit easier as well, as well as my own personal stuff. If you are watching this video at this point, you have seen that I have not uploaded as much recently.  I will probably upload a video on my second channel to talk about some of that. Long story short, I have not been that great, but I'm working on getting better. And with that, that'll mean also putting on more content. I really appreciate you guys's patience and to people that still support me and the channel and everything that I want to do. So I hope that you found this video creative, entertaining or informative in any way, shape or form. I'm surprised I still remember how to say that. And as always, I hope you have a good day. Bye-bye.


Live from the Oracle Conference Center in the heart of Silicon Valley. Extracting the signal from the noise. It's theCUBE covering the Oracle Cloud Launch. Brought to you by Oracle. Now your host, John Furrier and Dave Vellante. Okay, welcome back everyone. We are here live in Redwood source for the pre-event commentary conversation. This is theCUBE, our flagship program. We go out to the events and extract the signal noise. I'm John Furrier, my co-host Dave Vellante. Our next guest is Fari Ibrahimi, SVP and CIO, Avaya, welcome to theCUBE. Pleasure to be here. So big organization, a lot of dynamic stuff happening. CIO, you have a lot going on. So, talking about transformation is a big thing that you're familiar with. So, tell us about your history, what you've been up to lately. What is the holistic view of the landscape that you're in now? Avaya is a software and solutions company that when I joined as a global CIO, I was asked to transform how the business gets transacted and make it a digital company, make it secure. I realized that we have a lot of customers and the customers are serviced by a 20,000 strong partner community. So, our PRM solution, partner relationship management solution is really important to make sure that it works well and so we can deliver the solutions that customers are looking for. Of course, another thing we needed to do was to leverage our own solutions. We have cloud solutions, engagement solutions, team and customer solutions and integrate all of that into a seamless sort of experience for customers and partners. We love always interviewing the CIO, especially other big companies, because you have to use your own stuff too. They call it dog fooding, whatever the phrase is and around the parts of the country, drink your own champagne. That's the challenge, because you have to be state of the art, bleeding edge and at the same time, not skip a beat on the business when it's that big. What was some of the, take us through some color around some of the things that you had to deal with from the big strategic standpoint and then some of the tactical execution. So, let me start with security. I think one of the biggest and most important activities a CIO has to go through is to make sure everything is secure. So, that's one of our top programs. Dealing with customers, it starts with going from generating a lead to an opportunity, to a code, goes a few times with customers, you give them different codes. It turns into an order, orders needs to be fulfilled, it needs to be provisioned, it needs to be configured. Eventually, they use the service, you build a customer and you need to service them. Support them after that. That's a big continue. So, Across a huge customer base. Across a huge customer base, which includes partners by the way, each one of the steps I described may have some partners in it that we work with. So, which means you have lots of systems that are in the middle of all of that continue. So, part of my challenge was, how do you go from beginning to the end? And so, there are on-premise systems, we have some cloud solutions and we wanted to do more on the cloud because we are in the cloud, we want to be cloud native, we want to be mobile first. One of our big initiatives to be cloud first. So, leveraging all of that was the big challenge that we had to do tactically, for example, we have RPRM solution was based on a cloud solution. But, since the functionality wasn't in it when we started seven or eight years ago, when we got it, we had written millions of lines of code, it's still in the cloud, but it's millions of lines of code that are all custom needs to be maintained, there's a lot of risk, there's a lot of cost. So, we have to take the cost of course out, but you have to connect the whole continuum at the same time. So, those are some of the issues I had to deal with, not to mention the whole infrastructure that had to be upgraded and so on. So, you're specifically trying to streamline your partner management system. Correct. That's the objective at my level, how are you doing that and what role is Oracle playing? So, Oracle played multiple roles here. First of all, Oracle was willing to work with us to map out our requirements and see what we need, work with us and our system integrator emphasis, so we can do that. That was number one. Number two was that to look at the roadmap that Oracle provided to its customer for its cloud service and offer to include many of our requirements in that roadmap with a very specific delivery time. So, from a CIU perspective, that's great because I can now eliminate about 80% of the customizations we had built over the years. And then focus... 80%? 80%. And then focus on... That brings a smile to your face, right? Yes, thank God. Just think about the cost that saved the amount of resources I don't have to spend. And then I can focus on value out on the pieces and leveraging integrations between our own products, the other 20%. And we use Oracle brought in the idea of Oracle Java Cloud that I can use to build our solution and connect the dots as well as integration cloud services. So we can actually integrate with other solutions we have. As I mentioned, for example, in Managing Lease, we use Oracle Marking Cloud Lelequa. So connect that to our opportunities with our CRM, connect to Oracle Sales Cloud, and then our own internal system we built called OneSource. And then eventually with our ERP, which is SAP, and Siebel, which we use for service. All of that could be integrated as part of an overall cloud solution. And basically it acts more like a fusion middleware in the cloud. So we use fusion middleware inside on premises, use it similarly in the cloud. But it's very easy to do and it solves a big problem of integration across the different cloud. In Infosys they're doing the heavy integration lifting or what's their role? Yes, so Infosys is our integration partner and implementing some of the functions. We also have our own resources. There's a close partnership between Infosys, Oracle, and us to deliver the end-to-end solution. Okay, and then sort of, what's the outcome that you want to see? Let's think about a couple of years down the road. So the outcome is that we eliminate, as I said, 80% of the customizations. These are all custom apps in the cloud. Ah, sorry, that's the objective. That's objective. So a few years from now, when we finish, we have what I call a partner engagement management, where we engage partners, we engage our customers in an end-to-end life cycle of the customer from beginning when the lead is generated all of it through service. And that's where I expect it to be. And we expect to reduce our cost by about 30%. That's consistent. 30%. That's consistent with a lot of customers we talk to. In fact, I'll make a bold prediction that at some day, Oracle will announce an engagement cloud product. So, since they're doing in cloud on everything. I wonder if I could back to the economics. So you're going to cut overall cost by 30%, even though if I do the math on the back of an app, I may spend more on renting IT than I did if I owned IT. But you're going to cut other costs. Is that right? Does your math say the same thing? That's correct. But remember, when you have lots of apps on the cloud already and your own apps, the cost is already high. So what we are doing is to reduce the cost of multiple apps that are different on different cloud. You bring it all together in one place. It's a lower cost to begin with. And remember, the cost is not just that. It's the integration and maintenance of all the different things. Because remember, we have these mobile devices that are small screen. They don't want to go from app to app, you know, website to website to find information. You want to be in one place to give that seamless end user experience. There's a tremendous amount of integration. And that's where a lot of the cost is. So we think this could reduce the cost. Plus, I don't have to write lots of code because the integration cloud service allows me to basically draw up the integration and interaction and I can just eliminate lots of code in the middle. So you're taking cost out of your business. Oracle actually could make more money long term as an example the vendor could. So who loses? Now what happens to the employees?  You re-skill them? We want our employees to be focused on our customers in all reality and honesty. Instead of them trying to respond to lots of phone calls, you know, voicemails, you know, read emails. And then, you know, you've seen these emails that people use as a workflow engine. So it's like, you know, 200 lines because 10 people responding. You have to read the whole thing to figure out what's going on. With the integration, we free up their time to actually serve the customer. And the customer could be a partner who's serving our end customers, could be our own direct customers. Have you seen any examples of this so far? Or is it, I mean, as I know it's early, but is there early indications that this is happening, this productivity boost that you're applying? Yeah, I mean, what we've seen is that in areas where we've deployed our engagement solutions, customers and our own employees spend 20, 30, 40% of their time on serving the customer more rather than responding to, you know, emails and phone calls and so on. So we've got a few minutes left. I want to ask about developers. End user productivity experience, you check that box off, feel good about that. Business use, that's the insights, orders and life cycle. Developers, what's your strategy for developers? You get the transformation going on. Cloud is big, DevOps is big, not a skill set that's widely available, but more people are becoming trained. You get data science out there. There's a ton of new skill sets. How are you looking at the development piece? And how does that integrate and where's the line between non-developer and developer in your mind as CIM? Well, I think DevOps is here, it's real. I think that's what we use to be able to invest our time in terms of having developers learn the latest technologies and live in the crowd and build the integrations rather than worrying about, oh, my server is not available, and how much memory it had, and diagnosing the whole array from the bottom of the stack on a server and storage all the way up to the application. I want them to spend more of their time in the applications. So by having a standard platform like Java, they can learn that, they can work across the different platforms. So we are spending most of our time training them to be optimal. That's a good use of time to have developers working on actually the analytics on the app side where the value creation is. So that's where the value is shifting to the apps. Correct. Yeah, well that was our debate on race to zero, Jave, it's not, it's maybe a race to zero at the infrastructure level, you want to eliminate that, abstract that away. Move that up to the top. So apps are going to be the real future, it's going to be mobile enabled world, and people want to use these apps in a very simple way, few clicks, actually information delivered to them, rather than them searching for information. Great, and real time real quick, is that part of the equation right now, or near real time, or near near real time sufficient enough in your business? Yeah, I think near real time, I think would be a true statement. I wouldn't say we are completely real time yet, because we still have integrations to make as part of this implementation I was talking about, but that's our goal to get near real time and eventually real time, but that's going to take some time. Final comment for the folks out there, or CIOs, and there's a lot of folks online watching, they love, we love global CIOs on theCUBE, because it's just so much fun to talk about what's actually going on at the edge of the network, and which is your environment. What advice would you give folks out there who are trying to get around the transformation question, they're trying to get their mind around it, then their arms around it, and then ultimately have a plan and then operationalize some of the key things that'll be a lever for cost reductions and more top line revenue? My advice is that to look end to end first, put the customer, your end user at the center of your thinking, and build processes all around it. So you need something like a process cloud to be able to connect all the processes. Leverage partners that can give you standards, standard interfaces. You want partners that can help you deliver quick so you can quickly go through a DevOps model, and don't be afraid to fail. Small failures are okay, as long as you can move quickly forward. If you're going to play with a knife, don't put it near your jugular vein, that's what I always tell my kids. Now, when we make these mistakes, you know, this is the new model. Thank you so much for sharing your insight. Global CIO here on theCUBE, we'll be right back with more. Pre-gaming Oracle Larry Ellison Cloud Platform Announcement, we'll be right back after this short break.


So, the next speaker is Sebastian Dröger and he will be talking about G-Streamer and Rust or how to be fast, safe and productive. Let's give him a welcome. Thank you. Good morning. So, today I'm going to talk about, as you said, G-Streamer and Rust. But first of all, I will tell you who I am. So, I'm a G-Streamer developer since about 2006, a long, long time now. Did you speak up a bit? Yeah, I can try. So, I'm a G-Streamer developer since 2006, which is quite a long time now. I probably touched every piece of code over the last years. I'm doing currently the releases. And I'm one of the founders of Centricular, a consultancy company providing services around G-Streamer and related software. And since about 2014, 2015, I started experimenting with Rust and also with how we can use Rust for G-Streamer. And that's exactly what we are going to talk about today. In the beginning, I will introduce what G-Streamer is. Many of you probably don't know that. Then talk about why Rust is a perfect fit for G-Streamer. I will explain a bit what you can do nowadays, what kind of projects using G-Streamer you can write in Rust and give some kind of outlook into the nearer and farer future. And in the very end, something personal, a bit my experience with Rust for doing all of this. And maybe this also gives others some idea how it is to work with Rust for these kind of projects. So, what is G-Streamer? I will only give a very, very high level, short introduction. If you want to see details, go to the website. There's lots of documentation that you can read, probably more than you want to read. But from a very, very high level, what G-Streamer is, it's a pipeline-based cross-platform multimedia framework. It's completely open source, free software. It's LGPL licensed. And there's no big company behind it. There are lots of bigger and smaller companies that are driving it, but most of the development is really something that is community-driven. It's quite widely used nowadays, also commercially. You can find many applications using it, TVs, drones, cameras, all kinds of things in the cloud. And it's running on Linux, Android, iOS, Mac OS, Windows, basically everywhere where you have some kind of C compiler and a standard C library. And it's not, at this point, used only for multimedia-related things. There are also people using it for other stuff, for example, the LIGO project that was detecting the gravitational waves. They're using G-Streamer for their data processing, and that doesn't have anything to do with multimedia at all anymore at that point. So I said G-Streamer is pipeline-based. What does that mean? So in G-Streamer, the basic components that you have are so-called elements. There's something that are processing media data or data in general, and you connect them to other so-called elements. And each of these elements in the end is doing one little task. So for example, what we have here is a very small pipeline that could be used for playing a video file. So you have one element that is just reading from a file. In this case, another element that is splitting the file into the audio and video parts. Then you have decoders for the audio and video, and in the end, it goes to the speakers or the screen. And this is a playback example, but you could also imagine that in the beginning, you have an element that is outputting the video from your camera, the audio from your microphone, could have an input that somehow reads over the network. You could send data out over the network. In the end, each of these elements, they could do anything they would like to do with the data. And you're taking all these little components, put them together, build bigger components out of them. And in the end, you have something like Lego. And you can build anything you would like to out of this, out of small, little components. And in this picture, it all looks quite static, but if you're actually writing code, doing these things, you could also change the topology of the pipeline graph at any point in time if you want to or if you need. And the general philosophy of GSTUMA is that we provide some kind of toolbox for higher level multimedia processing. It's not a finished solution for anything, but it's something that allows you to build solutions for anything you would like to do. And the basis is that we have some kind of flexible, extensible design that is based on simple ideas like what we saw before with the pipelines. It's a very generic API. The core GSTUMA API does not know anything about multimedia. It doesn't know anything about video or audio. That's something that is added in other components. And the main focus is on making it very easy to embed GSTUMA into other things in both directions to make it easy to embed GSTUMA in applications in other frameworks like Qt or WebKit. They are, for example, able to use GSTUMA for their multimedia needs, but also on the other side to make it easy to embed existing multimedia solutions into GSTUMA like FFMPEG, OpenCV. We're not redeveloping the world. We try to make use of whatever is out there already. And the target systems are everything from embedded systems upwards. And I said GSTUMA itself doesn't know anything about audio and video. Everything is added via plugins. And we have some kind of batteries included philosophy here. There are more than 250 plugins provided by GSTUMA if you just get the source code and build it. And there are also plugins that are reusing existing libraries like FFMPEG, OpenCV, and what I mentioned before. And in addition, plugins that allow you to use things like on your embedded device, the hardware codecs, or to use cameras and stuff like that. The other thing here is GSTUMA itself is completely written in C at this point, but nobody wants to write C. So we provide bindings for many other languages like Python, C Sharp, C++, Java, Go, D, and also Rust. I wouldn't be here otherwise. And yeah. So what GSTUMA is not. It's not a media player or playback library. It's not a codec or protocol library or not a transcoding tool or not a streaming server. Many people seem to think that. That's not what it is, but it's something that can be used for building all these things. It's something more generic. Well, and I say it's not a playback library, but nowadays we also include a little playback library to make your life a bit easier if you want to just implement a playback application. But it's not the main focus. So now let's talk a bit about Rust and why GSTUMA, why for GSTUMA Rust is something like the perfect fit. Well, first of all, we have the usual suspects. The memory safety, the fearless concurrency, and that we have something that is a modern language, not from the 70s anymore and something that has modern tooling. So if I say here memory safety in the past in GSTUMA, what we had is a couple of CVEs, many bugs related to memory safety, which might not be really a security related. Often they are, but it might also be just something that is annoying. If you watch a movie, for example, you don't want it to stop in the middle just because something is crashing. And most of these bugs would be something that would never have happened with Rust. Sure, there would be other bugs, but at least not those. The other thing is GSTUMA is heavily multithreaded. As an application developer, you don't really see that. But internally, everything is running in different threads. In a normal playback application, you easily have tens of threads. And it's very annoying to do this kind of development in C, and Rust can help here. The last part, I said everything is written in C. Nobody wants to write C. Even worse, in the case of GSTUMA, it's using GObject, lots of macros, very hard and difficult to learn. And using Rust could make everything much more convenient to use. And ideally, it would also allow us to find new developers interested in using or developing for GSTUMA because new developers, they want to have fancy tools. They don't want to learn this weird C and GObject stuff. They want something more done. And similarly, Rust is perfect in the context of GSTUMA because it does not have any runtime. It does not have any garbage collection. And the keyword zero cost abstractions because our goal is to run on everything from low-power embedded systems where you can't really afford a big runtime or a garbage collection up to anything that is huge. And in general, whenever you do something with multimedia, you want to be able, for example, to have control over where things are allocated, when are they allocated, when are they released again. And in the case of Rust, what also is quite useful and nice is that everything in the end is compiling down to very optimized code. You don't have something like an interpreted language behind that. It's all very fast and low level. And the last part that I personally like very much is that the ownership model for things like video frames or in general media data and all kinds of other processing related things inside GSTUMA, the ownership model of that maps perfectly to the ownership model of Rust. And so far from all the languages that we support, Rust is the only language where this mapping is really one to one. And in the end, if you know a bit the Arc type in Rust, it has something that allows you to do a runtime copy on write. So you can check with this reference content container thing if you are the only owner. If you are the only owner, you can write to the thing. If not, you might have to take a copy. And this is exactly how the basic types in GSTUMA are working. If you're the only owner, you're allowed to do whatever you want with it. Otherwise, you might have to take a copy instead. And the nice thing here with Rust is that we have that all in C. In C, you have to call all kinds of functions manually. In the case of Rust, the compiler is making sure that you don't forget to do these things. And to some degree, it's also all happening automatically. So then let's talk a bit about using GSTUMA from Rust, what is possible at this point. So the first thing that you might want to do and what the majority of people using GSTUMA are doing is writing applications. So at this point, we have almost complete bindings of the GSTUMA core and lots of the helper libraries available. It's all based on the infrastructure that GTK-RS is providing. It's also using the same code generator to generate most of the bindings code from the API metadata that GSTUMA is providing. And you can find the code here. In the end, providing some kind of safe and more or less idiomatic bindings to the GSTUMA API. If you know GSTUMA, you can probably easily learn the bindings because in the end, all the functions are called the same, all the objects are called the same. It's just a different language. But different to see you actually have something that is safer or, in this case, actually memory safe to use. Personally, I use the bindings now for everything I can, including test cases that I have to write, even for things when if there's some kind of bug reported in GSTUMA and I need to write a test case, I'm just writing the test case in Rust because it's much more convenient and faster. And because it's so close to the metal, the debugging of things that are actually inside GSTUMA from a Rust application that's just like as if you had written the test case in C. There's no heavy runtime or anything in between.  You can also find it on crates.io. It works at least on Linux, Mac OS, and Windows. I didn't try it anywhere else. I would assume that it also works elsewhere. The other part that is very important for GSTUMA is that all the functionality is provided via plugins. And with the code that you can find here, you can find some kind of infrastructure that allows you to write plugins for GSTUMA in Rust, completely plain Rust. There are, for writing the plugins, you don't have to use any macros, any weird language constructs or anything. You just have to implement a few traits and implement the functions of the traits, and that's it. You also don't have to use any unsafe code unless you want to. And it's really convenient to write GSTUMA plugins like that. Of course, not everything is perfect. As I said, GSTUMA is based on the object, so there's some kind of object-oriented paradigm behind that. So in GSTUMA, there's lots of inheritance happening. Well, it's kind of emulated in this infrastructure with traits. It's not perfect, but it works. And it's not as ugly as I would have expected from before I started this. So what is currently available as plugins written in Rust is FLVDMAXR, which is the container format that was used by Flash in the past. There's an HTTP source that is using Hyper. There's some audio and video filters available. There's Amazon S3 source and sync available. In other repositories, there's a start of an animated GIF decoder, VA API sync, and all kinds of things that I probably don't even know about. It's not complete yet. It's in the very early stages. But nonetheless, it's useful already. And you can use it to write GSTUMA plugins to extend GSTUMA with new functionality. And all these plugins, while they are written in Rust, they will work in any GSTUMA application no matter what language this application is written in. So for the future, of course, the plan is to write more Rust, to write less C, especially new plugins. If possible, it would be good to have them written in Rust now. And some of the ideas that have is to write a plugin around Rust AV, which we will have a talk afterwards. There are various codec libraries already available in Rust. There's a Flux decoder for the Flux audio format. There's a Warbus decoder. There's the start of an AV1 video encoder available, some subtitle decoders. And it would be nice to wrap all these existing Rust libraries in a GSTUMA plugin. Because then, every user of GSTUMA would have something safer available, something that is not wrapped around decades old C libraries that nobody's maintaining anymore. So that would be very, very nice. The other thing would be to write more applications, more useful applications in Rust. Currently, there are not that many out there. People are just starting to use the bindings. And all of this is something where you can also get involved. If you're interested in this kind of stuff, just look at the existing code. Look at the existing examples. If you have any questions, ask me. All this is something that I really care about. And if you need help with that, just ask for help. What we are not going to do at this point is to rewrite GSTUMA and Rust. It's a lot of code. Nobody is going to have the time for rewriting all that. But in the long run, if we continue to see that Rust is really the perfect fit, core GSTUMA components could be rewritten in Rust. But that's all in the long run. First of all, applications and plugins, which is already a huge part. And also now would be the perfect time for you to start writing GSTUMA applications and plugins in Rust. All what you need is available already. And also people that didn't touch GSTUMA before, because this is all C, this is weird object stuff, you can also start now if you prefer Rust. So I don't have that much time left, so I will speed up a little bit. So my Rust experience so far, as said before, I'm using it for my own projects wherever possible. We at Centricula, we are also using it for various client projects by now. It's mostly little applications or plugins. And for myself, everything is much, much more enjoyable to write in Rust than in C. And also more enjoyable, or also from what I saw so far, Rust is much better suited for this kind of applications than any of the other languages I tried before. Some things that I noticed though is that people are generally very afraid of unsafe code. So what I notice is that you really shouldn't be that afraid of unsafe code, especially if your alternative would be to write something in C. In C, everything is unsafe. It's just not written on it. So if you really have to use unsafe code, don't be afraid to do that. Just do it, but wrap it in safe abstractions. And before you do something very complicated and never get your code finished, it's better to do something unsafe, especially if it's impossible to do otherwise, like for FFI or for optimizations. Or in some cases, if you implement your own data structures and have situations where you can't possibly convince the compiler that what you're doing there is safe, these cases exist and, well, use unsafe code if you have to. Another thing I notice is that people are looking at Rust projects and also, for example, the Jisuma bindings. And they have a million dependencies. And people coming from C are usually very afraid of that, because dependencies, that's something very difficult. Some have to compile all that. And other people's code, it might not work properly. You might not have a way to fix it. So far, my experience with Rust in this regard is quite the opposite. It's very easy to depend on something new. It's very easy to create your own fork of that if you have to fix something in the maintainers, not available. But what I noticed so far is that all the projects that I'm depending on, the maintainers are very active, very friendly, and helpful. Even if I don't want to fix anything in there, usually they are interested in fixing it. And otherwise, usually the code is kind of clean. You don't have the situation that you often see that you might use a library that was written 20 years ago in a code style that nobody would use nowadays anymore. And it's just impossible to read. But I guess that's just because the language is kind of new. And the other part is people shouldn't be really afraid of performance penalties for using higher level abstractions, especially things like iterators. They look like complete magic, but in the end, they compile down to very fast and optimized code. So in general, what I saw is don't worry so much about optimizing things. In the beginning, just write readable code. And you will notice that for most things, it is already as optimal as possible. And in general, as usual, when you optimize in the end and you measure first what you want to optimize. And what I saw so far is that most of the things that I was writing, even the inner processing loops of audio filters, for example, in the end, the assembly that the compiler is outputting, that's basically the same thing that a C compiler would have output, or sometimes even better. But not everything is perfect. The language is continuously improving, but there are still many open construction sites. And for myself, I have a little wish list of things that I would really like to see in stable Rust in the near future. And these would be all these little, little items. So everybody who ever wrote a little bit of Rust code probably saw that at some point, you have to fight with a bold checker. And the non-lexical lifetimes are going to improve this situation a lot. And it's inightly already, as far as I remember. So it should be stable at some point in the future, we will see. And other things are supported in stable Rust releases for SIMD instructions, which is currently not available. Something which would make many multimedia processing tasks much, much faster. It's something that is available in nightly. But ideally, I wouldn't like to use nightly. And another thing would be the ability to use custom allocators. Also something that is in nightly but not stable yet. All the other parts are something that is planned or that is not even planned yet. We will have to see. I think Luca, who is doing the next talk, will also talk about these items in more details. And with that, I'm done. Thanks. Any questions? They can't write a plug-in, upstream plug-in in Rust. So they can't contribute to the big, decent plug-in. Can you repeat the question? So the question was that he was talking to someone before who was writing GSTMA code and why they don't use Rust. And the answer was currently it's impossible to submit Rust GSTMA plug-ins to the existing GSTMA source code modules, which is true, unfortunately. But for that, at least my plan in the near future is that we will have a new plug-in module called, I don't know, GST plug-ins RS or something like that. There is already the start of that. And then you would just have another module that has all the Rust-based things. The main reason for that is that it can't be merged in the existing modules is that you have to convince people that this new language is something that is not going to make their life more difficult to have inside the main source code modules. And also, currently, the build system is all auto-tools or MISON-based. And building Rust code from there is not trivial. So something else that is separate and completely cargo-based would be much nicer. But the goal is to have something like an official Rust plug-in module where all the things are collected. Do you see some of the official plug-ins replaced by Rust versions in the future? Probably. So the question was, if I see existing GST-MAR plug-ins replaced by Rust versions of them, and yes, I think so. There's one that is the FLV demuxer that I mentioned earlier that's almost feature equivalent with the existing one that is written in C. And that could very well replace it. But in the end, we don't really have to replace it. It is enough if it exists as an additional demuxer. We could give it a higher priority so that whenever it is installed, it will be used. And otherwise, people who don't want to worry about how to compile this weird Rust code, they could just continue using the C version. But yeah. Same thing with the HTTP source that I mentioned before. The goal is to make it feature equivalent with the existing one written in C. And then it would also be a replacement.


Scales allow you to evaluate or rate a learner's performance. To create a scale, navigate to the Site Administration menu. Select Grades. Select Scales. Select Add a New Scale. Give your scale a name. Administrators can create scales that are available site-wide, and editing trainers are able to create core specific scales. To make your scale available site-wide, ensure Standard Scale is selected. In the Scale box, create your scale. Each item in the scale should be separated by a comma. You can use as many options as required. Enter in the values from the lowest or negative result to the highest or positive result. Add a description if you wish to do so. Once you are happy with the settings you have selected, select Save Changes. Now that we have built our scale, we can now set up our outcomes. Outcomes describe what a student has demonstrated or understood at the completion of an activity or course. Each outcome is rated by a scale. To build an outcome, you must first enable outcomes at the site level. Navigate to the Site Administration menu. Select Advanced Features. Tick the Enable Outcomes checkbox. Select Save Changes. Outcomes is now enabled. We can now begin building our outcome. You can build both course level and standard outcomes, depending on what you require. For this example, let's build a course level outcome. Navigate to the course you wish to build an outcome within. Navigate to the course administration menu. Select Outcomes. Select Edit Outcomes. Select Add a new outcome. Name your outcome. List the outcome short name. If you would like this outcome to appear elsewhere within the site, select Standard Outcome. If you just want your outcome to remain within the course, leave this box unchecked. Select the scale you would like to apply to this outcome. I'm going to select the scale we have just built, Pass Fail. Add a description if you wish to do so. If you are happy with your settings, select Save Changes. The outcome now appears under the Custom Outcomes. Let's do a quick demonstration of how you can apply an outcome to a course activity. Navigate to your course. Select Turn Editing On. For the purposes of this demonstration, I'll build an assignment activity using the outcome we have just created. Select Add an Activity or Resource. Select Assignment. Select Add. Give your assignment a name. Add a description as required. Add any required files. Select the dates you wish to allow submissions from, the assignment due date, and cutoff date. Select whether you wish to allow online text or file submissions. If you wish to place a limit on the maximum number of words or uploaded files, you can do so here. Open the Outcomes drop-down menu. Select the outcome we have just created. Once you're happy with the settings you have made, select Save and Return to Course. The outcome is now associated with that piece of assessment. To see what this looks like from a student perspective, let's switch roles to a learner. We're now viewing the course as a learner. Select OHS Assignment. Select Add your submission. Add any required files. Upload this file. Select Save Changes. Now let's switch to an editing trainer role. You can see that the trainer now has the option to view and grade submissions. Select View All Submissions. Select Grade. The trainer has the option to assign a grade and an outcome. From the drop-down menu, we can select from our scale. Once the trainer is ready to finish grading the assignment, select Save Changes.