If you're listening to this as a podcast, remember
that it was originally recorded as a video. If
you're not following along, you can go to my
YouTube channel. My username is Linkarzu. And
if you want to support me to keep this podcast
going, you can donate in Ko -Fi. I'm going to
leave a link in the description. All right, so
let's get started with this chapter then. Hey
everyone, I have another guest today. It's a
new BIM Core maintainer. Her name is Maria. How's
it going, Maria? Doing good. Yeah, it's a Friday
and happy to be here. Yeah, it's holidays. Is
it holidays where you're at or no? Yeah, so I'm
in Seattle and I mean, I don't have the day off
of work or anything. So it's not really like
it's Easter weekend, but we don't it's not a
work holiday. OK, OK, wonderful. OK, so you currently
work on Nioven, right? And the core team, would
you like to share a little bit more about? Yeah,
so I'm the kind of person that when I see that
there's a bug in my plugin or even if it's outside
the NeoVim ecosystem, if I know enough about
the bug, I will try to fix it. And so I've made
a lot of open source contributions like that.
I think that that's the reason that I don't have
like a single successful side project because
I get... distracted with all of the tools that
i'm using and then i i just end up contributing
to like the editor or the lsp instead um but
yes right now the main project that i'm i've
been contributing for um for almost two years
now or longer than that actually um has been
november and yeah right now i'm working on a
feature um and an lsp feature that i'm looking
forward to okay wonderful Okay, so LSP related
stuff. That's what you're currently working on.
Any other stuff that you have worked on on Neovim
directly? So something that's not LSP related.
I've done some TreeSeeder stuff as well. That
was actually my first contribution to Neovim
was adding the query editor. And that was because
I wanted to learn more about the TreeSeeder APIs.
And then I thought that... contributing something
that use those APIs would be great. And I say
that sometimes my contributions are a bit selfish
in that regard, that it's not that I just contribute
for to make the world a better place. I do it
because I want the feature myself or I just want
to learn how to do something. And I'm like, well,
while I learn, might as well give something back
to the community. Yeah. Yeah. I would definitely
do the same. If I contributed to something, it's
because it's something that I want or that I
need. So, yeah. Yeah, that's definitely a good
motivation to have, to know that you also want
that feature. Yeah, but it helps improve the
product, right? So that keeps the product alive.
Right, right, right, right. Busters innovations
and all that stuff, okay? And for how long have
you been using NeoVim? Like a couple of months
before I started contributing to it. So I remember
that it was around March of 2023, around that
time. And the reason that I remember that it's
because my birthday, it's in March. And I remember
spending my, like around my birthday, just playing
around with these gyros. And then I found Kickstart.
And I remember spending an entire weekend just
playing around with the Kickstarter configuration
and being so overwhelmed of like, how do I configure
this? How do I get the highlight name for this
thing that I want to change? And I spent like
an entire weekend trying to make the perfect
editor. And I was so happy with it. But then
I realized, gosh, I just spent an entire weekend
on this. And I still feel that I have like no
idea what, And I was also new to Vim Motions.
And so I thought after that, I don't have time
for this. I need an editor to actually like be
productive at work. But it was kind of very funny
because I spent almost like a month using Neoving
during my free time and feeling addicted to it,
but also realizing that I didn't have like enough
time to tweak my configuration and all of that.
And I tried going back to VS Code and I like...
removed my .config .neovim files and removing
my .files to me like I cannot do this again and
then I would always go back and I spent months
that my my keyboard skills and just like my muscle
memory was broken because I was still not entirely
used to the motions but I was not like able to
use the mouse again and so I felt that I I just
couldn't type anymore. But yeah, to answer that
question, I guess it needs to be like three years.
Okay. I do remember the first times that I met
BIM, right? In servers. Right. And I didn't like
it. I always say the same thing, you know? I
was like, who uses this? And why did they go
through all this trouble? And I just went back
to Nano. I was like, no, I was a happy Nano user.
But I just decided to learn it. It took me like...
four times. I even created a blog post before
I even started taking Vim seriously. So emotions
and all the stuff that I wanted to learn, but
I never did it. You know, I don't know why it
happened, but I cannot go back now. Yeah, I think
that the last thing that truly made me lead VS
Code, which was my main editor before now Vim,
was Copilot. I was just... so fed up that every
single time that i would hit tab it would accept
the copilot suggestion instead of like navigating
the completion menu and i i have like a super
tab setup that i use tab to navigate through
the completions and also navigate through a snippet
and so it's like a conditional tab that it depends
on the context that i am that i'm on and so um
that's something that a super top setup it's
great in elven because you have full control
over that but then in vs code when i was like
i don't want compiler to be taking over all of
my language features i just want to control this
myself um so i think that yeah that was one of
the that was like the last thing that truly made
me get tired of vs code entirely Okay, okay.
You mentioned distributions. You started with
distributions, then you mentioned also Kickstart.
What did you end up with? So I didn't really,
I was never really a user of a full distribution.
I am someone that I really like understanding
how the configuration works and all of these
distros hide. By design, they hide all of the
details so that you don't need to worry about
that. You just configure a couple of variables
and then they deal with installing the necessary
packages, installing the LSPs. But then I didn't
like that black box experience. And so I decided
to use Kickstarter instead. And that was definitely,
I think, the best choice. I think that's the
best way to get started with Nelvin. But what
I did is that instead of just copy pasting the
thousand long file, a thousand, that file with
a thousand lines right now, that is huge. What
I did instead is that I would, I created the
file. I created my init .lua file and I would
copy paste the snippets of kickstart as I learned
what they did. And so instead of just like copy
pasting the entire tree seeder code, I was like,
okay. this starts tree seeder let me see like
what does that mean and once i understood like
okay this is like enabling tree seeder highlighting
this is enabling indentation then at that point
once i understood what that piece of this did
at that point i would paste it into my configuration
um and so that i followed that approach for a
couple of weeks and then i Once I needed more
than one file for my configuration, because my
init .lua file was just huge, then that's when
I got fancy and started importing modules and
then creating a folder for my plugins and creating
all of my setup. And since then, I've always
maintained my own .files. Okay, you started with
Kickstart then. Okay, and do you consider your...
new VM setup done already or do you constantly
tweak it? I think that it's pretty done. It's
actually, I think that it is a very funny fact
that my most popular repo on GitHub are my .files.
I'm like, okay, I guess this is what I'm going
to be known for. But yes, right now they're in
a state where I'm pretty happy with the plugins
that I have installed. And I'm not the kind of
person that... If I see like a new plugin on
Reddit, I will be like, okay, let me try it and
like refactor my entire configuration. I'm like,
no, like what I have, I'm pretty happy with what
I currently have. So yeah, I think that it's
pretty stable. Although I do have to say that
I do miss those days when I was twinkering with
my configuration all the time. Right now I almost
want something to break so that I have an excuse
to configure none of them again. Yeah, that's
one thing with distributions, right? Depending
on the person that manages that distribution,
the one that I use is LazyVim, right? So I don't
know how to pronounce it. Folky, Folk, everyone
says it different, right? Yeah, I also don't
know how to pronounce his name. Folky, yeah.
Yeah, I call him Folky, but that's the way that
I know about new plugins. That's the way that
I learned, for example, about Blink, that CMP,
because suddenly... my stuff was broken and i
was like what's happening here right and i do
have to say that a lot of the code that i use
for my own configuration has just been inspired
by folky because he he's basically like holding
with our like neovim ecosystem on his shoulders
um together with um mini plugins but but yeah
i think that um yeah um i i've Definitely taking
a lot of code from LazyVim in my own .files just
because those are probably the nicest plugins
that are worth trying out. Yeah, and if it's
approved by Fonky, you know that it's going to
be good. Yeah, for sure. Did you migrate already
to Blink or you're still on NVIDIA? I did. Yeah,
I did. I did migrate to Blink. To be entirely
honest, I don't think that it is like much faster.
I didn't migrate with the motivation of like,
oh, it's Grittany Rust. It's going to be like
super fast. I didn't have a performance issue
with VMCMP. The main reason that I ended up switching,
it's because it was making me a little bit worried
to see that VMCMP wasn't being very much maintained.
And there were like a lot of PRs. um with bug
fixes and like performance improvements and the
last change had been made months ago um and that's
the reason that i think someone else opened magazine
which is like a fork of mvmcmp but but with all
of those prs merged so i was like yeah i don't
like it when projects just like um look a bit
dead right okay and how did it go with breaking
changes blink and breaking changes I mean, so
I'm a core maintainer and I build Neobim from
source. And I remember like around the, it was
like around two years ago, I remember there was
like this bug in Neobim core, like the core C
code that it would make Neobim segfault every
couple of minutes. And that ended up happening
like around a week. And it was like a bug in
them. It got fixed. It's fine. But the reason
I'm telling you this is because I build now them
from source. I'm used to breaking changes. I'm
used to sometimes I will build now them or update
a plugin and stuff will break. I've even been
the cause of some of those like breaking changes.
And so I'm pretty comfortable with handling those.
And often when that happens, I end up making
the, if it's a fix that I know how to. uh resolve
then i'll make the pre nail them or in the plugin
itself interesting yeah yeah people tend to forget
that blink i don't know if it's still in beta
um but it yeah it's not in beta anymore i believe
that the maintainer released version one a couple
of weeks ago i think okay okay so we should expect
uh less breaking changes but the few the past
few months were a little bit crazy in that aspect
It's a lot. Yeah. And I guess that with a district
gets a bit harder because if there's a breaking
change there, then, and if you're a LazyVim user,
then you need to wait until Folky makes a change
and Folky goes on vacation like every month.
So it takes a while. Yeah. Yeah. I don't wait.
I try to fix them myself because I configure
LazyVim to update my plugins when I open it.
Right. And that's a good thing and a bad thing.
Because of breaking changes, it's bad. For sure.
Yeah, okay. And where can people find you? Do
you want to share about that a little bit? Yeah,
for sure. Do you want to share your screen and
just show your stuff? Yeah, so you can find me
on GitHub. I'm not too active on like a lot of
social media places, but... um you can follow
my contributions to um now vim um right now let's
see i think that i have a single pr open um but
yes you can see like go there see what i'm working
on um yeah i have those um i also have twitter
or x or all of that um you can see my cat and
myself um yeah i usually use like a variation
of the same username in all of my social media
so it is maria solos or maria solano os um but
yeah a variation of that and you'll find me um
i've also been very active on reddit um especially
on the november subreddit and um i also have
a couple of videos I've been a speaker at the
Nailbeam conference during the last two years.
So you can take a look at those videos as well.
Interesting. Yeah, the first one. Yep. And are
there any plans to keep creating videos or? So
outside the Nailbeam conference videos, I did
make a video about how I go around debugging
my Nailbeam configuration using. the Lua debugger
and that was just because people on Reddit were
asking for it but not really I guess that I'm
a bit camera shy and there's like a lot of work
on video editing but I mean if maybe if a lot
of people on Reddit go like crazy and say that
they want more videos or like specific topics
then I might create a couple more yeah but i
don't think that i will join the cool kids and
become a streamer anytime soon yeah it's yeah
it's a lot of work because you basically have
to run like a company you have to do everything
it's right and i i don't even understand how
twitch works like oh yeah like it is too much
work and so um yeah yeah me neither i'm just
used to youtube you know And I have no idea how
Twitch works. And can you tell us a little bit
more about the experience of maintaining open
source? How do you feel about it? Yeah, so what
I... So far, my experience with open source has
only been with DevTooling. I used to work at
Microsoft with the VS Code and TypeScript team,
which are, of course, two open source projects,
according to Microsoft's definition of open source.
But I feel that with dev tooling, with every
feature, I remember that the first piece of feedback
that I would receive, it would be, how do I disable
it? And so that's something that with dev tooling,
you will never make a feature that will make
everyone happy that will fit everyone's workflow
and so i think that my experience with open source
is that you you will need to um like have a very
good self -esteem that sometimes you will receive
negative feedback and people will be unhappy
about um a feature and it's fine it's perfectly
fine i think that my main goal when i make features
to know them it's not making everyone already
happy, although that does make me feel pretty
good. But my main goal is what is Navim's core
philosophy and make sure that those features
stick to that. And so when I was working on VS
Code and adding new features there, I wasn't
thinking of, okay, but how does this fit into
the VS Code editor? Like philosophy, it was more
of like, what does suit Microsoft better? But
with NelVim, I kind of want to know, okay, NelVim
is very strict. And we truly believe that we
should implement everything that the LSP says.
And we don't want like an extra feature just
because there's a nice plugin that does the same
thing. But it's like, no, but the protocol doesn't
say that we should do that. And so, yeah, like
a good example for that. It is how I implemented
the snippet engine. And the main motivation to
do that is because we wanted to have native completion,
which I also helped implement in port. And when
I implemented that, a lot of people were saying,
oh, can we also have third -party libraries and
write our custom snippets that would be loaded
by Delphi directly in? well that that was not
the goal like we want snippets in order to be
able to process snippets in completions when
an lsp server sends that in the completion response
um loading your custom snippets that would be
part of an external library and we do have plans
on exposing that api maybe in the future but
um oh yeah would you mind explaining a little
bit more then on that part of the snippet so
I use my custom snippets. I use Lua Snip for
that. So this is not what you're mentioning,
right? It's something different. You mind just
explaining it to me like I'm five years old so
that I understand? I don't know if you want to
share your screen and show it. Yeah, I can do
that. And so let's see. So here is a PR in November.
I added the snippet API. and so um the and actually
let me open the snippet the documentation um
maybe game segmentation for that but there we
go so now vim has this minimal snippet api that
it follows the um the grammar defined by the
protocol, which is here, which looks very mathy,
but basically you would be familiar with it if
you've ever written your custom snippet in LuaSneak
or in VS Code, where you have placeholders using
the dollar sign and square braces. And yes, you
would write your own snippets, and this is the
grammar that... VS Code uses that the LSP uses.
And so then the goal of this feature was to be
able to process those custom snippets when an
LSP server sends that from the editor. Right
now, this API, it's only used in the editor when
processing completion responses. And so, for
example, if you have your custom snippets in
your NetBean configuration, there would be nothing
in the editor loading that file. And so there's
currently no support for that there. I am aware,
because I did try it out with LinkCMP, that LinkCMP
is able to use this snippet API from Nelden,
and it will also load your custom snippets that
you have in your... inside your snippets folders
in your runtime path. And so I do know that other
third -party libraries have been able to use
this. Okay, okay. So if I want to have my custom
snippets, I continue to use lua -snip the way
that I have been doing it, right? Yes. Well,
you can actually not have lua -snip and have
bling -cmp. Let me actually check that here.
Oh, BlinkCMP has a documentation website. But
you can also use BlinkCMP without having LulaSleep,
and BlinkCMP will automatically load your snippets
from config and theme snippets. Theme snippet,
okay. Okay. Okay. Yep. i have used those um snippets
that's what i was using actually i don't know
i just migrated to lua snippets i wanted stuff
really i don't know a lot of crazy stuff happening
in my snippets so i guess that i i don't know
i just moved uh to lua snippets yeah friendly
snippets feels like an overkill to me um what
i personally do is that i um So I do have a snippets
folder. And I just, personally, I find that most
LSPs have enough snippets. But I do find that
TypeScript or TS Server in general doesn't have
enough snippets in their own completions. And
so these snippets that I have here are the ones
that VS Code uses. And so instead of like...
When I feel that the snippets that are in my
completion menu don't feel great enough, I will
say, like, okay, let me see what VS Code has
over here. And VS Code has, like, the code for
most LSPs in Microsoft VS Code, and it is inside
extensions. And so here, if I go to TypeScript
basics, here is where they have their snippets.
And so I basically like copy pasted the snippets
and the ones that I wanted. And this is the snippets
following the grammar that I showed over here.
And so that's why they work. Because Friendly
Snippets has thousands, right? I know about Friendly
Snippets because Folky loads them into Blink
Blink, loads Friendly Snippets and Mailua Snip
Snippets. So I have... a lot but i i get what
you mean it has a lot those um friendly ones
have tables anything you can imagine right great
okay okay wonderful so um we already went over
um the distribution you use your own config of
course i noticed that the file explorer that
you use is minidad files is that your yes preferred
one yeah yeah i love mini files um When I first
started using NeoVM, one of the first plugins
that I installed was NeoTree because I felt like,
well, I just need a Tree Explorer because that
was the regular VS Code layout that I was using.
Tree Explorer on the left, Terminal at the bottom.
But then I was like, wait, I don't actually need
to look at my File Explorer at the time. And
a couple of months later, Minifiles came out.
I was one of the first users. I loved it because
I find that compared to, for example, with other
buffer explorers like oil and then mini facets,
like the perfect combination of having a buffer
in the sense that you can still use like the
motions inside that explorer, but you also have
the intuitive tree structure. And so I really
like that. So yes, mini files is definitely one
of my favorite plugins. Okay. And the preview.
That's one of the reasons. Yeah. Cause I always
say that to me personally, meaning that files
is like a mix between oil. Cause it allows me
what you said. So use the motions everywhere
and Neo tree, but with the telescope preview,
it's like, I don't know. I don't actually use
a preview. You have it disabled. Yeah. I don't.
Yeah, I don't use a preview when I, and I also
use FSLua. And so, for example, if in my file
explorer, I don't have the preview enabled by
default. But then if I tab through it, I can
see it. But yeah, normally I don't find a preview
to be very useful for my workflow personally.
You have it disabled. Okay. Okay. Yeah. Interesting.
Yeah, I do keep it enabled all the time. maybe
for no reason well yeah sometimes i think i find
it useful i'm like what is this file and i don't
want to open it maybe i just want to yyp you
know just duplicate the file or something i'm
like oh okay yeah this is the file so i think
i do i do like the preview and is that um from
neotree then you switch to minidat files and
that's the one that you use all the time now
yes that's my preferred file explorer for sure
okay and um what about your picker what do you
use fcf lua yes um i was a telescope user and
then um i was working the typescript code base
and um you can see we go to microsoft typescript
um sorry script um the moment that i switched
to fslua was um When I had to navigate through
this folder, which as you can see, like GitHub
just builds because it has like more than 5 ,000
files. And this was just a pain to use a file
picker with. And I found FSLua to be so much
faster. And the file picker is probably the one
that I use the most. And I love it. And I think
that the maintainer is, absolutely amazing um
yeah and i i also use fslua for my code actions
and so here my code action menu is there and
i even have like a preview well i guess this
code action doesn't have a preview um but let's
see um i think that this one yeah so this one
yeah so i do get a preview of what like the workspace
edit that the code actually would apply would
be okay and have you tried bulky's um snacks
picker because he migrated all of us from telescope
to fc and i was like i had some issues with fc
of lua with images it i don't know it got stuck
it was an issue on my side for sure skill issue
And I don't know what else, what other issues
I had. Going back to like our earlier topic on
how my configuration is pretty much stable. And
when there's like a new sensation already, everyone's
like, oh, let's try this new thing. I know that
everyone has been like creating new pickers and
there's like snacks picker. And then there's
mini picker, mini pick as well. And I did try
mini pick. I thought that it was pretty nice,
pretty minimal. um but i'm very happy with fslua
um i'm also i like the fact that fsf it's also
available on the terminal um outside nail them
and i also use fsf natively and so it's nice
to have this tool that i'm already familiar with
outside nail them available in my editor okay
yeah and it's a good point that you brought up
there um People, I read in Reddit, you know,
that people mentioned that they had issues with
the telescope and big repos, right? You didn't
have that problem with FCF Lua. I wonder how
Snack Speaker works with that huge repo. If Alki
uses it, I guess it must be all right. Yeah.
Okay. And what color scheme was the one that
you were showing on your screen? So I use a variation
of Dracula and I maintain my own color scheme.
But yeah, and this is actually like, I copy pasted
most of the code of the Dracula and theme color
theme. And then I made some variations of it.
But anytime that I need to pick a color theme,
I'll use Dracula. I do tend to use Dracula and
then I tweak it to make the background darker.
And so I'm, I'm very much a fan of Dracula. Okay.
And do you have it in your .files? Or did you
create a color scheme by a repo? Or it's just
in your .files? It's just in my .files. And the
reason I have it just here is because most color
schemes would have overrides for most of the
plugins. when you open a color scheme on repo
you would see that they have the highlight groups
for um snacks and blink and fslua and telescope
and all of that and so here by just having it
here i just have the groups that i'm interested
on of the plugins that i'm actually using okay
okay okay interesting okay and um what so moving
on to to something else What tool do you use
to push to versioning control? Do you use LazyGit
or just terminal? LazyGit. I use LazyGit. I love
LazyGit. Well, if I need to push, I will just
use native GitHub commands. But I think LazyGit
is great. It's actually, there's a funny story
behind it. So I guess that I can show you too.
So here. um let me open new them and so here
opening gaze lazy gets and maybe zooming out
a bit yeah so you see these numbers beside like
status and files and local branches like the
one two three and four and so that's because
if you press one you navigate to that one so
it's like the labels of the keys that you need
to press in order to navigate through those things
And so I added that feature to Lazy Git. And
that has been the only feature that I've added
to Lazy Git. My only experience with Go, because
Lazy Git is great in Go. And yeah, I did add
that feature. I added the feature without even
installing Go LSP or Go LS, because I knew that
I wouldn't become a... a go developer anytime
soon and i didn't want to do all of that setup
just for this one feature um but yeah i i think
that lazy git is great um let me just maybe open
the pr real fast yeah yeah go ahead i use that
all the time i use two um so i always press two
to go to my files that's the one that is the
most or three as well to go to the branches two
three Or, yeah, the numbers. And the reason that
I ended up adding the feature, it's because,
you know, as your regular dot file tweaker, I
was really happy with LazyGit. But then I thought,
let me see if there's something else, something
different, something better. And there's like
a LazyGit that's written in Rust. It's called
Git to UI. And I didn't really like it. Yeah,
I didn't really like it more, but I did like
that feature of having the numbers because I
would always forget, like, which is the number
that I need to press in order to go to that pane.
And so I ended up adding the feature, well, opening
the issue and then adding the feature to PlacingIt.
And when you have a feature like this one, for
example, do you usually just submit the code
or you have a discussion with the maintainer
first? Because sometimes they will not accept
them, right? Right. And so usually I always start
by creating a new issue and saying like, do you
think that this feature makes sense in your repo?
It aligns with your goals and like your philosophy.
And so, and I even said like, I don't even know
if this is already supported and this is just
a skill issue and I haven't read the manual.
But yeah, at that point. The maintainer of Lazy
Gate told me like, yeah, go for it. And they
were super nice. They were even like telling
me exactly what to do. And they were super nice.
I was also telling them, I don't know if it's
somewhere in the discussion here. Yeah, maybe
not here, but. I also did this in my first NLVM
PR. There's a lot of people that are afraid to
open that first PR because they say like, oh,
I've never contributed to an open source project
and I don't know how Git works. And I'm like,
just go for it, people. I used to be the kind
of person that if I had a merge conflict, I would
delete the entire repo and clone it again. And
it was via my open source contributions that
I stopped being scared of Git. And I think that
it's perfectly fine to just open the PR and ask
maintainers like, hey, tests are failing and
I don't know why. Or can you help me with this?
I'm not very familiar with Go. I mean, I did
this just right here. Like, hey, I'm having issues
reading this setting. And then I get this error
when running Go run. Oh, yeah. And it was kind.
Okay. Interesting. That's good to know. And to
get, you know, if there's people that want to,
I saw a Reddit post the other day. I don't know
if you saw it or not. People asking, like, what
is needed to start contributing to NeoVim? Well,
I don't know if you have any idea or not, but
what would you recommend to someone that wants
to get started contributing to NeoVim? I would
say. If you don't know what you want, if you
just want to contribute and you don't have a
specific feature that you would like to work
on, try to look for an open issue. And I would
say before you jump right away into the implementation,
try to think in your mind, like, okay, if I want
this, which code would I need to modify? Where
does the implementation live? and just read through
the code base um and once you have like a a rough
idea in your mind like okay i would need to add
this function to this file then open a pr and
open a draft pr so and these might be like a
controversial topic um but i think that i prefer
to open a draft pr with maybe just updating the
documentation of what i'm adding just to make
sure that other people know that there's already
someone working on that issue because it would
suck that you start working on this and then
a couple of days later someone else starts working
on that and then it's like okay which implementation
do we keep so it's it's a good idea to open the
draft pr just to tell i'm interested in working
on this if you later decide not to finish it
because it ends up being more complicated than
you initially thought it's perfectly fine to
do that i've Sometimes I will open a PR and be
like, I abandoned it. Someone please take over.
And that's fine. But yeah, I would say going
through open issues, sometimes we add labels
of difficulty, easy, or good for first -time
contributors. So you can also try filtering by
those. Okay, interesting. Yeah, so if it's a
draft, if you open a draft, PR is just a draft.
Um, you can get feedback there, right? Hey, don't
work on this or yeah, we're interested in this
or no, no, no. Right. Okay. Good idea. Okay.
Okay. And, um, are you a T -Mox fan or no, there's
just two sides of it. I, so it's not that I'm
not a fan. Um, I just, I've never used it. I've
never had the need to use it. Um, I use ghosty
right now. I used to be a Western user. Um, Western
is great. I'm happy with ghosting right now.
Um, but normally my workflow is that I would,
I will have a single tab per folder that I'm
working on. And then if I, for example, sometimes
I will have them open. Um, yeah, that would be
a good idea. And so here, um, what I do is that
I prefer to run terminal commands. directly from,
like, another split instead of from nilvim directly.
From the nilvim terminal. Right. And so here,
yeah, I guess that I can just run make doc. And
then I would have nilvim here open. And so this
is usually my regular workflow. I will have a
tab for working directory. And then I will usually
have nilvim open and then a terminal if I need
to. Okay. So each tab for you is a project, right?
Like one tab is your files. Another tab is any
of them. I don't know core feature you're working
on. Another tab is, I don't know, a personal
project. So exactly. Yeah. Okay. Interesting.
And any of them you, um, to open multiple files,
I noticed that you don't have tabs at the top.
Oh yeah. You do have tabs right at the top. Yeah.
I do use, um, a buffer line for, um, my buffers
yeah okay okay okay got it and um okay thanks
for sharing that what else do we have here i
don't think we have any other well let's talk
about technical stuff first let's just cover
all of those i noticed that you're using mac
os um is there a reason why so i i also have
a framework laptop and um I use Linux. I'm an
Arch Linux user as well. The reason that I'm
using macOS for this call is because I don't,
I mean, I've done some videos with my Linux setup,
but given that I'm screen sharing and camera
and all of this, I just prefer to use macOS and
be safe. Then, yeah, you know, Linux can be a
bit flaky with all of those. Okay, so Arch is
your main one then, right? For development, yes.
For work, I do use macOS. Okay, you jump between
the two. Okay, interesting. Yeah, and I personally
prefer Linux much more. Yeah, if I could use
Linux for everything, it would be great. I also
tried the best of both worlds of Asahi Linux.
And I used the Fedora distribution that they
had. It worked nicely. But again, there were
issues with screen sharing and I couldn't use
my Apple monitor. And then the main maintainer
of that project kind of left open source entirely.
So yeah, it's not going great. Oh yeah, I asked
yesterday. I did a live stream yesterday and
I asked the two Discord friends that joined what
they thought about Asahi. I have... I did follow
the project. I never installed it. But, yeah,
it's, you know, you can use the Apple hardware.
It's a Linux distro. Yeah. Yeah. And I do have
to say that Framework has been great. And I really
love Arch Linux. And right now, Asahi doesn't
have Arch Linux support anymore. So, yeah. Okay.
Okay. The Framework laptops. Okay. Yeah. Why
did you decide to go with the framework? Because
usually it's those frameworks. I've seen it a
lot lately and System76. Yeah. So I had seen
very positive reviews of framework. The CEO of
framework used to work at Apple. And so I feel
that framework laptops do have that feeling of
a Mac. When I wanted to install Art Linux, I
did buy a ThinkPad and it just feels too rough.
I think pads are great, but my first computer
was a MacBook and I've been using Apple laptops
all of my life. And so I'm used to that, like
how delicate they feel. And I think that just
felt like a brick. And so I think that frameworks
are a great balance of that MacBook feeling with
a laptop that can still run Linux natively. Okay.
Okay. Interesting. What are your thoughts on
the other operating system, Windows? I hate Windows.
I mean, as I mentioned, I used to work at Microsoft
and Windows sucks. I hate the fact that... the
PowerShell, not PowerShell, but like the command
line, you cannot LS. So it's not even POSIX commands.
You need to use dir. And so I really hate that.
Same with PowerShell. I'm like, yeah, PowerShell
might be great and you have all of these powerful
functions, but I need to use LS. And yeah, I
really don't like Windows in that regard. It's
too slow. It's too ugly. I do think that some
of the most nostalgic sounds ever are like the
Windows Vista from the early 2000s, like when
you're turning on a Windows machine. But yes,
I am not a fan of Windows at all. Yeah, I don't
do it on purpose. Every guest that I have had
so far is not into Windows. Elijah, he's the
creator of Harper, the Harper language server,
which is like a grammarly alternative. It was
like, I don't like Windows. Nobody in this development
environment likes Windows, actually. But I guess
I haven't had any Windows. And game developers
probably love Windows, for sure. I do have to
say that I did a lot of work with Visual Studio.
In Visual Studio, Windows is very powerful in
the sense that it allows it exposes a lot of
operating system specifics to other applications.
And so, for example, from Visual Studio, when
we have new features, the day that those get
released is by using feature flags that get registered
in the Windows registry. And so that's basically
like a binary flag that's like, I don't know,
new copilot feature. And then... that's written
to the Windows registry from Visual Studio and
that's written in red. It's like you have this
ID that's using this API to hook up into a registry
that's only accessible via COM APIs. I think
that that's pretty cool how you can do a lot
of hacky stuff from Visual Studio itself. It's
also definitely like shooting yourself in the
foot. You can imagine the kind of bugs that you
sometimes encounter when you have like the super
powerful API that exposes so much operating system
information to like other applications. Yeah.
Yeah, that's a good point. But I don't know about
you. I spend most of the day in the terminal
and I cannot work on the Windows terminal. Of
course, there's stuff like WSL, but still you're
virtualizing Linux there and it's slower. yeah
yeah okay for sure do you use a special tool
for note -taking or how do you take notes um
i use obs and yeah i yeah yeah not obvious um
um yes i use obsidian um i use it like for my
grocery shopping um notes and um not a huge note
taker um i used to have like lots of agendas
but then i would forget about the agenda and
i would need a note to remember to take notes
um but yes like when i need to take notes i will
be succeeding okay okay wonderful and uh how
many minutes do you have left because we still
have a few questions we can end that we can finish
the call here if you if you want to i'm happy
to stay here like for another 10 minutes okay
okay I'm just going to ask, let me see the most
important ones and we can wrap it up. Is there
any one of these that you would like to discuss?
I guess that I can share about my keyboard. Okay,
okay, okay, okay. I've been using a Moonlander
keyboard. It's been like almost a year since
I used it. I used to just use the trackpad and
like the keyboard on my laptops. But then I started
noticing that I would get a bit of pain using
the trackpad. So a lot of people say that it's
like the keyboard itself. For me, it was most
using the mouse. And I was like watching all
of these. Like I still watch his videos. I think
he's hilarious. Prime's videos. And I thought
that it looks like. It looks very cool when someone
uses a split keyboard. And so I got the Moonlander.
It is one of the best purchases that I've ever
made. I think that it's great. I also, I don't
know if you saw it, but I have like the rainbow
colors. So it makes me feel like, I don't know,
it makes me feel great. So yeah, I'm very happy
with the Moonlander. I would totally recommend
it. When did you get it? Around a year ago. I
remember that I got it on May of last year. okay
it did take a while to get used to yeah um because
especially with the thumb clusters um it is weird
to start using your thumbs when typing um but
i think it's it's great i take it to work i take
it everywhere when i travel as well so yeah i
was also deciding you know i was thinking about
this one that i got is the glove 80 but i was
thinking about the moonlander the glove 80 or
the one that prime uses and i was like yeah the
kinesis yeah i cannot afford more than one of
these my wife would kill me if i come and tell
her i need to buy another one so i don't know
i went with this one i have no experience with
the other ones i don't know how good they are
or not yeah okay and um we don't have much time
um left anymore you mentioned that you used uh
ghosty ai we don't need to cover this uh oh last
thing do you want to share three or your favorite
neobim plugins yeah for sure um so let me maybe
open my dot files to make sure that i um don't
miss any of these um so three i would say that
FS Lua, for sure. I think it's the best picker
ever. Very customizable. Then I would say Nini
Files, for sure. That would be the second one.
And then I also really like Flash from Polki.
And so I know that there are a lot of people
that have opinions regarding... like using these
kind of motion plugins instead of using like
F and like the native ones from Beanmotions.
But I think that Flash is great. One of my favorite
things about Flash is, for example, what it calls
remote motions, I guess. So here, when I'm in
pending mode, and so if I want to, for example,
like yank, and so that's like in pending mode
because it's waiting for... like the motion for
the jack and so if at that point i press um uppercase
r that will start flash and so here i think this
one would be better so say that i want to paste
tree cedar search the string inside the parentheses
of the remote and so i would say yank capital
r and then I would use Flash to select the thing
that I want to paste. And so I want to select
TreeSeeder search. So at this point, I press
L and I say around quotes and paste. Oh. And
that's pretty cool because it allows you, because
otherwise I would need to like. Jump there. Here
and then go back and then paste. And so I find
that to be pretty cool. And I definitely use
that a lot with Flash. That is wonderful. Yeah,
it did take me a very long time to learn how
to, like, how it works. Because Folky does document
it, but you really need to understand, like,
what does that remoteness mean? But once you
get it, I think it's great. Yeah. Yeah, good
point. Because I jump. Let's say that I need
to copy something. I jump. BI quotes, you know.
Or I quotes to copy it and then I jump back to
where I was pasted. Exactly. Makes you save a
lot of time. OK, wonderful. OK, so we don't have
much time. Do you have any final words before
we end the call? Anything you want to say? No,
I think that I've shared everything that I had
in mind. This was great. Thanks for having me
again. OK, wonderful. Thanks to you for showing
up. And if there's someone still watching, if
you like these type of videos, remember, let
me know that in the comments, like the video
as well. So that tells me, OK, they liked it
or not. I'll share it in Reddit as well. Maria,
if you're OK with that. And yeah, for sure. OK,
we're going to see what people say. OK, so thanks
for stopping by. Till the next time. Thanks to
you. A good one.