Hello, and welcome back here to the channel. I'm evil rabbit. I'm joined by my buddy Christmas We're here on euphoria hillside drift testing out two of the 2.5 versions of these cars So we're here to do a little bit of a stay-in-your-lane challenge I'm gonna try running both lanes in the lane without going over Christmas is gonna be behind me calling me out every time I go over a line Yeah, and then we're gonna try and throw it in some tandem to make sure you follow me on all social media All of which found in the description box below. Let's get to it All right, so stay-in-your-lane challenge. We're gonna start on the right lane because we're in America He's going through me because we're in pits. I Don't feel comfortable with that So let's do this stay-in-your-lane I can cross the outer lines and go use the berms, but I can't cross the double white that is the no-go zone So we're gonna go full send I Did a stay-in-your-lane challenge back in Forza Horizon 4 I built a stay-in-your-lane track that a bunch of people tried to do And it was actually a lot of fun So we're here on euphoria hillside That's really close to that double white which is a very fun track with the new 2.5's They handle this track very very well I'll left a break That was close My front tire tickled that and also the goal is to stay in drift for the whole track Yes, I will be using dirty e-brake tracks to extend some of these We're back tires scraping edge We got this Anyone who's wondering I am straight lining behind him so I can see He's gonna call me out at any moment. I cross the double way. He's like no Didn't go that was close Stay-in-your-lane challenges are definitely a very Fun way to learn how to be a little more precise in your drifting and also if you are you know in A server that has both weight traffic Staying your lane was a very you don't see many servers that do that. No, not many servers do that I'm thinking about running a Server with traffic. Oh God your your bumper went over by your tire was clean If somebody was coming the other way we would have been not kissing, you know rear-to-front bumpers I chose the Z for a reason It's nice and small it fits This turn is gonna be hard coming on the other lane trying to not go too far wide Some of these turns are easy one way, but they're very difficult the other way By other way, I mean other lane Got it. We're good All the left foot breaks to make sure we stay in the lane. I love the echoes of that tunnel Or rocky overhang It's okay. We can call it a time So I think I successfully did this lane without crossing that shall it up real fast now We're gonna switch to the other lane cheat yourself and try and do the other lane We're gonna do it right here on a quick flick down and now we're in Then we're gonna try and do this in tandem which is gonna be very complicated I Don't know if I can live up to that. I think my front wheel almost I think I was on the doubles, but I don't think I was over You had me lost in smoke so I couldn't tell let me do it in the comments. Do you think I went over? You guys can be the judge on that one I think my tire ran the double whites like that, but I don't think I actually Broke it that one that one went over one, but not the second Over one of the lines, but not the second line. That's the last one went over one of the lines, but not the second line All right, so I think that I think that still counts is okay Man, I love these new cars. I mean technically you didn't exit your lane It's your second time if you didn't go over the second line. Correct. So that's technically still safe zone keep it between This technically would be the mustard in the mayo on the dragon, which is the double yellow on the white But the track is very snowy, which it's keep it between. Oh, that was over at the cross. Oh That went over negative one for me the smoke to dissipate for that. I Definitely saw my tire. I saw my tire mark go way over there So I feel like one so far this whole track in both ways is not a bad feat I feel like game on you. I was shame on me Almost lost it there.  Yeah, okay Judge said you One more time One more time. Oh, this is me a turn that couldn't screw me. We got it air marks look good.  I think I got this. Yeah Grape in that wall. I think we're good So one time over I'll take it. So now, uh, let's see what you got pick a lane Gosh, I'm trying to stay in the lane, but also stay in your door This is actually kind of fun Doesn't help what I hit a wall. I think I may have assisted you a little bit on that one I may have bumped your bumper just a smidge on that one. Good thing for these two fives Angle kits. Oh, yeah, the wise fab on these is definitely Way way better than they rip the street cars Oh It's so hard to try to stay like tucked in where I want to behind you, but also stay in the lane This is a very challenging. I went over the line. This is a very challenging thing So I challenge you guys to try this try staying your lane challenge whether it's here on euphoria hillside I lost it. I lost drift. Oh and your way over or on another course It's definitely a fun thing and try and get some pandems because you know what? You want to talk about some drifting skill and precision you guys can get multiple cars in a stay in your lane drift? Oh, I Would like to see it if you guys are part of the discord. I like to see some pictures maybe some trains or some Small clips. I challenge you guys to try a stay in your lane whether it's like I said here on euphoria or Another track You guys want to keep seeing more stay in your lane challenges on other tracks challenge me on a track Let me know what track you want me to use or you were just tickling that line though You know this tandem is actually working. Oh, wait, I thought that's gonna point you Oops, I think we started a little bit there. Oops. I forgot that turn shall it up way quick So if you guys are enjoying the episodes these two fives are in final stages right now These are final testings. So two fives plan to release them. Hopefully end of this week So make sure you guys keep on the channel keep on this court for more information on the two-five lock drop as well My final testing he means this run right here is our testing. Yeah, this is final testing All right, go the other lane now or do you want me to lead on the lane it is So hopefully drop of the two fives will be ended this week and drop of the evil rabbit playground will should hopefully be Beginning of next week that is the tentative release date. So make sure you guys stay locked to the channel for more information I am way off track now not staying in my lane I'm gonna stay in this lane. So now we just have to try to not hit each other Well for staying in our lanes, we should be okay Oh You crossed or at least your bumper did It's very interesting because some turns like I get ahead of you and some turns you get ahead of me It's kind of fun.  I crossed I crossed your foot over So I think that's gonna do it here for this episode here on a set of course a little bit of stay in your lane challenge Big thank you to my buddy Christmas for coming out and having a little fun So make sure you guys follow me on all social media all of your fun in the description box below if you guys are not part of the discord I'll leave the link in the description to join into the discord and Hopefully I will catch you guys on the server. So as always, I thank you guys for coming back and watching Meful rabbit. I'll see you guys on the track.  Hey try to back up. I want to see if your wheel gets lost.


Hi there, so change of plans like it turns out this this slot is after lunch But before coffees are gonna be all asleep.  I'm Moukash. I'm the core developer in residence also called the janitor of the core team Which is why I'm just talking asking questions. They're gonna be answering we have with us Steve Dower, Mark Shannon, Pablo Galino-Salgado, Batu Hantaskaya, Ken Jinn and Irrit Katriel The thing is this like I would like you to be involved in this panel We're not gonna talk amongst each other What I would like you to do is just ask questions, which you can do here And if you're watching this remotely, where's the camera here? You can also ask questions So do and if you do like we're gonna pass them on to the team So they can answer and before you start lining up like let me just warm up the thing by just asking a question To everybody here Hi, can you tell us something about yourself and the area of Python that you are? Well responsible for Sure, my name Steve Dower. I'm originally from Australia, but I live in Scotland these days because it's so awesome there And I love it within Python, I mostly focus on Windows related things and I'm also really Yeah, trying to try to spend more time caring for the security side of things and also embedding Okay, I'm Mark Shannon. I live in the UK. I was born in UK as well. So haven't moved very far at all I'm the tech lead of the faster see Python team. So making Python faster I'm Pablo Alindo. I come from Spain Living the UK now. I'm released my year 310 311. I'm also in the team council for this past two years and I work mainly on the parser and the DC Yeah, my name is but one I come from the southern part of the Turkey I mainly work on the parser and the Python compiler as well as some other libraries like ASD and tokenize and such Hi, I'm Ken. I'm from Singapore and I work on typing and I also help make Python faster Hi, I'm Irith Kotherell. I'm based in London. I Work on the interpreter. I implemented exception groups and accept staff for 311 and then worked on a number of other projects related to exceptions and Recently and I joined Faster see Python team in Microsoft. So I'm working with Mark Shannon a lot All right, cool. Nice to meet you all The mic is there if you do have questions to ask us if you don't so far I do have one for you. Like do you remember your first contribution and when you started contributing to Python? First contribution, I remember my first bug report because Just because it got fixed so quickly by this guy named Benjamin Peterson And it was years and years ago which probably meant he was about six at the time I think but it was definitely him that fixed it But I was just really impressed with like a project that I had Downloaded and was using for free. I was and found something that didn't quite work I posted the details and about six hours later the this person who I didn't know at that point It's like it was just a name came up and said yeah, this is fixed and eventually I met him years later I'm like aren't you still in high school Yeah, yeah, he was but I think my first first contribution I Came into this weird because I kind of came in like I You know I already work at Microsoft. I already know Windows. Well, can I help with the installer and about Two days after I kind of suggested that the person who maintained the installer at that point said I Need to step back from this and so everyone kind of found me again is like yes the job's yours go for it and Yeah, the rest is rest is a lot of work I mean history rest is history Right I don't remember my first contribution, but I do remember my first bug report like Steve I think it was to do with addition in Python The way addition works as you get the done the ad and then there's a done to our ad and I remember there was something Wrong with that but I can't remember what the what actually was I think was mark Dickinson fixed it And again, I was impressed with how fast it was fixed First contribution, I actually looked this up recently and I forgot Memory leaks Pablo I think my first contribution was some some documentation thing But I was checking the other day and I think I have the Dubious honor to be the core developer that broke all the billboards in the least amount of PRs my My third my third commies merchants if I don't block everything and my fourth fix everything, so That one yeah, I made like a couple feature suggestions before I started contributing I never like, you know made that suggestions a reality because they were like dumb stuff But my first contribution was something around lip two to three which is not deprecated But I made some like tiny change in there Ken My first contribution was in pickle, but that PR was never merged even till today So I kind of gave up on that I gave up on that part of CPyton I later found an undocumented part of CPyton that people wanted documentation being Wanted someone to write documentation for so I'm not sure you've heard about it. It's pet 604 Union type syntax Basically means in typing you can have a union by saying typing that union then the types in 3.10 you can say The type then have the pipe operator to say you want to create a union and I wrote the documentation for that as my actual first contribution Eric my The first time I checked out the Python source code I was working at Bank of America and I was maintaining a We had a system that a huge system written in Python with extensions and so on we were upgrading it from 37 to 38 and one of our unit tests SIG faulted and When I looked at that test there was a comment there saying that that test Test sorry some bug that existed in Python 2.6 So that that's some case that used to crash in 2.6 and 3.9 it was crashing as well and we had a test in the CPython Test suite didn't so I reported that there's been a regression there and So I got a check out to kind of get by sec and find out Which committed was and it was a change in in the garbage collectors trash can mechanism that brought back an old an old bug if you have a Very very long linked list and then you kind of decrypt the first item then the whole list needs to be decrypt So there's something that makes sure that the garbage collector doesn't request too deeply and There was a bug there All right, so now let's start answers from the other side of the chair of the table So like back then like did you already think about like all like I'm gonna be contributing more than just this one thing Or like you know, like how did it how did it pass that you're a core developer now? How did it happen? So Yes, let's start from this. There's another table. I Was I was just trying to get us on three eight and then actually my manager at the time said, you know what?  So why don't you spend a day a week working on Python? This was during lockdown We're working at home and it was all fine And so he said a day a week. He didn't say which day every day's a day You know, it's very confusing in lockdown.  I I think it's my Python day and Long story short, I work for Microsoft full-time worker on Python Yeah Go Ken Yeah, so at the start Because I was working on typing I was noticed by Guido and he decided to start mentoring me later on I decided to run short to other areas of CPyton and fortunately enough Pablo started mentoring me also So that's how I eventually became a core developer Yeah, but one so I was like really enjoying playing with Python internals, you know at that time And then I started sending a few PRs to libtutory AST and that sort of stuff It went very slowly and you know, I was doing like very low amount of PRs You know just making stuff up for myself or just taking up the bug tracker And one day I see like an email in Python dev from Pablo on AST on parts You know, I'm going to add this what do you think and I sent him an email Okay, can can we work this on like can we work together on this and he said yes and then we start like an We had like an informal mentorship which evolved to a like a formal mentorship and that led me to become a core developer Thanks Pablo After I reached the pinnacle of my career breaking everything I say wow breaking things is cool How many things I can break I Think actually at that time Like when actually I broke everything. I was talking with Victor Stiner. It's another core developer And he actually says you're good at breaking things What about if I mentored you to not do that and and I say oh that would be very good And you know, he's French. I'm Spanish. So apparently we we go together And yeah, she's been a been a quite a ride Mark Well, I was working on I actually did a PhD in Implementation of virtual machines for dynamic languages. So working on CPython or Ruby or something kind of was a natural follow-on And Python was just the best choice. It's the best language and it's also most interesting and challenging to optimize So all around the best option Well Steve yeah, yeah, like I said I had this this wild idea that I could make one contribution and improve something and then walk away and and it would just be better And it turns out that no, you're not allowed to walk away It's yours and and there's always more ways to keep making making things better So I you know, I didn't intend to kind of find a full-time commitment But but I found it and as long as there's more to do then I'm you know, I'm in Yeah, very cool. We have a question from the audience Hi, I'm Jolt Let me turn the heat up a little bit and ask this question So what do you think of auto formators and when Can I break them? I actually did He knows it. Yeah. Yeah, go ahead.  So how much hate can I take a lot? Look at the room. Do you like black? I break it Yeah It's true like I mean out of the joke like when we Like when when Liz Andres, Guido and myself wrote the new PEC parser one unintended consequence is that we break black because the technology that black was using and many other tools was based on the old parser and in the new parser we can do all these funky things And yeah, but then but to hand found how to do a bunch of hacks and now black survives with lollipop sticks and glue Yeah, at least until 312 then we'll see what you come up with more lollipop sticks But it works, I mean who cares how how it works, right? Pablo broke an auto formator like anybody here that like, you know has strong opinions on auto formators besides me. I Love having a formator that doesn't lead So so within Microsoft for our work I spend a lot of time trying to help a lot of teams successfully use Python and for a long time the first question They're all like which rules in in you know other linters should I enable to help us get our style, right? And it's actually really nice to just be I say just use black and and like all of these arguments and debates Just no longer exist and I'm not stuck maintaining like a 300 page long style guide So I like it from that point of view Any counter argument but one another counter argument, but like I was going to give an example So when I'm like right like I know something bigger than like hundreds lines of code in C Python, I just put it to another file format it with black and then paste it back I don't know Because it is the easier way and it looks good. So I Personally would love to have black, but you know, there are a lot of other challenges. So yeah I'm going to say that Yeah, so sorry Joe like bad audience for for actually training the heat on this particular question But we have another question. So another try as actually wondering if you would be discussing black for C code Given that most of Python or C pythons written in C But my question is nevertheless, so first and foremost, thank you for your contributions I'm thinking about Getting out of the Python ecosystem and the packaging problem, let's say and say embedding and that's In the industry a solved problem with containers on the server side Let's say we can solve it easily when we talk about deploying a Python application to common users on the desktop or mobile You'll be talking about that tomorrow. The challenge is I think it's still open And nowadays if I'm not mistaken, we are distributing an embeddable See Python distribution for Windows only If I'm not mistaken, it does not include central library. So it requires some effort from packages What about Mac What about Linux? I know these are different technical challenges. They're more like building and linking challenges and packaging issues more than the core language But they're as important as the language itself if we can't deploy Software to end users and of course the future is mobile. So the question stands. So How can we reach a deployable embeddable out of the Python ecosystem because end users don't care The about the technology that the software is built on Anybody wants to take this Well, I mean the web assembly work is kind of key here. I think Especially for if it's mainly UI stuff, then, you know, we're walking at human speed and the performance hit You get from the web assembly translation is is not really an issue And then you just bundle it with the you know, like any as you bundle a JavaScript app for the For the device if performance is an issue though, then then yeah, those are problems Yeah, I mean as as the person who put together the embeddable distro for windows it was possible because of the way windows does its binaries and and does kind of How it finds the the other binaries at runtime and it's a system that just doesn't transfer to mac and linux So so yeah, I did it for windows because that's my area and it was easy and I knew how to do it And I kind of said well, you know the the mac and linux experts can figure it out over there and and some people have some people have so there's a project out there that's Was it static python or python static builds or something? There's there's a couple of attempts out there to make Relocatable python builds the challenge is it's not just in python at that point It's pulling in more dependencies and you get a bigger thing, but there's there's definitely work going on for that Um, but yeah as as mark says I think the the web assembly and the fact that that largely runs on already designed to be portable machines means we can Kind of once go through c python and say well, guess what subprocess is no longer available everywhere Because we support web assembly now So you can't assume that you can start another process and run it And once we actually go through and do that cleanup Then it becomes a lot easier to to make kind of the more core pieces more portable Because if you've ever tried to write code that launches a sub process that does spawn or exact Across all three platforms you've failed If you have succeeded come and find me but but you probably not I think one of the other challenges that that you will find and It's quite Like we are absorbing it into c python because like okay It's python but like compared to other languages that should have this support like lua For instance, this is one of the big example that people bring like look, it's super easy to invent Like c python is playing very much deeper into the ecosystems. For instance So like c extensions are set objects And now you have to play with the rules of l files in linux And my co s much all files and whatever windows does and the things that Those have Much bigger constraints like for instance You cannot just load a set object from from the same file So you will never be able to have at least in manila Lipsy linux A single file that is your application That is what a lot of people will want because you cannot just say oh my extensions live inside Myself and I will load from memory right that that cannot be done Like google does this but because they fork Lipsy and they have their own funky You know deal open from memory whatever But normally you cannot do that right in a portable version and this is just a consequence that we just expose more Stuff and we are much more flexible. So And I think the other the applications that you were mentioning is pie installer and b-wear has some briefcase b-wear has has some tooling for it There's definitely because of some gregory Gregory saw that's it has has the the project. I mean they were like Relatively well, I think they they do work well, but it requires kind of owning your entire application stack You take responsibility for a lot more I would definitely say if that's an area that you're interested in making work well across platforms Check out blender. Check out obs studio because they do this already and they are multi-platform Uh to varying extents You know in the feature set but people can do it But it is considerably more work than than simply saying you must have already installed python so we can use it All right, thanks another question from the audience, please Hi, my name is pavel Do you think python is going in the right direction in terms of like new features being added and Regardless of that, what should be the direction for python? Who wants to take this Steering council member. I mean it would be weird if I say no, right? I mean, I think it's going in the right direction in the sense that You need to understand there is no a direction Because python right now being one of the most popular languages by certain ways of looking at this Has a super different use base right and what you may think is is important and nice and small and super My language fits in my head or whatever Like you may have like another big user group that doesn't think like that Right, like for instance the people that are very excited about typing Normally don't play well with the people that are teaching python because like, you know, they they normally look at types and say Why is this right, but it turns out that Those people then go to other places and then they change their views and now they think like I'm typing is just an example here That is awesome and they want to learn it right so so there is many different We use your groups and there are many different needs and For us we cannot just say all the direction is this one and this is the one that we want to follow Like we need to take into account everything with the decisions that normally affect the whole language All everyone and it's always a difficult balance And the thing about balances and compromises is that there is nothing that is going to make purely one user group happy Because as you know, like this time we reject this Super complicated type in features. So all the people that think that we have too much syntax are happy But then the next day we accept something else Because it's very useful for the people like for instance section groups, right? Because it's going to be super useful for people using asyncio And it's normal that if you don't do asyncio you say like oh, wow, this is insane Like why will anybody complicate the language now I need to learn about all these many things But um, so this will happen with like big languages and python has 30 is a 30 year old language Right. So like we are accumulating a lot of this Um, so yes, I personally think we are doing at least we're not doing a horrendous job and um, and uh The key here is that we don't look at a direction We look at our community and our use base and then we try to do our best for the future of the language Not only of the implementation All right anything to add Yeah, I mean the ideal python is one that has all the features you need and none of the features you don't But um and consequently You know whether a new feature is accepted depend is good depends on whether you want it or not But it's kind of hard just to I mean You kind of want a sort of coherent vision of where the language was going but unless you're omniscient that isn't going to happen So it's kind of a You know many minds is the best approximation to sort of a perfect mind So yeah, there's sort of you know community sort of decisions and so on I mean I mean my worry is that features are accepted Or rejected to a certain degree and sort of like who shouts the loudest um So I think probably having more You know if even if you'd sort of like you have an interest in python, which I assume you do is why otherwise you wouldn't be here You know if there's a a pep and you think about it It's like well, I don't like that for a reason or I do like it or whatever I mean, you know say something so at least you should have like Stand up and be counted Cool Thanks before we move on to another of those questions like do we have any from the remotes? Okay. No carry on So I think it's pretty well established by now. We won't be seeing a python 4.0 anytime soon But if you had the choice, where would you like to horrendously break backwards in compatibility? Where do we don't want to Okay everywhere all at once because if like python 4.0 is such a drastic thing we're not even imagining it and You know if it was then it would be such a new thing that like Only the pure python code would survive because Like we're never gonna do it And it would have to be like world-ending to do it and so everything just gets destroyed We rewrite and rust probably Eric do you have an opinion on what you want? What would you want to break in python if you could? Um, yeah, personally, um, I would like the gill to be gone And I think that's a pretty um common request But I'm not I don't think that will warrant a 4.0. I think it depends on what how we approach that problem Eric Well, yeah, there are the big things like the gill and and the things that we all know about from the point of view of someone who Worked intensively on exceptions um for about a year There are a number of things in exception chaining that are not There are some edge cases that I would iron out. I would change that mechanism in a way that it's probably very hard to do now Um And um, I think there are a few issues around scoping of variables that are a bit weird That I would tidy up All right, now we have another question Speaking of new features Um, some other languages have the concept of null coalescing and not no aware operators There have been some attempts at apps for python for non-aware operators What are your views on that because personally, I would really like to see them. I really like them other languages Yeah, I mean I I withdrew the pep that I wrote on that So I'd like to hear other people's opinions before I explain my reasoning I don't have a strong opinion on this matter So so for people who aren't familiar with that the the idea you may have seen it I believe it was added to javascript recently It's been in c sharp for a while But essentially if you have a variable and you're going to do like variable dot attribute Then you need to do a none check first. You need to say if this is none I don't want to do that attribute because I know it's just going to fail And so the idea is you have a special operator a question mark dot where if the value is I'll say if the value is none, but that was a point of contention if the value is none Then don't bother looking at the attribute. Just just return none Essentially, so it's like if the if the value is none give me none If it's not none look up this attribute and what it lets you do is is it lets you create like long chains of Like looking up attributes on attributes on attributes on attributes without having to have this really long chain of Is this one none? Is this one none? Is this one none? Is this one none? And so you can get in in that situation You can get kind of a nice single line expression that handles all of that The coalescing operator is a question mark question mark typically that says if the value on this side is none Give me the value on this side In python we often use the or operator for that which says if this value is false or looks false Give me the value on this side And that was also an interesting discussion because none looks false. So if you have none or some other value, you'll get the other value The reason I eventually kind of withdrew that is I had I had a real interesting discussion with reyman hettinger at one of our core dev sprints where where he basically laid out it's like But the features that go into the language Actually change the way people program and it has far more of a flow and effect than just how that particular thing gets written It's going to affect how the rest of the code is written So for example right now if you're going to append a value into a list You may check that it's you're not appending none And you'll say if I have a good value, I'll put it in the list But if you know that when you go to get values out of the list, you're going to none coalesce everything You're not going to be worried about that and so you'll happily throw, you know Garbage values into a list and then they get carried around passed around and and show up all over the place And they may get serialized and pickled and and all sorts of stuff because when you come to use it that's when you know you're going to handle it and And basically, you know I had this conversation. I thought about it some more and I'm like I don't want to encourage that kind of coding in python. I don't think that Like I think being able to trust the value that you have been given wherever it came from is kind of a core part of python and we don't defensively double check everything before we use it Because we we have kind of the the code laid out in a way that You know we check it when we first get it and then use it and that gives us nice kind of straight line readable code that doesn't have Conditions and checks and exception handling all over the place apart from a few specific things we know about So I didn't like the idea of If I get this feature in Everyone's going to start Putting nuns in lists everywhere and you know instead of one two three or have one non non non two non non non non three because that Yeah, so I didn't like the the implication of what what coding might turn into with that feature there So 10 years back. I had like a lightning talk at euro python. It was in Florence at that year About how I regret nothing and you cannot judge me with like bad examples of bad things I did with python One of which was Implementing the null pattern, which is kind of non-collessing But like going further so like replacing Dictionaries with null dictionaries that also allow you to like, you know find keys that are not there without raising exceptions And so on and so on So I just like did my lightning talk it had memes in it. So if people laughed, you know, we left Florence And now 10 years later this null package that still is on pipi gets like some scary number of downloads Meaning like somebody is using it So yes, like Hiram's law like every observable Part of like, you know a system is going to be dependent by somebody So we have to be careful about what we add because we can never remove it afterwards If I can if I can add on another recommendation like that as well, don't don't use his package But but there is so there are match statements now, which I believe will handle this properly Where if it has, you know, if one attribute is none and you're trying to match longer than that Then it's just going to say it doesn't match and it won't be an error So match statement is a is a good way to do this. I believe I haven't tested that one But there's also a package out there called glom, which Effectively lets you write the lookup pattern as a string. It's imagine that it's like regular expressions for navigating object hierarchies That's a really neat way to do it because that lets you have You know all the control to say look up this expression, you know And it's attributes and indices and parameterized and and all of that cool stuff But handle it in this way if this bit hasn't worked out So that's a neat way to kind of compress all of you know What might be 30 lines of ifs and and accept key errors and everything to make that night, you know, nicer to use Cool Anthony has a question Um, will we see a jet and see python? Uh And if we will what would it look like and what would the boundaries be? Anthony wrote a jet for i'm not i'm not selling mine. I'm just picking still pigeon. Is that Mark Will there be a jet for python and how will it look like in c python c python? Yes, will there be a jet a jet? Oh Oh So So, uh, if jit is a general magical term for makes it go faster, then we've already got one because it's already faster um If you mean specifically do we have something that translates? Uh, something the bytecode into machine code at runtime Probably 313 maybe 314 How it look like like how how it'll be different from what you're doing with a big pile of c code How will it look how long have we got? Uh, we've got half an hour. Okay right, so So there are two types conventionally of just in time compilers Uh, one is tracing, which is what pi pi does And the other is method of time, which is what the jvm does and a whole bunch of other examples um pigeon And cinder and piston are all method at a time jets Um pi pi is a tracing jet Basically, the difference is tracing and method of time is what region of code you choose to compile as a single unit Uh, pi pi looks for Um loops, although it can handle cases where it can't find one um and tries to Compile basically just the loop and that will inline some function calls within it The method time just compile the whole function um Neither are ideal But the problem with any sort of dynamic optimization is you need to do it quickly and you need to do it only knowing the past You can't know the future obviously So you have to make guesses as to what sort of are good regions to compile um there is Approaches that use smaller regions basic blocks, which are basically just a few bytecodes in a row uh, hhvm, which is a php compiler facebook does that and the Yjit, which is I think a root part of c ruby um done by people at shop if I Does what's called basic block versioning, which is just runs a basic block A basic block is a unit of code without any branches in it um at a time and those are simpler and also sort of promising because uh, they're smaller units of compilation, which means lower pauses and They're much simpler to handle because there's no flow control issues within the units of code So we'll probably start with something like that um Hhvm also then does tries to form larger regions of code once it's the The trace list which is a small or basic block type units of compilation have sort of Got themselves hot You might try and find a larger more region which will probably look something like a method with a few in lines um Method time again, you can inline stuff. There's there's loads of ways doing it. So we'll probably start simplest um Now because pythons is such a dynamic language most of the much of the speed up even for conveying to machine code is actually just removing some of the dynamic stuff and sort of things like what's called guard coalescing, which is If we expect something so suppose you look up the length of a list We have to look up the global variable len and then we Then we check that it is in fact the len function And then we check the type as a list and then we compute the list of it um, we can expect a lot of those things Currently with the optimizer we have in c python 3 11 We'll essentially be doing those checks for each bytecode It's still faster than just not doing the checks at all and having overly general code But we are doing quite a lot of repetition as we optimize bigger regions. We can start removing those checks If you know you're going to have a just-in-time compiler You can generate a sort of intermediate representation Which is a sort of lower level than bytecode perform that analysis and remove those checks and then direct machine code But as part of my phd what we do I did was Do that in the bytecode so you actually you can do those stuff and still interpret the output And that still gives you a speed up. So that's a sort of next step so probably something like that will show up in 312 and then Depending on how well that works we push that further or if that shows the potential for the optimization But doesn't give the speed up and the reason that might happen is that We trade removing one overhead for another Basically because we're lowering the code We have more overhead of just managing in smaller bytecodes and doing more interpretive stuff Even though we have to do less sort of dynamic look up If that works we'll push that further if the speed up sort of is non then that becomes like a we just keep that as a sort of like a hold as a That's our intermediate step for the just-in-time compiler But either way yeah, we would expect a jet in 313 314 How to say but the important thing is being like that the client code the user code stays the same You don't have to change your code, right? Like it's just just as dynamic like from the view of it right like as it was before That was a yes Yes, that was a yes I mean it's important to understand that the cost of the jit is not just writing it is It's a balance right like like the jit normally makes for instance startups low So it means that if if you always have the jit activated or means most jits, right? Like it means that you you have a command line application It's going to be slow like for instance. Bye bye. It's lower to start on c python Pie pie is just slower than c python in if you remove it if you turn off the jit And you see pie pie. It's considerably slower than c python. It's slower start because it's just slower There's no reason why having a jit I mean it bulks out the codes as the interpreter might take fraction of a millisecond longer to To load, but if you don't use it, it shouldn't really affect the code I mean a lot that like java applications are deemed to be slow start because the jvm is huge and does take a long time to load But there's also the issue of just perceived slowness if you're used to it being fast because it's just in time compiler It will seem slower at startup And just to be fair to to pie pie there there slower until the jit kicks in and when the jit kicks in it's Significantly faster It depends of what areas do you care about like you may not care about that your application will be very very fast But you want your command line application to be a snappy Also the wagon is interesting because like when you have the jit and then you start the wagon your application through the wagon Or you just attach like gdb or something like that. You need to either Like return the uncom compiled version Or now you need to make sure that your jit has frame pointers So gdb come back through the through the compile code. So he's not just the jit. It's all the machinery around it I'm making sure that the experience doesn't get worse Yeah, all right If I can add a comment on the jit topic Yeah, there are also like two problems. First of all is that if you start with jit You will basically go infinitely deep with it because well, you can optimize everything until Probably and spend infinite amount of money and time on it. That's basically what chromium did they like spend A really really millions of dollars on like making turbo fun That's their jit. They have like super fast and like make j s efficient and you can even go So much deep that you can even like look at the ranges of the values that are being returned from functions So for example in javascript if you are doing something like string dot index of some character in the string You know, this can return either the index or or a negative value and the jit can like Know that this function always produces Values from minus one to some maximum string length value and it determines Like how this result is then used and like can optimize if conditions So that's that the big issue there that you can basically go infinite deep with it and the second thing is like security Like as you said, you may have also bugs in jit and that's the thing that's happening in chromium for example and firefox and The webkit that safari one as well and if you start with jid you will you may end up with some like very hard to detect issues and Hard to debug as well because well jit that code is not necessarily easy to debug So if so maybe that's my small request if you go with the jit approach Maybe try maybe at least think about going to rest with it because that would probably be At least more secure than using c for it. But yeah Thank you I guess once you generate machine code like it doesn't much matter like whether you generated it with rostor would see But like I see what you're saying and this is for example one reason why apple just kind of just doesn't allow you to use jitter code like on ios Yeah, because like There can be holes in it. We don't know do we have any questions from it? Okay Let's let's have another from here Thanks I was wondering if you could share some ideas of the faster c python project that you Are thinking to explore Oh, so besides jit You have a talk on this right? Yeah. Yeah come to the talk tomorrow. Yeah, great. Yeah. Thank you Thank you. The talk is kind of mostly about what we've already done rather than what we're gonna do But it does cover what we're gonna. Yeah, pretty perfect. I wasn't playing out of the conference already. So that's good then Yeah, yeah If we do still have talks like for for those of us who didn't have one yet like come to our talks Yes, you'll learn stuff like I mine is on ios. Yeah Let's have another question Core developers are also humans Controversial opinion Which aspect of your work with python filled you with joy like what's a good day for you? Let's start from that that end of the table erit Wow, it feels like I need a really good answer for this Okay When I started kind of when I took the role I had at bank of america and I was Looking after a library that about 4 000 people were using it would blow my mind That I'm writing code that 4 000 people are using And Now I work on python and I think when I commit code I sometimes think how many times a day will this line of code run You know it could be like one or two lines in a pull request and I think and that totally blows my mind So it's the impact When I take a step back and think about you know the context of what I'm doing otherwise You know the team is is You know it's an extremely strong team of Software engineers, and it's just fantastic to be working with people like that And there's there's an incredible amount of collaboration and respect and and energy That um, I think we're kind of pushing each other forward Ken there's a lot of like, um, well joy and typing right? Yeah, can you talk talk something about like what you make what makes you take? Okay. Yeah, so um Kind of like how if it mentioned about the impact, um when I first started on typing I thought that this is just something that people use for annotations then one day, um There was a bug in typing that was caused by I think me and Suddenly like I have 15 messages on that pr like complaining about the bug and people from numpy pandas and other libraries Were just like blasting my inbox and I was meant and I realized that Like oh shit typing is actually pretty important and it's used by a lot of people so um Like It's just yeah pretty mind blowing that so many people use the code that I write and the other thing is that um The typing sorry the people behind c python So the core team has actually been quite inviting because I'm actually one of the newest core developers here on this panel I'm not I haven't been a core developer for that long and Most of my experience um has been that people are quite welcoming to me Um on my journey to become a core dev Anything to add anybody else? I I I have a story. Uh, yeah go ahead with your story. I didn't I didn't know if everyone had a high point or did you just know that like He doesn't like doing it. Is that You don't want public to tell us this high point. No, I just opened up like, you know Anybody that wants to share story can't So so yeah, uh great question As everybody said, you know that the impact is just amazing because you know the code you wrote is like used by hundreds of thousands of people Uh, I I felt this when I was like, you know doing some minor Argument parsing improvement on print function, you know, like the print is like the core of the language And like I was touching that but it felt amazing But what what what what I really enjoy is seeing people like Seeing seeing People like the features that we put so much effort in like the new error messages that Pablo and I and others are doing You know people are sharing it. They're saying oh, this saved us hours and hours of debugging. Okay, that's like that that that's really Uh, that really makes me happy Yeah, if you'd asked me 10 years ago to describe my dream job, I think it would be basically what I'm doing now So that's pretty good Um, but yeah, the impact is just amazing.   It's just yeah, that make that feels really good I think I'm going to with cheesy answer and say that actually I I my favorite part is the interaction with people like, you know, I have made very good friends on the core team Like we are going to Spain next week Like it's quite ridiculous.  But but it turns out that Um, many of my best friends are now in the core team, which is I think that's awesome. And that's what gives me Into into it Yeah, so a few years back at euro python.  I told him, yeah, I've been you know, helping maintain python on windows and redoing the install and he's like, oh that was you like Okay, okay. Am I about to get in trouble? Yeah, it's 50 50, right? It's like half the time I get in trouble He's like, okay, listen, I I do a lot of teaching and I do a lot of teaching around the world and Particularly in Africa. It's like that's a really important It's a really important thing to to to this guy and it's like I do a lot of teaching in Africa And a lot of the students there the high school students don't have computers They don't they don't have access to computers. The schools don't have them And and so he's trying to teach them python and they're showing up with whatever they can get their hands on and he's got 12 13 year old kids showing up with their their mom's 12 or 13 year old laptop It's got an external ps2 keyboard plugged in plugged into the side because the the keyboard in the laptop doesn't work anymore and and he said This last time I went out was the first time So many of them could install python on these windows machines because typically they're locked down. They're restricted for For from, you know, the parents work. Whatever they're doing. They don't have admin privileges There's just limits on what they can do. There's things that didn't work that's not all like simple five letter ascii usernames and and he said The work that's gone into the installer has made it so these kids can actually use python for the first time. It's just like that Was completely unplanned But but amazing so Yeah, those are some good stories Rodrigo has a question Lucas knows my name Okay, no, sorry Yeah, um, yeah, so the Non non core developers are also humans And we are much less experienced. So if we want to make our first contribution, how do we Make it less likely to take too much of your time and more likely to be accepted I think I can take this because I I review a lot of PRs these days as my job so Just fix something that is broken in the code that you're using so I give you're like Have an idea to just proactively start contributing and it's a very generic idea But you don't know where to start like start with something that you're already heavily using and there's something wrong with it Like there's much More likelihood of you understanding the context behind, you know, some api then There's a lot of changes where people want to want to change something just because they don't really understand How the api is constructed so that that takes a lot of time because we also don't want don't want them to just Go away without their change being approved. We want them to know why So that takes a lot of time We do appreciate even simple changes like, you know to the docs and whatever like, you know, kind of you find the type of Yeah, we'll accept it But there's a lot of changes like these and they're like relatively kind of low impact Like if you read some docs and you know, one word has flipped, you know vowels and it, you know, doesn't really matter that much Um, so unless it's a part of a bigger change like we tend to kind of avoid those fixes ourselves Which is why we don't fix every Every type of ourself. So yeah, like what I would do is just start at a place where you're already a user of it So I don't know like if you're working a lot with any files And you know, you just don't like how config parser does something like Just go ahead and you know fix something about that. Like this is how I stored it Um, like same with async.io or whatever else like, you know, some part of python that you're already using Yeah, and and then just, you know, now it's easy. There is issues on github prs are on github So just follow what everybody else is doing around you in the project and you'll be fine And it's also a terrible suggestion I hate making it because it's a really mean thing to say to someone But look up what other work and discussion has gone into the idea before Most things have been discussed and it's a horrible thing because it's really hard to find And as a new contributor, you've got very little chance of actually being able to find it But if you're able to do that if you're able to kind of look through mailing list archives and mail.python.org You can find links to the posts anything that's on github. We copied all of the old bug site onto github. So it's all there Uh anything you can find because we do have people will come in and say I want to make this change And it will take Someone who's been around for 10 plus years to remember. Oh, we discussed that before And decided against it for some reason but we like that kind of research But it is incredibly hard to do so the the more of that that you can know that you've done the better but You know, I don't don't spend too much time on it eventually Eventually I couldn't find it. Here's here's the idea anyway Yeah, I wanted to add this that Whether you're joining the c python team or a new team at work You really want to spend some time and think what do they need? What is it that they need don't come with an assumption that you know What people need because it seems like a lot of people assume that what we need is more pull requests And actually what we really need is help reviewing pull requests. So You know like Once you realize that The first thing to do is to spend maybe a couple weeks just reviewing pull requests And through that high quality code reviews are a very quick way to get the right kind of attention in an open source project It's very quick It's quicker than producing Good pull requests because then you're waiting for somebody else to do a high quality pull code review So If you could kind of review other people's prs Kind of Give the cord of a bit of information like what what what did the person do? What's good about what's bad about it kind of Help the process along you will learn about it because then you will see which ones Eventually get merged, which ones don't what kind of other feedback people get so I would suggest to start contributing though This is a good suggestion. I also like if you do create a pull request and it doesn't get reviewed like often it's like either Nobody just looked at it among the other 50 that appeared that week Or uh, it's actually not that obvious what we should be doing So there's you know some thinking that people are doing maybe they should just respond on a pull request They don't do uh do that every time But you know kind of don't take it personally when your your stuff is not expected it like, you know, like everybody Uh on the team also knows is that you know that there's A small number of us and a lot of amount of change So, you know, not everything can happen quickly, but you also don't want that you don't want python to change Like too quickly Uh one thing I would add to the You know, please review pull request. Yes, please do that But those reviews appear on github as those like gray ticks Uh, so if you do that, please review So please write us what you did and what you found right like if you just click I reviewed it and I approve it and it you know appears as a gray Tick it's not really actionable to anybody like, you know, if you're a new contributor Like we we don't know like what you did like whether you just stamped it without looking or you spent two days on it So if you're reviewing like just put it on the pull request, it's free like, you know What did you do? What did you try? What did you find out? Yeah, we're we're down to five minutes, but like we have uh another what three questions. So If we if you're focused we we should be able to go through all of those um, maybe this is going to be a bad one for five minutes, but um Not non-technical questions. So my superficial understanding is being a core developer means you're working on c python You have like push religious and whatnot, but I feel like the Python kind of experience or the community is way more than just c python Like there's all these very important things like pip ipi. I don't know maybe sphinx like all these other things um, and I'm curious if You guys have discussed those projects as much as You as much as I don't know you guys promote yourself or whoever else whoever is promoting you So like you guys get lots of face time and panels like this, but I've never seen or know about the pip Developers for example or pipi um Okay, this is a great idea like so what I can tell you is uh, like we also didn't kind of promote ourselves with this panel What happened is uh, just the organizers of your python connecting me specifically saying like hey like do you have an idea? Like who could be in a panel and then it turned out that by asking me They just kind of implicitly asked me to to also be on the stage for this like to ask questions Uh, so yeah, like maybe it's a question for like kind of community organizers for event organizers to also reach out to pipi a so like the packaging authority Kind of maintainers there's a quite a bunch of them and whatnot. So absolutely we we we are Super inclusive like we like to just say like this is this community is huge right you have scientists that you know like Uh put telescopes uh in space and then use python for them like there's people in the medical community There's teachers and whatnot what what we're happy to like have all of them same with like jango pipi a and whatnot I don't I don't think we should be really responsible for like whether they get like Same amount of I don't know screen time like as we do like Yeah, okay, yes Okay, so there is an education panel. I'm hearing and there is uh A diversity one as well, uh, which is also something that apparently you can see it for yourself Like we're not awesome at but we're trying we're trying to like improve the situation Um, so yeah, it's a process. Okay So I was wondering how much freedom do you have in your core development work and how much influence Does your company work for puts into you in terms of like your focus? Oh That needs to be answered by somebody who works a bit controversial. Yes, steve. Let's go um, I I get a pretty serious amount of freedom really um, and that I think has has largely come down to kind of microsoft recognizing that we You know, we we have a platform to care about we have a cloud to care about and that's a place for developers to come and do their best work And and and you know, certainly things have changed since I started doing this because when I started doing this It was you're from our point of view windows windows windows And so anything that I touched that made the windows experience for python developer better meant that Our platform was more attractive But but at this point because You know because microsoft now cares cross platform. It's like anything that makes see python better Makes that developer experience better And and we're certainly not in any kind of position to like Keep that like keep that private like we couldn't possibly do it. It just fundamentally wouldn't work And so so it you know, they have very little influence Occasionally I get some opportunities because I'm at microsoft to do things for example If you look at the windows store right now one of the kind of highlighted front page apps on the store is python And that was an opportunity that came up because they could find me And and say oh you're internal you work here We can figure out how to promote this app and and and you know just have this big Python logo in the app store for everyone on windows who looks at the app store right now And so I get some opportunities like that I can track down the windows developers and say hey, I found a bug that affects python Can you fix it, please? Which is a great, you know great that I that I love doing But but they don't really Like no one has ever really said we you know we need this change added into python in a way that That that I wasn't able to kind of push back and argue until it turned into a benefit for everyone Okay, thanks How about bloomberg? right The finance boring world. I I'm quite lucky. I've been working at bloomer for five years and this past year I used to have 20% of my time to see python The way we arrived to that arrangement is because like it was quite clear that the work that I was doing Like was also benefiting developers inside the company, right? And although we have never I have never received a Prioritized bug that I needed to fix it was like many of the things that I was doing on my own We're already being like praise inside the company. So they say, okay It makes sense to you know, like put more effort and this year Actually, I've been even more lucky because they like I'm working 50% of my time with the fastest python project Part time with microsoft, which sounds very weird to say Like bloomers is still paying my whole salary, but I don't know it's quite a wild war To so yeah, I'm quite quite happy that you know But it's all about trust and also there is some issues that people don't think about when you have this kind of arrangement Because like if you also want like, oh, I want a nice evil, right? But like now you have 50% of your time that is opaque to your managers So because like, okay. Yeah, you're having fun there But like what are you doing? How is that really useful or more useful than if you do this other thing? So you need to have a very good relationship not only with your company So the higher ups allow it, but also you need that way to Not sacrifice your career just because you're doing this So you need to communicate and like make them understand and like be transparent So it's a lot of trust involved and that is normally gained through the years Yeah, I could say exactly the same as Or what Pablo said I used to work for facebook So like on day one when you're being hired by facebook They say like hey, don't don't get into bar fights Like at least don't get into them anymore because now you're not like who got into a bar fight You're a facebook employee got into a bar fight So if anything the kind of the pressure that you get from working at a big corporation is that like You are now representing like a big corp that you know might get sued or whatever So you actually have to have more discipline that you would otherwise have like otherwise There was never any pressure to do anything because it's all open source. Everybody else could see it if it happened Right. Uh, we reached Our time pretty quickly. In fact, like I found it very interesting. Thanks all for coming. I hope it was useful It was fun. Uh, and now there's coffee break so you can wake up Yeah, come to our talks


Good morning and welcome to the Sunday show house edition. This is every Saturday and Sunday at 1 p.m We start off in the gorgeous Mzanzi Johannesburg a two-bedroom apartment two bathrooms in a Sunning Hill in the heart of Sunning Hill This well-maintained second floor two-bedroom apartment. Absolutely gorgeous So in Sunning Hill, we have a three-bedroom cluster with three bathrooms as well as two garages This luxurious freestanding cluster was also well-maintained and of course in a high security estate This is art art art gorgeous modern modern living over here And we move on over to a five-bedroom home in Valgedacht with five bathrooms as well as three garages. This is situated in a cul-de-sac Quiet cul-de-sac and it offers that luxury living for a perfect Sunning family This is a gorgeous family home over here And of course the main bedroom does have its own balcony and still in Valgedacht a state a five-bedroom Four bathroom and three garages this elegant home in the middle of the estate It has a gorgeous formal lounge area as we can see with the open-plan kitchen And of course a stylish foyer area five living areas, which is your spacious TV lounge dining room area The list is endless. We move on over to Fun Rubik's Hof over here a gorgeous four-bedroom home Six bathrooms and four garages. This is literally against the slopes of the Durbanville Hills And of course the Durbanville Wine Lens just around the corner as you can see It's got contemporary finishers and large windows and patio doors to welcome in that gorgeous light to the gorgeous Valgedacht area a four-bedroom home two bathrooms and seven garages this offers Magnificent views throughout this home spacious entertainment areas a massive family home But still comfortable and cozy it does have a built-in bar as well as true Brise and the list is endless of special features that this home offers It's definitely a must-view back in the mother city an 11 bedroom house in Luvenstein 10 bathrooms and three garages This is literally on the tip of Tigerburg Hills And of course it is an upmarket area in the northern suburbs of Cape Town This is perfect to turn into a guest house or a big family home absolutely gorgeous Rooms throughout this home still in Cape Town We move to a five-bedroom home in the Valgemut area two bathrooms and four garages This is literally an entertainer's dream to entertain the family friends for those perfect gatherings Festive season of course if you're looking for space.  This is literally the perfect home For those working-from-home moments. It's stylish lots of space two studies Which you can convert into a gym area or of course another Bedroom if you'd like and of course you can see the open plan loving areas over here that offers so much space Our last home is a four-bedroom in fun Rubik's Hof with five bathrooms and two garages This is literally the key to simplicity This home offers simple simple elements around the home modern Tall high ceilings and of course it does come with that special feature a heated swimming pool And of course those bright patio areas perfect space to entertain your guests That's all we have for you on this beautiful Sunday Have a wonderful week going forward and we'll see you guys again next week that saturday and sunday The private property show house edition. Take care


Here we are back in Katowice city center. It's day three of my upper salient urban area tram adventure There's a couple of Pessa twist trams over there and one over there now realize that these seem to center Around Katowice. So it seems if you want to see the older console trams like we saw yesterday You have to travel out to the other towns and cities which the network serves. So yesterday I traveled that way west not actually down that route, but in that direction west and we went to Bytom and a couple of other towns there I'm going to travel east down that way down the newest part of the network route 15 or at least The last section of route 15 is the newest part of the network. So my plan is to go there We've seen some quite old sections of the network. I want to go and see what the most modern section of the network is like We're now just coming on to the newest part of the network. So you can see there's a Turning circle here, which there's to been rebuilt, but we're carrying on beyond that Last section was more like a light railway. We're running along in a cutting. I did actually wonder if it was possibly an old railway It may well have been So we've arrived at this stop here, which is well completed. We're not underground as such But it's under a road It certainly feels a lot newer. It feels a bit like some of the UK tram systems where you travel on and then you So we're now on the newest section of the whole network It's there's quite a lot of other sections being rebuilt as we saw yesterday And I think I'm going to find the same today But my plan is to ride this section to the very end. Yeah, look at you can see this is all fairly new Ride this section to the very end Just see what's there really and then travel back because back down there another tram route passed over the top So they've been interchanged with two separate tram routes The right end still finds Ends off the newest part the tram network ends here like a flue station But then it goes round the roundabout you can just see the tram we've just been traveling on Just going around the roundabout. You have to wait here or is he going to come in? There's two departure platforms one arriving. So is he coming in? Just gone to a red mass. I think the tram I've travelled and yet he is Actually, it's a lady part often in Eastern Europe even back into the 80s the tram drivers were often females Which I think is quite nice in a way. So yeah, the lady driver Smiling at me making a video. He's just bringing the tram into the stop So that we're now head back all the way to Katowice. So this is the newest part of the network It's really just a huge housing estate. There's tower blocks everywhere. I look It reminds me a bit last summer went somewhere on this kind of scale in Eastern Europe was media in Hungary Which is a huge suburb of Page the fifth largest city in Hungary and this it's like this, but that doesn't have any trams I think they have talked about building trams, but we'll go down to the video on that another time So what I'm gonna do now. I'm going to the four traveling back. They look for a cafe There and I expect I'm gonna find a cafe somewhere. So time for a coffee. I think So I've just got off at this stop here on my way back down route 15 Pessa twist tram heads back towards Katowice city centre This stop is a bit more Metro station like it's kind of not completely the track has its own Running it's not on, you know with cars. I'll tell you where it reminds me of is the Beckton branch of the documents like railway That's a bit like this the tram lines or in that case Light rail lines run in the middle of a main road. That's what this is Have a nice church over there The interesting thing about this stop is it supposedly has interchanged with another tram route That was my reason for wanting to get off here. Interestingly, they do have Chalets so anyone does need some level access then It does have that facility. It's quite good to know Still a lot of these tower blocks around those ones have been Refurbished some of the ones I've seen haven't so they sort of look very kind of brutalist, but once they've been refurbished They kind of can look quite nice And I was this other stop Okay It's over there They look like I've got across the road and go under to come up and there's a stop in the middle of the road Find our way to that other tram stop. So I see Smith stick I just saw the last few carriages of a local passenger thing on the railway line over. That's a shame. Come on Don't get across the road here Zebra crossing people are very good at waiting You know and some some countries it's not obligatory to stop and it's impossible to or hard to get across several crossings But here doesn't seem to have that problem So I think even more feeling like I'm entering Metro station I've got to go down there and then the tram lines are in the middle So, oh, there's a fair who know down there. I haven't seen one those for a long time There's a few interesting cars. I've seen about Just down there my dad used to have one of those when I was a child you hardly ever see them in the UK We have a good stuff about I've seen a few FSOs about no one two five P's yet I've seen a few FSO Kairos So I want to look out always for any interesting cars. Anyway Let's get to those tram stops. We need to go down into this Dark looking underpass. I have to say even in places like this It does feel very safe some European cities you go through a bit dodgy on the whole I Have felt fairly safe here Also, I seem to be about the only English person here I've not heard often when you get to European countries you often hear other English people I think because this really is not a touristy area. I've not come across any other English tourists or To be honest, I've hardly seen any tourists that matter Yeah Probably could have run across right, but you're not supposed to do that here in Poland. So oh No, I'm supposed to be on that side wasn't I? But there's a tram. There's some old console trams coming So what we'll do we'll wait and watch those pass through They're just at the next stop and then I'll cross over and catch my tram because I think route 24 This is a single track beyond here. So I'm looking forward to exploring that part of the network So this is the end of route 24 not a lot here Few abandoned sites the tram then goes off around a loop So I think he's already gone around the loop. So I I got off Yeah Plan was to film the tram go around the loop I'm fortunate my camera just completely froze and I missed it some a bit of noise about that But anyway, let's have a look. Oh, no, it's something more and I think I think turn that's the tram I was off Just coming that way. So I think it's turning triangle So yeah, he comes along there and turns On the triangle, which is I know that existed. I think I might mention yesterday that you do get that case I wasn't sure I was gonna find that here. Let's have a look to the easy case I feel now I'm obliged to wait and watch the next one do that.  So the tram drops off its passengers there it goes up To just wear that Zebra crossing then he reverse Down there then draws forward so I'm going to hang around here for 20 minutes and watch that There's a railway line over there might go to the station while wait. So there's anything interesting to see. So here we are. We found our first triangular terminus in Upper Saint 2009 it's one of the more modern trams, but still single-car so it had to do the Three-point turn on the triangle out there. It's fascinating to watch our lady come out a little hot and you know Studying the road as for low floor. Well, it's loaf is she and you've sort of got an upper bit and upper bit so it's a very small tram, but it's Not many places do you see modern trams that a single cars modern trams tend to be articulated? So it's me. This is the traditional tram. It's a one carriage vehicle. It has USB charging points I've noticed some of the newer trams the PESA trams do have that I'm not entirely sure if this is a PESA tram I can't see any PESA badges on it It has the this kind of Mocha. So we saw yesterday some have the Colliery Mocha It has this one with the tram logo on it So I'm gonna ride all of route 24 now from here right the way through to the other end now So it should be interesting see what's there and then we'll go and do some other routes after that I've come on different tram the one I was on terminated So I'm not sure why but this bit I particularly wanted to show is a huge roundabout which various tram routes Join to from different angles so you can see that's the roundabout and it is in the middle of a roundabout There's another tram like one we're on earlier.  Oh, it's fun There's another tram going off there and we need to be going straight ahead So it's this huge sort of gyratory of tram lines. It's really quite exciting Yeah, you can hear the wheels protesting bits. Whoa, look at that. There's a huge castle out there Well, you can see that So if I get out here, I might as well have a look at that later. So we've now Yeah, we're leaving the Gyratory And we're heading off to the end of this route. This is what was route 24 that we seem to now be on route 27 The map I'm using doesn't Isn't always quite up to date. So route numbers seem to have changed Anyway, we're not going to find the end of this route This is the end of this route wasn't particularly far on from that gyratory The tram, oh it goes into the depot. So the tram, yeah it disappears into the depot And then possibly either the same tram or another tram will come out and take us back So I'm probably going to go if there's a little supermarket go in there grab something to eat for lunch And then I'll ride back down to where that gyratory is and see what we can do from there So I'm back to that gyratory stop again. The tram I went on went off on that direction and there goes another one Now I've noticed this stop is actually called Rondo And it made me think that sounds a bit like roundabout. So I looked up and it literally does translate to roundabout So that is the roundabout is just there. So you've got the route I was up there as we know that went to a depot and you've kind of got a route going across there I'm going to have another look at that castle now I don't know it's going to be open but I thought I'd just walk up to it and see what there is to see up there So I can't really get away from the tram, but I sort of can On the top of the castle we can see down to that gyratory, the big tram gyratory Interestingly it's not actually a roundabout. I've realised from looking up here cars only go around one side of it It's really quite a fascinating view You've got the cameras playing about with a light, which is annoying There's a load of tower blocks over there Which as soon as I'm out of shot there appear isn't that funny annoying there So you've got a huge estate over there Looking this way you've got more of a traditional town centre, but again with More tower blocks in the distance And then out this way you've got Two things you've got part of the mother park and a wooded area You've got the other huge castle tower And behind it the camera is not going to pick it out, but there's the cooling towers of a power station You may just be able to pick them out beside the big tower As we've seen this area there's a lot of coal mining, there's a lot of coal fired power stations Poland doesn't have any nuclear power stations at the moment There is an unfinished one in the north, which has been unfinished for years And there's also talk of building another new one, so I have to wait and see on that But yeah lots of power stations, I can just see over there It's hard to pick it out, but there is the line we just travelled on Headed that way to a depot, but there's also a branch because off that way to seemingly nowhere So whether they thought the urban area would expand that way and it appears it hasn't as of yet Maybe that's why they put that junction in So what my plan is to do now, I think it's route 22 The route that runs along there, but travel right off in that direction up a single track line And see what we can find when we get to the end of that route So this is the end of route 22 They seem to have rebuilt the terminus stroke circle And there's a complete full circle, should the tram need to go right round perhaps to rearrange your route And so that's the tram on the travel route, it's just been round the circle So you can see a lot more of these tower blocks everywhere I don't have a wanderer over there, so I think there might be an older town centre over there There's a nice looking church So we'll just see what there is here And I'm always finding it quite fascinating with the network the size of this When you've got a single track route Okay between the last two stops there's actually a double track but a mainly single track route You just think what is going to be at the other end and you never know It's like earlier on we found that castle, which was you know a really nice thing to find Oh and that says the next tram is in 15 minutes, they're not that regular on this route So it might be an idea that I don't wander too far so I can travel back on this tram And if we go up here or maybe not But I can see the church down, well I've got 15 minutes See the church down there What I'll do, I'll wander down this street and I'll show you when I get there Because I don't think it's going to be overly exciting just walking down This narrow street towards the church So I've just been walking down these back streets, which is a bit unplanned But here we are, there's the beautiful church, there's loads of churches like this All around Poland, so if you come to Poland and you like churches You won't have far to find one I'm going to run back to tram sometimes, I want to get a tram back I'm not sure if there's enough to keep me amused for another half an hour or so here So route 22 is another one where the whole route isn't in operation I've travelled for here, the tram went round the loop, that's the tram I travelled on I have filmed it and I've put that on a set of videos So have a look at the link on screen now I'm going to hang around just so I can get a different tram back here There's more tower blocks and factories and not all that else So I don't think I'm going to stay here that long, just wait for the next tram I'm back on the tram now, on route 27 on two of these old console trams Two running in multiple There's only one other person in this carriage and not many on the front So I've got on back at that gyratory again If you go to the end of route 27 it might be dark, well it's on again there And then that probably concludes my as much as I can do within daylight There's still a few routes I could do but there's not an overly point doing them in the dark So see what's the end of route 27 and that'll probably be it Look off say for the most interesting part of my tram pass around I've seen it at last This is route 27, it's quite mad, it's a bit bumpy It seems to be mainly sickle track now with a route We just went over a bridge over what looked like it was an entrance to a factory We're in Kingsbury, what we go through One minute we saw this tower block everywhere Well it's so noisy, there's some hours where we're going over Exciting tram route, it's getting a bit, it's starting to get dark It's a shame if I realised it would be this good I marked up this earlier Anyway, I think this is quite a nice way to round off my Upper Sicilian urban area adventure And it's raining and I've come to the easternmost extremity I can get to It's not the easternmost extremity of the network But unfortunately that line was closer as you work So this was a really mad tram route It's definitely my favourite so far It's funny we were running by a train earlier on Well that's the railway line there Now I'm sort of half tempted to catch the train back to Cattavittstub I think it was just such an exciting tram route I'm going to take the tram back, it's going to get dark soon But then when I might not go all the way back to Cattavittstub by tram I might take a train some of the way But this is it, I hope you've enjoyed this adventure It's been really quite exciting Oh I think I've just noticed there's another bit of gear There's still lots of coal mines Where I've really enjoyed it So thank you very much for watching Do come and visit Cattavittstub yourself You can fly there from the UK It's a great city, not the most touristy city In fact I've not seen any other English people But I've really enjoyed it here So thank you very much for watching Please do feel free to like, subscribe and comment And from quite literally the end of the tram route


What's going on everyone? Sam here with Litten Sports Cards. We're been one box of 22 top gilded collection baseball for John V. So good luck here John. Let's do it. It's a bird. It's a plane. No, it's Felix DuBron. No, it's Mike Elfrey. No, it's Wandy Rodriguez. Wandy Rodriguez. I am, we need Wandy Rodriguez autos and new products that I riot. Okay, make it happen tops. Make it happen. I am struggling to hold this together because I got a bunch of fools right now. This one here is a Bobby Whit Jr. on the gold to $1.99, 54 out of $1.99 for the Royals. Nice George Brett that is $40 out of $99. It's for the sub there, Rob. Vladimir Guerrero Jr. That is $30 out of $50. Yeah, you can mag the Whit. Really nice Bobby. And Shane Bieber. Nice one there. $29 out of $50. Yeah, dude, all those base rookies are like the big names are huge in this. Solid one right there. Gigi. Goose gossage. Oh, I just nailed that. There's Rod Karoo, five out of $90 on the framed auto. Nice one there for the twins. Congrats on that, John V. That was just on our legal team though. Nice one there. Congrats on that, John. That'll do it for the break. John, thanks again for your support buddy. We'll get them right out to you, man.