Hello street YouTube streaming audience. You missed out on my great business plan for Amazon That combines our love of if you're not already supporting us on patreon Yeah This this will be a moneymaker. You'll get Rogers free business plan in the pre show Hey, that would be great. That could be a patriotic level. I will give you a business plan to work It is today Roger's business plan is it our free show business small business week here patron Which is on fire today Yeah, cuz he his back doesn't hurt him. Yes. I feel better feels like a new man. I had I think I had kidney stones Well, it seems like something you'd want a doctor to for sure say yes I'm sorry, but she thinks maybe you could have a doctor. I'm not a doctor, but I would probably be like Somebody should I'm trying to get my PCP, but Right. Yeah, the angel dust angel dust. Oh my primary care physician. Oh He's trying to get his primary care Prescribed PCP we've moved on for that Gosh You and your outdated references Sarah PCP and crystal meth are not the same thing Roger No one use does anyone use PCP anymore really Cheaper less destructive alternatives, maybe not less destructive. I don't know. I don't know anything about PCP Except that it's a horse tranquilizer or at least started out that way. Yeah, a lot of horses still use it I don't know if it's expensive. I don't know if it's cheap. I don't know if it's fun I don't want to know we know it's bad You know, it's it not prepare appropriately for this Seriously me either Since January I know a lot of ground for a couple weeks. I moved I moved from Premate handy monkeys or apes to PCP Okay, well on that note all that said I think it's is it already your turn to do the pre-roll Sarah I don't know. I don't know when you whenever you tell me to do it. I just do it I mean I basically play one from the audience and then I read one then I play one from the evidence that I have you read one Well yesterday was an audience. Yeah All right, I'll do it today. All right good Agreed we are we have an accord You moved up from a civic All right, here we go three two Daily Tech news show is powered by you to find out more head to daily tech news show comm slash supports This is the Daily Tech news for Tuesday March 27th 2018 from DTNS headquarters in Los Angeles I'm Tom Merritt and from studio feline I'm Sarah Lane and from pod feet productions in Los Angeles. I'm Allison Sheridan Allison's back from the continents. Good to have you back Allison. Yes, it is. I'm glad to be back It's I like to be home sleeping in my own bed. I'm sure It's like letting you sleep at all. Is that oh, I'm I'm sleeping like a monster. It's all I've been doing is sleeping Excellent. I'll tell you he's not asleep Roger Chang our producer. He is on the ball. How are you Roger on the ball? I'm on a seat, but I am physics. Yes. I'm good some people use the balls to see Yeah, let's start with a few tech things you should know Apple announced a new 9.7 inch iPad that supports Apple pencil available to students for $299 or $329 to the general public the Apple pencil which cost $99 will be $89 for students so ten ten dollars off Logitech also announced a stylus called crayon for $49 and Apple announced the class kit development framework along with a free homework management app Called school work and an update to make the classroom app work on the Mac as well We're going to discuss a lot of this and Apple's attempt to get back into the education market a little bit later in the show It's back the US Court of Appeals for the Federal Circuit has ruled Google did not have the right to use the Oracle own Java programming code in its Android operating System on mobile devices the case now heads to a federal court in California to determine how much Google should pay for those keeping score at Home Google is one twice a trial and Oracle is one twice an appeal and one would expect Google to appeal this one Which could see it end up in the US Supreme Court. I remember covering this story for buzz out loud. Let's see that Seriously, yeah, no joking. Yep Yep Xiaomi announced the Mi Mix 2s Which is similar to the Mi Mix 2 but has a Snapdragon 845 chipset dual camera on the back comes in ceramic white as well Ceramic black with 18 karat gold highlights comes out first in China ranging from 3299 rmb around $527 us to 3999 rmb about 640 bucks Jami also announced the Mi gaming laptop the top-end version of that has an NVIDIA GeForce GTX 1060 GPU that one will run Yeah, 8999 rmb equivalent to around $1,440 Hardware announcements today Huawei announced the p20 pro p20 and p20 light phones featuring something Slightly unusual at least something that a lot of people haven't seen before a three camera system Which adds an 8 megapixel optically stabilized telephoto camera which allows for 3x optical zoom or a 5x hybrid zoom And also has a color sensor at 40 megapixels the p20 pro also has dual tone paint that shifts color Based on how light hits the unit based on where you are thanks to something And I love the name of this called non-conductive vacuum metallizing Okay, the p20 is now available for 649 euro the p20 pro comes April 6th with prices of 899 respectively in Europe these will not be available at least through official channels in the US Yeah, both the both jami and Huawei have some AI on board to help identify what you're taking a photo of and try to Tune the imaging and stuff which is pretty interesting. I saw a low-light photo from the p20 pro from Huawei It was insane. I mean it was it was really really good is is is having I know we you know We have lots of other stuff to talk about but is having a phone that changes color based on the light. Is that It's new it's new it's novel, but is it something that anybody really cares about? Is anybody care about phones anymore? I don't know you gotta do something. I think so I think it'd be cool if your phone changed color when you moved her. I think that'd be I'm not saying it's a bad feature. I just I feel like it was very front and center with you know Every review that I read where I'm like, okay, you know why because those people had to try to take pictures of it They said it was Let's talk a little bit about text-to-speech Alison Google is launching cloud text-to-speech letting developers access voice synthesis powered by deep minds wave net software Wave net does not assemble syllables like most since most Synthesizers but uses machine learning to generate the voice from scratch wave net was integrated into Google Assistant in October The cloud service will offer 32 different voices in 12 languages with users able to customize pitch and speed This cool So we're we're going from wow It sounds like a human finally to really sounding like humans like multiple humans And you get to pick one and customize it as a cloud service Did you see whether that was gonna cost people a bunch of money or can you play with? Oh, yeah No, it's part of it's a cloud offering for businesses. It'll cost. I didn't see I didn't see a price breakdown though But yeah, pretty cool Mozilla announced the Facebook container extension for Firefox that isolates Facebook cookies in a container So in other words the extension makes it hard to for Facebook to track your outside activity outside of Facebook comm You'll still be targeted for what you do in Facebook with that cookie But when you go elsewhere on the web the Facebook like button won't work You know, you won't be able to necessarily use Facebook to log in that could be a downside But it also won't track you while you're looking at other sites Mozilla says it does not collect any data from your use of the extension only the number of times the extension is installed or removed And it wouldn't have stopped things like what happened with Cambridge Analytica because people gave their permission and it Was all within Facebook But if you're worried about Facebook in particular tracking you around the internet This would be a good way to not have to delete Facebook, but still isolate what they collect about you So I just ironically I loaded this extension and when you load the extension it says add Facebook container It requires your permission to access your data for all websites I'm sure that's fine. Yeah But it just read kind of funny when we're talking about trying to get privacy and not be tracked around the web and it's like Yeah, but I'm you can trust me. I'm just gonna track you all over the web Yeah, no, this is this is this is funny because what it's doing is is saying hey, I'm an extension And so I need your permission because I'm gonna run every website through me. Is that okay? But we're so used to extensions not properly asking you maybe that it seems weird Yeah, it kind of comes down to like do you like Mozilla as you know a company that would provide something like this and believe that Really all they want to know is how many times it gets installed or uninstalled. I Tend to say yeah, okay, sure. That's you know at least an extension I'd like to have at the ready But you know if you don't trust Mozilla either then it's not you know, it's it's it's it's not actually solving any problem And and this is basically doing what privacy badger does for the entire internet except doing it just for Facebook If you don't want to deal with trying to manage tracking and allowing like certain websites won't load because they think you have an ad blocker If you've got privacy badger on if you're like, no, I just want to keep Facebook from doing this Then this this is great because it it allows Facebook to continue to work But just blocks it off from the rest of your network. I love a lot of people are paranoid about Facebook But not other sites although You know understanding kind of how the cookie process works Would would lead most people to believe. Oh, okay. Well, it's not just Facebook if this is actually something I'm worried about go ahead I was gonna ask I'm glad you brought that up Tom, but in Safari. They enabled the by default now Third-party cookies are disabled. So is that similar to what you were talking about with privacy badger? No privacy badger goes further because a lot of times third-party cookies being disabled there are ways around that There are ways for the sites to be able to load in tracking pixels and all kinds of stuff that privacy badger can catch Safari's third-party cookie thing is a simpler way to do that. Okay Arizona governor Doug Ducey said in a letter Monday He suspended uber from testing autonomous vehicles in the state following last week's fatal crash uber had been testing self-driving cars in Arizona since late 2016 and Vidya has also suspended its testing of self-driving cars on public roads in New Jersey, Santa Clara Japan and Germany in order to quote learn from the uber Incidents while at the same time Neutonomy resumed its autonomous car testing in Boston after a brief pause Meanwhile Waymo will include up to 20,000 Jaguar I pace electric cars in an upcoming autonomous fleet as part of a long-term partnership Waymo has plans to roll out a ride service to the public using Chrysler Pacifica minivans in the Phoenix Arizona area in the coming months Yeah, there's you know this this is one of those things where everybody's got to have their own take on this Obviously uber is going to wait until the NTSB is finished until their own engineers are finished determining what went wrong On their side before they're going to even bother applying with Arizona to resume testing I think the governor was probably under some political pressure to to make a statement about that I don't think uber's racing to get back to testing at this point and in video is having their conference right now showing off a Lot of simulations and stuff interesting that they would pause their testing But they're saying on stage They think this is going to help make things safer because everybody's doubling down to make sure that their technology is safe Yeah, I think a company whether or not they're The the company's word the technology isn't quite baked yet Appears responsible for saying hey, you know, let's just pause this for a minute I think that goes over well, and I think there's not it's not just about appearances I think a lot of companies are like, you know what? Let's make sure We don't want to have an accident exactly I mean how long I have many how many days have gone by since we haven't talked about the uber, you know I mean, it's like, you know, it's a big story It's it has a lot of people worried and yeah, the governor said, you know that the dash cam footage was very disturbing and you know It's it's quite frappe, you know as far as I'm concerned. It's a little hard to understand what's really going on I'm not sure that those were the words that I would use but if you have people freaked out then it's you know You tend to have people get a little conservative with this Well Foxconn which manufactures around 40% of all consumer electronics is buying Belkin for 866 million dollars in cash Belkin, which owns the links is Finn and Wiimo brands will continue to operate as a Foxconn subsidiary Bloomberg reports Foxconn will also acquire Belkin's portfolio of more than 700 patents in the deal which still needs to be approved by the Treasury Department's committee on foreign investments in the United States So Foxconn continuing to build itself up as a player in consumer electronics Not just an assembler anymore Also, a lot of people are gonna have knee-jerk reactions about Foxconn without understanding it because it's hard to understand It's a Taiwanese based company on high precision manufacturing Which actually also is a Chinese company because it exists in China and they're building a Manufacturing plant in Wisconsin So they are in the good graces of the US government right now for spending money and bringing in jobs in the United States So a little bit of a different Chinese story for many reasons here. It does give me a little bit of pause though Tom I know that everything is assembled by them But you know, I have a Belkin dock on my desk that has my ethernet going through it and all that kind of stuff And I do I want that owned by a Chinese manufacturer? I don't know I mean, dude, which which bothers you more Your iPhone that was assembled in Guangzhou or this Belkin router which may be assembled in Wisconsin in the future Definitely the latter bothers me more than the former because I know that Apple has a lot of control over what goes on In China with the stuff that Foxconn makes for us And you don't think Belkin will have any control anymore Even though it's going to continue to be headquartered in the US and maybe assembling its things in Wisconsin I don't know that's a good question. That's good. It is it is a more complex problem Which is how you how you staged it, right? And that yeah, and that's what I want people to think about like this isn't a simple story And none of these things are anymore that these companies are so multilateral and don't forget Foxconn's Taiwanese Which just make that's an extra layer of complex the accent on it. Yeah You know what else is very complex you guys bees Bees. Yeah, that's what I said bees. You may have missed this You may have missed this if you don't read a lot of science journals But earlier this month Walmart filed a patent for autonomous robot bees called pollination drones Which can help to pollinate crops bee drones pollinate the like real bees But they have the added benefit of having tiny cameras and sensors to help detect Locations of the crops that actually need pollinating and then you know What where you should actually pollinate to act like a real bee walls Walmart also filed? Five other patents for additional forming drones including a drone that tracks a plant pests Another that monitors the health of various crops. This is according to science alert now This is not the first Walmart is not, you know forging new ground necessarily Harvard University researchers first tested their own Robo bees That was their name back in 2013 in 2017 a student at Georgia Savannah College of Art and Design created plan B Get it A drone controlled by a smart device that artificially pollinates flowers on behalf of bees now I you know The fact that it's Walmart applying for the patent aside because I don't even really know what to make of that The idea that bees and Robo bees might get along in harmony considering that you know The bee population is it is in dire straits is fascinating to me, and I hope they all get along So you're what you're saying is Harvard bees and Walmart bees living together in harmony is what no I'm saying real bees and Robo bees working together in harmony in any way that helps pollinate things is a great thing I just don't want this because I you know that the sort of The the the loss of okay you laugh, you know, I care about bees guys. I know I know the loss of the bee Population, you know over the years has confounded a lot of folks Well, I mean, I don't want a solution that like scares the bees even more, but if this works The the obviously the agricultural industry a lot the hive collapse disorder is widely misunderstood It's not as bad as some people think it's worse than some people think What the one thing that pops to my mind is is the almond groves here in California They're looking for more efficient replacements because what happens right now is they have to truck in bees To the almond groves to pollinate them and it's expensive So that there there've been a couple of companies try to use a different kind of bee that doesn't go in hives But it's solitary and it's more efficient in its pollination. So having robots, you know As another possibility for that it could be good for all kinds of crops not just almonds So I don't understand you guys having an intellectual conversation about this. Have you not seen the black mirror episode hated in the nation? Oh, yeah, no, that's why I feel comfortable. We've been warned. We know what mistakes to avoid now. Oh, sure Oh, I don't watch that show. It's so doom and gloom man Oh, but this was one of the happiest episodes ever only like I In this episode and it's the fight it's one of the happiest ones Philip K. Dick has a much darker version of this in his books that predate black mirror if you really want to go down that be hold Listen, I I said it before and I'll say it again. This is my last thought on the matter I love bees bees are our friends if robo bees help bees, you know, do their job a little bit more officially Super into it is Walmart have bees best interests in mind hard to say are they a plate? Are they gonna pay the bees a competitive wage? Well again, you know, there are a lot of questions yet unanswered Allison we will be getting in touch with Martin Sargent for a Balancing view and I can say this now because aim is is gone his aim handle was always rage against bees He was so deathly afraid of them folks If you want to get all the tech headlines each day at about five minutes Be sure to subscribe to Daily Tech headlines. No bee business. Just the just the bee facts Available on the Amazon Echo the Google home in the anchor app and of course at Daily Tech headlines dot com All right, so new iPad new Features in I works for for that are good for education pages numbers and keynote are gonna support the pencil pencil works on that 10-inch iPad now doesn't just work on the iPad Pro Students getting 200 gigabytes free on iCloud up from the five gigabytes We mentioned class kit school work allows you teachers to assign Allows kids to complete their assignments. You get the teachers can see How much progress they've made an apple made a big deal out of only the teachers and the kids see the information Apple never gets it a little bit of a of a nudge at Google with Chrome OS being in the cloud Apple teacher program free online hub for teachers to learn new skills Apple school manager for IT employees this probably The biggest deal here and under reported creates student profiles individually or in bulk The biggest problem Apple has had recently is management of these devices now cost is not a A negative factor, but cost is just the second factor next to management if you remember the LA school district the LFA LA Unified School District got 640,000 iPads from Apple to give to its kids and They ended up having to end the program Apple was forced to pay four point two million dollars Lenovo which was providing the software for Pearson had to pay some money as well It wasn't just an Apple product problem and it was because of the deployment It was because of the software so getting that right and they've improved since that 2015 fiasco in LA But getting that right is the key here Allison looking at all these announcements today and looking at at Apple being third Worldwide in the market third in the US when they used to be you know back in the in the late 90s and early 2000s Apple used to be dominant in the education market. What did you think of today's announcement? So I am a certified Apple fan girl and I'm still doubtful here In talking to some teachers that I know in in a local school district Most of the teachers are not super tech savvy So there they come at this with a real disadvantage I mean when they when they show this stuff off and how slick it is and everything I'm just picturing them trying to figure out how to log in and and I don't know the use of the computers in the school it seemed to be more focused from the manufacturer from Apple in particular at You know, how can we make really cool tools as opposed to how can we build things that support that the curriculum that already exists? Because these people have a lot of restrictions on them of exactly what they have to teach how they have to teach it How the textbook works and just saying okay, look we're gonna teach you how to code Wait a minute. That's in my curriculum. I don't get to even talk about that. Why is that there? I am encouraged by any Any way that they're making it easier to manage the devices I think that's really big because up until now I've been thinking and man, even if it was my decision, I would go with a Chromebook I mean because the kids can't screw it up. They've got all these, you know, all their accounts are managed I mean it just a lot easier for them to deal with However, I would like to see Teachers in school districts in particular looking at the the privacy angle too, you know Just, you know in recent weeks, we've seen some interesting things about privacy And so if Google Chromebooks have all these kids data out in the cloud and the Apple devices have it more managed and controlled One would hope that maybe they would lean towards that for the privacy of the students So I sort of just said yes no and maybe in the middle of that, right? Yeah Well and and Microsoft would like to weigh in I'm sure on this they are they are still the worldwide leader They're second in the US, but they're the worldwide leader in the education the K through 12 market as it's often called And and they also are out there saying we we respect your privacy We we don't need to sell ads against your content and Google had to be fair has done a lot to restrict How their ad selling and monetization program works in the school place They know they don't scan the Gmail for ads in the in the educational workplace or the educational enterprise I guess is a better way to say that So so I'm not sure how much of that dispute is fun and how much isn't But Apple's got a long way to go and the other thing is You're locked in if you if you're gonna use Apple's class kit Based apps like school work like classroom Everybody in your classroom has to have an Apple device. That means 300 bucks a pop And and with all that support for Apple pencil for it not to be bundled in at the 299 price That would have been perfect Everything we talked about yesterday about and you know Apple competitive You know a tablet that has stylus support where it's all bundled in for the same price as you know an iPad without a stylus To to say like well, it's not 99 dollars for a student It's 89 to me is like that's crazy. That's not even a you know, that's it's sort of an insulting Discount yeah, Acer announced their Chromebook tab 10 the first Chrome OS tablet at 329 but includes the stylus 30 dollars more than the iPad for a student, but less if you include the stylus and I don't even understand why they're so excited about the Having an Apple pencil associated with this anyway. I mean I love my Apple pencil I use it every single day, but for most people I mean I Can you imagine how many of these they would lose in the first six months of having them all of them? Yeah, you're definitely lose all of the caps and it turns out that the tip the tip comes off, too It's a spectacular device if you need one, but not everybody is gonna need that that's true of any stylus though, right? Oh true true, but this is an 89 dollar stylus Now they did have the was a logitech the crayon for forty nine dollars, but still forty nine dollars I don't know, you know, maybe if you're talking about high school students except they'll be poking each other's eyes out with them or something I don't know They also seemed really excited that paid that pages and you know, the iWorks suite is gonna support pencil Wait a minute. It didn't Not not on that iPad it supported it on iPad pro remember the pencil okay work Okay, and they've expanded what it can do they did it now even on the iPad pro will do more than he's Yeah, so should have done everything from day one. I mean come on. It's your product another big problem here is these are tablets One of the problems with the LA school district Implementation of iPads as kids complained that it was hard to type On on on the screen and so you'd have to pay extra if you want to add a keyboard to this You can get Microsoft's windows 10 laptop with windows 10 s for 189 bucks So cheaper and has a keyboard see I don't look at the bottom line price of the device is being nearly as big a deal As as how much does it cost to support you have to clean it up afterwards? That's why I always like the chromebook idea was that hey the kid screws it up It's wiped the next day, you know it they can't break it So the cost of main maintaining the devices I wouldn't I wouldn't even consider a windows laptop personally if I were in charge of it I would be going towards chromebook first. I'd look at iPad next, right? I would look at I would look at Microsoft last with windows 10 s It's a lot easier to maintain so I'd be I'd be curious if somebody's done a good breakdown of the cost of maintenance because it's a great point You know a lot of these these are ecosystems that each company wants you to say well, this is the best one Okay, you know now the whole you know the whole educational system is locked into this and it's great Nobody's going to want to leave. I'm not a teacher My dad was a fourth grade teacher though and you know, it was basically controlled chaos at all times and sometimes all out chaos So, you know, whenever I hear something like this, it's like, you know, I'm reading all the specs and I'm like, oh cool cool Well, not every teacher is going to feel like, you know super on the ball about how this all works Uh, and you know often if there's troubleshooting to do who you're going to ask I don't know is there an IT person at the school depends on the school And you know, if a kid doesn't bring their ipad if they have to take home privileges the next day Well, okay, then how do you deal with you know that factor of things because that sort of thing is going to happen so Yeah, particularly with the younger kids secondary school not so much but I just see this being a real burden on teachers to be like, okay. This is our new thing I got to adopt this figure out how it works and know how uh to deal with things when when they go wrong Hey, thanks to everybody who participates in our subreddit You can submit stories and vote on them at daily tech news show dot reddit.com It's also got some conversations going on around the stories of the day Just a great resource to look at tech news each day a lot of our stories today came out of the subreddit It was really active today. Uh, and of course we have a facebook group as well facebook.com slash groups slash daily tech news show Speaking of teachers and their viewpoints on things. I think we got just that very thing in the mailbag We did kim burley the texas teacher wrote us a really long thoughtful email And I'd really like to to to use a longer version of it in our next monthly mailbag But for now, I thought it was it was nice to reiterate how teachers feel because in many cases, you know teachers and students are the ones who are all uh, you know affected by What apple does in the classroom or any other company for that matter kim says teachers on the secondary level are going to start Using that flipped classroom model where the teacher videos the basic lecture you watch that at home Then instead of going to school to see a lecture the majority of the time in the classroom is used for hands-on activities Math and science teachers They love it because most learning comes from that hands-on that lab mentality not lectures But you can't penalize students who don't have access This would be a student who let's say can't afford an ipad and maybe the school can't afford to buy one for them as well There are various workarounds for like like for that like opening classrooms and labs before and after school Some schools in the houston area for example Even provide dinner for students with practice or tutoring after school kim burley's from texas So I assume she's in the houston area if things are locked down though to a specific brand of tech The problem is going to grow and be harder to manage Yeah, uh, and and that is a great point not just for apple But if you go all in on microsoft or or cromo s i mean anything granted people are more likely to have a windows Device may be as their their pc or laptop at home that they could use But I would like to see somebody coming up with an open platform that works across a lot of these things and helps management And and says hey, we don't care about which device you use Bring whatever device you want buy it second hand get it cheap We'll make it easy to maintain To ellison's point ellison's point Uh and make it easy to To use and and open and accessible to all that that's really important. Thank you kim burley for bringing that up And thanks by the way to ellison charidan lovely to have you as always I think the last time we saw you was in uh, vegas for c. Yes, so it's been a couple months Welcome back and let folks know where they can keep up with everything you've been doing Well in general you can always find my stuff at pod feet dot com I do have uh a link we'll put in the show notes to um the latest edition of the nocella cast podcast Where barp buchatz did a deep dive into uh the cambridge analytica thing where he walks through Every single piece of the building blocks of the who's who and what it means and it was uh, it was really good It's about 40 minutes discussion deep into it and he did a great job explaining it So I finally think I almost understand Yeah, I mean that as we were talking about in the priest show that that was one of the most widely Misreported stories. Uh, and it's great to have bart kind of Expand on okay. Here's the one thing that was done wrong Which was somebody handed data to somebody they weren't allowed to but here are the implications Here's how we got there if you really want to understand it. Uh, check it out pod feet dot com Uh, also, uh, we just need 14 new patrons Last month, uh, and we've got a couple of days to do it So please help us out get us over that that monthly goal of having at least one more patron than last month Uh, by showing your support. It's only a buck at patreon.com Dtns Our email address is feedback at daily tech news show dot com as you can imagine We love getting your feedback. So keep it coming. It's great We are live money through friday at 4 30 p.m. Eastern 20 30 utc You can find out more at daily tech news show dot com slash live We'll be back tomorrow talk to you then This show is part of the frog pants network get more at frogpants.com Timing club. How's you have enjoyed this bro? I only got my cough button backwards once I had no idea no clue. Oh, I didn't hear it Yep Oh just one time I looked down and I hit it to cough and I looked at it Well, that was red when I started backwards. Oops. Yeah, I didn't hear I didn't even notice it No harm no foul Well, steward boston if you're out there, I just want to say you're okay, buddy Yeah, yeah, you brought it up. You want me to say what steward said? No, but he just emailed me and we're friends now.  No steward so No, not that I want to encourage people only just like say nice things about us and emails not at all, but um, no, sometimes we get uh constructive criticism about various aspects of the show and And those are always appreciated. Um, I try to take those as seriously as I can Weeding out the weirdos. I'm just kidding. But um, but no every every so often someone just said some real nice about You know that how how they like the way the show has evolved, you know the way we do things Um, or you know point out certain things and Steward says Sarah has provided a breath of fresh air and continuity to the show that I didn't think was initially missing And while I don't always agree with everything that she says the points and contra view she provides for tom is really good So this is this is how I get you I just wear you down He upped his patreon because of it No, that's really yeah seeds. I'm sorry. I didn't mean to beg at this big deal steward But um, but no, I I I was very tickled, you know, I don't know. I just I feel like Yes, you did I was like, oh, I'll murder you I'll murder you. I don't want that on record and slack that I said that Your honor case It's just no, this is don't want that to be tight to me. Yeah, that's right Um, no, it was great. I I love getting getting that that sort of email of like I was skeptical, but you know what? Yeah, Sarah's pretty awesome. Well, that's I mean that's ideal and even if that isn't your feedback I want to know, you know, it's like help us help you I'm a public servant That's your service At your service, I think the reaction when when you said, okay, here's our next funding goal We want Sarah Lane on everybody's like boom done do it. Yeah That was great. Yeah, I mean I was sort of prepared for everyone to be like, um, don't ruin the show. It's fine as it is I'm sure they're you know, I know that you people are out there too, but listen the point here is that Stuart has helped us get a little closer to making sure that we stay on doing things the way we're doing Exactly and that's that's actually yeah, that's The point isn't sort of like, oh, you know praise or criticism. It's like That's all part of the machine. It's fun for me to see someone as uncomfortable with this kind of praise as I am so Oh, you want to raise be Say something nice to Bart It's always on time. Oh different Bart. What are we calling?  I could just feel it. Everyone's like I have not a bee hater. How have I listed any any response that would suggest that I do not like bees I kill bees. I I am a friend to all bees I was planning to build an urban beehive because I wanted honey until I found out I think I'm probably allergic to to honey Or bees I'm not sure bees because I've never been stung But sometimes when I eat honey, I get I get a slight respiratory issue Uh So we don't need no ipad eucation. You've never been stung by a bee I am a friend to all life Well, I am too, but I've been stung by some bees.  I'm not a bee hater. I'm just saying like a murderer. Like that just seems like a very cruel Evolutional joke. It's like the bee is like oh you stepped on me. I'm gonna And then it dies. There's also a walled garden for every school these bees really don't stand a chance which I also like and Well, this is another bees. Uh, my only the bees the bees are definitely the best titles My only hesitation on them is that is an older story. It was fun to talk about but it's you know, it's it's not It was the news of the top in public school teacher apples you No, we're not I've yak of smear it off to my last title All right That was good though That's funny What about google's voice booms down from the clouds? Uh, we don't need ipad education. That's a pretty good one We don't need no ipad education Well, but that's We we sort of do a fox by fire fox education Well, the then then I would define then I would default to the walled garden for every school Because that's all you know, like I like that one. Yeah, you like that one walled garden for every school We have an accord a chicken a chicken in every pot dumplings are extra Oh dumplings gosh that sounds good I can really use a dumpling See this is where it all goes well a sideways for me guys because then I'm like what's on uber it's search and then $46 later I have dinner for four and we give up postmates for and and all delivery services for lent So we haven't uh, it's been five weeks So the point is to not eat less of a certain kind of food. No, it's just make the food It's should make the food or make yourself go out and buy the food and bring it back Right, right, so that you don't eat out as often. It's a kind of a it's not that we haven't gone out to eat, but We're not spending as much money and we're not when we're eating a little better um, that's very Wise I should do the same thing. It's funny because before these uh services made it easy for me to get anything I wanted within an hour or less Which is really dangerous because everything that I eat is impulse eating But the idea of like going to my favorite burrito place Calling ahead of time ordering and then picking up and bringing it back never wanted to do that So like the idea of like going there and eating is fine um But the kind of like getting a delivery where there wasn't already an infrastructure in place was like too hard Don't care. What's funny? What's that? What do you like now sarah? Which one do you use? I usually use uber eats We haven't ever done.  I have like, you know, because uber will give you like receipts Just like you took a ride, you know, or sometimes i'm like, I didn't go anywhere in an uber last night Oh It's more expensive than I thought it was with that whole shipping added on Yeah You know, it's weird until I got married. I never really ate out all that much or ordered out I literally just made everything at home and I would tom knows I would make a large casserole dish And I would eat from it for like four days for nights Oh, that's ideal because then you don't have to cook every night, but You feel good about it. There's one dish really that I need to clean For the most part, it was pretty healthy What kind of like let's talk about these casseroles like what's what would be a casserole that would You would just be a meat a lot of vegetables like carrots celery or whatever Anything I could throw in the oven and then I could eat with rice And I was set Isn't a casserole more like a pasta thing a casserole just anything casseroles just anything in a casserole dish That you can cook in a then you cook out that way. Oh, okay Now some people have turned it into a culinary style which includes odd things by my point of view like marshmallows melted on top Very 60s though. People don't really do that anymore Thanksgiving depends on the family. Yeah. Yeah traditional. It's a traditional thing Yeah, um also really gross. I also do lots of crock pot I did a lot of crock pot stews. I still do. I'm doing one tonight. I'll be ready tomorrow though I was about to ask allison for her favorite casserole recipes. Do you have any? I don't think I've ever made a casserole in my life Okay, good because we have a weird story that sarah told yesterday that we need to follow up on Oh, I was like what I didn't talk about casseroles at any time recently No, people are asking about the the or not scam phone call They want to know. Okay. All right, everybody You gotta bring allison up to speed though What's that? You gotta bring allison up to speed on the story. Okay, so here's the deal Previously on the post show Previously on the dts post show Uh, I had gotten a phone call uh from uh, you know Somebody from some insurance company or I don't know agency that I was not familiar with Asking me about uh to give them details on an accident that I had been in in november of 2015 A vehicular accident and because there was an injury that was part of it Had a consultant attorney and what's the deal and um We went back and forth a few times and you know where I'm like I didn't even have a car During that date that you're talking about like wasn't an accident Don't have an attorney like it's just not me probably another sarah lane. She says, okay. All right. Well, okay. Bye She calls yesterday again leaves a message a long one same kind, you know Kind of doing the same spiel Talking about the exact same date and I was so confused So tom and roger and I are talking about it because I'm like, okay when we get off the stream I'm going to call this woman back because I gotta know what is the deal Like is this a scam because I've been getting like weird scams about other stuff recently I'm on a scam list of some kind What's the deal?  I'm like, I must know I can't sleep at night otherwise. Yeah So anyway, there's a guy on twitter says that there is a scam listed on his local sheriff's website That sounds very much like this and I looked that up after you told me that yesterday Because they're you know, they're like little scam websites where people you know Share their horror stories and there are things similar to this but they all seem more like Oh if allison and sarah were in a huge fight allison could know what my plates were You know recreate them and then like Somehow like get a photo that appeared that I was in an accident Like it was this whole orchestrated thing where I'm like, this is not like I don't have enemies like that Hopefully so anyway, I finally get the woman on the phone and so here's what happened In november of 2015. I was on a norwegian cruise line With uh, this this private group called summit series And it was raining We were off the coast of miami and I was outside trying to get from like one side of the boat to the other I slipped I fell I broke my foot And I had to go to the infirmary on the boat because I needed a cast immediately.  You know, she got hurt on our on our on our um On our cruise line and apparently from what I've heard Because a few years ago, you know, people were like, ah, you gotta sue norwegian. I'm like, I don't know man It was raining. I died. I don't feel like anybody was negligent. It's just unfortunate like it sucked for me But I wasn't like mad at anybody really but myself And the woman who you know, the whole case had been you know, it had been sent to her how Who knows how however long ago she just kept saying vehicle So she got that part wrong She just should have said cruise ship and I would have known exactly what she meant off the bat Turns out I did not sue the the the the cruise I'm not planning to and I told her as such But once we it's so funny because it's like once she I was like, oh the cruise Of course that date makes perfect sense. Like where's day of my life breaking your foot not fun But I I actually got called by the insurance company in january Because I was going to physical therapy for a torn labrum And then I strained my shoulder And thankfully I was already going to physical therapy. So that turned into a frozen shoulder and they just kept treating it But the insurance company wrote Called me and we're like, we need you to fill out this form Online because we want to know, you know, who should cover this and it was basically like Were you at work? Were you somewhere else? Do you think the physical therapy caused it? Like it was basically like can we get out of paying for it? And I was like, sorry guys I heard it lifting my own property. Like there's just nothing you're gonna Right, right. Well, I'm glad you brought up this weird scam stuff Though because I got a voicemail yesterday and I've got the transcription here on my phone It says hi, allison. It's christie clay. If you called my son clay on a cell phone He's out of town for the next few days of camp But if this is in regard to his Grades for this project he's working on just wanted to follow up, you know, he'd be very much interested But he can't talk to you until he gets back What kind of scam is that talk about homework was my name. It was hey allison. Yeah, right Well, I mean as somebody who gets emails intended for other Sarah lanes Pretty frequently. I mean that would be my first guess is like, oh, they just thought like I don't know phone call is my phone number not email Yeah, that is weird. That is weird.  I mean, I said her name very clearly and it's transcribed really I'm pretty sure but still Well, the thing about this woman yesterday that just drove me insane was when I finally got her back on the phone Which is well after our stream ended She did the same thing to me Which is why I thought it was a scam in the first place where she's like, well, what's your case number? And I'm like, I don't know you called me, you know, and she was like, well, but I left it in your voicemail. I'll just be really helpful if you And that's what made it not sound like a scam To me. Yeah It was like, well, wouldn't they try to Get you to do something and she she didn't the the guy on twitter said that a lot of times They're just trying to verify that they have a valid phone number But I'm like that seems like a really elaborate way to go about it. Yeah, I mean nothing surprises me anymore But but there was something about her where it's like she was really disorganized almost to the point where I felt Sorry for her where I was like, you know what I'm going to keep you on the phone We're going to listen to my voicemail And we're going to find that case number. We're going to get to the bottom of this.  She was like so Should I just like tell them that you're not The pursuing legal action. I'm like not pursuing legal action. It's almost like she was encouraging you to right? It's like it's a one point you might have been like, you know what now that you've asked me so many times Maybe I will so Right, but yeah, I think again, it's because I think that the um, you know cruise liners are so You know wanting to squash these things. I don't know man There's just some there's still something weird about it because if they wanted to squash it Wouldn't they just leave it alone? Like well, but so another Another wrinkle in this whole thing though is that I wasn't just on some cruise with Norwegian a a private entity, which is a conference series called summit At least this boat for like, I don't know how long we were on the water like four days Sucks never break your foot before the first day into a four-day cruise really bad But um, you know, so that might have been there might have been some like another layer of insurance that people were Not thrilled about But again, I'm like, listen, you know, it's I'm I'm all for a fair and you know due process and all but It was raining, you know people slip. It's you know, it's it, you know, it's a I think there's enough lawsuits Yeah, right. I I just I you know next time I'll wear more sensible shoes I know but you're on a cruise ship. That's you know that that that in itself Has a specific imagery to it that it's like oh it's flip flops and you know I mean, we were off the coast of Miami and it was in November And it was raining hard like the boat is pitching. I mean it was it was it was a storm We were a fine time for for fur to set sail in that fun. Yeah. Well, you know, these things get locked in Alongways in advance, but fine time to leave me lose wheel But uh, but the uh, you know, I I've now seen the inside of a massive cruise ships infirmary, which is I don't know seemed okay. You see any of the crew members in there doubled over saying, oh, I'm so sick because the boat is pitching No, none, but the guy who Gave me my initial cast before I could disembark in Miami and get like a better one an urgent care center Swear he was 14 years old You know, and I was like, I I don't know how to do this. So you better you than me, but like are you Like even a love boat had a real doctor on it I'm sure he just had a baby face that the love boat wasn't a real boat. He seemed very young Played by an actor. Don't shatter my childhood. All right. I'm stopping the stream. You've heard the story You decide vote now. I don't know what I'm saying Don't ask me to tell you any more stories. Hashtag the conversation


For prospective 2021 freshman students we're excited to offer two scales for scholarship consideration this year. The automatic merit scale are scholarships awarded based on your high school grade point average and your standardized test score. The competitive academic scale are scholarships awarded to top scholarship applicants and the scholarship value is based on the ranking of the top scholarship applications and the student's core GPA. The core GPA includes your grades from math, science, English, social studies, and foreign language courses. Students that submit the requirements for both scales will be reviewed on both scales and will be awarded from the scale that produces the highest scholarship value. We strongly encourage all admitted students to complete the scholarship application whether they have a standardized test score or not.


Hello everyone, welcome to CloudNative Live, where we dive into the code behind CloudNative. I'm Anita Alastair and I'm a CNT Ambassador and I will be your host tonight. So every week we bring a new set of presenters to showcase how to work with CloudNative Technologies. They will build things, they will break things and they will answer all of your questions. So you can join us every Wednesday to watch live. And this week we have Andy here with us to talk about writing Polaris policy and as always, this is an official live stream of the CNTF and as such it is subject to the CNTF code of conduct. Please do not add anything to the chat or questions that would be in violation of that code of conduct. Basically, please be respectful of all of your fellow participants as well as presenters. But yeah, with that done, I'll hand it over to Andy to pick up today's presentation. Awesome, thanks for having me. So today I'm going to do something a little bit different than what I typically do in these. I'm going to be talking about Polaris. So if you're not familiar with Polaris, Polaris is an open source policy engine for Kubernetes. Fairwinds has been managing clusters, Kubernetes clusters for like seven, eight years now. And through all of that, we realized that the thing that broke our clusters most often was our customers deploying things into them in ways that broke the cluster. And so we wrote Polaris as a policy engine to audit those misconfigurations and also to block them from coming into the cluster. So that's what Polaris is. But today what I'm going to try to do is to tackle one of our open issues. So if you're curious about contributing to Polaris or you want to add checks to it, this is the perfect place to watch, is I'm going to do exactly what you would have to do to add a policy to Polaris. So please feel free to jump in with any questions throughout this. I'll be happy to answer them as we go along. But I am just going to go ahead and dive in. So the issue we have today, this has actually been open for quite a while. And it has probably the most thumbs ups of any of our Polaris issues at the moment. So it seemed like a good one to tackle. But the original ask was to create a check to validate that pod anti-affinities or affinity terms were added to pods in your cluster. You're not familiar with affinity or anti-affinity. Those are just rules that you can specify to affect where your pods are scheduled. And so the request is, you know, basically, you know, when you schedule a set of pods, it's not guaranteed to be spread across multiple nodes. It's not guaranteed to be spread across multiple availability zones. The scheduler will attempt to do that. It's not guaranteed. And so we can sort of either guarantee it or start to push further in that direction of spreading out our pods more by adding these terms. And so one of our maintainers actually came in and suggested that instead we use pod topology spread constraints, which I think is a great suggestion. So we're going to follow that today. And so I'm just going to try and add a policy to Polaris to suggest that you add pod topology spread constraints to your pod definitions. So I have over here, I'm running a kind cluster. It's 1.25. I just created it about 15 minutes ago, every 20 minutes ago. And then I've installed a couple of applications in it. So I have a deployment running two pods in the demo namespace. And I have several deployments in the Yelp namespace. So I have two different apps running in the cluster. And I know because I wrote the YAML for these that, for example, the app server here has no affinities or topology spread constraints on it. So first thing I'm going to do is just go refamiliarize myself with pod topology spread constraints and get them added to this deployment so that once I write my check, I can actually validate the checks working. All right, so we're going to go pull up the Kubernetes documentation here, pod topology spread constraints. It goes right under the pods back. There's a bunch of optional stuff. I'm just going to copy this straight out at the moment and go down to my pods back here and break them real quick. And get that in here. All right, so let's take a look at what all of this means. Max SKU is the amount which we can unevenly distribute it. I don't think I really care at the moment about most of this. So let's see. Optional, optional, optional, optional. All right, so we've got Max SKU. I'm just going to set that to one for the moment. The topology key, that's the interesting thing. So that specifies what we're trying to spread across. So we're going to say right now I'm going to use the host name. So we're going to say we want it to be spread across multiple nodes. You might put something in here like failure domain that would spread across multiple availability zones or add multiple spread constraints to spread it across both nodes and availability zones. I'm just going to keep it simple for the moment. When unsatisfiable, I don't think I can be quite so strict as to say do not schedule because that is going to break in my kind cluster here because my kind cluster is only a single node. So this is definitely not going to be satisfiable. So I'm going to say schedule anyway. And then let's see, what does the label selector do? Selector. So it's like maybe selecting specific nodes. I think my label selector doesn't match its own labels. Can still be placed here. Interesting. I think I'm going to leave this empty, but not quite certain. I think for the moment, I'm just going to comment that out. All right. So let's apply that. It looks like that applied just fine. It's rescheduling that pod because I just modified the pod definition. And hopefully we see, let's see, this one's six seconds long. Let's describe it. I don't know why it's failing. It's writing this prose, but that's all right. Looks like it got scheduled just fine. And we're terminating it. OK. So we have one deployment with a pod topology spread constraint. And we have several deployments in the cluster without. So now we can go actually start to write our policy to verify that we have those. We have both the positive and the negative case here. All right. So I have here a Polaris configuration. And the first thing I'm going to do instead of trying to just add it into Polaris and make my pull requests and all that, I'm just going to add it into my configuration for Polaris as a custom check. So this is a Polaris configuration. This is largely the default. But I do have a few custom checks in here already as examples that I've used in other demos and things like that. So I'm going to just go ahead and add this as a custom check. And then we can look at how we add it into the Polaris code base. Very easy way to get started with it. So we're going to add a custom check called Apology Spread Constraint. I'm going to add it here in the list of checks that we want to apply. I'm going to set it to the warning level. That way, if I do have the admission controller enabled, it's not going to block that. So we're going to say success message. Pod has a Apology Spread Constraint. That's a difficult thing to say quite so many times in a row. All right. Pod should be configured with a Apology Spread Constraint. So we've just got our success message and our failure message, the information that we're going to share with the end user. In the category, when we add this to Polaris, this is going to go under the reliability category because the built-in categories are efficiency, security, and reliability. This affects the reliability of pods and the stability of your clusters. So I'm going to put in that category. I am going to target, this is the interesting one, and we're going to pull up the documentation for Polaris here. So target specifies what piece of the spec we're looking at. So we can look at just the container specification. I want to be looking at the pod specification because that's where the Apology Spread Constraint exists. So I want to target the pod spec. So that'll look for any pod spec, which is good. And then now we get into the complex bit where we start adding our schema. All right. So we have to put in the schema draft. So if you're not familiar with Polaris, Polaris uses JSON schema to validate what's going on and to do the audit. We've kind of extended JSON schema a little bit, but it's largely vanilla JSON schema. So we have here, if we look down at this other custom policy that I've written, we're targeting the container. And then we're looking at it's an object. It has a property called image. And it's a type of string. And we're going to allow any of these pattern matches. So this is actually going to be fairly similar to that. What I'm going to do is actually pull up the app server that I just modified here on the left so that we can get a sense for where we are in the object. So we know we're targeting the pod spec, which means we're essentially sitting here in our policy. So just under there, so we're going to say type object. I'm going to say properties. And we're going to say topology spread constraints. Now we get into the tricky bit where we have a list. And so that's the property. It's going to be a type array. That's an excellent question. I don't know the answer to that. So usually when I get stuck like this in Polaris policy, I start looking for other policies that are similar. So on the bottom left of the screen here, I'll make that a little bit bigger. I am in the Polaris repo in the checks repository. So this is all of the built-in checks that come with Polaris by default. So I'm going to look for something that has the pod spec. Ooh, priority class. Now I need something with a list. Let's look at, let's look at run as privileged. Let's see what this policy looks like. If we're targeting the pod spec, we create a definition. So JSON schema lets us create predefined blocks that we want to reuse potentially. So that's a type object containers type array. So array was correct. And then items, properties. This might work. All right. And that's within the container array. So I don't want properties. Let's say I want array. I want items. And I want, let's say, I find a different policy to get an example off of. Or I'm going to have to go find some JSON schema examples because this is where things get tricky type object required. Looks like for anything that has an array in it. All right. Any of the properties, those are OK. That's the container array again. There we go. OK. So I can say required. All right. Let's do this. Let's get the deployment in the old namespace. The app server as JSON. And go find a JSON schema validator because that's sometimes the easiest way to do this. Where's the one I've used in the past? See if that one. All right. Generate schema from JSON. There we go. This might help. So let's look for our API version kind, metadata, namespace, arch-apology, spread constraints. And we've got items type. That's what I was missing. OK. We have items and then under items we have type object. Now essentially we are targeting the actual object that is one of the items in the topology spread constraints. And then we need, let's say, properties. Let's just say the topology key has to be any of type string. And I don't want pattern. I want, I think it's out of view. Fire next queue, topology key string. I could say pattern. I think what I want is const. Yes. Let's try that. Say, Kubernetes.io slash hostname. So essentially I'm saying the topology key. So I have to have a topology spread constraint. And I have to have one of these topology keys. I need to find the one for topology.kubernetes.io slash zone. So it has to have a topology spread constraint with the topology key that is either kubernetes.io slash hostname or topology.kubernetes.io slash zone. All right. So I'm going to save that config. And then I'm going to run Polaris. And we're going to do out formats, pretty. And then config, Polaris config.yaml. And that should run my custom check against the controller. And I obviously wrote this run because all of these deployments in all these namespaces say that they have topology spread constraints, which I know is a lie. So let's take a look at our config. Also, in addition to questions, feel free to point out when I do things wrong, because it's definitely happening in here. So if anybody sees the issue, let me know. I do think we have to say, let's see, pod spec properties, topology spread constraints. I think we need a required in here. Yes. So under the pod spec, it says type object, we're going to say required, topology spread constraints. So that's going to make it so that this property is required as part of the pod spec. So let's run our audit again. There we go. Now we see that we are getting a warning from all of the ones that don't have topology spread constraints. And then this particular one, this Yelp app server, does. So now our check is working. That's good. Now I'm going to modify the wording here a little bit to say a valid pod topology spread constraint, because we're going to not just say that it has to have one, but it has to be configured a certain way. So I want to be clear about the messaging there. And then I want to double check. Let's go ahead and I'm going to copy this spread constraint. And I'm going to edit the deployment in the demo namespace. And I'm going to add this. I'm going to give it a different topology key just to make sure that it is working the way I expect. And actually, I'm going to use Polaris a little bit differently here. Instead of auditing directly in the cluster, I'm going to say audit the YAML in the demo app configuration. And there we go. And we see this is also warning. It does have a topology spread constraint, but I modified the topology key that I was using to be outside the list. So this is now an invalid pod topology spread constraint. This might be something where we consider splitting this into two checks, one saying that you should have a spread constraint and one saying that it should be configured a certain way. For this, I think I'm just going to leave it the way it is right now. So we have a working custom policy. We know that it's doing the thing that satisfies the issue. Now we need to go actually add that into Polaris. So this is where we would go from how you can just use Polaris the way it is to extend it. And now we're going to add it back in and contribute it back upstream. So why do I have a diff here? I'm going to check out a branch. What issue is this? It is 547. X547 add topology spread constraint. All right. So the first thing we're going to do is add a YAML file called topology. And we have a question slash Polaris location needed, I guess, from the audience. Someone just asked documentation question mark. So maybe they are looking for resources about this or. Yeah. So all of the Polaris documentation is at Polaris.docs.fairowins.com. And then if you're looking for information on contributing, if you go to the Polaris repo, we should have a contributing guide in here somewhere. It might be in the documentation as well. But general process file an issue. Make sure it's something that we think is a good addition. And then feel free to open a PR on that. And then if the question is suggesting that we need to add documentation as part of the PR, I also agree with you and I will be doing that. So hopefully that covers all the documentation questions that come up. All right. So I'm just going to grab the text that I wrote here. I'm going to put that in the YAML file in Polaris. So I'm going to write that. So now we have topology spread constraint as a check. And I'm going to go ahead and build this here. And then there's a few other things we have to do. So first, I'm just going to make sure it works. So we're going to go back here to where I was running this locally. And I'm going to do the locally built version. I'm Bob's Polaris Polaris. So I'm going to use the version I just built. I'm not going to pass my configuration in because that's adding the custom check. And let's see if we find it in the list here. All right. So that's now working, I think. Oh, maybe it's not. Ah, it's not because just adding it to the list of checks Polaris is not enough. What we need to do is find the default configuration and add to that as well. Where is that? That's a great question. And I believe it is covered in the documentation. All the built-in checks there. Let's see. Figurations, check that. Default Polaris configuration is here. And that is in examples config. Is that right? So under reliability, initially, warning will leave me from out of there. Under reliability, I'm going to add my pathology spread constraints warning to rebuild. I'll rerun here, and I'm going to go forward to apology. Check topology spread constraint not found. Interesting. What am I doing wrong? Let's go ahead and get a real IDE here. Now that I'm in the code base, so that I can under around a little faster here. And we're going to look at the audit command, and we're just going to walk through this. Checks optional. We get config. Config is a configuration object, which means we probably have package config checks. Here we are. This is what I need. Container checks, pod checks, apology spread constraints. Add that to the list of checks in Polaris here. And let me make sure I got the name right. That's going to make sure that I'm not missing anything that's specific to the non-custom checks. Let's see who I am. So just copy paste to make sure I'm getting the name correct, at least spelled, and then pop open a terminal here. And grab the path. All right, so what I'm doing here is I'm going to switch to kind of a different flow here where I'm working strictly out of the IDE. And I'm going to say, go run. May that go audit. Audit path. And I'm going to point it to that demo app. And I'm going to say format pretty. Hopefully, I get my topology spread constraint. Polaris audited path did not run any checks. That's interesting. I'm pulling it right locally that way. Been a while. I'm not sure I've ever actually added a Polaris policy before. Passing all of our checks, that's not correct. So let's take a look at the logging flags. Let's view on level equals debug. See if we find anything in the logs. That's not. Oh, I know the problem. This isn't the right path. There's no yaml in that path. I believe the folder is called demo app. So there was nothing to audit. All right, now we're on the right path here. And we have our warning check, topology spread constraint, category reliability. Pod should be configured with a valid topology spread constraint. Great. So now we've added the check into Polaris by default. So it's being built. Now we need to take a look at tests and documentation so that we have a very complete PR here. All right, so let's go to Docs. It's Docs MD. No, not Docs MD. And if we go to Docs and we go to checks and reliability.md, we have a table here that lists all the reliability checks. So I'm going to add a topology spread constraint. And it's defaulting to warning. And I am going to say that it fails when there is no topology spread constraints on the pod. And then let's see. This is an interesting doc in that it just talks about liveness and readiness probes, mostly selects. Well, first of all, we'll add another link here to the Kubernetes documentation on pod topology spread constraints. And then that link in. And then actually, there's some great information in the issue here that I might use as background as well. And I think let's divide. I'm going to do a little documentation clean up here. Background, liveness and readiness probes, poll policy. Let's say sections about image poll policy. And then I'm going to add a section about topology spread constraints. And by default, Kubernetes schedule uses a bin packing algorithm to fit as many pods as possible into a cluster. Scheduler prefers a more evenly distributed general node load to app replicas precisely spread across nodes. Therefore, by default, multi-replicas not guaranteed to be spread across multiple availability zones, craze, provides topology spread configuration in order to better ensure pod spread across multiple agencies and or posts. Example, range, code in here. We'll go get that out of our demo. Take a look. Oh, I already have that open. Actually, I'm not going to use this one because. All right, grab that code example. Drop it into the box here. Do a little cleanup because we don't need all of this. That's necessary. That's necessary. All right, so and we need to change this to what was it? No, I don't want to do hostname. Let's do topology.covernance.io slash zone key. Example, OK, pod topology constraint across zones. I do feel like if I'm going to recommend this, though, I need to understand MaxQ a little bit better before we put it in the documentation. You must specify it must be greater than 0. If you select schedule anyway, this gets higher precedence to topologies that would help reduce the skew. If you select do not schedule, it defines the maximum preparedness between the number of matching pods and topology in the global minimum. Well, that's a fun little bit of mental math that I'm not going to necessarily do. If you have three zones with two, two, and one, MaxQ set to one of the global minimums. OK, thank you for the example. That is much better. So one is fine. We're just going to put one in there for the documentation. And I'm going to leave out this label selector and drop the content. All right, so we have an example. So that's probably enough documentation for this new policy. Now let's take a look at tests. I think we don't have any more questions. No questions so far. Yeah. All right. So after this, everybody's going to go write more Polaris policies because we're all experts on it. Just like this, yeah. But keep the questions coming if anyone has any. But I think we also have probably a bit of time in the end if everyone's waiting for like final notice. Gotcha. All right. So I see here we have a checks directory under test. And in each one of the, each check has a folder. And that folder actually has, let's look at a little simpler example, a failure.yaml and a success.yaml. So my assumption is that we go through and we run the policies against each of these failure and successes. And assume that the failures fail and the successes success, which I'm guessing happens in our CI somewhere. So let's just double check that test dashboard, test Kubernetes deployments, the job test. Well, I'm just going to go ahead and add the folder and see what it does. I'm going to add a success.yaml, failure.yaml. And I am going to grab that demo app deployment code. I'm going to copy that into success.yaml. All right. So this one should be a success. No. No need to keep that in there. All right, let's add failure.yaml. And for this, let's see, we're not just going to call it. We're going to call it failure.no-spread-constraint.yaml. And so in this failure, I am going to just drop the whole block because we want to fail when there's no pathology spread constraint at all. And I'm going to do failure.invalid-topology-key. And we're going to put that in here. And I'm going to go change the topology key. Oh, it is already bad. We're going to save that and we're going to fix our success because it's clearly not going to work. Where's our documentation? Let me go grab the example from that. We are going to use the zone. Thanks.  No, that didn't change anything. So how are we running these tests? Let's go ask the documentation. Maybe it'll tell us. Contributing project structure, getting started, running tests. Oh, that's old. We haven't had to run it that way in a while. Webhook tests, that is wild and helpful. So I have an idea.  I have a check for these bad constraints. And I'm going to make a pull request. All right, I'll need that in the title.  I have signed the CLA, I promise. I think I have. If I haven't, I'll go sign it. I did add documentation. C issue 547. I'm going to type our own character. All right, the goal of this PR is to add a check for pod topology spread constraints, recommending that these two ensure that you have a high ability across zones and or posts. What change did you make? Added, spread, and string check. What alternative solution? There may be parts of the spec that we want to recommend. Only limit to one. The thing I'm thinking is that maybe allowing both of those topology keys is not the best solution. It might not be. But I think giving the options is probably best. Topology key. Also, I talked about possibly splitting this into two checks, one that ensures a topology spread constraint exists, and another to verify its configuration. Turns out adding features to CNCF progress is about documentation and writing good notes, as it is about actually adding the feature. All right, let's go take a look at our PR. All right, and the reason I went ahead and opened the PR is because I am expecting some tests to run automatically. Or perhaps they are not, or am I not seeing them because I'm not logged in here? That may be the case. Let me go ahead and sign in. I need my security key. Get our security key. So what happens when you go to your demo in a private window? All right, not going to worry about that at the moment. We set up Polaris test, and then we're going to go ahead and be running these tests. So that's good. We ran the go test that passed. I am still curious about those checks, tests, folders. But I mean, we can go ahead and check those ourselves real quickly by just running them against the demo. So Polaris audit, audit path, test, checks, all these spread constraints should see that on. Let's run it against failure, no spread constraints, topology spread constraints. Warning, didn't have it. Good. And then we'll check against failure, invalid topology key. And we see also failing. And then we'll just go check our success. Actually, if I really wanted to, I could pass the checks flag and just pass it the topology spread constraint. So I don't have to look through the whole thing. And it passes. Good. All right, so if those checks are being run somewhere, they will pass. I am super curious about that, though. I'm running fixtures here. I don't know why I'm opening this in BIM inside of my ID. But checks, fixtures, mocking pods and contests. So this is for testing against a cluster. We're mocking different pieces of the cluster. So that's fine. But where are we? I'm like cases. Mutation schema test. This looks like it might be it. Act two test Polaris check test. So we've got an environment variable check here that's pouring this Polaris check test. And we'll go ahead and run it. Tests. Interesting. I don't know if that's doing much, but it does seem to be pulling the check YAML files and running through them. So in theory, by running go test, tested that the check is failing the failure YAMLs and passing the passing YAMLs. Let's try the IDEs version of testing and see what it thinks. Curious. There's the test directory. And that's what we want to see. Schema test. Test checks. I think we're good. I think that's all the testing we need to add for this new track. Hopefully my reviewer will tell me if I'm missing anything there. Let's see if we've passed yet. We're testing the build. I'll have to go look at why this is failing, but that's not important. So I think we have a valid PR. And with nine minutes to spare. Perfect. I was nervous. I wasn't sure I was going to make it. Perfect timing, I have to say, then. Plenty of time now for the Q&A. So perfect. Yeah. Yeah, so now is the time that if anyone was waiting to the end of the demo to ask their questions. And now is the perfect time to start typing away and sending it in. But yeah, anything else that you want to share right now, Andy, or? No. I mean, in general, we have, Farron has, I think, probably like 10 open source projects that we maintain, four or five of which we consider our sort of flagship open source. So if you're interested in contributing to open source and you like working with Kubernetes, all of our tools are surrounding Kubernetes. So we have Goldilocks, Nova, Polaris, Pluto. Those are the main ones. Our back manager and Reckoner as well. So if you are interested in working on any open source projects related to Kubernetes, please feel free to go to github.com slash fairwindsops. And we also have a community Slack. And I am also in the Kubernetes Slack. If folks want to reach out, have any questions about this afterwards or anything like that, I'm happy to chat about open source. Awesome. But so now we are all experts and obviously experts in providing policies for us. But if anyone wants to learn more, what would be the next resource that they do check out? Or is there anything that they should be moving on next? Definitely, if you're interested in Polaris, take a look at the repository, take a look at the documentation. And again, reach out in the Kubernetes Slack or in our community Slack should be linked in the repo. But definitely take a look. It also functions as a validating admission controller and a mutating admission controller, which I think the mutating piece is super interesting. It's not something we've explored a ton, but I think it's very interesting and has a lot of potential use cases. So take a look. Perfect. Final call for questions if there's not coming anything in, but I have a question though. So what's in Polaris' future? So what are the next steps for the actual project and road map, things that's happening, or so forth? Good question. Good question. I think at the moment, the actual feature set of Polaris is fairly stable. Where we see the most opportunity in the next probably six months is mostly just adding additional checks. So I know I do have a coworker working on building out a set of checks to essentially satisfy the NSA hardening guide that we're also familiar with that came out, I think, about a year ago at this point. I may have my timeline off on that, but just really adding checks. But other than that, nothing major from a road map perspective feature wise. I think it's a pretty robust set, especially now that we've added mutation. Yeah. Well, it makes sense. No need to mess with perfection. So I don't know if I call it perfection, but it is pretty good. Makes sense. But yeah, awesome. Thank you so much. But since no audience questions has popped up, but if anyone kind of like later on realizes, oh, they should have asked something, I think you gave a lot of good helpful resources and places where to reach out to you. So that's really great. But that said, thank you, everyone, for joining the latest episode of Cloud Native Live. It was really great to have a session about writing Polaris policies. We also loved the few interactions from the audience and say hi to the people who said hi to us, of course, as well. And as always, we bring you the latest Cloud Native Code every Wednesday. And in the coming weeks, we have more great sessions coming up. And thank you for joining us today and to you around in the coming weeks. Thanks for having me.


Before we start, I'm here for Monique today. Monique is ill and at home, and we all have to send best wishes to Monique to Germany that next year she could come to Fostem and hopefully present this talk by herself. But I think I could give you the same input today and we merged a little bit our presentation to have the same content and I think I could present and inspire you by the idea of the talk and the topic Exorcism Human Riot. Your name is not Monique. No. So my name is Philipp, but it will be the first slide and then I will give you a short overview about me. So when the door is closed, I think we... No, no, that's 30 more seconds. Oh. Oh. Strict time plan here. Yeah, we're a bit German. Oh, okay. I mean that in a good way of course. Yeah. But yesterday and Friday we joined the Bauer in the city there and I see that the beer is quite more heavy than German's beer and that was my first lecture to be first time here in Belgium. All right, you can start now. Yeah. Welcome everybody. Thanks for coming. The room was quite full. A few words about me. I'm a member of the board about Freifunk Rheinland. We are based in Germany. We are one of the organizations that support people building free wireless networks, especially in the Freifunk community. I'm based in Essen. It's nearby Düsseldorf, about 20 kilometers. I run my company with software and data center stuff and you can follow me on Twitter and Facebook. So on, a few sentences about the Freifunk Rheinland. We do some research with the community and power people to build free and open infrastructure. That is the main goal of Freifunk. We have some regional meetings, conferences at the Chaos Communication Congress. We have meetings here at the FOSSTEM. A lot of Freifunk guys are here. And especially we have Freifunk Rheinland providing our own autonomous system in a backbone network and we get some IPA transit to other Freifunk communities in Germany. To connect their wireless routers to the internet. And there is some special thing about the last two years. It becomes more and more a big thing in the community to give some access to the internet to socially disadvantaged people especially the refugee situation in Germany and then I think the other communities. I see some here from Spain, Italy and from Greece. They have the same situation and providing some internet access to socially disadvantaged people and especially the refugees. They are coming from different nations to us and then it is essential to have internet connectivity when you will be in another country. The topic of the talk is access to the human rights and we stand for this. We are in many situations. We see that it is not true. It is not the situation we have and we fight for this and we hope to get much more support and the interesting point is that we have some different views on this situation. We have the view from the European side. We have the view in Germany. We have the view from the national rights and there are some conflicts and I will give you a short overview. The Council says that without internet access the people can take part in the space of possibilities and I am with this. I think it is true and there is a second decision from the Parliamentary Assembly and it is near the same that the Convention of Human Rights says that it is essential to have access to the internet to participate. Then we have the German constitutional rights and there we have some other points. It is the freedom of information that is very important and then we have the general right of personality. There are some other points. It is not direct in connection with the access but it is when you participate on the internet then you have the general right of personality and it might be different from the European thing. There is some very interesting point the fundamental right on social integration and when you take a look of how the thing changed you get in social with other people it has moved we can say today totally to the internet no more postcards I think in postboxes it is not more today. Then we have a decision from the Bundesgerichtshof in Germany it is a legal court it is said that it is the huge all the people are using the internet for daily and so when the internet connection or they have no access it has a very big impact for them because you have it all days and you could not live without this so that is the end of the topic. There will be a human right in education to participate to get information to do research and to do other things that are connected with education and we think that this is for me it is an important point when you do some education it is necessary to have access and to have connection to the internet and there we have the convention of the rights which is in special with the status of refugees and the problem when there is no access and no connection for them at the end the United Nations reports at the same and said that disconnecting people from the internet is the human rights violation and against international law but when I go to the next chapter of the talk first a short introduction what is Freifunk but I think the most people know this project and I told you before that we are providing some free internet access for people and connect them and then when we go to the next slide we have some information what we mean with free for us it is not only that they have no costs the user so it is much more important that you have no restrictions on the network and no censorship and no other unfree things but it is not only to doesn't pay for the access there is no business model we are sure that nobody pays in the masses for internet access at free wifi that was the situation in Germany we have a lot of communities in the whole country there are a lot of access nodes 40,000 today approximately we have some statistics on the maps from the community where the nodes are in place you could provide GPS coordinates and then you could watch on the maps and the second thing is that we think at Freifern Community and we make some political decisions discussions that it is a governance task to connect the people and when you remember the slides before that the European Union say it very clear that it is a human right to give access to the pooper but it is different from the situation that we have I can only see the situation in Germany but I hear the same from other countries there are a few points to communicate to access to education and information in a foreign country when you will be there and it is better to use money for food and family and not to pay for prepaid internet so we see this and a lot of refugee camps in Germany that there are a lot of internet prepaid dialers and the people gave more of the money they had to get internet access to buy food and other stuff the problem is that there is no diesel or fiber or anything else in a refugee camp it is very hard to build internet in the wild and there is no business model I told you before so we need donations and there is a huge challenge to bring volunteers as in these conferences and other projects together with professionals providing an organization make an organization of the refugee camps there we had there are a lot of technical challenges with smash networks for the mass with swifers for the mass I am very proud of all the people in the Freifen community and the other wireless communities they say we accepting the challenge and we have to provide some internet for these people came to us and then the result is that we have most than 400 refugee and social projects connected over the 2 or 3 years but we do this Freifen community already before but I think the last 2 years had a big impact and then at the end we have built internet and access for many thousands of people I have here a few pictures how we connect these locations from high positions we installed some radio equipment and then in the refugee case by us in Germany it was so and also in this failure that we had a lot of sports parks that are not more in use and then they built some tents on it we on the lightning equipment there up and we installed some radio equipment to get some upling and these are the tents where the people live and you could imagine that it is not so easy to bring there some infrastructure power is a big problem you have your smart phone and the battery is I think the most problem to keep it full and you see these electronic power stations to charge your phone and it's not so easy when you would like to connect the wireless router on this and you have a cable plugged in so this is the reason why this one is plugged out and one day later they came to the family and put the smart phone in it plugged out the wireless router and the internet uplink is down and there is a lot of trouble then in the camp at the end I would invite you to join the community go to our internet site there are much more contact details and there are a lot of information about the local community I think summary in the end is that the European Union said very clear it is human right to connect the people to the internet but the situation in the country especially in Germany is not the same and it is not the reality we have we as community could do a lot of good stuff but it is not the we couldn't not solve the whole problem and connect all these people we could do only a little steps and with the power you have in the community project it is limited the resource is limited but I think we could do our best and help people to connect to the internet there were some special project that I would spend some words together with the butterfly in Berlin and refugees emancipation there built some internet uplinks and some internet cafes together with refugees and I think it is the best project we have and the Freifern community to engage the people and to empower the people that came to us to build same by self these infrastructure we are not a service provider for the people because it doesn't scale to do this as a community project so we have to empower the people to build by themselves the infrastructure they need to build some wireless equipment or mesh networks to connect the refugee camps or the other locations they have such as internet cafes so far thanks for listening and when you have questions I think we have some time we have 8 minutes 8 minutes for question here are some questions we have some what about Freifern and other countries we have some projects as Goofy Net, as Nine Orcs as Velan Slovenia and in different countries we have same projects to this idea to build mesh networks connect people it is not called Freifern and I think it is important to know that Freifern is much more than to build infrastructure it is to transfer know-how to build these to have these meetings to connect the people to spend some know-how and to transfer the know-how to the people they are interested but in a lot of countries we have the same idea and the same spirit to build such free Wi-Fi networks and we are in contact with them have meetings and met them some other talks are here from other free Wi-Fi projects and it is good to have them how we deal was lost for the uplink in this site at the coast the coasts in many situations we have some some private organizations or some family or some house or some company nearby a refugee camp and they spend the uplink so there we have nothing to pay for the uplink and for us it is important to have people that support this project not only was money so we spend some bandwidth from the fiber or DSR connection and in other situations there are quite good corporations with local cities and the infrastructure providers from the cities and they spend us some fiber or DSR but it is much different because the country is very big and you have some different organizations in the city you have corporations or you have no corporation and it is different but in the most cases we didn't pay for this how do you deal with the government law for responsibility for the connection you share? how we deal with the government law we as Fife on Rhineland are an ISP and providing the transit for the communities with our own IP addresses and so we could handle the abuse when there will be abuse by ourselves we are not in some problems with some other providers but in Germany the law was changed it is called Störerhaftung in German and it is so that when you provide an open WLAN access point you get the provider privilege that it is like an open access note it is not the same when it is your private Wi-Fi at home so the problem with the law is not so big anymore because we could really fix this with our own ISP and some other situations before this we had some VPN connections to Sweden or other countries whether we have not so these problems but it's changed today some other questions no ah there how do we now approach to establish the right to access the internet as a human right on a political level how we how we do to to get to bring our perspective from the right of access to the politicans and what which point we reached was the question at the moment I think that that in a lot of series in Germany there are quite good corporations the local help organizations other organizations they are dealing with these refugees camps or some other social social rooms or social clubs for people that could have internet access there but we didn't have a huge accepted accepted decision that the politicans said we have to build a standard an internet connection in such a location as such we will and shower or toilet though we are not at this point I think it is the goal to come to this point but it's not the situation we have reached yet it is a very long way to to be there I think it is on a good way but it takes much more time there are some questions last question bandwidth what about the bandwidth in our networks so I could only give you the information about the Rheinland backbone that we provide and there are a lot of these 40,000 approximately 40,000 nodes connected to this there we have an average in traffic about 5 gigabits per second and a lot of this traffic we are can bring out by P-rings and internet exchanges we have three different sites in Berlin Frankfurt and Düsseldorf where we connected to some other carriers and providers and get some sponsoring with IP transit so this is no problem and we didn't have to pay for traffic in the backbone because it saw that we have eyeball traffic the access traffic and you can get a free settlement P-ring with the content providers and not with the problem with the access providers that is no problem for us yeah, thanks a lot enjoy the rest of the conference


When calculating torque you probably have used most of the time this equation here. Torque is equal to the length of the lever times the force times sine of the angle in between. For example in our little setup here on the left, we have the force down here and we have the length of the lever here and the angle which is here. Now quite often you don't know the lever exactly, but you might know information like this. This is a length of five meters, so let's say this one is a length of three meters. Instead of calculating our square root of five squared plus three squared and the angle, so the theta here is the same as here. Theta is the inverse of the tan of opposite over adjacent, so five over three, and then plug it into equation. There is another way to get the torque much quicker. To do so, let me change a little detail here in my equation above. What I'm doing is I'm changing the position of r and f. I'm absolutely allowed to do that. sine theta times f. And now what is r times sine theta?  I have one here. So my formula here becomes the r perpendicular to f. It's the shortest distance from the pivot point, which I assume here to be up here, to the axis along which my force is acting. So my force is acting along this axis and the shortest distance in this case is five. So I can just do five times whatever my force is and I have the answer and I don't even need to calculate any sine functions. Now this works for any random situation. Let's say I have a pivot here and I have a force acting like this. Instead of trying to figure out what is my r, I can also just make a line where my force is going and find the shortest distance, the shortest distance. So it's perpendicular. So if I could know this value here, I could calculate my torque as what the shortest distance times whatever the force it is here, which is exactly the same as if I go the long way and they do r times f, r being that one here times sine of the angle. Angle here being that one here. Now, this is my first shortcut. There is another one that I could use. So again, I have a pivot point here. I have an r that's around like this, should be a straight line and I have a force at the random angle, theta. Now instead of doing torque is r times sine theta times f. I'm now regrouping sine theta times f. Basically, I'm regrouping this part here.  That means if I can easily find the part of the force that is perpendicular to my r, I can use the following new equation. So torque is f perpendicular times the force at length of the lever. So this is one shortcut formula and the other one from before is r perpendicular times f, which adds to our general equation. Just torque is r times f times sine of the angle. If you go with vectors, there's actually another way to calculate torque. That is torque as a vector. Simply r cross f. But only use this if you actually have learned how to use the cross product properly. Because this cross here is not just a multiplication. It's the cross product which has its own definition. So only use that one if you know what you're doing, otherwise use one of the other ones. If you can, this one here, number one, number two, or number three. And which one is the best? Depends on the situation of what you are given. All three of them will work all the time. So worst case, you just pick one and you go with one.