Hi everyone, Joe for jaspyscasebreaks.com coming at you with 2020 panini prism football six box half case Pick your team number nine from jaspyscasebreaks.com nine and ten are from the same case all card ship and All rookie cards will be sleeved every single rookie card will be sleeved The court the main quarterbacks like like Hertz and Herbert and Tua and Burrow will be sleeved and top-loaded right away And then there's I think pretty much over how like a good chunk of the other rookies will be top-loaded as well By our sorting and shipping team But every rookie will be at least sleeved That's how that's how wild prism has gotten All right, so pick your team nine big. Thanks all of these folks hang with me on a Friday I appreciate spending a bit of your weekend with us Appreciate that so if you have a little rooftop next to your name That means you won that team and the team random in some cases someone won a spot in the team random and then got the team So congrats to those people as well. Thank you once again for getting in All right, I've got the huge case right here Let's get this on the table So we've got one two three four five six on the left side and then you can see One two three four five six on the right side.  I like Viva Las Vegas Pointing up on top right there. We'll go one two three four five six. Good luck boxes And it's gonna be four one two three four five six of these we will save for Next time in fact So this will be for a pick your team at ten chicken scratch PYT On here not Michael Jackson's pretty young thing, but pick your teams So we know that they're all from the same case. It's marked there Marked there Leave those back here just in case we run that back tonight All right now Here we go We're looking for two autographs per on average two autographs per box on average and a ton of fun parallel snakeskin prisms And all that sort of stuff. So let's see what we got. Good luck everybody Let's do a quick roll call anybody anybody here watching this break live with me is EA here EA's got the Eagles. He says fly Eagles fly. It's a good time to To pull some Jalen Hertz What does everyone think about Jalen Hertz will he be the answer I know Jalen Hertz Still has the same offensive line that Carson does so that that could be an issue Greg Harper is here. That's right Greg. You got you got the chiefs. Congrats Got him in that team random. Did I upload that team? I didn't know Robert grease as Eagles are screwed Yeah, Jalen Hertz cannot play offensive line He cannot pass block and throw at the same time. That's gonna be pretty tough Although I don't know I feel like who are they playing? They're hosting. They're hosting the Saints Be interesting. I think the Saints are only favored by like a touchdown But Saints defense is pretty good Maybe maybe this this isn't the week that the that the Eagles are gonna Maybe get a win True Hertz is a little more mobile than Wentz. All right, here's box number one. Good luck Settle in folks. It's gonna be kind of a longer break. We'll have a lot of football to talk about there's Eddie Jackson Hyper to 175 and our first autograph is gonna be Albert oku ebanem rookie silver autograph for The Giants That'll be for Fouad. That is true. Greg's pointing out that is it is back-to-back road game for the Saints And no matter the team that could that could make things a little tricky. There's Divo to 199 stuck together a little bit and we're our second autograph is a nice one Deandre Swift Line's getting that that new coach bump new coach W I think more often than not Teams that get a new coach they they win the following week and we'll do it. We'll do a autograph and Quarterback recap.  There's a Laurent DuVernay Tardif To 249 orange for the Chiefs got Keith Brooking and the gold vinyl is for the Bolts Joey Bosa That's gonna go to Steve H Who got randomized the Chargers in that team random? has the three out of five and All aboard the big head Express There's Keelan cold who 175 74 to 175 for the Jags Chris with that hyper parallel then we have Carry on my wayward son carry on Johnson blue wave Deandre Swift and Albert oku ebanem DD Westbrook To 249 for the Jags Got Brian Edwards and Julian Blackman almost a Justin Blackman Remember just where what's Justin Blackman doing these days? Zach Bonne Michael Warren the second and is that another what is this? Oh? Go harder go home Patrick my home's insert Neenie trolling me here that goes to Greg and the Chiefs We've got Kenny Clark right here cracked ice for Green Bay Jared Goff silvery to a nice game yesterday Dak Prescott to 149 get well soon Donovan people's Jones and Jalen Régor for the Fly Eagles fly and Greg of course since all all cards do ship so you will be getting all of the you'll be getting all the Mahomes base cards as well. I may have skipped over a one or two, but don't worry. They'll they'll all be shipping In fact, I think Pretty sure the shipping team has a standing order to pull all that comments of Mahomes and Brady Have those sent we have Arizona State up 35 nothing on Arizona ouch That's another touchdown pending the extra point 42 nothing All right, um Thursday's game was a little little boring rams 24 to 3 I was on the Rams though I laid to the minus five and a half I think whatever I got it at minus five minus five and a half of the Rams they cruised the Rams aren't winning games in in sort of Not not in sort of a sexy fashion But but they've been winning games. I think they I think they look pretty good No, all times are Pacific on that Eric. So whatever it is on East Coast. I guess it would be If it says 9 15 on the schedule, then yes, it's 12 15 your time Do we like this week of football? I don't know if there's some I don't know if there's a lot of good interesting games here Houston at Chicago Does that move the needle for anybody? Dallas at Cincinnati. No, I actually already ordered from there. Sean. But thank you earlier today Oh, by the way, Sean, I bought uh coke zeros. So if you wanted to enjoy a refreshing diet beverage Then there's some of that in the fridge Dallas at Cincinnati Kansas City at Miami Arizona, New York Minnesota at Tampa Bay Denver at Carolina Tennessee at Jacksonville My Raiders hosting the Colts. I mean, obviously, I'm interested in that as a Raiders fan Jets at Seattle Green Bay at Detroit Saints at Philadelphia Atlanta at the Chargers Washington at San Francisco Pittsburgh at Buffalo There's Evan Ingram Green Scope to 75 No worries, Sean Um, the eight o'clock game is at the night game Pittsburgh at Buffalo actually Pittsburgh at Buffalo. That is a good game the Sunday night game There's Donovan People's Jones for the Browns Actually that Ravens at Cleveland game could be really interesting too speaking of Donovan People's Jones The Monday night game All right, John X he's saying Ravens at Brown. So the prime time games are looking pretty good There's Troy Palomalu to 149 Jordan Love Tyler Johnson And there's my guy Henry rugs the third. I don't know what he's going to do against that Colts defense, but For what it's worth. There he is. He does stretch the field Walter with the Raiders Won the Raiders in a team random We haven't seen any any base rookie quarterbacks yet though The main ones There's tana Hill to 199 There's Brandon cooks bark I was talking about Brandon cooks in 99 classic There's Leonard for net to 249 orange for the Jags Wait, what channel are we are we talking Oliver? This should be nice. Jeff Gladney nice low number right there two out of 25 camo Cam, man cam acres. Is he getting the The the the sleeve and top load treatment immediately after that game yesterday Goes to Kurt and the Rams may be for at least for this week Maybe not next week, but at least this week There's Gladney to 25 And our sorting and chipping team will take care of the rest of those We've got a kind of a busy day here. So just in interest of time I'm gonna move rather quickly Oh on ESPN. Well, I'm on ESPN. So I guess after this football game John XT was saying big game for Baker Mayfield. It will be Baltimore or Baker hosting The Ravens big rivalry game probably division implications or playoff implications The Steelers have that division taken care of but There's Mike Kosicki to 199 for the Dolphins And then bad and junior rookie silver. I wish that was rugs. There's Tyler Higbee To 249 orange But it is a rookie silver. So all right, let me sleeve all these rookies right here Let's see Houston at Chicago. Who does everyone have there? I get straight up or against the spread or however you want to do it Maybe we'll talk more I probably should have some picks for you by what do you say Friday by tomorrow? If I find any value in any of these picks You gotta think Chicago at home, right? Especially if they're dogs Dallas at Cincinnati Bangles, I maybe pass that game What about all right for you people who like to invest in uh sporting sports teams and outcomes Kansas City at Miami What does everyone what does what does everyone have there? I think Miami's getting Miami's getting about they're plus seven Yeah, they like Houston in that Bears game, by the way Yeah, good. I might pass on that game Is there is there value in dolphins plus seven? No, you may Kyle's like if you're gonna take dolphin you might as well just take money line instead I think it is a sneaky game for the dolphins Yeah, you can't trust the Bears too I think so too. There are some numbers that say Miami and December Have some pretty good trends Um They're they're kind of tough down there anyway I don't know what the weather's like, but it's so it's you know, it's not and it's not that It's not that cool weather You know, it's a little more hot down there Right and I think I think Brian Flores has been a sneaky Sneaky great coach and could get a lot out of that team like like they're not quitting. You know what I mean? right Yeah, plus seven is a decent amount at home EA thinks chiefs win but don't cover yet and chiefs haven't really been Like if they if they just kind they can accidentally score 50 points, right the chiefs But that's if there's like some broken plays and stuff like stuff like that. I feel like I feel like the chiefs really don't Really don't they're they're really just kind of they know they're gonna be in the playoffs And I think they're just kind of kind of cruising into the playoffs and then I think they can turn it up there Let's look at vegas insider to get an overview at some of some of the odds here if you want to talk that Kyle likes likes giants plus the points at home I would like the giants plus three, but I wonder Arizona's I haven't they lost a few games in a row I feel like they're pretty hungry for a w I know that's I mean, but they are going to the east coast It's a pretty square handicap. I get that but But you can't count out like teams. I've lost multiple games in a row There's darren waller to 249 There's dadious moss purple power to 49 There's dion jones cracked ice to 99 Pooke epitomists. What's up is saying mohomes has never beaten the dolphin Huh That's interesting. So either they're due or Dolphins have the chief number for some reason See jahenderson logan wilson there's levy on Red wave to 149 And there's our first justin herber our first, uh main rookie quarterback Going to steven h Who got the uh chargers in a randomizer? I know I love wild gambler stats john Those are always those are always fun to talk about I I I try to keep track of a lot of those trends to one side And I mean you you can't just ooh a nice tour as well. You can't just go strictly on trends Jack with the dolphins.  Like what what's the actionable item on that? I might say I might take oh wildcard points. Um These can range I think anywhere from uh 500 like 250 to 15 000 points winner take all on the points I'm going to collect them all as one lot and randomize it to one person on this list right here There's jk dovins for the ravens to one at 25 And purple power lin bowden jr for my raiders Who's got my raiders walter has my raiders man? We had a lot. I had a lot of we I'm like, am I am I in the raiders front office? I had a lot of high hopes for this guy as a sort of gadget guy That's the 49 I think the raiders did too, but there are some personal issues there Maybe didn't look as good as good in camp as they thought I think this is an example of like Of maybe like a pandemic sort of Thing you know where you can't really see the guy Talk to the person meet with him face to face and you know work him out and all that sort of stuff I think they They kind of reached there and just didn't work out It was during love hyper to 175 Hustle says he got uh 2,500 points on his wildcard. That's pretty nice There's silver okueb on him blue wave lane johnson to 199 All right stealers have never lost a wednesday afternoon game There were one and oh against the spread and straight up Let me sleeve all the rookie any other games that are that are jumping out at people just in terms of interest or For investing purposes investment purposes I for one enjoy investing a little bit of money here not too. I don't I don't go too crazy But just for entertainment purposes Let's know if there's any games that are really jumping out at me What was greg saying earlier? Was he saying there was a lot of lots of road chalk? Seems like feels like it right What does everyone think about my raiders hosting the colts? This is this will be big playoff implications for my raiders if they could win This game Although playoffs would be if someone said raiders would be challenging for a playoff spot this late in the season I would be like I would be like I'll take You know But now the line is in the sand has moved a little bit because the raiders have have looked a little bit better than expected than I expected But the raiders are plus three they do I feel like they do well as a short home dog Maybe the raiders are a good teaser candidate terrible at those but Halfway through this half case break I've got about another 30 minutes to go here. So thanks everyone For chatting with me while we kind of go through this long and leisurely break EA's pointing out that the titan spread feels high for a rivalry game Right, where's the where's the tennessee? Yeah, tennessee minus seven and a half At jacksonville How is the how the titans been looking recently? I think well, they got blown out by the not blown won't kind of blown out right by the browns last week But in a you know, yeah divisional matchups Seems like what do you do there? Yeah, I feel like the titans have to win this game, but minus seven and a half seems to be the consent seven seven and a half big road favorite Jacksonville plus the points could be interesting Yeah, let's hear like yeah late season Derek Henry though.  That's his wreck For entertainment purposes only his recommendation the over a total is about 52 points around their Malcolm Butler Speaking of the titans to 49 purple power That'll be for drew and The titans There's Peyton Manning Colts edition Oh my ha to 175 And there's a Jalen Hertz for you EA base Jalen Hertz Getting the sleeve and top load treatment immediately Might not be doing that next week depending on what happens this sunday What does everyone think about this guy? We're talking about a little bit about him earlier The eagles fans here at jaspeas boss man nick jaspy jason jaspy I mean, they're pretty sad Not not about Jalen Hertz. I think they're just kind of sad about the way the season has gone overall There's Clyde Edward de laire That it's come to this and that they're Nervous about like With that offensive line is Jalen Hertz just going to get killed out there There's DJ Dallas orange to 249 for seattle josh and chase Noah and christian Will Fuller just goes off against the the detroit lions Then I'm sure it gets randomly tested and then all of a sudden ding There's willy mcginnis 75 green scope Tagged for PEDs done for the season There's marlin humphrey for the ravens to 125 I like denzel mims too Are the are the jets due for a win? I mean they almost beat my raiders. I was the raiders were gifted a win No, they're in seattle Maybe not but Jets plus 14 They're they're fighting. I mean pride kicks in right another payton red wave this time 91 out of 149. Oh my and we've got Daniel jones nice sensational signatures. I think they get him back this week right after a little hamstring issue They're hosting the they're hosting arizona Healthy daniel jones could could could make the plus three interesting That is for Fuad and the giants Trade karson wentz for an o-line There's another jesson herbert right there for steve h. There's miles garret to 199 And we've got a tua here That'll be for miami jack Did someone say that if you see a justin you'll usually see a tua like that's the pattern And behind deon jones is kenneth murray for the chargers. That'll be for steve green scope And autograph kenneth murray That looks that looks a little different doesn't it? There's tayson hill to 249 That's for the colts jeremy murrell. I don't see a number on here But I feel like there's Maybe we just haven't seen a lot of instant impacts All right two boxes to go Oh, those are short printed says ea. All right. There you go. Yeah, maybe it's just because I'm just haven't seen a lot of those I have yet to pull a color blast. I mean we still have two boxes to go but I think I've yet to pull a color blast. I've pulled a couple gold vinyls The same question color blast. I have not seen Or I've not pulled I've seen them new york jets at seattle Jets plus 14 John x-tien saying that what yeah that wends contract is pretty harsher trade It would be pretty tough I think the only thing that makes sense that a team might like The only trade that makes sense to me And I don't even know if this is just I think this is only just speculation I don't think there's even any smoke to this Is uh Carson wence reuniting with frank reich In indianapolis, right? I mean how long is I can't imagine rivers is gonna play You know, he might rivers might play one more season, right? But I don't think he's obviously not not a long-term answer for indianapolis. Carson wence is still pretty young Right. He's only what for 2016 draft class 2017 2016 right. It's only what four years in the league Five years in the league.  That's you see that's interesting. There's a lot of there's so many quarterback questions out there It's kind of crazy, right? And nick jaspy was telling me yesterday That college-wide the the quarterback's coming aside from trevor lorenz There's a lot of college quarterbacks that are coming up that could be drafted in the top five Like three or four quarterback could go in the top five if not and then more in the first few rounds or so See the yeah a lot of quarterback questions Jimmy g could could he go back to the patriots? There's zero line rough day for him the other night Devin assi assi to 249 Sam darnold where does he go is even fair to judge sam darnold? playing under gaze And pretty much having so many weapons and a defense tripped away from there's eric armstead.  To 175 Right broncos could move on from drew lock el canona saying Yeah, michael's were saying last mock draft. You saw has that buiu quarterbacks going over fields There's daryl taylor blue wave to 199 Yeah, kyle's like what about my boy josh rosin does he deserve another shot somewhere? He's just falling out of favor, but I feel like somewhat unfairly if someone gives him a decent You know if we can say an assistant for a couple years Someone's got to give him at least two years in in the same with the same coaching staff Give him a chance to show what he has There's emet smith 249 Bring t-bo back Was t-bo even that good in the first place? I always get shouted down with the oh nice silver patch from my homes There you go. Greg harper It's a good good action shot of him and a purple power keith brookie to 49 I know that's the argument everyone says, but he's he's a winner. He just wins But come on I was not an nfl quarterback tj hawkinson to 99 Which is why he's on the nfl and behind michael vick is going to be james proche Proche Pache proche christian pache james proche Silver rookie autograph for baltimore. That's going to go to jeremy murl Won that team in the team random cd lamb anthony gordon How much of cd lam's season could have been different if dak prescott didn't have that horrific injury Leviska schnalt jr red wave to 149 And our first joe burrow base joe burrow going to jack and the bangles Poor joe burrow That offensive line got him killed What do you think what do you think the gift is for the offensive line? From joe burrow Do they even get gifts? And behind bridgewater is jordan love 12 out of 99 his medical bills jersey and auto joe burrow sends his medical bills to the uh to the offensive line And they're like wait, don't you have insurance through the team? They're like no you still have to pay for it What's going on and why are there regular sleeves? In the oh, there we go Greenbay packers jesse way bright who won a spot in the team random got randomized the greenbay packers and gets the 12 out of 99 j heart Chad johnson To 175 ocho synco going to Cincinnati his medical bills What are some of the crazy there's always crazy qb? There's all these crazy qb Gifts to their offensive linemen usually it's like What's the funny one i heard? Usually it's like a night like watches or laptops or iPads or something like that Or whatever the hot tech product is of that year I think one year russell wilson gave Gave his offensive line Like amazon stock or something like that people remember the story I think it was amazon stock and i was kind of laughing to myself and it's like Yeah, i mean Yeah, that's cool and all but it's such like I don't know it's like such like a dad gift It's nice amazon stock is great I'm sure i'm sure it's i'm sure they've they've made a lot of gains in their capital since then but Give me a rolex come on Now you've added this to my plate that i have to give to my business manager Not to deal with come on Hi john Sean do you remember that story When russell wilson gave his offensive line Amazon stock or something like that there you go michael's tour remembers $12,000 in amazon stock each which is awesome But that's such like a grown-up gift if you're an off if you're a football player And i'm just like come on just give me the rolex Don't don't make me don't add to my tax plate You know by giving me $12,000 of stock. It's another thing my accountant has to deal with Give me the eye give me an ipad pro I want the ipad pro instead All right last box ladies and gentlemen Wow all 13. I mean it's awfully generous. I'm not saying it's I'm not saying it's bad. It's a great gift But it's just like a funny it's just like It's it's like a nerdy give me a $12,000 watch Like I can point to you know and be like hey russell wilson gave me that watch, you know Like if you're uh If you're like a second string lineman, right?  See that's what you want There's there's Eric Kendricks Give me a watch I'm young rich in my 20s You know, give me give me the watch not like grown-up stuff like stocks I'll get I'll get that later. There's johnny smith to 199 blue wave Michael's words, right though. The smart play is the stock, but there's dd westbrook blue cracked ice to 99 And there's purple power kj hamler denver broncos my rivals troy got randomized the broncos in that team random 24 out of 49 You can buy a oh buy a car with the returns on the amazon stock. Yeah, I guess Seems like a lot of work if you're a football player in your mid 20s out of 125 mitzvah And we got rookie silver brian edwards There's james connor hyper to 175 for the stealers. That'll be for cori The next step for the raiders. Maybe see this guy emerge a little bit brian edwards. That'd be pretty cool There's marlin humphrey to 199 Did elie really buy his lineman custom jeans? There's jordan love tyler johnson I guess if you're a lineman, that's kind of important though, right that justin simmonds that if you're like six seven 300 pounds Maybe pants are probably hard to find Maybe maybe that gift is cool But it can't just be one pair of jeans, right? There's kyler murray to 175 Jeff okuta and michael Like I got you have to give me like a dozen of those custom jeans We got lin bowden jr. And jacob eason. We got davante adams red wave To 149 11 out of 149 slogan saying derrick car about his own plane ticket out of town for the team There's cleveland ferrell blue wave juan jeg uh, yeah juan jennings and jozaya diguara Are your final rookies right there ladies and gentlemen? Did we have a oh was that oh those the jordan loving them, okay? So there you go folks. Thanks very much for getting in let's randomize those wild card points To someone All right, so some walter with the cardinals down to mark and washington and everybody in between let's Roll it and randomize it name on top After three and a five eight times We'll get the wild card points one two three four five six seven And eighth and final time after eight three and a five eight times. There's eight right there. Congrats to john alphys John, I don't he had the browns. I think you got donovan people's jones early on I don't know if I called your number too often after that So there you go. Hopefully these points Uh yield something huge for you.  I'm joe for jasmiescasebreaks.com You're welcome Greg. Thanks for getting into that filler too. I appreciate that. Thanks everybody as well That was picker team number nine. I'm joe. I'll see you next time for the next break on jasmiescasebreaks.com


Hello everyone, here is your God, and today I want to talk to you about two things. First, I know that I can't do my orange touch-miso, but it's a problem. First, it's too bad here, but second, and more serious. It actually, one after the other, dissapear over the last time. Yes, I know that it's a terrible problem, but I don't know what I can do. I actually searched the internet for a new copy of that touch-miso, but I can't find it. And then I thought, maybe I have to buy a new touch-miso, so what can I do? Give me suggestions about a new touch-miso if you want, put a link below, or maybe you can find my last touch-miso. So, give me a link below if you really can find it, because I want to buy maybe ten copies of that touch-miso, because I'll never have that problem again. In fact, when I created this channel, I didn't think about it at all. I actually made the first few films during the same day, and I noticed later that I could find the same touch-miso, and I thought maybe I could just always find it. So that's all related to that. Now, I want to talk about the interview in which I took part a few weeks ago. Now, I know that I didn't prepare for that interview later in this channel, and I did that because almost nothing interesting happened. Yes, there was progress, but it wasn't enough interest for you, my viewers. But, I believe, I actually received a new report from that company, and they said that they want to give me their decision at the end of the meeting, and of course, the whole day of the meeting. I just sat there with my hands in the bush thinking, oh, well, in the end, they give me their decision. It seems that I already have a good news about the future. But then the end of the meeting came, and I didn't hear anything. Then, I thought maybe they'll just repost me in the morning of the next day, so it doesn't matter, but the end of the next day came, and nothing happened. And then the end of the meeting came, and finally, I received a new repost, and they said, oh, in fact, we'll give you our decision in the next week. And I thought, what will I do? Just wait for me. You already interviewed me four times. In fact, I didn't say that before. They interviewed me four times in total, three times on Skype with three different people and groups. It's very strange, I never said that before in my life. It's so much interviewed. Do they just want to see my beautiful face? No, no, no, I'm sorry for that. Maybe I'm not sorry, maybe it's beautiful. Maybe you can tell me. Maybe they just want to see my beautiful face. Maybe they just want to see my beautiful face. Too much, too much. Now I have to wait again, but there's another problem. If they already give me the repost, I have to tell my wife, who is a very good-hearted person, that in fact I want to miss the present-day repost. And for the most part of people, that's not a problem. But when I was interviewed for this repost, the extra fact said to me several times, we only want to miss one who wants to be here for a long time. This repost is not for people who just want to leave one repost to the other, to the other. And of course, I didn't have a job at that time and I said, yes, yes, I also want that. And I live very close. So it's good for me. I just want to find a job that is close to my house and also I also want a family repost and I know that he also wants that. He wants to create a family repost in his company. So I just said what he wants to hear. And I think that I really am there for a long time. Because I actually am not used to one of those people who like to jump from post to post. But as I said in my previous video blog, I feel that I have to do that. And if they, without the new entrepreneur, really give me the repost, I always have to go to his room, hit the floor, go to the city and look at him, and say, in fact, I have to miss him. And I don't want, I don't know what I can say in that situation. I don't just want to say, oh, I want to miss him, because I found a better job. Because in fact, that means that I simply missed three weeks during the interview. So give me suggestions about what I can say about my job, if I really do a job. So give me suggestions. And also there is another problem. In my department I am a different person and she worked there for two years. And she was actually a single person. So she said to me, it's good that you are here. In the end, we have a new employer. Because in fact, for two years I couldn't do it, because there is no other person who can take my job. So I simply had to work 100% and I couldn't do it while I was born. So it's good that you are here. Because then I wanted to do it for a month, because now I have trained you for everything. So it's good that you are here. And of course maybe I now think I have to tell this affable woman that in fact she can't do it. Because soon maybe I will be fired. If I will be fired, I have to say that to her. And I feel very strange and in a bad situation. Because during my whole life I just fired a worker once in my life and that was from the army. After six years. But now maybe I have to do it after two months. And I don't know what I can say. So give me suggestions for that also. So yes, that's all what I want to say last night. Because it's night here. So if you like this film or you don't like it, like it, share it, subscribe to my channel if you haven't subscribed yet and I'll see you in the next film. So yes, you're not there.


Hi, so my name is Raj, so I work as a digital analyst from Microsoft, it's kind of funny actually, I was coming, I wanted to see where this place is, so I was going to look it up on my phone, so I put, you know, on clear drives, I put the address just next, and it gave me an address in Shanghai, China. Wow, we're all going to China for China It was only about 4,009 to 6 kilometers. So one thing John mentioned was that, you know, how many of you here are Chau's Sympathics, right? How many of you are not? So we have a couple of people here. You know what, this is probably the wrong session to start, if my objective is to convert you into an addict, because I'm going to tell you about things that are probably not so great about Chau's Sympathics, right? Things I do to watch out for. So that's what, this is about Chau's Sympathics, this kind of language that people either can go absolutely fall in love with, or they hate it's guts, right?  There are some pretty amazing things that you can do with Chau's Sympathics, that you can find it hard to do with other languages, especially if you're coming from a static programming language background, like C++, C++, Java or something like that. There are things that you can do with Chau's Sympathics that you pretty much can't do anywhere else. So those are the good parts, right? So, in fact, Douglas Crawford, who used to work for Yahoo for a long time, and now we use Chau's Sympathics. So he's written a book called Chau's Sympathics, the good parts, right? And there's another Chau's Sympathics book, it's very popular called Chau's Sympathics, the definitive guide. There was this funny joke about that, you know, if you look at Chau's Sympathics, the definitive guide, it's about that thing, right? It's a really big book. And if you look at Chau's Sympathics, the good parts, it's about that thing. So people ask, wow, so what is the rest of Chau's Sympathics, right? So it's a good book, you should read Chau's Sympathics, right? It kind of helps you to focus on what Chau's Sympathics is really good at and, you know, let that keep you pretty secure in your web apps. So in this session, we'll be looking at three Chau's Sympathics, over 15 minutes. Some of the things that you might want to watch out for. There's not much information in the slides. We'll try out some scripts in the browser and see what these Chau's Sympathics are. So that gets started. The first thing I kind of want to talk about was about this concept of the fact that you can read periods, right? So JavaScript, in many ways, is a very permissive language, right? You can pretty much do whatever you want. And unlike static type languages which insist on giving you build errors, right? If something doesn't work, it points it out. It says you made a mistake, go fix it, right? JavaScript is not so finicky about that. If something is not right, it'll say JavaScript is most likely to achieve something and keep going, right? So which can be a good thing, but there are scenarios where that tends to be a very bad thing. One place is variable leakage, right? So what I'll do is I'll probably launch a little console here. So this is basically a console where you can type a little piece of script and experiment with it. For example, I can just type a little tool here and hit the commenter and just run the script. So you can write a little bit of script and there's a print statement here that you can do that and how it comes on the right-hand side. If there are script errors and stuff, they show from the bottom right-hand side. So when you talk about variable leakage, what do we really mean, right? So it turns out to be surprisingly easy to make this error, right? So let's say, you know, I have a variable here called backload, right? Something. Later on, you know, what do you think is going to happen if I did something like that, right? Or let's say, that's another thing, JavaScript is weakly typed. So one thing can be a string at one point later on it can suddenly become a number or a date or an object, right? So what do you think is going to happen in this case, right? You have two different ways. Yeah, I mean, pretty much, so if this was C sharp or Java or pretty much any other language, just kind of keep that language, you're going to get a compiler error, right? And the reason is because, you know, there's a typo here, right? The variable is not the same. You change the variable name, right? Now, in JavaScript, unfortunately, that's, nothing is going to happen here. So I have a little error console here, right? I'm going to go ahead and bang it over. Then, you know, it prints too, right? No errors at the bottom right-hand corner. So what happened to this assignment here, right? What do you think is going to happen if I say print window.danjlore, right? Without the variable. See that prints power over there, right? So this is a, this is a culture, right? This is a way of, you know, you can accidentally introduce variables to the tools. So essentially what happens here, when you say banglore equals bar, right? The JavaScript front-end goes and looks up to see if this variable has already been defined. So in this case, no, it's not been defined. It happily goes and adds it to the global scope, right? And that's not a good thing, typically. You don't want something like this to happen. First of all, obviously, you know, the biggest problem here is that there's no error, right? And your program would just keep working. You know, 3,000 line JavaScript program, and you have this little error sneaking in somewhere, right? Can you imagine how much, how difficult is it to figure out this particular part? So that's the problem here. And how do you deal with this particular thing? There are a couple of things that you can do. One is, so in JavaScript, there's this concept of an immediate function, right? You know what an immediate function is. Sometimes it's called as a self-exaggering function, which is technically incorrect. You create an anonymous function and it's immediate, right? So basically, typically it's an anonymous function. It doesn't have to be an anonymous function, but it really does. And it's a function that you define and even both at the same time, right? So something like that. And so it can define a function here, and you call it immediate, right? So immediate function. So, you know, it executes that function. And if you find it here, I called it instant immediately, right? So this is one thing that you can do. Define all of your code, right? Even if you're writing it in the global scope. Let's say you mark up right at the top. You have putting script, you know, type equal to JavaScript and then you put it there. Put it inside the immediate scope. Even if it's running in the global scope, put it there. Basically, the benefit here is whatever variables you introduce, right? You declare a variable.  And everybody knows global variable is not a good idea, right? All kinds of funny things can happen. So you typically want to limit the scope of the symbols that you introduce in your program. And this is one way of, you know, immediately doing that. But this still doesn't solve the problem of accidentally introducing the global scope. Like if you say the workload is, it should still go ahead and add the thing to the window object. So with ECMAScript 5, right, ES5 standard, there's a spec part of that that was introduced was something called a strict mode for JavaScript, right? So it's pretty cool, actually.  Use strict in the global scope. The nice thing about ES ECMAScript 3 is that ECMAScript 5 is that many of the features, many of the enhancements in ECMAScript 5 were introduced with backward compatibility in mind, right? So this piece of code here will run perfectly fine on ES3 engines as well, right? ECMAScript 3 engines as well. In fact, pretty much except for some minor, some few exceptions like property syntax or, you know, some of these access protection methods like, you know, please and see, things like that. There are some methods which are new in ES5 for which you do need a ES5 engine for your work, but a vast chunk of it works either without breaking your code or you can backfill it with library code, right? The capabilities can be provided to a library for ES3. So here, this particular line of code will run perfectly fine in ES3 engines, but you benefit automatically on ES5 engines where Strip Mode basically causes your script to run with some different semantics, right? Basically, most scripted rooms. So what's going to happen is, you know, let's try that same example here. So I have Google's Bangalore. So I say Bangalore equals this bar, right? So I say window. You know what? So, you know, right at the bottom right-hand corner, you can see that the same code throws in error code, right? Variable undefined in Strip Mode, right? This is the exact same code, right? The only difference is we have a new Strip at the top. So the same code here with the typo produces an error in Strip Mode, which is good to what you want. Basically, in Strip Mode, you cannot arbitrarily use a variable without clarifying first. So it enforces that you declare your input you use. And any error that you catch during, you know, obviously everything here is at runtime, but at least you see the error, right? That's good, other than it might present itself as a permanent error. So use the Strip functions and use Strip Mode, right? So closely set. Good question. Do you have to do use Strip in every function or can you do it globally? Yes, you can do it globally, but in general, it's probably not a good idea. See, for example, before you include any JS file, I mean, the use Strip applies for one translation, not translation unit, but it's what they call it in JavaScript, like one file, right? So when it is parsing that file, if you put use Strip at the top, then it applies for the entire file. It's top of the JS file, top of function, then that function. So you have code that is from a library that is not Strip Mode compliant, and then your own code, and you don't want that to start throwing more kinds of errors. So typically for your own code or new code that you write, you absolutely should use Strip. For legacy code, if you see in a library, you might want to be a little bit more conservative there. What browser support do you use? So all modern browsers, so all web pages, versions of Chrome, Firefox, Opera, Safari, all support. IE supports it from IE9, what if I make a typo and say use Strip? In your script. If I write it on my side, I can write it on my side also. You're saying put a typo here? Yeah. Then use Strip mode over here. So that's the problem with back porting. Back porting. The Strip motion is to make it a sub-year, or it's an entire year.  Sorry? I'll make a script per pipe. Per pipe, exactly. So that's much better than the entire pipe. So JavaScript basically has that functions property, right? The voice team will do this. Is this also voice chip? The use script. The use script has to be the first line in landscape. Yes. It cannot be second, third, then it doesn't apply. Yes, good point. This has to be the first line in landscape. What is the performance of back porting? Uh, measure. I don't know. I haven't really done a performance analysis of Strip mode because it's not from Strip. But I would imagine it shouldn't be, shouldn't impact your performance. It's what my expectation would be. But you think the quality points actually would sense to use your Strip. Absolutely. Absolutely, yeah. I mean, given in production code. Correct. Given that it's back port compatible, it's not going to break your apps. You could use it. And you can use this to kind of melt your app. In your development environment, you can use a modern browser. Right. And if it runs fine, then chances are it won't find out what the process is. Where you do JX-Lint. Correct. JX-Lint. Yeah. So this is like, like, you know, a little bit of JX-Lint inside the language itself. It's part of the standard. So this is? Curitically, I think Strip mode will be faster. Sorry? Curitically, Strip mode will be faster. Because now your compiler and everything knows that what's going to come in. And there's even a little double check that's going to happen if you don't use it. Yeah. I mean, it could be. I mean, you could debate about that. I mean, I guess his concern is that now the engine has to perform these additional checks. See, earlier there was default behavior. So this Strip mode is not just about variables. There are, you know, many more other checks that are made. So in this case, earlier it just added a variable. Now it has to go through an error. And there are other checks that has to be made. So the concern was about the performance in fact of these additional checks. But then, you know, these days, most JASCII engines are smart about how they run JASCII, right? They typically compile it and they make it into a new code and things like that. And maybe there you could potentially get some benefits out of making some assumptions, especially with inline caching, right? So things like that, maybe there are some performance benefits by using Strip mode. I don't know. I mean, there could be benefits from a performance method. So that gentleman talked about variable scoping and boosting. In fact, that's the next culture they wanted me to talk about. So again, you know, if you're coming from a Java, Java C++, C-shanaut or some static type language background, then this is something that you might find surprising, right? So in Javascript turns out, maybe you don't know what you can do is, you can do an example and see what you can do. So let's say I define a function here. And you know, let's say I have some if check here, right? The actual check doesn't matter. So var i, and then I say, I say equals 10, right? And let's do it differently. Let's say i equals 10. And then I say print i, right? So what's going to be the output of this? Obviously, I have to call this function. So what do you think is going to be the output of this little script? So how many of you say 10? So how many of you say I'm defined null error? It's not it. So it's kind of a javascript, right? You never tell what's going to come out. So 10, print 10, right? So initially when I saw this code, right, I was like shocked because this is very complicated. Pretty much every other language, this would throw an error or javascript, very permissive, so maybe we'll just put it down and define. But that's how it happens, you get 10, right? So that's the funny thing about javascript, right? It's about what defines scope, right? Pretty much the only thing that defines scope in javascript turns out to be a function. In fact, in the previous gotcha, one of the things that I was saying is that you can put all of your global code inside an immediate function. And I was saying that the reason that you would want to do that is because you restrict the scope of all your global to that particular function.  So what happens here is, in languages like C++, curly braces defines scope, right? So if you define something inside the curly braces outside of it, it's not accessible. Not in javascript. So in javascript, essentially what this function becomes, it becomes something like this, right? So this is what, so here the behavior is pretty self-evident, right? You declare it here, you're assigning it here, and then you're printing it here. So that's very clear. But if you declare it inside here, it's probably not quite so clear. So this concept is called as variable posting, right? So what javascript runtime does is when it is executing or passing a function and running it, it's going to take all the symbols, all the variables that are declared inside that function and move the declaration, not the definition or assignment. Those things remain where they are. The declaration to the top. It will drop that that particular scope. So that's essentially what happened. In fact, this is the thing that actually makes something like this possible, right? So do you think this will work? And calling the function and then defining it. It does work, right? And the reason why it works is because of this. So in this code, this whole thing has been defined here. So it takes this whole thing, puts it in the top. So it basically transforms this code into what I've done earlier. So it takes this, puts it in the top and puts the declaration and the invocation at the bottom. It's debatable, you know, whether this is a good idea or probably this feature was introduced to make this kind of thing possible. But probably it's not such a great idea, right? I think it's always safer to declare and define things first before we can use them. So this is the main hosting. So how do you deal with it? Declare everything on the top, right? There's no magic things for this. So there's no strict mode thing that you can do to magically fix this. You have to declare everything in the top of that particular engine scope. In ES6, I think they kind of deal with these kinds of issues with the different kinds of syntax. In what the LED keyword, I think that defines, allows you to define a scope where the variables that you define there are restricted to that scope.  But with ES5, this is a structure that you have to think about. ES3, you know, all of the versions. The last thing I wanted to kind of talk about is about prototypes, right? The last option. So JavaScript is a prototyping inheritance language, right? There are a lot of frameworks out there that try to kind of mimic what you are able to do with inheritance with languages like SQL's first one, right? See, inheritance in languages like SQL plus ESHA or Java are implementation inheritance. That's what you have to do. Then you can override it or you can completely replace it with your senior subclass and things like that. JavaScript is not that, right? Inheritance in JavaScript is not implementation inheritance. But there are libraries which try to simulate that, right? So that people are coming from a static language background can be comfortable here. But I think it's important to realize what JavaScript inheritance, how it works. So it's very simple. Basically, it's called implementation inheritance, right? The idea is, let's say you have some object here, right? Let's say a person. And here I have name, I have age, right?  This defines what objects that inherit from this object are going to look like. So that's another point of the difference, right? With implementation inheritance, the entity that you use to inherit from stuff is a type. Types inherit from other types. In JavaScript, that's not the case. Here it's instances, right? There's no type. Everything is an object. So what you can do here is you can create an instance which inherits from another instance, right? So you can do something like this. I can say person2 equals object of real or person. So in this case, what essentially happens is P2 is a new object, right? And P2's prototype is person, right? So think of a prototype as being this hidden member inside an object. So let's say I say P2.name equals bar and I say print P2.name, right? And that turns that. So essentially what happens here is when you say P2.name, P2 itself does not have that defined in that object. So the runtime would go and inspect the prototype. So if you find out what is P2's prototype, that's person.  In fact, if I run this like this, right, then you get P2 and then you get bar, right? So in this case, P2 didn't have that property. It went and looked in the prototype, got name and then printed through and then you obviously assigned and then printed that. So this is how the prototype works for P2 and you can add more stuff. In fact, if you want to add additional members, you can do that right here. You can say, you know, gender. I think it's a value, right? So now I can say print P2.gender. So it runs F. So you can actually extend it. So when you say P2 is a created by a person, person is a prototype of P2 and then P2 has some unique members. One is called as gender and you can keep extending that. Properties, additional members inside P2. So this is great. Now the gotcha is this, right? So imagine that in a prototype or let's try something here. So we have P2.name equals bar and then I say print of P2.name, great. What do you think is going to happen if I say print person.name? Any guesses? So here I'm assigning this to bar. This should print bar. What is this going to print? Poo. Let's find out. So it prints poo, right? And that makes sense because this is another instance, right? So created P2 comes in opposite of create. This is a new instance altogether. So modifying this instance should not affect this instance. So that makes sense. This is good. And this works as we expect. So when you say P2.name, actually the property gets created on P2 directly. It doesn't go and modify the prototype's name, right? So what happens if I say something like this, right? I have an address object here, right? And I say street, P1, series. I can go and say print P2.adress dot street, right? And that works. So let's see one is printed. Now the reason why it's printed is runtime would go and see P2 has a property called address. No, it does not. It goes and checks P2's prototype. Does it have a property called address? Yep, it does. So it touches the property and that has an ST property on top of that. It works, right? Now let's say I want to change the city on P2.adress.city. So I'll take this and print city here and then I print person.adress.city. So in this case, what it is going to have? Yeah. So that turns out to be the dot channel. Now you can notice what I changed here is P2 but person city also has changed. Right? So both the P2 has changed and the prototype has changed. So if you want to take it, yes, why this happened? Yeah, so essentially it's shallow property but see if you think about how the JavaScript engine works, right, it makes sense because here when you say P2.adress so this part alone, right this is a fetch operation, right? We're not assigning anything there. It's just saying get me the address object on address property on P2. Front-time person checks as P2.adress no, it goes to the prototype, gets the address there and it returns that. Now when you say dot here, the object you're operating on is the prototype's address, right? It might not be evident by looking at the code. Hold on a second. I'm using P2 here, right? I'm doing P2.adress. Why is it going and changing person.adress? Turns out because so basically when you have an object inside your prototype, you're assigning values to it, it's essentially like a shallow property as you said, right? So when you say name, age, fine, right, no problem. When you assign to it, it creates a new property for P2.adress but if it's an object and it's a problem so how do you deal with this? So you know you pretty much do deep loading yourself Front-time doesn't support this some libraries out there that come with some variant of cloning function. Writing a generic cloning function turns out to be very complicated. So if you have a pretty good snippet, I would say on the depth-out overlap I can put it up once on data to our site or whatever and you're also looking at it. Sure. Yeah, it does pretty and then most of the edge cases also go into the pool. Yeah, so this is something that you have to watch out for in case you have a deep object that is inside your prototypes, right? So that's pretty much it. This is what I wanted to talk about. Yeah, exactly. Thank you. So that makes the prototype almost useless. Everything that I want to create will end up just work with it. Yeah, that's kind of interesting in the language itself. So if you want to use prototype inheritance that has been done this, the way it is right now in ES5 you will have to take care of cloning itself. Does the coffee script eliminate these kind of issues in the screen? Not to familiar coffee script. I hope that this is handled. There is already no coffee script and it will run in there. I think what I would like to do would be all the variable declarations right? I don't know the ES6 spec that has any proposals for filling this issue. Who will be the compliance of different prototypes for ES5? Because ES5 on JavaScript has such a thing of is used in Q as two scripts is there in Windows, is there browsers available on a JavaScript engine. So where can we check up on this? So this is pretty easy nowadays where compliance pages, chart sheets, whatever. So, see with ES5 it was by design like I was saying earlier a lot of functionality in ES5 can be provided through libraries. There are a lot of polyfill libraries available on the modernized beta page where you can find backfills for ES5 features, but not all of them. So it's stuff like you strict there is no way you can provide a backfill. So I had a little slide here that showed kind of the if I can find it so I put together a long pen. So this kind of shows the IE10 platform for even three days. This kind of shows the ES5 compliance across different browsers. It's very old right, 5.7, Chrome 14. What is Chrome version now? Like, 175. So this is very old. But this shows ES5 is sweet from if you go to ECMAScript the ECMA side. So it has about 11,016 test cases right, it's a huge amount of test cases. And this graph basically plots how many test cases failed across different browser in JavaScript engines. And that back from Chrome 14 was kind of lagging behind. I don't know what's the status right now. I'm sure it's better. But you can see that the worst performer is still only 427 of failed test cases which is mid-school compared to 11,000 test cases right. So with all modern browsers compliance is really stellar for ES5. But what about other rendering is a huge script is supposed to be ECMAScript 11. We'll have to see that. I mean the script the suite is completely free for anybody. So you can download run it here and see what happens.


Check, check. Yeah, raising it. Close mine. I need to clean my nose before I actually can start. Because like every year, I got a cold. I guess that's winter or something. So 10, 29, and 40 seconds. So I'm starting right on time. Welcome, everybody. I'm Thorsten Lindhuis, who am I in case you don't know me. I'm from Germany. I'm actually working for a publishing company. It's called Highsea. We are doing still a paper magazine. It's called CT. And I'm having a column there that's called Colonel Locke. And it regularly talks about what's happening in the Linux kernel. The text does also go online. Obviously, they are German until maybe some of you still remember until a few years ago. They got published on DH in English. But that closed down in 2013. I was actually also a longtime Fedora contributor. Or to be more precise, I actually contributed to Fedora a lot 10 years ago. These days, I'm doing not that much anymore. Actually, the most important thing, I guess, or what most people know me these days for, is a package prep repository where I'm doing kernel vanilla builds for Fedora. So you can grab RPMs there with the latest mainline kernel or the latest stable kernel without additional patches. And you can try to check if a new kernel makes something better or if some problem you see is actually from the patches that are part of the Fedora kernel. What I'm not is a Linux kernel developer. But thanks to my work is actually I'm having a really good overview of what's happening. Actually, sometimes even better than a lot of kernel developers because I look everywhere a little bit and don't have to focus on one area. What I actually did for the Linux kernel is working as a regression tracker a little while ago to check to actually compile a list of what regressions or bugs there were to help getting them fixed in time before a new release. What also helps to get an overview of what's happening is LWN.NET because it's a great resource and they're writing really, really good articles about what's happening in the kernel. So what does this talk about? Actually, there are five parts. There's a short status overview. Then we get a bit into recent developments and we're looking at the last kernel, the next kernel and then we go over to important changes, looking back a bit to the last 12 or 18 months what important things changed there. Then I'm trying to actually look ahead a bit and then I'm taking a different view at the kernel like what's happening in the development is everything working fine in the last part in the meta view. By the way, the slides will continue to change this frequently. So better write questions down. If you have any, then we can go to them at the end of the session if there's time. I have a lot of slides, but I'll try to have some time for questions. So the first part, current status, what's it? Everything works as usual. Current kernel version is Linux 4.9, was released in mid December and actually got submitted as regular update to Fedora 25 and 24. So if you're using those versions, you're running a quite up-to-date kernel with the latest features, some of which I'll mention in a few minutes. One of those things this kernel has is brought support for 500 more devices or device classes, 150 to 200 of them are ACPI, USB or PCIe devices. So this kernel, as every new kernel, really made the hardware support better and make sure it's Linux and Fedora runs well on the latest hardware, especially I have quite new laptop. That's really important often to have latest Linux kernel because all the drivers are in there and these new drivers make those new laptops often run way better. What else is happening currently in the kernel? 4.9 made the system and the Linux kernel more secure. That's something that's trend recently releases that there are lots of things happening that lots of small improvements to make sure the system is more reliable and that attackers cannot get into your system so easily. There's really, really a lot happening there to make everything more secure. We get two details in that in a minute. So, current status 4.9 as I said was released in mid-December, that means we are now heading for 4.10. That's developed right now and actually likely to come out on February the 20th. Maybe one week less, maybe one week more. Remains to be seen, that often depends on if there are bugs and sometimes it depends on if Linux is traveling or things like that because every new version is released around about every 10 weeks. As I said, sometimes on nine, sometimes 11 and that's actually quite predictable. You can actually bet on it if you want. Sometimes you lose if Linux is on holiday for two weeks or something, then sometimes it might be 12 weeks or if there's a big bug somewhere in the kernel found, then it can take a little bit longer to get a new kernel release finished but normally it's really nine or 10 weeks most of the time. All those new versions, as I said, there are new drivers in it that makes the hardware support better. That means changes and those actually are quite a bunch of changes in those nine or 10 weeks that are 13,000 commits around about every new version from around about 1,500 developers and those add about 700,000 lines of code every new version. Also a bit gets obviously thrown out or moved around but in the end it means the kernel grows by nearly 300,000 lines of code every release and you can see it here, the kernel gets bigger and bigger that's from the Git area, two, six, 13 on the left. Back then we were about seven and a half million lines of code around about and now we are about getting to 22.5 million lines of code including documentation, comments and blank lines so you can really see the kernel gets bigger and bigger. Actually all those development is happening quite fast. Take for example the development between 4.8 and the first pre-release from 4.9 that happened, there were 13 days and there were a bit more than 15,000 changes with close to 700,000 insertion of new lines and 430,000 deletions. That means every 35 seconds there was one change. That's really quick, that's really happening quite a lot of things in the kernel to make sure everything works better and the kernel gets improved and a lot of people say hey that's crazy, how is that working and actually that's not a problem at all because those changes are prepared before a new release and then are simply smashed together. Obviously they are in the last minute sometimes things that need to get adjusted to each other but really the speed and all those growth is not a problem, nothing to worry about. In case you're interested in things like that every year or year and a half the Linux Foundation together with a few people releases a small report, the Linux kernel development, how fast is it going, who's doing it and things like that. They have many more details on things like that. If you want to know them, grab it, download, you have to reduce it for it but it's really insightful how kernel development works. Here for example is an analyst from this document that shows how many people are contributing to new kernel versions and how that changed over time. If you're interested in this, there's also LWNnet articles on every new kernel release which actually looks which people did changes and how many were there and actually there are also employer statistics in case anyone wonders how big or not big redhead is. Until a few years ago it used to be on the top in both columns by change number of changes. These days redhead slowly gets down. Here for example in the left column it's on the second place and on the right column it's at the fourth. It's not that redhead isn't doing so much anymore, it's more that other companies are doing more for example Samsung for embedded things or media and Intel to make sure their hardware works well. So that's how it comes that redhead got a little bit down. That was part one already. I need to drink often today, otherwise my voice might simply break and I can't say anything anymore. Next up, recent developments, part two. So as I said, Linux 4.9 is recent version. Three of the most important features of this version brought, XFS, reflink and deduplication, BPR improvements for tracing and bottleneck bandwidth and RTT. If you wonder what this is, I'm explaining those a bit more in detail. The XFS enhancements, the reflink support for example allows light ways copies using copy and write. That's for example if you copy a file within a file system, you simply say do it with CPU reflink and then a new metadata entry is generated but the payload from the files isn't actually duplicated and that makes it possible to copy really big files within seconds or within parts of a second. And if one of those files is changed, then thanks to copy and write, the other isn't changed, so there are really independent files from each other and that's for example can be of interest for to duplicate a VM because you can copy a VM image over only takes a second and start using it and you don't have to wait like 10 minutes or something like that to get the copy first. Deduplication is another feature that's allowed by this copy and writes support. It's like the copying, it's kind of reversed like the copying, you can scan your file system manually with a tool and check if there are some errors where the same data is stored and then the metadata can be adjusted to make sure that they both point to just one of those data blocks and the others gets deleted so you can save space like that. It's also interesting, especially for big setups, if you have lots of VMs with similar data, you can reduce your storage load and improve things because less data has to be cached. Downside of this, both these features are not yet usable. They need XFS Prox version that's still under development. Remains to be seen how long that takes until this is getting finished. And another detail around that, there are more XFS improvements to be planned. Here's actually a list like there's scrubbing support and sector data loss reporting and other things. And if some of you are interested in file system and look a little bit closer at this list, you'll see XFS is simply gaining a few features, but of S and ZFS are famous for. So for a long time looked like it, that but of S and ZFS are the features or especially but of S in the Linux space is something that will be used as next generation file system, but it looks like XFS might be changed and so far that it's really in a better position to compete with but of S. And maybe in the end it will be XFS that we're using as our next gen file system remains to be seen. These big changes actually mainly developed by Oracle developer, Red Hat developer there was also involved, but it's interesting that Oracle is driving mainly these XFS enhancements at the moment. I need to speed up a little bit. What else? I said something about BPF improvements for tracing. Tracing is like looking at the program or that's running or the kernel while the program is running and check what the kernel is doing to see where the performance gap is or where it would be important to optimize the program to speed things up. And what's now possible with the Berkeley package filter that's a BPF acronym I just used is time sampling and summarizing stack traces. That's actually a pretty complicated topic and I won't go into that too much into detail because otherwise we just need to focus on that. The thing is it makes tracing way easier because in the past you had to do the tracing, analyzing and then put it up to some output that's easily consumable by users and these days you can do it with Linux 4.9 and easier thanks to the new features with a way more simpler script and put it for example to a flame graph and a flame graph is then something like this where you see okay here this is how the program work for example and how long each function was used and that's for example then sometimes easier to see where the time went and actually as I said to optimize the program. In case you wonder yes that's finally Linux gets to a point where we have features like Dtrace that is something Solaris was famous for that makes analyzing performance optimization way more easier and in case you want to know more about this there is Brandon Gregg who writes really good blog articles and develops a set of tools to use these features in the recent kernels to do actually performance monitoring or tracing and there you get way more details and actually he gives talks as well so really if you are interested in this go to Google Dtrace and Google for Dtrace for Linux 2016 then you get to the blog post I just showed you and there's really some interesting insights how to do tracing these days and there are also great talks from Brandon on YouTube where he gives a great overview of how to actually do that. What else was in 4.9? There was a bottleneck bandwagon RTT that's actually a new TCP congressional control algorithm. The kernel already has I think 15 or 20 of those. So yes even one more but it works a bit differently like the other's congressional control in case you don't know what it is actually makes sure the bandwagon is used as good as possible to make sure your data is getting from the server to you as quickly as possible and to reduce congression where they are fighting I can I go to the wire or do you have to? As I said it works differently than most others it was developed by Google mainly. Two of the main features are it improves resilience against random loss if they are on the wire for some reason sometimes packages don't make it through then the speed will won't decrease that much and it avoids some problems that happen due to some bloated buffers that are oftenly common on the last mile like from your house to the next station where the internet gets together by your provider. It can make things really a lot better I guess we actually might use this in Android because it was developed by Google I guess they want to use it there but they haven't said anything. Remains to be seen if it gains traction and how much it will be used. What else? I can talk about 4.9 for hours. There were some for example some security improvements like virtually met kernel stacks as the second one here that makes sure that stack overflows in the kernel are detected and cannot not be used by attackers or the last two features here are something in that are really important for SE Linux and on using for containers because overlay FSS are actually used there quite a lot and the ACL support as a test control list for views is also something for Gluster and SEV because they use views to get access to it. You can use views to get access to those things you start on Gluster and SEV volumes and that makes sure only the right people get proper access there. If you are interested in more details you can read them here in the German version if you want to. I know some people that know my work actually run my German articles through Google Translate and they say it works quite well sometimes but if you want a straight English go to lwn.net and they have an area where they cover their features from 4.9. So that was 4.9, 4.10 is the next one as I said it's due to in three weeks. I also looked again for three important features. One is GPU passthrough and the other are storage related that's right back startling right back cash for rate five. I'll explain those more in detail now in GPU passthrough I guess most of you will know it's simply putting your GPU from the host to the VM or maybe even a container to actually run games if you're on a Windows VM that's running on Linux. That's actually quite hard to do until now but there are really some improvements to make things work better. And this GPU passthrough is done with two different techniques. That's also the first one is mediated device MNF and the other is Intel GBT and KVM GT. MNF is something like where your host kernel can grab parts of a hardware or complete PCI chip and put it securely to a VM. The important part is it can do that with parts of the chip for example with the GPU so your graphics core graphics processor in your device. There you take just for the Intel case just parts of the Intel GPU and put them through the VM to make sure the VM can't use this MNF to get control over the host. And to use MNF you need support for the driver and that's where KVM GT comes in that's actually support in the driver to hand parts of the integrated graphics from your inter processor to a VM that actually still doesn't work that well yet. Pretty rough and work in progress. There's a block entry from Gert Hoffmann that explains the current state. He actually showed a window yet where he got kernel output but it was a bit messy in some places so it will take a little while before you can start using it but maybe in the end it will be possible to run Windows games in a VM that's running on a Linux host because AMD and Nvidia plan something similar they plan to use this as well. So maybe for the gamers that want to use Windows it's you don't have to do a boot anymore you can maybe just open your Linux KVM VM and simply use your graphics card there. What else? Right back throttling that's a bit complicated topic the short version is make background right back less annoying and now you might ask what is background right back, what do I care? I guess a lot of you experience this you try to DD and ease the image to a slow USB key and for example in Fedora image to install Fedora and while this DD was running and transferring the image to the USB key your system became really really slow. That was because the Linux kernel had was writing this data out to the USB key with as you can say maybe with a higher priority and reads from the disk to for example the Firefox user there does when you use it were actually putting a hold and that's why your system suddenly felt so slow and that's something the kernel developers finally took a closer look at and hopefully fix this they actually try to fix this a few times already maybe they did this for real it's also important for your databases or something on your servers and because something like that obviously can lead to long latencies and it's what you don't want because your database doesn't reply to connections in time. So that's hopefully going to get better there. What else for the sys admins here maybe of interest might be the writeback cache for write rate five that's actually where you have a rate five array and put an additional disk to that rate five array duplicate SSD to improve the data until now that was actually this is called a lock device and support for this was added in 4.4 until now that was actually only used to make your system more secure to make sure all the data made it to disk even if the system crashes at some time that's avoided for example the right hole but now it's actually can be used as cache and that makes sure that more write cycle accumulated and then written in one go and that reduces the time to read, modify write cycles and in the end it means better performance for rate five and as I said you don't get it for free you need a caching device attached to it. What else for the 10 just like for nine brings a lot of features for example the Neville driver for NVIDIA cards open source driver got a little bit better for example it's supposed to get 4k displays running probably now there's turbo boost max 3.0 support to make sure your Intel CPU gets as quick as possible to the quickest frequency level and actually a new technique to talk to your CPU how it's using the caches the first and second level and third level caches actually that can be important in high level setups to make sure the performance is better but as I said that's pretty specific if you want to read more about it LWN has articles and I'm writing on it on my German article as well but I haven't written about that yet because 4.0, 4.10 is not out yet. Yeah, that was part two. I guess I need something for my throat, wait a moment. Some magic. So important changes last 12 to 18 months as I said earlier already self-protection kernel hardering to improve the security because kernel developers and outsiders notice more security bugs just happen and some analysts showed it takes often about five years until they are found so the kernel developers came to the conclusion they need to protect the kernel a bit better against common flaws. Truly, sorry. And that's why they are integrating these hardering techniques, security techniques just like cars are prepared for potential crash release days that's pretty normal and it wasn't like that in the 50s or 60s. This work is mainly driven by the kernel self-protection project that was actually founded like one and a half year ago I think and they improved and have merged really a big, big bunch of security and hardening techniques in the past year. Here's a list, I won't go into detail. As you can see, there are six or seven things and that was just what was in 4.8 to make the security better. So really that's happening quite a lot. There were similar new features in all recent kernels and the 4.10 as well and yeah, there's more to come. And if you're wondering, hey, is the security making my system slower and to be honest, yes, that sometimes can happen that the system gets a bit slower due to the security measurements but normally the kernel developers make sure the performance impact is not too big. It's a bit like with cars and those are, get a bit heavier due to protection techniques as well but we accept that today, that's pretty normal and because if there's a crash we, our lives are more important than a little bit speed or something on the road. If you want to get details about this, there are slides from the security summits, there's here for example on Keith Cooke's something that the state of the kernel self-protection project, a talk that was given last fall. If you want overview why this protection is needed and what kernel developers are doing, go and watch that video, it's like 45 minutes well spent. What else, the graphics drivers in the kernel improved quite a lot. Actually in case you don't know, the most important part of your graphics drivers stack in your Linux system actually is a kernel driver and the kernel driver is really important to get the best out of here, out of your system and the user land drivers that are working together with the kernel drivers also improved quite a lot. That's worth it's own talk. In case you wonder, you get only get a quick mention here now and as I said some of the things I mentioned are in the user land parts as well. And we have three major vendors for graphics processors on the desktop, that's for example Intel and the most important thing that's happening there right now is we finally got to open GL 4.5 support and measure 13.0 that was like three months ago. So most of the up to date games should simply work these days. And one more word on Intel graphics, they have a good reputation in Linux but sometimes they are not that good as their reputation Skylake supports. For example, the Core e6000 series as the support in the beginning wasn't that good but it works quite well most of the time. Where really a lot happened in the past two or three years is AMD Radeon drivers, the open source drivers improved really, really much in that timeframe. And you have to really say thanks AMD for that. Most things simply just work these days and it includes really acceleration, high DPI things and other things and the 3D performance is also quite good. It's not perfect but it actually got closer to AMD proprietary drivers and actually sometimes it's better. And Mesa 17.0 which is due to in the next few weeks will actually bring official open GL 4.5 support and that's important to get the latest games running. So it will make things a lot better for drivers. There for AMD the reputation for the drivers not that good, they are actually better but not everything is perfect. For example, the latest cards you can't do audio via DisplayPort or HDMI and things like that. There's, as I said, also a bit complicated topic and worth its own talk. Next up, Nvidia is the third major vendor. As you might know, the free and open source drivers are quite slow and lacking features but they are improved all the time as well and they are sometimes good enough these days for things as well. Actually, Nvidia since two years now participates a little in the development but it didn't make things much better. A big problem there is that 3D acceleration requires assigned firmware these days for the 900 series. It took more than a year for the 900 series to Nvidia to release this firmware. Support was merged in 4.6 and it's finally usable these days. For the latest series like 1070 and 1080 support was merged in 4.8 but Nvidia still didn't release the firmware. That's really annoying. Yeah. So, what else? ButtaFs. There were lots of fixes and few small improvements in the past 12, 18 months but no big changes recently. So as I said earlier already, ButtaFs was supposed to be the next generation file system for Linux which everybody would be using. That was actually how it was told or how it made the media when ButtaFs was introduced in 2008, 2009. And you might wonder is it finally stable? It's also a complicated question, not easy to answer in case you wonder it's a bit like, can I swim here? The answer depends on the local conditions and your swimming abilities. Yeah, I actually have three pictures.  But I mean, you can drown here.  And, but for comparison, that's a bit like X4s these days. It simply works. ButtaFs, I put this picture. I mean, it looks a little bit more dangerous but I go swim there. I'd be careful with the stones there but I guess you can swim there if you know what you're doing but you wouldn't do let your kids swim here without overseeing them. The problem with ButtaFs is there are sometimes areas where they're a bit more dangerous because some parts of ButtaFs are still working progress and unstable. And the most important thing is rate five and six apart which is included in ButtaFs directly. It's known to be unfinished and that's not the only feature which is unfinished. Luckily, we now have a table in the ButtaFs wiki that explains which features are considered stable and which are still unfinished and rate five and six is one of them. In the end, The message I want to give you is ButtaFs requires some time to learn due to things like that. And that's only worth it if you benefit from ButtaFs features. So if you're interested to look at it if there's something like the snapshot support like open Susie uses and relies on that's worth going for ButtaFs then do it and expect some time to learn and then it is worth the trouble but not simply use X4 or XFS if you want to. What else? The Raspberry Pi support got better. You can boot the recent kernels directly on the Raspid for example and there are actually graphics drivers for the Raspberry Pi now open source in the kernel and in Mesa and that makes it possible to run Fedora 25 simply on the Raspid now because you don't need anything that Fedora can't ship. So it's way important to make Fedora run way better on the Raspid. What else? There's a lot of other things I could talk about it. I'm running out of time because I thought I had till 20 and let's make five minutes for Q&A, yeah? Okay. Then that was part three. Then let's go to part four that's also a bit quicker that's looking ahead a bit what's coming might be coming in the next few months or what's happening in case you haven't heard about it not KDE bus. It was an IPC inter-process communication thing developed for the kernel. Actually it's the developers abandoned this and they actually started on something else. It's called bus one. Actually LWN that has an article about it and there was some discussions on the kernel summit and it's going forward and looking quite good but it's still working for progress and not yet submitted for official proper review on the mailing list. So it will take some time until it's merged in the kernel. And if you wonder what is different in bus one to KDE bus what's design is a bit more inspired by Android Binder and other IPC techniques and it's a bit more universal than KDE bus. It can be used to transport D bus messages but it can also be used for a whole lot of other things. What else, as a lot could be talked about what the kernel developers are also doing is kind of live patching improvements. You might have heard of it. You can now fix security problems in your kernel while it's running. It only works for 90% of the typical bugs right now. There's some really big changes were prepared and parts of them are already in the kernel to make it 95 or even a bit more percent of the fixes be able to fix them while the system is running. And these improvements are forthcoming but it also remains to be seen if they are getting merged next month or maybe in half a year. The kernel is also made secure for year 2038. Some people might know the year 2000 bug. Something similar will happen in the year 2038 for unit systems, only on 32 bit systems only. But the kernel developers make sure this is addressed and to change a few things because today's hardware like in your car there are ARM chips 32 bits that will be used in 2038 because some cars are used for 20 years or something. Support for new hard disk is made. Some kernel developers are looking at making the kernel a bit smaller to make it able to run better on small systems, really small embedded systems. And there are also some improvements to get more out of your CPUs like for example ARM cores that have eight socks that have eight cores for slower ones and for quicker ones that the kernel is better able to spread the load depending on your current condition to the slow or the quicker cores. But it's also a lot of changes and work and it's processing quite slowly. That was part four. Now we're getting to the meta view and look at the kernel development a little bit itself. In case you're compiling your own kernels and not rely on REL, Fedora or your distribution in general there's a new long-term kernel coming now every January that makes it more predictable. Long-term kernel means it's supported for two years, makes it more predictable for hardware renders or distributors to see when will there be a kernel that gets support for not only three months but support for two years or even more. The next one that kernel that gets long-term support is 4.9, which I mentioned earlier already. It was recently announced. What else? I mentioned security a few times already. As I said, there are two or three security issues every week in the kernel, so these days it's pretty much, you have to prepare for this, especially because every year there are really a few critical bugs in the kernel that you can use to take over your system so really be better prepared and don't say, hey, I don't need to update my kernels. That's not an important because sooner or later attackers will get you, maybe not on your desktop system but on your service, it's really important to make sure all the security bugs in the kernel gets fixed. Big distros know that and they take care of it. Some of the hardware vendors, especially in the embedded space, don't understand that that well and that's slowly becoming a real problem with the Internet of Things. There was this distributed denial of service attacks with video recorders or toys that were made together to a big botnet that really got to, was really annoying for some people that were attacked by this botnet and as I said, it's video recorders and some other IoT hardware. Hopefully that gets better. GPL enforcement, that's something the kernel developers talked about in the past half year, a little bit more. It was a long debate. Some kernel developers didn't like it that much. It was triggered by Christoph Helwig getting to court against VMware. Remains to be seen if what's happening there maybe is think it looks a little bit like things continue as they are. GPL is there and people honor it but I wouldn't expect a lot of things going to court. What else the kernel developers noticed that the stable and long-term kernels are not working as good as expected. Like there are sometimes too many regressions and the embedded developers or other companies don't use this kernel because they don't know about them and another example are Android phones running quite old kernels. This is a mess and it has been like that quite a while. There's no magic vent, no magic thing that can see things go away but the kernel developers are talking a bit more to the hardware guys to improve matters a little bit. What else testing and regression tracking is a problem as I said, I did some of that like compiling lists of bugs and things and I think that's important because bug reporting for the kernel is hard. You have to basically know where to go to because in bugzilla.kernel.org doesn't work well and on mailing lists there's sometimes not easy especially if you're not used to mailing lists and this is some, for example, an area where lots of room for improvement is there so if you always wanted to do something with the kernel or get involved a bit there is some area where you can get involved even if you're not a great programmer because there are simply people, there's simply help needed by people that know how to talk to others and help inexperienced users to get their bugs fixed. What else Linux competitors are emerging for IoT? There was Sapphire and Magenta that were a bit smaller than Linux. Maybe Linux is simply too heavy for IoT devices. Maybe the tinefication supports that I mentioned might make things better but maybe the hardware gets quicker so Linux is more suitable for IoT devices and there's always complaints in the media about issues with kernel developments like kernel developers getting too old or the tone is too unfriendly and things like that I'm looking at the kernel for 10 or 15 years now it's really complicated and complex topic and a lot of things are really not that bad as the media makes it sound and a lot of things are way better than five or 10 years ago but as always there are something that could be better so that was part five and I fear I'm getting thrown from stage in two or three minutes but we finally get to the end so one more details on any of this use the web there's really a lot of sources on any thing I mentioned you can find more things or maybe ask me three more things quickly as I said already testing is something I'm interested in and I want you to consider helping testing the kernel especially if you use not that widespread hardware or maybe quite old hardware or use your distribution in an unusual way because it's simply like that if you don't test it nobody might and the problems get only noticed when they are really, really old maybe when the change that introduced the buck was one or two years old already and then it's way harder to track them down and fix them so it's really if you're doing something unusual or have your exotic hardware it's in your interest to test and get involved with testing and to quickly say hey something broke between kernel 4.8 and 4.9 because if you're doing this a year later after the change nobody will be able to help you one more thing tell me what you think about this talk or my work in general has always something to improve or if it's really awful then you have to tell me otherwise I'm doing it again like this you don't have to tell me directly the organizers have a feedback system on the web page where you can simply give stars if you want to be kept up-to-date you can likely not that much of interest LWNS is a better source for you I guess it's English really good topics and if you want to follow me on Google+, there you can get a glimpse of what's happening in the Linux kernel as well because I'm posting there about it now and then that's it for the careers that was slide 256 and do we have time for one or two questions or only on the hallway? yeah? anyone? don't be... try it otherwise grab me on the hallway did I talk too much and nobody has questions or did you all sleep? if there really are no questions then thanks for listening enjoy the conference yeah


Global re-analyses allow us to reconstruct the past weather with a resolution of around 80 to 200 kilometres. This means that they cannot resolve small-scale weather variability or small-scale processes such as thunderstorms and convection. To address this challenge and reconstruct the weather on a local scale, so-called downscaling techniques are used. We differentiate between numerical and statistical downscaling. With numerical, often also called dynamical downscaling, a regional weather forecasting model is used for instance, capturing only the Atlantic European sector. At the model boundaries, the re-analysis is fed in, but internally this model considers high-resolution topography and land cover and hence their effects on precipitation patterns or wind flow. Into that reconstruction, another, more detailed forecasting model is embedded again. This is referred to as nesting. After repeating this step multiple times, the resolution is 2 to 3 kilometres and shows local weather. In a sense, numerical downscaling is like zooming in and creating the most reasonable weather according to the model and the inputted re-analysis data. In the dynamical downscaling approach, the local information is generated by the model, but we can also use local observations and generate the information statistically. One approach is the so-called analog method, which presumes that similar large-scale conditions lead to similar local weather. We need a sufficiently large pool of analogs that is a period with both local and large-scale information. For a weather reconstruction, we may simply search this pool for the large-scale conditions most similar to those that we are interested in. This day is called the best analog and the local information for that day serves as a reconstruction. These reconstructions can still be corrected and improved based on historical station measurements. Numerical and statistical downscaling produce very similar and most importantly plausible local weather of the past. Numerical downscaling has the advantage of providing us with a three-dimensional state of the atmosphere. It is, however, much more computationally intensive than the efficient analog method and it carries a model bias. From historical measurements, we have generated global and local weather information on different timescales. This information can tell us much about processes in the atmosphere. It is also increasingly used for model applications such as hydrological modelling, crop modelling or others. Let us return to the 1868 case. To understand a flood event like 1868, not only the weather but also its effects on the surface are important. In a first step, we can use the downscaled weather data in a hydrological model to reconstruct river runoff or lake levels at one place over time. But whether a large runoff actually leads to flooding and which areas would be affected also depends on further factors such as flow characteristics and the surrounding terrain. Therefore, our next step is to feed the results of hydrological modelling into hydraulic models where past terrain and buildings are included. We can see how the Ticino River reacted during the 1868 flood. By modifying parameters in the model, we can experiment with many what-if scenarios. For example, if the 1868 event happened today, this allows us to study the effect of a changing landscape and assess the effectiveness of measures such as river corrections. For 1868, we find that the flood eroded much of the Ticino Riverbed and the now increased runoff makes a repeated flooding of that size impossible. These results now finally allow for a detailed risk assessment. We can generate hazard maps by grouping areas by their risk of flood and visualise floods in three dimensions. Furthermore, we can study how climatic changes affect extreme precipitation and flood risk. Information like this is very useful to policy and decision makers in infrastructure projects and a wide array of other areas. As we have seen, historical climate data has great value in reconstructing the past weather. In combination with models, we can create global re-analyses which can then be downscaled to a regional level. This can reveal much about atmospheric mechanisms and provides us with the necessary information for a wide range of applications.


The police command in Serkutu state has said that it has arrested two students of the Shio Shagari College of Education, Serkutu. In connection with the killing of their female colleague, who was accused of making a social media post that blasphemed the holy prophet Muhammad. The command in the statement issued by its spokesperson, ASP Sanresi Abubaka, said a distressed call on the incident was received by the police that students were rioting over one female student named Debra Samuel. A level two student was forcefully removed from the security room where she was hidden by the school authorities and killed. The Serkutu state government confirmed the death and ordered an indefinite closure of the institution.