00:00:00>> Hello, everyone. Welcome to this week's Vercel community live stream. We're talking
00:00:22about Python today. I'm Amy Egan. I'm part of the Vercel community team. I'm joined here
00:00:28with Jacob. Just a reminder, we are streaming this on X and YouTube. But if you want to
00:00:34join the chat, please sign into the community website and click going on the event and you'll
00:00:39be able to participate in the chat. >> Yeah, if you're going to hang out in the
00:00:43chat, please remember to be respectful and follow our code of conduct. And I'd like to
00:00:48introduce our guests today. We have Elvis and Yuri from the Python team. Welcome.
00:00:55>> Hey, guys. Thank you for having us. >> Yeah, thanks for coming.
00:01:00>> So, tell us more about you guys. >> Amy, I can't hear you.
00:01:08>> Oh, no. >> I can still hear her.
00:01:13>> Interesting routing. Elvis, can you hear Amy? >> I can hear everybody just fine.
00:01:20>> All right. Just go ahead. >> I can hear you, Amy. So, let's try to reconnect
00:01:26to your issues. All right. So, while Yuri's figuring that one out, I'm just going to go
00:01:35ahead and introduce myself. I'm Elvis Pranskevicius. Joining Vercel just a few weeks ago with Vercel's
00:01:47acquisition of GelData, our team, where we've built building databases and did a lot of work
00:01:56around Python for Python with Python. Another thing that I'm mostly involved in in the Python
00:02:05ecosystem is asyncpg, which is a driver for Postgres. It's a native asyncio protocol implementation,
00:02:17which is quite popular. I think it's the de facto async driver for Postgres. Obviously,
00:02:24it's not the only thing. I'll let Yuri talk a little bit about other things that we've
00:02:28done before joining Vercel. >> All right. Can you guys hear me?
00:02:35>> Yes. >> Awesome. Amy, I can hear you now.
00:02:39>> Good. >> All right. So, happy to be here. I was reconnecting
00:02:45to the streaming thing. I didn't hear what Elvis was saying. But Elvis and I have been
00:02:52working with Python and on Python for a very, very long time. I became Python Core developer
00:02:59in 2013. The backstory is that it all started with Hasatar built in Python, because in Python
00:03:083.0.0. alpha 6, Hasatar was swallowing all exceptions. If an error occurs, the function
00:03:15was just returned false. And if you're doing a lot of metaprogramming, if you're overloading
00:03:20the other function or something like that, debugging that becomes hell if Hasatar just
00:03:25swallows errors. So, I wanted to fix that. I joined the Python mailing list at the time.
00:03:33Now they use Discourse. Proposed that this should be fixed a bit at the patch. My patch
00:03:39was merged. And I just basically started my contributions to Python. And then fast forward
00:03:46one year, I became Python Core developer, started working on asynchronous programming, added
00:03:53async/await to the language, multiple other things. Then Elvis and I started building what
00:04:02later became gel. And for that, we needed Python to be faster. So, we started working
00:04:07on UVloop, which is basically, I think, the way how you run async/await code now in production.
00:04:14And it's a drop-in replacement for the Python event loop. And after that, we've done a lot
00:04:22of other works. I wrote a number of Python enhancement proposals, PEPs for Python. And
00:04:32somehow we basically were using Python for this whole time. Gel was a big part written
00:04:41in Python. And we basically know our ways within the language, within the interpreter, within
00:04:48the core community. And hopefully, we can make Python support much better here at Vercel now
00:04:56that Vercel wants to become the best Python cloud in the world. And I think it's quite
00:05:03achievable. So, I'm excited about this.
00:05:06Yeah, we're really excited as well. Amy, you're muted still. No worries. So, one question I
00:05:15have here is like, why is Vercel investing in Python now? Why is now the right moment
00:05:20to start pushing forward and improving and, I guess, focusing more attention on Python
00:05:28here?
00:05:29So, I think that technology generally has some sort of non-linear hype associated with it.
00:05:38For quite a while, Python was the default platform, I guess, or one of the default platforms for
00:05:45building web applications. There was Ruby on Rails, there was PHP, and there was Python.
00:05:49And a lot of well-known companies like Instagram, for example, or Pinterest, they started out
00:05:55of a Python code base. I think both of them actually started out of Django. And then, essentially,
00:06:04machine learning boom started happening. And Python was quite popular and still is for machine
00:06:11learning applications, but then TypeScript happened, React happened, Next.js happened,
00:06:17and Node.js happened as well. And people started building web applications on top of JavaScript
00:06:24sometimes, proper full stack applications with the backend component and whatnot. And I think
00:06:32Python's role in like pure web applications when you have a front-end like created with
00:06:38templates and whatnot started to slowly fade away and sort of move Python closer to just
00:06:43backend, like you implement your backend with Python and front-end is handled by JavaScript.
00:06:47And I think it created some sort of an appearance that Python is becoming less popular, at least
00:06:52for some people. It was never true, for what it's worth. It was always growing in its user
00:06:58base. But that was kind of the vibe, I think, that a lot of people experienced or sensed.
00:07:03But nowadays we have AI and all of the major AI labs, OpenAI, Anthropic, MetaAI group,
00:07:12all of them are essentially using Python at scale. And I think some of the most sophisticated
00:07:18AI frameworks now are created with Python as well. So that basically created this next cycle
00:07:26of hype around Python. And I think now is the time. Vercel is an incredibly mature company.
00:07:35I think the level of DX they provide for JavaScript is just unmatched still to this day, which
00:07:42is kind of funny to me. Like if I were building a competitor to Vercel, I would just copy
00:07:46it, but somehow everybody fails to replicate the magic. And I would expect some companies
00:07:51to do the same for Python, but it's just not the case. Python deployment is still quite
00:07:56hard. And building, deploying, managing Python at scale, it's actually a hard thing to do.
00:08:04So I think the moment is absolutely perfect for Vercel. Now that it's a bigger company,
00:08:09it has more resources to invest into Python and build, replicate the magic that they've
00:08:15done for JavaScript. Elvis, do you have anything to add? Yeah, I agree. This is I think a night
00:08:25time for Python to become front and center at Vercel alongside JavaScript and TypeScript.
00:08:34A lot of stuff happens on the backend, and Vercel is becoming a backend host, not just
00:08:46the frontend host, from frontend cloud to AI cloud. And AI obviously is everything, including
00:08:55the frontend, and Python plays a really big role there. So we're here for it.
00:09:05So you mentioned there was a big focus on a lot of frontend web, Node, just JS in general,
00:09:15and that's resulted in a lot of tools being available for that side of things. And Python
00:09:19does tend to be more backend, which maybe doesn't get as much spotlight, even though it's back
00:09:25there keeping things running quietly. So with this shift at Vercel to focus on Python, do
00:09:33you see that as maybe the goal being the same kinds of tools that we have for Node and JS,
00:09:39or is it a little bit different with the way Python runs and maybe a more focus on AI and
00:09:45backends? There's a little known story, and it's so little
00:09:50known that even I forgot the details about it, but there is a branch in our universe
00:09:55where Python is in all browsers, essentially by default, instead of JavaScript. There was
00:10:00a moment, I think maybe it was Brendan Eich reaching out to Guido van Rossum, or maybe
00:10:04it was somebody else from Mozilla leadership. They consider it running Python inside Mozilla.
00:10:10And if that happened, well, maybe the world would be a totally different place, but it
00:10:13did not. So JavaScript essentially is the way how we want to run applications. And even with
00:10:19WebAssembly and all different ways how you can compile Python to run inside browser, it's
00:10:24still heavy. It doesn't feel native. So Python's role was never essentially to create UIs with
00:10:31it, at least inside browsers. And so the tooling is also quite different. Python tooling is
00:10:38more about how do you build, again, backends, how you build machine learning pipelines. It's
00:10:45just a different set of tools. And for JavaScript, the tooling is integrating SaaS, CSS modules,
00:10:53graphics, images, transpilers, compilers, all of that magic to React compilers, React
00:11:00itself, GSX, to make frontend enjoyable. So the worlds collide, though. They intersect,
00:11:10and that intersect is usually the backend to frontend boundary. This is where you have
00:11:15your API implemented in Python and your frontend implemented in JavaScript or backend implemented
00:11:19in JavaScript as well, and they need to somehow communicate with each other. And I wouldn't
00:11:27say that it's the lack of Python tooling within Python as a platform or programming language
00:11:32itself. It's that we don't have yet amazing tools, like, for example, at Vercel to connect
00:11:40your existing Python projects. Just push it, essentially, and just deploy, just ship it
00:11:45immediately, without any configuration, without any hassle. Make it elastic. Make it scale
00:11:52automatically. Create a workflow, be that with salary or something else, push it to the cloud,
00:12:00and then it's just, like, handled automatically for you. You don't have to worry about it.
00:12:03And it's deployed everywhere. And it's like when a request from a browser routes to the
00:12:08server, route to the closest server to the user, stuff like that. And for that, you need
00:12:15big infrastructure, and you need proper tooling, and you need proper integration, and you need
00:12:19vision. And for what it's worth, I think, again, for the JavaScript world, the vision
00:12:27is largely shaped by Vercel on how to do it properly, and we can basically piggyback on
00:12:35that vision, for what it's worth. I don't even think that we as Python team here need
00:12:41to invent any sort of new tooling or new concepts for Python DX-wise. We just need to make it
00:12:48work, essentially. Maybe that will necessitate some new tooling. But ultimately, we already
00:12:54have the tools. We already have Git. We already have Vercel just bring Python into the mix,
00:13:02essentially. Make sure that it works. And hopefully, this is going to be it for tooling. I don't
00:13:06want us to learn new tools. We already know Python. We already know Git. So if we can limit
00:13:13it to that, that would be beautiful. Less tools to learn, more power to you.
00:13:21Yes. One of the big things that resonated very much with me when we joined Vercel a couple
00:13:30of weeks ago was the concept of framework-defined infrastructure, which is something really cool
00:13:39because what it implies is you take your code the way you wrote it, the way it runs locally,
00:13:48you push it, and the platform figures out how to best configure itself to run that code for
00:13:53you, which means that we're not here to create some new framework, Python framework, and make
00:14:03people use it. We are here to enable existing Python code, existing Python frameworks to
00:14:10run and scale and derive all the benefits from that managed platform that Vercel is providing
00:14:19to people, including observability, scalability, security, all those things, just essentially
00:14:27for free from the standpoint of engineering. So it's kind of, Amy, you asked about tooling.
00:14:38It is preserving the Python, existing Python toolset, but integrating it really well into
00:14:48Vercel's stack, which means that, hey, Vercel CLI works natively just fine inside any Python
00:14:57project and the web portion, the portal, the dashboard can see through your codebase just
00:15:07as well as it can through the TypeScript codebases.
00:15:15So when a developer is choosing, say, their tech stack for a product, are there tasks that
00:15:22Python is exceptionally well suited for above and beyond where, say, JavaScript, TypeScript
00:15:31tends to sit, or is it largely like an ecosystem play where you get the collection of libraries
00:15:37that have grown around it. And for that reason, it can be a really good choice to choose one
00:15:47or the other. I've always been on the TypeScript side myself, so I have a fairly low context
00:15:52as to how the Python side of the fence does look.
00:16:00There's a famous joke about Python. They say that Python is the second best language for
00:16:07everything. And that's actually true if you think about it. Python is everywhere. It's
00:16:17in academia, it's in machine learning and AI, it's obviously in the web in the form of backends
00:16:25and APIs and finance, all over the place. And so it has an incredibly deep, varied ecosystem
00:16:37of code, of packages on PyPI. PyPI is probably the largest collection of public software.
00:16:46I might be off here, but I would think so. And so, yeah, it's just that strength and
00:16:53breadth and depth at the same time that enables the staying power of Python, enables the growth.
00:17:04Even when there is a new category, it appears like AI naturally piggybacks on the existing
00:17:11strength of like, oh, there was machine learning before that. And before that there was scientific
00:17:15computing, so NumPy, SciPy, Numba, all of those things kind of converge and enable Python
00:17:23to grow.
00:17:28And I think for a lot of people, it's not even a question what they want to start with.
00:17:32It's just like you are predisposed to choose one thing or another. For a lot of people,
00:17:37they just identify themselves as a TypeScript engineer or Python engineer, and they naturally
00:17:42reach for one thing they think is perfect. And it just so happens that Python now is
00:17:50squarely in the category of, hey, this is what you used to write your backend with. Of course,
00:17:56you can use Rust and then it's going to be faster, but you probably will spend more time.
00:18:01Of course, you can use JavaScript, but I don't know, for a lot of people, they just think
00:18:06that Python is stronger there. Or, for example, if you have some machine learning scripts and
00:18:14infrastructure, just writing your backend in Python makes more sense because then two
00:18:19things are sort of like in the same language and whatnot.
00:18:23So yeah, for what it's worth, I think we need to embrace this. Diversity is great pretty
00:18:29much in every category, be that between people within the company, within the country, within
00:18:35your technology stack. I personally find it boring when you just have pure TypeScript
00:18:44code base, you don't use CSS, you use tailwind or something else, and just lock yourself
00:18:50into just one thing and you only use one thing. To me, I don't know. I know that some people
00:18:55appreciate the simplicity. I appreciate when things are slightly different. This is where
00:19:00you can get a lot of frustration, but also inspiration day-to-day, connecting things
00:19:07to each other. And this is when your best work will probably happen.
00:19:13We've got a comment in the chat and it's not really a question. It's just nice. Python and
00:19:17machine learning is a proper love story. In machine learning, I can't imagine anything
00:19:22except Python. And in terms of data pipelines, no one can beat Python.
00:19:29It's true. As Elvis said, Python is this perfect glue language, essentially. This is what makes
00:19:35it the second best thing for everything because there is obviously a first thing for doing
00:19:42ML, running high intense CPU compute, for example, or GPU compute. It's not written in Python,
00:19:51but Python is amazing at gluing things together because of its CPI, because of its history,
00:19:57because of the momentum that the ecosystem already has. It just feels natural, essentially,
00:20:04to use Python for this high-level orchestrating of low-level tools and low-level languages
00:20:10as well. Yeah. Python is great.
00:20:18I also want to ask, because we're talking about what Python is good for and how so many people
00:20:25have identified themselves as one type of thing and maybe that's not a Python dev, but maybe
00:20:30they want to get into it. So do you have any advice for somebody who's new to Python who
00:20:34might want to get started with it and learn how to use it for something real beyond just
00:20:40like a simple quick tutorial or reading docs? I'll say a couple of words and then Elvis will
00:20:47share his perspective. I think that I personally tend to learn something by just going and trying
00:20:56to build something with it without just doing a deep dive, essentially. For Python specifically,
00:21:03by the way, it wasn't quite the case. For Python, I picked up a book by O'Reilly and I just read
00:21:09it in a couple of days to get an idea, get a sense of what this programming language is.
00:21:13I just glanced through the whole thing, but then I essentially just started building stuff
00:21:18without thinking. And it was the era when you didn't have chat GPT and LLMs to help you.
00:21:27So that book, I guess, was my LLM. But my advice is always just pick a problem to solve and
00:21:35go solve it. I find learning technology in any other way just boring and there is a high
00:21:42probability of you just getting bored and never learning it, essentially. Just pick up a task,
00:21:48pick up Python, spend an hour just learning the basic syntax and dive in. Maybe with LLM you
00:21:55don't even need to learn the basic syntax anymore. Just ask it to help you and guide you. Ask it to
00:22:00tutor you and it will happily do that for you. Pick the stack that everybody is using. Today,
00:22:07it's a fast API, essentially. And yeah, just dive in. Machine learning might be a little bit more
00:22:15complicated because I think you have to have mathematically inclined mind and some basic
00:22:19training to do machine learning. But using Python for anything else, be that your home automation
00:22:27or a simple crowd application or pretty much anything, to be quite honest, just pick a task
00:22:34and dive in. That will be my suggestion. Yeah, I fully agree. I do think that the best way to
00:22:41learn anything is to douche. It's the last, the lasting skills form when you're actually doing,
00:22:52and more importantly, struggling through a problem. In the beginning, it's hard. You don't know your
00:22:59way around, but that's what forms those strong connections, neural connections, the neural net
00:23:05that is inside your head. But also, Yuri mentioned that, you know, he and I, we learned Python long
00:23:15before, obviously, chat GPD and other LLMs became a thing. But nowadays, it is truly so much easier
00:23:26to dive into a new technology because you can just ask questions, right? You can ask pointed
00:23:32questions at chat GPD and, you know, receive tailored examples of how to do that thing that
00:23:40you're interested about. And importantly, do not ask it to do it for you, right? Do not ask Cursor
00:23:49to just vibe code this thing in Python because that way you're not really learning or just observing
00:23:54something else doing the work. But if you ask, hey, how do I do X in Python, right? Because I know how
00:24:01to do it in TypeScript or in Go, and you get these examples, you get links as well. So it's a really,
00:24:08you don't get frustrated by Googling things and clicking on wrong links. So I think it's a huge
00:24:14boost in learning is to use LLMs. But I also wanted to mention is that if you're really serious about
00:24:21getting into the new ecosystem, join community, join some local development group, join a hackathon,
00:24:32meet some people, form those relationships. It really helps and like becoming part of it,
00:24:38like feeling that you belong here. And it's also very valuable in a sense that people give you
00:24:46advice. Hey, go do that or meet that person, talk to that guy and so on. It's magical.
00:24:56Nice to be accountable to someone too.
00:24:57I want to actually add a couple of things now. Elvis expanded on this beautifully. So first of all,
00:25:04and this is probably a conversation for a different time, but I can feel my brain sometimes becoming
00:25:10smoother when I'm using LLM to do everything and you're kind of like just sitting, observing it,
00:25:15failing, wasting time with it. What Elvis suggested is gold. Don't ask it to do it for you. Ask it how
00:25:23to do it and then do it yourself. And this is how you actually learn the skill. And once you're an
00:25:29expert, essentially in Python or any other programming language, then you can wipe code.
00:25:33Then you know how to steer it properly and get the maximum value out of it. But the worst thing you
00:25:38can do is pick up new technology and try to wipe code with it because you will have no idea what's
00:25:43going on whatsoever. And you will have no idea how to put AI back on rails. It's really, really hard.
00:25:53And one more advice that I wanted to give is that open source is wonderful. I'm actually super happy
00:25:58that Vercel is so open source aligned. It's absolutely incredible to see a big company
00:26:04like have this view of open source and attachment to it. But open source is great for everyone.
00:26:11It's great for people who want to learn things as well. Don't assume that you can't contribute
00:26:17to Python programming language when you're just learning it. You already can. In fact,
00:26:23the easiest way to contribute to Python, for example, is contribute to the docs
00:26:28meaningfully. You read the documentation, you don't get something, then you figure it out. Then go and
00:26:35make a pull request. You will learn so much from this experience of contributing. You will meet so
00:26:39many new people if you keep doing that. And today you contribute to documentation, tomorrow you
00:26:44contribute to documentation, and the day after you're going to be writing fixes for the programming
00:26:49language itself. And millions of people will use your work, essentially. It's a thrill when you get
00:26:57this feedback loop with the world, essentially, of like contributing something and seeing the world
00:27:03using it. It's absolutely amazing. And I also think that we're in a unique place as software engineers
00:27:11because you can be an amazing photographer and still nobody will care. Like you will have 100
00:27:18subscribers on Instagram and you will be struggling. Maybe some luck, stack of luck will happen and
00:27:25people will notice you. But there is so much of that content. It's so hard to get like really sort
00:27:30of like recognition and like people printing your work and hanging on the wall. But with software
00:27:35development, it's different. You fix something and then everybody is using it tomorrow. Like there is
00:27:40no other field where you can get this feeling and this satisfaction so fast. And today with LLMs and
00:27:49everything else, you have no excuse not to contribute and improve things. So just go and
00:27:54build something. Go and ship something. That's the advice. Good advice. I love that. Project-based
00:28:03learning has been how I've learned pretty much everything in my career. And it scares me a little
00:28:07bit to think there's a generation of new developers coming in using ChatGPT who are just skipping that
00:28:13whole step where they never get hands-on with a project and never learn it. Maybe they learn
00:28:19how to ship something but they don't learn how to do the iteration on it. That's missing a fundamental.
00:28:25Again, this is a conversation for a different community session and let's totally do it.
00:28:30But I think we're going to be fine. Terabytes of software is written right now. People will
00:28:35have to fix it. People will have to learn how to do those things anyway. So we're going to be fine.
00:28:41On the topic of the open source contributions, will you still be contributing to the say Python core
00:28:51while you're at Vercel? In fact, I think we're going to be contributing way more now that our
00:28:56mission is not about building databases or other products. Now it's about improving Python. I
00:29:03actually want to contribute more. I want my team to contribute more and I want to grow talent within
00:29:10Vercel and potentially hire new talent to join Vercel and help us build this. Again, Vercel has
00:29:19deep roots in open source and I can see the management within the company just like really
00:29:25aligned with open source. Some people say they will quit the company as soon as they have an
00:29:31enterprise version of any product. So it's quite magical and I think we're going to have a lot of
00:29:39support with us contributing to the core, to the standard library, the documentation, to the
00:29:45community and everything else. This is the way to build essentially. Building in public doesn't just
00:29:50mean that you build something and blog about it. Building in public means collaboration with the
00:29:56community and everyone else. That's the true sense of it. We have both Elvis and I. We've been doing
00:30:04open source for like decade and a half essentially and we intend to intend to continue. Elvis? Yes.
00:30:15Well put. We absolutely are going to focus on not just Python, the language itself, but also
00:30:27the ecosystem. So UVloop, AsyncPG and all the other smaller things that we have under our umbrella
00:30:35will obviously continue to be and will improve that stack and come up with new things too. Who knows?
00:30:47Yeah, we have some ideas. Not going to spoil them right now but we have some ideas.
00:30:53Expect to hear from us. You mentioned potentially hiring more engineers. Is your team hiring right
00:31:00now or should people keep an eye on the careers page for that to maybe eventually be posted?
00:31:06Well feel free to send your CVs or just emails. It's fine. We're I guess not actively hiring right
00:31:16now because we just need to land and start. The administration walks as I want to call our team
00:31:26within Vercel. But we will be hiring for sure and in fact I think one position that I'd be willing
00:31:33to hire for now is going to be a developer advocate. If you're passionate about Python,
00:31:38if you have experience developer advocating, if you tried running a YouTube channel or something
00:31:43like that or worked on documentation or have a technical blog in Python, if you know a lot of
00:31:48people within your community, if any or if one of those things is true or many of those things
00:31:54is true definitely send me an email and we'll take a look. Amazing. So we're almost coming up on time
00:32:06here so yeah I'm not sure if we have enough time for another question yet. Where would be the best
00:32:17place for people to give you feedback about the changes that are coming in, things they'd like to
00:32:22see with Python and so on as you continue to build this out? We have this website community.vercel.com
00:32:34right Jacob? Yes so start posting there and if we feel that we need like a new top level category
00:32:43called Python we can create that. But like let's see how active the community is. If the community
00:32:49is active and we see a lot of bug reports and feature requests we will make it even more
00:32:58noticeable and prominent there. But also feel free to reach out on Twitter directly. I just DM me. I'm
00:33:05@1st1 there. All this I think is L. France. Yeah everywhere. So yeah just reach out on GitHub,
00:33:16Twitter, email us. My email is urey@vercel.com. Just email me directly. It's fine. Whatever works
00:33:27for you essentially. Just the worst thing that you can do is something doesn't work for you and
00:33:33you're frustrated and you don't report this. You don't surface it. Let us know about stuff that
00:33:40doesn't work and we'll fix it for you. Maybe we'll not fix it for you immediately. Maybe it will take
00:33:46some time but eventually it will be fixed. The only, not the only, but one of the main mechanisms
00:33:54is direct feedback from the community. So please, please complain. That's good.
00:34:01Yes it's the only way we know something's broken right? You think it's not broken?
00:34:08Also you have telemetry obviously logs and whatnot but they never tell you the full story.
00:34:13Your telemetry cannot tell you that DX sucks. Your telemetry cannot tell you that the tool
00:34:20is sub-optimal or the tool is inconvenient to use for example or something like that. Your telemetry
00:34:24cannot tell you that docs are broken and people don't know how to navigate and only 10 percent
00:34:29of people can figure it out and the rest cannot. So yeah even with the best telemetry in the world
00:34:36you still can't avoid just heading direct honest feedback from the community. So please
00:34:42keep it coming. Please complain and we'll do our best to address it. Please complain everyone.
00:34:49Yes please complain about Python by the way. We don't care about other complaints.
00:34:54Yes all right.
00:35:01Awesome well I think we are at time. I think we actually went over a little bit so thank you guys
00:35:09for sticking around a few extra minutes with us. Really appreciate it. Thank you so much. This was
00:35:13fun. Thank you. Enjoyed it. Let's do it again. Yeah yeah. All right thank you all so much. This was our
00:35:25last community session of this year. I think we are off for a couple of weeks with the holidays and end
00:35:32of year so join us in January. We will see you again then. See you all in the new year everyone.