 Dev Ops track, our next speaker is my good friend Masuyuki Igao. He's a senior software engineer at SUSE, and he works on OpenStack development. And he's going to be talking about CLI software again, the return to using the command line. So without further ado, let's welcome Masuyuki. So thank you for attending my sessions. So this session is also Matthew told that TUI or CLI software again. So I'm Masuyuki Igao, and this slide is on GitHub already. Yeah, slides. And yeah, let's get started. So this is my opinion. So yeah, and the agenda is here. It's not so big. And the next. So who I am, I'm an open source programmer. Mostly working on OpenStack. And I'm working for a QA, Quality Assurance, that project has some programs. I mean, Tempest or SDSR is not an OpenStack program. But yeah, I'm working for that. And I'm working at Suze or Suze, which one is better? I don't know. But yeah, and I'm a member of OpenStack, Suze OpenStack Cloud team. And I'm a Linux user. So I'm like this terminal or CLI interface. So first, I'd like to define the words, terms. So GUI is a graphical user interface. You know that. And TUI2E, I don't know, is a text-based user interface. Yeah, like this, or BIM, or Emacs, or MAT, or like that. And CLI is a command line interface. And CUI is also a character-based user interface. They are CLI and CUI are the same meaning. But sometimes it's confusing. It's confusing to me. So in this talk, I'd like to advertise. Kind of advertise, TUI or CLI applications. And there's a lot of benefits. I think this is my opinion. So there are a lot of benefits of TUI or CLI applications. So and the TUI or CLI application is not scary. But I also like GUI applications too. It depends on the situation. And I'd like to also show some example of CLI applications. So by the way, so do you like using the GUI applications instead of CLI applications? So maybe someone said CLI application is a bit difficult or scary. So some people tend to use GUI applications. So why? If so, why CLI applications through those? You don't use a CLI application. They are very useful in this situation. So I'd like to show some examples of some applications which I used, I or we used. So first is the text editors. They are BIM or Emacs or Atom or Eclipse or PyCharm. Maybe you use the other applications for text editing. I don't want to say which one is the best. So this is not good. I don't want to say that. People are using these tools. And BIM and Emacs are mostly in CLI. But they have also a GUI interface. So people are using both or some GUI or CLI. And Atom or Eclipse is a GUI application. And the mail chat has also a GUI and a CLI application, two-year applications. Matt, Alpine, WeChat, Thunderbird, like that. And the code review. So I am a core reviewer of an OpenStack project. So most of the time, I'm spending my time to review a code. So reviewing tool is very important. So I'd like to show you one demo of CLI applications and the GUI application here. So one is not so. So it's very small. But this is a GUI review applications, Garrett. So we can use this and see some code. Should we work? So it's too small. But we can review here and write a comment using it like this. And instead of like this interface, we can use Garrett. Garrett is a texture interface. So it's a bit simple, too simple. But it works well too fast. And I can put a comment on that very fast, right? Japanese. Yeah, like this. So you can see that the speed is very fast instead compared to the GUI. So actually, there is a trick in this. But yeah, mostly faster than GUI, right? Yes. And I will go back to the OK. So the other thing is presentation. Most people are using the in-place PowerPoint or Apple keynotes. But we can use the text interface, too, like TeF format or Presentee. Presentee is this, too. So you can use this if you want, right? And the block, too, is there. And the other tool is also automation. So there is automation tools, Ansible, Chef, or Puppet. And GUI tool is for Jenkins. But imagine that if Ansible has only GUI, so if we want to use Ansible as automation, too, we need to use a selenium or web scraping. It's maybe horrible or nightmare. So it should have CLI or API interface. And the virtualization, this also has CLI or web API, too. So this is also mostly has CLI. But GUI, GUI, is also useful in some cases. So there are some pros and cons for GUI, right? So first, it's very easy to start to use. Like, for example, Scratch, do you know that? Scratch is kind of a programming tool. Also, this is very easy to use that. I have two kids, actually. They are 10 years old and 80 years old. But they can really use Scratch easily. So this is really good to start point. And GUI is good for showing the graph or pictures on the dashboard. But sometimes, it's very slow and complicated. So there are some library dependency. Or GUI is sometimes complicated and really bad for automation. So we need to explain about a quick here and a here and a here and a drug down and a drop. It's very complicated to explain the manipulation in the manual. Oops. OK. I'm sorry. So, oh, I don't know why. I'll try that again, OK? OK. Here, next. I'm sorry. So the GUI and the CLI plus cons is here. So first one is, I think, it's fast. So it really depends on the situation. But I'm mostly fast with the narrow bandwidth or poor computers. It doesn't require the resources like CPU or memory, basically. And mouse is not required. But sometimes, we can use it in serial applications. So if we don't need the mouse, we can keep the arm position. And we don't need to switch the mouse and the keyboard. So it's really fast for us, right? And next is simple. It should be simple. But sometimes, it's complicated for serial applications. But there are some bad points. It's difficult to use to start. There is a learning curve. And so it's a bit difficult to show the graph or images. Oh, yeah, like this. Sometimes. I think the one line is too long. So sometimes errors happened in this presentation. It's a bug. I will fix that. OK. Here. So in this slide, I will talk about how to make it, how to make the serial applications. So there are some useful library and the commands. So I have a Python background. So these first two libraries are Python library. I actually don't know the C or Java or something other languages library. But here, tier two library is very useful to make serial applications. So first one is you are with. I don't know how to pronounce that. But this is for console user interface library for Python. Like this presentee or garity command uses your URWID this library. And the second one is a cliff. Cliff is for framework for building command line programs which is used by a lot of Python commands, especially in OpenStack command. This is also useful to make command line interface. And the third one is a figlet. It's making a large letter of ordinary text. You already saw this output in the first slide. And the last one is a JPEG image to ASCII. So I actually wanted to show the examples, but it doesn't work actually for my environment for now. But there are some issues to use this. I need to do like these instructions. So here is conclusion of this talk. So I'd like to say that serialized or TUE application is not scary. It's not scary, but there is a learning curve. And these upper should be fast and simple and easy to use. And the CLI applications are very useful for automation for developers or like that. So maybe you already use that in many situations. But there are some issues for CLI applications, CUI applications. Graph or images might be better on the GUI applications as a dashboard or like that. And making it. So last part is I wanted to say that most things. Is making a CLI application is also fun, right? And it's really good first point, starting point. So not only just using it. If you have a, if you find a bug or some issues, you should push feedback to a community or like developers. Yeah, that should be good for like this application or our communities. And of course your skills should be increased or improved. Yes, that's it. So that's all from me. Thanks. So we have time for about one question if anyone has any. Otherwise, we can move on to the next speaker, which is also Masayuki. So if anyone has a question, I'll just run the mic over. OK. Well then I'll wait for him to get his next slide set up.