Hi all, welcome to this talk slash demo about how we can enforce policy and ingress. The on-route index controller API gateway indicates with the open policy agent, which you can use to enforce with the policies. Of course, you can join the Slack channel. Feel free to ask questions through the contact page. If you need help or support, Slack is a good way to reach us. That's me and Chintan Thakkar, founder at SARAS. This talk is going to be about on-route. It's how on-route is a lightweight model of filters. So we'll go over how the integration with OPA works. What are the filters involved? What are the filters we are going to use for this demo? We are going to work a bit with JSON web tokens, so we'll use a filter for that. Anvoy has a Jot filter, so on-route programs that filter and the provider is going to be Auth0. Along with that, we are going to use the external authorization filter, which we'll talk to OPA. We'll program some policy on OPA and see it being enforced. This is the high-level architecture. On-route has a very modular architecture. It's a lot similar to how on-route does it. On-route is a fairly lightweight Shimano on-route proxy. You can enable, disable all these functions like OIDC or SSR, TLS, logging, WebAssembly, of course. We also did a talk on WebAssembly and rate limiting, Lua, external authorization, OPA. So all these are filters, a bunch of these are filters, which you can enable, disable at a high-level to enforce policy for your traffic window service. So here, especially, we are going to talk about how we send request state to OPA, OPA checks the policy and return response depending on what the policy does to the incoming traffic and will sort of inspect the whole cycle. On-route one step, it is for North-South security and traffic management. It sits at the ingress and the one-step configuration essentially you can declaratively, without writing any annual, execute one command and have the required policy enforced for your traffic. And of course, it's all CRD, so it's Kubernetes native. It's built on on-vibroxy, of course. And yeah, this is one of the key things. You can define policy once. You can use it for Kubernetes. You can also use it for non-Kubernetes workloads because on-route has the ability to not only run as an ingress controller, but you can also run it inside a Docker container as a standalone gateway. And it is declarative with no YAML because without writing YAML, you can basically program the standard function. So for instance, in today's demo, we are going to enable the Jot filter and that was just set up by executing a help command with the Jots which turned on. There are three versions of on-route. The open-source version, the community and the enterprise. The open-source source code is available on GitHub. The community version has premium filters like rate limits, WASM, which are typically paid plugins, Jot, you know, I mean typically other gateways. Jot, what is this? These are all free in on-route and the enterprise version has a few additional filters, OPAS and enterprise plugin features. You can check out all the features on the get on-route page. So what's open policy agent? It's a general purpose policy engine. What that means is you can write any policy there with all the attributes and it'll do the enforcement. It's attribute-based access control over RBAC. Typically an example of an RBAC would be restrict access to finance app or to CFO org or the finance org. So anytime a user comes in, they get mapped to the corresponding role like a finance rule and then the enforcement happened. Whereas in attribute-based, you can provide richer policies like restrict access to a finance app to the CFO org while the CFO, the person who's accessing it, is at a specific location and only when they're using the specific device like that laptop and of course you can also say during this time duration. So it sort of provides a very rich layer of attributes that you can use to define your policy and OPAS is the right tool to do that kind of stuff. So for this demo, we have a system setup. So we have already installed on with the OPAS integration and then we have installed an example workload in HTTP bin. We have installed the Jot filter and the idea behind this is that all these things are available on the getting started guide. The getting started covers how to set up the Jot filter. So we're not going to go over that stuff but all the details can be found here. So you just set that flag and Jot is enabled. So today what we're going to assume is that we have on root setup and the Jot filter is enabled. By the way, this OPAS plugin details are also on the docs page. There's also a very small video of how OPAS is enforced. So there's some information about the OPAS integration with on root on the page and also of course how the configuration looks like and some OPAS policy. But we're going to look at the OPAS policy in more detail here. So the idea here is that the stuff in gray, we already have it set up and we are going to quickly go through the stuff, the enforcement of Jot claims and the OPAS policy. So we are focused on that aspect. So let's quickly invoke a request. So we have HTTP been set up and what we are seeing here is that it got denied. So let's do that again. So here we can see that Envoy does not like the request because the Jot filter is enabled and we have not sent it a Jot. So let's quickly look at the filters installed here. So here we can see we have the Jot filter which is enabled. As far as the Lua filter got programmed and then we also have the external OZ filter. This is the OZ filter that essentially helps us talk to OPAS. So we have OPAS running along with on root and the external OZ filter is configured to send request to OPAS to verify policy. And let's also look at the filters. So we have the Jot filter set up. So note that these all filters got set up automatically once we specified those switches on the help command. It just sets these up. We are going to use OZ0 for our test. So OZ0 is the GWorks provider and we are going to see how we'll send a Jot token and it is talking to OZ0. We have an account on OZ0. So it's talking to OZ0 to verify the token. So let's quickly generate our token here. So here we have several different types of permissions that we have defined. Read finance, read marketing, write finance, write marketing. And for this specific example, let's go ahead and provide the read finance permission. Now we'll do a deep dive into the OPPA policy but just to get going with the demo, the read finance is something that OPPA is going to deny because what we have programmed OPPA for is only allow requests through which have the write finance permission. So read finance will be ignored but at least we won't get a message saying the Jot did not get verified. So there are two gates here. The first gate is the Jot gate and once we pass the Jot gate, Anwar is going to send it to the external OZ service which is going to go to OPPA which is going to verify the policy and it's going to see that it doesn't have write finance and it's going to deny the request. So let's just quickly send that header here. That's the header. So now we are getting a 403 forbidden. Of course that's coming from OPPA and maybe we can look at the OPPA logs. So let's quickly look at the logs here and we see the result as false. So that's why we are getting a 403 for our request. So that's the request on the post. So we're going to inspect the OPPA policy in more detail but this is just to get started. So earlier we sent a request without the Jot and it got kicked out by Anwar and now we're going to send a request with the Jot with a valid Jot. So Anwar is going to be okay with that but at the same time OPPA is not going to like it. So that's that and now let's continue with the presentation. So yeah, this is the same thing I mentioned earlier. So there are a couple of filters used here. First is the Jot filter and the second one is the OPPA filter and once the Jot is verified the Anwar Jot filter and if the Jot is valid it's sent to OPPA. OPPA verifies the claims. The OPPA verification of claim generates and allow or deny. We got to deny this time and then if the claim is valid it's sent to the service. So let's quickly look at how the OPPA policy looks like. We are only going to allow requests which have a claim of right finance. So now the request we sent let's quickly look at how the claims on that works. So here we can see the scope of it is read finance and this is the same thing that we had used here to generate the read claims and essentially OPPA doesn't like it. So here let's even look at the OPPA policy. So here is the OPPA policy and what it does is it extracts the it takes the authorization header and it extracts the token from it. So it moves past the better string and then once it has the token the token gets decoded. So you get the token. The token gets decoded and once you have the payload the payload has the claims and then you want to ensure that the claims have right finance in it and what you're going to query against is envoy or to Z allow. So the request is going to get allowed if you find this claim but like we noticed like we checked in the current request the claim is read finance which is what we will of course sending and now let's just quickly send a write finance kind of claim and ensure that it gets to go through. So let's use that. So now the request went through and that is because OPPA policy was able to evaluate and allow through. So let's quickly look at the OPPA log again and see what it shows. So here we see the result was allowed and it called the authorization header. This is the authorization header that it passed to extract the token and extract the claims out of it and verify it. So that's sort of a high level demo of the OPPA integration. Let's quickly look at the OPPA policy a little more. So what we are saying is the method should be post, the path should be post and you should have a claim that needs a write finance right. So even if we do a separate path it's not going to like it right. So let's try to get this is typically a valid path but OPPA should deny it. So this time it just denies it because the policy doesn't allow for that. So the policy only allows post on a post path. So that's pretty much what I had and that concludes this session. So feel free to try out on-road gateway if you need to use OPPA or Azure as a message and we can work with you to help you try it out. Thank you.


So I haven't really vlogged a lot this past week because to be honest I haven't really done much and I didn't want to post a vlog that was gonna be really dull and boring and this is probably gonna Be dull and boring, but if you want to know what I'm up to here. It is Also the temperatures dropped. I've had to like wrap myself up with my blanket So I'm really sorry about that. I'm bringing you some tartan Because I really love tartan Okay, so the past week. I've had a few days off actually quite a lot of days off this week and Barely anything to do. I've picked up one bank shift this week just one and The rest of the time I had a couple of appointments at uni. So I Had to go into uni talk about a workshop that I'm gonna be setting up I had to go into uni and hand in my passport or the buddy week Which I'm really excited for and then towards the end of the week on Friday What did I do Friday and Friday I had my doctor's appointments So I've been feeling really tired and things lately and I was thinking I should probably make use of my doctor because I never go So I'll do that since I've got a day off But luckily I thought you know what I'll try and fix it if I'm tired and things I'll try and drink more fluids I'll try and eat more and foods that got a lot of a lot of iron in things because maybe it's an iron deficiency Maybe I'll try and eat better eat a bit more fruit and veg and things and to be honest It hasn't worked. I've been exhausted and if you're on my social media You'll see I don't post a lot after 9 p.m. Because I'm asleep. I am k-o'd and then I'm awake about half six seven but recently I've been getting up about eight o'clock and I've been sleeping a lot. So and then I'm still tired. I've get really good night's sleep I don't wake and I'm still tired. So I did want to book in and just get it all checked out because you never know So I went in I had my bloods done and oh my god The doctor was so lovely and she got me sorted like that and she saw me holistically as well And it was just amazing to be on the other end of receiving good care if that makes sense and Seeing what good care is I told him a symptoms But then she was going around and thinking more open about it So she was asking about my social life if I was stressed if I had a lot going on I'm overdoing it then she printed me off a load of mindfulness just in case Because obviously then I told her I'm a second-year student nurse and yeah That's when she thought she's probably stressed and to be honest it could be I do a lot and My mind is constantly on the go and mindfulness and meditation is definitely something I need to start doing a lot more of So I do need to incorporate that because I always give this advice to other people I'm like, you know what take some time out for yourself. Take time.  Oh, what have I got to do next? What have I got to do? We'll do a vlog on this. Oh, yeah, I can do this. Oh, no, I need to edit this Oh my god, I need to edit my assignments. I need to revise. It's a minefield So yeah, long story short. I had my bloods done She sent me straight round the court the corner to the hospital next door to my doctors because they do Bloods all day every day. So she said just take this round corner have them done now if you want and I was like What I've never had that treatment ever in my life Usually you have to sort of book a new appointment and go in like the week after for your bloods I've never been told you can have your bloods done there and then straight away. That's really bizarre So I was seen I was sorted I was done and then she followed it with I'm gonna ring you on Friday and give you results I was like, what do you mean me on Friday? Don't I have to ring for my results? And she was like, no, I'm gonna ring you on Friday With your results unless there's anything serious and then I might ring you before I was like, okay, no problem. Thanks for that Amazing. I'm going back to you So maybe there's crossed my bloods are okay. Although if my bloods are okay, that means I am actually really stressed. So I Don't know which one I want more We'll find out by the end of the week So then I started the weekend by revising. I know Let me show you actually let me show you my flashcards. So I've made some flashcards at the weekend are surrounding sepsis and DK a so these are my flashcards that I've done so far. I don't know if you can see that I've only done a few I didn't overdo it with the revision this time because remember last time if anyone's watched my previous vlog I over revised and I was really stressing myself out. So I've just made some basic flashcards And so the signs of sepsis. I've done one for sepsis 6 Which is the six steps of managing sepsis, basically I have done a couple of little I don't know if you can see that. You can't really see it on there like the Screen keeps going funny a couple of like care plans on managing sepsis and blood pressure and then I've done a couple on hypervolemic shock and The stages of shock. Oh No, this one's and hypervolemic shock and the compensation. So I've done cardiovascular compensation renal compensation mechanisms and respiratory compensation and I've done stages of shock So there are one two three four stages of shock and the different types of shock on the back and Then I've done a bit about referred pain just a little bit on referred pain and How you can get referred pain that was really interesting. I love that session And then I've gone into DKA acidosis. That's a really bad flashcard. I'm a sort of gave up on that one I think but I've done this table and This table is really really good.  So it's either going to be acidosis normal or alkalosis And that's how you tell I'm going to put the link actually because I actually got this table and copied it from a blog that I read all about understanding blood gases and the blogs really really good if you struggle with blood gases and understanding what's metabolic Acidosis and what's respiratory acidosis? This is amazing and this blog is amazing. So I'm going to put her link below Her name is nurse Fred hi nurse Fred She's amazing and she does all these little things and I keep reading her blogs and I think that's really good I really understand this. Yay. Thanks nurse Fred. She must be a great mentor to a student nurse if she is and then What else have I done? So a bit more about respiratory acidosis then a bit on metabolic acidosis a bit about DKA So in DKA why you get dehydration? Why you get the abdo pain and nausea and vomiting? And What else the anti diuretic hormone? I wrote a bit about that because I want to know a little bit more about what happens in DKA and anti diuretic hormone Which is produced to sort of get your blood volume back up and that's it basically So that's all my flashcards. These are just like revision flashcards. These aren't proper flashcards. I'm going to make some Proper flashcards. So when I go out on the wards I can take them out and use them But these are just literally revision flashcards that I use and they will be up on the wall at some point when I get a chance And today so today is a new week. It's Monday fresh start and our deadline for our submission dates is the 31st of August and This is for Assignments so the care plan and rationale and my leaflet and rationale the submission date has finally come These were the first things I did when when they were launched So I feel like I've had these waiting to be submitted for a long time now And I'm so glad it's almost the submission date, but today I'm going over them and I'm going to really Critique my own work if that makes sense. I like to go over and read my own work as if I'm Electra or something criticising somebody else's work because it makes me sort of think about what I'm writing and Really analyse my own writing. Does that make sense? This is what I did for my last assignment and I felt like it really helped it sounds really strange But I managed to do it somehow Morning everyone so I'm currently on my way to my bank shift. It's Saturday, which means I'm at the editing clinic Which means we're gonna have breakfast So usually we meet about an hour earlier so that we can have a fry up breakfast and it's really really good And just nice. It's a nice start to the day to get together with your colleagues and enjoy breakfast together. So I'm really looking forward to that. I can't wait. It makes me day We'll just meet up and have a laugh.  It's really nice Also, who turned to who turned down the temperature? It's absolutely Freezing I've had to put my winter jacket on but I've got my tea and hopefully it's gonna be a great day Although by time this is posted it's probably gonna be afternoon So today is actually Sunday the day I'm posting this vlog. Yeah I thought it's rare I've logged on the same day as I post it because by the time it's uploaded and stuff. It's just Yeah, it's the next day. I have Wi-Fi issues So today I've got a day off and I'm off tomorrow as well So I'm going over to Milton Keynes to see my friend Taylor. Yeah Main reason I'm doing this vlog today is to tell you all about my blood test results I forgot to update you on Friday. So the doctor called me on Friday and She said to me there's nothing absolutely nothing no low iron. No thyroid nothing, which is good. Which is good news However, the downside to this it means I'm burnt out. It means I'm literally mentally exhausted from the amount of time and effort I put into absolutely everything in my life and I don't just do as some of you might know that are watching this I don't just do my uni stuff I do a lot outside of uni around uni to do with nursing and just extra activities that I don't need to do But it's something I really enjoy doing and I love doing and I get involved with everything possible because I want to make the most of these three years But now I'm thinking do you know what I need to take just some time out Relax and just recharge my batteries because I am feeling the burn right now So another thing that I'm going to do is I'm going to do 10 minutes of mindfulness every single day Without fail because it's literally 10 minutes of a day and if I can't squeeze in 10 minutes for myself and my mind What the hell? so I'm gonna yet take 10 minutes do 10 minutes of meditation clear the mind literally just relax it concentrate on myself my body what my body is telling me and Hopefully, I'm gonna be alright. I'm also gonna overdose on vitamins and fresh fruit and vegetables and All that jazz because you have to heal your body, you know inside out. Oh, yeah, so that's it. I am burnt out That is the doctor's inclusion. So, yeah, so that's it. I have a diagnosis of burnout Every student nurses nightmare I don't know what I'd rather. I do know what I think I would rather a lack of iron Just lack of iron plow me up get me strong again back on it But now I know that I'm actually burns out and doing too much after actually seriously think about taking some time out and just slowing it down and Just switching my brain off because my brain works 24 7 until I'm upstairs asleep in my bed need to learn to completely switch it off and just Relax myself and hopefully I'll be okay So, yeah, I might not look like I'm burnt out right now because I'm smiling. I'm happy but inside my brain. It's exhausting Just to let you know I am I'm proper feeling exhausted and I've done before bank shifts this week And I think I've told everybody I like feel Exhausted guys because they're like, oh, how's your nursing going? I'm like exhausted. I'm not gonna lie But the good news is I'm happy Positive about it If you can be such a thing at least I know what it is and know what I can do to solve it And I need to take my own advice on board and I've done it myself. I'm doing it myself. I'm a hypocrite I'm really sorry guys.  So I'm gonna take some time out for myself and Hopefully I'll be feeling fine by the end of the year. So that's it for this week What have I got in store for next week? So next week is the start of our community scoping experience And I'm really excited. I've got a couple of things booked in. I've got coroner's court booked in I've actually got a meeting at uni all day. So I've managed to squeeze that in I've got a day off for myself to take some time out and go to friends first. Oh my god I'm going to friends first. How could I forget anyone? There's a massive friends fan. I love friends I've been a massive friends fan for years and years since it started feel old and I love it and I'm going there's a big friends fest. They've got all the set the live set and everything I'm gonna put the links below so you can have a look and I'm really excited. So I'm going to friends fest in Bristol for that this week on Friday. I'm going to be part of the buds Which is basically activity sessions that I've put on for people with dementia and I'm gonna go and help out and it's gonna be amazing I'm really excited for it. I can't wait I don't think I'll be able to vlog from there just because of confidentiality and consent and all of that So but I'll let you know how it goes on the day. That's it from me I hope you all have an amazing bank holiday. Whatever you're doing wherever you are in the world Have a great time. Relax. Take some time out for yourself. Don't burn yourself out and Yeah, see you all next week


A 21-year-old rural motley woman who had gone missing on August 12th has been safely located. Cass County authorities had said no foul play was suspected in the missing person's case of Alice Wim. Wim had gone missing from a residential group home in rural motley, and authorities had asked for the public's help in locating her.


Energy security is the association between national security and the availability of natural resources for energy consumption. Access to relatively cheap energy has become essential to the functioning of modern economies. However, the uneven distribution of energy supplies among countries has led to significant vulnerabilities. International energy relations have contributed to the globalization of the world leading to energy security and energy vulnerability at the same time. In the context of energy security, security of energy supply is an issue of utmost importance. Moreover, it is time to define the global energy policy model, which not only aims at ensuring an efficient environmental protection but also at ensuring security of energy supply. Renewable resources and significant opportunities for energy efficiency exist over wide geographical areas, in contrast to other energy sources, which are concentrated in the limited number of countries. Rapid deployment of renewable energy and energy efficiency, and technological diversification of energy sources, would result in significant energy security and economic benefits.


Hey everybody, this is Brett, and today I'm super excited to show you this brand new 2023 Jeep Wrangler Sahara 4xE in high-velocity clearcoat. This 2023 Jeep Wrangler has the 2-liter turbocharged 4-cylinder engine, and it's paired up with the hybrid system and gives you a max upgrading of 470. Like I said, high-velocity is the color on this one. It's a new color for, I believe, 2022, one of my favorite yellows that I've seen on the Wranglers, and paint coat is PJF, if you were curious. This one gets 49 miles per gallon equivalent with the hybrid system. It can go up to 22 miles on just the electric mode, and it can go up to, and it has a 20 mile per gallon rating with just the gasoline engine. I'm going to go all the way around in this video, show you all the options. We're going to check out the original window sticker as well, and just go over some of the things that make a hybrid on the Wrangler.  You also have all the lettering that's hydro-blue, and you can always tell which ones are Saharas because they'll almost always have the silver outline around the fog light bezels and in the front grille and headlight bezels. So a couple little things to note there. This one does have the LED lighting group. You get LED headlamps, running lights, lights in the fenders, and the LED fog lamps, and what we're going to do at the end of this video, so stick around for it, I'm going to turn on all the lights, and we're going to turn off all the lights in the studio. We're going to turn the lights on, the Wrangler lights off in the studio so you can see just how nice and bright those are. This one comes with the 20 inch painted black alloy rims. You also get the hydro-blue Jeep on the side there. Bridgestone dual tires are the choice of tire on this one, and they are 275, 55R20s, a highway tread pattern to them. The other thing with the 4xE, you get the blue Wrangler. You also get the blue outline on the Jeep lettering there as well. Note that it doesn't say unlimited for the four doors anymore, it just says Wrangler. I think they must have ran out of the unlimited stickers. You get the sandals on the shroud, the Jeep climbing up the side. You also get the T50 on the doors, letting you know which Torx wrench to take those doors off. We actually did a video on how to take your doors off your JL Wrangler. Very popular video, that's in the upper right hand part of the screen if you want to check that out. The other thing to note on this one is the Sahara comes with the color match fenders, and this one has the three piece black hard top. I like the black with the yellow, it kind of breaks up the yellow a little bit, and it matches all the window moldings and door handles and mirrors as well. Here is the original window sticker. Please bear with me, I'm not going to go through everything, but most of it. 2023 Wrangler 4-door, feel free to pause this as well, so you can check out all the options if I go too fast. High velocity clear coat is the paint color, black interior comes with the premium McKinley trimmed seats, the two liter dual overhead cam I4 turbo engine, 8 speed automatic transmission. Everything on your left here is your Jeep Wave standard features, or your standard features for the Sahara, including the Jeep Wave membership. Interior features are standard right there, the Uconnect 4 with nav, Android Auto, Apple CarPlay, 8.4 Radio and premium audio group included as well standard on the Sahara. And then everything on optional equipment is everything that goes over the standard equipment. So high velocity clear coat is $495, the customer preferred package of $29P, which is the Sahara 4xE package, so $29P Sahara 4xE, it's the order code. Cold weather group is $13.95, heated front seats, remote start, heated steering wheel and leather wrapped steering wheel. Anti-spin differential is $6.95 and on the three piece hard top is $18.95 and then that takes the soft top away. It also gives you the rear defrost and the storage bag. The side steps are $95 and the Jeep trail rated kit is $195. Total MSRP on this one is $63.410 and if you want to get your summit price in the upper right hand part screen, I've got a link to our website with all the rebates and incentives on this particular Wrangler. So the warranty coverage is different on a 4xE than a normal one. It has a five year, 60,000 power train. So that is the engine and transmission. And then you get an eight year, 100,000 mile hybrid system limited warranty. So that's on all the charging components and everything like that that goes with the hybrid system. And then another eight year, 100,000 mile on the high voltage battery. So the battery and the system that controls the electricity is all under 100,000 mile eight year warranty. Three year 36 month bumper to bumper. So then you get your power train and then the high voltage battery and hybrid system right there. Here are all the miles per gallon and information there, 49 miles per gallon equivalent. That's combined. You're going to have 22 miles of just electric and then 20 miles per gallon on just the gas engine for a total of 370 mile range between the electric and a full tank of fuel. So not too bad. That's what I like about hybrids.  So just talking to a lot of people that's that's the main thing I hear about, you know, these all electric vehicles will what if I don't have a charger and I don't want to wait X amount of hours to charge it. So I think hybrids are definitely the way to go. The other thing with this one is it takes roughly 2.4 hours to charge it on a 240 volt, and it's about 12 hours on a 120 volt. It says it on here. I can't see it. There we go. Charge time around 2.4 hours. They say around two hours. The sticker says 2.4. I'd stick with that. Anyways, we'll get to the interior here in just a second. I like on the painted fenders, they always have the 3M tape. You can't really see it, but there's a little sticker on the front there. Here, wheel wells from getting all chipped up. And the other thing that the hybrid has over the gas ones is it has regenerative braking. So if you put it into fuel save mode or hybrid mode, it'll actually use the brakes to charge the batteries by applying more pressure and then it takes that energy and charges up the batteries. It also slows the vehicle down a lot quicker. That's the one thing I've noticed with driving a hybrid over the gas ones. The brakes take a little bit to get used to. So there is your Alpine subwoofer. This is your trail bag. So that comes with that. Unfortunately it's sealed, so I can't show you what's in there. You get the hardtop bag for the front hardtop pieces. You also get a bag for your charger. Your charger is right there. So it's got a really nice long cord that you can plug into the wall and then into the vehicle. Then you have your door hinge and roof and windshield bolt holders right there. So notice that the rails or bars are all painted. So when you have your hardtop off, it matches real nice. You also have three bolts on the side, one on the top. So four on each side, total of eight to get your hardtop off and then two quick disconnects. We actually did a video on how to take your hardtop off your JL Wrangler. Once again, very popular video if you want to check that out. That's in the upper right hand part of the screen as well. One little Easter egg to note here. One, two, three, four, five, six, seven slots on that back door. You also get the JL badge right there which gives you two door, four door wheel base and overall length as well as water forwarding. So you can water forward with a 4xE. Those batteries are all waterproof sealed. So you don't have to worry about that. You don't have to give up that feature. You also get the blue tow hook and the E right there is also hydro blue. Get a little bit better look at that rim and tread pattern. And you also get the LED tail lamps. Black fuel door and this one has the enter and go system heated mirrors. Then this is your electric charger. This is where you would plug in your charger right there. What's kind of cool. There's a little Jeep climbing up a mountain and when that is green, you know that it's reached the top and that it's fully charged. You also have indicators right here for that light. When it's blinking green, that means it's charging. When it's fully green, that means that it is charged. And when it's red, it means that it's not charging and something's not right. All right. Inside the McKinley leather, really nice leather seats. You get the Sahara stitched in the backrest. These seats are height adjust, lumbar. You also have side airbags on them now, standard. And then the other big thing with the hybrid vehicle is you get these buttons right here. So you can see you got hybrid mode. That's where you get your max power for that 470 horsepower and 470 torque is in hybrid mode. You get all-electric mode, which is almost nearly zero tailpipe emissions when in electric mode. And then e-save mode pretty much just runs on the gas engine and it'll actually charge your batteries a little bit while driving. So a telescopic steering wheel. I actually did a video showing you how to use these. They went on a big long drive, an hour long drive. That's in the upper right hand part of the screen. Power mirrors, power locks. And then the other really hybrid specific thing are the back seats. Specifically this seat, because if you know the other Wranglers, when you put these seats down, they all kind of go flat. Well, this one, the seat goes up and then this piece goes down. And you can see that it's not completely flat back here and that's because this is where the batteries are located. So that's the one thing that is, you know, interior difference from the gas one to the 4xE is this back seat and how it operates. You also have a Jeep climbing up the hill right there. Another little Easter egg. So anyways, you get latch child safety systems back here and these headrests can fold down like so.  You get child safety locks on the back doors. And I've done a lot of these videos, so I'm not going to spend too much time on the radio and everything, but note that you do get the 7-inch LCD display. You get the digital speedometer. This one has your battery charge is on the right. And that's the big thing on the hybrid that's different with this instrument cluster. And also when you're driving, it kind of gives you an idea of how well you're conserving that battery. Right now we're at 1%, so we're going to be charging this right after the video. You get the leather wrapped heated steering wheel. Steering wheels are pretty much standard for a long time. They don't change much on the Wranglers. You get the 8.4, 4C radio, AMFM and Sirius factory navigation system. This one does have heated seats, heated steering wheel. Love the backup cameras in these. They've made these HDs, so they are crystal clear. Nice backup cameras on these vehicles now. You have all your different apps. This one has off-road pages, projection manager. You can project yourself onto the screen. We actually did a demo on Android Auto if you want to check that out. On an 8.4, that's in the upper right-hand part of the screen. Then the off-road pages, they take a second to load. So while they're loading, note that you get the leather wrapped dash. And that is specific to the Saharas as well. You get the Jeep climbing up there. It says maybe lost but never stuck. So off-road pages give you your steering angle, transfer case. As I turn that steering wheel, the angle changes on there.  You have your latitude, longitude, altitude, their accessory gauges and your pitch and roll. Obviously we're inside the building, so I don't get good satellite signals. So I don't get accurate readings there. Down here are your more tactile radio and climate controls. And the one thing that's different on here is this mode right here. So when you press that, it goes into regeneration of the battery. So it uses more of the regenerative brakes to charge that battery. So you'll notice that when you press that button, it actually will slow the vehicle down a little bit faster when you're not heavy on the accelerator. But you always need to actually press the brake to stop the vehicle. This one is a push button start. You have your select speed control, AUGS, USB, USB-C, 4x4 shifter. This one has the part-time 4-wheel drive, 8-speed automatic transmission. You get a little Jeep on there. It'll sketch your keyless entry with the remote start. Flipper key, always love that. And yeah, that's pretty much it for the interior. I really like the Wranglers, the hard top pieces they come off just like they always have. Assist and S-Wes buttons, Home Link buttons for your garage door security systems and lighting systems. And what I'm going to do is I'm going to turn all the lights off in here. We'll check out all of the lights on with the lights off in the picture studio. So give me one second here. We'll start. We'll pause it. All right, so you get a really good idea of the LED lights on here. When you get the full LED light group, they got the LEDs in the fenders as well. And they are very bright. I would highly recommend getting a Wrangler only with the LED light group. Because the normal halogens just aren't that great. But you can see how nice and bright they make everything. And then the LED tail lamps look great as well. And you do get the LED license plate lights on there too. And I did want to take one quick look under the hood. There's not a ton of stuff that's different under there. But there are a couple things. It's back on in here. So I already got one side off. Put your openers right there. And then you got the 2 liter once again for sour 470 foot pounds of torque in hybrid mode. And you'll notice the one thing that you can see right there is that orange cord that comes out. That comes out from the charger and goes down to the hybrid system. So that's really the major difference from a normal hybrid one to this one. There is your emissions sticker. And that's pretty much it. I would personally like to thank you for checking out the video today. And hopefully from this HD video you got a really good idea of the options. And looks and styling. And a little bit of information on the hybrid on this particular one. And thanks for checking out the video. Hope you liked it. And to see more pictures of this Jeep or one of our other 550 new and used cars, trucks, SUVs, minivans, Wranglers. All you got to go to that website right there is summitauto.com. Full pictures and descriptions of every single vehicle from two locations all at summitauto.com. And if you'd like to check out more HD videos, you can go to youtube.com slash summitauto. Remember to like, subscribe, and share on this video. And all the videos that you see there, click the bell notifications and you'll get updates on the videos I do each and every day here at Summit Automotive. In fact, in a second you will see a link to subscribe to my YouTube channel on the upper left. A link to more Wrangler videos like this one, the upper right link to this vehicle on our website. In the lower left and a link to one of our latest YouTube videos in the lower right. Click those, check us out. We're super excited to be offering the 2023 Jeep Wrangler Sahara 4xE in high velocity clear coat. Thanks again for checking out the video. Remember to like, subscribe, and share on the YouTube channel. I really appreciate it. Thanks again.


you know CSI and I have a little experiment going right where we gave each other our oldest sour diesel cuts and we gave each other our chem dog cuts and we gave each other our chem D cuts and we're going to see A if we think they're all the same and B you know are there differences we're absolutely positive actually that the chem dog cut is the same but they've been separated for you know I mean I think he got it in 06 yeah you know so they've been completely separated and never exchanged for the last 17 years between the two of us yeah I'm fascinated by this because I've always had that theory about acclimation and stuff and I'm very interested to see how plastic the chem 91 cut is


Now is that new music segment artist It's good to meet the artist that that has released a song this week and speaking of music and speaking of artists that is new music area artists we have Skills I'm just hoping to see the pronounces bye Mr.agito Is it JOKO JOKOJARO? I think it's great and I don't believe it kwa so mulu kuatu right bad o Oh, tukotu saa So kuna bila mutu oku eza para na ya, seme tu JOK ikosao Akin e si seme jok? Eki sema jokina kwa ni kama saa joks Eee, exakli, sii ni o Especiali kama ujona ezo nikama initials wneza imagine, aw, ni joka Kama these guys are joka Iroze, nise, no is no serious But JOK me tokafi J JOK, that is kusiki o jini apili nijaro jini stands for Jared omuwe o kenani jini o kenani jini na zangutu jini na zaki tamili shatusa sa unikujo kazi ekak kazi raisi tu aa kazi safi nan kazi raisi na umetu dropia pa song ya bonus bonus it's a powerful song I was just dancing to it I love the beats I love the message around it but I'm not understanding some of the message maybe you can just tell us what is bonus really? kipo bonus niki tu ya koringa na yo aa like you know most of the times sissika Christians we really forget what the prize is and we brag so much about what is added on to kusbebe na sema in Matthew 633 na sema seek first the kingdom of God and His righteousness and everything else shall be added on to you so sissit na sa whatever we were seeking first which is the prize in the heavenly kingdom so we brag about the cars the money the nini the money online na sa maniko kumbolu na kafunga iPhone doka tululu and you are bragging about iPhones being on telly which is a good thing yes but it's a bonus it's a small phone hey masaba let me educate you so ya niki kama gizu niki kama manisha na manisha ya ni umekafunga umpaka iPhone ni yo ya niki kaka simuka kuka dog ume umo ka you made it in life iPhone ni gani yo niki kama kumulika mizi na niki tululu na ringia na it's not worth it it's not worth it it's good but again rebe na sema that God and Jesus it's not a tune as a need but I say seek first the kingdom of God and everything else shall be added so to brag about it's like kilu nanda guna buy one get three free alafu na brag about the three is a free those are free as Jesus kwa you need of me manze usha iku waspoken wa dati na nasida iku wa but asas na your roots is a hip-up ah hip-up manzea exakti esa bu mimi mese kiyo message mene nai later tumi go to be well that is really powerful come to think of it vila mei eka na se sa mei explain ni mei understand miwa was thinking what is really bonus se tune na ringa na bonus na mei eka kuma it's seeking first the kingdom of God exakti and you know people forget seeking the kingdom of God when you truly and genuinely wholeheartedly pursue the kingdom of God pursue God and his rashesness isi witu zignia zina kufuata you don't even pursue them by the way if you generally just pursue God this thing zina kuja na tu zina kufuata you are not even asking for it kaprado kame kugonga fa ezi zi mu e leti zime gunga you are not even looking for it because your mind is totally focused on God when you write in this message you know Ulu kuna una target kina nani Kwa you targeting a specific person of specific people because kama unge ni iglezea mimi hivi singi elewa So, mostly kuna target sana the youngings and then also Youngings? Nasi kushika? Nasi kushika kitu? Lemu begit usushu lambo Misha mume shika ni patsikani Yoka tululu ndoko elewa Nani baba jae So, target yung ulu kwa the youngings na waso ana tumia social media sana because this time and age just saying sana kichiki social media we brag a lot about things that are vanity Na get Na Bible, I think he wasn't a paraphrase to say to get the exact quote but he na sama that if you have to brag about anything brag, I'm a boast that you know the word of God Na get So, we are not talking about the word of God na kuchiwa God na kuchiwa God na kuchiwa the other stuff So, we are not talking about social media as much as we brag about the cars and the nini to say we brag about the give of those cars and the nini Na get Must implicitly just pursuing that relationship Pasing your love and being intentional with God There is no greater joy than that pursuing God Wala fu isong ukashiri kisha watu kwe nginona fandewa esupalia na nani angali atu nili amukisa auto mo ni kumisa nani akwa TV where did you decide inbogi yote uweke kwa isong So, bi this song is it's I never seen man got given I was sick on a plan kabisa kudu this song Mini me toka tu Shugulizangu ni kenge studio producer kani shone aje So, tu kwa mabanga bit na nini na ni ni ya kamaika bit na naftani me kelea kora na feel like this song is supposed to be done with many people this message yes it's a good message that you can deliver by yourself but why not do it with many people now that we are targeting the youngings you can say kada wana explain wile wana yona from their angle about the bonus and stuff so ni kafkiri wa sako kwa sako liango family people that I can access easily kaka kola kilafanda jeisu kalesa doktat fisha na storm de move manzeno waka come through the fresh then I really get it so our different artist is the president wana reach there their audience says na fi message ni na shika ni na fika home ah there is an amazing job that was really powerful that's a good idea that you decided to even join these other artists yes alright, as you even wind up maybe you can just brief us¬¬¬¬¬ ´ sequence 2 ¬¬¬¬¬¬¬¬¬¬¬¥F ´o hifu maka� ´o atuaka tajiiva na Grace na siya girl friend, na Emma na Toshia yesu best friend. So Grace ni kona ni na Emma na Vilen say ma na Emma na Toshia yesu best friend. It's by Grace man say. It's not easy kugeto say, wengi kwa video wote the same day. Nimefanya, there's a video nili fanya there are a few years ago pro-kupanda remix. Nili kwa shoot other guys another day because kwa kupa tawase wote wa kwa schedule the same. Ili kwa easy kushoot man say waso kaka come through nili kaka fitisana. Na bide kuna bile na nazauliza I see our artistumeku wa na when somebody follows you online, on social media muna ka ni kama. Is it a movement? Is it? Sabu mumeku om kifanya vitu bado even before he go 10,000 yongoma muka kama pama nisa toambia Amy, ama ni kitu muna planu kumbele ama ni initiative ama ni ni Most of these guys wama kwa kisa putzana initiative nili kwa na before election nili kwa ni toa pismitani. So I've known them for a long time but your movement just appear that the chemistry kwa close kwa na initiative nili kwa na push before election ni a pismitani and we thank God that we have a peaceful transition so for me it was a success.


Fox 10 News at 5 starts now a young man from Santan Valley accused of sexually assaulting some of his high school classmates. He has settled his case just minutes ago. Tyler cost and his attorneys accepted a plea deal in the case. The trial was set to begin next month and Cole Garcia is live at Pinal County Superior Court with this latest development. Nicole, that's right.  And today he entered into a plea deal pleading guilty to six felony counts, including child abuse and attempted sexual misconduct. He's now facing three to seven and a half years in prison, followed by 15 years of probation. All of these incidents that he pleaded guilty guilty to happened between 2011 and 2014 involving five different victims, all the victims and cost at the time were all students, high school students at Boston Butte High School in San Tan Valley. Lawyers for both sides and the judge were in chambers the entire day to day working through this plea deal. Some of the victims and their families were also here in the courtroom as well as the plea deal was read. Tyler cost family parents didn't want to comment after the plea deal. Neither did any of the victims. But again, Tyler cost was facing nearly 30 counts felony counts of sexual abuse and pleaded guilty to six felony counts. Today, again, now facing three to seven and a half years in prison and following 15 years of probation. Attorneys for both sides are standing by right now to give us some more information on this plea deal. We're going to bring you the latest on this as it develops reporting live in Pinal County. I'm Nicole Garcia, Fox 10 news.


Hi friends, welcome back to my channel and welcome if you're new here. My name is Jenna. I'm a certified weight loss and nutrition coach and I'm on the WW or the Weight Watchers Blue Plan. It's Monday, so it's another meal prep. I have three amazing recipes for you. A breakfast casserole, an Asian-inspired lunch and double chocolate, not just chocolate but double chocolate brownies. So if you're excited for today's recipes, give this video a big, cute thumbs up. It really helps out my channel and lets me know what types of videos to keep putting out for you guys. And of course, if you're new or you're not yet subscribed, I'd love to have you. Click the little subscribe button and of course, ring the bell next to it so you don't miss a single video. It is meal prep day every Monday so you definitely don't wanna miss out. Check out that description box down below where you're going to find my newly released meal planner. We are just about sold out. So if you're interested, head on over to my website and get one while you can. They're a game changer. It is so nice to be able to plan your meals, detach the grocery list, take it to the store, stay on budget, stay on track. So highly, highly recommend. You'll also find my nutrition coaching where I offer personalized macro and calorie calculation, essential. If you are on a weight loss journey, you need to know your calories and your macros to stay in a deficit and lose weight whether you're on WW or not. So definitely take advantage of that service. And if you're looking for a little bit more one-on-one help, I do have one-on-one coaching in both 30 and 60 minute sessions. You'll also find links and discount codes to everything I shared with you today, as well as all of my favorite things down in that description box. Last but not least, my Facebook group is another great community that would absolutely love to have you. So head on over and join us. So we have three recipes to make. So let's get started. This week I'm making an overnight breakfast casserole, but we're going to put this together first thing this morning and throw it in the refrigerator while we put together the rest of our meal prep. So let me show you what's going to be in our casserole. So first you'll need some light shredded cheese, center cut bacon. The recipe actually calls for dry mustard. I don't have any, so I'm going to substitute this vegan chicken last seasoning. This is really good and I think it's going to pair really well with this casserole. You'll need some light bread, one to two smart points per slice, eggs, skim milk and some salt and pepper. So let's put together the casserole. First thing I'm going to do is take six slices of this center cut bacon. I just put it here on a paper plate with some paper towels. I'll toss this in the microwave. That's the fastest way to cook just a small amount of bacon. We'll get it nice and crispy. So we're going to cube up our bread. I have nine slices of the light bread. So I'm just going to cut this into somewhat small cubes, about a half of an inch to three quarters of an inch. So about like that. We're going to go ahead and cut all the bread up and set that aside. I have a nine by 13 pan. I went ahead and sprayed it with some non-stick cooking spray. We're going to take the bread and just spread it along the bottom of the baking dish. Make sure that it's nice and even and fills in all the corners. Now we're taking three ounces of light cheese, which I weighed out on my food scale and just sprinkle that across the bread. Into about a medium sized bowl, we're going to crack eight eggs. Just have to show you the color difference in these eggs. So these dark orange ones are the happy eggs. These lighter yolks are the ones I got from Imperfect Foods. You know you have a good quality egg when it's dark orange. So I just wanted to show you guys that that was pretty interesting. Into our eggs, we're going to add three and a half cups of skim milk. And then we're also going to add our salt, pepper, and then the mustard, if you have it, or in my case, or the vegan chickenless seasoning. And then we're going to whisk that up until fully incorporated. Now we're going to pour the egg mixture right over the top of the bread and the cheese is even as you can. And now we're going to add the bacon, kind of crumble it up as you go right over the top. So here is the overnight casserole. I'm going to put some saran wrap on this, throw this in the fridge, and we're going to let it sit for several hours while we put together the rest of meal prep. Many hours later. I'm going to be getting the breakfast casserole into the oven. You can see the bread is soaked up most of the egg mixture, which is exactly what we wanted. So this is going in the oven at 350 degrees for 50 to 60 minutes. You just want to make absolutely sure that there is no liquid left. Breakfast casserole's out of the oven. This looks so good. It smells amazing. I'm pretty excited for this for the week. And this whole pan only makes eight servings, which is a big serving for breakfast. Again, pair this with some added protein or some fruit. So let's go over the point. So on the green plan, one eighth of this casserole is six smart points because you do have to account for eggs, but it is only four points on both the blue and purple plan. I'm pretty excited about this. The original recipe comes from Emily Bytes. And the recipe, how I made it, of course will be on my website, which is linked down in the description box, but this is breakfast for the week. For my lunches this week, I'm making Asian turkey burgers. You can have these with a bun or without a bun. I'll probably pair this with some sort of a fruit or a sweet treat. So let's take a look at what's in the burgers. You're going to need one pound of 99% fat free ground turkey, a red onion, some scallions or green onions. If you want to use a bun, I always use these three point buns from Great Value. They're really good and they're only three smart points, salt and pepper, fresh or dried cilantro, whatever your preference is. The recipe called for a hoisin sauce and as you saw in my grocery haul, I opted to buy this Mandarin orange sauce because hoisin sauce was ridiculously expensive at Target. So I'm going to substitute that and it's literally like a tablespoon. So no big deal with the substitution, rice, vinegar, ginger, you could do fresh or this grated tube ginger. You'll need some English cucumber. I'm going to use up what's already cut up before it goes back. You'll also need some minced garlic, some sort of binder. The recipe calls for bulgur wheat but I'm going to substitute breadcrumbs. It's just the binding agent. Some oil, monk fruit sweetener or sweetener of your choice. I use the Lakonto monk fruit granular version. I will link this down below with 20% off on Lakonto's website for you so you can pick up all your favorite sweeteners and some non-fat Greek yogurt. So let's get started on our burgers. We're going to get the cucumbers and onions kind of marinating and pickling a little bit. So I'm going to add one quarter cup of rice wine vinegar to a fairly small bowl. One teaspoon of the sweetener of your choice. Again, I'm using the monk fruit sweetener. We're going to put in a pretty heavy hand of salt and a heavy hand of pepper. Go ahead and whisk that together until the sugar is dissolved. Now we're going to add that vinegar mixture to the cucumbers and then we're also going to pop in the red onions and I'm just going to give that just a quick toss here with my fingers. Make sure everything gets nice and coated. I'll pop the lid back on this bowl and we'll throw this into the refrigerator for about 30 minutes or so while we put together the rest of the burgers. That way this has a chance to get nice and flavorful. In a bowl, we're going to add our pound of the 99% ground turkey. We're going to put in one quarter cup of the breadcrumbs, some cilantro. I'm just going to eyeball about a teaspoon or so of dried cilantro, our scallions or green onions. So I thought this was ginger. It is not, it is garlic. So we are going to go ahead and just use this in place of the minced garlic. I'm going to put about a tablespoon of that and then you can see here that I just went ahead and added just some dried ground ginger to the mix and then lastly, the couple of tablespoons of hoisin or in my case, the mandarin orange sauce. And then we're going to mix this all together. I sprayed a nonstick skillet with some nonstick cooking spray and then we are just going to divide our turkey meat into four equal sized patties and put those here in the skillet. All right, our burgers are in the skillet. I'm going to drizzle about a teaspoon of oil over the top and then when we flip them, we'll add another teaspoon of oil. That'll get them nice and crispy. In a little bowl here, I have that quarter cup of nonfat Greek yogurt. I added a pinch of salt and pepper and a little bit of lemon juice and I'm going to mix this together. This is going to be one of the toppings for the burgers. The Asian burgers are done. I just went ahead and put them into this storage container for the week and then my cucumbers and onions are looking and smelling delicious. Here's that quick Greek yogurt sauce and then my buns for the week. So let's go over the points of the burger. So without the bun and this includes the burger, the pickled cucumbers and red onions and the Greek yogurt sauce. It is one smart point per burger without a bun on blue and purple and three points on the green just because you do have to count for the ground turkey. And then again, these buns are three smart points. So it would only be four points for the burger with the bun for me on the blue plan. So I'm excited for this. Again, I'll pair this with some fruit, maybe some chips. We'll just kind of have to see what I feel like all week but there are your Asian turkey burgers. For dessert this week, we're making a light cravings recipe, a skinny double chocolate brownie. I always love the word double chocolate in a recipe. We're going to need baking soda, module dates, unsweetened applesauce, salt, vanilla extract and one large egg, cocoa powder, all-purpose flour, chocolate chips. These are just the Lily's chocolate chips and some light butter. I went ahead and removed the pit from my dates. My dates actually still have the pit in them. This is nine of the module dates. I have some hot, hot water here. I'm just going to pour that over the dates until they're under water and we're just going to let this sit for about 10 minutes. That'll really soften up the dates. I went ahead and drained the water out of the dates after about 10 minutes or so. I did reserve one tablespoon of the hot water. So to a food processor or a blender, go ahead and add your dates and your one tablespoon of hot water and we're going to pulse this until it becomes a paste. Once you have a date paste, we are going to add in one quarter cup of the unsweetened applesauce, four tablespoons of light butter. I just went ahead and weighed that out on my food scale. We're also going to add in one large egg and about a teaspoon of vanilla extract. I'm just going to use the last little bit in my container here of vanilla bean paste. And now we're going to pulse until next. Now we're going to add in our flour, one third cup of a good quality cocoa powder. Mine is the one from Trader Joe's. We're going to add in a pinch of salt and half of a teaspoon of baking soda. Put the lid back on and pulse that for another couple of minutes. So I went ahead and removed my brownie batter from the blender. I am going to add in one quarter cup of Lily's chocolate chips. Now you can add those in and pulse them again to break them up a little bit more, but I'm just going to add them in in whole form, gently fold those in and then we're ready to get this into the baking dish. I'm going to add my batter to my prepared nine by nine baking dish. This is going to go into the oven at 350 degrees for about 20 to 25 minutes, depending on how fudgy you want your brownies. So we're going into the oven 20 minutes for extra, extra fudgy 25 minutes for a slightly underbaked brownie. Brownies are out of the oven. I put mine in for about 21 minutes. I do want them a little bit more fudgy. So I'm going to let these cool completely and then I'll be back to show you the serving size, show you what they look like and give you points and calories. These are so ooey gooey and fudgy. I went ahead and cut them into 12 servings. The recipe makes 12 brownies. I'm going to pop one out, put it on the plate so I can show you the size. So there is the brownie. So that's the size of it.  So not a bad size at all. And again, the recipe makes 12 servings. In the original recipe, she actually uses regular chocolate chips, just a vegan chocolate chip. Since I use lilies, it actually drops the points of our brownies by one, which we're not going to complain about saving a point on a brownie. So one 12th or one brownie is three smart points on blue and purple and four points on the green plan. Now, if you eliminated the egg and used an egg substitute, you could make them three points per brownie on the green plan as well. So whatever your preference is, but this is dessert for the week and I couldn't be happier with the fudgy brownie. Thank you for joining me on another weekly WW Meal Prep. I hope that you are as excited about these three recipes as I am. I can't wait to dig into these all week long. Those brownies are incredible. They taste like ooey, gooey, high calorie, high point brownies from your local bakery and the only added sugar are those dates, which is a natural sweetener. So definitely, definitely make those along with the turkey burgers and the breakfast casserole. All of the recipes are on my recipe website, which is linked down in the description box along with the meal planner, nutrition coaching and my Facebook group and links and discounts to all of my favorite things. Don't forget to give this video a thumbs up if you enjoyed it and last but not least, if you're new or you're not subscribed yet to my channel, go ahead and head on over, hit the little subscribe button and ring the bell next to it so you don't miss any video uploads. Thank you guys so much for watching. Happy Monday and I'll see you next time. Bye.


Welcome to All Hands Update. Here's what's happening around your Navy. Secretary of the Navy Ray Maybes presented 8 Navy Crosses and 8 Silver Stars to active duty and former members of East and West Coast Naval Special Warfare Commands at a ceremony in Virginia Beach, Virginia. One Navy Cross and one Silver Star were presented posthumously. Chief of Naval Personnel Vice Admiral Robert Burke and Fleet Master Chief April Beldo visited Naval Base San Diego to discuss the Sailor 2025 initiative and hear from sailors. The goal of Sailor 2025 aims to modernize the naval personnel system and includes 43 different initiatives that fall under three major categories. Revaping the entire personnel system and proving the training process and enhancing career and family readiness. You can read more about what's happening around your Navy at Navy.mil.


We are here to talk about how we actually killed our sleepless nights from PD build, moving to Maven and then to Maven Tyco. So, this is actually an experience that we went through about a year and a half ago and we thought we would just do a quick talk on it. So, our topic is sleepless, sleep peacefully with Maven Tyco builds your product. So, I'm from a company called Ancet Consulting and Subhu is from a company called Everteam. So, Ancet is an Eclipse Foundation member and we typically do Eclipse Consulting services in India. And Everteam is a BPM-based company, basically kick starters of the BPM project in the Eclipse projects. So, how many of you use the Maven Tyco on their projects already? How many of you have done PD builds the Antway? How many of you have done a mixed mode where you have PD builds that run on Maven with POMP first approach? Okay, so, good, right, like I always say in all my talks, you know, the advantage of less people raising their hands is whatever we talk is right. If too many people raise hands, then you have to be more careful. Yeah, so, what's, yeah, so PD builds, so what was wrong with PD builds? It was ant-based, right. I've spent long hours trying to set up the build machines with the right dependencies in the right path, right, and then somebody would check in a code with a new dependency which the build machine doesn't have, and I would be actually sleeping and the code gets checked in from Germany, and then the build fails, and we have emails shooting all sides, I think the build failed because the dependencies are missing, right. So, finally, I said, I was so frustrated that I decided not to do automation of the build. At one point, I said I will click the export button every time myself, right. So, yeah, so we all know what is the pain in PD build, you know, we really don't want to spend too much time on, yeah, that's kind of a Dilbert which says my build system is connected to a massage chair. The number of times build fails, I have to be up without sleep, so it vibrates me, right. So, yeah, so just on a, then ant improvised, right, so ant moved ahead and went into Maven build where the dependency management was a lot more easier, right. It would find what it wanted as long as we pointed to the right repositories, right. So that was good about it. But the problem with Maven, when Eclipse wanted to adopt it was that Maven worked very well for non OSGI bundles, right, but couldn't work with OSGI bundles. Then we did our own part of the code where we do the Maven Eclipse stuff around it and then package full Maven to actually make OSGI bundle instead of a non OSGI bundle and all sort of things, right, again not required. But the idea was that ant moved on to Maven which made dependency management a lot more easier, right. And then came in the next phase where, yeah, so Tycho came in to make life really easy, right. So with Maven dependency management was taken care, but through Palm dot XML, right, which Eclipse did not understand. And as Eclipse developers we add all our dependencies into the manifest file, right. So every time it was the responsibility that you add into manifest file and you also add into the Palm dot XML file and then check in everything, right. And this was a big headache because I always test on my local machine if it's working and I just commit the code. I don't really worry about does the build system work. I always forget to write into the Palm file. Then came in the Tycho build, which is really awesome. It worked like the PD build on the manifest file, but giving me the goodies of not having to add it to the Palm file and the dependency management was automated because it could take from my P2 repository. So I really didn't have to set up my build machine with the right Eclipse downloaded with the right set of plugins. I just pointed to the various repositories that I'm interested in and the build would happen, right. So that's where the Tycho build came in. So our idea of this 45 minutes talk is give you a quick beginner level introductory demo of what you could do with Maven Tycho. How do you build the different artifacts? So normally with Maven we build jars, wires, EARs, right. But with the Eclipse world we build plugins, features, repositories of P2 sites or products, right. So the artifact change happens and that's what Tycho brings in, right. So the idea of this talk is to show you how to build these artifacts using Maven Tycho and how do you actually manage some extra stuff that you are interested in. So step one, right, so which we are not going to demonstrate is you first need the Maven plugins downloaded for Eclipse, right. Installing the M2E plugins, right. Then on top of it you need to install the now with the latest version M2E plugins come by default in Eclipse. So you really don't have to do the installation, right. Then on top of it you need to install the Tycho configurator which is responsible for the various artifacts and all of this understanding of these artifacts. So the idea now is how do I use this Maven Tycho to build these artifacts? How do I build my plugin? How do I build my feature? How do I build my site? How do I build my product? So demo time, right. And demos are always like an examination, right. Sometimes they work on stage. Sometimes they don't work on stage. So we're always cross-fingered saying let's hope that it works, right. So yeah, so he's, so Subu will walk us through the demo. I would do, I'm more like a, he's the real man behind the Maven scripts. I'm more like his orator. I just talk, right. Probably his protector. Yeah. So like any other Eclipse plugin developer, we start developing some plugins. So we're just going to build a few plugins and then Mavenize it for you. So he's just taking some template projects that he has. So we're building a simple Eclipse plugin. So having had the Eclipse plugin, the two important files for us are the manifest file and the builder properties file, right. Which decide what goes into the jar and what are our dependencies, right. So we're going to Mavenize this now. So there's actually a menu here under the screen, which is called as configure and configure it to a Maven project convert to Maven project. It's going to Mavenize it. So if you look at this, the first change that really happens is, okay, we haven't spoken about Maven. So leaving out that part of the story. So this is an M2E plugin, which opens up and the packaging styles are what Maven supports. So it has jar, var and EAR, but we're not building a jar here. We're trying to build an Eclipse plugin here. So we need to change that. So he first changes the group ID. Then the version numbers should always be in sync with your manifest file. So it's 1.0.0 for us. It's dot qualifier in the Eclipse plugins in manifest file. It's hyphen snapshot. So it's 1.0.0 hyphen snapshot. And then the name of the plugin that you're building and the packaging style is manually typed as Eclipse hyphen plugin. So we're going to show you. Yeah, so he does not understand what is Eclipse hyphen plugin because because Maven is not meant for that. So he will now include the required dependency from Maven that understands Eclipse hyphen plugin. So we are adding a Tyco plugin. So this plugin is from Maven and not from Eclipse. So it's a Maven extension that supports. Yeah, we can increase the font size or zoom on back. Yeah, you can increase the font size on the Tyco editor. We can also zoom in. And then you can just run your add the deposit. So the first step is to make Eclipse plugin understandable by Maven. So this is the addition. Then you need to add your repository from where he would find his dependencies. So he's added the repository here, pointing it to a P2 layout and the URL from where he would find his dependencies. So you can point it to any P2 repository online so that the downloads happen. And having done that, you just run your Maven install command and step one is make your plugins. Step two is Mavenize the plugin. It would actually create the POM file. When you create the POM file, the packaging style should be Eclipse hyphen plugin. And then once you have your first form, you need to add in the Tyco plugin, Tyco Maven plugin to it and then add the repository. Trying to connect your repository is trying to see if there's an update that he has to take. So we've just built an Eclipse plugin. So if you go back to the Explorer and repress your package Explorer, you would find a target folder which contains the jar of your plugin. So you did not really have to manage any dependencies, even if I had. I would just make a plugin, Mavenize it, set the type to Eclipse hyphen plugin. Go ahead and add the required repositories and the extension plugins to it in my POM file and then run. So that's a simple plugin deployment. So how to bundle a plugin. So now we're going to bundle the second plugin and show you how to actually bundle multiple plugins at the same time using the parent form. Because you typically don't have one plugin to build. You have multiple plugins to build. You run your test suite, it runs all the test cases. So here you run your parent form and it runs all the modules which are attached to the parent form. So we've got the second plugin up. You still need to Mavenize it. The same stuff appears. You have to configure it, convert it to a Maven project. The same stuff again, you have to replace its group ID, the version number and type Eclipse hyphen plugin here. So having done that, you have this error. So you could again add the plugin here and the repo here but doesn't make sense to keep duplicating the information. So we create a parent project which has all the common configurations in the parent form and the child form just use it from there because it's declarative. So he's creating a general project which acts as the parent project. He Mavenizes the parent project also. But this time the group IDs have to be same because that's how they get associated. But this time he's going to build the packaging type as form. So he just takes a parent form. So whenever you have to create a parent form, the packaging type has to be set to form which is a default type from Maven. Nothing to do with Eclipse or Tyco. And then he creates the form file for that. And then having created the form file, he would copy the general configurations from the previous form that we already had to build plugins and the repository. So whichever is common across all your forms, you can move them to the parent form. And then now you need to tell the parent that you have two children. So he has to add modules to this. He goes to the overview in the module section, adds two parents. And then you need to select this update form. So the parent knows the child. The child knows the parent. It's bidirectional. So having done that, so now my parent knows the child and you just have to do an update to get rid of the error. The errors are gone. The two childs are being build. Now you can run your parent form and then it would just build the two plugins for you. So you make a parent form. You just make a general project. Mavenize it with the packaging type as form. And then add the two modules or the two children that you want to build along with the parent form. Move the common configuration into the parent form and then run the build. And it's successful. My parent project in turn invokes the two builds for the plugin one and plugin two and build. And now you would have your target folders in the corresponding projects where the two plugins are built. The two jars are present. So typically we don't only build plugins. So the next step is to build a feature which consolidates the two plugins and then gives you an update site or P2 site that you could upload it into your P2 site. The next step is creating a feature. So it's just a normal process of creating a feature project. So you're just creating a feature project. Having done the feature project, it has to also be mavenized. You undergo the same step convert to Maven project. Same rules, the group ID, the artifact, the version number, but this time the packaging type would be eclipse hyphen feature. When you build plugins, you build eclipse hyphen plugins. When you build features, you build eclipse hyphen feature, right? So again, eclipse hyphen feature is not understood, but this time you just have to go add it to your parent because the parent has the required common configuration. You go to your parent, include that bidirectionally and update your feature project once and the error is gone. And now if you run your parent form, it also builds your feature along with it. It builds your plugins in respective plugins inside the target folder. It builds the feature inside the feature inside the target folder of the feature. The first warning that you see which says build is platform dependent because I'm only building currently for my platform. I haven't included the other platforms.  So yeah, so that's my parent form, my feature and my two plugins built with the target folder there showing you the feature. The next step for delivering this to someone would be your repository because that's the final deliverable that you typically give. So you can build a repository or a product, both use nearly the same mavenizing technique. He's just creating an update site. The update site has to be just a general project because there's nothing called as an update site anymore. So we just make a general project and may have a nice, the general project. And yeah, so he's adding all the required things for the update site that we normally do. So he's got a category dot XML where he includes which features to download. So that's your typical. Then he mavenizes this again with the group ID. But this time he's going to use the packaging type as Eclipse hyphen repository. So there's Eclipse hyphen plugin. There's Eclipse hyphen feature. Then there's Eclipse hyphen repository repository is for your final deliverables. It is meant for your update sites and your products. And again, you need to come and add that to your parent. So if you see here, we tick the parent and we say update the child also, right? And then finish update. So the error on the palm file is gone. Now to remove the marker symbol is update the project once. No more errors. You can run your parent form and it would give you your update site as well to give you an update site. And if you look at your update site with the target, it basically has your repository there with the features plugins, artifacts and the content dot jar, which can be copied onto or just shipped as an update site. And you can install this now using your windows or help install your software in Eclipse. The next one is to build an RCP product out of this plugin, right? Which also follows the similar technique with the product configuration file and the P2 director. Sorry. The director plugin which is responsible for generating the application. This was always there in the PD build. It is just that it's gotten Maven feature. So it's just added on here. We're just taking a template project. The only difference that we see from our regular development and here is that for all your bundling projects like feature or for the product, you have to create a separate general project and keep your configuration files inside that. Normally what we do as a normal developer is I keep my product file also within the same application. I don't keep it separated out. But in this case, you have to keep it in a general project outside. The same happens with the feature. The feature contains your category dot XML. Sorry, your update site has to be a general project separated out containing the category dot XML. So if you saw here, the application plugin is still an Eclipse hyphen plugin, right? Because that also has to be shipped like a plugin. Final EXE that I generate is off type Eclipse hyphen repository. So your normal application plugin also is an Eclipse hyphen plugin. He is adding it to the parent form. Updating the child. The same steps again and again. So it becomes quite easy. We're now creating the general project, which will have your product dot configuration file, which would basically help you create your executing already created the dot product file. He's just going to place it there. The only extra step that happens here, which I would want to show you, but after the mavenizing is done. So it's Eclipse hyphen repository again. So for anything that you want to be a feature or a product, the packaging style is still Eclipse hyphen repository. So that doesn't change. You're going to add that to the parent form to get rid of that error in the profile. We're just going to have the multi target support, the multi platform support and the director plugin. So we've got code templates. So we just use the code. So he's added the multi target support here for all the operating systems. And then he goes to the product form file. This is the only difference between the update site and the actual product, including the director. So we give him the steps of converting that into any. So we basically saying use the P2 director product, make a product out of it and then zip it up three steps over here. And then including the target platform in the palm. The two extra steps from feature to product include the multi target stuff if you're interested. So whichever targets you want to generate for you include only those targets. If you're not interested in any other target, you don't have to do that step. And then go to your, the palm, which has the product configuration, right? And then add your P2 director plugin to it and then tell him how to materialize the product and archive the product is running all of that.  But once it is done and you're not changing the version, it's quite fast. So it's doing OS by OS, successful build. So now if you go into the product folder and then repress the target, you would see the products, all the zip files, all the EXE is generated, all Linux for Windows for all the platforms that we had included. There's no issue of setting up the delta pack and exporting it and all that stuff. So we take care of downloading what you want. The first time he's heavy because he downloads the whole world, but I still find it more comfortable than me downloading that word because I make mistakes. So that's typically a complete life cycle of the small project. So we develop plugins, we develop features, we sometimes make update sites, sometimes make the, put that into an RCP, make a product out of it. We do not have too much experience on the E4 side of it. I've never done that on the E4 project, but it really definitely works for an E3 project and it's quite successful. And we actually managed to convert a 7-hour build that we used to run on PDE with Maven mixed mode to probably a 2-hour build. And the chances of the build to fail is way more or less where the 7-hour build, if it breaks, we spend at least two to three days trying to figure out what happened because the scripts were written in 2005. And then we're just managing those scripts. And we really convinced our clients saying you have to migrate. We took the effort, we migrated it and we really had fun doing that. We learned a lot of stuff which we haven't showcased here. Handling non-OSGI jars, what happens to them because Tyco is not very friendly with non-OSGI jars.  So there we have a successful build. So I've taken that from somebody's blog. So the next part is, so what we've done is as part of this experience that we were going through, we used to always go to the Maven Tyco ref card and copy the blocks. If I want for the repository or if I want for the director part or if I want for adding the plugins. So what we did was we actually went ahead and contributed a Maven Tyco utility project which took us like about 20 minutes to create just a template. You do control space, you get all your templates. You just change the version numbers and you don't have to buy hearted or copy it from anywhere else. So that's available on Marketplace as Maven Tyco utilities. And most of the code snippet that you require for building your Eclipse products or plugins are available on control space. And we invite more people to add as many as templates to that, which you think is useful for Maven Tyco build. And the next thing is handling non-OSGI jars. Right. So we actually, when we were doing the migration, we had lots of Java jars in our projects and we were reaching out to everybody that we knew was using Maven Tyco. You know, we walked into every other company that was into Maven Tyco and we were trying to figure out how do you do this? I mean, what do you do for the jar? If I have a MySQL connector, how do I tell my Tyco plugin or the Maven Tyco plugin to download it? Right. And then the only answer that we started getting was just commit the jar. That's the easiest way. Don't worry about it because Tyco doesn't support a mixed mode M2P2 repo. Nor does it support a POM based dependency handling. So then they said, just commit the jar. We actually went ahead. We did that first time and then we were still continuously working on how to figure it out. And then we found some workarounds documented by multiple people. We took the best of all of that and try to create our own Maven script which could do it for us. And now we have a script which we will soon put it into the Maven Tyco plugin. So when you do a control space, you get that script where you just change your IDs of the jar that you want to download and it takes care of it. So what we do is we tweak a little bit. I mean, we haven't done any magic here. We just do what Maven typically would do. We download the plugin using some Maven extensions onto the machine and then we do a copy of that into a fixed folder which is already there in my project, which is already added to the build path. So I create a lib folder in my project and just add the lib to my runtime tab in the manifest file and it's empty. But during the build, we copy the jars into it and then we make them available at runtime. And it works. So we really don't know how we made it work. We kept trying many things. It started working. We froze it at that point and it said it works. And we have a script that runs. So that's typically how we handle non-OSGI jars. The first approach is check in the jar itself. But if the jar versions upgrade, then your source control system is going to get heavier because you're going to check in a lot of jars. So the other way around was download and copy them into a specific folder where the folder is already added into your build path in the manifest file. And yeah, the last part. So when we were walking through all the demo, what were we doing? We were mavenizing every artifact that you created. Could be a plugin. Could be a feature. Could be a product. We kept mavenizing it. And then we had to every time go add it to the parent form. Then the maven type of guys came up with the solution of formless build. So they started questioning the system saying, anyways, the manifest file is present in all the projects. It knows all the dependencies. If you claim that he can resolve all the dependencies, then why do you need a palm file in every project that you create? You just need a parent form, which knows which all plugins to build or which all features to build, which all repositories to build. You just run the parent form and it internally takes care of reading through the manifest files, resolving the dependencies and making a build, right? Because the advantage of doing this is if you have a huge project and you want to mavenize it, right? You have to go to every plugin and create a palm file, which is a lot of step, right? And then add it to the parent form, right? But with this, you can actually mavenize your existing projects in a lot more easier manner just by creating a general project, which becomes your root project. And then just adding a palm file there and adding all of these. You don't even need to add, right? The dot maven extension file with the list and then it just runs. We don't have a demo at the moment configured. But yeah, so it's easy and it's very well documented online to at least try it out. So the next things for you to actually go back and look at is how to handle non-OSDI jars and then how to actually use a palm list build for mavenizing your existing projects, so that the effort is less. How much time are we doing? You have? Okay, he's got a palm list, right? Yeah, we have time, yeah. So he has a working set for palm list build. So he can actually show you that, right? So what he's done is he's got a plugin, which is oh, he answered Eclipse demo or plugin one. And then he's got a general project for creating the parent form. And then, okay, in this, yeah, the only step is that the child project should be present inside the parent. Unlike in the other case where you just have to reference them here.  So he only works on those. And then you have to add them in here and then you just run the form file. So yeah, the major step is to migrate your flat workspace projects into a parent project. So you will have to basically change your locations probably when you create your projects. And then the parent project does not, the child project does not have a form inside it. See, that's the real plug in there. Doesn't have a form. We have all of this documented on our site. All of that we've shown here are available as tutorials. You can have a look at them. The code is also available. So yeah, so this is what we finally understood. Just a last slide to add to this. We did all the hard work, migrated everything. And then finally someone says, maybe Tycho is outdated. Let's move to cradle now. And the managers are always fascinated with terms. They always want to keep migrating to the latest. So yeah, we haven't worked with cradle too much yet. The next thing for you to look at from the build angle is cradle. So we just put a slide on that.  So we've got some important links here. So all this is available on our GitHub account. The code is there. You can just take the code and this code really works there. All the tutorials are there on our site as whatever screens we've shown here. Right. Then then yeah, the ref card from the Tycho wiki. And then yeah, our Maven Tycho utility is available on the eclipse market place. We've we've got about we've got about close to anywhere between 7500 10,000 downloads for that plugin so far. Right. So and then we've got some more GitHub projects that run. You can actually look at our GitHub account. We've got small utility plugins that we build up for our day to day work. So we've got a pull request plugin for GitHub that you can raise a pull request from your eclipse itself. You don't have to actually go to github.com and raise the pull request. We've got a pull request plugin. Then you've got some Java utilities and things like that. Yeah. And we always invite people to fork it and use it and stuff like that. And you can also contribute to it. Good. So thank you. You have questions. You can ask us questions. We don't have a slide for questions because we are scared of questions. Right. So you can ask us whatever you want. We just go with the connector. We don't manually install it. No. Each like what we saw was each each plugin had its own form. Right. And the parent form had reference to each of them. It had for plugins and for features. So it's more like a test suit that runs all the test cases. It just goes to all the. So building the feature doesn't mean it'll build the plugins also. We don't have to mention it in the because that has nothing to do here. Right. Feature and plugin is more of an eclipse thing for installing. But for the build, they're just independent jobs. You can build the feature separately and build that separately. So it really doesn't require anything in the bomb file.  He doesn't differentiate between them. He doesn't try to understand. He just picks that and tries to do a bit. So he just knows he has to build plugin one plugin to a feature. To build, you need the plugins to be built already. So you already have to build. It's the order that you want to be. You mean convert extract them into a plugin and then include them into. Right. Without extracting them is what we did with the non OS GI jar bundling. Actually. So we have scripts, which is, you know, we keep the jars in one location. We copy it into the plugins. And we don't put them into a rep or anything. We download them through an M2 stuff onto a local machine. Right. And then we move them into the lip folders of whatever project you're interested in. But these lip folders are empty. Okay. You have OS GI jars and we can treat them as the same. Right. Right. He wants OS GI. I have to. I have to. Are different from. They go into people. Or they can use the command line. Reposit. But you don't want to do that. He doesn't want to do that. Yeah. So he just wants to actually create a P2 repo. Right. We actually didn't have that use case, but when we were reading to be actually realize that there are command line utilities, which can generate a P2 repo for you. With all the P2 artifacts that you have. So probably that could be one of the way you'll have to at least do that part to actually generate a repository out of it and include that repository here. But the second question that I always. Does the latest type include the local? Okay. We something that we don't have an answer also is that I don't know if Tyco now supports local repositories. Right. So it always has to point to a server based repository. It doesn't really have support for target platforms or local repository. They've support for target platform. Yeah. Yeah. Now it supports target platform. Correct. That's a successful build from his company. Yeah. Yeah.  Like what we do in GitHub, right?  Right. So the same thing you'll have to do here. Okay. Same plugin. Right. Okay. Basically it should be in the folder where the parent form is. Right. So no, no, he wants to know, should you copy that into the parent? Also, do you have duplicates? Okay. Okay. We've not tried that on formulas, but what we do is we build them independently and then put them onto a P2 site. And then we download it into a third build system which takes it from there and then does the build. So we run two different builds for two, because we have like multiple projects which share the plugin. So we run their independent builds, put them onto a P2 site, which is a local site for us within our organization. And we download that onto a third build actually. Good. So how to integrate with Jenkins. Okay. We actually have a tutorial on how to run Jenkins, but here we actually didn't plan that demo. So we actually didn't start the Jenkins. But yeah, if that, yeah, if we are not running off time, then, you know, I can take this offline also show you this step actually on how it has to be done with Jenkins. Yeah. A 13 step tutorial, which actually tells you how to install and actually configure your parent form in that and then just run the Jenkins. But we also have tutorials on that for what we've not shown on testing your plugin on including a jre version. Right. Sometimes when you make a product, you want to include the jre into it. Right. If it's Windows, some other jre, if it's Linux, some other jre. So we've got tutorials on how to include that. And we've got tutorials on how to include a drop-ins folder. Right.  Right. So how do you do that? It'll always be the same. A free text project. Yeah. Use a Maven build project. And yeah, before that you need to configure your Maven here. And then mention your root form. Yeah. Where is the project? Where is the root? Yeah. But yeah, we can actually show you this. Yeah. All right. So you can, you can, you can. Actually, we've not demonstrated it here, but we have a tutorial which also talks about how to run your unit test cases on it. You can do a multiple stuff on top of it. So thank you very much.