WEBVTT

00:00:00.000 --> 00:00:02.259
Sometimes when I look at our issue tracker on

00:00:02.259 --> 00:00:05.940
GitHub, it's empty. You know, I have mixed feelings.

00:00:06.139 --> 00:00:08.500
Either we are really good at closing our issues

00:00:08.500 --> 00:00:11.460
or people just don't care. And the idea is pretty

00:00:11.460 --> 00:00:15.119
simple. You have a file with an HTTP extension.

00:00:15.460 --> 00:00:18.179
There is a specification for HTTP files nowadays.

00:00:19.000 --> 00:00:22.899
And, you know, we are 100 % following that specification.

00:00:23.280 --> 00:00:26.679
I tend to keep my operating systems like 10 years

00:00:26.679 --> 00:00:28.600
old and I don't want to change them or upgrade.

00:00:29.239 --> 00:00:33.020
So the square brackets are used to scroll the

00:00:33.020 --> 00:00:37.119
responses. That's me, you know, scrolling forward.

00:00:37.659 --> 00:00:40.340
What I wanted to show is, for example, here,

00:00:40.460 --> 00:00:44.200
if I change to another token, the device token,

00:00:44.380 --> 00:00:47.039
I run this, it tells me, okay, I acquired the

00:00:47.039 --> 00:00:51.399
new token. It opens up the browser. It automatically

00:00:51.399 --> 00:00:56.600
copies the code into the clipboard. but all i

00:00:56.600 --> 00:00:59.240
need to do just you know press paste and it's

00:00:59.240 --> 00:01:03.579
hey everyone i have two guests right now from

00:01:03.579 --> 00:01:08.040
the coolala team have marco and yarrow how's

00:01:08.040 --> 00:01:13.299
it going guys hi guys hi i'm pretty good i hope

00:01:13.299 --> 00:01:17.099
you're doing good too so yeah we we had a lot

00:01:17.099 --> 00:01:19.719
of trouble getting the screen to work or the

00:01:19.719 --> 00:01:23.599
recording to work but now it's we're good i think

00:01:24.140 --> 00:01:27.620
We've been trying to set this for one hour right

00:01:27.620 --> 00:01:31.140
now. We started an hour ago and finally we got

00:01:31.140 --> 00:01:33.959
it working. And this is not the first time. We

00:01:33.959 --> 00:01:37.659
had a call last week. We went live. The audio,

00:01:37.780 --> 00:01:41.239
I messed it up. It was my fault. And it's been,

00:01:41.359 --> 00:01:50.370
yeah, hopefully this time is the right one. meeting

00:01:50.370 --> 00:01:54.549
where we tried a third time. So let's see if

00:01:54.549 --> 00:01:57.390
everything works out. We better make it worth

00:01:57.390 --> 00:02:01.450
it, you know? And hopefully Colala works so much

00:02:01.450 --> 00:02:05.950
better than this video software or whatever it

00:02:05.950 --> 00:02:09.949
is. Yeah, we have the demos ready. Well, you

00:02:09.949 --> 00:02:12.050
guys have the demos ready and all that stuff,

00:02:12.169 --> 00:02:16.150
right? I have the same demos from the last time

00:02:16.150 --> 00:02:20.060
ready. where we met. But yeah, I think Yao can

00:02:20.060 --> 00:02:25.560
also demo stuff. Hopefully, yeah. So I was thinking,

00:02:25.659 --> 00:02:30.840
you know, Marco, you have the real world examples

00:02:30.840 --> 00:02:33.840
because you actually work with Colala every day

00:02:33.840 --> 00:02:36.500
on your projects. And I think it's a good idea

00:02:36.500 --> 00:02:40.240
to show what the real world examples are. I'm

00:02:40.240 --> 00:02:44.930
more sort of theoretical. uh guy because you

00:02:44.930 --> 00:02:48.150
know i make up my i make up my cases and i sort

00:02:48.150 --> 00:02:51.210
of follow for new features but i am but i i'm

00:02:51.210 --> 00:02:53.169
aware of all the new bells and whistles that

00:02:53.169 --> 00:02:55.389
have been added to koala lately and that's what

00:02:55.389 --> 00:03:00.789
i'm i can show off to people okay okay let's

00:03:01.240 --> 00:03:04.479
Just so that for people that don't know what's

00:03:04.479 --> 00:03:06.800
happening, I already know the two of you. We

00:03:06.800 --> 00:03:09.080
had the call last week, but I'm just going to

00:03:09.080 --> 00:03:11.539
pretend that I don't know you so that the rest

00:03:11.539 --> 00:03:14.099
of the people here get to know the two of you.

00:03:14.219 --> 00:03:18.159
So let's start with Marco. Who are you? Did you

00:03:18.159 --> 00:03:22.300
start Kulala? Did Yarrow come in the project

00:03:22.300 --> 00:03:25.000
afterwards? You mind sharing a little bit on

00:03:25.000 --> 00:03:29.879
that, Marco? Yes, I started Kulala because I

00:03:29.879 --> 00:03:34.639
was. starting a new job. And when I started the

00:03:34.639 --> 00:03:38.900
new job, I had to work a lot with APIs. And I

00:03:38.900 --> 00:03:42.599
usually tend to do everything in Neowim. And

00:03:42.599 --> 00:03:47.219
there was also REST Envim. There's also REST

00:03:47.219 --> 00:03:50.180
Envim. But at the time I was looking at it, it

00:03:50.180 --> 00:03:55.000
got archived because the current maintainer didn't

00:03:55.000 --> 00:03:57.759
want to maintain it anymore. He asked for...

00:03:58.110 --> 00:04:01.909
But nobody came up, so he archived it. And then

00:04:01.909 --> 00:04:07.050
I was like, OK, if I start this new job and I

00:04:07.050 --> 00:04:13.110
rely on a software that is archived, I have a

00:04:13.110 --> 00:04:17.250
bad feeling about this. So maybe I need an alternative

00:04:17.250 --> 00:04:22.230
to it. And at the time, there was no good alternative,

00:04:22.529 --> 00:04:25.810
at least for the stuff I need for my current

00:04:25.810 --> 00:04:32.110
day job. I started Kulala as a project just for

00:04:32.110 --> 00:04:35.050
me, but then I quickly realized maybe because

00:04:35.050 --> 00:04:39.529
this is now archived, the rest Envim project

00:04:39.529 --> 00:04:43.029
is now archived, maybe someone wants to join

00:04:43.029 --> 00:04:46.110
in or wants to also use Kulala and then made

00:04:46.110 --> 00:04:50.170
it public. And it got some traction because I

00:04:50.170 --> 00:04:53.910
posted on Reddit and there I also found Yaro

00:04:53.910 --> 00:04:56.790
because he was looking for, I think he just,

00:04:57.360 --> 00:05:00.839
asked for plugins where he can contribute to

00:05:00.839 --> 00:05:05.720
because he was looking for a project where he

00:05:05.720 --> 00:05:10.480
can work on plug -in stuff for NIRVM. And then

00:05:10.480 --> 00:05:14.800
I thought, okay, that would be a perfect match

00:05:14.800 --> 00:05:18.600
because I'm the current sole maintainer of Kulala

00:05:18.600 --> 00:05:23.959
and I was maybe looking also for help. So he

00:05:23.959 --> 00:05:28.120
joined the team and now we're... like two maintainers

00:05:28.120 --> 00:05:32.160
of it. And yeah, it's quite a lot of fun for

00:05:32.160 --> 00:05:35.939
me. Okay. Okay. And why did you, why were you

00:05:35.939 --> 00:05:41.779
looking for projects to work on Yaro? So basically,

00:05:42.000 --> 00:05:49.120
you know, I'm, it's been a pause for me, for

00:05:49.120 --> 00:05:51.959
IT stuff, you know, for almost like for a couple

00:05:51.959 --> 00:05:54.680
of years, I've been doing other things. And then

00:05:54.680 --> 00:05:57.319
last year, last autumn, I decided to go back

00:05:57.319 --> 00:06:00.259
into software development, basically, because

00:06:00.259 --> 00:06:03.139
I always really enjoyed it, but not always had

00:06:03.139 --> 00:06:07.139
the opportunity to work in this field. And last

00:06:07.139 --> 00:06:10.459
autumn, I went back and I discovered Neovium.

00:06:10.579 --> 00:06:14.000
I've used Vim before, and I've discovered Neovium.

00:06:14.019 --> 00:06:19.839
I was getting to know it. And I was discovering

00:06:19.839 --> 00:06:24.279
Lua, and then while discovering Lua, I sort of,

00:06:24.279 --> 00:06:27.199
I wasn't satisfied with a few things. Like I

00:06:27.199 --> 00:06:30.060
was surprised that Neovium, for example, didn't

00:06:30.060 --> 00:06:34.399
have a REPL. So I decided to make my own. And

00:06:34.399 --> 00:06:37.339
then I later sort of turned this into a plugin

00:06:37.339 --> 00:06:40.139
and really enjoyed the process of developing

00:06:40.139 --> 00:06:43.100
in Lua and making plugins for Neovium. and i

00:06:43.100 --> 00:06:45.060
decided you know i wanna you know i want to do

00:06:45.060 --> 00:06:47.160
something tangible i want you know i want to

00:06:47.160 --> 00:06:49.720
join some project which is uh fairly complex

00:06:49.720 --> 00:06:55.420
um um you know to enjoy myself and to learn at

00:06:55.420 --> 00:06:58.980
the same time uh so i posted on reddit and marco

00:06:58.980 --> 00:07:01.079
offered to join the project and for me it was

00:07:01.079 --> 00:07:03.459
just a perfect a perfect match i joined like

00:07:03.459 --> 00:07:06.839
just over two months ago and for me it was perfect

00:07:06.839 --> 00:07:09.540
because it's all to do with sort of networking

00:07:09.540 --> 00:07:13.540
internet http and i'm quite good at that and

00:07:13.540 --> 00:07:16.319
uh i looked at the code base and i really liked

00:07:16.319 --> 00:07:18.819
uh you know i really like the whole structure

00:07:18.819 --> 00:07:22.779
and idea behind it so yeah i jumped in and immediately

00:07:22.779 --> 00:07:27.399
i loved it and i have been enjoying since really

00:07:27.399 --> 00:07:30.540
oh and what's your background like are you a

00:07:30.540 --> 00:07:34.980
back -end front -end full stack developer um

00:07:34.980 --> 00:07:39.870
so I have, I've been mostly doing backend in

00:07:39.870 --> 00:07:43.370
my life. Sort of, I've been a full stack developer

00:07:43.370 --> 00:07:47.389
for some time, sort of in Ruby and Rails ecosystem

00:07:47.389 --> 00:07:50.970
a few years ago. But really, I always enjoyed

00:07:50.970 --> 00:07:54.069
more backend. That's, you know, that's where

00:07:54.069 --> 00:07:58.050
I'm really good at. And frontend, I can do if

00:07:58.050 --> 00:08:01.029
I really have to, but I try to avoid it as much

00:08:01.029 --> 00:08:04.050
as possible. Oh, and what about you, Marco? What's

00:08:04.050 --> 00:08:11.350
your specialty? My specialty is like, I, I do

00:08:11.350 --> 00:08:15.430
like everything. I mean, it was like this at

00:08:15.430 --> 00:08:19.050
my, all my companies I worked for, like basically

00:08:19.050 --> 00:08:23.009
it's just helping out where I can. So if it's

00:08:23.009 --> 00:08:29.649
ops, so operations or DevOps or front end or

00:08:29.649 --> 00:08:34.879
back end, so wherever I can help the most. And

00:08:34.879 --> 00:08:39.600
that is what I'm currently also doing. I'm mostly

00:08:39.600 --> 00:08:44.240
helping the DevOps teams in our current company.

00:08:44.399 --> 00:08:48.840
But yeah, it's basically I'm helping wherever

00:08:48.840 --> 00:08:55.720
I can. So also doing front end stuff. Also getting

00:08:55.720 --> 00:09:00.740
workarounds to work in GCP because they are not,

00:09:00.820 --> 00:09:03.990
I don't know if you know this, but Coming from

00:09:03.990 --> 00:09:08.490
AWS and then using GCP, it's quite, I mean, they're

00:09:08.490 --> 00:09:11.870
pretty different, so quite different when it

00:09:11.870 --> 00:09:13.909
comes to setting up load balancers and all this

00:09:13.909 --> 00:09:17.789
stuff. So it's quite a challenge to get it sometimes

00:09:17.789 --> 00:09:19.809
to work like with Phoenix environments and all

00:09:19.809 --> 00:09:26.049
this stuff. But yeah, basically, I don't, how

00:09:26.049 --> 00:09:27.990
do you call it, a jack of all trades or something

00:09:27.990 --> 00:09:33.389
like that. Okay, wonderful. For the people that

00:09:33.389 --> 00:09:36.870
don't know what Kulala is, I have here in the

00:09:36.870 --> 00:09:42.070
topic a postman, alternative, any of them. Is

00:09:42.070 --> 00:09:47.850
that accurate? How would you describe it, Marco?

00:09:48.049 --> 00:09:51.210
What is Kulala? If I come to this video and I'm

00:09:51.210 --> 00:09:53.250
like, what are these guys talking about? What

00:09:53.250 --> 00:09:56.570
would you say to someone watching? Yeah, I don't

00:09:56.570 --> 00:10:00.009
know if we're currently already there, but we...

00:10:00.460 --> 00:10:04.860
strive to be an alternative to Postman or Bruno

00:10:04.860 --> 00:10:09.659
or Insomnia or, I mean, all this stuff. And we

00:10:09.659 --> 00:10:13.440
want to get all this, I mean, all these features

00:10:13.440 --> 00:10:18.200
they offer into Neon. So basically, that is our

00:10:18.200 --> 00:10:20.580
goal. I don't know if we are currently there,

00:10:20.720 --> 00:10:24.980
but we are working on that. So we're pretty close.

00:10:25.200 --> 00:10:30.649
I would say we're 99 % there. Okay. So the goal

00:10:30.649 --> 00:10:33.169
is not to leave the terminal. It's to stay in

00:10:33.169 --> 00:10:36.009
NeoBeam and to be able to do all your requests,

00:10:36.350 --> 00:10:39.250
get the data that you need, and work with that

00:10:39.250 --> 00:10:43.590
data, right? That's right, yes. Okay. What are

00:10:43.590 --> 00:10:47.090
the most popular options out there? I've heard

00:10:47.090 --> 00:10:50.850
about, because of you guys, what is the name

00:10:50.850 --> 00:10:53.350
of this Bing company that has a lot of IDEs?

00:10:54.490 --> 00:10:57.399
JetBrains. Yeah, that one. What do they have?

00:10:57.440 --> 00:11:02.299
Do they have like a GUI or what is it? They have,

00:11:02.379 --> 00:11:04.960
so JetBrains, you know, I've got a bunch of products,

00:11:05.080 --> 00:11:07.279
but basically they've got the IntelliJ Studio,

00:11:07.539 --> 00:11:10.879
which is a huge IDE for everything. And within

00:11:10.879 --> 00:11:17.500
it, they have the HTTP client, which can be used,

00:11:17.620 --> 00:11:20.379
well, it cannot be used as standalone, but it's

00:11:20.379 --> 00:11:24.019
an IntelliJ HTTP client, what they have. And

00:11:24.019 --> 00:11:27.639
they also have HTTP CLI, the command line interface

00:11:27.639 --> 00:11:31.860
for that client. And this client, how does it

00:11:31.860 --> 00:11:34.019
work? Do you need to provide it a file? Do you

00:11:34.019 --> 00:11:40.639
pass commands to it? It's pretty much the same

00:11:40.639 --> 00:11:43.840
experience as Postman. I would say that most

00:11:43.840 --> 00:11:47.899
of the products out there, they're very similar

00:11:47.899 --> 00:11:51.559
in their user interface. They're very similar

00:11:51.559 --> 00:11:53.440
in the user interface, and they're all based

00:11:53.440 --> 00:11:57.080
on the idea that you have. So for Purser, for

00:11:57.080 --> 00:12:00.159
example, in their terms, it's called collections,

00:12:00.460 --> 00:12:05.519
where you have collections of kind of files with

00:12:05.519 --> 00:12:09.000
your requests. And in our case, it's HTTP files,

00:12:09.159 --> 00:12:15.799
the files with HTTP extension, which have sort

00:12:15.799 --> 00:12:18.139
of lists of requests, and then those files are

00:12:18.139 --> 00:12:23.299
executed. with the runtime. Thanks for sharing

00:12:23.299 --> 00:12:28.460
that. Okay. And let's demo stuff. You know, that's

00:12:28.460 --> 00:12:32.740
going to make people understand better what we're

00:12:32.740 --> 00:12:35.960
talking about. So who wants to demo something

00:12:35.960 --> 00:12:41.120
first? I think Jao can try to demo stuff first.

00:12:41.799 --> 00:12:44.679
We've been setting up so long. So, okay, let

00:12:44.679 --> 00:12:48.620
me try. Let me try if it works. Okay, let me

00:12:48.620 --> 00:12:52.740
switch to your screen, Yarrow. Let's see. So

00:12:52.740 --> 00:12:58.240
the idea is pretty simple. You have a file with

00:12:58.240 --> 00:13:03.539
an HTTP extension. And there is a specification

00:13:03.539 --> 00:13:09.379
for HTTP files nowadays. And we are 100 % following

00:13:09.379 --> 00:13:12.840
that specification. And basically, you know,

00:13:12.860 --> 00:13:14.639
it's a file where you have a bunch of requests,

00:13:14.899 --> 00:13:18.059
like, you know, one, two, three, four, whatever.

00:13:18.860 --> 00:13:24.659
And then you can run this request either one

00:13:24.659 --> 00:13:27.039
by one. You know, in my case, I just press enter

00:13:27.039 --> 00:13:30.059
and that request is run. I get the response here.

00:13:30.440 --> 00:13:36.080
Wait, so all you need to do is to place your

00:13:36.080 --> 00:13:39.360
cursor. That's not even a word. So you just need

00:13:39.360 --> 00:13:43.120
to place your cursor. like in the section of

00:13:43.120 --> 00:13:46.080
a request and hit enter because that's the key

00:13:46.080 --> 00:13:50.320
map that you configured yeah yeah well uh i mean

00:13:50.320 --> 00:13:54.240
klala comes with uh um with default key maps

00:13:54.240 --> 00:13:57.919
i mean they are they are um they are disabled

00:13:57.919 --> 00:14:00.980
by default um so you know it doesn't interfere

00:14:00.980 --> 00:14:04.830
with people's key maps but You know, I've tried

00:14:04.830 --> 00:14:07.210
to choose, you know, key maps that wouldn't interfere

00:14:07.210 --> 00:14:09.669
with the other ones. But in any case, if you

00:14:09.669 --> 00:14:12.370
enable default key maps, you get a bunch of,

00:14:12.409 --> 00:14:15.490
you know, all the commands will be available

00:14:15.490 --> 00:14:18.769
for key maps. But basically, you know, in my

00:14:18.769 --> 00:14:21.250
case, you just press, you just hit enter and

00:14:21.250 --> 00:14:25.850
the request is sent. Wonderful. And how do you

00:14:25.850 --> 00:14:28.789
separate sections, like the different requests?

00:14:29.639 --> 00:14:33.860
So you separate sections with these three hashes.

00:14:34.399 --> 00:14:38.799
So you have three hashes. You can name request.

00:14:39.639 --> 00:14:42.159
You can give it a name. So it doesn't matter

00:14:42.159 --> 00:14:46.279
if you put a comment there? No, it's actually

00:14:46.279 --> 00:14:49.279
quite useful to have a comment there. So for

00:14:49.279 --> 00:14:53.240
example, I can open the outline here on the side.

00:14:53.559 --> 00:14:57.659
And then if you have given a name to your request,

00:14:58.360 --> 00:15:02.139
I have a spelling mistake here. Rest 1, for instance.

00:15:02.320 --> 00:15:06.960
Right? Then you have that name here. And also,

00:15:08.059 --> 00:15:11.000
when you give your request a name, you can refer

00:15:11.000 --> 00:15:14.639
to that request in other requests. You can refer

00:15:14.639 --> 00:15:20.779
to it as an object. So you can retrieve some

00:15:20.779 --> 00:15:24.700
data from previous requests in your current request.

00:15:25.340 --> 00:15:30.169
Okay. Interesting. okay so basically yeah you

00:15:30.169 --> 00:15:33.389
know you press enter or you visually select a

00:15:33.389 --> 00:15:35.850
few requests that you want to run and then you

00:15:35.850 --> 00:15:39.450
run several requests at the same time um you

00:15:39.450 --> 00:15:43.429
can you know scroll back in history and you know

00:15:43.429 --> 00:15:45.690
get access to all the requests you have done

00:15:45.690 --> 00:15:50.230
um there is a bunch of different views for requests

00:15:50.230 --> 00:15:53.289
for example you can switch to you know, the reverse

00:15:53.289 --> 00:15:57.149
view that will give you the whole information

00:15:57.149 --> 00:16:03.129
about the request. You can switch to the script

00:16:03.129 --> 00:16:07.750
output or I'll show the script output later.

00:16:08.110 --> 00:16:13.610
And how do you execute multiple requests? I noticed,

00:16:13.850 --> 00:16:16.330
well, you said that you selected them visually

00:16:16.330 --> 00:16:20.009
and then you pressed enter, right? Yes, exactly.

00:16:21.179 --> 00:16:25.120
You can select it visually and press Enter. Or

00:16:25.120 --> 00:16:30.100
you can use Code Actions to open up all the actions

00:16:30.100 --> 00:16:33.620
which are available for Kulala. All the commands

00:16:33.620 --> 00:16:37.360
are available to Code Actions. Through the default

00:16:37.360 --> 00:16:40.620
NeoVim keymap for Code Actions, usually it's

00:16:40.620 --> 00:16:47.500
GRA, or for LazyVim it's LeaderCA for Code Actions.

00:16:48.179 --> 00:16:50.679
But, you know, something along those lines. And

00:16:50.679 --> 00:16:54.299
here I can choose to send a request or send all

00:16:54.299 --> 00:16:56.759
requests. And sending all requests will send

00:16:56.759 --> 00:17:01.679
all requests in the file. Oh, okay. In the file

00:17:01.679 --> 00:17:05.000
that you're working on. Okay. Yeah. So if you

00:17:05.000 --> 00:17:06.859
look at the bottom of my screen now, you'll see

00:17:06.859 --> 00:17:10.420
that there's now 10 out of 27 requests or 11.

00:17:10.680 --> 00:17:12.839
I skip on counting, you know, the requests are

00:17:12.839 --> 00:17:17.059
being run. And if I go to the report section,

00:17:17.359 --> 00:17:19.759
for example, I can see... So while it's running,

00:17:19.980 --> 00:17:22.599
you can do something else, right? You don't have

00:17:22.599 --> 00:17:24.740
to wait for it to finish. Yeah, yeah, exactly.

00:17:24.980 --> 00:17:29.299
So while it's running, you can go to... You know,

00:17:29.319 --> 00:17:31.079
you can continue working. It will be running

00:17:31.079 --> 00:17:34.200
in the background. And then you can see the summary

00:17:34.200 --> 00:17:36.720
is there at the bottom. You can see here, you

00:17:36.720 --> 00:17:43.980
see requests. 17 requests run, 10 failed. five

00:17:43.980 --> 00:17:47.099
successful asserts or failed and then you get

00:17:47.099 --> 00:17:51.460
a summary of uh different sessions here okay

00:17:51.460 --> 00:17:54.799
so that's pretty cool so you can go back and

00:17:54.799 --> 00:17:59.619
see old um results how would you go and look

00:17:59.619 --> 00:18:03.079
at the first request that you sent how can you

00:18:03.079 --> 00:18:07.700
see the results of that request um so basically

00:18:07.700 --> 00:18:10.930
there You know, all the main key maps are at

00:18:10.930 --> 00:18:12.950
the top. You know, so there are the letters,

00:18:13.130 --> 00:18:15.309
the different letters for switching the different

00:18:15.309 --> 00:18:18.069
views. And also you can see in the top right

00:18:18.069 --> 00:18:22.269
corner, the two arrows, right and left. So the

00:18:22.269 --> 00:18:26.650
square brackets are used to scroll the responses.

00:18:27.609 --> 00:18:31.109
That's me, you know, scrolling forward. Oh, okay.

00:18:31.190 --> 00:18:33.529
You can see the number there at the top, right?

00:18:33.769 --> 00:18:38.210
18 of 31, 19 of 31. Yeah. Okay. Yeah, exactly.

00:18:38.880 --> 00:18:41.480
You see the response. And you said, let's say

00:18:41.480 --> 00:18:44.920
that you're on this 19 of 31. How did you switch

00:18:44.920 --> 00:18:50.519
to verbose mode for this one? So in this case,

00:18:50.660 --> 00:18:58.900
it's a V, just letter V. That's it. Okay. And

00:18:58.900 --> 00:19:01.000
what is this? What are we looking at right now?

00:19:01.099 --> 00:19:05.859
This response. This is where both output, which

00:19:05.859 --> 00:19:10.000
is basically all the data that curl outputs during

00:19:10.000 --> 00:19:12.720
the request. So you can see it, you know, trying

00:19:12.720 --> 00:19:15.980
connected, then exchanging the TLS certificate

00:19:15.980 --> 00:19:23.039
data, then sending the payload, then, you know,

00:19:23.039 --> 00:19:25.380
getting the response back, and this is the response

00:19:25.380 --> 00:19:28.279
itself. Oh, but this is just related to this

00:19:28.279 --> 00:19:32.839
particular request, 18 of 31, right? Yeah. yeah

00:19:32.839 --> 00:19:34.680
yeah this is the same this is the same request

00:19:34.680 --> 00:19:38.220
okay so i see that you scroll there to the top

00:19:38.220 --> 00:19:41.500
and we can see the request name that yeah for

00:19:41.500 --> 00:19:44.599
both output for that request so you can stay

00:19:44.599 --> 00:19:46.619
in this view and scroll the request and then

00:19:46.619 --> 00:19:49.000
you know whatever you yeah you can scroll in

00:19:49.000 --> 00:19:56.160
any view okay okay all right wonderful and um

00:19:56.160 --> 00:20:00.759
what else do you want to demo right so i think

00:20:00.759 --> 00:20:06.069
uh You know, there's quite a few features, but

00:20:06.069 --> 00:20:08.849
I would say the core ones, you know, we can make

00:20:08.849 --> 00:20:11.289
requests. Sure, that's, you know, the simple

00:20:11.289 --> 00:20:18.029
thing. Now, we can have scripts for our requests,

00:20:18.250 --> 00:20:21.970
so -called pre -request script and post -request

00:20:21.970 --> 00:20:25.970
script, which basically means that you can do

00:20:25.970 --> 00:20:29.910
a bunch of calculations or checks before running

00:20:29.910 --> 00:20:34.180
the request. For example, check if the token

00:20:34.180 --> 00:20:37.799
that you have is expired. If it is expired, then

00:20:37.799 --> 00:20:40.579
refresh a new one before running the request.

00:20:41.039 --> 00:20:43.980
Get the token and then run the request. And then

00:20:43.980 --> 00:20:46.539
after the request, you can do a bunch of our

00:20:46.539 --> 00:20:48.579
sessions. For example, I have an example here.

00:20:48.960 --> 00:20:52.720
I have a request. And then after the request

00:20:52.720 --> 00:20:55.400
is done, I'm checking if the response is correct,

00:20:55.660 --> 00:21:00.519
if there are some fields in the JSON response.

00:21:01.519 --> 00:21:05.359
are sort of correct, which is basically, you

00:21:05.359 --> 00:21:08.059
know, very similar to any kind of test framework.

00:21:08.299 --> 00:21:16.980
We have a bunch of assert methods for asserting

00:21:16.980 --> 00:21:19.359
the responses. So, you know, you can check the

00:21:19.359 --> 00:21:22.539
JSON, you can check the headers, you can, you

00:21:22.539 --> 00:21:26.539
know, you can do all kinds of checks. And then

00:21:26.539 --> 00:21:30.599
when these checks are run, you get a nice -looking

00:21:30.599 --> 00:21:35.460
report telling you what has failed, what has

00:21:35.460 --> 00:21:40.720
been successful. Okay. So as part of that script

00:21:40.720 --> 00:21:45.299
that executes after the request, you could save

00:21:45.299 --> 00:21:48.619
data into a text file, for example, right? That

00:21:48.619 --> 00:21:53.079
would be done on the post script, correct? Yeah.

00:21:53.180 --> 00:21:55.559
Yeah, that is also possible. I mean, you can...

00:21:56.380 --> 00:22:01.660
You can save the response data into the file.

00:22:02.079 --> 00:22:06.660
You can read from external files to send the

00:22:06.660 --> 00:22:09.160
request. You can read the payload from external

00:22:09.160 --> 00:22:17.480
files. Also, if you have requests scattered across

00:22:17.480 --> 00:22:22.299
different HTTP files, You can import those requests

00:22:22.299 --> 00:22:25.819
into your file and run requests from external

00:22:25.819 --> 00:22:31.619
files. I mean, that is quite useful too. Okay,

00:22:31.740 --> 00:22:37.900
okay, wonderful. And how do you put in secrets

00:22:37.900 --> 00:22:41.720
in here? Like, how do you handle that usually?

00:22:42.539 --> 00:22:48.180
Right, so that is done with environments. I mean,

00:22:48.240 --> 00:22:54.299
usually we support a few different ways of doing

00:22:54.299 --> 00:22:58.599
it. So, you know, our main one is the HTTP profile

00:22:58.599 --> 00:23:06.099
JSON files. For example, if I open, so this is

00:23:06.099 --> 00:23:08.680
the manager for the authentication configuration

00:23:08.680 --> 00:23:16.740
to do the auth2 authentication. And so, you know.

00:23:17.180 --> 00:23:21.160
you keep your secrets in http profile json file

00:23:21.160 --> 00:23:25.859
and that is read when you run the requests okay

00:23:25.859 --> 00:23:29.259
okay you don't have any sensitive data here right

00:23:29.259 --> 00:23:32.319
no no no i don't this is all test stuff okay

00:23:32.319 --> 00:23:37.839
okay so for example um just to give you an example

00:23:37.839 --> 00:23:42.440
for example with um authentication um say um

00:23:43.240 --> 00:23:46.579
For example, I have a request here to the Google

00:23:46.579 --> 00:23:51.039
Drive in order to get a list of files. So first,

00:23:51.279 --> 00:23:53.700
just to show, I'm going to revoke the token that

00:23:53.700 --> 00:23:56.859
I have. So I'm going to open the authentication

00:23:56.859 --> 00:24:02.400
manager, then find this token. This is this token.

00:24:02.480 --> 00:24:10.319
I press R to revoke. Okay, so that is... Okay,

00:24:10.420 --> 00:24:15.339
so it's revoked already. And then if I press

00:24:15.339 --> 00:24:21.200
Enter, Kulala will open the browser automatically,

00:24:21.539 --> 00:24:25.500
which will redirect you to the Auth2 authentication

00:24:25.500 --> 00:24:31.880
server, where you would need to grant their permissions

00:24:31.880 --> 00:24:34.900
to access the resource. So I'm just granting

00:24:34.900 --> 00:24:39.619
the permissions to access. google drive now it's

00:24:39.619 --> 00:24:42.400
telling us that the code token has been received

00:24:42.400 --> 00:24:47.559
you can close the browser now and if we go here

00:24:47.559 --> 00:24:50.160
we see that request is done already with the

00:24:50.160 --> 00:24:53.180
new token and we got a list of files from google

00:24:53.180 --> 00:24:58.460
drive interesting okay yeah yarrow has to explain

00:24:58.460 --> 00:25:02.220
because i'm so happy that yarrow did this because

00:25:02.220 --> 00:25:04.799
we had to talk about it and yarrow managed to

00:25:04.799 --> 00:25:09.559
to get the token He did the extra mile, and when

00:25:09.559 --> 00:25:12.640
he does this stuff, he spins up a web server

00:25:12.640 --> 00:25:15.920
in Kulala, which is able to receive the token,

00:25:16.019 --> 00:25:20.039
right? Yeah, that's right. So the whole authentication

00:25:20.039 --> 00:25:26.240
stuff is automated. So if the token has expired,

00:25:26.440 --> 00:25:32.250
it will refresh the token automatically. If the

00:25:32.250 --> 00:25:36.210
token is invalid, it will redirect to the server

00:25:36.210 --> 00:25:40.089
and then grab the tokens or the codes, whatever,

00:25:40.289 --> 00:25:43.410
from the server automatically. And then we'll

00:25:43.410 --> 00:25:47.410
substitute it into the request. So you just email,

00:25:47.450 --> 00:25:49.210
you don't have to do anything. So for example,

00:25:49.369 --> 00:25:53.450
just another example, if I change this, you see

00:25:53.450 --> 00:25:57.089
we have nice autocomplete working, which is showing

00:25:57.089 --> 00:26:00.799
all the available... all the available tokens

00:26:00.799 --> 00:26:03.359
that I have in my configuration. So, for example,

00:26:03.359 --> 00:26:07.019
I... Is that autocomplete through Blink or something,

00:26:07.160 --> 00:26:11.339
or is that something you guys implemented? So,

00:26:11.440 --> 00:26:15.059
the autocomplete for Kulala, it's... So, Kulala

00:26:15.059 --> 00:26:19.440
has got a built -in LSP server. And basically,

00:26:19.500 --> 00:26:22.420
whatever autocompletion you have in your Neobium,

00:26:22.539 --> 00:26:25.160
it will pick it up. I mean, in my case, I have

00:26:25.160 --> 00:26:28.809
Blink. And you don't need to set up anything.

00:26:29.009 --> 00:26:31.230
You just run Kulala, and you have the autocomplete

00:26:31.230 --> 00:26:35.349
for Kulala there, which works for everything,

00:26:35.450 --> 00:26:42.309
basically. For headers, for values, for variables,

00:26:42.630 --> 00:26:47.690
just anything. For all the commands, for example,

00:26:47.869 --> 00:26:52.190
if I just do this, you get all the commands and

00:26:52.190 --> 00:26:55.069
snippets for all kinds of stuff that you can

00:26:55.069 --> 00:26:59.339
do in Kulala. Okay, so this is another package

00:26:59.339 --> 00:27:02.420
that you guys developed as well, right? Besides

00:27:02.420 --> 00:27:07.000
Kulala .envim, this is Kulala -ls, right? Is

00:27:07.000 --> 00:27:12.059
this what we're looking at right now? No. Kulala

00:27:12.059 --> 00:27:16.599
-ls, the language server, was originally done

00:27:16.599 --> 00:27:24.859
by Marco as a separate project. But lately, I

00:27:24.859 --> 00:27:30.019
was playing around in Nevium with LSP servers,

00:27:30.180 --> 00:27:32.299
and I thought it would be a good idea to implement

00:27:32.299 --> 00:27:37.279
a built -in one. Because the Kulala LS is a separate

00:27:37.279 --> 00:27:40.700
project, and if I'm correct, Marko, it's done

00:27:40.700 --> 00:27:44.599
in TypeScript, right? Yes, that's true. It's

00:27:44.599 --> 00:27:47.000
done in TypeScript, and it's run as a standalone

00:27:47.000 --> 00:27:52.170
server. And Colala built -in LSP server is basically

00:27:52.170 --> 00:27:54.690
an in -process server. I mean, it's built into

00:27:54.690 --> 00:27:57.549
Colala, it's super fast, it's within Nevium,

00:27:57.789 --> 00:28:00.210
it doesn't need any external dependencies, and

00:28:00.210 --> 00:28:03.789
it doesn't need to spin up an external binary.

00:28:04.549 --> 00:28:10.970
So, do we need to still install Colala LS? No,

00:28:11.589 --> 00:28:14.450
you don't need to. If you're just using Colala,

00:28:14.589 --> 00:28:17.900
you're just fine with the built -in one. take

00:28:17.900 --> 00:28:21.599
to for example rest .envim because it's now maintained

00:28:21.599 --> 00:28:26.099
um you can just use because they don't have a

00:28:26.099 --> 00:28:28.740
lsp but then you can use the coolala one because

00:28:28.740 --> 00:28:35.440
it's working with http files so if you have if

00:28:35.440 --> 00:28:39.599
you are using any plugin that uses http files

00:28:39.599 --> 00:28:42.940
to send requests you can use the the Kulala language

00:28:42.940 --> 00:28:45.579
server for it. But if you're just using Kulala

00:28:45.579 --> 00:28:48.700
in them as a plugin, you don't have to install

00:28:48.700 --> 00:28:52.859
anything beside the plugin itself. Oh, wonderful.

00:28:53.960 --> 00:29:01.539
OK. So yeah, I was just about to show, I started

00:29:01.539 --> 00:29:07.170
talking about PortaComplete, but what I was What

00:29:07.170 --> 00:29:09.650
I wanted to show is, for example, here, if I

00:29:09.650 --> 00:29:14.549
change to another token, the device token. So

00:29:14.549 --> 00:29:20.470
this is an example. When I run this, it tells

00:29:20.470 --> 00:29:23.490
me, okay, I acquired the new token. It opens

00:29:23.490 --> 00:29:28.630
up the browser. And then it automatically copies

00:29:28.630 --> 00:29:34.109
the code into the clipboard. All I need to do

00:29:34.109 --> 00:29:38.859
is press paste. paste it there and then press

00:29:38.859 --> 00:29:45.859
continue i choose my account um i grant the permissions

00:29:45.859 --> 00:29:51.920
okay and it says continue on your device if i

00:29:51.920 --> 00:29:54.700
close this i can see that the request has already

00:29:54.700 --> 00:29:57.559
gone through and i got the result and this is

00:29:57.559 --> 00:30:01.420
the new token already and then if i if i if i

00:30:01.420 --> 00:30:04.619
wanted to i could open up the authentication

00:30:04.619 --> 00:30:15.140
manager open up the authentication engine, then

00:30:15.140 --> 00:30:19.759
I can press T to go into the private file, and

00:30:19.759 --> 00:30:25.799
then here you can see all the stuff that I received

00:30:25.799 --> 00:30:29.000
from the authentication server. The user code,

00:30:29.200 --> 00:30:33.160
the request URL, the device code, the expiration,

00:30:33.640 --> 00:30:36.890
and so on. Okay. You're going to revoke this

00:30:36.890 --> 00:30:41.109
after the call, right? They're all shortly done.

00:30:41.170 --> 00:30:45.470
They're like 10 minutes or something. Okay. For

00:30:45.470 --> 00:30:49.670
the sake of example, of course, we can do it

00:30:49.670 --> 00:30:54.529
now. I mean, why not? I can just press R and

00:30:54.529 --> 00:30:57.349
that's it. It's revoked. Then I can revoke this

00:30:57.349 --> 00:31:02.240
one too. Okay. So that's it. So this is something

00:31:02.240 --> 00:31:05.519
new, this authenticator that you just demoed,

00:31:05.519 --> 00:31:08.200
right? Can you talk a little bit more about it?

00:31:08.259 --> 00:31:15.019
I just want to understand. So basically, you

00:31:15.019 --> 00:31:18.380
know, it's the support for auth2 authentication

00:31:18.380 --> 00:31:24.299
with all the, basically with all the grant types

00:31:24.299 --> 00:31:29.220
that there are there. So it's like, Let's remember

00:31:29.220 --> 00:31:31.640
which grant types are there. So client credentials,

00:31:32.319 --> 00:31:39.680
password. Okay, it's probably easier for me just

00:31:39.680 --> 00:31:44.180
to open up and tell you. So let's just open up

00:31:44.180 --> 00:31:50.160
the docs. Lala authentication. So yeah, we support

00:31:50.160 --> 00:31:52.500
all the grant types like authorization code,

00:31:52.640 --> 00:31:55.279
client credentials, device authorization, implicit

00:31:55.279 --> 00:31:59.329
and password grant types. which basically covers

00:31:59.329 --> 00:32:07.109
it all. The most convenient thing I would say

00:32:07.109 --> 00:32:10.190
is that all the authentication is done automatically.

00:32:10.490 --> 00:32:13.769
Things like, I showed you revoking the token,

00:32:13.970 --> 00:32:16.690
the automatic refresh, the automatic acquiring

00:32:16.690 --> 00:32:20.269
of the token. Also, if you're working with JWT,

00:32:20.410 --> 00:32:26.150
you can produce JWT right in Colala. You specify

00:32:26.150 --> 00:32:33.369
the... where you specify the details for JWT,

00:32:33.650 --> 00:32:40.369
and those will be done automatically. Also, there's

00:32:40.369 --> 00:32:43.269
quite a lot of stuff. It's all really well covered

00:32:43.269 --> 00:32:45.609
in the documentation, so it's better to have

00:32:45.609 --> 00:32:49.450
a look there. Okay. And the documentation, like

00:32:49.450 --> 00:32:53.869
the... Most up -to -date stuff is in the plugin

00:32:53.869 --> 00:32:56.170
itself, right? So I go into Neovim, open the

00:32:56.170 --> 00:32:58.890
documentation for Colala, and I read there, right?

00:32:59.150 --> 00:33:03.549
Yeah, yeah. Yeah, it's all there. So we have

00:33:03.549 --> 00:33:06.829
a documentation website on the web available,

00:33:07.069 --> 00:33:10.490
but also, you know, whenever we push anything,

00:33:10.809 --> 00:33:14.150
whenever we push any updates, all the documentation

00:33:14.150 --> 00:33:18.269
is updated within Colala itself, inside Neovim.

00:33:18.450 --> 00:33:21.539
So, you know, if you just... uh search for colala

00:33:21.539 --> 00:33:24.839
in your newbie uh whatever you you know you'll

00:33:24.839 --> 00:33:29.359
get it all that okay wonderful so there is there

00:33:29.359 --> 00:33:32.000
is also something uh y 'all implemented like

00:33:32.000 --> 00:33:37.200
the the base is our documentation website and

00:33:37.200 --> 00:33:39.700
we have to keep that up to date but every time

00:33:39.700 --> 00:33:42.480
we change something here we have ci pipeline

00:33:42.480 --> 00:33:44.660
running which generates all this documentation

00:33:44.660 --> 00:33:49.779
then automatically and in the website For the

00:33:49.779 --> 00:33:52.359
website, we have to keep it up -to -date manually.

00:33:52.619 --> 00:33:56.819
We have to change the documentation there, but

00:33:56.819 --> 00:34:02.019
it's also markdown. And once we push this change

00:34:02.019 --> 00:34:04.960
of this website, we have a CI pipeline running,

00:34:05.160 --> 00:34:07.880
which automatically creates a pull request with

00:34:07.880 --> 00:34:13.440
the generated documentation for the plugin itself.

00:34:13.739 --> 00:34:18.449
So you can view it in Neowim as well. Okay. okay

00:34:18.449 --> 00:34:22.849
wonderful do you have by any chance uh demo arrow

00:34:22.849 --> 00:34:27.989
on something basic how would you load um i don't

00:34:27.989 --> 00:34:30.829
know a basic request nothing with odd you know

00:34:30.829 --> 00:34:34.690
but just um a token like a barrier token or something

00:34:34.690 --> 00:34:39.989
how would you load that environment all right

00:34:39.989 --> 00:34:46.289
so now let's see if the http uh bin is working

00:34:46.860 --> 00:34:53.219
Because it wasn't working today. No, unfortunately,

00:34:53.500 --> 00:34:58.019
HTTP is not available. I think the server is

00:34:58.019 --> 00:35:07.340
down. But, you know, let me... I mean, I can

00:35:07.340 --> 00:35:10.119
also show this, I mean, later on when Yaro finishes

00:35:10.119 --> 00:35:14.639
his demo, because if you just want to see obtaining...

00:35:16.139 --> 00:35:19.079
bearer token from a service and just using it

00:35:19.079 --> 00:35:22.820
to authenticate another service. I can also show

00:35:22.820 --> 00:35:25.519
this, but yeah. Yeah, probably a good idea because

00:35:25.519 --> 00:35:28.559
most of my examples are with HTTP in bin, which

00:35:28.559 --> 00:35:32.500
unfortunately is down today. Okay, that's fine.

00:35:32.659 --> 00:35:37.019
You want to switch to your screen, Marco? Yes.

00:35:37.340 --> 00:35:44.280
Okay, let's do it. So basically... That's what

00:35:44.280 --> 00:35:47.460
you asked about, right? We have an endpoint where

00:35:47.460 --> 00:35:51.599
you can run a request like login, and then it

00:35:51.599 --> 00:35:53.500
says login successful. You get a token and an

00:35:53.500 --> 00:35:57.500
expiry. And with that request, you can access

00:35:57.500 --> 00:36:02.019
this endpoint here, which basically is only accessible

00:36:02.019 --> 00:36:05.280
if you have a valid bearer token. And it takes

00:36:05.280 --> 00:36:09.119
it from the login request, and it says from the

00:36:09.119 --> 00:36:12.460
body, from the root node, where there was like

00:36:12.460 --> 00:36:15.699
if we run it again we see there is a token node

00:36:15.699 --> 00:36:19.980
so we use this as a bearer and then we yeah we

00:36:19.980 --> 00:36:22.420
just run this request and we get a successful

00:36:22.420 --> 00:36:25.199
response back from the from the api so this is

00:36:25.199 --> 00:36:28.820
basically how you really basically do it and

00:36:28.820 --> 00:36:31.719
this is something i do all the time at my current

00:36:31.719 --> 00:36:35.820
day job because we have an api where we can request

00:36:35.820 --> 00:36:38.940
bearer tokens and usually at our company they

00:36:38.940 --> 00:36:43.889
are valid for i think 30 minutes but um yeah

00:36:43.889 --> 00:36:48.150
we i have to fetch a barrel token with the client

00:36:48.150 --> 00:36:50.730
credentials i want to test and then it's the

00:36:50.730 --> 00:36:56.969
retrieved client um or the barrel token which

00:36:56.969 --> 00:36:59.670
is born to the client i can just make the request

00:36:59.670 --> 00:37:05.530
to the other endpoints then but um it's not exactly

00:37:05.530 --> 00:37:08.349
the same as i do it at my current day job because

00:37:08.349 --> 00:37:14.849
here we are just sending I mean, the login endpoint

00:37:14.849 --> 00:37:20.550
is the same, which expects JSON at my current

00:37:20.550 --> 00:37:26.010
company, but the other endpoints are GraphQL

00:37:26.010 --> 00:37:28.590
endpoints, so they expect a GraphQL query there.

00:37:28.969 --> 00:37:32.590
But that's something you can also do with Kulana.

00:37:32.889 --> 00:37:36.730
We support GraphQL, we support, I think, Yahoo

00:37:36.730 --> 00:37:42.710
Edit WebSocket, and also edit... yeah gmpc yeah

00:37:42.710 --> 00:37:46.110
exactly and you also edit streaming right so

00:37:46.110 --> 00:37:49.110
you can also yeah the chunk encoding yeah okay

00:37:49.110 --> 00:37:53.250
okay and let's say that i have my api key how

00:37:53.250 --> 00:37:57.250
do you load it um as environment variables i

00:37:57.250 --> 00:38:00.510
don't i'm i usually do this in postman i think

00:38:00.510 --> 00:38:03.010
whenever i need to do it so can you guys just

00:38:03.010 --> 00:38:05.969
quickly demo for someone that does not know how

00:38:05.969 --> 00:38:11.929
do you usually load the key into neovim Do you

00:38:11.929 --> 00:38:14.670
put it in a file? How do you guys usually do

00:38:14.670 --> 00:38:21.650
it? I mean, I have a... I mean, you should, when

00:38:21.650 --> 00:38:24.130
it comes to my opinion, you should put it in

00:38:24.130 --> 00:38:28.190
this hdb -client -private -env .json, which shouldn't

00:38:28.190 --> 00:38:30.730
be part of the repository then. It should be

00:38:30.730 --> 00:38:34.510
git -ignore, but you can also put it in a .env

00:38:34.510 --> 00:38:38.170
file because Kulala also supports this. If you

00:38:38.170 --> 00:38:40.449
just put it in a .env file and name it whatever

00:38:40.449 --> 00:38:43.929
you want, like API, login, password, and you

00:38:43.929 --> 00:38:48.170
set their value, it will automatically be available

00:38:48.170 --> 00:38:51.110
in your request as this environment variable.

00:38:51.929 --> 00:38:55.369
You can do whatever you want, but I think the

00:38:55.369 --> 00:39:00.110
way to go is use the HTTP client private env

00:39:00.110 --> 00:39:02.329
files because they are more flexible. If you

00:39:02.329 --> 00:39:07.420
have a look at them, you can have multiple environments,

00:39:07.599 --> 00:39:10.659
like you have in Postman. If you're using just

00:39:10.659 --> 00:39:13.239
a .env file, you just have basically one environment

00:39:13.239 --> 00:39:16.139
there. Or you have multiple .env files, but it

00:39:16.139 --> 00:39:21.599
gets really messy quite fast. So that's how you

00:39:21.599 --> 00:39:25.500
would do it, I think. And what I maybe can show

00:39:25.500 --> 00:39:29.960
off also is we have, like, you mentioned that

00:39:29.960 --> 00:39:33.019
we are a Coolala family, and we have some tools,

00:39:33.239 --> 00:39:35.920
also this Coolala FMT, which is a formatter,

00:39:35.980 --> 00:39:40.659
but also a converter of some stuff, which we

00:39:40.659 --> 00:39:43.519
are also planning on integrating. It's currently

00:39:43.519 --> 00:39:45.539
a standalone application, but we are also planning

00:39:45.539 --> 00:39:48.059
on integrating it into the Coolala Inven plugin.

00:39:48.360 --> 00:39:52.280
And what you can do here is like, for example,

00:39:52.300 --> 00:39:54.239
if you have a header which is lowercase like

00:39:54.239 --> 00:39:58.599
this, the HTTP spec says that if you're using

00:39:58.599 --> 00:40:04.440
HTTP 1 .1, It has to be like, I don't know, I

00:40:04.440 --> 00:40:06.860
think it's Pascal, or is it train case, I think.

00:40:07.539 --> 00:40:10.159
But nevertheless, it should be uppercase. The

00:40:10.159 --> 00:40:11.840
first letter should be always uppercase. I think

00:40:11.840 --> 00:40:15.639
it's called train case then. And what the Coulada

00:40:15.639 --> 00:40:19.900
FMT does, it also checks this. It checks, okay,

00:40:19.980 --> 00:40:23.920
this is HTTP 1 .1, and therefore this needs to

00:40:23.920 --> 00:40:26.920
be uppercase. And if I just run and save it,

00:40:26.980 --> 00:40:30.260
it converts it to an uppercase then for you.

00:40:30.750 --> 00:40:33.469
which makes and it also does something like this

00:40:33.469 --> 00:40:36.730
if i have it like here and i save it it puts

00:40:36.730 --> 00:40:39.710
it at the top because it oh just knows that uh

00:40:39.710 --> 00:40:44.070
it should be uniform as you last time so you

00:40:44.070 --> 00:40:46.110
can use it when you're working on a big team

00:40:46.110 --> 00:40:49.309
that all your http files are looking the same

00:40:49.309 --> 00:40:55.150
okay yeah that's pretty cool actually so what

00:40:55.150 --> 00:41:00.289
does coolala what products or Which tools do

00:41:00.289 --> 00:41:02.690
you guys have at the moment? So we already saw

00:41:02.690 --> 00:41:05.710
Kulala .envim, which is the one that we are using

00:41:05.710 --> 00:41:09.530
to run all this stuff. The LS that you mentioned

00:41:09.530 --> 00:41:13.449
that you can use it with other plugins is not

00:41:13.449 --> 00:41:16.909
needed for Kulala anymore. You talked about this

00:41:16.909 --> 00:41:19.750
formatter right now, which would be the other

00:41:19.750 --> 00:41:23.590
tool. Is that right? Yes, you can use it to...

00:41:24.590 --> 00:41:28.190
format your http files but you can also use it

00:41:28.190 --> 00:41:31.070
to if you have a postman collection you can export

00:41:31.070 --> 00:41:35.309
it there and you can then import it or convert

00:41:35.309 --> 00:41:38.989
it to http files with with the coolala fmt tool

00:41:38.989 --> 00:41:41.389
which also allows you to do something like that

00:41:41.389 --> 00:41:43.550
or if you have a bruno collection you can also

00:41:43.550 --> 00:41:47.949
use this to export it to http files or we also

00:41:47.949 --> 00:41:51.769
support swagger or open api specifications so

00:41:51.769 --> 00:41:55.349
if you have like an open api specification you

00:41:55.349 --> 00:41:59.909
can also create http files from that so basically

00:41:59.909 --> 00:42:02.230
whatever you whatever tool you use before we

00:42:02.230 --> 00:42:08.409
we have a tool to convert uh the input format

00:42:08.409 --> 00:42:11.590
from that tool you use before to http files so

00:42:11.590 --> 00:42:15.710
we try to make the transition as smooth as possible

00:42:15.710 --> 00:42:19.179
so you don't have to do it manually So you don't

00:42:19.179 --> 00:42:21.780
have to create all of your Postman collections

00:42:21.780 --> 00:42:26.139
from start. You could export them as HTTP files,

00:42:26.280 --> 00:42:30.219
right? In Postman, not, but you can export it

00:42:30.219 --> 00:42:32.619
as an, I think it's part of Postman collection.

00:42:32.679 --> 00:42:34.719
And it's basically, I think, a big JSON file.

00:42:35.179 --> 00:42:39.019
And then you can run a Kulala FMT on it, and

00:42:39.019 --> 00:42:41.880
it will just create a collection from that for

00:42:41.880 --> 00:42:46.889
you. Okay, that's pretty interesting. And all

00:42:46.889 --> 00:42:49.090
of this is in the documentation, I guess, right?

00:42:49.130 --> 00:42:52.230
So if people want to know how to migrate from

00:42:52.230 --> 00:42:56.130
Postman to Kudala, do they get some sort of guide

00:42:56.130 --> 00:42:58.389
in the documentation or they have to figure it

00:42:58.389 --> 00:43:01.250
out? I fear that is missing from our documentation

00:43:01.250 --> 00:43:04.570
because it's a different tool. I don't know if

00:43:04.570 --> 00:43:06.489
we mentioned it somewhere here. I mean, if you

00:43:06.489 --> 00:43:13.650
go to just the... We've just been discussing

00:43:13.650 --> 00:43:18.650
on our GitHub issues. There's been an idea from

00:43:18.650 --> 00:43:21.170
one of the users to integrate the Kulala format

00:43:21.170 --> 00:43:25.630
into Kulala, as we have done with the LSP. So

00:43:25.630 --> 00:43:28.449
we have an idea how to do that. And once it's

00:43:28.449 --> 00:43:31.349
done, basically the Kulala format will be integrated

00:43:31.349 --> 00:43:36.670
within Kulala and Veeam. And we'll do a good

00:43:36.670 --> 00:43:40.420
job of writing up the documentation. This is

00:43:40.420 --> 00:43:43.559
a really good idea in having a separate section

00:43:43.559 --> 00:43:48.079
on how to migrate from other products. Interesting.

00:43:48.679 --> 00:43:54.400
Okay. Wonderful. Okay. Basically, as I said,

00:43:54.519 --> 00:43:58.199
we currently support OpenAPI, which formerly

00:43:58.199 --> 00:44:00.900
was known as Swagger, then Postman and Bruno.

00:44:01.860 --> 00:44:04.599
And we also have some. But you have to look at

00:44:04.599 --> 00:44:08.360
the documentation of the Gulala FMT tool to get

00:44:08.360 --> 00:44:12.340
it. I mean, to get to know what you can do. But

00:44:12.340 --> 00:44:18.679
yeah, basically that's it. And if we integrated

00:44:18.679 --> 00:44:22.440
it, if we're done integrating it into Kulala

00:44:22.440 --> 00:44:24.699
Envim, then you don't need to worry about all

00:44:24.699 --> 00:44:26.460
this stuff anymore. That's right, because Yaro

00:44:26.460 --> 00:44:28.739
is right. We should then have the documentation

00:44:28.739 --> 00:44:31.739
also be part of our Kulala Envim documentation.

00:44:32.840 --> 00:44:37.760
OK. And the other call that we had. You guys

00:44:37.760 --> 00:44:41.880
mentioned other products that are coming in the

00:44:41.880 --> 00:44:44.659
future. Anything you want to share about that?

00:44:46.219 --> 00:44:52.739
Well, the CLI, I guess. The CLI, I can share

00:44:52.739 --> 00:44:56.320
that, which is, I mean, the idea is very simple.

00:44:56.420 --> 00:45:01.739
You can run your requests from the command line

00:45:01.739 --> 00:45:06.059
by using Kulala engine. So this is just an example

00:45:06.059 --> 00:45:09.440
of me running an HTTP request. And basically

00:45:09.440 --> 00:45:12.320
you get exactly the same output as you would

00:45:12.320 --> 00:45:16.079
have in Envium, but in your terminal. And then

00:45:16.079 --> 00:45:20.639
you can switch the views, for example. So here

00:45:20.639 --> 00:45:25.199
I can choose, for example, the report view. That

00:45:25.199 --> 00:45:30.199
will give you... Okay, the response in that view.

00:45:31.099 --> 00:45:34.510
That will give you the report. for example or

00:45:34.510 --> 00:45:39.469
you can you know for example you can list all

00:45:39.469 --> 00:45:45.769
the requests in the file and uh but you know

00:45:45.769 --> 00:45:49.329
so basically basically uh colala with all the

00:45:49.329 --> 00:45:53.190
features but in your terminal and uh the great

00:45:53.190 --> 00:45:55.889
idea about this is that we're also so we're gonna

00:45:55.889 --> 00:46:00.010
be also releasing as well as the cli tool we'll

00:46:00.010 --> 00:46:03.110
be releasing the github action So you will be

00:46:03.110 --> 00:46:07.610
able to run your HTTP files, which will basically,

00:46:07.789 --> 00:46:10.570
you know, you can effectively turn your HTTP

00:46:10.570 --> 00:46:16.389
files into the API testing suite by running HTTP

00:46:16.389 --> 00:46:21.429
files on the CI with the GitHub action. Can you

00:46:21.429 --> 00:46:27.489
give an example on how could users benefit off

00:46:27.489 --> 00:46:32.179
of this, like running it in the CI? So, for example,

00:46:32.699 --> 00:46:37.320
I mean, if you have your API, right, working,

00:46:37.599 --> 00:46:42.360
and you have a bunch of HTTP files which describe

00:46:42.360 --> 00:46:47.219
your API, by running those on the CI, you are

00:46:47.219 --> 00:46:50.179
making sure that the new changes that you have

00:46:50.179 --> 00:46:52.960
made are still passing their assertions. And

00:46:52.960 --> 00:46:55.460
you can have a bunch of assertions checking your

00:46:55.460 --> 00:47:00.039
API, checking different requests. Okay. okay

00:47:00.039 --> 00:47:02.619
wonderful i mean you can do that you can do that

00:47:02.619 --> 00:47:05.860
against the staging server for example a dev

00:47:05.860 --> 00:47:10.199
server i mean that would make sense okay okay

00:47:10.199 --> 00:47:16.039
and this cli is not um out yet it's coming do

00:47:16.039 --> 00:47:19.239
you have an idea just in a few days i mean i'm

00:47:19.239 --> 00:47:22.199
i'm almost done i just need some i need to finish

00:47:22.199 --> 00:47:26.900
all the specs um and i mean this is it's quite

00:47:26.900 --> 00:47:30.369
you know soon to be released Okay, wonderful.

00:47:31.610 --> 00:47:35.610
I don't want to talk about Kulala only. I want

00:47:35.610 --> 00:47:38.110
to get to know you guys so we can talk about

00:47:38.110 --> 00:47:40.969
Neovim and all that stuff. Is there something

00:47:40.969 --> 00:47:44.170
else that you guys want to demo before we talk

00:47:44.170 --> 00:47:52.809
about other stuff? Let me think. You know, I

00:47:52.809 --> 00:47:56.929
think the beauty of Kulala is that it's very

00:47:56.929 --> 00:48:01.960
simple to use. I mean, we have done a good job

00:48:01.960 --> 00:48:04.539
of writing up the documentation and, you know,

00:48:04.559 --> 00:48:06.980
tried to keep it as simple as possible, as concise.

00:48:07.579 --> 00:48:12.500
So, you know, I urge people to, you know, go

00:48:12.500 --> 00:48:15.360
through it. And you might find some jewels that

00:48:15.360 --> 00:48:18.019
would really help you in your work. But, you

00:48:18.019 --> 00:48:20.739
know, apart from that, Kulala is super simple

00:48:20.739 --> 00:48:24.500
to use. And I think that's its beauty. You know,

00:48:24.500 --> 00:48:27.780
it's very easy to start. We have... uh on our

00:48:27.780 --> 00:48:30.900
documentation website and also within uh within

00:48:30.900 --> 00:48:34.460
the kuala reaper there is um there is a bunch

00:48:34.460 --> 00:48:39.900
of demo files demo http files uh where you can

00:48:39.900 --> 00:48:43.519
just you can run those and get a sense of you

00:48:43.519 --> 00:48:47.260
know what can be done in kalala okay okay before

00:48:47.260 --> 00:48:50.679
i forget i wrote this down here so if you have

00:48:50.679 --> 00:48:55.489
your http file and you have co -workers How does

00:48:55.489 --> 00:48:59.130
that work? Like they're not going to be in any

00:48:59.130 --> 00:49:02.550
of them probably, right? So can you share the

00:49:02.550 --> 00:49:05.210
HTTP file with them so they can run it in other

00:49:05.210 --> 00:49:08.170
tools? Can you share a little bit more on that?

00:49:09.710 --> 00:49:13.889
I could, I can, because I can share these HTTP

00:49:13.889 --> 00:49:16.769
files with my coworkers because most of them

00:49:16.769 --> 00:49:20.909
are using VS Code. Some of them are using IntelliJ.

00:49:26.140 --> 00:49:29.239
some IntelliJ software. I don't know. Most of

00:49:29.239 --> 00:49:34.039
them are probably using the Java IDE or the PHP

00:49:34.039 --> 00:49:38.380
IDE, maybe. But also, I don't know what the one

00:49:38.380 --> 00:49:42.179
is for Node .js. I don't know what the name is.

00:49:42.599 --> 00:49:46.599
But they are, as Yaro also said, we are compliant

00:49:46.599 --> 00:49:52.510
with the specs. So you can use these tools. to

00:49:52.510 --> 00:49:55.710
also run the http files right so basically for

00:49:55.710 --> 00:49:59.889
i i already forgotten yahoo told me last time

00:49:59.889 --> 00:50:02.969
we had this talk what the one was for vs code

00:50:02.969 --> 00:50:06.889
but i forgotten already again so um the rest

00:50:06.889 --> 00:50:11.150
signed i think it's just uh okay but you can

00:50:11.150 --> 00:50:13.469
use it and you should be able to run most of

00:50:13.469 --> 00:50:19.989
the stuff we see here so okay so you can I mean,

00:50:20.030 --> 00:50:23.449
there is a core specification for the syntax

00:50:23.449 --> 00:50:26.710
of HTTP files, which is basically, you know,

00:50:26.769 --> 00:50:31.050
how to run the request within the HTTP files.

00:50:31.210 --> 00:50:37.010
They're separated by hashes. The syntax for pre

00:50:37.010 --> 00:50:40.849
-request scripts and post -request scripts. I

00:50:40.849 --> 00:50:43.710
mean, it's very concise, the specification. And

00:50:43.710 --> 00:50:47.670
all of the different products, they sort of comply

00:50:47.670 --> 00:50:51.670
to that. And then different products have got

00:50:51.670 --> 00:50:55.190
some extra features which are outside of that

00:50:55.190 --> 00:50:59.090
specification. And so what we try to do, we have

00:50:59.090 --> 00:51:04.010
chosen one product to be 100 % compliant with,

00:51:04.110 --> 00:51:07.949
and that is the IntelliJ HTTP client. We keep

00:51:07.949 --> 00:51:12.579
that in focus. So we try to provide... as many

00:51:12.579 --> 00:51:14.719
features as possible which are present in other

00:51:14.719 --> 00:51:18.199
products, but at the same time keep 100 % compliance

00:51:18.199 --> 00:51:22.860
with the HTTP client. I already reached out to

00:51:22.860 --> 00:51:28.199
the maintainer of the REST client for this code.

00:51:28.900 --> 00:51:34.119
I asked him if there's a possibility that I can

00:51:34.119 --> 00:51:37.619
just extend the REST client to be more compliant

00:51:37.619 --> 00:51:42.210
so we can also benefit from that. when i'm using

00:51:42.210 --> 00:51:46.750
our pretty compliant implementation but my co

00:51:46.750 --> 00:51:49.610
-workers are using are using vs code and they

00:51:49.610 --> 00:51:52.349
are not able to run the http file it's a mess

00:51:52.349 --> 00:51:55.170
for me so i was asking him but he didn't reply

00:51:55.170 --> 00:51:58.230
so i don't know maybe he's just busy or something

00:51:58.230 --> 00:52:01.829
like that but so that's the good thing that you

00:52:01.829 --> 00:52:05.690
use it and you go through these live real life

00:52:05.690 --> 00:52:08.469
scenarios and you know what people need and that's

00:52:08.469 --> 00:52:13.079
something that users will give you feedback on

00:52:13.079 --> 00:52:17.239
so that's great okay okay and one other thing

00:52:17.239 --> 00:52:22.119
i want to add is um yarrow is a perfect fit for

00:52:22.119 --> 00:52:24.820
me for the project because he's always trying

00:52:24.820 --> 00:52:30.179
to push uh the project in like to advance in

00:52:30.179 --> 00:52:33.019
the direction where i would be really hesitant

00:52:33.019 --> 00:52:37.420
to go because i'm hearing always that we have

00:52:37.420 --> 00:52:42.599
a breaking change for example um we we um we

00:52:42.599 --> 00:52:45.679
deprecated the syntax we had before with the

00:52:45.679 --> 00:52:49.980
named request where we have something like um

00:52:49.980 --> 00:52:54.420
a meta tag to add and now we just uh have this

00:52:54.420 --> 00:52:57.039
name request like this just three hashes then

00:52:57.039 --> 00:53:00.960
the name of the request the legacy one was different

00:53:00.960 --> 00:53:06.119
and Yahoo is always pushing a bit more than me

00:53:06.119 --> 00:53:10.059
in this direction, and I'm fearing to have breaking

00:53:10.059 --> 00:53:13.500
changes for the users, because I don't want to

00:53:13.500 --> 00:53:20.500
have a user start on Monday at his day job and

00:53:20.500 --> 00:53:23.139
updating his plugins, and it's not working anymore

00:53:23.139 --> 00:53:26.179
for him. So that's something I don't really want

00:53:26.179 --> 00:53:31.179
to do, because I really feel that in my day job,

00:53:31.219 --> 00:53:33.889
too, that I when I update plugins and it's not

00:53:33.889 --> 00:53:37.269
working anymore and I can't work today or I have

00:53:37.269 --> 00:53:41.250
to fix my plugins first, it's, yeah, it's just...

00:53:41.250 --> 00:53:43.889
But you guys have releases, right? So you can

00:53:43.889 --> 00:53:44.510
specify the version of the plugin. Yeah, we have

00:53:44.510 --> 00:53:48.530
releases. Yeah, we can always... But we are currently

00:53:48.530 --> 00:53:55.409
at 5 point something. True. And 5 .2. And the

00:53:55.409 --> 00:53:58.750
next thing I think we have to do is also make

00:53:58.750 --> 00:54:01.010
a major release because we have a lot of changes.

00:54:02.239 --> 00:54:07.099
If we deprecate one of the meta tags or something

00:54:07.099 --> 00:54:10.400
like that, we have to do a major release, right?

00:54:10.440 --> 00:54:12.659
Because it's breaking changes then. But it's

00:54:12.659 --> 00:54:15.300
a good thing. It's a good thing. We have to get

00:54:15.300 --> 00:54:20.119
rid of the legacy code. But I'm touching on the

00:54:20.119 --> 00:54:22.679
same page. I mean, I hate breaking changes in

00:54:22.679 --> 00:54:27.820
software myself. I tend to keep my operating

00:54:27.820 --> 00:54:30.059
systems like 10 years old and I don't want to

00:54:30.059 --> 00:54:33.780
change them or upgrade. So I'm totally on the

00:54:33.780 --> 00:54:39.260
same page. Even though we duplicate something,

00:54:39.619 --> 00:54:42.719
I mean, it's still functional. I mean, for example,

00:54:42.840 --> 00:54:45.639
this syntax, I took it away from the docs, so

00:54:45.639 --> 00:54:49.079
the new users don't stumble over it. But I mean,

00:54:49.099 --> 00:54:50.699
it's still functional and backwards compatible.

00:54:51.659 --> 00:54:54.739
But I do feel at the same time that there's been

00:54:54.739 --> 00:54:58.150
a lot of changes in the last two months. But

00:54:58.150 --> 00:55:01.949
I do feel that somehow it's stabilizing, and

00:55:01.949 --> 00:55:04.949
sort of the next few versions that we're going

00:55:04.949 --> 00:55:07.989
to have, the few minor releases, is all going

00:55:07.989 --> 00:55:10.289
to be about stabilization, sort of stabilizing

00:55:10.289 --> 00:55:12.570
all the features there. Because even though,

00:55:12.710 --> 00:55:14.789
I mean, there's still some bugs creeping up,

00:55:14.829 --> 00:55:17.269
and I do feel there are some hidden bugs, which

00:55:17.269 --> 00:55:21.969
we haven't caught yet. But, you know, it seems

00:55:21.969 --> 00:55:24.829
that the bulk of the features is sort of already

00:55:24.829 --> 00:55:29.480
there in Kulala. which is good. We have time

00:55:29.480 --> 00:55:34.179
to polish things up. Okay. So you guys try not

00:55:34.179 --> 00:55:37.800
to have breaking changes, but, you know, as users,

00:55:37.960 --> 00:55:41.000
we understand that sometimes that happens, especially

00:55:41.000 --> 00:55:45.539
new users, man. We're kind of used to breaking

00:55:45.539 --> 00:55:51.340
changes. Well, I mean... i i you know i think

00:55:51.340 --> 00:55:53.179
it's still possible you know to be backwards

00:55:53.179 --> 00:55:56.679
compatible and introduce new features um i think

00:55:56.679 --> 00:56:00.139
you know we will manage to not to disappoint

00:56:00.139 --> 00:56:08.440
our users okay i hope so okay wonderful um what

00:56:08.440 --> 00:56:13.239
um what do you need from users do you need for

00:56:14.300 --> 00:56:18.440
them to give you suggestions ideas um discussions

00:56:18.440 --> 00:56:21.960
start discussions create issues like what do

00:56:21.960 --> 00:56:24.880
you expect from the community what would help

00:56:24.880 --> 00:56:30.219
coolala uh be better well i mean feedback feedback

00:56:30.219 --> 00:56:33.019
and the feedback and feature requests for sure

00:56:33.019 --> 00:56:37.780
i mean it's uh sometimes when i look at our issue

00:56:37.780 --> 00:56:42.420
tracker with hub and it's empty You know, I have

00:56:42.420 --> 00:56:45.019
mixed feelings. Either we are really good at

00:56:45.019 --> 00:56:47.940
closing our issues or people just don't care.

00:56:48.380 --> 00:56:53.139
Or maybe we don't have any bugs. It has a thousand

00:56:53.139 --> 00:56:58.039
stars, 1100 stars. So people do care. Yeah. But

00:56:58.039 --> 00:57:00.900
yeah, only four issues open at the moment. Yes.

00:57:00.940 --> 00:57:05.480
Go ahead. Sorry. But you know, I'm joking. I

00:57:05.480 --> 00:57:09.639
mean, I personally, I love people leaving their

00:57:09.639 --> 00:57:16.139
feedback. in any form, so in form of a bug issue

00:57:16.139 --> 00:57:18.739
or feature request. I mean, we're always happy

00:57:18.739 --> 00:57:24.139
to get feedback, to talk to people on Discord.

00:57:24.460 --> 00:57:28.699
We're always there. So for anybody watching us,

00:57:28.739 --> 00:57:33.760
guys, come along and say hi. Especially I like

00:57:33.760 --> 00:57:36.139
learning about the real -life scenarios that

00:57:36.139 --> 00:57:40.840
people are using Kulala in. Because as I mentioned,

00:57:41.039 --> 00:57:48.460
I don't use Colala much in my real day job. So

00:57:48.460 --> 00:57:51.880
for me, a lot of features that I come up with,

00:57:52.019 --> 00:57:54.360
they're kind of theoretical a little bit. And

00:57:54.360 --> 00:57:57.780
I really need to do for people to use them and

00:57:57.780 --> 00:58:04.300
to tell me how it's coming out. Wonderful. Okay.

00:58:04.380 --> 00:58:07.199
So feedback, a lot of feedback is needed. Hopefully.

00:58:07.690 --> 00:58:10.409
You will get some feedback from this video. I'm

00:58:10.409 --> 00:58:13.590
going to leave the link to this score to the

00:58:13.590 --> 00:58:16.650
repo and all of the links. If you guys can just

00:58:16.650 --> 00:58:19.409
send them to me and I'm just going to put them

00:58:19.409 --> 00:58:22.690
in the video description. Right. So they can

00:58:22.690 --> 00:58:27.949
find you guys. OK, so let's move on to other

00:58:27.949 --> 00:58:30.230
topics. Then we're not going to cover all of

00:58:30.230 --> 00:58:32.369
this because we've been doing this for two hours.

00:58:32.510 --> 00:58:36.909
How many minutes do you guys have left? I'm fine.

00:58:37.010 --> 00:58:41.989
And you said, Marco? I didn't hear. I have some

00:58:41.989 --> 00:58:46.849
minutes left, yeah. Okay. Let's talk Nioven,

00:58:46.929 --> 00:58:49.929
if you guys want. Or let's talk operating systems

00:58:49.929 --> 00:58:53.570
first. Let's talk about that a little bit. Let's

00:58:53.570 --> 00:58:56.989
start with Marco. What's your operating system

00:58:56.989 --> 00:59:05.690
of choice and why? Yeah. I know that most of

00:59:05.690 --> 00:59:08.849
the people you have on this channel are not big

00:59:08.849 --> 00:59:10.989
fans of Windows. I don't have anything against

00:59:10.989 --> 00:59:14.989
Windows, but for me to be productive on my day

00:59:14.989 --> 00:59:18.789
job, it needs to be Linux. So it's basically,

00:59:19.030 --> 00:59:25.010
and especially in this machine, it's Manjaro.

00:59:25.389 --> 00:59:32.699
So it's an arch -based distribution. I don't

00:59:32.699 --> 00:59:36.679
have anything against Ubuntu, but it's causing

00:59:36.679 --> 00:59:40.039
issues for me a lot lately. So it's not that

00:59:40.039 --> 00:59:44.480
stable. And I think that is something your previously,

00:59:44.820 --> 00:59:47.900
the guest you had previously, the Linux guy,

00:59:48.019 --> 00:59:50.000
I don't remember his name, Shastan? Shastan.

00:59:50.599 --> 00:59:53.840
Shastan also mentioned that he has the feeling

00:59:53.840 --> 00:59:57.199
that Ubuntu is not that stable anymore compared

00:59:57.199 --> 01:00:02.099
to Arch. So that's something I can... I have

01:00:02.099 --> 01:00:05.900
also experienced so the arch is more stable,

01:00:06.000 --> 01:00:10.760
at least on the machines I run. So it's not crashing.

01:00:11.340 --> 01:00:14.079
When I screen share, it's not freezing. And that

01:00:14.079 --> 01:00:19.619
is what I experienced running Ubuntu, at least

01:00:19.619 --> 01:00:22.599
the LTS version. So it's freezing a lot. And

01:00:22.599 --> 01:00:26.500
yeah, it's just a pain to work on with this.

01:00:26.500 --> 01:00:29.980
So Manjaro is the one that you use daily. Okay,

01:00:30.059 --> 01:00:31.840
and your thoughts on Windows? You don't have

01:00:31.840 --> 01:00:33.940
anything against it? You're fine with Windows

01:00:33.940 --> 01:00:39.619
as well? I personally just use it for gaming,

01:00:39.739 --> 01:00:43.599
but I don't have much time for gaming lately.

01:00:43.760 --> 01:00:48.199
But when I find time, like once a month or something

01:00:48.199 --> 01:00:51.460
like that, I will just boot up my Windows machine.

01:00:51.619 --> 01:00:54.659
Then it will just update for, I think, two hours.

01:00:54.780 --> 01:00:57.500
And then I have 30 minutes left to game, I think.

01:00:59.559 --> 01:01:02.900
How it goes with Windows, I think. Okay. And

01:01:02.900 --> 01:01:06.099
what about you, Jero? What's your OS of choice?

01:01:07.940 --> 01:01:12.619
You know, I had my fair share of sort of installing

01:01:12.619 --> 01:01:15.880
and reinstalling operating systems, compiling

01:01:15.880 --> 01:01:19.119
the kernel, trying out different Linuxes and

01:01:19.119 --> 01:01:25.440
stuff. And nowadays, I just seem not to care

01:01:25.440 --> 01:01:29.210
anymore. Just anything that works. But, you know,

01:01:29.250 --> 01:01:32.090
I spend my time mostly in the terminal. So any

01:01:32.090 --> 01:01:34.750
operating system that can spin off the terminal,

01:01:34.849 --> 01:01:38.289
I'm fine with. Nowadays, it just happened by

01:01:38.289 --> 01:01:40.949
accident that I have a Windows laptop. I'm using

01:01:40.949 --> 01:01:45.750
Ubuntu on VSL. I'm not picky whatsoever. Just,

01:01:45.829 --> 01:01:49.469
you know, anything that boots up Neovium, that's

01:01:49.469 --> 01:01:54.449
okay. Okay. And do you work in the Windows terminal?

01:01:54.690 --> 01:01:57.030
Do you like using the Windows terminal? Why are

01:01:57.030 --> 01:02:00.230
you using WSL? And why don't you use the native

01:02:00.230 --> 01:02:06.090
Windows stuff? Oh, just because I'm not bothered

01:02:06.090 --> 01:02:12.269
at all. So I got this laptop from my old work,

01:02:12.409 --> 01:02:15.690
and it had Windows on it. So the quickest way

01:02:15.690 --> 01:02:19.539
would be to install it in WSL. And I just don't

01:02:19.539 --> 01:02:22.099
want to, you know, I just don't want to bother

01:02:22.099 --> 01:02:25.380
with installing native Linux and so on. I mean,

01:02:25.400 --> 01:02:28.820
it works. And I was, to be honest, when I tried

01:02:28.820 --> 01:02:31.920
it, and this is like the first time I tried the

01:02:31.920 --> 01:02:34.860
VSL, I was really surprised that it just worked

01:02:34.860 --> 01:02:40.340
fine. You know, I press install Ubuntu. It installed

01:02:40.340 --> 01:02:43.739
it. I installed a few packages and that's it.

01:02:43.800 --> 01:02:48.219
It's done. Amazing. Yeah. Cause it takes like

01:02:48.219 --> 01:02:50.780
a day to get everything set up and running more

01:02:50.780 --> 01:02:53.940
than a day. So I feel your pain. You don't want

01:02:53.940 --> 01:02:57.079
to go through all the processes, installing the

01:02:57.079 --> 01:03:00.900
next distro, making sure that everything works

01:03:00.900 --> 01:03:05.639
and all that. Yeah. Thing is, um, you know, as

01:03:05.639 --> 01:03:08.159
I mentioned, I'm, I'm always, uh, I'm always

01:03:08.159 --> 01:03:10.280
in the terminal. So I, you know, I don't care

01:03:10.280 --> 01:03:12.639
about windows managers. I don't care about the

01:03:12.639 --> 01:03:16.980
X. or whatever is used nowadays in Linux for

01:03:16.980 --> 01:03:25.000
the graphics subsystem. I mean, a few years ago,

01:03:25.139 --> 01:03:28.460
I've never had a Mac in my life. And I thought,

01:03:28.639 --> 01:03:31.800
okay, so I've been hearing all my life how Macs

01:03:31.800 --> 01:03:35.019
are amazing and I should try them. So a few years

01:03:35.019 --> 01:03:38.980
ago, I bought a Mac. And then I realized that

01:03:38.980 --> 01:03:41.659
98 % of the time I'm spending in the terminal.

01:03:41.739 --> 01:03:45.340
In the terminal, yep. So, you know, why use Magnum?

01:03:45.400 --> 01:03:50.559
I donated it to my kids. Okay. Okay. Okay, wonderful.

01:03:52.139 --> 01:03:56.619
One last question before we wrap it up. Let's

01:03:56.619 --> 01:03:59.079
talk about Neobim for a little while, right?

01:03:59.159 --> 01:04:02.579
So you mentioned, Jaro, that you started using

01:04:02.579 --> 01:04:06.360
Neobim last year. Is that correct? Yeah, last

01:04:06.360 --> 01:04:09.280
year in October. That was the first time I've

01:04:09.280 --> 01:04:13.699
ever seen Neobim. And why? Why did you decide

01:04:13.699 --> 01:04:17.739
to keep using NeoVim and not just go back to

01:04:17.739 --> 01:04:22.460
what you were using before? So I mentioned that

01:04:22.460 --> 01:04:25.940
I've been on a pause from software development

01:04:25.940 --> 01:04:30.480
for a few years. And I used to use Vim before.

01:04:30.900 --> 01:04:34.340
And I was super happy with Vim. I used Vim for

01:04:34.340 --> 01:04:38.139
ages. Well, not for ages, but I used Vim for

01:04:38.139 --> 01:04:40.889
like, I don't know, eight. eight years or so

01:04:40.889 --> 01:04:45.010
eight or ten years maybe um and then this time

01:04:45.010 --> 01:04:47.030
going back to software development i decided

01:04:47.030 --> 01:04:50.349
to try something new and also one thing is that

01:04:50.349 --> 01:04:53.750
i always hated vim script you know i just could

01:04:53.750 --> 01:04:56.650
not stand it i would touch it only to configure

01:04:56.650 --> 01:04:59.010
my vim and that's it and i would try to stay

01:04:59.010 --> 01:05:03.369
away as much as possible from it so when i found

01:05:03.369 --> 01:05:05.610
out that there's a there's a new room which has

01:05:05.610 --> 01:05:08.420
lower built -in i thought i should try it And

01:05:08.420 --> 01:05:10.739
then, you know, I've never tried Lua before,

01:05:11.059 --> 01:05:14.840
but I loved it. It was love from first sight.

01:05:14.980 --> 01:05:17.300
You know, I spent a few days configuring NuVim.

01:05:17.420 --> 01:05:20.800
I really liked Lua. And then I started developing

01:05:20.800 --> 01:05:25.460
the plugin for myself called Lua Console, which

01:05:25.460 --> 01:05:30.440
is basically a REPL for Lua within NuVim. And,

01:05:30.519 --> 01:05:32.920
you know, I just loved it so much. And that's

01:05:32.920 --> 01:05:39.110
what really made me... go into developing Kulala,

01:05:39.269 --> 01:05:42.090
really. It was Neovim and Lua from the start.

01:05:42.929 --> 01:05:46.650
Okay. And how has your experience been, Marco?

01:05:46.789 --> 01:05:50.670
How long have you been using Neovim? That is

01:05:50.670 --> 01:05:53.369
something I can't really remember. I had to look

01:05:53.369 --> 01:05:57.889
it up when I started. I started using Vim in

01:05:57.889 --> 01:06:03.510
2012. I had to look and... The last mode I had

01:06:03.510 --> 01:06:06.849
on that was from 2012. So I made the switch then.

01:06:07.050 --> 01:06:12.329
And I also made the switch from a German keyboard

01:06:12.329 --> 01:06:15.889
layout to the US international layout then. Because

01:06:15.889 --> 01:06:19.630
at first, I just started using Neowim. And then

01:06:19.630 --> 01:06:22.849
I was like, OK, it's so much pain to use the

01:06:22.849 --> 01:06:30.920
German layout with the usual movement. square

01:06:30.920 --> 01:06:33.260
brackets and curly braces and all this stuff.

01:06:33.380 --> 01:06:37.039
They are so hard to type on a German layout that

01:06:37.039 --> 01:06:41.480
I was like, okay, I have to figure out some way.

01:06:41.699 --> 01:06:44.400
Maybe it's easier if you have some different

01:06:44.400 --> 01:06:48.340
layout. Then I started looking into all these

01:06:48.340 --> 01:06:51.960
keyboard layouts and I've settled on a US international

01:06:51.960 --> 01:06:54.679
and it was a good choice, at least for me at

01:06:54.679 --> 01:06:59.019
that time, to just use this. And I think Yahoo!

01:06:59.760 --> 01:07:03.780
just never used any else than US International,

01:07:04.059 --> 01:07:08.000
right? So I was... Okay. Yeah, that's... But

01:07:08.000 --> 01:07:11.980
2012, it was when I started using Vim and also

01:07:11.980 --> 01:07:14.539
VimScript, but I have to also admit I really

01:07:14.539 --> 01:07:18.280
dislike VimScript. Maybe the newer iterations

01:07:18.280 --> 01:07:21.199
are better, but the old ones are really... It's

01:07:21.199 --> 01:07:25.139
not fun to write anything in VimScript. And at

01:07:25.139 --> 01:07:27.440
some point, I don't really remember. I think

01:07:27.440 --> 01:07:31.829
it was... it wasn't the primogen or tjd freeze

01:07:31.829 --> 01:07:34.070
or something like that i can't really remember

01:07:34.070 --> 01:07:40.010
somebody else i watched on youtube just um advertising

01:07:40.010 --> 01:07:44.369
near them and i think or even i don't really

01:07:44.369 --> 01:07:48.130
i can't really remember but i think it has to

01:07:48.130 --> 01:07:52.570
be around 2016 or something or 2017 would that

01:07:52.570 --> 01:07:57.449
be what since when it's around is a new one around

01:07:57.449 --> 01:08:03.489
since 2017? Let's see. NeoBeam start date. It

01:08:03.489 --> 01:08:09.730
says here 2014 according to the Google AI thing

01:08:09.730 --> 01:08:12.989
that I don't trust too much. But it could be

01:08:12.989 --> 01:08:20.529
that it's 2016 or 2017. Okay. So, yeah. But I

01:08:20.529 --> 01:08:25.109
really like the newer approach as well. Okay.

01:08:26.569 --> 01:08:31.130
All right. So I guess we can finish the call

01:08:31.130 --> 01:08:35.130
here. It's been almost three hours. We're tired

01:08:35.130 --> 01:08:39.130
already. So anything you guys want to share before

01:08:39.130 --> 01:08:47.350
we end the call? Well, I have to say a big thank

01:08:47.350 --> 01:08:52.829
you to all our users for all the positive, well,

01:08:52.930 --> 01:08:55.149
for all the feedback, but especially for the

01:08:55.149 --> 01:08:57.739
positive feedback. they're hearing from you guys

01:08:57.739 --> 01:09:00.800
things like well i love your plugin i used every

01:09:00.800 --> 01:09:03.520
day well done i mean that's a great motivator

01:09:03.520 --> 01:09:07.960
uh but you know we'd love to to get new feature

01:09:07.960 --> 01:09:10.880
requests we'd love to get some feedback and you

01:09:10.880 --> 01:09:14.539
know develop new features and looking forward

01:09:14.539 --> 01:09:19.859
to it all right you marco any final words i can't

01:09:19.859 --> 01:09:24.699
add anything it's wasted by yahoo so i can't

01:09:25.069 --> 01:09:30.590
add anything to it so it's the perfect yeah um

01:09:30.590 --> 01:09:36.869
ending okay okay guys so thanks for your time

01:09:36.869 --> 01:09:39.789
thanks for reaching out and sharing all of this

01:09:39.789 --> 01:09:43.550
information about coolala i will use it i don't

01:09:43.550 --> 01:09:45.609
have the need right now i will definitely use

01:09:45.609 --> 01:09:51.000
it and i will provide feedback as well Okay.

01:09:51.039 --> 01:09:54.359
I can't think that you, I mean, if you start

01:09:54.359 --> 01:09:58.079
using, I mean, even if you're just using Kulala

01:09:58.079 --> 01:10:00.420
for your development of your website or something

01:10:00.420 --> 01:10:03.020
like that. And if you have an API, I mean, basically

01:10:03.020 --> 01:10:06.460
you need to use something like Postman or in

01:10:06.460 --> 01:10:08.420
this case, you can also use Kulala then, right?

01:10:08.479 --> 01:10:11.020
Because. Oh yeah, definitely. When I'm working

01:10:11.020 --> 01:10:13.619
on something, I'm going to teach Postman and

01:10:13.619 --> 01:10:16.319
Kulala is going to be my first option for sure.

01:10:16.560 --> 01:10:20.000
Okay. Yep. And I probably will come with. come

01:10:20.000 --> 01:10:22.060
up with ideas and stuff like that and let you

01:10:22.060 --> 01:10:25.500
guys know. I think one thing we haven't mentioned

01:10:25.500 --> 01:10:28.300
in this talk, but Marco did say it from the beginning

01:10:28.300 --> 01:10:33.000
last time, is that the most people know is Postman.

01:10:33.159 --> 01:10:35.840
I mean, it's quite natural that people compare

01:10:35.840 --> 01:10:39.479
Colala with Postman. And I think the main difference

01:10:39.479 --> 01:10:44.140
is that while providing a very similar set of

01:10:44.140 --> 01:10:47.319
features, or maybe providing pretty much the

01:10:47.319 --> 01:10:49.359
same feature as Postman. But at the same time,

01:10:49.380 --> 01:10:53.760
we're open source. We're free. We are very customizable.

01:10:54.159 --> 01:10:56.500
I mean, people are customizing Colala themselves

01:10:56.500 --> 01:11:00.560
and adding things that it doesn't have. But at

01:11:00.560 --> 01:11:02.880
the same time, we are super open to new features

01:11:02.880 --> 01:11:05.100
and new ideas. So, you know, whenever you need

01:11:05.100 --> 01:11:08.720
something for your workflow, tell us and it will

01:11:08.720 --> 01:11:12.060
be done pretty quickly. And that's the biggest

01:11:12.060 --> 01:11:16.689
difference. We're not a big company. We're just

01:11:16.689 --> 01:11:20.449
two guys at the moment. And we really like what

01:11:20.449 --> 01:11:22.630
we're doing. Yeah, and try to come up with a

01:11:22.630 --> 01:11:24.789
suggestion to post, man. It's not going to happen

01:11:24.789 --> 01:11:29.609
anytime soon if it happens, right? But you guys

01:11:29.609 --> 01:11:32.710
seem to be implementing features quite fast.

01:11:33.010 --> 01:11:38.529
So, yeah, that's wonderful. I do apologize for

01:11:38.529 --> 01:11:41.909
some bugs which do creep up from time to time.

01:11:43.699 --> 01:11:48.859
But yeah, it happens. I don't know, is there

01:11:48.859 --> 01:11:51.920
a saying in English? Because in German we say,

01:11:52.140 --> 01:11:55.220
wo gehobelt wird, da fallen Späne. Which means,

01:11:55.399 --> 01:12:00.479
if you really do some work, there will be some,

01:12:00.619 --> 01:12:02.920
there will be things breaking or something like

01:12:02.920 --> 01:12:07.479
that. I think that's quite true, at least when

01:12:07.479 --> 01:12:11.640
it comes to Kulada. We have some regressions

01:12:11.640 --> 01:12:15.149
sometimes because We are moving quite fast. So

01:12:15.149 --> 01:12:18.310
there are, I mean, we have tests, but sometimes

01:12:18.310 --> 01:12:22.010
they still break something if we implement a

01:12:22.010 --> 01:12:23.789
new feature or something like that. So, yeah.

01:12:26.390 --> 01:12:31.210
Okay. Okay. All right, guys. Thanks for your

01:12:31.210 --> 01:12:36.350
time. Thank you for having us. Bye -bye. Bye.

01:12:36.510 --> 01:12:36.909
Bye.
