 My name is Robert, I'm a server developer for the MariaDB. I'm supposed to be a server developer, but I do all sorts of things like handling community contributions, that is pull requests. Also, I work on projects such as this one, which is totally unrelated to the server itself. This is a Python project. And I love that the previous speakers from MariaDB already gave you a priming on what the kernel looks like. This is a new project for us. And we are learning with you on this. We are trying to make it better as we go. So let's move on. As you've seen in the previous videos, the kernel is basically a MariaDB client. I have a passion for Python and Jupyter and other people in the foundation as well. So from some random ideas, we came up with this project. And we set some values for it. And we wanted to be a pure open source project where everything is transparent, the development process. And we also planned, because it is a prototype project for us, we want to have a stop priority, the easiness of use. We don't focus on performance too much at this time, because I don't think it's the point of such a project. But we want to have as many features as possible and enable lots of functionalities for our users. And then we can focus on performance. Also, we try to be as available on as many platforms as possible. Currently, we are available on all Unix-based systems, like, I don't know, Linux, MacOS. And we are not on Windows, unfortunately. But I have in plans to, we are not on Windows, because we are dependent on a library that doesn't work on Windows because of the way it handles virtual terminals and things like that. But after the conference is done, I have in plans to implement support for Windows as well so that the project is available on this platform. So yeah, we try to be as available on basically whatever Jupyter is available on. That's our goal. So as you've seen in the previous presentations, the Jupyter currently is basically a more modern looking MariaDB client. But it gets all the perks of being available in a Jupyter notebook. You can access it via web browsers. It allows you to edit the code, save, run, pre-run, SQL cells, and things like that. And also, it's very easy to share your code with others. You can just download the notebook from the web interface and, I don't know, send it via email or something like that. Or you can upload it to GitHub, for instance. And GitHub has native support for rendering those notebooks. I think Daniel already, two talks ago, shared the notebook with you on the public chat. And if you open the link, you will see that GitHub renders the notebook cells and the results nicely so that that's pretty cool. Also, the kernel has this perk that it displays the result sets in a nice data frame-like format, which is pretty cool because I personally don't like the way that the regular command-like clients display the result set. It's not very readable in my opinion. And this way, we solve this problem too. And also, to enhance the experience, we implemented support for magic commands. If you're familiar with iPython, for instance, they have all sorts of magic commands, some special commands that start with 1%. So we added that as well. And you'll see next in the presentation what we added in terms of magics and how they work. So I think a month ago, we released our first beta version. It's still in the very early stages, so I don't encourage you to use it in production environments and things like that. But if you want to try it out, now it's the time. We are learning as we go. And I think that if you want this project to steer in the right direction, now it's the time to make the contribution to it. I don't try it out, file bugs if you find, give suggestions, feedback, and so on. And you don't even have to be a MariaDB user. If you're a MySQL user, for instance, I think the kernel should work pretty good on that. But I cannot guarantee. I haven't tried it. But as long as you point the kernel to the right binaries of the database, both client and server, it should work. So give it a try and let us know how it works. Good. And for this first release in terms of the main features, as you see, as you saw, you have the ability to run regular SQL statements. There can be multi-line, single-line, I don't know. And you also have the ability to run magic commands. And you'll see this next in my demos. We added line bar pi to plot data from the last query you issued in the notebook. We also added a magic command called LSMagic to display what we have available in terms of magics and some description on how to use them. And we also added the magic to make the kernel interact better with Python notebooks. So we added the DFMagic command that exports a query result into a CSV file. And also, we have MariaDB config JSON file, where you can specify some options to configure the behavior of the kernel. Like I said before, point the kernel to the right binaries and specify other things. Also, we have a nice feature if you, I don't know, you don't have a server running somewhere, a MariaDB server. You can select an option in the config. And as long as you have MariaDB installed on your system, of course, the server will try to start a server for you so that you can test the kernel faster. And also, another feature, as I said, is that we render the query results like data frame tables, which is nice. Good. And now let me share some pretty recorded demos with you. We will have three demos. One is an installation demo where you can see how the kernel can be installed. One is a live notebook where I show some of the features of the kernel. And another one is a demo on how to run MariaDB Jupyter kernel via MyBinder. So let's start with the first one. Share an external video. I hope you can see it. Feel free to ask questions during these demo videos because they are pretty recorded. I think it is pretty nice that we can chat during them. So I'll hit Play. Install the kernel. You need to run. I hope you like this first demo. It's actually pretty easy to install. We package the project for PyPI and it's just basically two simple commands to install it. So let me share the next demo with the live notebook. Enjoy it and then ask questions. I'll hit Play now. I hope you can still hear me. And I also hope that you enjoyed the live notebook demo. And next I will have the last very short demo, which basically shows you how you can run MariaDB in the MyBinder platform from Jupyter. So let me show you the external video. Let me enable the camera again. So that's all I had in terms of demos. Everything I mentioned in the videos can be found on the documentation pages from MariaDB Knowledge Base. I hope you liked it. I also have the installation instructions in the slides in case someone didn't watch the video. And also there is a link to the documentation page. OK, some future plans for us. As I said, I am planning to implement Windows support personally. And also we have a bunch of student projects listed. Which are pretty cool features, in my opinion. So we are planning to add auto completion capabilities for SQL code, which should be pretty cool. Also we plan to add interactive client connections, which means some magic commands to help you create multiple connections from within the notebook and switch between them actively and run a particular SQL statement on a particular client connection. And also something we will be working on, which currently we don't know if it's possible. So it's more of a research project is to see if it's possible to enable interactive editing of tables in the notebook. So basically we would like to have a query result set from a MariaDB table. We want you to have the possibility to click on the cells and try to edit the data there and then hit the commit button and commit the changes into the MariaDB table. But we don't know if that's possible yet, so we'll see. But that's what we have in terms of next features to come. So that's pretty much what I had. I see there are already some questions on the shared notes. You can contact me anytime at this email address or we can chat on the MariaDB Zulip chat that Vicenzo mentioned in the chat here. Okay, let me know if you have any questions. I will be watching the shared notes section. Can you still hear me? Yeah, we can. So I think we have about four minutes left for the questions. Thank you for the presentation. I think it was quite a good mix of very candid sharing and demonstration. Okay. So as mentioned, you can put your questions in the shared notes if you would like. And I think so far a lot of it is about how to contribute to the open source project. So maybe you could share a bit more. I guess this is a question of my own, which is I think you mentioned that some of the stuff that you do is that you help the community contribute faster and more efficiently. Yeah, so that's part of my job for the MariaDB Foundation. I review community contributions from within the server, that means mostly CNC++ code, parser code, and things like that. And on my free time slots from this job also, I am in charge of writing new features in the server. And apart from that, I'm working on this quite cool project that I'm really excited about. And you can contribute to, I don't know, to MariaDB server like you would contribute to any other open source project via GitHub. And also the Jupyter kernel is also hosted on GitHub. You can see the link here. You can start contributing there. You can find me on the chat, on the email, and start chatting about what you want to add to the project or if you can just open a pull request. We have a list of issues that we are trying to track there. We can pick one of them and try to contribute. So that's what I have in terms of contributions. I can see also that there are other questions. We only have about a minute left, but I think you can just very quickly answer maybe the question on MariaDB developers in Asia. Do you have a MariaDB developer in Vietnam or Asia? I, in the MariaDB foundation we don't, there are developers in the MariaDB corporation, but we have lots of contributors from Asia and companies that are contributing patches to us like VokuTech, which does some amazing work and submits contributions for that. But if you're worried about language differences, it looks to me like you're right pretty nicely. So we can totally discuss on the chat and we can help you with anything you'd like us to help with. So I don't see a problem with that. Chat is asynchronous and very good for language differences. So no problem with this. OK, so I think I'll answer the other questions in the chat. Yeah, yeah. So for those of you who have just joined, if you still have questions, feel free to hop on to the discussion channel to ask. Of course, we have our next speaker coming up. So thank you so much, Robert. I think that was a pretty informative presentation. Thanks a lot. And thanks for having me. Have a great conference day.