Coming up on DTNS, Amazon and Apple launch new fitness products.  This is the Daily Tech News for Monday, December 14th, 2020 in Los Angeles. I'm Tom Merritt and from Studio Redwood adjacent. I'm Sarah Lane and I'm the show's producer, Roger Chang. Joining us today on the show, freelance tech journalists in Australia. Peter Wells, welcome back. Thank you, Tom. And also principal, CTO, advisor, LLC, Keith Townsend. Welcome back as well. Thanks for having me. We are going to have a good conversation about that cyber attack. Thank you both for joining us. We were just having a conversation about the new Amazon distribution center across the street from Keith, which might bring him faster deliveries and has brought him mice. If you want that conversation, you're going to have to get our wider conversation. Good day, internet. Become a member at patreon.com slash DTNS. Let's start with a few tech things you should know. EA reached an agreement to acquire the UK based racing game developer Codemasters and a deal worth one point two billion dollars. The company's largest acquisition to date, even for EA. This comes after the game publisher Take Two Interactive announced last month. It had reached a deal and agreement to buy the developer being Codemasters for nine hundred seventy one million dollars. So EA beat him out. Codemasters is mostly known for its Formula One and dirt racing game franchises. Amazon's autonomous vehicle startup, Zooks, spelled Z-O-O-X unveiled a production robo taxi that can run for up to 16 hours and does not include a steering wheel. The vehicle has motors in both ends and can travel in either direction at up to seventy five miles an hour. Zooks plans to eventually launch an app based ride hailing service with its vehicles sometime after twenty twenty one. Apple launched a web based version of its Shazam song identification service. Apple bought Shazam back in twenty seventeen approximately available, appropriately available rather at Shazam dot com approximately, but also pretty on the nose. The web experience is considered a beta and currently compatible with Safari, Chrome and Firefox on Mac OS and Chrome OS. Adult video site Pornhub removed all videos uploaded by unverified users after the site announced last Tuesday. It was limiting uploads to verified users. Uploads are now limited to official content partners or members of its models program. The move comes after a December 4th New York Times investigation found the site hosted videos of people who are under age. Visa and MasterCards subsequently cut the site off from their payment services on December 10th as of Monday morning. The site had removed almost 80 percent of videos previously available. The U.S. Federal Trade Commission ordered Amazon, ByteDance, Discord, Facebook and its subsidiary WhatsApp, Reddit, Snap, Twitter and YouTube to disclose how they each collect and use data from users, how they choose which ads to display to users and what personal information is used in ad selection. The platforms have 45 days to respond. The FTC used its authority under section six B of the FTC act to compel responses, which gives the agency the power to pursue broad studies separate from law enforcement. All right, let's get fit. Let's. Yeah, we got we got some stuff. Got some stuff. Got some hardware. We got some subscriptions. Amazon's new Halos, a Halo fitness tracker is now widely available for $99.99, so hundred bucks.  Like are you stressed? Are you tired? Are you excited? That sort of thing to try to get a sense of what your personal body is doing. The first six months of services are free once you buy the band afterwards it costs $4 per month. If you don't have a subscription or you don't stick with it, the Halo is still a thing, but it'll track sleep time, heart rate and step tracking. It's just a sort of pared down fitness tracker. And also we got Apple's Fitness Plus, which launched Monday. Early reviews are out. Some people had a chance to give it a whirl before the public did. And the reviews somewhat mixed, mostly positive. The Wall Street Journal's Nicole Nguyen said that for $10 a month, which is kind of the going rate for a lot of fitness services, but that's what Fitness Plus is marked at.  She says it's a good deal compared to other fitness services, but to need an Apple Watch just to make work at all is going to put some people off. Some people are just in other fitness ecosystems. She says, if you forget to charge your watch or maybe you leave it behind your traveling and that sort of thing, you can still access videos and do workouts, but you need that Apple Watch to sign up initially. So you can't just be like, oh, I don't need an Apple Watch. You kind of do. See, that's Vanessa Hand Oriana noted that Fitness Plus is easy to use, very beginner friendly, has 10 different workout types to choose from, but she says it's perhaps not the best option. If you're really feeling like you're a pro in any of these categories, she says it's geared for a broader audience, didn't quite replicate her existing routine. She said she did a lot of Pilates. It wasn't totally up to snuff. It didn't really replace what she would like to do when life gets back to normal and fast companies Mark Sullivan noted that for most workout types, Fitness Plus works best if you got a big TV right in front of you. You can stream stuff on an iPad, on an iPhone. He said it worked okay for certain activities like yoga or strength training on the iPad because you could kind of prop it up, but the iPhone just felt too small. So Peter, Keith, which one are you going to go first? I'll talk about Fitness Plus and I wish they would have released a free tier when they did this. You know, they've already got it built into the name. There's a plus there. They could have just had Apple Fitness where if you own an Apple Watch, then you get, you know, just a couple of really basic training videos to watch for free. I think that would have taken away so much of this criticism of what I need to spend money after I buy the Apple Watch. Like if you got a range of activities to do for free built into the Apple Watch, that completely flips that on its head. Yeah, and I'm a little bit disappointed in all of these Fitness trackers in general. I'm a pretty decent fitness nut. I'm 82, 83 days into running 5k every day for 100 days. Wow. One of the things that one of the things that I really love about my Apple Watch is the hardware, the software, great, but the social piece of it. None of these guys have gotten close to what I get with my Fitbit from a community perspective. And I don't know if I trust Amazon to do it and Apple just hasn't done it. Apple hasn't done anything social well and, you know, ever. Yeah. Yeah, I really wish back in the day that Fitbit had sold, had kind of pivoted towards software rather than continuing to go hard on the hardware. I even told the CEO that one time and they told me they're not interested in those ideas. But yeah, nothing has come close to that social map that Fitbit had. And that's such a used part of fitness. Yeah. I currently have a Fitbit premium subscription, which you get for 90 days when you get new hardware.  So I got to start over. I got a new 3 month subscription. I already have on my calendar to make sure to cancel, you know, before I start getting charged. And it's cool. I mean, there's a lot of stuff going on Fitbit brought Fitster sometime ago. It is competitively priced to something like Fitness Plus. I haven't tried out Fitness Plus. I know for some of my VR exercise activities, it really matters who is guiding you through this.  That really matters. It does sound like across the board people said, Apple definitely got a lot of people who know what they're doing and are motivating and try to make all the stuff as fun as possible. But yeah, I don't have an Apple watch. So, you know, this just isn't something that I can dip my toe into anytime soon. All right, folks, tech companies are on the move in the United States. Oracle has changed its corporate headquarters from Redwood City, California to Austin, Texas. Somewhat symbolic as Oracle will keep its offices in California and already had a campus. In Austin, but it does follow HP Enterprise moving its headquarters from California to Houston, Texas and Palantir leaving California for Colorado. Meanwhile, TechRudge has a story today noting that Tencent, ByteDance and Alibaba, all Chinese companies are opening regional hubs in Singapore. Singapore is a hub for a lot of companies. Google, Facebook, Amazon Stripe, Salesforce and Grab all there as well. Now, this is partly to avoid some of the pressure of the U.S.-China trade conflicts, but it's also because of the need for access to the Southeast Asian market. Singapore also has made it easy to incorporate and set up shop there. So, I don't know if these trends are related, but it's interesting to see tech companies on the move moving from places you would be accustomed to seeing them to somewhere new. Keith, I know the moves into Texas certainly are notable in the enterprise space. Yeah, they are notable. There's a huge problem. I know we've talked about it a lot, but the firstly, inclusion is a big problem and enterprise IT and tech in general. So, I'm excited about this, but my peers in the Valley are pretty, they're spazzing out a little bit. Their HPE is one of those born in the Valley in the garage companies. Oracle has been there forever in Redwood. It's kind of the thing in Redwood. But Houston, Austin, these areas have been growing a lot. My son is moving to Austin for a tech job. So, this is more than just a trend. Yeah, back in 1999, I moved from Austin to San Francisco to get a job in technology. So, we're kind of reversing that trend now. And Peter Wells, I mean Southeast Asia, you're right there next door to that, right? Yeah, look, I mean, I will head on up to Singapore as soon as I'm allowed to again, because it's such a wonderful city-state. Yeah, it makes a lot of sense. So, I've been seeing quite a few larger corporations also moving their production out of some areas of China into Vietnam and India and things like that. So, yeah, I think this year has shown that, you know, people need kind of a diversity in all aspects of production.  Indeed. All right, Sarah, tell us what Reddit's up to. I will, Tom. Reddit announced it acquired the short-form video social platform, Dub Smash. The company plans to integrate Dub Smash's video creation tools into Reddit itself. AppAnnie ranks Dub Smash number two behind TikTok in the US's short-form video market. It's pretty popular. Dub Smash has been downloaded more than 350 million times. Reddit also cited the app's diverse user base as a major factor. 70% of Dub Smash's users are female and it claims, quote, about 25% of all black teens in the US use the service. Dub Smash will operate as its own entity and brand within Reddit with its entire team and three co-founders staying on board, but it will integrate Dub Smash video creation tools into Reddit. Reddit introduced native video on its platform back in 2017 and says that video posts doubled in 2020. I get Reddit wanting to get video creation tools and buying technology. I don't know why they buy Dub Smash, which because Reddit is trying to do the right thing, they will leave it as an independent entity. Yeah, it's not like Reddit makes those kinds of acquisitions. Usually that part can that part I'm a little less clear on. I remember back in 2017 when native video was introduced, I was like, is Reddit really? I mean, is this going to become a whole different platform than what we're all used to? I know the answer is mostly no. Reddit has, you know, it's nothing if not consistent in certain ways.  But this, it felt like I was a little it felt a little left field to me. Like, what are we doing? Like competing with TikTok on Reddit? And like you said, Tom, it sounds like the technology is something that the company is interested in and hopefully it'll be used in some sort of way while not taking away from what Dub Smash is already doing really well. So, yeah, I don't know. Peter Keith, what are your thoughts? This feels like one of those moments where I realized just how old I am. It was the same when Twitter bought squad the other day and I was like, what is squad? You know, yeah, I just feel like there used to be a time years ago when I'd be on the show where I had the beta invites for all of these kind of things and now I'm just like, oh, never heard of that before. Interesting. Yeah, I have it on my list of follow-ups to ask my 12-year-old what is Dub Smash? Because she is in that 25% black. You would think she might have heard of it. So, you know what? It's an action item. I've stayed away from Reddit just as a user. This is curious. Yeah, report back. Let us know what you find out about Dub Smash. What do the young people say? Yeah. All right, folks. Listen, we appreciate you being here. If you are like, no, I could have told you about Dub Smash weeks ago. Well, get in our Discord and tell us stuff like that. You can join by linking to a Patreon account at patreon.com slash DTNS. A breach in the Orion Network Management Platform. It's a network management platform called Orion from a company called SolarWinds has led to attacks on FireEye. The FireEye attack we talked about last week, Microsoft and several U.S. government agencies. SolarWinds said Sunday that updates to its Orion platform that happened between March and June may have carried malware as a result of a sophisticated nation-state supply chain attack. SolarWinds says Microsoft noted it noted it notified it of a compromise to SolarWinds Office 365 accounts. It's not sure if that's how the supply chain attack was carried out, but it's investigating. SolarWinds did call for all Orion customers to update to its latest version immediately. That'll partially mitigate this and it plans an additional patch for Tuesday to fully defend against it. SolarWinds has 300,000 customers worldwide, including most of the Fortune 500 companies in the U.S. Lockheed Martin, Booz Allen Hamilton, PricewaterhouseCoopers, the Federal Reserve, the Defense Department, the State Department, the U.S. Secret Service, the National Security Administration. 33,000 of those customers use the Orion platform. So not all 300,000, but a large number. And SolarWinds believes that 18,000 of them installed the malware-infected versions. Now, not all 18,000 were targeted, but even a small percentage, that's a lot of targets. ZDNet reports that IT administrators are finding signs of the malware on their Orion systems, but few are reporting the second-stage payload that would be used to elevate access. So it's believed the attackers targeted specific customers around the world. FireEye, for example, announced the intrusion in its network reported last week, was caused by the SolarWinds breach. It has published detection rules on GitHub that you can access if you need them. Microsoft confirmed the SolarWinds compromise in a security alert to its customers and provided countermeasures, including detection rules added to Defender. The U.S. Cybersecurity and Infrastructure Agency, or CISA, issued an emergency directive with instructions on how all federal civilian agencies can detect and analyze compromised systems and advise them to shut down Orion. CISA advises all hosts monitored by Orion to be treated as compromised until you're certain otherwise. FireEye calls the malware Sunburst. If you're out there looking around, you see Sunburst. That's what that refers to, although Microsoft has dubbed it Solarigate. So we have a couple of different ways to refer to it. The attack worked by entering the network through the Orion vulnerability, however it got in there, and then gaining elevated credentials once it was in your network. That led attackers forward single sign-on tokens, which would let them impersonate privileged accounts, which allow them to grant new credentials to themselves and gain high-level access. The attackers were able to track authentication controls and access Office 365 at the National Telecommunications and Information Administration, where it definitely monitored emails. It probably did that in other places as well. FireEye says that each attempted intrusion needed what they called meticulous planning and manual interaction. This wasn't a set it and forget it blast. This was done intentionally to the targets it affected. FireEye says the victims have included government consulting, technology, telecom and extractive entities in North America, Europe, Asia and the Middle East. So it's not just the US government. We anticipated there are additional victims in other countries in verticals, says FireEye. And yeah, the US government appears to be one of them Reuters sources saying that network intruders accessed internal email traffic at the US Departments of Treasury and Commerce and possibly other agencies. The US Commerce Department confirmed a breach and said that CISA and the FBI are investigating and the US National Security Council reportedly met on Saturday to discuss this issue. So this is big. It affects a lot of companies. It affects a lot of governments. It affects highly sensitive information. It seems to be meant to gather intelligence by going after email communications. But let's start with the way it got there, the supply chain attack.  So this is one of these attacks that, you know, as the US government has been screaming China, China, China for the past few years. The fear has been that the Chinese government could infiltrate one of our manufacturers or suppliers based in the US. I mean, sorry, based in China via the supply chain so they can slipstream or put software or hardware compromised hardware into the unit before or during the manufacturing or shipping of it. If we remember the whole super micro theme from a couple of years ago, this would be equivalent to that. But just on a much more massive scale, this was done via software. So the things that we inherently trust and not just enterprise IT but consumer IT, the update process, that automated process to say, you know what, my program says it's time to be updated. I'm going to hit the update button and I trust from the point that SolarWinds is distributing the update to the point that my PC gets it, that I trust that update. It is equivalent to Apple or Microsoft or any other trusted enterprise company or consumer company asking for an update and getting malware instead. And I assume that SolarWinds, like any other company, has methods in place to try to prevent this from happening. What are the possibilities that it failed? This is quite frankly scary. SolarWinds is a proper enterprise IT company. 300,000 customers, 425 of the top 500. They're government customers so their code is getting audited. They go through all the rigors of this place. So much so that I've read that one of the reasons why it wasn't detected was because SolarWinds specifically requested that you not scan its directories for malware or viruses because it's so trusted. So what's scary about the hack? I've worked enterprise IT for over 20 years and one of the things that we do in enterprise IT for a product like SolarWinds or Ryan, which basically checks other systems, is the email server up, is the database server up, is the services running on that up? If it's not up, we'll alert the administrator. They're so trusted that we get exceptions for that security scan and we're confident that SolarWinds from a security perspective can be kind of absorbed from security scans. So this is about as bad as it gets.  It takes a very sophisticated attack to do it though, right? It takes a super sophisticated attack and then to jump off FireEye if you're not familiar with it. Basically, I had to implement this when I worked for Department of Housing and Urban Development as a federal contractor. Basically, it's the keys to the keydom. It sits on the edge of the network and goes through all the traffic leaving these agencies. You cannot get an exception. If you have a network connection, it has FireEye on it. So for them to hop from SolarWinds and compromise FireEye as a advanced attack, this is not admin one, two, three. This is pretty serious. Yeah, I wonder what the fallout is. We don't know exactly who was affected. We do know that it was after email and information and we don't know. There's some suspicions that it might be Russia behind this but we don't know for sure and we don't know what they were after. Were they just on a fishing expedition to see what they could get? Were they going after specific kinds of information and what did they want to do with it? Those are all questions waiting to be answered. And that was an awful lot of effort and you saw with 18,000 people being affected but not everyone being impacted. It was whatever they got, they probably, whatever they wanted, they probably got. Yeah, they were definitely going after certain targets, for sure. This wasn't just a random attack. So I doubt this will be the last we hear of sunburst aka Solera gate. I'm going to call it sunburst though. I think that one's the better name for me. Well, another question you might be asking yourself is when do I get to get on another John Deere tractor? It's been so long. Virtual reality, been at CES for many years. In fact, where I tried out VR for the first time. But for CES 2021, John Deere plans to send Oculus Quest 2 headsets to reporters who might have otherwise come to their booth at CES and talk to them and maybe check some stuff out so that the reporters could get a virtual ride on the latest farm equipment during planting season, highlighting the company's use of AI and satellite imagery for precision agriculture. According to John Deere's public relations head, John Ebert designing the experience and then sending out the headsets still end up being less expensive than booking floor space in Vegas for CES. John Deere isn't the first to try a virtual approach. LG and Samsung both used virtual demo rooms for IFA Berlin this year. You might remember that IFA scaled down considerably, but some people were still there in person. Who's the first? Dave Peter, you're gonna try to get an Oculus Quest 2? We should get one to Sarah too. I don't want one of these, but yeah. No, I'm all for the virtualization of CES and the big tech shows. I'm really looking forward to waking up and putting on my pajamas and going and watching seven different announcements in a row rather than like joining those queues in Mandalay Bay at four in the morning to make sure you get a seat in time. I'm all for it, bring on virtual everything. And it's been so good. Oh, sorry, go on, Sarah. Oh, no, I was just, I was gonna say, like the virtual, you know, you said, no, I don't want a Oculus Quest. I have one, one of my favorite things to do is, you know, there's like a lot of drone footage where you kind of like get to fly over Italy and stuff, you know, and look around. And it definitely is, it feels like you're flying kind of, but I mean, it's not really the same as like having a jet pack on my back and flying over Italy. So I wonder how the reporters will either, you know, say like, this farm equipment seems really great because of the VR experience that we were gotten because we actually didn't get to do a lot of testing in person, but it sounds like it's probably just pretty good marketing. Yeah. Keith, you're looking forward to a virtual CES? I'm virtual, you've been it out of AWS re-event was literally three weeks, I think, and it's still going on today. I put on a virtual event earlier this year. I'm just, I'm ready to see people in real life. I never thought I'd say this. I miss Vegas. Yeah. Whoa. So now we know that now we know the recovery period for missing Vegas. Yeah. Oh, man. Conversely, I was like, I don't have to go to Vegas in a couple of weeks. I know. This is like a very new world. Wow. It sounds like Keith's virtually exhausted. I'm sorry, man. All right. Let's check out the mail bag. Let's do it. This one comes from Daniel. Daniel has a question that I think probably a lot of other people are also asking. He says, Disney plus going up $1 per month, not all that bad for all that we're going to get. One thing that has always bothered me though, that's I wonder about the effect of all the people who share passwords. I have coworkers. I have customers where Daniel works that share with many family members. A coworker on Netflix, for example, has a coworker that he works with, has Netflix, Hulu, Amazon prime, Disney plus, HBO Max pays for none of them. And they're shared with eight other family households, siblings, parents, in-laws, cousins. It seems very wrong to Daniel. He says, I can't help but wonder if more people paid for what they should have paid, then it would help avoid price increases. I have no idea how the services could control this though, but it makes me wonder, am I wrong? Well, the thing to remember with sharing passwords or piracy or any kind of hacks around the system like that is they're usually less convenient than paying for the thing. And they aren't lost money. People who share a password aren't guaranteed to have paid for the subscription if they didn't get the password. And in fact, Netflix has found that password sharing can work like marketing, which will cause viewers to eventually want to pay for the service themselves so they don't have to share a password and they don't have to worry about, oh man, I forgot that they changed the password on me. Like people, when they can afford it, do like to be in control. It does have an effect. I'm not starting to say it has zero effect, but it is not a one-to-one of like every person who shared a password would have been a paid subscriber. Yeah, I remember back in the day, Netflix, this was at least five years ago admitting that part of their marketing push was allowing, when they would see all of these family account sharing coming from university dormitories that they were like, we can stop that. We could stop that if we wanted to, but we realized we were creating lifelong customers there. And look, if I'm honest, I shared Disney Plus with another friend of mine. We both have kids. We never watched Disney Plus, but we share a four screen pass because I only have one screen in my house and he has two, so it balances out. I think it's fine. And plus on the whole, would it be cheaper? Just keep in mind Comcast put a 1.2 terabyte limit on our data caps during a pandemic. So I don't have much faith that if these guys made more money, they'd pass those savings on to us. Yeah, that's not how prices get said. That's a really good point. Well, if you have feedback like Daniel's questions, comments, anything you'd like us to discuss, we'd love to hear it. Feedback at dailytechnewshow.com. We also love to shout out our patrons that are master and grandmaster levels today. They include Hi Tech Oki, Johnny Hernandez and Dr. X17. Thanks to Peter Wells for being with us this fine Monday or Tuesday. Peter, where can folks keep up with your work? Just head on over to Twitter slash Peter Wells and I do a daily tech podcast. I know that's an original thought. It's at thehelpdesk.com.au. Go check it out, folks. Excellent. Also thanks to Keith Townsend for being with us today, helping us understand a little bit more about security, Keith, where can people keep up with your work? You can find me on Twitter at CTOadvisor and the blog is thectoadvisor.com. Hey, folks, we love patrons and that's why we're happy to offer Patreon loyalty rewards. If you like the show, you like some perks, you can get bonus episodes, you can get longer episodes and you can get some merchandise sent to you as a thank you for supporting us. A unique sticker, mug, t-shirt or hoodie comes every three months to our patrons as long as you stay a patron. Each one has unique art from Len Peralta featuring the DTS 7-year anniversary logo, then Roger, then Sarah, then me. Get the details at patreon.com. Hey, folks, we're live Monday through Friday, 4.30 p.m. Eastern, 21.30 UTC. Find out more. Tell a friend, dailytechnewshow.com. We'll be back tomorrow with Patrick Beja. Talk to you then. This show is part of the Frog Pants Network. Get more at frogpants.com.


Hi everyone my name is Jason Reyes. I'm here excited to share with you guys some cool techniques. You know similar things that I always see in barring is just how do you blend and how do you fade and how do you connect that top. So in this tutorial you guys are going to learn how to blend, how to clip over comb, scissor over comb and also how to connect that top and finish it off with a cool style. Hope you guys enjoy it. Starting off I section the hair from the crown area towards the front. What I'm looking at is the cowlick and as I create that division it's key and it's very important that we keep that section extremely clean. This is going to help me balance out the haircut and proportion off the opposite side. I clip that out of my way and I start here with a number two and I with the open blade and if you notice here as I start to work that I'm going to use more the heel of the clipper so that's going to be more the back part of it so I could continue to steadily build weight as I work upward. So I'm not digging into it if you notice that blade is just a lot flatter working against the head shape. Working my way all the way around to the opposite side. As I continue that I then close the lever and then work my way counterclockwise towards the opposite side again focusing just more on that back heel of the clipper. With my trimmer here I'm going to set in my guideline. This is going to be very important as I'm working with the lower fade. I'm going to set in first what's going to be my shortest length. I want to make sure that it's nice and clean. I keep it very low around the ear. What I'm looking at is the amount of space that I have to create the gradients for the length that I already have with a pre-existing haircut. So because I want to steadily build some weight I'm going to keep that just a little bit lower so that way it just fits a little bit more suitable to the head shape and also it's going to leave me just enough room so I could leave that length that I need towards the crown area. I worked this from front to back and the same from front to back and the reason for that is because it has just slightly a dip towards the back so if you could say it's not a smiley face but it does have a diagonal back. I'll move that all the way to connecting it towards the center.  Here I just balance it off the center and make sure that that line is nice and clean as this will be my guide for the entire haircut. I go here now to a one and a half open blade and using that same method but here I start a little bit of toe and then I start working more towards the heel of it so the toe just helps me diminish a little bit of the line and then as I work more of the heel of the clipper it continues to build subtle weight as I move up towards the head shape. My hand is also very light as I'm cutting once I approach the opposite side I'm going to close that lever and I'm going to work my way again around the head shape till I end up where I started first. Here I'm using a lot more of that heel of the clipper folding that ear down it's very important that we have control and I want to discomfort the guests as I'm working my way around and here if you see again I approach it from front to back in the same exact manner so even though I work my way around the head shape I still went from front to back. I go in with the number one guard and I have an open blade so I start off with an open blade and then I start to close that down so I start diminishing a little bit more of that weight line so here I went with that open and then I started to close it down so I'm going to start fading and blending that from the front towards the back with the open blade and then I'm going to close that blade and a lot of times in this area you'll see me use a little bit more of the corners of the clipper and that is because of the contour and the roundness of the head shape. Here I start off with my open zero and if you notice also I call this like a fanning motion my hand is extremely extremely light so think about like if you were applying makeup right your hand is going to be very very light if you were trying to blend or fade something out the same way if you were coloring hair right if you want to blend something your hand becomes very light so the same things with my clipper my hand becomes extremely light as I start to blend I grab my comb in a C shape manner and this is just going to allow me to be able to build some weight so I don't really move much of my wrist what I use most it's just my fingers to fold that comb so I could comb it back down for control and then up to cut here I'm just using my comb as an extension of length I'm working against the head shape away from the head shape so I'm not resting that so it's in a floating comb position and if you notice also as I continue working my way up my elevation is higher and higher and higher so I can soften that line so through this bottom area if you see it's slightly in an anchored position but it's just because I want to slightly build some weight so just think about the same way you would do with finger angle I have the same approach exact with my comb angle now I go back with my number two just to refine some of that length and blend in what we just did with our clipper over comb before I continue moving on so I like to work it through panels so I start off with one panel and make sure that that panel is nice and clean it's blended all the way out and that basically sets my guideline so I could continue to work my way all the way around the head shape with that open blade working a lot more with that toe of the clipper you notice as I start to diminish that line so I start off almost like in a fanning motion so my elbow is a little bit higher up the clipper is also in a position where the teeth are facing in if you notice the bottom of the clipper is slightly lifted and then I start shifting that slightly downward until I start to blend in that line and what this does is with the same exact length I create a little bit of distance and then I work my way from the bottom up just to continue to suddenly build that weight so a lot of times when I'm blending you know the question is do I start bottom to top or top to bottom it depends here I start to work bottom to top because now I'm trying to build some of that weight so first I diminish the shape and now I'm building that weight and creating that gradients up into the 16 length that I created so here with my number one open blade working with the corners of the clipper but if you notice also that my clipper is going to mirror the same section angle so that angle that I created for it as my guideline my clipper has to mirror that also so if that has a diagonal back my clipper should be also mirroring that same shape so it's a little bit tricky if you're working all the way around the head shape you've got to remind yourself that it's almost like a smiley face right that you're creating that circle so you're coming with that tip down and then it slightly moves upward as you notice here so again with that open blade and then I use a brush just to make sure that I get the hair off of the scalp many times the hair stays so short that it stays stuck to the scalp and then you can't really see the gradients and the blend that you've created I like using a glove and a lot of times why I use a glove is just to avoid any hair splinters so going here with one and if you notice it's a very very light hand and it's a floating motion so whenever the head shape starts to go inward I just start working against that head shape so it's not so much of a scooping motion but just having a very very light hand so you could feel the surface of the bone structure as you're working with it I'll continue working my way towards the opposite side folding the ear down I'm always used to that you know I think a lot of times when you're working with the guests it's one of the most important things that sometimes you might hit them over the ear and just creates a little bit of discomfort and then from that front if you notice I stop right above the ear so around the mastery process area and then I start working front to back again and it's because if you think about it's slightly like a rounded shape so it's not only just building weight in the vertical dimension but also in the horizontal dimension because of my clipper position I slightly build subtle weight towards the back because that's going to help me through that crown area just have that little bit longer length working around the ear again with that open blade and if you notice I'm working more with the toe of the clipper and then I slightly start to float with that and use a little bit more of the heel of the clipper I go back to a number one to refine the gradients making sure that I brushed the hair off of the scalp so I could see and then working in that same manner from front to back taking off that guard and here I'm just floating so here my hand is extremely extremely like when I'm working many times it's barely even touching the scalp so this is something that you have to get used to also if you notice how I hold my clipper it's almost like how modern day you text on a phone or how you hold a remote control with my thumb on the top so that just gives me a little bit of more flexibility and whatever I do on one side I must repeat on the opposite side so I go back with the clipper over comb and if you see again with that C-shaped motion how quick and simple and easy it is to comb that hair back down for control and then comb it up as you're cutting you see that the comb there I start cutting bringing my clipper upward instead of just horizontally and the reason that I do that is because I just want to get into specific smaller areas instead of when I go in horizontally I tend to cut a lot more once we've done that we start to refine that shape I remove my clip and apply some moisture some water towards the top so I could cut the top with the top I'm going to cut from side to side so I start in that crown area and what I'm trying to do here is just create it just a little bit flatter of a surface I'm looking at the bone structure in itself what he had previously was just a little bit round for it so create just a little bit of too much weight towards the center I wanted to push some of that weight out towards the corner so basically I'm cutting a flat layer through that top so if you notice where you see the most amount of length coming off there was going to be that center so if you notice where the part is I leave that extended upward because a lot of times I need that length to create volume as I'm going to comb the hair sectioning is extremely important to me so if you see every section that I take has to be very clean so I'm always very very aware of that as I'm cutting hair you know I always say like the movie Karate Kid you must practice and practice and practice so these are things that I constantly practice to make sure that I have consistency when I'm cutting hair if you see the front it has a slight over direction backwards and that's all going to be dictated on how much length you want towards the front and also if they have a receding hairline he didn't have one but I did want a little bit more of that extension of length so here I'm going to use blade slip one of my favorite products to utilize this is going to help me soften the hair as I shave if you see it's white but it'll go on clear onto the skin so because it's a small detail I'm not using my shaving cream if I was shaving a larger area I would have used my shaving cream here but if you see how soft it is and how easy it is to shave also one of my favorite things about this product is as I shave there's not a lot of residue left behind so it actually softens the hair make sure that I stretch out the skin whenever I'm shaving I stretch out the skin and I lay my blade nice and flat against them against the skin here I'm using grooming spray this is also one of my favorite products to utilize when I want just a little bit of volume into the hair as you see I'm blow drying the hair I always say it's all about that base so you know that song it's all about that base that's exactly what I'm doing as I'm creating that volume right movement is going to come from the base so this is what I need to blow dry first so if you see I bring in my brush my 413 brush almost like in a rocking motion and then I create lots of tension with that as I bring the teeth backward so I start elevating that hair up and I focus more on the base more on the base the ends of it I just bring them all back because I want something that's going to be not going to be that it's not going to be extremely polished so after I comb the hair into place I'm going to go in with a little bit of scissor over comb just to balance out clean out any little bits of weight line and I'm going to here use my dry paste this is going to give me a little bit more of a flexible hold the hair is going to have a very matte finish with that but you'll see the nice texture that's created through that here you see an end result you see how the weight balance is just a little bit longer towards the back how it drops down a little bit through that fade creating a little bit of proportion towards the top and to finish it off I'm going to use some of my skin tonic this could be applied face anywhere on the skin so it's going to be a little bit more of a refreshing feel that you feel with that and here what I do is just give them a slightly different look you know I find that a lot of times for guys versatility is key on them so I like to show them more than one way to be able to brush and style the hair and this is more of a textured look hope you guys enjoy


You want some corn, huh? Yeah, you like ethanol. Ah! Try to remember some of the basics of CQC. How many of you have heard this before? Bro, you got to get that ethanol free gas. E10 is bad for your engine. That's a myth. It is true that on older engines or small ones like this weed eater, ethanol can cause some problems, but the main reasons behind that don't apply to modern turbo cars. In modern automotive engines, not only is E10 not harmful for the engine, it's actually better, especially if it's a turbo engine that's being tuned. There's two key points that are most often misunderstood about this topic. Myth number one, ethanol's gonna damage or gum up my fuel system. Ethanol is hygroscopic, meaning it can absorb water from the air. Naturally, water in your fuel is bad, but that only becomes a big issue if it sits for an extended period of time. And that amount of time varies quite a bit depending on certain environmental conditions, like the humidity in the air. The claim is that ethanol causes parts of your engine or your fuel system to become gummed up or experience corrosion. It can be true with older engines as they have several parts containing ferrous metals that respond poorly to the presence of alcohols or small amounts of water. But again, it's not a problem with modern platforms as they've been engineered for at least partial use of ethanol. Myth number two, ethanol requires increased injection, so doesn't that mean it has less potential energy by volume compared to 100% gasoline? This is a classic example of knowing a little bit doing more harm than good. That statement's true at face value, but it completely ignores the much more substantial benefits that come from the very same properties within ethanol. Ethanol has a greater latent heat of vaporization compared to pure gasoline, meaning it absorbs a greater amount of heat energy from its surroundings. So the increased presence of ethanol in the charged air fuel mixture improves resistance to knock by significantly reducing the combustion chamber temperature. That allows the engine to run optimal ignition timing for improved power, efficiency, and safety. All of this also applies to E85 and flexible applications, but those topics are a bit more advanced. This video is very simple. If you have a car that's supported by cob tuning, E10 at the pump isn't something to avoid. It's a good thing.


All right, we are officially at 350. I think we're gonna get started. Thank you everybody for joining This is gonna be a fun session. We have 90 minutes now Let's let's do this. So first of all introduce myself my name is Dan Garfield I am the co-founder and chief open source officer of a wonderful company called code fresh I'm an Argo maintainer. I've been working on Argo for Maybe five years now We've We launched a commercial version of Argo from code fresh about four years at three and a half years ago. We helped bring Argo into the CNCF and then to Sponsored it as a project and helped it get into incubation and then into graduation finally So we've been doing this for a long time. We've helped I don't know countless companies adopt Argo and get ops and these best practices and Joining me today are two amazing people Who will raise their hands. We've got costus capillones who's right here and next to him is Laurent Rochette and Laurent is a experienced Solutions architect and health people adopt this stuff all day long and debug and all those kinds of things And then costus is actually the author of the training that we're going to be doing today and if you don't follow him He does a lot of blog posts and trainings and things he gave a talk earlier today That was very good about doing get ops with databases But with all of that preamble Let me ask you a question. How many of you have done the code fresh get ops certification? Perfect, okay, so this is actually really good So if you didn't know this it is the most popular get-op certification in the world and the fastest growing We have over 20,000 students who have done the certification All of you because you are here are going to get free access to the entire Certification even though we're only going to be doing a portion of it today How many of people have deployed an app using Argo before? Perfect, okay So we're because we're not really going to cover that too much in depth if you haven't figured that out now as we Go through feel free to raise your hand if you get stuck on anything Costus and Laurent are going to be roaming around and if you get stuck on something something's not working Something's not making sense Feel free to jump in and then we're also a small enough group that if you have questions shout them out They've got microphones we can run around and we can we can have the conversation and figure it out Does that sound good? All right, awesome We also have for all of you Don't leave without this but for everybody who's doing the certification do we brought you a free Argo tumbler? so Put hot beverages in it or cold ones. I'm not the boss to you. Look. I'm not saying look you do you Okay, you put popcorn in there if you want it's not my business All right So to get started We have a code that's set up for you. That's code fresh dash FTW all Upper case this is going to give you free access to the entire certification We're going to be working like I said on a subsection of me So I'm going to show you how to do this in a second, but it's learning dot code fresh.io. That's the code I'll leave it up there for another 30 seconds I'm going to demonstrate how to redeem it and then I'll put it back on the screen So it's going to go away, but it's going to come back. It's coming back. It's going away It's coming back if you don't redeem this today It's going to expire so if if your plan is to take a picture and dart out of the room You have to redeem the code then you can dart out of the room. All right So if I go to learning dot Code fresh dot.io It's going to have this certification here and The easiest way to do this is if you scroll down and you see these two courses keep going until you get to the bundle click review bundle and by now and Then put in you won't need to put in a credit card or anything put in the code fresh dash FTW Click redeem and it will show $0 cost Okay. All right, so I'm going to put that back on the screen So you can all get that completed Now today, we're going to be working on promotion with get ops and There are a lot of gosh tricks to this and ins and outs of it Like I said, we have 90 minutes if you do the entire certification if you just if you're like, hey, man This is I feel like I don't have the basis of what you're talking about Feel free to just go start at the beginning of the certification put on your headphones that ignore me But what we're going to do is we have some presentation where we explain the principles and then all of the certifications come with labs So in your on your computer in your browser, you're going to be able to run these labs. It runs remotely Hopefully the internet's okay. We just spun up like 50 VM. Actually, we spun up 150 VMs come to think of it So you shouldn't have very much wait time as we do these labs And then the other thing is when you sign up for the get off certification, you'll get an invite It's in the very first section of the certification to a discord called get ops champions and you Chosen few can join and become a get ops champion and join that discord And so even after today even in a week or in a month you can pop into get ops Champion certification ask questions and get ideas and there's a lot of other like-minded folks who are doing get ops with Argo Now it's possible to do Argo CD and not do get ops a lot of people do that actually it's very common for people to deploy applications Using Argo CD and never set up those applications and get and so they have no way of doing disaster recovery That's shockingly common, but we're going to be doing better than that today because we got it All right, so I'm going to take this code off the screen Oh Okay, take a picture of it and raise your hand if you can't and you've got you've got two people behind you can help Anybody yeah, raise your hand and call it out and again if you're just joining in your in the back If there's tables up here that you can set your laptops on While you're working you don't have to come up if you don't want to but it makes makes life easier at least for me All right, so let me jump into The certification here I can see the VMs have started so that's nice Let's go into Oh There's no expiration date on the certification so you can go back and do it over and over again I Guess we don't plan necessarily to give you indefinite forever access, but for right now you have indefinite access So certainly if you get it done in the next You know month, you know, it'll be there if you get it done in the next six months, it'll it'll be there All right, so let me Jump in it's actually weird to get into the course when you're an admin of it. It's like Sorry, give me just a second While you're setting that up So the code that you saw on the screen is actually giving you access to the bundle which includes the first one with Github's basics and then Github's scale is what Dan is going to show today So even if you're just starting out, you can completely ignore Dan and go into Github's basics on your own today Or the day after tomorrow He was good. He's going to start from the middle But you get access to everything so don't worry about you know if you want to choose another course So once you've logged in you've signed up You'll see two courses that you have available. The first one is Github's fundamentals That one covers installing Argo installing applications setting up progressive delivery blue green deployments canary It covers a bunch of different really interesting patterns And so it really serves as a foundation and I definitely recommend you do go do that because even experienced Argo users Learned quite a bit in that first course on the fundamentals because it is so oriented around being get first you're going to want to navigate to get opposite scale and On the left hand side, you'll see it's got like introduction and About Github's champions and there'll be a link to join the Github's champions discord Which doing today is actually a good idea. We'll monitor we'll be monitoring that discord Then it's got handling multiple applications, which we'll talk about app of apps And then it will also talk about application sets I'm going to start by Presenting and discussing a little bit about Folder management and how you should structure that and then we'll go into the exercise on environment promotion Now we do have a full up a full exercise on application sets multi cluster management all that stuff but I think Well, let me let me actually ask I'm going to give you the choice we can start with application sets or we can start with the Folder management environment promotion modeling So raise your hand if you want me to start with application sets Raise me raise your hand if you want me to start with the folders environments Okay folders environments is winning so does that mean most people have used application sets at this point raise your hand if you've used application sets It's about it's about the same people who said to start with something else If we have time we can come back and do application sets I'm going to be starting with promoting releases with get ops and Like I said, I'm going to present some material and then we'll start the lab We'll give you some time to complete the lab and then I'll also do the lab So you can follow along and see if there's anything you missed. Okay, so The first thing that you want to know is that there are a number of different strategies for managing Your get ops repositories so when we talk about a get ops repository what we're talking about is Where you store not only your Kubernetes manifests or helm charts or Customizations, but also where you store the applications and their definitions themselves. So typically You have a repo for an application where you're building a binary, right? You're making a change. It's got a docker file. You're building an image and then you have a repo for get ops that is The source of truth for your applications. They should be separate repos right off the bat Okay. Now once you've got your get ops repo, how do you organize that? There are basically three different approaches that we've seen the first one is an environment per branch So each branch in the get repository is its own environment with all of its manifests The second one that we see is an environment per folder and when I talk about an environment You know what I'm talking about. I'm talking about like essentially a Kubernetes cluster, right? It's or or an Argo instance, right that you want to have watching An environment per folder means all those manifests fit into multiple folders So you've got like data center one data center to East Coast, you know, maybe you name your your environments Frodo you know Baggins other Lord of the Rings characters Gandalf and then The third one that we see as it is an environment per repository. So they create a new repo for each For each environment, I said there were three, but the fourth one, of course is a combination of any of those okay, so the first big takeaway that I want you to have is Like hella don't use environments per branch We really recommend against this Because if you think about it, you've got a branch for QA a branch for staging a branch for production, right now That's really simple if you have three environments and they're named QA staging and production But I just said what if you have an environment named Frodo or US West or US East or what if someone forks that repo to make Changes and they have a new branch. Does that represent an environment? You don't know and so just by looking at git It's actually hard to figure out what's deployed because you don't know which of those branches actually map to environments So that's problem number one problem number two with this is that doing diffs is actually very difficult The reason The reason that diffs is difficult is because if you think about multiple environments, so if you have a dev app a staging app and a production app There are values and things that are meant to be promoted and there are values that are not meant to be promoted, right? So it's like oh, which database does the dev one connect to you know Is that value saying it's connecting to the prod database? Well, I hope not Right, so you know that there's going to be long-running differences between these environments branches aren't set up for managing long-running Differences that means that every time that you want to promote a change you get into a git cherry-pick situation I think there was a survey recently that showed that like 90% of devs Basically don't know how to use git They know how to do a commit they know how to a push and then that's it Like that. I got a workflow. That's it So give it doing like git cherry-pick picks or getting into like a git bisect raise your hand if you've ever done a git bisect Yeah, yeah, so ask them have for help later everybody else, but That's what you get into if you're doing an environment per branch Is because you need to now start thinking about git cherry picks and then doing diffs between branches means Is is more difficult to you can't just do it off of your hard drive You actually have to run against to get to do diffs Diffing operations. So promoting is harder Diffing is harder knowing the truth is harder. So we really recommend against this approach The reason that people like to do this very often is because it grew out of application development, right? So trunk-based development is like great for working on applications. Oh, I create a feature branch When I'm ready I merge it and devs kind of looked at that and they're like, you know feature branches Those are those are that's kind of like an environment like it's like a long-running thing, you know but That that doesn't really translate into the GitOps world because as a source of truth that Joe Schmoe has a branch that's been alive for for two years That is a feature that he's abandoned. You don't know what the hell's going on there, right? So trunk-based development is why people have done this It's not because they made a proactive decision about the right way to manage their repository. So number one takeaway From this section is basically don't use environments. I mentioned all of these things I talked about merging and that's a that's a problem. The other issue is like if you look at customize or helm Typically you have like different values files, right? And I mentioned that now you need to have You need to have these multiple values files that you're managing across these different branches and then like how do you do promotion again? It goes back to the promotion element. It's it's tricky So customize actually has kind of given us a hint here with how that tool works. So let's look at Using folders for environment and this is typically what we recommend The really cool about thing about using Let's see. I think I have a diagram here. Okay, so check this out Here's an example where I have a number of environments. I've got integration GPU integration non-GPU low-GPU ProdEU prod us staging Asia whatever if I want to run a diff between those environments I can literally just run diff folder one folder two And I get the full diff between the environments dead simple really easy and many organizations are not used to working this way and so there is some discomfort because Typically with git you're not setting up permissions based on folders, right? You're typically doing it on a repo level That exists though. You can do Folder level permissions with a coder's file That's supported and get so you can create a coder's file and say this team has access to this folder This team has access to that folder and you're done. So that that technology exists most Engineering teams I've seen haven't used it has everybody signed up for the certification raise your hand if you have not Sorry, I didn't mean to trick you Okay The other thing is that promoting with this is a lot easier So if I have two files, and if I'm using something like customize I can have a patch called staging Well, I'm just never going to copy that one over right that's easy And so those elements of what's get what moves between environments suddenly it's down to specific files So that makes it a lot easier also as far as a source of truth goes if I Look at my folder structure. I know Exactly what's deployed. I don't even have to go to Argo. I don't have to go like Yes, I need to go to Argo to make sure stuff is sinking, right? But I don't have to know what the to know what the desired configuration is I literally just have it all sitting in my group repo already easy peasy done. Okay, so using an environment per folder that is that is what we recommend and And we do go into a little bit more here And it's worth reading through this, but we'll get into some of it with the exercise But like doing multiple changes at once is very easy to do this way because you can copy Multiple things between files right in different folders So that's very easy to do and then using helm, you know You can have your Different values that you bring into your you can have like sub sub charts sub values and things that you bring in and copy over And separate just like you would with customize Okay, so that makes that makes life a lot easier. All right the third option was an environment per get repo approach and This is basically the same as an environment per branch. Sorry per folder Except you have moved up a level of directory structure, right? Because each like you can copy on your machine multiple repos and you can do diff between them and typically The reason that people do this is because they don't know what a code owner's file is Right, it's just because they don't have that experience of doing it like I did a I did a survey earlier And I was asking people like how many of you have ever cut a release Like actually created a release object like in github, you know and almost nobody had ever done it Even though we're all deploying new software all the time It's just not something that like internal organizations are used to doing and it's the same thing with a coder's file Whereas in the open source world We use coder's every day So if it works for open source to use coder's where like you're giving access to people that you've never even met before It's going to work for your organization like it's it's it's just a generally better option the only reason that you might not want to go with something like a coder's file is because You don't want people to have read access to something in that configuration To which I would say what are you putting in that configuration that you don't want people to have read access to and you're like Oh, I got secrets in there and then I'll say what? Don't do that, right? So typically environment forget repos because there's some other Essentially problem or best practice that's being ignored and I'm not saying there aren't situations where that needs to take place Somebody came up to me earlier today, and I said I like your presentation because it acted like not everybody's perfect in the world I was like, oh good. Well, I need to do more of that. So This there might be situations where you'd go with this option. Okay so Go ahead and fire up your environment promotion exercise and what we'll do here is we're going to examine our Applications and then we'll show how promotion Would work with our different get repositories Now for this one you do need a get repo and because it is get ops you need to fork This repository to work now. I'm showing you the instructions. This is what you're going to have on your screen at the same time So if you navigate to this exercise You can open up this Get repo Go ahead and make you sure you fork it. I actually probably already have a fork I've got plenty of forks Yeah, so in this case, I'm going to go to sync fork I don't have any new contribution contributions, but you can see I'm I'm actually 14 Ahead so I could go back and like revert my commits and get rid of these to to reset Not a bad idea. Honestly Okay so All right, so I What we're going to cover in this one is how to deploy three different to three different environments a QA staging and production and How to model your environments using get folders and then how to promote releases from one environment to the next and then I'll also Give you a few extra bits of info So from here Why don't you go ahead and Let's try this if unless there's an rejection. Why don't you all go ahead and start working on this lab? Raise your hand if you get stuck We'll give you about 15 minutes to work on this lab And then I'll run through it relatively quickly and make a few comments. Does that sound good? Okay. All right So the environment that you are looking in your browser. It's completely online. It's just for you It's personal. You don't not see what other students are doing and you can experiment as much as you want after the exercise has finished It will be destroyed and then if you start the exercise another one will Start brand new But this is a real Kubernetes cluster and a real Argos the instance running In the clouds, so don't use it for any Production purposes as all data will be lost at the end just to make sure And if you guys are interested in the technology we use to do that or partner instruct is there That's where the people we use to basically generate those coaster on demand and stuff So tomorrow you can go you guys on the floor tomorrow. So go look at them and it's a great technology So we're very happy with them. Okay. I was gonna start running through the exercise Unless people start shouting and say, please don't do that Nobody is shouting Okay All right, so we'll run through this. I've got my fork up and running and While you were doing the exercise I got it all reset so I can see that it's currently up to date I've got my fork there. Good to go. All right So the first thing we're going to do is we're going to look at the Kubernetes manifests that we're going to deploy And they're under the environment promotion section you get out of me full screen. It's confusing me So if I look under the environment promotion subfolder, you can say I have a base. I have environments and then I have variants So let's look at the base folder. I've got a deployment customization and a service the deployment has some simple app in it the service has a trivial go web app service and If I look at my customization, it's literally just bringing in these two YAML files If I look at my environments, I've got a product QA and staging If I look at prod I've got my deployment my customization my replicas if I look at my customization It's got a couple of different strategic merges that it's doing to update that base Okay, so that's pretty simple. I know some people haven't used customized before so The customization you can think of all this like a helm chart, but it's referencing the specific Manifests that need to be updated and if we look at these Updates if I look at like this deployment for example, it's going to find a deployment That's named simple deployment and it's going to update Whatever container is named web server simple with these environmental values, right? and then I've got these variants That are basically matching non variants. Okay, so let's um, go ahead and start it Next The nice thing about these labs is it does kind of install and manage our go CD for you in the later Experiences, but there is an exercise you do at the very beginning to install our go CD So I've got to create three Argos CD applications one for each folder One for environments prod environment staging one for environments QA and These should be installed to the prod staging and QA namespaces respectively These namespaces do not exist and they need to be created either manually using create namespace or With the application, which is that I'm probably gonna do with the application You can use any valid method to create the apps such as the Argos CD CLI or the UI or your own custom application resource now if you're doing Earlier in the get-offs training. So if you go back and do other Exercises it will go through each of those and show you how to do them So if you haven't done it before And then if you're having trouble creating the Argos CD applications by yourself Be sure to look at the get-offs fundamentals course. So I everybody said that they had created applications before so I'm gonna go over and look at my environments prod QA Staging so I can create these applications any way I want now the way that I would do this in the real world Which is you know generally what the training is meant to be for Is I would actually create these using either an application set or a I would more realistically I'd probably create an app of apps and then pointed at a folder and then pointed at these three applications, but for For today, I think I'll just create them in the UI to be lazy but because it's more interesting than watching me like Type a bunch for applications sets or something. So let's go to our Go create our apps and My first one is going to be called Prod you need to make sure you follow the naming convention because that's how it's going to check You got it done. I can use my default Naming strategy and I can use a manual sync policy in this case I'll be using auto create namespace and I'll create the deletion finalizer the deletion finalizer for people that haven't used it before is Can be Tricky for new users if you set the deletion finalizer the way that kubernetes works is Any resource you'll look it'll always have a finalizer on it And basically once that finalizer is released a resource will automatically be deleted So when you set the resource finalizer as Argo CD if Argo CD Releases that it'll automatically be deleted. So what happens? I don't know if anybody saw the talk by Michael goodness earlier today But he one time had an experience where he accidentally deleted Argo CD Does anybody know what kubernetes does if you delete the thing that would be holding your finalizer? It deletes the thing so he deleted Argo CD.  So that's what this this option does and so a lot of people don't use the deletion finalizer It just depends on how you're using Argo CD now if you're using it in a fully get ops way I Generally use this for my stuff And I know that you know Argo CD is not going to get deleted, right? But that is a potential failure condition to be aware of I Don't really need to set any of these other options auto create name space. I'm going to use for my source repository I'm going to use my fork so I've got my fork and Then my path is going to be Environment I can copy it Okay Then local cluster my name space is going to be prod name space, which is going to get created automatically and I should be ready to go. I'm gonna hit create. Let's see what happens Because I've got manual sync turned on. I'll need to hit sync manually for the other ones I'm going to use Auto sync, which is what I usually use and we'll talk about those options Doesn't look like I screwed anything up right now Awesome, so it's created Okay, so now I'm going to create a new one for staging I'll call this one staging default automatic In this case, I'm going to use pre resources in self-heal. What does prune do prune means that if a resource is deleted from get It will automatically be deleted from the cluster Earlier today. I talked about using version to config maps because config maps are like kind of Poorly used by operations by most organizations because they'll update a config map and Then there'll be something that breaks and they'll try to do a rollback And so the old pods will start up and bring in The new config map and they'll still be broken so you like can't roll back just by rolling back your previous pods So you have to roll back the config map to but if you do a version then it's a lot easier So anyway, that's a whole different topic. I'm sorry for bringing it up And then self-heal means that if someone edits it Live on the cluster like if I went and did a coupe CTL patch or coupe CTL edit Or someone just pushed another change Argo would notice that and it would smack it out of the way and say nope Whatever's in get goes get out of the way. All right I'll leave the deletion finalizer. It doesn't really matter in this case Auto create my name space my same Repository I've been working off of and Then my path would be This staging path, right easy Same cluster URL same name space Just a staging and I'll go ahead and hit create. Okay, so this one's gonna automatically get synced Now I haven't actually modified anything in my repository yet, right? So now I'll show you how I do this with app of apps really quick for funsies so To do this with app of apps What I would do is I would go into my environment promotion section and I Would create a folder called apps And this is going to contain all of my references to applications. Okay Now Inside of here, I'm going to create a file Called What's the one I haven't deployed yet? I Haven't deployed QA yet. So I'm going to create a file called QA dot yaml Okay And then under this QA yaml.  I should have done the harder stuff and you can put on your headphones and just skip on to the next exercise move on I'm gonna set the sync policy to automatic. I'm gonna do prune resources Resources self-heal. I'll leave the deletion finalizer all out of precedent Let's let's not do the deletion finalizer because I told you how dangerous it can be Let's set up my repository URL Make sure it's coming from my fork and then I'm going to point it at QA and my local cluster and Something to be aware of with cluster URL versus name if you're deploying to the same cluster always just use the URL You don't have to worry about it But if you have multiple environments, I would always use a name Because then I can always just change what it's pointing at to bring up a new environment, right? So in this case, it's the same cluster so I'll just leave it as URL, but something to be aware of All right, so namespace QA now you're all thinking wait. Why did you do that? Because I just wanted to generate the yaml for me Then I didn't have to remember how to do it from scratch right Somebody somebody out there is just thinking. Oh That's really nice. Yeah, it is really nice. All right, so now I got my QA in here and I can go ahead and push this Check my git status git add apps git status git commit I'll sign this off and parent app for app of apps and QA app Okay, so I just pushed back to to my own version now nothing's going to be deployed yet because I haven't actually haven't created the app of apps So I'll show you I'll create a Parent app I'm going to do an automatic on this one and definitely I'm going to do prune and self-heal So if I delete the application yaml, it'll automatically get deleted from the cluster I don't need it. I don't need to auto create the namespace Same repository URL path is going to be Environment promotion apps, right?  So it's an app of apps and there's a whole exercise on app of apps So if this is if you're looking at this and you're like wait, there's like you can do that You're gonna want to definitely do that exercise so you can see it automatically picked up this QA Right and it's going to the QA namespace automatically. So and Then I've got my parent app here, right? And if I look at my parent app The only resource that it's going to show is this QA app and as soon as this QA app finishes deploying It'll show up as in sync. I can jump directly over to that QA Yeah, until a recent version of Argo CD You could not create the apps itself in a different namespace than the one where Argo CD was installed So yeah, we still kind of in the habit of do that. I think in your version It's not a requirement anymore. But yeah, now you can configure it and you can add additional to additional namespaces Okay, so now I should have three Applications deployed and it sees that they're all there and it's happy with me. Okay, cool Now Here's a question For you What if so I created those two applications in my cluster, right? What if I then created them in my get repository? What would happen any guesses? Nothing would happen That's right. Nothing would happen. It would automatically just take over management They already exist in Kubernetes so this is this is true as well of Existing Kubernetes resources if you have and some people will say hey I've got some resources that are not under management of Argo CD How do I get them under management of Argo CD literally just create an app that points at them and as long as The source of truth is the same as what's deployed literally nothing will change Except that now they're under management Right, so you can just migrate stuff over it'll add an annotation. That's what we'll do It'll add an annotation to let let you know that let our girl know that it's happening All right, so each of these is using a different selection of manifests all managed by customized overlays And so we're going to promote releases by copying files between the folders that hold the overlays Okay, so if you look at the manifest located in each folder each application is defined by the following files Version dot yaml that defines the container image settings dot yaml that defines the application level setting for the application So those are all just variables right replicas yaml that defines the number of replicas and service yaml that points to each application All these files are managed by a customized and are defined according to the promotion scenario of your organization in our example We'll mostly deal with the first two files. You can do a different split depending on your needs For example in our case we can move settings between different environments by copying the settings dot yaml file While we have different replicas per environment We can also have we have also included two customized modules the prod one for the production and the non-prod one that is used for both QA and staging environments you in the applications. We have created three separate tabs So you can see these these three tabs QA tab Starting staging tab and production tab and you can see that staging currently has version three Sorry QA has version three staging has version two and production has version one So now we can actually do a promotion by just updating these Just copying them right now if I'm using the structure. So if I go back and look in here I can do let's go into these Let's go into the ends here folder and if I wanted to do a diff between prod and QA I Can literally just run that diff right here and it will show me all the differences in these files, right? And so what I'm going to see is I've got things like my service node port that I don't want to promote But then I've got things like My values and stuff and this isn't a very pretty diff view, but you can do this with an ID Right, so give you the same thing. Just to show you how it works Okay So the way that we do our updates is we just copy File Right and we we make sure that the files are Representative of what's supposed to get updated. So if I'm going to update And you can actually label these two like you could create an overlay called staging And it's like I never update the staging one on production if that gets copied over I made a mistake, you know And you can automate it, right But let's go ahead and promote the current application version from staging to production By literally just copying these two files Okay, so Let's look at my let's just do this in the ui And I'm going to look at my environments and I'm going from staging to prod And I'm looking at the version dot yaml. So I'm going to go to my version yaml And I could run this Right by doing like a cp command or I can go to prod and version And paste right and you can see the only thing that's changing is the version number And let's go ahead and commit that to Oh, I need to add it Okay, I'll push that And this is going to automatically get picked up Uh, and I think my prod I had set up on a manual sync, right If I go to edit my application You'll see I can no longer get a preview of the manifest by doing that. I have to actually go to the manifest here Click edit directly And then that's how I would copy my application over to to move it back into management But let's go ahead and just sync it All right, so now it's picked up the change. It's going to spin up those new pods And I've done it. I've uh, I've done my promotion from one environment to the next Easy peasy Okay Let's go ahead and check that And of course we can automate this using ci now in the example we do this with github actions Um, you could do this with code fresh ci as well Um, I don't know if I should go through and set this up During this I think we should move to the next section, but let me let's just do a poll Raise your hand if you want me to demonstrate setting up the workflow Like one person. Okay. Raise your hand if you'd prefer that. I just move on to the next section That's most people. Okay. Uh, the eyes have it. So here, um, the these sections where it shows There's just there's I mean, I'll just show you very quickly If I look at github actions here You can see I've got a promote application Action workflow that runs and um Basically all this does and it'll they exist under the github actions workflows folder Basically all this does is Copy information from files. So if I look at like So here it's running like a copy file action between two files. It's not doing anything fancy. You don't have to do yq You know if you're if you're structuring stuff in the files this way You don't have to get into those more complex operations. You're literally just copying files Um, and that could just be automated, right? So that's that's nice and easy. Okay, so, um That gives you the baseline of like copying the files Showing you how that structure works and showing you how a promotion would happen and we can look at our production app We can see it's now using staging So let's go into the next section um Okay, so let's let's talk for a minute about image updater Then before you start make them start the next lab so they won't have to wait for them Yeah, go ahead and and go to the live exercise our go image updater and hit launch and I'll Talk at you briefly While it's launching Okay, so now we've shown Uh, how that folder structure works and I know it's like so simple. It's like, hey man You're just showing me like how to organize a folder and it's like yeah, that's all I'm showing you That's how simple that is but when you do that, right? You literally You literally avoid so many complex problems that come from using Uh, like branches for environments Um, just organize like good hygiene on your your config files makes your life a lot easier And before I even talk about image updater Um, I want to mention a tool called argocd autopilot Uh, I know I'm asking you to raise your hand a lot. How many people have heard of argocd autopilot? Wow, oh my gosh. Okay. So check this out. Here's here's several things. We didn't talk about remember when I created that parent app And I created in the ui Well now that parent app isn't in git, right? So if my cluster went down right now and I wanted to get back to where I was What who was paying attention? What would be deployed if I just deployed what's in my git repo? Did anybody remember it would deploy my parent app and what? And qa and nothing else right because all the other stuff I just created in the ui Okay, now Think about your argocd instances that you have in your organization How many of you have any of those apps were created in the ui? Okay, are you starting to get a sense of the problem? Right, so if I needed to bootstrap this it wouldn't come back. So what argocd autopilot does This is a tool that we developed for argo and it's a command line tool And it has The most remarkable command so you add a git token You add a repo and you run argocd autopilot repo bootstrap And what it does is it installs argocd And it sets up an application set That will and App of apps that will make it automatically self managing. So argocd is under self management And it automatically knows what folders to look at and once you run this command You literally never have to touch the argocd ui At all everything else is git So, um, I use this for my I have a homelab cluster. I've got like a three. Well, it's like five nodes I've got like a five node homelab cluster that I run everything off of and I came in one day and something had like Broken on the cluster. I think it was like I had let uh k3s Not be updated for too long or not restart for too long. So like the certificates expired So it was like a crashed so I had to reboot strap the cluster I literally ran argocd autopilot repo bootstrap dash dash recover Reboot strapped argocd reboot strapped all my applications. I was back up in like two minutes. Like it was so fast um, and I have like stateful workloads and stuff. I mean, it's like If you can't do that if you can't if you can't delete your your stuff and then just run reboot strapped then Like this you definitely should finish the whole certification and then start implementing it, right? So Oh, yeah. Yeah. Yeah, totally. I totally view it as disaster recovery, but it's an it's an it's an ops problem Right, but like if you solve your ops problem You also solve your disaster recovery problem Now you do have to think about stateful stuff and like how that gets reboot strapped and so you need to have like a solution for that and uh, costus grave gave a great talk today about um, Updating databases with get ops that would be very applicable to that kind of setup, right? So definitely check out argocd autopilot Go start this repo and um, and try it out, but I'll show you like My home lab cluster um, you can see I've got It created my bootstrap projects and user and then under projects It has a application set that generates everything for that project, which is pointing at a specific cluster Which is just the local one And then I created an apps folder For my parent apps, right? And then I just have If I want to add stuff specific, you know, then I do that that way, right? If I can just add it directly and get Okay, so image updater Is solving a different problem What image updater allows us to do is monitor how many people have used image updater Okay, so this is new for most of you. Good. All right, so image updater is a really cool tool We have within argo. We have a whole section of tools that are called argo project labs They're technically not cncf projects They're just community projects and anybody can make them if you want to build one at some point You know and add something to argo project labs, you know Just getting contact and what we can help set you up to do that but Image updater started is that and what it can do is it will monitor an image registry For tags and you can set this by semver You can set it by specific, you know patterns or whatever and then it will automatically Update your git repo with the new tag So if you're just Promoting new images image updater like takes the headache out, right? It's very easy because you're just saying hey when a new image gets tagged for staging Automatically deployed to staging, right? But it's versioned and it can handle all that so image updater is very powerful and nice to use And So the way that the way that The way that image updater works Is it has by default it will just update the workload in argo So it'll just specify a new manifest for argo cd deploy So if I don't have anything in git And then it has an option that's called get right back and get right back will actually update git So you have to enable that as an additional option. So let's go through and and do that lab There's not really more for me to explain off of that. Yeah, that's good So let's do this. We've got We don't have a ton of time We've got till We've got about 15 minutes So go ahead and fire up the live exercise if you haven't already done it um And let's do this exercise and then uh, we'll have one other tool we'll introduce before the end That's not good. Um, and then raise your hand if you didn't get an argo tumbler Oh, it's like most of you. So, uh, maybe we should do laraunt. Let's just open the box by the door So as people go out, they can grab a tumbler. We've got more than enough for this room. So we should be good Yeah, just take one. Yeah. Yeah So actually let's let's do this. So, um As you start working on that all I just want to introduce kind of like the final like two little topics Um to be aware of so after you finish this the next, uh labs are on sink hooks sink windows um And uh, and then of course if you haven't done the app of apps or the application sets earlier Then you should do those exercises and then you can take the test and you'll be level two certified The level one if it looks too simple, just go do the test But it'll show you how to do progressive delivery and things like that now, um with the if you think about this problem of like updating manifests and updating these resources Doing it with a ci pipeline works Image updater is going to cover binaries for us, right just images um, and probably like a good I don't know 60 of the time all you're updating your images So for handling things that are out of phase from just updating images there is uh A million dollar question, which is like how do you update the configuration as well? How do you do it across environments? and When I say it's a million dollar question, uh code fresh is betting that it's more like a 500 million dollar question um We announced this week A new tool a new feature for modeling environment promotion That allows you to model not just images, but also configuration And you can also model specific lines of configuration that go through promotion So you can do like staging to production promotion and it knows Which sections are supposed to be promoted and which ones aren't supposed to be promoted so We're not going to demo that today But definitely stop by the code fresh booth. We can give you a demo of it and show you how that works There's a really cool spec that goes into it.  That's part of the story. So definitely check that out. Um That's the final word on it. And then uh, I think what we'll do is we'll let you work on the Image updater lab if you have any questions. We're here to help answer those and then It just thumbs up like recommend so far so good or did you feel like hey, that wasn't enough time Like I need six hours to do this Which is true thumbs up people are feeling good. And then you'll be able to work on this on your own You can do the entire rest of the course and the level one and the level two and of course level three Is in production. So that'll be out later


Subscribe and press the bell icon to never miss an update from SISTUV. Hello everyone, my name is Shivani and you are watching our YouTube channel SISTUV. Today we are here to help you with yet another problem faced by us many times. In the age of digital photos, we keep all our memories saved on our devices. But sometimes due to accidents, we can lose them. Be it a system failure, virus attack or simply a wrong command. When you delete images, they usually land in the recycle bin. But sometimes they are permanently deleted. In that case, recovery seems impossible. But that, my friends, is not true. With the help of one of the best photo recovery software, you can seamlessly restore the deleted photos. So let's take a look at the list of the best photo recovery software for Windows 3C. 1. Photos recovery Photos recovery by SISTUV software is one of the best photo recovery as it comes with the powerful algorithms to recover the lost photos. It is capable of restoring deleted photos from internal hard drive as well as external hard drive, USB flash drives and memory cards. It can easily work for recovering deleted photos with the file system like F80, F8032 and NTFS etc. It has two scan modes for your convenience. For the permanently deleted files, you can use the quick scan. And for the times when you have lost images due to formatted drive, you can select a deep scan. The tool is user-friendly with the easiest navigation. Just select the location, scan mode and start the scan. The results will appear in a list format and you can preview the images before restoring them. Internal and external storage works with F80, F8032 and NTFS. Compatibility, Windows 10, 8.1, 8, 7, both 32-bit and 64-bit. Quick and deep scan modes, preview with file details, list and preview scan results. 2. Stella photo recovery Stella photo recovery is another one of the best photo recovery software for Windows. It is capable of recovering photos, video and audio. It also provides smart information which is the details on the storage drive, volume or partition. It helps you to keep a track on the hard drive to keep the computer performance in check. It gives an option of deep scan in order to dig deep to find deleted photos. You can also save scan and resume recovery later with its help. Recovers media files, information about your storage drive, compatibility, Windows 10, 8.1, 8, 7, both 32-bit and 64-bit. Save scan and resume recovery, preview photos, support multiple formats. 3. Advanced to disk recovery Advanced to disk recovery is one of the best data recovery software available for Windows PC. It can easily recover the photos, videos, audio and other files from your computer. It easily restores from internal and external memory cards, USB, SSD and hard drives. Provides various options as photo recovery software as it has multiple filters to narrow your search. Comprehensive scan with quick and deep scan modes. You can review the scan results and make selective recovery. Recovers audio, video, photos, documents. Supports internal and external drives. Multiple scan options. Customizable filters. Review photo before recovery. Compatibility, Windows 10, 8.1, 8, 7, Vista and XP, both 32-bit and 64-bit. 4. EZUS Data Recovery Wizard Pro EZUS Data Recovery Wizard Pro is a great solution for the data loss in case of system crash and formative drives. It can easily recover photos from digital cameras, memory cards, hard drives and USB flash drives. Different scan modes named quick and advanced to choose from as per the requirements. The photo recovery tool allows a preview before recovery to make it user-friendly. Recovers from system crash formative drives. Supports digital camera, external storage drives. Compatibility, Windows 10, 8.1, 8, 7, Vista, XP and Server 2016-2012-2008-2003. Quick and advanced scan modes. Easy to use. 5. Recovered by Wondershare Recovered by Wondershare is the last in the list of the best photo recovery software. But it comes as a great option for those who are looking for a quick recovery of the lost photos. It recovers your lost, deleted, formatted or even corrupted files. This allows you a free scan of your device and preview files, photos, videos, audio, documents and many more. Recovers photos, videos, other documents. Free scan and preview. Compatibility, Windows 10, 8.7, Vista, XP. Supports 1000 plus file formats. So this was the list for the photo recovery software which will help you bring back your deleted photos. We hope this video helps you in selecting the best software for your PC to recover the deleted photos. We have added the links in the description for official web pages to all the tools mentioned in this video. Also, if you found this video helpful, don't forget to like, share and subscribe.