cover of episode PySheets: Spreadsheets in the Browser Using PyScript

PySheets: Spreadsheets in the Browser Using PyScript

2024/11/1
logo of podcast The Real Python Podcast

The Real Python Podcast

AI Deep Dive AI Chapters Transcript
People
C
Chris Laffra
Topics
Chris Laffra:PySheets项目旨在创建一个在本地浏览器中运行的Python电子表格应用程序。该项目受到Jupyter Notebook的启发,但针对电子表格的非线性图结构进行了改进。PySheets利用PyScript将Python代码运行在浏览器中,并使用IndexedDB进行本地数据存储。为了提高加载速度,PySheets采用了一种新颖的方法,先加载界面,再加载较大的资源。项目还包含一个名为LTK的小型工具包,用于创建用户界面。在资金方面,Chris Laffra选择了一种自力更生的方式,先开发产品,再寻求商业化。在数据存储方面,最终选择了IndexedDB,因为它满足本地化和合规性要求。PySheets的目标是成为一个平台,允许用户扩展其功能,并促进工程师和业务团队之间的协作。项目采用开源方式,鼓励用户贡献和改进。

Deep Dive

Chapters

Shownotes Transcript

Translations:
中文

Welcome to the real python podcast. This is episode two hundred and twenty six. What goes into building a spreads IT application in python that runs in the browser? How do you make IT launch quickly? And where do you store the cells of data this week on the show, we speak with Chris laa about his project pie ets and his book communication for engineers.

As a software engineer, Chris has worked IBM, google, uber and several financial institutions. He speaks about developing productivity and communication skills as an engineer. We begin our conversation by digging into his background, building engineering teams and improving communication.

Christi's idea for py shets is to have excel inside python with everything running locally in your browser. He was inspired by the success of jupiter, no books, but wanted to develop a tool, more suit to a spread sheets. Non linear graph structur Epace's i s b uilt t o r un l ocally i n t he u sers b rowser, are taking advantage of python pt.

We discuss finding the right solution for storing data in the browser and developing a graphical tool kit to create the U. I. Chris also shares the novel method found to get the interface up and running while the larger assets are loading. This episode is brought you by century fix application issues before they become downtime with century error and performance monitoring for python. Alright, let's get started.

The real python podcast is a weekly conversation about using python in the real world. My name is Christopher baily, your host. Each week, we feature interviews with experts in the community and discussions about the topics, articles and course found at real python dot com after the broadcast, join us and learn real world python skills with the community of experts.

A real python 点 com。 Hey, Chris, welcome to the show. Hi, nice to meet. Yeah, it's really nice to speak to you. I featured one of your projects recently on the show, and I was very interested in learning a little more. We're going to talk about the different projects that, that you're working on, definitely dig into high shets.

And where I kind of wanted to start if you're comfortable with IT is looking into your talks and I kind of followed your visual timeline. So a resume, you spend a lot of your time in your career building and motivating teams of developers. And I think it's really fascinating to me. And what was that like?

yeah. So my history is I grew up in the nettle. Ds, i'm a touch residents, but I lived almost have my commercial life and my my professional life in the U.

S. Mostly on the east coast OK. So have, uh, experience with both cultures. Probably I have A P H, D. And computer design, so I designed not figgering the language.

And that came out in nineteen ninety two, which was about the same year that payton became popular, actually, when we to moved to the U. S. And I moved in to the U.

S. In the same year. And of course, everybody knows the python language. Nobody knows my language. IT also starts at the p but h the funny thing is, uh, my language was actually ahead of its time.

So IT was a distributed language, an active language and a graph database built in into the language, already interesting. So all these things, like we try to solve problems that were in problems in one thousand ninety two. There are problems right now.

But yeah, so I think that that that the excuse I have personally for python being successful was that I was much more dramatic at the time. IT was just solving a problem that people had is like how you script a couple applications together, how you get data from here to there. And the problems where you are trying to solve were, yeah, yeah, yeah.

probably too far out. So head of your time.

yeah, at a long time. But maybe I I should like revive the ideas from that language and come up yeah with a new idea on top of bytown, for instance, to do something similar. But maybe I don't know.

can you just briefly describe what you meant by distributed .

so in in a language, the python language and java scrip prances in the browser, the execute, they have a main threat. So this is the threat that starts when you bring up your program, and that runs main. And that moment you can do only one thing, like one thing at a time. This is in one sequence.

the whole world of IT. All such.

if you want to do things in parallel, you have to create multiple threats s and then you have to get access to the memory. And the memory is then the bottom neck. In this year, he mention the girl.

So the gala, basically the guard that will allow you to use the same shared memory from different threats, the executive parallel, but they don't really executive power that they are always think, realize, right? So if you have a really distributed language, IT means that all the threats are running 呃, independent of each other. They don't share memory OK and the way that they share information is by message passing.

So they it's basically a big system of microwave that interact with each other. And ah in the ninety eighties we call these actors of actor languages. So objects had thrown like behavior.

They can move around between different notes on the network. And was very popular that the kind of research topic, when I did my PHD, was to investigate distributed programing. Later on, we got much more practical applications of these ideas in that produce, for instance, that came out of google to S.

P. Break up your work in a couple of different parts and then run this imbaLance and get back to result. Yeah, so this map produce is a functional programming. Yeah, metaphor that became really populate in.

It's interesting that I feel like the language that you are developing would have really required kind of a university structure in a sense that you'd have these multiple machines network together early, some form of networking in the nineties. And of course, you know, this is probably on the cup of the internet coming along and even multi processing of like you know, individual computers GPU all this of that come after where the distribution would make more sense to us today.

Yeah I I don't want to sound like an old person but yeah, it's it's like usually people from my age, they they complain about how easy people are there of these days, right? If you want, if you anna like like design a new distributed language, you you buy ten rasberry pie and you put them in a little network and then you can experiment. Ah we couldn't do that in the nineteen nineties.

Like the framework, the main frame that we had were about the yeah computational strength, right? Very pie. So it's but yeah problems arise.

And but what I have seen is that the same problems come back all the time. Yeah, I had to do like one assignment with other students. We have to build something together.

And were four of us and one of the four never showed up and we did all the work, the three of us. And then finally was presentation time. The guy showed up and he wanted to do the presentation, and he did the presentation and he got all the credit.

Yeah communication skills have always in treat me like how teams collaborate, how teams, how individual skills can be yeah sort of complimented in a team and what makes the team successful. This is like still like we still haven't figured this out yeah in after so many decades of having this is still an art like forever. Development is still not.

And the eyes are not really helping. They are helping on the service. They they make us look like really productive. But in the end, i'm not sure sure if our industry will will be more productive like maybe we have long term like I know like trauma from from applications being built in the twenty twenty four time frame like ten years. And now they are going to like all all these genetic genova I applications that were like crank out that these people know they can support them. Yeah so they'll see see this is we're very exciting um time that we live in.

Yet you mentioned the communication part. I agree with you in a sense that a lot of the use cases, for least some of the use cases for ai, you are trying to you hear people joke about IT, like take these five bullet points and turn IT into an email, and then the persons on the receiving end and take that email and turn into five bullet. Is this truly communication at this point? I'm not a computer science graduate.

I I study engineering and went often, did this whole music career thing and kind of got back into stuff kind of late in life. And I love programing and I think it's fascinating. And I partly why I do the show and get to interview me, a wonderful people talk to them.

But I have been in sales, I have been on multiple sides of these situations. And I feel like that's the once go I have, is that I can try to break terms into the developer, speak now, talk to the project manager people, and I can talk to these other people across the the strata. And that's hard because always coming from a different point of view, something you write about IT, I would guess, in some ways in the book that you did.

yeah, this concept you mention is called empathy. Yeah, that means that it's part of what is called emotional intelligence. And IT comes at the end. So you need to develop a lot of skills before you can actually develop empathy. And one of the things is a recognizing your own emotions.

So if you yeah if you just are very reactive, i'm an impulsive and you just do what the system tells you to, right? And these days we get so many interruptions and we get so many nudges from A S well, we used to call the machine learning models, like now we call the male the machine learning dels, that know exactly how to influence ent. You and they game you and they they basically push your buttons.

So in that environment is very hard for us to actually be strong and say, like i'm not going to do that. I'm i'm going to make my own plans and I I i'm grumpy today and you going to ask yourself why my crump? Y right. And then you explain to yourself by your grump. Y and you basically do ourself analysis, just mentioning the word that represents your emotion, powers you to actually reason about IT.

If you do this for a long time, then um at some point you start recovery zing these emotions in other people, even if you are introverted, even if you are an engineer, even if you have D H, D H or if you're autistic, or all of brains are different and yeah your brain might be wired differently. So if you is harder to understand other people. And i've seen that a lot with engineers.

They want to solve problems, right? I I love coding. I, I can sit down and I can my code for ten hours. This is awesome. And I and I I just sit the right code and then and go, and this is like this, give me energy yeah. Well, as if I go to a meeting, I sit there in the city in the meeting, and i'm still thinking about this problem.

And then I come back to my code, and I have to start over, and i'm sitting in this meeting like me, and this is going to be so worried. And then you get out. And this is like, this is not where you get energy.

So how do you recognize this? First, if you recognize that you can read size these emotions and you can start to actually recognize and you can can become much more yeah sort of productive, effective impact for and recognize. See, these are all nice words.

But yeah, they mean actually that you get the most out of your capabilities. And we all want to be recognized. We all want to make impact.

And some for some people, impact means more money, a more power, more recognition. So that is also that you have to find out for yourself. And it's taking me thirty years to do that. So you mention the book.

yeah what's the name of IT?

So it's got communication for engineers. I'll hold up the book. You can see this on the podcast. But ah yes, if you look at the podcast materials, there will be a little video showing the book.

So the book I wrote write when covet started, we were all sitting at home and I started collecting all things that I learned as a soft engineer during my career. And I worked at places like IBM, uh, google, uber, but also financial institutions like J P. Morgan, Morgan, stanly and bank america, which have dramatically ally different cultures.

Yeah and yeah, we're trying to build the same thing. Yeah, we're trying to build highly scalable systems that take a lot of data, do something with IT and produce more information. And what do you do that as an investment bank trying to make money where you do that at, I don't know um at google trying to, you know get Better search results.

These indians, it's very similar these problems and this we can call the data signs with data engineering or data lake or whatever names we give IT to IT. It's not so different yeah but which you have is different cultures and especially at financial institutions yeah there is and I don't want to paint my previous employers too much, but this is like me. You should never do that in in your career, say negative things about your previous employers.

yeah. But the industry as a all is structure differently than technology. So in finance, you get short term benefit like you you get a bonus over the last year and bonuses based on your contributions, based on what you did, how your entity did and how your whole company did.

At technology, the, the, the, the whole reward system is structured differently. You get a grant for four years. You get a quarter each year or you get, I don't know, the first year you get.

So you have some investing structure, but when you start, you know, ahead of time for the next four years, what's going to happen? okay. yeah. So at that moments, you don't worry so much more of money.

You worry more about like, how can I change the world? How can I make wonderful software and how can I collaborate without the people to do something awesome, whether it's the financial institutions are much more interested in figuring out what other people are building so you can steal IT and then look Better to the to your management, whatever, right? So there's a lot of like competition and collaboration. There is much more difficult.

Yeah yeah I think .

so that that's an interesting like sort of site perspective. Communication is different in different cultures and of course cultures are also like geographical culpable res are different. Um yeah yeah why do you I know on the e goals or the west goes, whether you are in the south, in canada or so, these are all yeah, communication is a really complex topic.

And trying to distill, trying to distal at all into one authority book is not so easy. But I was a nice, very interesting chAllenge. So yeah, and this is why I picked in nish.

I said, like, let's aim for engineers like an engineer, how should you communicate Better? And the way we write software and you have different modules, so you start to break up your code into different, much a small functions, whatever. yeah.

And I wrote the book the same way. I've done this in an earlier experiment with a john author when we wrote the frequently asked questions on eclipse. And we always joked that h john wrote all the questions, and I wrote the was the other way around now I wrote all the questions and john wrote all the answer.

So h john, at the easy part, right? And that's all all our joke. So, so asking the right questions is the most difficult thing if you are building structure or basically, yeah, yeah.

So when you have the structure, you can just fill IT up. And this is what what genre I do, right? So it's up to us to build the structure and all the all the meaningless things, things are done by the eyes.

It's interesting is like I feel like that in so many the different areas of of my life, I agree with that. Like sales, like is a huge part of qualifying people. You know, asking these questions very specifically, like what are you truly looking for? What are you gonna do with IT and so forth? And and this is the same set that applies to building tools for other people and talking to other teams.

And I always find that part the most interesting of like just going around and understanding like how some he's gona use something or whatever. And it's it's pretty fascinating or like in your case of the the the banking culture of like what what are other people doing? How can we do that? What have you? So yeah, an .

interesting metaphor. You mention figuring out what customers want and how to sculpture project against and this know what the motivations are. And I first had that happening when I moved to IBM rally in work, CarOlina. And that's a huge location by way. They had like working two thousand people at that time. It's small and now, but and I moved there around two thousand, six or seven, and they had a big lab there, and I had, like, see the in the movies, in the interrogation rooms with a half mirror, right? yeah.

So what did as they put people behind the mirror and they made them Operate the software, and they had like five, six people like observing them and seeing, like, what are they doing? How are they moving the mouse, but how do they look? And so they very much an experimental, ab experiments driven approach to figuring out what is the best way to deliver your software so that that's a very positive experience that I had a IBM yeah I also had a negative.

So then we moved back to the net lands after a while and because we had two little voice that we wanted to raise here. And we looked at different locations, I found the lap and i'm surfacing, and we started location there. And IBM found out that we have too many offices in the world, and we had to scale down.

So we have to move to the main office there. And in spite of that, I had to become an official IBM manager and I had to do a test whether I could actually be, and I be a manager. So so by the year i've been like developing software for many years, I actually run a team of five people in them to them.

So I thought, like, yes, of course I can run the team. So this is yeah around two thousand. So I was going there, arrived at the test stage and and they said, like the worst, like not just me.

They were like seven or eight other people and they said, like that the first test we onna do is um you're the new sales person. You come in and you replacing joe and joe was the sales person. This he's gone and you the new one and here is all the technical information about the thing he sells.

They pick a topic that nobody knew about. Of course, this is like C. O two reduction and in chemical, and is something, something very technical, yes, and a big stack of paper.

So you have an hour to study the materials, and then you're gonna to interview with, like, the new customer. So this is your preparation. So I studied this material and I really IT was a big stack, impossible to read in an hour.

I read IT in an hour, and I knew all the details I could actually reside IT. I could do a presentation. I could sell this stuff.

I knew IT. So I went to the room and they were like two people sitting there and I said, hello, i'm Chris. My joe is the first reaction.

joe. Joe left the company and the new sales brand. Now we don't want to talk to you and you want to talk to joe, but john here anymore answer and they were very aggressive. I agitated.

So at some point I said, like i'm new sales per I, I, i'm not I want to explain to you how our our, our software work, our hard work, work a solution worked after, okay, they allowed me to actually do a press station. So I went to the White board and I drew up like, all these complex stains. And I I thought I did really well.

And then I turned around. This was like half an hour into this thing. And I look at the room, and this is a stage room, right? Fake room, right? yeah.

So the sitting behind the fake desk and supply, and I look in the room and in the corner, like the golf set and on the desk there is a picture of a female and two kids, and obviously his wife and two kids. And then on the wall there are pictures of new york and and paris and whatever. And I was like, okay, I missed all the hints. Uh, they wanted me to talk about golf, of course and and I should have asked him .

about his his family .

yeah so the final and few weeks later, after a thing, I got a letter back from this testing station and IT said, like Chris is probably really good at developing soft and small technical teams, but he will never become an IBM manager. So that was for me. Most people can get deterred by that, right? That you can get .

or they can .

use that a little yeah, but I used, there's a lesson I said, like, mom, that's that's interesting yeah and this is how I should change myself. So I started reading yeah books about this topic and try to do this myself and interact with people. And i've built up the skills, and I try to develop empathy against backgrounds.

So with larger companies like google, for instance, a team is usually consisting of a product manager, a project manager, uh, engineering manager, a tech lead, and then and three or four or five Normal engineers, great. Sometimes also A U X engineer, but they are often shared between the teams. So these individuals have completely different backgrounds, different ways of thinking about things, different words.

That they use, different clothes. They wear iphones first as android, that they are all these guys like very solar differences that sets them apart. And when they have lunch, all the iphone people have launched together.

And not that right? And yeah, so once your radar is open for that, you can see this happening. This is also how how I actually got into google, because I was interviewing and I learned from that lesson.

And i'm, and then by the test, what I did, so I I interviewer with a guy and I saw his watch and he had the same watch that I had. IT was a pebble watch. H okay, yeah.

And what's one of the early ones where you could actually write softer for IT? Um so I saw my watch. I said, I want you have a peel too. Did you write any go for IT and he said, yes, I did hope me too. And right before, you know, like we were talking about writing absent on pebble yeah and then ten minutes before the end was, oh, shit, that we still have .

to do the interview here you deal .

the end yeah. So this is a practical application of how you make friends and succeeded in life is if you pick up on these things, yeah. And people send out all these signals, like the most engineers have laptops with stickers on them.

Now they do that because they love the technology. They want to be part of something. But you, as an individual, you can pick up on that. You can see there. And you know these things, you know the kind of technologies that care about yeah and then you home in.

it's like oper stickers on people's cars as you drive around. Ah so they have a kid is playing soccer, actually, they have two dogs.

And to think up on these things, yes, look what kind of watch the wearing, look what kind of close they are wearing, because people like people that are like them, that's always the case. And even if were yeah we were we want to be diverse, we want to be inclusive. And I actively and inclusive in a lot of things.

But it's it's just unavoidable that this is our how our brains are wired, as is from the caveman history, is that we like people there are like us because if they not like us, they're probably from a competing town or country and they want to steal our stuff. So you naturally defending yourself against people that are not like you. Ah this is one of the things that I learned and and this is applies to technology as well.

We find back to the first one of the first words you use that the beginning was piete yeah yeah. So I started writing piece ts about a year ago, a microsoft came out with a technology called python and excel. Yes.

I had a couple people on the show to discuss IT.

Yeah, it's a great name. So python and excel means that a rather than write the excel programing language inside cells for expressions, IT is a programing language like it's not sold like that, of course, to business people, right? But it's really almost turing complete language.

You can write expressions in IT, but it's not as powerful as the old data science ecosystem that is built around pythons. How can I do something similar to what you can do and invite something? Excel is what microsoft edit with help from ana kanda is to allow you to write python snippets in those cells.

But they don't run in XL. They actually get sent to a server yeah. And of course, there's only one server that they like my yeah so IT has sent to asia, so this is fine.

Um what that means that your code runs s microsoft protective, you pay for that. I know your computer yeah goes on the cloud. The process goes for all of this.

So that was one thing that happened about a year ago, a little but before that technology came out called pye script and bye script is we've been trying this since the beginning of dyson to run bytown in the browser. Like people have tried this OK failed. Tried IT again, failed again.

Try IT again, failed again. So it's it's another unique thing. But byers ript twice around python in the browser, but makes the unique is the approach.

And IT leverages something called maxentius, which is a for a machine target, basically an architecture with machine code that you can compile you. And there's a old programing compiler framework that you can use to target toward IT. And best be, anything that is implemented in sea or rust or similar languages can be compiled very easily to representing.

So if you have that as an insight, and you look at the python V M, which is basically A C program, you can sit down and compile the bison V M into repressively bubbled IT up. And i'm run at or weasely ly in the browser. Now have to figure out, like, what am I gonna do in that code? Like, like why we are run IT in the browser.

But of course, the power is that you can act like escape to the java script on time. And through that you can Operate on the dumb. And you can do like all kinds of interesting things. You can retrieve information from the dumb where you can modify and and rent their new things in the dumb.

Sometimes, as a beginner, people get little lost on some trial. Gy, and I feel like the dome is one of them where people like, what does that even mean? Like, you know what is that, an acronis or whatever you mind just describing that.

of course. yes. So on the topic of communication is really hard to explain. Know these things without the visuals like i'm a very visual person. I know if we're talking about this topic. I have a slide up and IT has a picture and IT has words and their microbes and in there and the relying that structure is less than more difficult. But that that's a matter topic. We're talking about communications so much, but the dome is so it's it's an aviation for document object model and that's what browsers used to actually render hd mail, which is hypermarket text, market language. I think .

hy yeah hy text exactly the so .

HTML gets uh uh interpreted by the browser and then rendered. And what you get back is is a document object model and that is then traversed and converted into pixel that are rented on your screen. yeah. So this is what you want to access from the python code that runs that person is you want to somehow get to change things on the screen. You want to end the things, words, text, animations, uh, anything you would do in a job scrip program.

Now why is that important? Is there huge amount of people that have background in bison and millions of programmes and they hate java script or they think javascript is complicated or they've never done anything in the? So this is why bicycle pt started to give pilon developers another platform to deliver basically their code in yeah.

yeah. That's always something I love to talk about, is that beginners and people that are trying to write code often want to show IT to others, yes, and share IT with others, or have other people use IT and to have to drag them to the the office chair and sit next to them or in there know whatever, to see something run as supposed to be able to put something on this universal tool, which is the web, you know, and have a way of distributing IT, sharing IT and so forth, is, again, like you said, we've been chasing IT for a while. So so one of the .

things we've been chasing is running fast. And and brows, I said, like lot of people have tried and failed, but there's one project that actually tried and succeeded dramatically and that is stupid in the books yeah true. That's a way for writing a story in in the browser where some of the blocks in story are code and then the next block is that code executed.

And then so ah instructions and so the yeah .

this topic has been covered on your pocket for many, many times, of course. Yeah yeah because it's a popular way for repeatable research like rather than just read an article which pictures in there, you can read this article in the form of a judge, an new book, and you can read the story and you can actually run IT and verify and see if all these statements that they make in in the paper actually true.

So this is a very popular in yeah in research in science, but is also picked up by financial institutions. When I was a jp, more inferences. There were hundreds of people in the in the quantity development to tool area. So these are mathematicians that tried to come up with new ways of modeling financial institutions and and calculations. They love notebooks because they give you an experimental platform, try things out that runs, try things out runs, try things and you want to this fast situation.

So yeah so we have a lot of success in the browser in jupiter notebooks, but it's in a in a different world like it's still coding, right? It's not what business people see and think and are capable of expressing the thoughts, and right? So at the same time that a financial industry likes dupine notebooks and on the extreme, they like the s code.

And of course, like all kinds of this ship, the environments like Spark and and all of that for scale. On the other extreme, you have spread cheats. So you have business people that can express thoughts and formula.

I mean, they are not stupid. I mean, they not dumb, but they don't have a programing background, right? So this four loops is too hard for them. But yeah, functions are the great .

at right calculations, you know.

calculation, yes. And spatch ets are perfect for that. So all these things together. So by pan an excel, we have jupiter notebooks being great for storytelling. Spread is being great for thinking about a problem as a dependency graph.

So you have sell a depending on cell b, which depends on sell d and so so you have a graph really I thought of like, I want to show that you can actually combine all of this together. So I I didn't start out to do a startup or become Rachel hood like I I just IT was a niche, like a niche. I, I wanted an H.

I had to scratch. Yeah, yeah. So I wanted to, I wanted to prove that I was possible.

I thought, like python and excel, that's for losers. Uh, I can do excel in python. You can run in the browser.

So I started writing a scratched in the Browns. We're using bytes ript. And that wasn't easy, I have to admit.

IT, the early version of pye script, were really slow, and they only have pie eyes. I will come back to the difference there. But sure.

So pie eyes is a big of rem, and that run slower, but IT can do more. And IT really wasn't enough. So I spend a lot of time optimizing my own code to one acceptably.

I ended up with something that worked, and I started showing IT to people in the role. Like, wow, this is awesome. Like, when can we have IT now? Now building something and showing IT? That's one making IT in such a form that people can actually run IT without bothering you all the time.

This is a big difference. So it's taking me since february, I resigned from the morn and I focused full time on by shets to build IT out. I've been building on IT for the last six months roughly, which includes two vacations and and those of coffee.

So so it's it's like maybe five, six months of real work and what a half now, I think is a product that proves the fact that you can build, excel in on run and a browser and then run all your data. Scientology c also in the so this is all initially, I didn't think of that as the theme, but it's sort of turning into the theme by its theme is local first. So run your code locally in your own browser, running on top of bicycles.

And the final thing I had to solve us like whether you store all the information. So that's the final. But coming back to buy that, I mentioned that earlier. So I mention that this effort of running python in the browser code py script is compiling a python V M to web assembly and then boiling IT up and downloading IT running IT that's python V M is the c python V M.

And this project that manages basically to make file for this completion effort to meassef ly is copied I and as part of pie, that is also manages a lot of popular python packages that have native code that people want to use like non pie banner. They have a lot of native code. And Normally that's A D alee that is compiled for linux, for windows or for for different architecture, right? Yeah yeah, and nobody has ever compiled them for representing because why would you this not a target? But since the success of pie die, which which predated bicycle pt by a couple years, that assembly has now become an official target for all these packages.

Have been talking to red gann off and learn about IT on the show, which is been really interesting. He's very much involved in that process of making sure that builds are going and which has been it's been really interesting, less like just across this whole and two hundred something episodes I started hearing about web assembly, you know, four years ago and going, why are so many people interested in this thing? And then just to can't see a bloom has been fascinating.

Fixed application issues before they become downtime with century error and performance monitoring for python, whether your timing python processing power or controlling java scrip pts flow through no js back and infrastructures are as complex as they are valuable. With century, you can race issues from the front end to the back end, detecting slow and broken code to fixed what's broken faster within minutes. After installing century software, teams are able to trace python issues back to port, performing A P, I calls, as well as surface all related code errors.

The fix was broken faster, one engineering leader that youth century said the time to resolve errors went from days to minutes. Installing is easy, and new users get three full months of the team plan free with the code. Real python on sign up that's real python with no space. Learn more at century dot I O.

Can I take a slight detour? You work on another project that I feel like is some are critical to this project in the an organisation that on the show recently, uh your little tool kit um how did you start that and then I feel like your in a way uh contributor to py script through little .

tool kit yeah so I started in nineteen ninety OK when I did my P H. D. Research for the programme language that I mentioned before.

I give the name that it's got process and when I build proc all, I wanted to show people what you could do IT. And of course, you want to build something vial. I start a small tool kit.

okay? And at that time, x windows will see yeah the only platform really where you could render things in. And then we're like forty or so drawing primitives.

So you you basically build abstractions for a button, for a text box, for the layout, whatever, and you give them names. And then he basically start rendering by drawing things in the browser. You have a little bit higher abstraction that you can use, but you still needs to build.

Yeah basically tools in the tool get and U I tall get that allow you to build A A user interface. And we've done this over the years, like the current L T K for bicycle. Pt is maybe iteration seven that i've developed personally OK in all kinds of different languages and context.

Do you bring out your old notes so .

you work on something like this ah basically on a more on memory like not there is not that hard to design. You started the layout o so you said I want have horizontal layout and ticket layout, right? Although on the web, we've been fighting with tables and declare of layouts and and this is joke.

You say, like, okay, you, you, you do everything in a table. You do that for a long time. You decide to switch to C, S, S.

Layouts, and then you do this for a month, then you you give up and you go back to table. So yeah, so layout ts are not easy. But so this is what I did for L, D, K, because come to build pieds, and I needed a tooker to.

So you have to lower your mental mode, right? When your right software. This is why you build abstractions. And this is the the art.

I think aho said that ao, from the, the compiler book from the, from the drag and book after the house said, like the art of computer science, is the creational abstraction tions. So that's really the concept that we try to do. So in order is to build something really complex, I have to break IT apart in smaller parts.

And I did that for by IT. So I started writing, I need layout ts, I need buttons. I, and there weren't any for pye scrip.

Pt, because this a brand new environment, you have to do everything. Browser base, you don't have to do things proud. You can also do IT an H T. melon. Bring IT in. Yeah.

I think that you could do javascript, t libraries and so forth, but then you're working in java h script.

So then working jobs. And and I had this like this, maybe this assumption that I wanted to do everything in poison OK. I want to to prove that you can do everything to buy. So my my job script, which I still escape to for certain things, is minimum OK.

I tried to make IT like, sort of like your native language, like in java, you would use C, D else to escape to native code, but you try to write as much as you can in java, because as much more portable, much easy to the right now, you don't write everything and see, because then you don't write in the job. So so I did the same thing for pass on. So thought, like I wanted to write the whole U.

I in Price on what would IT look like. And I ended up being L, T. K.

And I thought, like, this is not unique. This is not special. This is generic.

People want this. And so I donate IT the project back to bicycle. Pts, okay, but work or but net or what whatever they call.

So it's not part of the the get hot ripple for python pt as well. So anybody can contribute to IT and do things upon IT, and that's fun. H M, this is like actually later on I decided like you know, all of ice sheet is not that unique.

Let's put everything in open source. So, so now all of my eat is an open source project. So that's also an interesting discussion we can have. We can talk for another hour on how how do you start to start up and make money after.

So I I thought of like it's a close system that is a really big technical problem with bye script with running bitten in the browser is that he has to download over the network yeah and I when IT gets to the browser, IT executes. And the same problem occurs where java script, of course. So all the code is visible.

right? If people are impatient.

yeah, for that we have minimizes and compressors and whatever. So right, reengineering the code from from the artifacts that are sent over the network is much more difficult that but we don't really have goods compression tools or minimizes because nobody ever needed them. So nobody has has written .

them because you mostly running at locally and yeah yeah.

he was run on the server or locally. And why would you, I don't know, impress or or up scape you go, but for bed ripe, we really needed that. So I spent probably of the six months I were wrote for bye ets.

I spent a months writing an objective or okay to protect my investment, right as a as a vender. And at some point I thought, like, this is crazy, like is making my life tough. Because now at the really complex continues deployment tool that that did always come for impossible to debug and productions, I also like, okay, I do.

I make everything open sort, and I don't have to worry about protecting my code as ah so there a couple motivations for making the code all open source as a product. And there are many examples of this in real life. And elastic search is is an example um mysql is an example yeah yeah the java ecosystem is an example that's an open source solution. Biden is of course.

is in source. There's still money .

to be made in this ecosystem. So h bites is now open source through .

through several channels. We could probably do in two later .

here yeah like if if like anybody here listening that have recommendations for me, let me know how make money on this love to hear yeah yeah.

But it's it's interesting because I don't usually have people on to discuss this kind of thing, but I feel like it's a trend.

H there's a few different projects that are out there that are and it's been a concept of covered a handful of times, mostly like I think the second year I was in, I got really into like, oh my god, these open source contributors are really struggling and they need funding and they need to figure out away to maintain what they're doing, not completely burn out and just like blow up the project. Um and so you know I talk to tide lift people. I talk to a few different people as different strategies.

And then there's been things like an icon to funding certain projects, which has been kind of interesting. And so in the end, another answer is potentially looking at like pitching. Maybe I make this to investors and have people that port there.

And then that's a balancing active will. Now I have people that are, quote, quote, vested interest in what i'm doing and how i'm going to do IT in that relationship. So um I feel like that's an interesting discussion to navigate. I know we don't have a tonal time to dive into IT, but at least you can discuss like where you're at with IT .

and starting with IT. So it's everybody wants to be a unicorn. I mean, you want to be valued.

I was going to say like one billion, but one billion is for losers these days, right? You have to be like ten billion or one hundred billion, whatever, right? This is like the numbers are getting so crazy that like that is A A measure of success if your values at this enormous amount of money.

But actually that occurs because at the moment, you get the valuation, their expectations are so dramatically high that right, it's really hard and stressful and you got to cut corners and you got to raise for profitability and meeting your matrix to keep your investors happy. And it's logical. They give you a lot of money and they expect money in return.

When I left jp more and I said, like, okay, this is the last time I have a boss. I, I, I just want to work for myself from now on. So if you take funding, that means that you have a new boss yeah, even though that boss is maybe not breathing in your neck. And i've asking everyone like how are we doing? They still have an expectation at some point, like why do you spend my money on and doesn't make sense and you have to justify all your activities of.

So an alternative way of thinking of this is is called bootstrapping, where you try to find another way you you live with dry bread for months, and you get one customer paying a hundred dollars, team a thousand, you start really small, and that just space the bills to get you a few more customers and then a few more. And at some point you you reach the turnaround point where you can actually pay salary to your whole team. And you you stay simple because you're only hiring when you actually make enough money, right? You not hiring right?

Hundreds of people because you are valued at one hundred billion dollars. When you have to hire these people, you don't know what they can do. But yeah, you have to hire these people.

So that's a different mindset, a different way of thinking about IT. Yeah, there's a there's a different approach. And I always said like I want a boot trap. I don't want I don't want to take funding OK and i'm also like I am very induce or very um but not like americans. They can sell anything and and just get money right in in europe you build something first, okay, and then you share with people and then that looks really cool and .

then they are paying for yeah it's not necessarily a vapor where demonstration kind of .

so so that was my approach as I don't want to show to anybody unless I have something to show. Yeah okay. Uh, so my approach has been built first and am right now, right now at the point where i'm actually ready to do presentations.

So by the time you will you you listen to this, uh yeah this happened in the past but so this was record IT. And uh, let's see you at september thirteen. Yeah so this is sort of its september.

And by that point in time I was done, people can download IT. They run IT IT works. Um i'm comfortable giving IT to customers and financial institutions. And i'm talking to one um in the september to actually deploy its in their organization.

A lot of people they ask me like so is this an alternative to excel and say, no, no, no, it's i'm not trying to replace excel or go the ship. No no, not trying to replace google sheet. So what are you trying to replace? So what i'm trying to replace is stupid, noble.

And I think they've been around for twenty years around, and it's time for a revolutionary idea to rethink what jb ano books should look like OK. And I think they should have a stretched U I. And this comes back to the all beginning to the communication part, empathy.

right? Business teams, engineers, not talking to each other. I want to build an environment where both of these teams, both of these different worlds, can interact with each other.

And excell is not that even with exelon, python, a patent cell, japan notebooks are not that. But by its actually is this is my strong belief. This is my passion.

I I think that it's the technology is a tool and we can focus on our using bystry pt web assembly. IT runs in the browser and that has local storage and index db. All of these things are technical values that are meaningless, like so many in the business don't care, right? All they care about is they want insights. They want to have decision making process that is effective and they .

need data and they want their people on the team to be the recognize what this tool is and like, oh, this is exactly, this is a spread sheet. okay? I know how to use those.

Yeah and they look at IT and IT looks familiar and IT looks friendly. IT doesn't look fake, right? Because they they see IT and and that was my thinking.

So it's it's an easier delivery mechanism. The best thing we can do today is dashpots. So we have a top low dashboard and we have data pipelines that generate all these and they get sent to the business. But it's one way, right? There's no feedback loop.

And I wanted to make a wait and power anybody on the side of the bites, your business sales or logistics or management or your data scientists and you, an engineer, we can know, interact in the same environment. So that's a dream that I have yeah very interested to work without a people to execute on that dream. And that's what i've been doing with one financial customer.

Like I said in the beginning. Also, I have experience with working at technical companies like uber and IBM and google, but also at half of my career has been in financial institutions, and i'm very sensitive to the demands that the financial institution has. Like these awards that we Normally never hear when you write banana software place like over is regulatory constraints.

Yes, I know that stuff .

ah things like when they when somebody says bite side and cell side, there are so much meaning behind these two words that means that if you work in the byline, that means that you buy things you cannot tell anybody on the cell side what you're buying and selling. IT has to be very all these all these separations in your organizations that that won't even let them talk to each other.

You're not allowed to visit the same floor that these other people work on and right. So all these things impacts how you deliver for software in these organizations. Uh so there's a lot of entitlements, a lot of like auditory trails.

I can all that comes in, somebody from the S. C, C comes in and they say, like, okay, show me the the system and you show the system and said, this number is is twelve million. Why is the twelve million? And you have to explain that number to have that story, and and you have to show the story behind that. You have to show all the code.

So what is the code of generated this? Who are all the people that edited this code? And you have to show the whole history of this number, and then they go to a different desk, and that says, you leave a million.

And they say, why does this one say twelve and this one eleven? And if you cannot explain that, then you lose. And these are extremely important sort of side effects and the part of a culture. But they are also yeah different demands, right different different requirements and they drive how people use suffering. 对。

This week, I want to shine a spotlight on another real python video course. It's about the topic you hear bantered about often when discussing performance in python and has especially come in to focus with this year's release of python three thirteen. The course is titled understanding pythons global interpreter lock or gill is based upon a tutorial by oban edit sera.

And in the video course, Christopher truda takes you through understanding the concepts of concurrency and processes, the differences of threats and multi tasking, and what are raised conditions and how python solves them, how the girl works and what have been attempts to remove IT in the past. I think it's a worthy investment in your time to understand how the gill affects python performance and how you can mitigate that impact on your code. Real python video courses are broken into the easily consumable sections, and we are needed include code examples for the technique shown.

All lessons have a transcript, including close captions. Check out the video course, you can find a link in the shower notes, or you can find IT using the enhanced search tool on real python 点 com。 Can I really, really ask you about index D B M? I'm not familiar with that and was wondering you kind of like what IT is and then how you're using IT?

Yeah so a database is basically, uh you you store data is data in a format that IT makes IT easily retrievable yeah are depending on your usage scenarios, different structures makes sense. A very popular on this relational databases. They're been round since the fifties and are very popular because they show relationships between entities.

And you usually have a key and foreign keys, but you can do indexing. And then you can very quickly finds all the people that live in york, right? Just select people from cities where and equal, right? And if you have an index, then it's really fast.

Now, a graph databases, one sense is different, where the data is structured by connections betwen O, P, X. So you have one R, P, X, disappointed to another APP sapp, inter to another p, and the data has a form of a graph. Now, if you want to find options, you have to basically walk the graph.

okay? And your query becomes a graph query. So that is another way of thinking about IT. And then the third model is something like a key store where you have basically a really big cash table and the keys are skies and the values are objects. If you want to find things, then you go to the key values stories.

So some of these database, they are very popular since the beginning, and they're hosted by cloud vendors. So one of them is a fire based forensic, which is a offering from google and is a good valley store. So for storing sheet, that's a very unique.

It's a perfect match. So when I stay with by shets, oh, a fire, very, very logical. It's it's basically hash table and the key is the identity. The the key for the sheet and the document is segment file.

And then I saw that there, and then I started talking to my forest financial customers, and they said, while we want to have an on frame solution, so that is impossible to store the google, right? I regular thora constraints, a compliance, sorry, never, ever. Okay, so I, I, I need a local database.

Okay, what what database would work for you? Uh, i'm going to be going to be as a different A P. I.

So how do you are? How do you will do that? So I started actually manually transferring the code, and I said, oh, man, i'm really a stupid.

We have an a eye for this. So I I launched source crapped code, which is a plugging in four years code. And I asked cody, cody, here's my implementation of bites.

And IT curtly goes to firebase. Can you read, write so IT goes to. And an hour later, he did IT IT worked.

So then I had mongo to be working, and I also switch to digital ocean because I was a little bit more flexible and APP engine and closer to my mental model of local development 也。 And then I had to buy a license for mongo to be as, yeah that's annoying, aren't any free day basis. So I ended love with mysql, but my SQL doesn't really solve that as well.

But A I wrote this for me another hour and then I said, like single light because that's built into python and it's not really a little vase but it's a local file um right this is my need for i'm not going to store terabytes so yeah makes sense uh SQL light then then you seek light but I still had a local file and I feel like then somebody told me, oh, why didn't you use index D P as a index D B? What is that? So I like you.

I did the query and it's basically like if you have have uh any applications written in the browser, uh, you can store things in the browser or it's called local storage. So in java script, the most impatient you can say window dot navigator, adult local storage. And it's also a key values store.

So you can say key becomes object and then its stores IT. And that's what index to be is as well. It's more scalable.

So IT has less restrictions than the key value store local store has. And you can build more interesting scheme as but i'm not using that the power that much. I'm more interested in the in the size.

So index T, B is a browser that runs in the browser. It's part of chrome. It's part of brave or edge or sofi or IT, runs in the address space of the browser, and IT stores IT in the browser itself.

So it's encrypted, stored on the file system where next to the browser. And that the end was my final target, and I took me a day from going from one implementations through five iterations to come to index D, B solution. And that is fully local in the browser.

So that's interesting. Another yeah seen that we can talk about for another pocket is to use A, I to get more effective your at your coding, of course. Yeah I thought like, okay, so I have to build A I in bed sheet as well because this is first of all, otherwise nobody will buy IT and you will never get investors to invest .

in IT as a modern tool, right?

Yeah, but has to have a eye. But it's actually really practical because I started using by is myself to build examples. And I knew a little bit and this, but actually met best makin I before he was best makin I before he like he was pedling pandas when I wasn't pandas yet, he was by day in new york.

So since then, i've been following by us and i've been writing a little bit of code, but I didn't know all the ABS. So I was like to build examples, and I was hard like to go to stack of flow and come back and say, come on, and I need a eyes. So I hold up, open an eye to basically look at your spread sheet, look at the data frames that you generate and give you buy than code to do the visualization to build that poly plots and things like that.

Yeah, all of that. I knew the concept. So I know IT was possible, but I didn't know. I can express this.

I can write the prompt, right? I can say, take the data in the, sell a one through b ten, whatever, and turn them down into a data frame. I can see that, but I don't know what the code is.

And when I see the code, that makes a lot of sense. Yeah, that makes sense. But that looks weird.

And then are you sure about that? Oh, no, no shine. Excuse me. Yeah, I was wrong. yeah. To fixes IT. So for the data scientists and maybe four business people, sales people that want to empower themselves to do this kind of analysis, this data flow writing a data flow, think the A I will be an enabler and empower ing tool to get them to that spot, the same way that accelerated my experimental from from seven different or five different data abase solutions, the same way, uh, the same struggle people will have with their data analysis. Yeah, it's all coming together now.

Um i'm in a really happy spot where by shites, it's really fast that I said like i'm not replacing google sheet but google sheet was my inspiration OK. I wanted to be as fast as school sheet and it's hard to scale to really large sheet. So that is still a different domain.

There are people offering really fast spread cheese in the browser that can scale to millions of rows. And they use what's called windowing, where they only render a couple of the rows, and they spent a lot of effort into optimizing that. That's not my niche, the niche i'm trying to find is experimental and iteration and discovery of information, the output part, finding out what the algorithm ks like, and do that not just by itself, but together with the person that owns the business and after that quick turnaround time. So sharing is more important, common language is more important. And A I will help with that um because you can explore things a lot faster.

You've hinted on A A few different things that someone would in corton quota sheet. They would see the data itself and the ability to turn IT into a data frame, and then the ability to create charts and graphs. And they can see the code off to the side of IT. This is something that you have A A try button where you can something can open up a browser and and get a chance to sort of play with IT a little bit themselves without going through the process of installing IT completely.

But what i'm wondering about is kind of that notebook idea, this experiment idea, is this all going to be in a singular sheet? Or are there pages or other? I'm trying to marry the term for they come like a workbook, right? And then their sheet within a workbook is, is that a similar concept to that?

So I think eventually, yes, OK, at the moments I wanted to focus on the core problem, the core functionality OK. So but when I started off riding by sheet, IT was actually twice as powerful, twice as complex. And this is the hardest ever is to we.

Like if you a seasoned engineer, you notice you have you've seen this yourself. The hardest thing is not to add features, is to take away. And uh, after three months or so, I started taking away and starting to reduce because you want to make the tool as simple as sponsible so people get IT yeah and if they want new features, then they will add themselves because it's open source.

You can just add your own features if you want to, so that a, at the moment, that doesn't have work books, but that is a feature that is naturally possible. The data is stored as a Jason document OK. And the Jason document as, sell a one has this value, sell A B, A two has this value, a three has this value.

And the preview for sale e four is this and and so on. And you can walk that, and you can imagine that you have one, they are higher as a notebook, whatever. And then the cells are is.

And then the second note book can so we can build that structure very easily and make IT in the way so that you have multiple taps. That's not really the biggest problem. I think the biggest problem, I don't know IT seems like how does google do there real time editing .

of the sheet? Yeah, okay. Like that collaboration such .

that is not trivial. That is not a trivial problem. I've worked on this professionally and I have been working in by IT is not currently a feature that I removed.

But that is not a trivial thing, is to edit things in real time and get really fast reaction and gets like eventual and consistency, right? That's also art park. If I type something in and you type something in, and we do with on the same cell at the same time, who wins?

Raise condition of sorts.

So those kinds of things raise conditions um if you select all sheet and you do the lead and I and I just write something like so all these things is uh at some just want versions of the sheet. Google sheet never had that that programmes. We buy some programmes h almost all of us know about get that's why restore a coat or equivalent version ing systems at work.

But people work on this request or at the same time you work and file A, I work can file b, and at some point you have to merge our word, right, because we can really force the other person not to work until we are ready. You can't lock the data. That's one approach.

I was actually popular in the united. As you could freeze, you could lock certain files. That means that other people couldn't edit that file until you're done with that. Yeah, that's because at that point, point in time, we couldn't solve the merge problem yet.

Now we know like we can just structural analysis of the files and we can see you can show you, right? You added to this and you added to that is no problem, just merch IT. So at some point, you need that for sheets as well, especially in the financial remain.

I mention that the order trail, the order says, like you are, they are all this good, like we have to show people want to added the sheep in real time with the multiple people together. We need to have to remember who touched ed what that so for all of that is um yeah thinking about the data structure of your of your code of the of the sheet, I spend a lot of time like figuring out like what the data structure looks like. And again, this is inspired by working on these things in the best.

So I bank of amErica differences. We introduce the system of courts, which replaced existing trading platform solutions. And we had a database which didn't edit things. So if you want to update an object Normally, which you do, if you check out the object, you get all the values and you change your value and you write IT back and you have a right or put Operation. This database didn't have that, but I did.

Is its stored the edits so yet an object and then you say like I change like this field from this to that and you write out the edit. And again, this is for um allowing you to reason about the changes in the past and when you have that built into the database, this approach of like you don't know what the object looks like until you're seen all the edits. So um editing in parallel becomes a possibility OK but also merging.

And a very interesting thing is you can do try and travel. You can go back in time to the database to a certain time and say, like what did the data look like at that point in time? And that's very interesting for financial institutions for doing a back testing.

So you want to run your code against the data from yesterday, but also run yesterday's code against today's data, things like that. So if you have databases that can do that for both the code and the data, you're very powerful. So so all of those things have inspired and and influences the implementation of by gets.

yeah. And if people want to know about this, you can go to get up and buy shets lash by seat, and you can just read that. You can read the code and see all this. Yeah.

we'll make sure to include them. You have A A really nice landing page, high shets that APP that that lets people kind of a get an idea of you know, what's happening with IT the features. You have A A try button and installed button and people can learn what's happening there if someone was interested. Is this A A situation where you're looking for people to help contribute on the project?

Yeah, it's like I I open source at the same reason that you can a notebook is open source is to make IT available to a large domain than just my, uh, intended commercial customers, right? I think it's a perfect tool for teaching for college professors to do their educational part in IT to have explanations about certain concepts and use as a yeah more interesting jupon note as an alternative to jupon nobo. So I get clone the repository for cuts.

See if you can use IT in your environment if there's anything missing edits and send A P, R. And let's let's build an ideal experimental environments that yeah fulfills the needs of these kinds of the ends. So that is, that would be, yeah, I would be awesome if people do that. cool.

The second thing is a in your commercial environment, see stride out this this give you a Better platform to imagine what the model looks like, what your solution looks like, your algorithm ks like, can you find the data sources more easily? Is this more malual? Is this more explanatory to the business than a dashboard? And the nice thing about by shets is that I mentioned at a couple times, it's a written python.

IT runs in bi script, but IT brings in the same other space as you are cell functions as well. So which you can do is you can write a module, uh, you can publish IT um bye bye. And then you can import IT from by sheet and you can actually change the experience.

So I mentioned before is like sharing your sheep with other people. I intentionally removed that because I imagine that that would be different in all kinds of organizations. Some people use, uh, no google drive, other people to use drop box.

So I thought, like I can write that, but that would be much easier to write IT in a package published on piping and then have that important in your sheet and and IT IT more into the experience. And IT changes the U I IT can add buttons. IT can add menu items. So imagine you write a sheet that changes the experience in excel or google sheet. What could you do the .

extensions site, which is not because you can touch on any of IT? Yeah.

Normally this is a close system. You can do that. And I designed in a way that you can. So that would be really, yeah, I would be awesome if people did that and show me, because I proved to me and make me feel good. So i'd love to see that.

So both commercial applications, educational examples, but also how people use as a platform and not just as a two. I think that's always A A good software system is a platform. It's not a close system because I cannot predict what you want. I've learned that over thirty years. My empathy is still not there .

that I imagine .

what people need right markets is like when we talked about like investment investors and and so market fit is not a magical word. If you have like o how what's your market fit yeah for bites I will say like it's a platform. People fit their own market in IT yeah yeah.

It's not for me to find the market fit. But of course, that's maybe they will not accept that, that easily. So I will see so I have .

these questions. I like ask everybody to come on the show and the version is what something you're excited about that happening in the world.

the python right now so one of the things I am very exiting IT is bice's ript. Like we talked about this for quite a while now. Yeah ah but I didn't mention is actually um we have mentioned IT yet.

I mentioned the work piled which is the c pite and importation that is compiled into websites. But there is another python vm that is supported by the by script team that's called microphases on. And microphases on is a really interesting best on V M, is a really tiny bite on V M.

Yeah so seat back on I don't know it's a ten megabytes or something like that, that doesn't sound like marchin these days where you just can get to terribles but for delivering to the brows, er IT has to download these tangibles doesn't sound like much rice. Well, uh, microphases is actually two hundred forty k and compressed it's one hundred twenty k yeah, so that is less than any average j pack that you downadup. Probably the logo for your podcast is bigger than could be.

So the fun thing about microbes on is is ideal. It's it's beautiful and Better devices. That's how IT started rasberry paco. And Better the really small ah there are you have memory.

Everything has to fit into no one hundred twenty eight k and the fn thing is that I used to work on those things in the best. So this is sort of reviving this. I my work environment is called a visual microevolution that's IBM jin nine P M.

For ebt devices in our entire job of V M. At a time. Fit in one mega bites, including all the class libraries in your application.

So if I have a lot of affinity and recognition for small vms, so I love micro bit on and bicycle t is giving IT a another platform to shine on. So alt gay, for instance, but also bites the U Y runs entirely in micropore thon. 什么 看 不 hundred million seconds。 yeah.

So if you ever if you try this now, you go to buy sheet, start APP the first time. IT might take a second because your cash is still cold. But if you do a refresh I want, but you want to do is like refresh H A three or four times and see how fast IT is in that time that IT comes up.

IT launches IT basically download your artifacts from the cash IT downloads the web semble package for microbes on and IT brings up the microphylla the vm IT insults its class library and then IT loads my byand code and runs my icon code and my bice and code runs and IT talks to the dumb like the door of model like we talked about in the inning. Yes, render things in the U Y. And that whole process is one hundred.

Yeah, impressive.

So that is really impressive. Like that .

wasn't each change i'm trying to think of when that happened. Like maybe last year sometime they had made IT and was like, okay, is that I talk to some other people that make other tools about you're like a but python so big it'll never and of course, so this really kind of uh, steps over that barrier and especially if you can do something like the graphical user interface library kind of stuff with IT yeah, a lot of a lot of idea is opening up very quickly.

I remember like IT IT reached a hacking news front page in may or something OK. And there we're quite a few reactions. Like you said, like all I tried up python pt last year, but is so slow I can like doing IT but this is fast man.

This is like, unbelievable. And so that is really a savior for bicycle blessing. Yeah micro python and you can do both ims definitely .

expand the use cases.

Yeah so pricy is running two two thousand and so. IT comes up with micropore thon. And in the background that starts a worker, a web worker, and that one runs by the, so the whole, the whole bank.

So if I do anything, panda, if I do anything nupper and meet lip IT runs in the worker on bioethical they talk to each other and the microphones and P M. Runs everything and cool. So this is a yeah coming back to distribute the programing. We don't have shared memory, but I do a lot of message passing between the two .

and IT all works cool. What something that you want to learn next? Again, this is not to be programing .

what I want to arn next. Um my daughter is really into three printing. okay? So he likes to play board games, but he has a logical collection. And the problem with board games, they always have a lot of cards and little figures and whatever yeah ah and IT IT gets a big mess into box yeah so he has made incredible models in three d for little trace and and things and they all fit into each other OK. And so you open the box and everything is like needed, organized and you you take out a little part and and I thought, like, yeah, that I went to learn three d printing as well. I still trying .

to find my favorite library to to build my models. And there's one that's written in python and think about trying to maybe get somebody from the team and called free cat yeah, it's not the pretty library, but IT has some really interesting functionality that I think is pretty cool.

And so today the printing I would be uh, yes, if I ever retired, that would be something I go to.

Yeah, fun. We mentioned a few ways that people can definitely pick out a pie ets. And we talked about out L, T, K. And in your book. But in general, like if people want to follow the work that you do online, what's what's a good way for them to do that?

So the best starting point is, uh, Chris, life rather come. So okay, one work, Chris, no space, no doubt life rather come. And there's a lot of links on my page to the project that I work on. Um there's a link to my on the youtube videos that we record IT with podcast but also presentations that I did yeah and he gives you a good sample of the kind of things that I do. I'm very active fund and so love to meet you there and grow my network and learn from you all cool because thanks so much .

for coming on the show and sharing all the stuff .

with us was a pleasure and enjoyed IT and and nobody is on the podcast considers but uh I can see actually Christia room there and immensely was a decision. You can see one, two, three, four, six, seven, eight guitar. So yeah, yeah, he has a nice election there and very jealous.

Well, yeah, you can come by a jam any time if you're you're in the middle of the U. S. So yes.

yes, you're in color, right? Yeah, that's right. Yeah, yeah.

I should come there. OK, thanks again. Okay, great. Was nice meeting you 来。

And don't forget, installing century is easy, and new users get three full months of the team plan free with the code real python on sign. I want to think Chris lava for coming on the show this week, and I want to thank you for listening to the real python podcast. Make sure that you took that follow button in your podcast player.

And if you see a subscribe button somewhere, remember that the real path on podcast is free. If you like the show, please leave us a review. You could find show notes with links to all the topics we spoke about inside your podcast player or at real python 点 com slash podcast。 And while you're there, you can leave us a question or a topic idea. I've been your host, Christopher piling, and look forward to talking to you soon.