Welcome artistic friends to Monet Cafe. Your happy place to learn art from the convenience of your own home. Join me today for a fun new pastel technique where I'll be using acrylics and soft pastels. I created these two paintings that I'll be sharing a tutorial on what to do and what not to do using this technique. It definitely was a lot of fun so let's get started. Hello and welcome friends in Monet Cafe. Join me today for more experimenting and this is good for artists of any level. You know if you've been on my channel long I love experimenting and finding new ways to do things, often new ways to economically do things. Not always but it's always good to save money. And so today I have in this experiment some successes and some I wouldn't call them failures but just some ways that I've learned I will do it differently the next time. And I'm going to be using a product. This company, Bless Their Hearts, Arteza keeps sending me products of theirs kind of to experiment with and make a video so I'm like okay why not? But anyway this is an acrylic pad. It's for well acrylic or oil painting and it's this nice thick paper that's got a little texture to it and I thought hmm my pastel brain started thinking could we make this maybe a pastel surface by doing an acrylic painting and applying clear gesso over it and indeed we can. So join me how I show how to do it and how not to do it. All right let's get started. All right so what we will be using for the acrylic portion of the painting is the Arteza artist paint set of 60 colors. That's a lot of colors. As always I like their presentation. This box is really nice along with their their other watercolors and gouache sets they've sent but this is considered the premium quality. It is acid free and archival. It's of good quality. I love the little colors they have on the top there. It makes it convenient. Now I do like these are these tubes by the way are a little bit bigger than the watercolor or the gouache. Nice ample supply. I like how they have them divided by color families and I also like that particular one right there. It's kind of some neutral some different varying values of grays if you just wanted to do a value study. Now this is the acrylic pad. I guess I should say acrylic or oil or pastel now that I've used it for that but it's a great quality paper. Again it's the premium set 16 come in each pad and it has a little texture to it and there's a nice thickness to the paper as well and I really did like this product. I'll definitely use it again. I'll probably experiment more with different ways to use it but it ended up with a really nice kind of sturdy surface to put your artwork on. Here's another product that I wanted to share. It's a product I've used with acrylic painting in the past that I really like. It's called the Gray Matters paper palette. It's a palette actually on paper for you to actually put your paints on and it's disposable so you can just throw it away when you're done and the gray is a nice neutral color for you to put your paints on rather than putting it on white and again this is made by Jack Richardson. I love their pastels but it basically like it says here color mixing guide and I'm going to open it up here so you can see it. So it's basically just these slick pieces of paper. I can't remember how many is in a pad that you can just use as a palette.  Very very convenient if you don't want to have to pull out a palette all the time. It also has on the inside of the front cover this very handy guide to color. If you're not familiar with acrylic or oil painting and color mixing I happen to love color mixing although we don't get to do a lot of it with pastel painting but this is a really neat guide that you might find handy and I'm going to show you a little more about that in a minute. Here are the colors that I've chosen and while it may look like a lot because Arteza was nice enough to send me this large set I thought it would be nice to use an overabundance of color with acrylics a little bit more than I would typically use. Now that's different from pastel painting in that with the pastel medium you do need a lot more of your color choices and value choices because they don't mix the same. With acrylic or oil painting and watercolor painting and gouache painting you have the ability to mix colors so often that's one advantage about those mediums is that you can actually have fewer choices to mix different colors. I'm going to show you in the actually on the page of the gray matter paper palette how it has the nice this is by Jack Richardson by the way who makes some beautiful pastels it has on the inside page this wonderful color chart here that if you need a little lesson in color theory or the color wheel this is done nicely it's showing using either colors from acrylic or oil painting the primary colors are the ones with the P on it so you've got a nice just kind of a common yellow a nice ultra well where's the blue primary is the phthalo blue phthalo blue or Prussian blue sometimes I'll use ultramarine as a primary and alizarin crimson okay notice how that makes a triangle so these are your primary colors and the reason their primary is you can't use anything to mix to get a red or the primary blue or the primary yellow you can mix some colors together to get the secondary colors which is what's so neat in between this triangle if you go on the insides you see the mixtures in varying degrees for the secondary colors this would be the exact equal amounts of the yellow and the red would be this secondary orange red orange and vice or same with all the sections of the primary colors you've got the yellow and the blue of course we know is going to make the green with different degrees depending on the ratios same here we know that red and blue make purple so that's kind of a neat way that you can if you're experimenting with mediums such as acrylic or oil or the others that I mentioned how you can have fewer colors to make a lot of colors but again I thought when I love this magenta color I thought it would be nice for me to go ahead since I have these all at my disposal now to go ahead and use a lot of them now here's a little reference photo that I'm using it's a scene that I have painted before and I like it it's from my cousin mark who took a beautiful picture where he lives in Virginia and sometimes doing something that's familiar to you if you like the scene it's good to do it over and over again now I just did little samples of this as I was checking the colors I don't have this arranged so nicely as the color wheel but I do have these in order I've got a violet I was like a nice purple even though I could get a purple from mixing my primaries of red and blue now I did put a P here as to what my primaries are again no rhyme or reason it's just where they fell when I pulled them out of the box but I've got my primary of like an ultramarine blue a primary of a crimson red crimson red usually a pretty good standard red and I can't remember this is just called a mid-yellow one thing I did notice about Arteza is they don't name their colors kind of like some of the standard colors some of them they did like the ultramarine blue and the crimson red but this just called a mid-yellow instead of like a cad yellow or what you might be familiar with but anyway if you've got a good eye for color you can see them and not have to know what the name is so anyway so I've got a varying degrees I've got that this yellow would be a cooler yellow as compared to this one this would be a warmer yellow then I've got a deep green this is kind of a darker blue green then I've got a light sap green I've got a yellow green I've got these out of order a little bit I've got a orange red and then I've got a Ross there's the orange red then I've got a raw Sienna olive green again another green out of order then I've got the crimson red here ultramarine blue cerulean blue sky blue violet and this was a phthalo blue down here all right so with that again I've got a whole lot to work with just to do this experiment but what I'm going to do first this was just to sample I'm going to go ahead and put them on my little gray matters paper palette that's great because you can just tear these off and throw them away and it's a really nice neutral surface to apply your colors to oh and I failed to mention I have me some of values that are dark to light to sometimes I want to decrease the intensity of a color you can either give it a tint or a shade this is the darkest that I have it's a van dyke brown this is a gray this is this gray here this is the van dyke brown and you can't see the titanium white because it's on a piece of white watercolor paper okay so these will be used to either darken or lighten some of the colors that I'm working with now I thought I would go ahead and show you how I actually applied these acrylics to the gray matters paper I go ahead for the purposes of this video and arrange them more like the color wheel I have my three primaries and a triangle and I always think of when you add your secondaries you're just doing the triangle in the spaces it's almost like a like a Jewish star I think of it so now I'm just adding the different colors that would fall between those primaries if you see me pointing putting some on the outside it's either because I ran out of room or I'm adding them out there for a different reason some of my darkest darks I'm putting on the outer edge and some of my kind of a more neutral color so that's basically those are my grays where I'm gonna lighten or darken a color there and here are some of the basic tools I'm using some brushes I've already adhered the acrylic pad the paper to the surface water and a pencil for sketching I've sped up the sketch here just you know because it's not that interesting but as any other art or instruction I give you want to work big shapes to small shapes you don't want to start with little detail you want everything to be very basic and large so that's all I'm doing is just getting in I like I think of it as a foundation to a house or just the good bones okay so you don't need to get too fussy or too detailed with anything at this stage and now I'm gonna begin applying the acrylics I'm holding the palette up a little bit at the beginning so you kind of see how I operate I usually mix my colors in like towards the center of the circle so I have varying degrees of values as I add white or black to it the trick about acrylic and I've had to reacquaint myself while I was painting this is to get a good habit of knowing how much water to add sometimes it's like you can add too much or too little too much and it's just watery and runs all over the place too little it's too thick for it to move anywhere on the palette but this is serving as an underpainting so basically this is just gonna be big shapes and colors that serves as the kind of like the guide or the roadmap to the pastels that I will be applying later now I'm working with some cooler cooler greens there now there's a warmer one value and color if you've watched my videos you know I say this over and over again but it's so important important value decreases in the background you're gonna get lighter colors in the background and you're gonna get less color they're gonna get duller so your greens typically they blue out they get more blue they get cooler that's the other thing okay they get lighter in value duller and they get cooler so that's why that first group of trees I put down there in the back was a little bit of a teal color that's a better color to use for background trees than a bright green things you just don't see bright greens in the very far distance now again I'm just gonna continue to work on this notice I'm using kind of a bigger brush bigger brushes are always better to use when you're first getting started I actually could have used a brush even bigger than that but I'm just again I'm an examining my reference photo I'm paying attention to distance in the photo I'm also paying attention to where the sun is shining that portion I'm doing right there are some trees that are a little bit more in the shadows so you notice the darks down kind of towards the base or the roots so I'm just gonna work a little bit more here again I'm trying to hold it up so you can see me mixing colors and hopefully you get an idea of how to do basically just an acrylic underpainting much it for the underpainting and by the way that unfinished part at the bottom I just didn't bother cutting my paper off I wanted it to fit the dimensions of my reference photo now there's the palette after I finished using it and I could keep using this again I I like it in the color wheel fashion now what I'm doing here is applying clear liquid gesso now here's a product I'm adding to the clear liquid gesso it's by Matisse it's called dry pumice it's basically like sand you just add it to whatever liquid medium and it's gonna give you more grit more of a gritty surface now I'm gonna give you a ahead of time I'm not gonna make you wait till the end to tell you what I did and did not like I thought this acrylic pad would need more grit than typically a piece of watercolor paper but it did not so in the future I will not add the dry pumice you're gonna see me mix it up here together I use basically about a quarter of a cup of clear gesso to about a teaspoon of the pumice what ended up resulting I'll speed this up to get to the final phase but it what ended up resulting was of course believe it or not I mean a surface believe it or not that was too gritty and so what happened was is my pastels were basically getting eaten up too quickly by the coarse grit so you'll see after this painting I'm gonna speed this one up I'm gonna do another painting where I just use the clear liquid gesso which worked much better okay that's it for the gesso and pumice now a quick little blow dry here are my pastel selections by the way I'm using what's considered local color for this painting even for the under painting I did which means it's just the color that's kind of natural to the scene I'm not doing a complimentary under painting or anything like that so now you're about to see what I was describing at this point when I was doing this video I had no idea how much it was going to eat up the pastels right there I'm like oh man this is really coarse I'm rubbing it and so I basically knew right away that I was gonna just not do a totally completed painting it was gonna be very loose if anything's a positive about this it definitely helps keep you loose and painterly because your strokes just come out very coarse and I I kind of did like the resulting painting but I didn't like the fact that you lose so much of your pastel I mean we love our pastels we don't want them to get eaten up so quickly like that so anyway I'm gonna speed this up and you'll see the resulting painting when it's done so I'm finishing this painting up at this point getting close anyway I apologize it's a little more fast motion than I normally do but it's because I'm gonna show you another painting where I don't add the pumice and I'll do it a little bit slower so all in all I love the loose effect of this there was some things I really liked but I definitely would not use the pumice again it was a little bit too coarse and too gritty and wasted up our beautiful pastels so take two here we go with the second painting which if you watch the beginning of this video it's that little wild flower painting and I'm actually using the same palette of acrylics that you saw me using with the previous painting and just as a note if you haven't used acrylics very much there's some wonderful advantages about acrylics but one disadvantage is a disadvantage is that they do dry rather quickly so if you keep a little spritzer of water near you you can actually just spritz a little water on top of your little dollops of acrylics and it helps keep them moist so that you can continue to use them there's all also other kinds of little tricks you can do but I'm basically just getting in values right here I know that the foreground is going to be darker in value the shapes are going to be bigger I know that the depths and the roots of those flowers are cooler I did like in that particular little reference photo there was a coolness to the grass and I kind of wanted to keep that I do add some warmer greens but again just trying to get in big shapes here and keep it very simple I was working quickly even though I wouldn't work in this quickly you're seeing me have sped this up but I was working quickly because I had already done the one painting and I really was anxious to see if just the clear gesso was going to be enough grit for this acrylic pad surface that I'm using and indeed it was and I think it might be the actual texture of the acrylic pad that has enough texture in itself so that it was still eating up some of my pastels even with just the clear gesso not nearly as bad as with the pumice added and one thing I did like about it is I have a tendency to be a little heavy handed with my pastel application and this was helping forcing me to keep a lighter touch which actually is something I need to focus on and I liked how it made me do that here okay now you can see how I'm applying just the clear liquid gesso here with no additional pumice added this is a technique I do a lot in my videos as you probably know if you've watched the channel long in an attempt to help you guys save some money and myself as well pastel papers can get expensive you know pastels need the little bit of grit to hold the pastels so this is a neat little way to add grit to your surface with the clear gesso now here are my pastel selections again and as I said before I focus more on the cooler greens for the grasses rather than the warmer ones now here I'm about to start adding the pastel and yes indeed it definitely went on better it was not eating up the pastels quite as much and that little tool there you guys ask me all the time what that is that's a piece of pipe foam insulation you can buy at any hardware store it's an excellent blending tool I don't always blend but sometimes a sky or some mountains and things in the distance the texturalness of this was causing it to come forward in the painting and I want it to recede and go back so that's why the blending and I don't like to blend a lot but that's what the blending in this particular case push those mountains back you can already see they look more like they're in the distance now because of just blending and add a little bit but don't get carried away with the blending you're gonna when you do that you take away from the freshness of your color and the more you blend and the more colors you add the more muddy your colors get you don't want a muddy and even though colors in the background you want them duller duller or less chromatic in color you still don't want a muddy okay they can be a lighter value and a not as intense in color without making them all muddy looking if you've ever overblended you know exactly what I'm talking about and most of us do get started alright so I basically just added in some of the layers of the colors underneath and I'm getting the flowers down now I love how Karen Margolis teaches how we don't want flowers floating on the top of a painting almost like they're pasted on like you cut them all out just pasted them on the top so this is a technique to where when you put some of your flowers in before you add all your your grassy textural grasses you're gonna layer some of those grasses on top of some of those flowers that way they look like they're buried underneath the grasses rather than floating on the top of the grasses so you can go back and reestablish your flowers after the fact if you've covered up too many you know whatever but it is a good technique to be able to make a more realistic result in your final painting okay at this point relax and enjoy I'm gonna play the music and I've got a big thunderstorm coming right now where I live in my home studio so I'm just going to get away from my computer for a minute and hopefully the power won't shut off while you guys enjoy the rest of this painting I'll I will pop back in and add some more commentary as long as I still have power and I'm not afraid all right at this point I'm wrapping it up and I have to apologize I did not realize I had a setting on my camera while filming that made everything look lighter so I'm about to share more of what the actual painting looked like I put it back on the correct setting for color so this is more accurate this is what it looks like right now so anyway this was a wonderful experiment I hope you guys learned a lot I learned a lot I always I'm learning along with you guys so this was a lot of fun please try it if you have any questions please comment I love your questions also please subscribe if you haven't subscribed to the channel and join our Monet cafe art group on Facebook that you're welcome no matter what level you are everyone is welcome in our group and we have lots of fun all right guys happy painting and I can't wait to bring you another lesson


What is up everybody? Jason here from jaskiescasebreaks.com. It is a new release day. Happy new release day 2020 Bowman Chrome Hobby 12 box case for your picker team number one is already sold out and we're breaking it live early say around eight o'clock Pacific So again always a fan favorite. We have a ton of these picker teams on our website as you can see So check it out. We have about eight picker teams of hobby. We have about Eight picker teams of choice. So check it out guys We should be breaking a lot of this early today and again I'll be live here from eight to one Joe comes on from one to nine Sean comes on from one until who knows till till four or five in the morning So we're gonna be live here for almost more than 20 hours So let's get some breaks in guys and again picker team number one sold out And you have a chance to win $250 $250 Plus box giveaway So the way this works guys is how to beat entered you had to just buy two or more teams You buy two teams in this break you get one entry you buy four teams you get two entries you buy six teams you get three entries and We'll get those customer names put them in a dice roller animizer and customer name a number one will win a box It looks like a Bowman hobby so there you go, so we'll do that at the end remember all cards ship and Here the customer names will put them in alphabetize Alphabetize them alphabetize. I'm sorry, and then we'll see who gets entries into that little box giveaway at the end of the break So this is a picker team. No need to randomize customer names or teams. You guys already purchased them and here you go boom Mary Lou got last Bob Mojo got the Pirates There you go All right guys, so it looks like Luis Robert on the box and your dawn And you get one autograph in each mini box So to per box And of course all the potential color and base cards in every box And then of course the HGA choice, which is basically jumbo but choice edition kind of like in Kind of like in basketball and football where they make choice boxes Where no base cards, you're just straight up hits where HGA choice has just three autographs and nothing else so With Bowman Chrome, that's also a fan favorite because not that people don't love the base But I know some people legit just want to see what the autographs are So if you want to see some of that and buy into that HGA choice is on the website. I think we're at 10 left on that Like I said, it's just straight up three autos no base cards. No nothing just three autographs per box So you get about 36 autos in a whole case And then here of course you get two hours per box So it's about 24 so an extra 10 autographs over there, but a little more price to your per box We actually have these available as personal's Teddy would be live today Probably around one or two o'clock specific and I'm sure he's gonna fly through a lot of this stuff I believe on Jaspis.com. We have a really really good price. That's like honestly like a super good price. I believe we have hobby at 220 a box and then we have HTA choice at 280 a box Which I've seen HTA choice boxes go for like about 320 a box So about $40 cheaper guys So you guys can order personal's pick them up if your local curbside You can ship it to you sealed or Teddy can break them for you live on Instagram and do personal's with you guys later today So like I said bowman's chrome is a pretty big release in the hobby and Your dog will have his his bowman chrome autographs in here is rookie autographs. So I know people will be chasing that him impersonal and There should be also some bowman first prospects in here as well Correctly, they do also have More rookie heavy on this Chrome side usually bowman baseball has more prospects. I Believe Jason Dominguez has some chrome color in here So can't get any autographs with him, but you could get chrome color and that should be a prospect Not sure if it's gonna have a first on it. I'm pretty sure it's just gonna be a prospect card But you can also chase his color in this So I'm just gonna open up the first six boxes and we'll go through them and then we'll Continue on I said, I know it's early not many people watching right now, but you're watching the replay on YouTube I'm sure it feels like you are watching life at the end of the day I Just come on see this Little pass us this or not. That is a good question, John C I am not familiar with all teams and what players represent their organization, especially prospects I'm assuming for five forty nine. That's a that's a big price They must have someone huge in there. Maybe as a prospect I don't know. Let's take a look unless that's like a typo Maybe that's why no one's taking them Sometimes that could be the case too, but I don't think so. It's rare Is it Josh? Well, I mean, I don't know Josh jumps worth five something. I mean his first was like I don't think it was like this past year Solaak is a rookie. I don't think he's worth that much Bayron Laura, maybe he's a prospect You have steel Walker leotie Tavares Sam Huff Alex Spice Louis Angel Acuna Randy Florentino Ricky Vensaco Curtis Terry prospects. I Think it's that bear Bjorn Loreau, I think he was a big one You have Nick Solaak Bowman Chrome rookie autos. You have Sheraton Apostle Dawn of Glory autograph Sam Huff Yvonne Rodriguez is an autograph in this. That's a good question Let's see. I guess I'll find out right now someone's took in the rangers and other ones Yeah, I that okay. That's that's the Laura, right? I think I think that's why they're expensive that makes sense but Five hundred dollars worth. I haven't seen anybody actually take the rangers. Oh wait, hold on The range Yeah, I mean people have been buying the Rangers so I mean, I guess I guess it is a legit price I honestly I honestly not too familiar with all the baseball prospects, but Yeah, that makes sense probably So, you know what? If I remember correctly Laura only had base Prospect rookies, right? In Bowman baseball, so he is the one that actually probably has autographs on this side So that makes sense usually guys. I mean tops plans it out very perfectly They'll have one big rookie or one big like huge Prospect Chase a couple of them in in Bowman baseball, which of course was like Dominguez possum Bobby Whit But then they'll also save some prospects to have their first cards in Bowman Chrome So I don't I don't know. I guess it doesn't shock me, right and then Like Luis Robert didn't have any autographs He didn't have any autographs in Bowman baseball. Well now he's here in Bowman Chrome. So yeah, yeah He was a tease. So yeah, that makes sense I mean guys the crazy thing is that we may not know these players at least At least I don't I don't really look into them But the people that do look at them as prospects and they have the potential to be superstars in the MLB People will pay some good money because at the end of the day guys This is one of the best investments you can get. It's also one of the most risky investments, you know For how good and Jason Dominguez looks in his videos batting. He looks like the Hulk You know look at his tape that you have on him at the end of the day He's still only like 17 18 years old right still super young hasn't played in the MLB not once yet But people think you know, obviously he has the potential to be a superstar and Yeah, and it's just like You're investing a good amount of money now for him to hopefully turn out to be a trout And that's true. My ton has actually I remember that Kevin my tiny was so talked about for like the last four or five years And I was actually asking somebody the day. I was like, where is this Kevin my time? I feel like he's been bouncing around and Yeah, for every trout, there's a might there's a hundred my ton. So you're hoping that of course that Jason Dominguez turns into like a type of trout. So it's like something to think about So this is why people love this stuff Uh Paki For the Reds first. Yeah, no problem. Derek. I mean, it's all good man. Look. Yeah, Teddy will pull you the fire and he'll take care of you for sure I have no doubt about that toglia Purple but yeah, I mean, I think we have like At least initially we have about like 60 boxes of each whether it's HTA or hobby. So I'm sure there'll still be some leftover. Hopefully But like I said, um, no worries man. Hey, we all pull fire for everybody At the end of the day and it's also sometimes I always tell people it's actually kind of cool to rotate a little bit because sometimes I'll be on a on a cold streak for you guys and Joe or Sean might pick up the slack and you know, obviously sometimes we're good lucky transfer for certain people all the time Austin Shenton There you go. Well, wow. I already hit a Dominguez color. That's crazy That is 110 out of 150. Remember he has prospects in here. Not his first, but he has color only Jason Dominguez, which is going to Matthew Gomes out of 150 Time guys, this guy just looks like the Hulk and then you got here Shenton for the Seattle Mariners with a mark So the noose There's that Bayron LaRocque, I know That dude does not look like he's like 17 years old. I remember those like a little controversy with like with like Kaufman for the Rockies. I remember there was a little controversy with like Puyg They said he was like 20 years old. They ended up being like 23 or something. If I remember correctly little atomic Isaac part of that Yeah, well, I think yeah I think the other ones are just usually so Bowman Chrome will have a lot of other prospects that won't be their first because They may have already had a first autograph in a separate set So like Jason Dominguez is a perfect example. Like he came out in Bowman Baseball, so His first was in that product. So he's just a prospect in this and Other people that have autographs. I guess that is their first official Bowman's first auto Kevin Smith Which is kind of funny because I remember in Bowman Baseball, you also found out of 25 orange healer Ramos You also found like Louise Robert Prospect base cards and then rookie paper Manny Machado All right, next box. You got Devon Mann. That's for the Dodgers We have Alejandro Kirk for the Toronto Blue Jays refracted at 499 I mean, honestly, John C. I wouldn't be surprised if we do all this today You know, obviously, I'm sure Nick at some point if some of these teams are stalled in some breaks He's gonna put them in little fillers or team random. So I mean You know when it's only a couple teams, even if they're priced pretty high At like a couple hundred bucks a team like they're pretty quick to sell. You know what I mean? I've been Herrera first for the singles Cardinals of 250 So I expect us to go through a ton of this Bowman today HGA choice and hobby edition Gavin Lux. What's that rich? How's it going man? So yeah, it's still well, it's about to be noon in the East Coast But I guess we could still say good morning, right? Well, you guys would say good morning to me But I'd have to say almost good afternoon to you guys in the East Coast at some point So in hobby edition, there's one per mini box two and a whole master So this would be considered a master box and there's too many boxes in there So two autos per box basically and an HTA choice Luis Robert rookies You have three autographs, but that's it. No base cards. No numbered cards to straight up autos That's all you get Stinson you got Zach Gallin So this hobby will have 24 autos the HDA choice Will have 36 autos Sam Huff for the Texas Rangers purple shimmer. I think these are the one per box I guess that are not numbered Jordan rookie Eric Miller for the Phillies How loose rookie and a green Robert Parson very nice up so off-center, but That green with that Oakland A's colors pops really nice Oakland A's going to Joshua Lucas Not two more boxes guys and then we'll Continue on with the next six and we got Bowman Chrome prospects autograph of Isaac Pardes part of this One of the Detroit Tigers. That's a redemption there. So Detroit Tigers is going to Matthew Gomes You got Jackson Rutledge For the Giants a little purple shimmer one per box And we got Michael Harris first for the Atlanta Braves That's a refractor Brenna McKay And it's a gold Casey Meyes 39 out of 50 We got Stinson the 250 for the rays Tanner Hoke Jeter Downs Ethan Lodau You got Cabrera Shiver Kyle is bill. I'll be quickly top of all these autos and then we'll continue on All right next six boxes guys So I got about five orders to go through that's good continuing get those orders in guys. I know it's early You know, I want to be able to able to break for you guys as much as possible early on Um Looks like HTA choice now picker team number one's down to six. So that's good. We're getting close there Picker team number two of hobby is still at 10. So What are people buying into is it a non-new release? Is it opulence? Maybe just picking up some more random teams or or some spots in picker team number seven You got the Arizona Folly's Relic Oh Packs are Really smooth to rip great packs to rip just the sound of Ribbon packs man. It's just so sweet. Oh, is that an orange or red? Like an orange honestly man, I can't I wouldn't be knowing what to say. I'd say couple hundred Easily, I mean Think these give you like when I do like over a hundred and like 40 Here 44 to be exact I believe So actually I honestly I probably do like a thousand Thinking about it. I mean It's on personals. I mean, we're just ribbon packs and boxes all day Our trash cans for sure. It's always full at the end of the night But the good thing is that our main dumpster trash can gets picked up twice a week Mondays and Thursdays. So at the end of both those days, it's always pretty cool All right, you guys good luck six boxes. You got a redemption. We'll do that at the end of the box Our cities Aquino to 499 refractor chrome and the Arizona Folly grow like CJ Chatham Boom and with that little code right there You can see what game He used this in and see you had a good game 730705 and That'll go to the Boston Red Sox and we got Michael Bush orange shimmer very nice Dodger is going to George Austin Hansen For the Houston Astros Francisco Lindor to 250 overshot All right, we got dawn of glory autograph of Jordan Balazzo bitch Minnesota twins going to Mary Lou Michael Massey Tyler Stevenson We got Jordan Brewer to 25 orange first For the Houston Astros going to EA Luis Patino to 250 Gavin Lux and Robert are always kind of together. I'm noticed. I'm almost done with this and I'll go there Jackson Rutledge Awesome, and then Mariusio Dubon to 99 green Look at that farm to fame Barry Larkin to 25. That's pretty cool Cincinnati Reds It's going to Matthew Gomes and Justin Dunn refracted a 499 auto for the Mariners we got for the Colorado Rockies Ryan Tasley, I mean Julio Rodriguez Call Lewis Bobby with junior possum All right, three boxes guys So yeah, I think she'd take me about 30 35 minutes of case for hobby I'll stop for like a little bit to look for some checklist so Oswald Parazza first signed it in like a freaking Sharpie pen or something To 499 for the Yankees We have woods Charleston or Richardson. Sorry Overshad Yeah, I know honestly you want to get a shoe Randy Florentino for the Texas Rangers going to mark The Francisco Alvarez green for the Mets Jason Dominguez Dude looks like a hole man It was crazy. I had two more boxes guys. Yeah, Colin barber first purple for the Houston Astros E a Red Tony Gonsolin refractor Brett baddie You got a Zach Watson first for the Orioles. That's going to Matthew Gomes We got Eddie Rosario blue Possum Call Lewis All right, last box guys we got all richly with our winners all rich Strasburg refractor we got costliani green shimmer to 99 and Pedro pages Keegan a akim All right, you guys so there you go, let me quickly top of the autographs and I'll do a little hit recap And then we'll see who's gonna win that box Yeah All right guys, so again here's like the top Brigitte's Some color we got Rosario Gonsolin refractor Diaz Dominguez base Alvarez green Woods Richardson refractor costliani farm to fame Barry Larkin orange Dubon green Patino purple refractor Stevenson Michael Bush orange shimmer a Queen O rookie to 499 Miguel indoor purple purple Akim blue costliani shimmer green Strasburg refractor Cabrero to 150 blue Jeter Downs refractor how again to 250 purple got a gold Casey Mice McKay purple Ruth lids to 499 refractor and those purple shimmers are like one per box Dravada refractor a little atomic to 150 Canon Smith Kirk refractor Ramos is on the fall week to 25 orange Tim Kate green shimmer another crack dies or not crack this Atomic Galleon Machado refractor news refractor and Toglio purple Lot of color in here, of course, that's the added bonus of course of hobby edition and Then here are the autographs that we got Hanson you got a redemption of Blasovitch Massey Brewer orange to 25 Robert base File auto Justin Dunn refractor rookie Parazza first refractor Florentino Barber purple Watson Biljarski pages CJ Chatham little Arizona folly garlic for the Red Sox Lindow Robert base Stinson purple Harris refractor a Pardes For the Tigers redemption Kaufman man Herrera purple Robert base Stinson Miller Possing green which is a nice prospect right there Kevin Smith Shenton a Dominguez blue to 150 and Notting so there you go guys that was the hits there now. Let's give away that box remember you buy two or more teams You have a chance to win So let's copy and paste so EA has one two three four so you get two entries EA John McCall has two so you get one entry George with one Josh Hall you have two so you get one entry Lucas would just one mark with one two three four five six seven eight So you get four entries Marilu with one two three four So you get two entries Matthew gonder one two three four you get two entries Nicola with two and Richard Zimmerman with two so you guys get both an entry each So there you go from EA down to Richard With two or more teams Let's roll the dice now, and we got a five out of five ten times number one gets a box one two three four five six seven eight nine and ten And there you go Mark congratulations. You're gonna get a box ship seal to you pretty sure guys is chrome hobby number one again HTA Choice number one is down to five left and hobby number two at ten So let's continue to break guys. Appreciate it. Jasper's case breaks calm You


And now I'm going to pass over to Pablo. Pablo, you probably know, he's one of the core developers. He's the release manager for Python 3.10. And he's also a member of the steering council that basically decides where Python is going in the next, well, steering council is voted for every year, but it's basically decided where Python's development is heading. So I want to... Hi, Pablo. Hi. Hi. You're here. Welcome to Europe, Python. Thanks for having me. Yes. Very nice of you to come and then give your talk. So I don't want to take more of your time, so I would suggest that you start the screen share. All the technicians put it up. Let's see. There you go. And I will stay around, but I will now leave the stage to you. Thank you, Pablo. Okay. Thank you. Thank you very much. Well, okay. So thank you, everyone, for coming. I would like also to take the opportunity to thank the organizers. Like, organizing a conference this big is a lot of work. I have organized smaller conferences, and I have ended exhausted, so good news to all the organizers. And, you know, like, make sure to say thank you to them if you have the opportunity. So thank you for coming to this keynote. It's a bit early in the morning, but let's see if we can get something interesting in these four to five minutes. So this keynote is going to be a bit special. It's going to be a bit of a journey over, like, you know, several aspects of how CPython is developed and, like, how things work in core development. But ideally, I would like also the keynote to be around an interesting idea that I had recently. And I see this idea popping up everywhere. So I would like to share it with you, and hopefully at the end of the talk, so you are a bit convinced of what I want to see. Okay, so just a few comments over, like, who I am, because, you know, I'm going to talk for 45 minutes, so you probably want to know briefly why you should listen to me for the five minutes, right? So as Marc mentioned, so I'm a CPython core developer for several years already. I'm in the Sting Council this year. The Sting Council is kind of this group of core devs and people from the community that kind of decides on, like, PEPs and, like, high governance and things like that. I'm the Python 3.10 and 3.11 Release Manager. As you know, probably Python 3.10 is, like, months away. We are super excited. It's a fantastic release. We think it's going to be the best Python ever. It's going to be faster. It has, like, super sign-in features, like pattern matching, a bunch of very interesting stuff. And in my daily work, I work in the Python infrastructure team at Bloomberg. So we are actually sponsoring your Python, so you have the opportunity to go and say hello into our digital booth or whatever it's called these days. Cool. So one interesting thing is that before I worked, you know, on Python and, you know, computer science and whatnot, I used to research black holes in academia. So, you know, like, this may sound like, why is this about black holes now, right? But bear with me. It's an interesting topic. So let me tell you about just briefly about black holes because I find them, like, super, super interesting. And it's actually quite very related to the small story that I want to show you. So something that I used to do when I used to study these things is to produce this kind of simulation over how black hole will look like.  My simulations are a bit different. Like, for instance, this is a simulation over how a particular rotating black hole distorts the background. So you can see, like, the dark part over here is kind of the even horizon, which is this region with light kind of escape. And you can see here, like, all these distortion around, like, the star field, right? Normally, these things are kind of surrounded by, like, aggression disc, which is this kind of, like, super hot matter that is falling into it. And it has, like, this super weird structure. I don't know if you have ever seen. Obviously, this talk is not really about black holes, so I won't go into a lot of detail. But all of this thing here is kind of the aggression disc. The same thing as this one inside, like, it's literally the same disc, like, being distorted by light. If you kind of see it in a kind of, if you make the camera going around the black hole to take, like, you can also have, like, kind of better images, of course, than just this low-res simulation. But if you take the camera, kind of, like, to look around the black hole, you can see how the kind of the disc inside here becomes the disc outside when it flips. It's quite interesting, right? Like, there are these super interesting bits that distort a space time in quite a dramatic way, right? They create this kind of a space-time storm, right? Okay, so, you know, like, you could say, okay, so why black holes? So I want you to look at this picture. This is kind of one of the most interesting points of the talk. So what you're seeing here is, like, a photo of from, I think, it's in 1997 until 2016 of the center of the galaxy. And if you see here, these, like, bright dots that you see are stars. Obviously, you know, like, stars move quite slow, like, these distance are, like, parsecs, right? But the interesting here that you can see is that, for instance, if you're looking at this star, this star is cycling something. You see, it's going in circles like this. But there is nothing in the middle. And this is basically the question of, like, okay, so, okay, if black holes are black and they don't emit light, so how we know that they are there, right? And this case here, as you can see, is a system, right? And this is going to become very interesting in the talk. It's a system when things are happening, right? You know, these brightest stars are moving around. But it seems that whatever is driving the movement of these stars is invisible, right? Like, we can see, for instance, as I mentioned, this one is doing these circles, but it's nothing here. There is not a bright star in the middle, right? Like, if you don't see it clearly, there is this other kind of, you know, image that is more, like, schematic when you can see the movement of these stars. As you can see, all these stars kind of are cycling something which is in the middle, which is not there, right? Which is a mystery, right? Like, this is one way that we used to detect black holes. Like, when you have these massive stars cycling around a single point, which is, like, black, then you can infer that something is there and then you can infer which is this mass and how much volume the mass is enclosing.  You know, you may be very confused, like, why are you talking about this thing? But it's going to become quite interesting, quite interesting on the top, right? So another kind of interesting topic around, like, mysteries of, you know, like physics and whatnot is what we call dark matter. So when we look at galaxies and then we see how fast this galaxies spin, like, on different points of the disk, like, for instance, we see how fast they spin close to the center and how fast they spin close to the edge. So you can have this kind of plot, right? So this line over here is what we expect, like, the galaxy spins slower, the farther it is from the center, but it turns out that what we see is this line over here. It's kind of the galaxy spins more or less at the same speed, which is super weird, right? And this is where it comes with the thing that we call dark matter cancer, right?   That's basically how physicists work, right? Like, that is basically what we call, right? So it's this entity that we don't know that is there. But the interesting thing is that this dark matter in the galaxies and the black holes in the images that you saw are kind of driving the whole behavior of the system, but they are invisible. You cannot see them, but this is one of the most important parts in the system, right? It's literally explaining how the system works and this is going to become very important. Okay, so the question then is like, okay, so what has, you know, black holes related to Python or to see Python in particular, which is what this talk is about. Well, you could say that, you know, like both will absorb you as you are close enough and will probably tear your soul apart in, you know, in a rip of a space time where not even like can escape. But, you know, like, obviously we are talking about two different things. So what we are going to like go now is to different aspects of like, you know, see Python development and different interesting insights that happen while we are, you know, developing see Python.  I would like to kind of wrap around with all these stories. All these stories will have something common that hopefully we will see at the end. But maybe you will see the hints as we go. So the first like story or things that I want to talk about is kind of the invisible, right? Like it's okay. Well, the same way in black holes are invisible. There's things here that are invisible. But what is invisible in see Python development? So let me tell you a story. So this is something that happened on Twitter one day this year. So Anthony, for the ones that you don't know, Anthony is a great member of the Python community that works on like a lot of tools like FlakeAid, like he's also a Python score developer. Like he's a super nice person. He tweeted this tweet, right? He said like, oh, you're getting this kind of nonsense syntax error on Python, right? Like horrible, horrible error. You can try the PyPyPro, right? Like PyPy, as you know, is this a faster alternative interpreter? It's fantastic. You should try it out. But it turns out that he was complaining, you know, see Python has these horrible error messages. Well, PyPy has a much better.  Challenge accepted. Let me try to fix. And this tweet was the start of like one of the biggest new developments from Python 3.10, which is kind of these new error messages. So let me kind of show you a bit what is this around. So for instance, this is one of the problems that we have. In mind that you have like a dictionary, right?  And the problem is that this dictionary is not closed. It doesn't have a closing bracket. And then there is some other code afterwards. So it turns out that if you run this example on Python 3.9 or 3.8, you will receive this thing, which is super weird, right? It's telling you that this equal sign in the some other code example is invalid syntax, which kind of it is because, you know, it's thinking that it's inside the dictionary because it never saw it closed. But like, this is super confusing, super confusing. So after some effort and, you know, quite a lot of changes on the tokenizer of C Python, which is one of the oldest areas of the code base. And it's very, very tricky as you can imagine. One cool thing that we have now in Python 3.10, the same as Python has as well, is that now we can finally, we can finally point you in this particular example that the problem is not like, you know, that there is an equal sign that is going correctly. That this open bracket was never closed. This seems like a very simple thing, right? But this is super important because even like experienced developers who know when this normally can happen, you know, they are tripped. And, you know, this is fantastic. And this was actually not super, super easy to implement in our particular tokenizer just because the error happened after we pass over these lines. But we are super excited to have this thing in the same way as the Piper interpreter has some others. And this is one of the examples, right? And then, you know, then I say, oh, you know, I saw these two people and people were like, wow, finally, like, you know, this is something that we all wanted. Like, this is fantastic. And this made me think like, okay, so we may be onto something, right?  But maybe this is something that also people want. This is better on messages, right? So first of all, recently I've been working with Guido and Lisandro on the new parser, which is the kind of this new parser for Python that we introduced in Python 39. There is two talks about this parser on this conference. I'm quite excited to see them. So I will be there, I encourage you to check them. But the idea is that now this parser is quite more powerful than the one before. And one thing that I've been doing, transforming and working with it recently in Python 3.10 is to make it like much smarter regarding error messages and error reporting, which is a bit complicated in PEC because PEC doesn't have the concept of a failure. But we have pulled it out and I'm quite happy. Let me, I want to show you some of the examples that we have made. So for instance, one thing that we do now is that when there is a syntax error, we highlight now the whole range. So instead of like just pointing to set, we point to the whole thing. So in this example, it's a function called with the generator without parentheses. So we told you all the things that are wrong here, which is quite cool before we only showed you one of the, of the carrots. Something that we do as well is that, you know, if you do a conditional with only one equal here.  For instance, this is one of my favorites. Like if you have a dictionary or a list or something and you're missing here, you're missing a comma, then the interpreter would tell you, oh, maybe you're missing a comma here, right? Which is quite cool, instead of complaining to the next line. More things that we do, which is quite exciting, like if you type an attribute of a module or a class or basically of anything else, but that is not there, then Python will try to be helpful and tells you like, oh, maybe, you know, maybe instead of name tuple, that doesn't exist, you mean name tuple. So which is quite cool. This also works with local variables, I was never, probably many of you are from Germany, so you probably can pronounce Warshell much better than me. What a cool name, right? Like it's Warshell, it's one of the guys who discovered one of the simplest variables, it means black shield. I would like to have one surname as cool as this guy, but I never remember how to spell it. And in this case, for instance, if you use the variable, it will tell you, well, I don't have any variable with this spelling, but maybe you mean this other one, which, you know, we are super excited to see. And this is super cool, right? So, you know, we keep adding these things and then, you know, people keep reacting like super well and say like, oh, maybe we are onto something, like it seems that people really, really, really value UX experience and better our messages. And this lead us to PAP657, which is in Python 3.11, it's not on Python 3.10, but this is a word that we did with Amar and Batuhan Toskaya. And the idea here is that now the interpreter will tell you exactly where errors happen in a line. So for instance here, if there is some problem because one of these values is known, it will tell you that the problem is in this part of the expression, right? So this operation is the one that is wrong, and which is right because before it was like super, like imagine that you don't have these lines over here telling you exactly what's going on. It will be super difficult to know exactly what's happening, right? And for instance, if it's known, there is other kind of things. So I tweeted this thing and I announced that we have this thing. And we had this like fantastic response from the community, like super engaging. Like it turns out that everybody likes this thing, like is this like, I've been working on so many features of C Python, like I've been working on like some of the speed improvements from Python 3.10 and 11, some of the new features, some of the typing stuff, but it turns out that UX experience is this thing that turns out that everybody really, really likes. I mean, obviously you can imagine that people like UX, right? Like obviously, why do you want like better messages, but like I was not expecting this kind of response. This is one of the examples, right? Like is this mysterious like hidden item that people don't prioritize when they talk about why they're going Python. Normally they say, oh yeah, I want a faster Python, right?  But they don't normally discuss the things even if they really, really want them, right? So this is like the invisible thing that is driving the system. Like maybe what like make people excited about Python 3.10 is not that much pattern matching. Maybe what makes people excited about Python 3.10 is also obviously pattern matching is exciting, but you know, maybe it's also the error messages, right? So this is an interesting thing to think about. Like is there any other like aspects that people want that are hidden? Like there is any more black holes here that we don't see and it's driving the whole system of what people like in Python. So this is something that is making me think a lot recently and it's one of the stories that I wanted to share with you. Like how important this aspect is. You know, which sounds cool, but it turns out that nothing is that simple, right? Because you know, like, okay, so implement better error messages. So you know, if you look at how I was while I was implementing these newer error messages because you know, we needed to modify the back parser to this thing and the back parser is using back, which is not a especially good like passion mechanism for making error messages because it doesn't have a super clear concept of error. Although, you know, you can do it. There is a lot of research about this thing. So basically this was my, this was myself and the back parser, right?  So let me share one of the weirdest backs I have seen while I was developing these better error messages. Probably the weirdest one has been this one.  And the third time the parser says that it's invalid syntax. So it's like a, like a quantum parser, right? Like something like that. The for loop is in a superposition of valid syntax and invalid syntax and only when you look it will collapse to either state. This was super ridiculous to find out because, you know, like it's a for loop that sometimes is invalid, sometimes it's not, right? And, you know, this took a lot of time because this is one of the kind of backs that happened after the fact. Like it's not like, you know, the back happens and then something goes wrong. Like it's something like, you know, the back happens and then it goes through all the interpreter, like, you know like all the way through the compiler pipeline. And at the end of the day, it turns out that, you know you get just invalid syntax, not a second fold, not a crash, nothing, it just invalid syntax. So what is going on here? Like what was happening? So it turns out that when the parser construct the abstract syntax tree, which is this tree that basically encodes before going to the compiler it encodes the shape of your program in a lexical way. So basically like for loop and maybe this is the target of the for loop and et cetera. So in C Python, the C in C Python is C, right? The C language, right? So C Python is implemented in C. And in C we have kind of this specific class basically, right, this extract. And we use this thing to store a collection of something, right? So, you know, like it has this size parameter here which is how many elements do we have? And then we have this array of elements of void star elements.  Then we have another to set an element. And then we have another to tell us like what is the length of the sequence. The problem is that this thing is super generic. Like you can store absolutely whatever. Like you can store like, like, you know donuts, inters, flows, whatever you want. And you won't know what you have stored because the parameter is void star which basically means whatever like, you know the C doesn't care. So the problem is that we were inserting into one of these things something and then we were retrieving it as if it was something else. So imagine that you put into a box an orange and then, you know, I don't know you close your eyes and then you retrieve the orange and you pretend it is an apple. I mean, it's not going to be like super, super, you know, apple when you try to bite it down, right? So this was the problem. It was basically memory corruption. So when we were doing this thing we were corrupting the memory, but it was valid memory. So nothing was wrong from the perspective of the C programming language. But the problem is that, you know like the memory was getting corrupted. It was surviving the whole interpreter. It's just that like when it goes to the time of parsing the for loop, then it is basically not recognizing the PEC parser was not recognizing the for loop because one item that soon have been zero, it was zero just because we were corrupting this memory. So the way we saw this thing is that we, I mean, obviously a more strong language like C++ or RAS or something like that will have genetics, which is how you solve this problem. But in C kind of you don't have any of these. So the way we saw this thing is kind of like trying to, you know, make this thing even more complex. And now we have this cool kind of sequences that, you know, it has types here. So for instance, you can have like now, okay, so you have an array of Python objects. And then there is kind of this this critical here now that is able to allow you to work with type information, which is still like, you know, too complicated because we are implementing genetics in C, but it's safer now. Now this kind of bugs will not happen, right? So, but this was super, super tricky to find out, right? Like we needed to, you know, think about like how this could happen. And, you know, like, like check all the memory that was involved into these calculations. So, you know, I don't know if you have seen this kind of like table about like, you know, like there's a name in English I never remember for this thing, alignment, right? Alignment charts for D and D, right? So, you know, like people put here programming languages, maybe they say, okay, Python maybe is not for good. I don't know, Java is not for level.  But something that I'm super sure is that C is here.  Like if you program in C and I do, like, it's K of the keyboard. So that's how it is, right? Like C is just like a food gun pointed to both your feet at the same time. It's a quantum food gun. So C is bad, that's the conclusion. Don't call in C if you can avoid it. But let me tell you about other cool stories and bugs. Like one interesting thing about the bugging is this sentence by Nicholas Negroponte that says like, programming allows you to think about thinking and why do the bugging you are learning, you learn to learning, right? And the idea here is quite interesting because, you know, like you need to be a bit smarter than you were when you write the code and when you learn, you are putting your assumptions to test. So the bugging is probably one of the most important tasks as a programmer that you need to do, right? Because you need to have basically everything that you learn and then you understand the system and almost by definition, something will be wrong. So it's a fantastic way to condense and check, very scientific as well, right? Because you do these little experiments and whatnot. So I really like the bugging, not that much because of the sensation, because, you know, it's always frustrating and bugs are kind of hard and whatnot. But it really, really, really puts all your knowledge of the system to test. And it allows you to identify things faster. It allows you to be a bit humble because it's kind of unique to find yourself because you're going to be wrong. Like that's why the bugging, you have a bug, is like there is something that you didn't understood. So you need to find yourself a bit. And that's a super interesting thing, right? Like in systems like C-Python, it can be a bit complex because, you know, like the bugs can be super complex bugs from outer space. But I think it's one of the best activities that you can do to learn as a programmer. Let me tell you about some other weird bug that happened. So for instance, this is a bug that happened on the C-Python test suite. We have this kind of comparison checker class that takes kind of an object and every time it compares equals to something, it adds one to this comparison field. So basically it counts how many times this object was compared. And then in the Python test suite, we have this kind of test where we were creating like some other object. This could be a string or something like that. And then we were creating this comparison checker over a string. So the comparison checker will check how many times this string was compared to. And then we create this dictionary with both things as keys. Then we check if the comparison checker with the same string is in X and then we check how many comparisons, right? Like this thing over here should have created one comparison only because it's comparing against a string. But it turns out that this was failing sometimes, only sometimes, which was super, super annoying. Like it took several hours to understand what's going on because this thing was created only to be compared once and it has been working for years without nobody touching this code. And suddenly one afternoon it crashes with like more than one comparison. So this was quite hard because you need to understand exactly not only how the dictionary is implemented but also all the possibilities that can happen there. Like for experienced Python developers, you probably know what's going on. What's going on is that, you know, like this thing can have a hash collision in the dictionary and then it will compare more times. Like one way to force a hash collision here is to basically make the other object that we were discussing has the same hash as the string. And here what will happen is that once you add it here, then both A and B will be on the same bucket inside the dictionary because they will have the same hash but there will not be equal. So when you check it, the comparison check it is in X, then it will compare first to B and then to A. So the comparisons are not one or two. But how this happened? Like why this was working until one day? So it turns out that the strings in C Python has the hash being randomized. So the hash of the string changes every time you open the interpreter. With the bad luck that there's some other object here that we have, which was just another string maybe or I don't know what it was, but like a method, a function or something like that. So the bad luck was that that thing had a hash only on that execution of the test suite that was colliding for the first time in years with the other string that we were testing. And for the first time in years, the number of comparison was not one. We tells you like something about writing good tests and you know, like probably this was an oversight, but the debugging this thing was quite weird because you are expecting to see something like threads and like, you know, it's a rich condition only happens sometimes, but this was just a plain dictionary. It looked like super deterministic, but it turns out that it was not that deterministic, right? Like, you know, it can be hard. You need to, when you're debugging things, especially in C Python, you need to be thoughtful of what's going on. Let me then go to some other evidence here. So the idea here that, you know, some insights on debugging is that one interesting thing that you can do when you are started to debug something that you really don't understand, like, you know, think about these super complex bugs that you see that were nothing like seems to make sense. So one idea here that I normally do when I debug is that, so I try to be modular. The idea here is that you don't try to change multiple things at the same time, right?  But if you start to change, like, multiple things at the same time, even if it's very tempting because, you know, maybe you're changing like an equal equals and a less than or something like that, because you think both are wrong. Try to do one by one and see what happens because otherwise you're going to, you're going to probably be in nonlinear behavior and you really, really want to see, like, the facts of everything that you think is independent. So, you know, take your time.  And if you try to rush it, you probably, you know, will not be able to succeed very well. So, you know, try to do these little changes. Another interesting thing is that, you know, check your assumption and the idea here is that one of the most cool things that I normally do here is to bring to the problem someone who has never worked with that part of the code base, like in CPython or maybe also like, you know, if you are debugging in your company or your own code. So try to try it because these people have superpowers, right? Like, these people will see the system for the first time. So it won't have your biases that you have towards it, right? They will tell you like, oh, yeah, but this thing that you said, it doesn't make sense, right? Maybe you have the thing already integrated and then you say, yeah, this is this wire, right? But maybe these people will tell you, I don't understand like what this is this wire, right? Then the next thing is like, you know, try to break down the thing, right? Like the idea is that there is some super mysterious thing, right? Like if you remember these mysterious things that are driving the back, maybe they are not the back, but they're driving the back. This is what makes the back happen. This is the black hole of the bagging, right? The mysterious invisible force that is dominating the system, but nobody sees it. So the idea is that you don't go, you know, head on towards the black hole. That is a bad idea, right? It's going to trap you forever. So you need to kind of break it down, right? Like you start saying like, okay, so what is the next thing that I don't understand? Like, can I do like a small experiment to understand what's going on?   And then the next like advice is like this lay hypothesis, like try to not make a hypothesis at the beginning of the problem because then you're going to go into confirmation bias. Like you're going to say, do you think, oh, I think this is what is happening. And if you don't have enough like information, then what's going to happen is that every behavior that you see from the system, you're going to try to justify towards your hypothesis, right? And maybe what happens is that you are convinced enough, which is one of the most dangerous state to be in. And then what you end doing is like, you implement these partial fixes or hacks, right? Just because you are convinced enough. And then you say, oh, this seems to fix the problem, or even I don't understand why. So let's go ahead, right? So, you know, this is like a small advice that I have learned over the years of the bug in CPython. And I think it will be interesting for you. Let me tell you about another cool thing, right? Like Julie Evans has a lot of discussions on the bugging. And she has these fantastic centers that says like, she lost the bugging bugs because, you know, it means that you're going to learn something new, which is something I always think when I have like some super weird bug happening, like it means that I have not understood something on my system or on CPython, and I'm going to learn something new. So, you know, like at least you have that to, to have in mind, we'll do the bug. Let me tell you some, one of the funniest bugs that we have in CPython is this DPO34 something, something, right? So this bug over here is some bug on FreeBSD. So this bug took like six days to solve just because we needed to like go through to an RFC and find out like, you know, like how the network layer like was supposed to behave. We needed to understand like, you know, how the packets were able to behave on different linear systems. We found this sentence on some forgotten page of the RSC that says that a portable application, like applications that can be making different operating systems needs to be providing some particular thing. So after six days, this was the PR. It was like a one line change. This is six days of the bugging, right? Like just to show you that this can happen when you are doing something as complex like networking. But probably my favorite bug in CPython is this one. It's BPO37213. Deephole Optimizer does not optimize functions with multiple expressions. But I like to call this bug, how a bug in CPython made code formatted with the black format that is lower. So let me tell you all the problem. So imagine you have this list comprehension. You have this X for X in interval if X, right? This is the byte code it generates, right? It's going to build a list. It loads like the interval that we store in this secret variable called dot zero. And then it loads the X to see if it's true or not. And if it's true, it goes to false to the next item. And if it's not true, it loads the X and appends it to the list, right? And then it jumps to the next one. If you see here, there is two jumps here. There is the jump in number 10 and the jump in number 16. Both jump to the next one on number four, right? So when both jumps will go to the same place. But if you break the list comprehension in two lines or three lines, then the byte code is mysteriously different. And the difference is that this jump over here, instead of going directly to four, which is the next item in the list comprehension, it goes to 16, which is another jump, then that then goes to four, which means that instead of like, you know, when it sees that there is an item here and this is all of this false, instead of going directly to the next item, it goes to another byte code that then it goes to the for iter. This is called like jump elimination when this doesn't happen. But it turns out that we weren't doing this thing with a certain kind of code, right? A certain kind of jumps. An interesting thing here is that, you know, like, this is just another byte code, but if you have a super big list comprehension of a loop, this can make your program slower. And, you know, think about a tool that converts very long lines, leading comprehension in one line into like, you know, like like comprehensions, responding multiple lines. So basically, because the code in the bottom was slower due to this bug. So black will have been seen as the optimizer. It was formatting your code and making it more beautiful, but also making it slower. Obviously the bug is fixed and black is not doing that thing anymore. But I always find it very funny that black was basically the first Python and optimizer. You know, interesting thing. So let's go to the kind of like the last, like interesting insight that I have. So these revolts to a story that I saw one day when, you know, like in some Python meetup in Spain. And the idea is that it was this person that was confused by a Python idiom. So this is the Python idiom, this person was confused. Because this person came from C or from Java or like who knows, right? And the idea here is that, you know, they were seeing this code to swap variables, you know, X comma Y equals Y comma X, which we all, you know, we all like coding Python, we love and we understand and it's one of the most expressive things in the language. But maybe not one of them, but like, you know, it's a very expressive thing. And but this, this, this person was like super confused, like why there's no temporary variable? Like how does this even work? Because in C or in Java or whatever this person was coding before, this person was used to have like a temporary variable that was swapping both, right? Like, and the answer to the person, like that this guy was asking, like, why is this happening? It was like, what's going on here? It's tappel unpacking. And that was the explanation. It's tappel unpacking. And, you know, the person obviously that didn't understood the code was given the answer. And the answer is tappel unpacking.  Why is this? Because like, what is even tappel unpacking, right? Like, do you have a person who is not asking a question of like, you know, like, how is, how is this called? It's not how is this called? It's like, how is this possible?  Because in my language in C or Java or whatever, I need a temporary variable. And here I don't need a temporary variable.   And super complex names. And that is the explanation. This is a blue, blue, blue. And like, you know, that is another cool answer. And the reason is because this is stopping you from going deeper, like to understand what's going on. So this person who didn't understood like x comma y equal y comma x instead of like, you know, receiving capital unpacking as an answer. That person will have like going deeper and say, okay, so I have like this code. So what happens with this code? Like what, what, what is going on? It's like the question is, okay. So, so, so this is like Python code, which is obviously going to be translated into by code and it's going to be executed in C Python. C Python is C. I mean, C, you need a temporary variable to do something like this. So the question, one interesting question that you can actually answer, ask yourself, like, is there a temporary variable being used by C Python here internally, like a magic thing, right? Like for us, C Python does this, this nice thing. So it's a temporary variable or not. And that is a super interesting question. So let's try to find out. So when you do this code, it executes to bytecode, right? And the bytecode instructions for this particular operation is a operation called rot to, which means rotate to, which is basically like, you know, swap x and y. So let's see, you know, how that will look like. Of course, like in C you will do this, right? You will have like x, x and y. And, you know, if you want to put x where y is, you will need like a temporary variable. So I'll say, OK, let me save the state of x in my temporary, then let me assign to y and then let me recover y. This is what the person was expecting to. This is, like the question is, like, is C Python doing something like this internally? Yes, no, let's see what's going on.  So it's kind of like, there's some mysterious rotation and then you do some stores. So it's like, it's this rotation on these two stores using a temporary. So let's see, let's see how these two are implemented. So this is the, the C code for rot to. So you see, it's super easy. What you do here is that you take one object from the top of your stack. Then you take another object from the top of your stack and then you put them in the stack in the opposite order. There is not a temporary variable. I mean, you could consider that these locals here could be temporary variables, but they're not in the same sense as this temporary variable that we need in the other example, right? You could store the thing in the stack itself so you don't need C temporary variables or, and actually if you check, you check the assembly, this is actually going to be stored in register. So there is no temporary variables per se, right? I mean, you could also argue that in the, in the temporary variable, this is going to be a register there. But my point here is that here, a confusion over like, you know, how the swap works shows you something much, much more interesting, which is that the execution model is different. The execution model here is a stack. What you have is a stack with the variable. Like, you know, if you have never seen this thing, it's quite confusing, but you know, you can, you can Google it, right? What you have is a stack and then you have like the variables there and to just swap two variables on my stack, I just pulled them from the stack both, like I take the top and the second and then I put them in the stack in the opposite order. And that basically swaps the thing. Like if, if instead of X plus Y, I want to do Y plus X, I will take X, I will take Y and then I will put Y and then I will put X and or the other way, right? And the idea here is that, that this is a much more interesting thing. If this person that was confused by the double unpacking answer will have like go a bit deeper and it's like, so, so why I'm confused? Like, why is the thing that I don't understand? What is the black hole in this system, the invisible thing that is driving the whole thing? It will have understood that, you know, like there is a new thing that maybe you didn't knew that is that CPython in particular is using a stack machine as a, you know, as a execution model. You could also keep going deeper. There is like deeper as much as you want. You could say, okay, so this is C, but what happens like when this C is compiled to assembly? So what happens is this thing, this is the assembly code that is being generated, which is like, it's like a bunch of moves, right? Like if you check what's going on, is that the every two moves is basically one of these instructions here. And what you see here is that all of these are basically using like two registers, right? Plus offset, right? It's using the RVP register and the racks register. You don't need to understand this code. The point here is that what you need to know here is that, you know, assembly is a register based machine which also has a stack. So you could also say like, okay, so, you know, my code that swaps two variables, which is implemented in Python is transferred to bytecode, which is derived by C using a stack. That's why I don't need a temporary variable. But then you could say, there is a temporary variable in the C code. And then you check, okay, so that is translated then to assembly and is this bunch of move instruction, which is just the move instruction is basically moving things from memory. Although, you know, it turns out that this thing is too incomplete, by the way, like you can absolutely do a compiler that only meets move instructions. Some person has done that actually. It's called the MoFuSkator. It's quite crazy, like how powerful just moving things in memory can be. So in particular this code is just like a bunch of move instructions. But then you can discuss like, okay, so, you know, there is a temporary here and it turns out that there is another execution model which is totally different here, which is, you know, like a register stack machine. And you could think of the register as temporary or not. So it is now up to you to decide if at the end of the day it was or not a temporary variable. But you know, a person who have the time to go deeper and like, you know, maybe ask questions to people on this too, it will have discovered all this beauty, right, all this execution models. Like, I don't know if you have seen this meme, but is there like the Python programmers saying like, okay, so it's X plus Y, all an abstraction. And you know, like, like C plus plus and everyone's like, yeah, always have been right. And maybe you can even go to transistors if you have like some time or physics or electrical engineering, you know, it's interesting. You can keep going, like going deeper is something fantastic because it's something that will tell you like the behavior of your system, right. So I wanted to finish just as a talk, right. And the idea here is that in the same way, you know, the black hole was the mysterious thing and the dark matter here was the mysterious thing driving the whole system of these stars. These examples that I showed you are things that, you know, are hidden at the beginning, but they are driving the whole thing. And this is the thing that you need to do, right. You need to seek the dark matter in all these examples to have a better understanding. And I think you will be a much better professional and a much better engineer if you seek these invisible forces, right. That's, I think, I hope I have not burned out of extra time. So that's the finish of my talk. I hope you have enjoyed it. Thank you very much Pablo. That was an excellent talk, very exciting, very deep as well. Unfortunately, we are running out of time so we cannot answer any questions in this main room, but I would suggest that you perhaps go to the breakout room, Optiver, on Matrix, and then you can answer questions there. I'm gonna copy the questions that I collected to that room and then you can have a look there. So everyone is very excited. You're getting a nice applause. Thank you. Nice. Yeah, we're kind of trying to simulate everything, right? That is very needed in these times. Okay, so yeah, I very much enjoyed your talk. Thank you for coming to the conference. Thank you for the keynote. And I hope you enjoy the rest of the conference. So we will now have a short break and then we will head on to the next session. Bye-bye. Bye-bye.


of the year when we're all kind of starting to think about some deep cleaning and really getting into like all the nooks and crannies around our homes and our cars and everywhere else. And our sewing rooms really are not immune to that. So today I'm going to be walking you through exactly how to clean your iron inside and out as well. And it might seem like a daunting or overwhelming process, but it's really super super simple. And I am only using items that can be found around the home household items. You can purchase like iron cleaner, but those chemicals can be super super harsh and can actually cause more harm than good on your iron. And we really we all know how important an iron is in a sewing room. So we want to make sure that it works really well to the peak of its ability for its entire life. So let me show you what you need and then we will jump into the tutorial. Okay, we need baking soda, table salt, vinegar, and water. I think all of this stuff if you bought it all brand new might cost you $5. Then you need two like these are hand towels that I have white ones. They are going to get a little grimy and dirty. So don't use anything that's very meaningful to you. And you need your iron, obviously.  And that's really going to help us get into the nitty gritty of the iron and get it all clean. So let's jump in to the tutorial and I'll show you just how I clean my iron. All right, you guys, first things first, we are going to clean the bottom of the sole plate. You can see I've got a lot of grimy nasty stuff on here. The iron is completely turned off and completely cooled. Obviously, I wouldn't be able to put my hand on it like this. So make sure that it's unplugged turned off and that you have emptied out whatever water was in your water reservoir, which for me, just as simple as opening this guy up and dumping it out. So super simple. All right, now you're going to need the cleaning mixture for the sole plate. And that is just some good old table salt mixed with a little bit of vinegar. And then to rinse it after we've scrubbed it clean, I've just got some regular water and a couple of little white bath hand towels to help with this process. So take one towel, dip it in your salt mixture, making sure to get some salt on the towel, and then just start scrubbing in a circular motion like so. All right, so if your iron is extra grimy, like mine clearly is, then we are going to want to create another mixture with baking soda. So just sprinkle a little bit of baking soda into your dish. And then again, with the vinegar, it's going to bubble a little bit, not too much vinegar. You want it to be kind of like a paste. Fun science. Okay, then you want to take your, you know, bath hand towel or kitchen rag, whatever you've got, and dip it into your mixture. Again, it should be kind of like a paste. That's what we're going for here. And then again, with the circular motions on your iron. Okay, so now we want to wipe all that away.  And again, dip it into just plain water and wipe away this paste that has formed from the baking soda. So I'm going to have to give this a couple of passes because I neglected it for so long. But you can start to see how that's really kind of cleaning up. So let me make some more, do this all over again, and then I'll let you know the final, final step for cleaning out your iron. So take a Q tip, put it in some vinegar and water. If there's a little bit of baking soda left over from your last step, that's fine. And you're going to take the Q tip and put it in all of the little holes because you're trying to clean out all the grime that's there. If you find one that's being a little bit stubborn and won't open up for you, then you can take a cute, what's it called? A toothpick and come in with your toothpick and carefully scoop out all of the sediment. Even if some of the cleaning solution from before the baking soda got in there, you want to come in and clean all of that out. So take some time to do this. All right. And when you're done, all of your holes should be hollow looking, like there shouldn't be any white or any other sediment in them. You should be able to see, can you see how these all look good? And then this one still has a little bit of something in it. So just keep working it until you get everything out. Awesome. There we go. A nice clean sole plate for my iron. So happy. All right. And once you've got your sole plate clean, the next thing we're going to do is start to clean it from the inside. So you are going to want to crank this puppy up as hot as it will possibly go and turn the steam feature all the way also as high as it will go. Then I've got a mixture of half a cup of water and half a cup of distilled vinegar. And after the iron has preheated for like five minutes, we are going to pour this mixture into the water reservoir and then steam like crazy. All right. You can see that the green light on my iron is completely solid now. So the iron is preheated. I am going to pour in this vinegar and water mixture and it's just a cup of water. So it shouldn't go past your max fill line. Now we need to let the water warm up as well. So let's give that a couple of minutes. All right. You will know when your iron is the water is preheated because your iron will start to like try and release some of the steam. So we're going to help it out a little bit and we're going to hold down the steam button for at least 20 seconds, holding it down so that all of that steam can completely start pouring out of the iron. And maybe you can see it on camera, but it is just like a constant steady stream of steam. Like I said, for 20 seconds at least, then release the button and do it again. And you're going to want to do this at least six times. You're not going to go through all of your water. We're going to end up pouring a lot of this out, but you want to do this steam process at least six times. All right. We have sufficiently steamed. I want to say probably half the water came out and it's still kind of steaming a little bit. So I am going to turn the iron off completely and let it cool completely before I dump out the water reservoir, because this water will be hot. So it'll continue to steam for a little bit, which is fine. All right. So now I've got a perfectly clean iron. I feel like she is just so, so happy. I am going to fill it up with some water and let it steam one more time just to get any of the vinegar that might be left in there. And after that, I am completely done. All right. So now we have a perfectly clean iron. I feel like she is thanking me and she is just very happy and comfortable and just feels so rejuvenated. But this process, like I said, does not take very long. You should probably be doing it once a month and especially if you're working on a project and you have your interfacing upside down and you accidentally press the glue, you want to, you know, clean your iron immediately after that. You want to clean your iron after you use a fabric like denim or something that might bleed or rub off onto the sole plate. And anytime you're just doing anything with a super synthetic type of product like pleather and, you know, faux suede and all of that kind of stuff, your iron could probably use a good cleaning after that as well. But yeah, just a monthly maintenance thing if you're just using cottons or regular fabrics and don't have any accidents and you should be good to go. So hopefully you guys found this helpful and that you are all running into your sewing rooms right now or I guess probably your kitchens first to grab the supplies and then to your sewing room to get your iron all nice and spick and span. But that is going to do it for me today. Thank you all so much for watching. I will see you very soon. Bye.


Hey everyone, this is Kenny for Blackstar, and today I'd like to talk about the debut 10e and the debut 15e.  So debut 10e is perfect for just home practice when you're teaching or just having it around at home and you just want to plug in and go and play some music whenever you feel like. So debut 10 watts, it's got two three inch speakers underneath, the grow cloth which is awesome, and it's got a tape emulated delay along with an ISF EQ and there's two channels, clean and overdrive. So the big brother debut 15e is 15 watts with an added gain and tone knob with the same exact feature as the debut 10e. So both amps have stereo linear speakers which is perfect for music playback. So they're both great for teaching, home practice or jam along with the jam track using the MP3 line in input or you can have a silent practice by having to emulate it out which sounds great as well. So the clean amp sounds really nice, really wide range and frequencies perfect for any styles of guitars and with any pickup configurations which you'll hear right now with the telecaster with wide range pickups and also a Les Paul with a single coil neck pickup. And the overdrive has got a nice really smooth almost boutique like overdrive tone which is great for just jamming along with the jam track like you're hearing right now. Thanks for watching and thanks for checking out the debut 10e and 15e. For more information please visit blackstaramps.com. Thanks for watching, see ya.


Now, this is truly mind-boggling and also very scary, clearly, and we've heard responses to that effect today. Erickson says, we're now moving into the second phase, networked industries, and then the third wave, networked everything, what they call also, like I do, the networked society. Now there are some significant things that are happening here, for example, these guys from libelium, I mean, this slide is overwhelming, clearly, you can download it somewhere on the web, just look for libelium. What they're doing here is basically saying the entire energy and transportation business can be made smart with mobile devices and sensors, and this is a revolution that's worth trillions of dollars a year. So this is all happening now here as we sit here, and this is our problem as Ray Kurzweil has pointed out many times, even though I don't agree on many other things he's saying, but there's a lot of things to learn from him. Our world is exponential.  Exponential means one, two, four, eight, sixteen, and on from there. And our problem as humans is that we can't actually understand when things change in huge leaps like they do now. We're actually now at a place to where we can say we are at four, and the next is eight, not five. So if you're sitting here today with your company looking at what mobile means for you or marketing, we're not talking about a gradual shift next year, we're talking about another exponential jump to eight. And what this will do for your bottom line, that's our blind spot. So as humans we can't be exponential unless you're Ray Kurzweil, maybe. We can't be exponential because we have human limits, we're not machines. We can improve this, but only marginally. Technology is jumping, and after eight, it's sixteen, that's only 32 months, you know, every 18 months from now. Some of the stuff you've seen today sounds like pure science fiction. The idea of having data find you and being monitored and your car being monitored and having a public, self-driving, sharing car, mind-boggling. So what that means for us as companies or here today, we have to take leaps. We have to take more leaps than ever before. And I live in Switzerland, and let me tell you one thing, Swiss people don't like this idea. They like to wait. I was in Luxembourg yesterday, they also like to wait. But let's take a look what happened here, you know, with Apple, half of Apple's revenue, the iPhone didn't exist six years ago. The Kindle, the Kindle universe that Amazon, Jeff Bezos built, didn't exist six months ago, look, see how they developed, LinkedIn, the revenues of LinkedIn, $800 million. When I got started on LinkedIn, people were saying, why in the world are you inviting me for this online bullshit? Who wants to share information with people? And look what happened here, didn't exist until just recently. So the bottom line is a majority of your revenues in 2018 are very likely to come from things that don't exist today. And when you're facing this reality, you have to face one thing. If you don't invent something today to be there tomorrow, you're losing half your revenue. It's gone. If you're lucky, this is a lucky view.


Here we go running in the hoka cliff Clayton's hoka Clayton's I had it wrong the other day hoka Clayton's $30 Facebook marketplace. I'm excited to give them a go. They're gonna get a workout in We go. All right Karen water and coke along the way and Broncos football of course I would actually have they added Broncos win But defensive perspective came into league first against the rush giving up less than 60 yards per game on the ground that number Obviously will go down because they gave up 24 today to the radio Our defense is the real deal. All right, I know this is not a football vlog, but uh anyway the boys Are crazy. They're just playing out in like low 50 degree weather. No coats. You know, they're just playing in the dirt. I See you You guys are doing great. Yeah, you keep playing. I see you You don't get milk till you go Eat the mice. Let me just start it so it doesn't fall Okay, now push Ready Okay, now finish it the family that cuts apples together stays together