in gh - you define sections in a yaml file and
you can specify like this section is specifically
for gh - and i can easily see like which prs
are waiting for my review i have a question does
this replace lasik it or does it add to lasik
it i'm i'm confused there i honestly don't want
to go the next down the next rabbit hole how
has that been Yeah, I can totally get it, but
it's not an immediate benefit like moving to
Neovim. I think it's more like if you're interested
in the technology, and this is the readme for
my .files, and you can see images render just
fine. If I want to look at repos that are interesting
to me, I don't want to type them over and over
again. I just save them here. 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. All right. So I'm asking everywhere. Where
can I find people to interview? Right. Like if
people have a GitHub repo and stuff like that
to reach out to me and some folks do. Right.
So one day I'm just wandering around and GitHub.
Right. And find this repo. GH dash. And I was
like, I kind of recognize this username. I think
I've seen this guy in Discord. I went to Discord
and I noticed that it was you. And this is 8000
stars. So why didn't you reach out, man? Oh,
yeah. I don't know. I'm in all the developer
stuff discords. So when a new one opened, I just
joined yours immediately because there's not
a ton of content for, you know, TMAX, NeoVim,
all that matrix of tooling. And yeah, I guess
I don't like to... i see it as bragging or i
don't know why some psychology thing i don't
know why i uh didn't reach out yeah yeah because
i was like if you guys have any repo that is
above 500 stars just reach out i didn't i didn't
see it yeah you didn't see it yeah i'm asking
in in the neovim subreddit and i'm asking everywhere
and uh it's wonderful to have you here thank
you Yeah, I actually enjoyed your other videos,
so glad to be on one. Yeah, yeah. And which ones
do you watch the most? Niobe -related stuff?
Yeah, I have a backlog to watch the other ones
because they are interesting as well. But yeah,
the one with Maria was very interesting as she
has insights into Niobe itself. contributing
to it. Yeah. And everything T -Max, NeoVim, even
being exposed to other stuff like Emacs and what
was it? Alfred. Yeah. Oh, interesting. Okay.
So let's just harass you here for a little while.
Let's stalk you in social networks and all that
stuff. i see that this is your website um your
name is dole right yeah okay so i see that this
is your blog post you have some articles in there
this is your github profile the repos you have
this one has 8 000 stars where is it here th
dash so if there's people wondering what we're
doing today we're covering this basically demoing
this get to know it more how to use it all that
stuff and get to know the live a lot more right
so i also noticed you have a youtube channel
you don't have too many videos there these are
really old are there plans to continue on youtube
uh not really if there's like a particular topic
that i'm very interested in and i think a video
of it would do a better job than a blog post,
I might create another one. But it's it's a lot
of work, a lot of work. Hmm. Yeah, it is. So
you want to share something about yourself, like
who you are? Yeah. So I live in Tel Aviv, Israel,
married and 35 years old. And in terms of jobs,
I've been to big companies like Facebook and
Wix. And for the past four years, I've tried
startups. So I'm at my second startup now called
Port. And yeah, full stack developer. Basically,
I like to do everything. Okay. Okay. Wonderful.
And let's see. That's all that we're going to
be going at today. What is that about? You mind
sharing a little bit more about it? Yeah, the
story behind it is that basically when I worked
at Facebook, we had an internal tool for pretty
much anything. And one of the tools was called
Fabricator. I think it's actually not built by
Facebook. I think it's an external tool. And
basically what it had is like, different sections
for PRs. So you can easily see what PR you need
to review, what are your PRs that are waiting
on others, and you can configure these sections
how you'd like. And when I left Facebook and
joined Wix, basically Wix has a repo for everything.
If in Facebook it's like a monorepo for everything,
in Wix it's like polyrepo. It's like a repo for
every a different package. And it was hard for
me to track which PRs I have open, how should
I merge them, in which order. And giving reviews
was like, I needed to ask someone, or you needed
someone to send you the PR to review. You couldn't
do it proactively because it was all over the
place. Yeah, so I basically want to recreate
what Facebook did. And actually, there was like
a startup of ex -Facebookers who created a product
around the whole experience. And it's actually,
I think, quite popular. But if you look at it,
it's very similar to how it was on Facebook.
Interesting. Okay. And do you personally use
your tool still? Yeah, I use it all the time.
If I didn't use it, I think it would be much
harder for me to keep developing, to keep working
on it. But since I have so many stuff like I
personally want, then it's a lot easier to implement
them. Oh, okay. Let me just update the topic
here. Okay. So... I have some questions about
the tool. Do you want to give us a quick demo?
I don't know if there's stuff that you cannot
show, or do you have, like, environments? Oh,
yeah, I can just... Let me see. Yeah, this one
has private PLs. Yeah, I can just show this one.
Yeah, this screen is just PLs. Yeah. Okay. Yeah,
so basically, this is GHDash. It's basically
composed of different tabs. So in GitHub, you
have basically four tabs, and you can control
which PRs are shown on which tab. You have my
PR, PRs that I need to review, and another two.
In GHDash, you define... sections in a YAML file,
in the config file of gh -. And you can specify,
like, this section is specifically for gh -,
and I can easily see which PRs are waiting for
my review. The review tab and my tab have PRs
that are related to my job, so I won't show them,
but you can imagine this has... different prs
like these are prs from projects i'm interested
in or stuff like that um and basically my goal
is to not go into github basically because it's
slow it's uh not very keyboard friendly as opposed
to like a terminal ui and you can do a bunch
of different stuff on every pr And it's all a
single key press away. Like if I do D, then it's
going to diff. And I can easily see what's the
PR about. I can approve, assign, comment, all
this stuff. And I can define custom key binds.
For example, G is lazy git. So I can easily...
Press G, then I'm in lazy git. Press Q, I'm back
in GH dash. And there's like support for issues
as well. I don't use that as much. I did it more
for the community because we don't use issues
at work. But sometimes I look at issues for my
project and I can easily figure out if I want
to fix some of them. So you can see the issues
there as well. And can you see discussions as
well? No, no. Okay. Some stuff I want to add
in the future are like, I think the most missing
feature is around, for me, around check runs.
Like I can see that my repo doesn't have any
checks, but if it had, then it would have listed
them. but you can't see the output of a job.
So then I have to press O to open the PR and
go to the check step to actually see why my job
failed. But I want to integrate it into GH dash.
But for now, I can see the list of checks that
are being executed and if they passed or if they
didn't pass. Is that right? Right, here. This
is PR from Neovim. And you can see here, these
ones have failed. This one passed. And you can
see the summary, just like in GitHub. Wonderful.
And then the other tabs are like activity, which
are comments. And files changed, which is just
a summary of the changes. And then you can press
D. You can always press D and see the changes.
The view. Okay. And you can also comment. If
someone leaves a comment there, you can comment
stuff in that. Right. I can comment and write
something. I'm from Tel Aviv or something. And
then press control D to submit it. And then if
I go to activity, I can see it. But you can't
comment on a specific comment that someone left
on your changes. It's always global comments.
But you could... Okay, I see. Not like in a thread?
Not in a thread, yeah. But you can put a comment
globally in the pull request, right? Yeah, exactly.
And you can approve a PR if you press V. for
me, I think, then you can leave an approval comment.
That's another type of comment that I support.
Okay. Can you merge after your PR has been approved
by a co -worker, for example? Can you merge from
here? Yeah, you can merge. It's M by default,
and then it asks you if you'd like to squash.
It basically uses the GHCLI. the GitHub CLI under
the hood, and it starts it in a different process,
and then GitHub asks you a bunch of questions
if you want to squash, if you want to merge.
And then, yeah, that's basically the flow. And
I have a question. Does this replace LazyKit,
or does it add to LazyKit? I'm confused there.
Yeah, it doesn't really. it's a companion to
lazy git because lazy git is really good at managing
your local work committing and rebasing and creating
branches and stuff like that so i do still use
lazy git but then lazy git doesn't really have
any connection to github so i can't see if this
branch is actually something that i have a pr
open for or not What's the status of it? And
I wish LaserGit had this integration, but LaserGit
is only for Git, and my tool is basically only
for GitHub. So they're working together. Oh,
okay. And are there plans to expand your tool
to do more stuff with Git? Yeah, I actually have
a design, I think. This is how it looks. But
I think it's too much work and LazyGit is a really
great tool. But what I wanted it to have is basically
a view of branches, but that also shows you if
it's a PR, this is this little icon, or if it's
just a commit, a branch on your local machine.
And if it's a PR, I'd like to see the review
status and the check status. And then it's very
similar to LazyGit, and then you'd have a panel
for your changes, and you can still switch. I
initially thought of it as having a separate
tab for Git, and then the regular gh -github
pull request tab. But yeah, LazyGit is a really
complex project, and it's... It's working really
great. So I don't know if I have the required
amount of motivation to write something big like
this. But for now, it's sufficient for me to
just press G and be in lazy git and then Q. But
it's still a little bit annoying that I can't
see which branch is which PR. I see. So if LazyGit
would integrate with the GitHub CLI, it could
probably retrieve this information and show it
to you in LazyGit, right? Yeah, right. I actually
commented on one issue in LazyGit with a solution
how he could fetch all the pull requests that
are linked to a branch you have locally. So you
won't have to basically do a big network request
so i suggested some efficient way to do it but
i haven't worked on it other than that yeah okay
i noticed a message there at the bottom that
said fetching something does this automatically
pull every x amount of minutes or how does that
work yeah so basically uh you have like a config
file You have a config file, and then you can
see, I think it's auto and refresh interval minutes.
So mine is set to refresh every 10 minutes, and
also it refreshes when you focus GH -. So if
I switch to the GH - application for my browser,
for example, it also refreshes. Okay. When the
focus is gained, right? It refreshes. Okay. Now,
is this GH - a new event plugin or is it a tool
on its own? So it's actually a tool of its own,
but it's like a GitHub CLI plugin. So you have
to have GH installed. All the authentication
is done through the GitHub CLI. And a lot of
the commands are calling the GH CLI. So, yeah.
You can install it standalone, but probably some
missing functionality. Yeah. Okay. So, my question
was more towards Neovim. Can I run it from within
Neovim, or I have to switch to another Tmux?
window and open it there how do you use it yeah
actually so uh so i'm using it as like uh basically
i press command g uh and it opens gh dash and
what is what are we looking at is this tmux and
is that a new window or yeah exactly this is
tmux and when i press command g i have a key
binding for it it opens uh gh dash in a new window
and then i usually If I want to switch back to
NeoVM, I usually have a keybind to go to the
last session. So then I can switch between them.
Oh, I see. I see. Okay. Have you seen... I don't
know how Folky does it, but... Where is it? If
I type here, Alt -G, I don't know what this is.
I don't know the exact... way that he does it
but he brings up lasik it i don't know if this
is like um oh i don't know yeah i actually saw
a plugin i think it's a plugin for new vim what
you just showed me so a couple of days ago actually
like last week someone created the plugin for
gh dash so we can open it inside new vim and
i think what folky does is just basically put
it full screen yep But yeah, there's also an
option to do that now. And is this plugin developed
by someone else? Have you tested it? What are
your thoughts there? Yeah, I actually haven't
because I usually separate my NuVim from other
tools. I usually open a new window in TMAX. But
I haven't tested it. I think you mentioned some
issues with conflicting keybinds. between neovim
and gh - but yeah whoever uses it will need to
check it out yeah we'll figure it out okay we'll
figure it out yeah okay wonderful so um is there
something else you want to demo about gh dash
before we get to know you a little bit more because
i see that you use tmux neovim you're in mac
os so i just want to talk about all that stuff
anything else you would like to or you know what
let me just um go through the docs real quick
and i'm just going to be asking you questions
if that's okay okay yeah sure so because this
is what a new user is going to go through right
so see the docs yeah okay so it's i just went
through the docs a little bit not a lot right
so first install the github cli right you leave
a link to the installation instructions. I'm
in Mac OS, so basically just run this. Install
it. Then you also mentioned right now that this
is a GitHub extension. I didn't even know that
they had extensions. So this is why this command
is there, right? So it's extension install and
your extension. Exactly. I think there's a subcommand
to browse all the available extensions so we
can check out other extensions. Pretty cool.
Let's see. I think run gh extension and then
dash dash help. Extension help. Okay, there we
go. Yeah, and then browse is the subcommand.
Browse. I didn't know they had extensions in
the Gist. And then execute it. Let's see. Is
it like a marketplace then? Basically, yeah.
I think they're looking for a tag on your repo
that says it's a GH extension. And then they
sort it by styles or something here. Yeah, because
yours is at the top, right? Yeah, there's not
a ton of extensions, but there are a few that
are useful. I don't know, has GitHub reached
out and mentioned something about your extensions?
Is it so popular? Not really. They once contributed
because they made a breaking change in GH, in
the CLI. So they contributed a fix for it. So
it was pretty nice. but other than that uh no
so they definitely use it the developers in github
definitely use your tool yeah yeah yeah i think
i think there's definitely one or two employees
the github is a huge company i i bet there's
someone that uses it yeah but they are aware
of it because they've contributed interesting
so let's see let me go back here once you install
the extension the icons to render properly, just
have a nerd font, which is what we usually have.
If we use NeoVim, if you use NeoVim, you have
this already, right? Exactly. That thing's special.
Okay. This, I guess, is just a different way
of doing it if you want to clone the repo. So
that's it. This is all that is needed to install
it. Yeah, yeah. The real magic comes from the
configuration, you know? NeoVim is also easy
to install, but then... You need to configure
it and it's all another story. Yeah, definitely.
Okay, but that gives people a better idea on
what to do, right? So I guess everything is documented
here. I have not, I think I installed it. Yeah,
but I have not configured it. I will play around
with it. And if I have other questions, I'll
let you know. I will probably create a video
about it, you know, and all that stuff. Yep.
anything else you want to share hear from the
documentation or stuff that people ask all the
time that would help you not to be answering
the same question all the time yeah there's actually
a really good video that uh charme charme is
the library that like a company that wrote a
bunch of libraries for developing terminal uis
and they made a video about gh dash so if you
want to understand like why you should use it
how it can help you, and also how to actually
use it, then this video is a great... It's actually
linked in my README. It's pretty recent, so it's...
Yeah, exactly. Okay. Okay. So this helps a lot
if you're just getting started. Yeah, if you
just want to get to know what ghdash is and why
to use it without even installing it. And then
maybe it piques your interest. You install it
later. Yeah. Okay. Wonderful. So we already went
through the demo. If it replaces LazyKit, that's
a question that I had. And if it's not, I already
shared about you as well. Where people can find
you, I'm going to leave all of those links there.
And you mind sharing a little bit more about
the experience of maintaining open source? Because
it's a pretty popular repo. How has it been?
Yeah, I think first of all, you learn a lot about
areas that you don't touch in your regular work.
Like I haven't wrote a lot of GitHub actions
and I haven't dealt with publishing stuff to
Homebrew or releasing assets to GitHub. So all
of that is like novel knowledge. And then I guess
it depends really on the owner of the repo because
I take it super chill. Like if I don't feel like
working on it, I don't work on it for a few weeks.
I know a lot of people work on open source projects
that a lot of companies depend on. Then it's
a whole different story because they need to
fix urgent bugs. They need to basically be on
call for their project. But this is a side project
that aims to give a better experience on top
of GitHub. It's not something that can break
people's workflows. And then I received a few
contributions along the way, like the documentation
site that you just saw. Someone actually contributed
the whole thing. It was like 20 ,000 lines or
something. I guess because of the framework they
used, they wrote a ton of content for the documentation,
and I tried to maintain it ever since. And I
think support for theming was also contributed,
so you don't all have to use my specific colors.
You can specify, because I have a set of colors
that I use, so I can specify them in the configuration
file? Yeah, exactly. Yeah, it's YAML, and then
you specify a bunch of different main text, secondary
text, a bunch of colors. Yeah, or it falls back
to your terminal colors if you didn't specify
something. Oh, yeah. I apply the colors. It might
work out of the box. I don't know. Yeah, because
I apply the colors in Ghosty as well, so it will
pick them up. I don't need to touch it then.
Yeah, maybe you need to tweak some stuff, then
you can always override it. Okay. So, yeah, it's
really fun. Okay. And the support aspect of it,
how has it been? Too many issues, discussions?
Yeah, so I'm not super responsive on issues.
I do... use it every day, so I know there aren't
any major bugs. And if there are, I usually try
to deal with them pretty quickly. I do like when
someone comes out of the blue, creates a detailed
issue with what he wants, and then I usually
comment, that sounds great, because I usually
don't block a lot of feature requests. And then
if he works on a PR, that's awesome. Yeah. it
doesn't require really long discussions on technical
details or something it's usually pretty uh features
in my projects are pretty uh straightforward
okay yeah and what if a user comes in uh comes
up with a new idea they want to implement it
what would you recommend would you recommend
for them to start a discussion first or just
submit the code and um what do you suggest there
So for the wrong sake, I'd recommend opening
an issue first because you might work on the
code and then I'm going to say this is too niche
of a use case. I don't want every user to get
this basically as a bloat because it fits your
workflow. So I usually try to generalize the
solution in the issue. so it fits all users,
or implement some kind of plug -in mechanism,
like I did for the custom commands. So we can
basically define key bindings to run arbitrary
commands, and then this gives a solution for
specific users' needs. They don't have to touch
any of the gh -code. And they can use their own
workflows however they want. Oh, I see. So just
to save you the trouble of writing the code and
then getting rejected if it's too niche, I suggest
to open a niche first. Okay, great. Have you
had bad experiences with users? Have you gotten
into fights in GitHub? No, I don't. yeah no i've
heard of like uh github discussions that uh turned
uh yeah to be pretty heated but uh no no it didn't
happen to me okay wonderful so uh yeah that covers
all the questions that i had about you know um
open source basically so when you showed uh the
demo I noticed that you use Neovim. Is that your
main editor? Yeah, I use Neovim as my main editor.
And why is that? Because basically it started
as a rabbit hole. I started having pain in my
arm like every programmer. And then I started
heavily using VS Code key bindings. But it wasn't
enough, basically. Sometimes I needed to reach
the file explorer. It wasn't really a native
experience for keyboard users. A lot of features
rely heavily on the mouse. Then I swallowed a
Paramogen pill, like many others. That's how
you got started. Yeah, yeah, and then I've dug
a hole deeper and deeper, yeah, basically. Yeah,
it's hard to get out of there. And for how long
have you been using NeoVim? I think for three
years, something like that. Oh, three years,
that's a lot of time. And you use your own config
or a distro? Yeah, I use my own config. I started
back when I think there was LunarVim or something
and AstroVim, but I started... I started on my
own and then I've been maintaining and improving
it along the years. What are your thoughts on
distributions? Yeah, they look great, but I require
like too much. I wanted to tweak it too much.
And then distributions usually get in your way.
But I haven't. fully tried like LazyVim or something
like that, to honestly tell you if it's hard
to customize. But having your own distribution
gives you full control, basically. Yeah, that
is correct. Yep. And is your NeoVim config, because
it looks quite good. Your setup looks really
awesome, to be honest. Do you have it in your
.files or is that private? Yeah. Yeah. I have
like a repo for my .files. It's in my GitHub
and NuVim is inside. Basically it's under Nix
module and then Envim. This is my entire config.
So you use Nix, Nix Darwin. Is that right? Yeah.
I beat a bullet on that as well. Pretty, yeah.
Not, not too long ago. Yeah. How long ago? I
think it's like six months ago. How has that
been? Because everyone keeps telling me to try
either Linux, that I should move to Linux, or
that I should use Nix. And I'm like, oh no. I
honestly don't want to go down the Nix rabbit
hole. How has that been? Yeah, I can totally
get it. It's not an immediate benefit like moving
to NuVim. I think it's more like if you're interested
in the technology and also willing to configure
Nix to learn stuff, then it's great. But it's
not like I'm replacing laptops every two weeks
or I have three different machines. So that's
not the reason. If you do have three different
machines and you want them all configured...
The same, or if you're using Nix for your job,
or I'm using something in my job that uses Nix
under the hood, then it's nice to know how it
works. But I don't think it's a better developer
experience than using something like, what's
it called, Stow, or one of the more standard
tools. Yeah. But it's pretty cool, yeah. But
Nix is pretty cool. I think it has a lot of potential
for tools to be built on top of it. And the tools
I use for my job, for my day job, it uses Nix,
so pretty awesome. But yeah, it's another rabbit
hole. If you're bored from Nivim one day, then
just open the Nix docs and start digging your
grave. And do you recommend Nix? Honestly, would
you recommend it? Like for someone like me, if
I need to deploy a new Mac, I have, I even create
a video, right? So I have bash scripts. That's
what I use. And I install everything, you know,
all my applications with brew files, right? So
install all of them, set up all the Mac OS system
settings in the bash script as well. You know,
even the hot corners. everything in that script,
would it make sense? Or would you recommend it?
I don't think I would recommend it. If you have
a setup that works for you already and uses scripts,
I think it's the most simple way to manage your
environment. If you're switching laptops every
five, six years, then it's totally an overkill
to use Nix. It's like, I don't know what to compare
it to, like learning Kubernetes on your own.
If you don't use Kubernetes at your day job,
then you probably don't need it. I think it's
similar for me in Nix. But further learning experience
is good, especially if you use it at work, right?
So you would benefit from that. Exactly. I think
that's the main benefit for me. Because I use
a single laptop, I don't really need Nix. Nix
is another kill for me. But it made my move like
a sweet jobs, I think, four months ago, and it
was a single install. But I guess you can achieve
that with script as well. It's not a must to
use Nix. Okay, makes sense. Okay. Good to know.
I noticed that the file explorer that you use
in Neobim is minidotfiles. Is that right or I'm
wrong there? Yeah, exactly. Yeah, minidotfiles.
I didn't know that you could have relative line
numbers in minidotfiles. Is that built -in or
something you came up with yourself? I think
I did configure it. I don't know if I did it
here. Yeah, exactly here. I created another command
that whenever the window is updated, I apply
these options. Interesting. So if you type that
number, it'll jump directly to that file and
open it? Or how do you do it? So I usually use
relative line numbers a lot. So if I want to
go to dressing .lua, And then I can just press
25K and I'm there. And then I use L to open it
and Q to close mini .files. So it's pretty smooth.
I never used relative line numbers. I even disabled
them and I just left them as regular line numbers.
And it looks horrible. There are some files in
which I have like 4 ,000 lines. Let me show you
one. uh let's see like my key maps key maps look
at that how many keybinds do you have oh i have
have a lot of crazy stuff going on there man
but look at this look at the gutter i think it's
called oh yeah i'm not gonna type four digits
yeah but i i disabled Relative line numbers.
I never use them. What I'm trying to use more
is flash, right? So jump using flash, but I don't
know. I just don't use it. You know, I never
got used to it. I just got used to doing this
or control you control control D. I know it's
not a good practice. How do you navigate around?
Do you use relative line numbers a lot? Did you
get used to them? Yeah, I also didn't start out
using relative line numbers. For the longest
time, I just did the J and K or control D, control
U. But I found myself also, like I did a lot
of exploration, if I wanted to jump to this word
text. So I have a couple of options, and I think
one of them is Flash, which tries to solve both
navigating horizontally and... and vertically.
But now what I usually do is like, I can see
it's eight lights down. So I do eight AJ and
then I usually do FFS or a bunch of W's. Yeah,
basically spam W. I didn't find all the jump
plugins to work for me as well. I didn't find
that. Like this relative line numbers is more
simple, I guess, to use. Yeah. I guess it also
depends on how you have your numbers laid out.
Because I don't use layouts on my keyboard. I
don't know if you're able to see it there. Let
me switch this other one. My numbers are there
at the top. So I cannot reach them. Yeah, I guess
I can show, if you can see, my numbers are basically
these three rows. So if I toggle a layer, these
are my numbers. So it's this layer. And then
I can just, one, two, three, super quickly type
numbers. So it's pretty... Yeah, you have to
have the right setup for relative line numbers
to work. Yep. Now that you showed... Oh, and
mini .dat files. Let's just go back there and
then we can talk about your keyboard. Yeah, so
I actually started with, I think it was nvim3.
And I found that it wasn't really working. for
me in terms of going up a directory, going down
a directory. Basically, I saw other people use
oil .envim, which is a similar plugin. And I
was kind of jealous, but I didn't want to use
oil because it was too far away from a regular
file tree. It was harder to see, like mini .files
shows you, the full path of the files. OL .envim
is just a single directory. And I think mini
.files is basically best of both worlds. It's
similar to envim3 in that it's almost like a
file explorer, but it has the functionality of
treating your files like lines in a buffer kind
of way that you can delete lines. or move files
by deleting the line and pasting it in another
folder. So yeah, it's a pretty cool plugin, yeah.
And I noticed, just like Maria, that you have
the preview disabled. Is there a reason for that?
Yeah, I think I found it too distracting, basically.
I usually don't... look at the preview. Even
in my smart picker of Snacks, the Snacks plugin,
I disabled the preview. Not in all the views,
like in my buffers view, I do use the preview
to see what line I had it opened on, basically.
Okay, interesting. So you use minidet files?
your picker is snacks um right so yeah i noticed
that you don't have oh yeah you do have tabs
at the top are those tabs yeah the top is the
my uh tmx no i don't usually do tabs but uh sometimes
they i like my tabs show up at the bottom here
and if i open like my uh diffu plugin then it
usually then it opens in a new tab So I use tabs
very rarely. But yeah, same for splits. I don't
usually use splits. OK, yeah, me neither. I don't
use them too much. Tabs, I don't use them. How
do you navigate files then with the stacks picker,
the buffer thingy? Or how do you do it? Yeah,
I use the smart picker a lot. I use the buffers
thingy. I also have kind of like a Harpoon kind
of plugin. I don't remember its name exactly,
but you can basically mark files and then jump
to them pretty quickly. And you can delete them
like a regular buffer or move them around. So
if I work on a feature that requires five different
files, I usually reach out to this plugin. Because
the small picker doesn't always suggest the most
relevant file that I need to jump to. Yeah. Yeah,
so this is basically my workflow. No, I think
it's called not small open. What is it called?
Let's see. Reticle? No. No. Oh, Smear Cursor.
That's why I see the animations there in Eovim,
right? Yeah. Is that the plugin? Yeah, yeah,
exactly. Yeah, that's Smear. I noticed you're
using Ghosty, and I think it doesn't have those
animations. Not sure. Exactly. Exactly, yeah.
I saw Kitty introduce it a while ago, and it's
pretty cool. It really helps, like... I don't
use it for the cool effect. I use it for seeing
where my cursor came from, basically. So it's
really good for that. I tried the other plugins
like smooth scrolling and stuff like that to
not have the scrolling be so abrupt, but it was
too slow for me. I like the instance, the way
that it's instant, but I also like to see a little
bit of where I jumped from. Yeah. Yeah, I opened
lace even one day and my cursor was like, I don't
know really slow and I was like, what's happening
here? I Don't know if Oki made a change and I
don't know what plug -in it was that it Enabled
but I do get that the cursor slow for me was
like no Because it you can see the cursor moving
slowly. No was too slow for me Exactly. I tried
to configure it to be as fast as possible, but
it's not really... I really wish Terminal supported
smooth scrolling, but it's not really smooth
scrolling because you can't achieve that in NeoVim.
But yeah, I do envy the smoothness of crawling
in a proper GUI app. Oh, or in Neobite. Neobite
is a little bit... Better, I think. Do you use
Neovite or no? No, but I'm thinking of integrating
it because I recently moved my notes from Obsidian
to Neovim because of the editing experience.
And I'm thinking of maybe using a separate app
for my notes. So Neovite sounds like a great
option. Oh, so it will be like your dedicated
app for notes. Exactly. I'd like to know more
about that, the nodes. Why did you switch from
Obsidian to NeoBeam? Basically, I found the...
Yeah, the beam integration to be too slow. Like,
it moves and it's kind of laggy and not all the
keybinds work that I'm used to. Like, I'm used
to pressing little, little to switch to my alternate
buffer. and even making these relative line numbers
work was really a pain i had to configure a css
rule for each line so i made like a hundred of
them so if if there's more than a hundred there's
probably not more than a hundred relative lines
uh in this screen but it's gonna break oh okay
yeah and then you know the other amenities of
like my smart picker and uh my yeah it's it's
more tuned to my uh workflow yeah once you're
used to new vim switching to obsidian feels like
up i'm i'm not going i don't expect to offend
anyone but it doesn't feel optimized for any
of them user that's what i'm gonna go with right
because i do like using the surround motions
a lot right so gs exactly select around quotes
and all that or delete around quotes. I couldn't
do it in Obsidian. Maybe there's a plugin, you
know, but it felt too different. I needed to
look for workarounds in Obsidian that I had in
NeoVim. So I just decided to also switch my notes
fully to NeoVim. Do you view images in NeoVim
or you don't in your notes? Yeah, I do. Yeah,
this is the readme for my .files, and you can
see images render just fine. Yeah, that's pretty
awesome. I tried other plugins before Falky wrote
snacks .image, and they often broke, but this
one works perfectly, yeah. Yeah. What is the
other one called? Image .envim, man, yep. Yeah,
by third. Yeah, by third. I used that one for
a long time. Worked wonderfully, but I don't
know. Snacks image, to me, feels more stable.
And so far, it has been working great. Yeah,
I didn't have to configure it too much or play
around with it, but... I do remember like third
.image, this one, required a lot of configuration
to make it work. I don't really remember. I think
I copied some of the old stuff to delete the
images and stuff, yeah? Yep. But snacks .image,
this is my configuration. Yeah. And it just works.
And if you open a picker, you can just view the
images there. You can even... preview pdf files
or videos it shows you the image of a video so
it's i mean works just great yep yeah yeah okay
and um what's the color scheme that you're using
i'm a tokenite user so fall killed away okay
looks quite cool yep okay and um let's see the
tool that you use to push to version control
we already know you use lazy git most of the
times right exactly i just command g and then
usually g afterwards to go into laser git and
uh basically this is what i do go between gh
dash and laser kit okay okay wonderful and um
tmux why tmux uh wow tmux is a love story no
i love tmux um Basically, I think before all
the terminal emulators had proper tabs and windows
and stuff like that, I started using Tmux. And
then I actually found myself going through a
lot of terminals. So I tried Kitty and Westterm
and iTerm in the long distance past. TMAX always
enabled me to maintain my workflow. It's the
same in every terminal that I use. And I find
it a pretty awesome experience. You can customize
it. I customize it at home. I don't use the prefix
of TMAX. I use command keybinds. By using, like,
my... You do the send keys thing there? Yeah,
so I use ghosty, and ghosty has... I think a
lot of the terminals have these keybinds stuff.
So basically, it sends the text, this is my prefix
key, and then, like, to close the tab, it's X
afterwards. this is control a basically and then
it sends x to file off the the relevant tmux
command to close the tab um yeah it works great
like even like switching between tabs i have
it bound to command and then the number like
in the browser where we go through tabs okay
uh yeah there's a keybind for everything pretty
much man here that files i'm gonna be a scavenger
there because I'm pretty sure I'm going to be
able to find a lot of useful information. And
don't even doubt that the people in Discord is
going to be all over your .files. Oh, yeah, .files.
Yeah. Those guys are professional scavengers,
so they'll go in there and just copy everything
and then call it their own. Yeah, yeah, I do
that all the time, yeah. How do you do that in
Tmux? In Tmux, did you configure something special
for these keys? Yeah, so sometimes they need
to work in tandem together. So I bound G to open.
I don't use this one. I think I use GH dash.
Yeah, so command shift G is basically opening
GH dash. So I had to configure it here and then
also in... In Ghosty. In Ghosty, exactly. So
Ghosty sends the capital G, right? And then you
pick that in Tmux. Yeah. That's why you have...
Ghosty sends the prefix of Tmux, which is control
A and then capital G. And then... tmax as it
bound to capital G, to prefix capital G, then
it executes. I think I needed to do something.
Let's see. I think I did something similar a
few days ago. Here's my ghosty config. Where
is it? Oh, no. Yep. I was trying to do control
enter, but I couldn't, right? Because... Go see
sense these characters when I do ctrl enter I
couldn't pick up that any of them because I wanted
to do this. Let me show you here There's something
in emacs Is it test markdown I Wanted to create
another heading if I'm here, right? I don't want
to go to the section below because I have headings
here right inside So I just wanted to hit ctrl
enter and for it to create another heading so
i can start typing right so i had to to come
up because if i didn't do this what i usually
did is go here go all the way here and then create
the heading here and it's just too slow right
so with this um control enter thing that i did
where is it just gonna delete this um and tmux
where is it enter this one yep so control enter
since this and it works quite well i knew of
him it was pretty simple but it took me a while
to figure it out because ghosty was sending this
and um i didn't know i didn't know how to yeah
yeah it takes a while to figure out i think actually
i use kitty for figuring out like what keys uh
i think it has like kitten if you know what it
means i don't know yeah show key exactly and
then if you press uh ctrl enter i don't know
why it's not working but oh i don't have it installed
properly but if you if you run this on your machine
and then you type whatever you want it actually
shows you like the keys that you pressed, like
their codes. Oh, you can do that with cat, actually.
If you do... Let's try it and let's see. I have
it documented here somewhere. Where is it? Let's
see if it works on your side. I just want to
see. But I have it in my .files. So this is the
way that I did it. Yep. So let me just close
out of here. I don't know why it does not find
cats if I run it without bin at the beginning.
So I just had to run it. I think I have to do
it as well because I have a fish abbreviation
for cat that makes it, that changes it to bat.
That could be why. Which is like the fancy cat.
That could be why you're right. Yep. So it works
with this by running it like this, shows you
the keys. But I think... I do have that as well.
Let me see. Oh, I just... Not fixed my .chrc
file because I don't have a single file. I mean,
I have a lot of different files. But I think
I have it in... Where could it be? This is why
I like mini .files .preview because it gives
me an idea like... Oh, it could be in this file.
I wish I could scroll here, but it's not possible.
I asked H .S. Nobsky if that would be possible,
but no, it's not possible at all. Yeah. Where
did I store that? Man, I don't remember. But
it's somewhere in my .files. Yep. Yeah. Oh, yeah,
I tried running bin slash bin slash cat and then
pressing control enter, but I don't see anything.
Like if I press another key, I do see it. Oh,
this is control V. Oh, okay. So it works for
some of them. Yeah, yeah. Maybe control enter,
I think, is like a special key that terminal
emulators don't really like. I think there's
some kind of... There's a few keys that terminal
emulators don't like, yeah. Yeah, it took me
like... two hours to try to figure that out you
know i was like but i want to use because emacs
does that right so in emacs you press ctrl enter
and that is the key that creates a new heading
below i was like but i want to do it the same
way because if i ever switch to emacs i don't
want to do things differently there what are
your thoughts on emacs have you yeah i understand
that you're lying tmax maybe yeah you're eyeing
t -max to maybe switch to it someday these are
the vibes i'm getting yeah um not fully switched
to emacs you know but i think it's interesting
if you do it for your notes for example because
i like taking a lot of notes that's my my thing
i'm on the infrastructure side of things i like
taking notes not because i like notes it's because
i know myself and i will not remember stuff in
three months right so i don't wanna go through
documentation again because it takes time right
if i have it in my notes two minutes and i just
refreshed my memory and i can do it quite fast
but that's the reason why i do notes and i think
emacs it's not a bad idea for your notes and
organizing your stuff like the calendar and all
that stuff the settle casting method i could
probably use settle casting there because i had
a call with dina he uses he was a huge neobim
user that moved to yeah i watched that yeah how
did you feel No, I think, honestly, Emacs is
a better software for writing notes because internal
emulators, you don't have variable font sizes.
And I think text hierarchy really helps with
the readability of notes. And then you can always,
like, I hear the integration of NeoVim inside
Emacs is pretty good. So I can totally understand
why. If you're mainly a writer, I think it's
probably a better experience. But for coding,
I think NeoVim does the job really well. Yeah.
And I always think, like, why one? Why not the
two, right? I mean, it's double configuration.
You need to configure both of them and maintain
both of them, which is more work. It's two different
tools that you can use for two different purposes,
right? If I ever decide a code, of course I'm
going to be using UBM. But for my notes and all
that stuff, I could probably use Emacs. I don't
know. I'm just thinking about it and we'll see.
Yeah, it depends on how hard it is to maintain
the configuration because you probably know yourself
and you probably need to customize it exactly
to your liking. Yeah. That is the reason that
I haven't opened D -Max. Because I know that
once I open it, it's just not going to stop.
And it's just going to be like two, three months
of tweaking it to my liking. I don't want to
go through that. And so going back to T -Max,
then what else do you use T -Max for? So you
use it to switch between windows. You said that
you don't use panes too much. what about sessions
do you use sessions yeah i actually use uh sesh
by josh medesky was on your uh youtube channel
so i use that to if i need to navigate to some
session that isn't my last one because for my
last one i have a key binding to switch between
the last two sessions and also the last two windows
in in the same session so i usually rely heavily
on that but if i need to go something further
in the past like i i use uh command k i have
it bound to command k and yeah it's pretty uh
smooth um yeah okay and then yeah go ahead i'm
sorry uh yeah i just wanted to add that uh like
i i if i have more than two windows in the same
session i use the numbers like in the browser
uh okay yeah okay so each session that you have
is it a github repo is it yeah it's exactly yeah
it's a github repo and then i usually have like
um a window for my shell, a window for Neovim,
and then a window for my build process or gh
- or stuff like that. And then I just jam between
them. I like my stuff to be full screen, basically.
I have one monitor. It runs one application at
the front. And then I usually look at one window
because if it's too many, like if I open panes
and stuff, I find it usually is a distraction
for me. It's very hard for me to focus on one
task. I agree. Completely agree. We have a very
similar workflow, to be honest. Yep. And do you
have keys for the sessions that you use the most?
Like, let's say that you need to go to, I don't
know, th - to the project itself, and you're
working on it a lot. Do you have a key for it,
or do you use sesh? Yeah, no, I don't have keys.
I usually use sesh for that. Yeah, if I'm at
work, I usually work on one session because it's
a monorepo. If I work on gh -, I usually just
use that session. So I don't find myself switching
too many sessions. If I'm going to work on my
notes inside NeoVim and not Obsidian, then I
would have to find a solution for it because...
I would probably want to have a single keybind.
Just like I'm going between my browser and my
terminal, I want to have a keybind for my notes.
And then I might use Neovide so it has a separate
keybind. I did see your solution of using chords,
I think. And that's also a possible solution,
like a prefix and then a key. Oh, okay. Of using
what, you said? Chords? Are they called? I don't
know. Yep. Hyper sublayers, right? Hyper sublayers.
Yep, yep. So, yep. That's how I basically switch
the scenes here. That's how I basically navigate
my entire setup, right? So, nodes .files, home
directory. block post, you know, scenes, I need
to switch. So I'm already used to all of that.
Yeah, I think if you cross a certain threshold
of keybinds, then you have to go for a solution
like that. But I like the way that it's instant.
If you just press a single key and not have to
press the prefix first, like this is how I made
my TMAX thing work. I just press command T, I
don't have to press. a sublayer to open it so
I can spam it. I don't know, it's easier for
me. But people use tmux with prefix. I think
this is the most common way people use tmux.
So I guess it's just a matter of getting used
to. But if I'm going to run out of keymaps...
It's going to be an issue. I don't like the prefix.
I did try it for some time, but it's like you
have to press the prefix and then another key.
No, I just, I don't like it at all. And this
feels, yeah, you mentioned like a chord, right?
So I never just lift my fingers, right? So hyper
A, just leave them pressed and then. k for my
browser right or oh okay j for my terminal so
it feels like a single key map right it's a key
map of three keys basically right because we're
used to key maps of two keys right ctrl a or
whatever but this is well no command shift a
it's something like that you know it's similar
to any other key map of three keys right so oh
yeah i figure it's it's probably a lot better
than what i uh imagined because i imagined you
pressing the prefix lifting your fingers and
then there's this small delay that you that i
hate and no yeah no no no yeah i would hate that
i would definitely hate that but it's like any
other key map in which you press three keys right
so I'm going to switch to the guest scene right
now in OBS. So it's hyper O. I remember that,
right? O is for OBS and G is to see the guests,
right? So notice that I'm leaving pressed hyper
O right now. And then I tap G. Now this looks
awesome. Yeah, this looks awesome. I do have
like, I have command shift Y for my snippets.
So if I press command shift Y, it's three keys.
So it's probably very same experience. yes exactly
the same experience and the good thing is that
you can specify where those keys are right because
if i want to type command shift look at this
my left hand command shift a that sucks my fingers
are in a weird position but here my hyper is
here on my thumb so hyper and then i just have
my two my four fingers And I have a lot of combinations,
right? Yeah, you basically have the key maps
on separate hands and then you can easily reach
the... Yeah, and I just remember A is for applications,
right? So hyper A, this is for the terminal,
which is what I use the most. Browser and YouTube
and stuff like that, right? Or OBS or Tmux. If
I want to switch to my Tmux sessions, it's hyper
T. Right. So hybrid T this or this or this. Right.
So that's how I use. So, yeah, I use I use option
as my like prefix for applications. So my terminal
is actually option I because I started up in
I term and it stayed that way. Yeah. But the
problem is that then you run out of keys. Right.
Yeah. Yeah. Yeah. It'll get to a point in which
you're like, I cannot introduce new key maps
or I have to get really creative because I basically
used all of them already. With sublayers, man,
you have no... I don't think anyone actually
uses all the sublayers. No, you have a lot of
options. No, I think your setup is like the next
level that I'm going to reach at some point.
Use it and let me know. Everyone tells me it's
over -engineered, but the first days, it's complicated
because you're not used to it. But once you get
used to it, man, you can do everything. Maybe
the next app that I'm going to install and need
to use, maybe I'll put it in a sublayer and then
see if I can easily launch just that app and
then gradually move over. Yeah, that's a good
idea. Look at this one. I even have this hyper...
S for system and T for tasks. I just needed to
come up with something, right? And it shows me
like a list of scripts that I can run. Like these
scripts, I need to run them from time to time
like this. You buy one, I need to run it every
time you buy updates, right? I could do it automatically,
but I just do it on my own. Or if I need to switch
this in OBS. So, man, it's... i don't know i
think you actually saved like a couple hundred
dollars because you don't need to buy like the
elgato streaming device you just have that is
all your key maps in your keyboard yeah that
is correct i don't need to buy any additional
device you can manage obs with my keyboard pretty
you know a pretty simple way and i have a video
about it too i just I explained all of that in
a video. If someone is interested in doing it,
they're just going to go in and check that there.
So let's talk about the OS. Notice that you're
using macOS. Yeah. Want to share on that? Why
macOS and why not Linux? I think it's the classic
story. I started out on Windows because I wanted
to game, and then my first job gave me a Mac.
And it can do everything basically in terms of
being a Unix system. So it has a normal shell.
So for a developer like me, it works perfectly.
Yeah, regarding Linux, I think that I would want
to try Linux someday because... you can customize
it even further and even something like Nix works
better on Linux. And it's also my values about
supporting Linux and this cool company called
Framework that develops laptops that are easy
to upgrade and it fits my whole repairability
and stuff like that. fits my values so i think
i'm gonna try it one day but i think the downside
of switching to something like that is that the
performance of mac is is really good so if my
job uh brings me uh you know five thousand dollars
laptop i'm not gonna say uh no yeah yeah that's
how i got started with mac os as well my previous
job you know hey it you need to use a mac so
i was like okay i'll give it a try they were
intel based max back then yeah they got hot they
were not yeah they were not good right but oh
yeah the fan went crazy now yes really quiet
um yeah it's a really good machine yeah the hardware
is is wonderful and what are your thoughts on
windows I do like what they've done in the last
couple of years with the WSL, but the fact that
it's not natively Unix -based basically leaves
it to niches like word processing and video editing
or gaming. And for developers, it's really not
very well suited. I always wonder what, how the
world would be if Microsoft would still have
the Unix variant that they had at the beginning,
right? Because they had this ZNX operating system
and it was Unix based, but then they decided
to go with their DOS thing and it just went downhill
from there. I don't know. It's like a tech debt,
I guess. It's like the Americans use the imperial
system, right? I think it's called. And not the
metric system. And it causes a lot of confusion
around the world. And I think even a rocket once,
like one of the Apollo missions, I think, crashed
because of an error converting between the units.
And I think... I see Windows in the same way.
Like, if it had been Unix, it'd probably make
a lot of stuff easier. Then, yeah, I guess the
alternative future would have been better. Yeah.
Do they regret it? Because now they're bringing
Unix to Windows with WSL, right? And every developer
that I know that uses Windows... If it's not
developing for Windows, of course, because if
you are, you're going to use Windows and all
its apps and all that stuff. But most of the
people that I talk to is like, yeah, I use Windows,
but with WSL. So you're basically not using Windows.
You're using Linux there, right? So I don't know
how Microsoft feels about that decision. Do they
feel like, man, we should have stuck to Unix?
It's too late. It's too late. Yeah. yeah definitely
okay and um we already talked about operating
systems window manager what do you use on mac
os oh yeah i use aerospace which is like i used
to use uh your buy and then there was another
one i don't remember his name but yeah i use
aerospace but i use it in a very basic way because
all my applications are full screen all the time
so when i switch between them aerospace takes
care of them being open. Even if I quit out of
Arc and then open it, it's going to open full
screen. And that's how I like using my... But
if I work on, let's say, my website or something
like that, and I want to open up DevTools, then
I might use... Split. Yeah, split. Exactly. How
do you do that? How do you manage it? Okay, I
have a few questions here. Because I use Yabai
in stack mode and basically the same way that
you use it. Because I also believe that having
more than one application on the screen is just
going to distract you. That's why I don't use
Tmux panes a lot or NeoVim splits or Windows
or however they're called. i'm always focused
on one right i cannot pay attention to two at
the same time how do you do you open another
workspace in which you have a different config
and you can have two apps or how does that work
with aerospace uh yes so in aerospace you you
define uh workspace i think they're called um
Yeah, so I have, like, basically, I have this
bit of code that when Ghosty opens, it moves
it to the I workspace. And then that makes sure
that Ghosty is always there. And if I press option
I, it basically just moves to that workspace.
And yeah, this option I basically... opens up
ghosty and moves it and then the the bit of code
there moves it to the i workspace so when i switch
to it when i switch to it it basically goes to
the workspace that the application is open on
and since i always open it on on the i workspace
it goes to you can see it here it goes to the
i workspace okay so you have one application
for a workspace and right Yeah, yeah, exactly.
Yeah, I also like having a nice background, so
I like to have the terminal be the only application
in this workspace. But if I go to my calendar,
it usually has a bunch of applications stacked,
but I don't really use that feature. I usually
just go full screen. Okay, okay, I see. On each
workspace, you have a different config, and in
some workspaces, sometimes you open more than
one application at a time. Yeah, yeah, basically,
yeah. Oh, but you have to decide on which workspace
each application is going to live. Isn't that
a little bit more overhead? Like, why not use
your buy -in stack mode, for example, right?
Because you don't have to think about where...
Each application lives. I just keep all of them
in the same desktop. If I show you the apps that
I have open here, if I bring up the macOS thingy,
I hope I don't have anything that I shouldn't
show there. No, I don't, it seems. But all of
them are in the same desktop, right? So I don't
move them to different desktops. I just switch
between apps, basically, right? So why? Why do
you use aerospace in that mode? So it's basically
two reasons. I have my terminal. I like to show
the background of my desktop. So this is one
stupid reason. And the other one is basically
when I'm in my browser and open up the developer
tools, and then I like it to be side by side
because you usually need to inspect. And if I
had more applications opened in this workspace,
it would show them, right? But if only my browser
is in this workspace, I can easily go between
full screen and tiled mode and easily switch
between it. Makes sense. Yeah, it's not the most
perfect solution because it leaves the browser
pretty small and also the devtools are pretty
small. They both need a lot of screen. Like if
you go to the network tab and things start to
get a little bit crammed, you know. It's not
the perfect solution, but yeah. I'm still looking
for one if you know. Yeah. Yeah, I debate that
a lot. i don't know like for example right if
i how would i do that let's see um so you just
take this small window out of here into its own
how do i do that here i have no idea like maybe
here so i use this in mac os a lot and i know
it's not the best uh way why is my camera looking
like this this one the keyboard one it's not
following my hands it's unfocused should i know
this but i have a dedicated key like which is
command tilde right but in my keyboard i have
this key that i don't use for anything basically
so i switch between that like the two instances
of the same app I don't do web depth, so I'm
not sure how comfortable someone would be like
going here and scrolling and then coming here.
Or if you need to have them side by side. Yeah,
you need to have them side by side because you
usually inspect an element and then you click
that little arrow in the top left corner and
then you choose the element you want to inspect
and you usually change some CSS stuff and want
to see it immediately reflect. And Chrome DevTools
have some kind of hotkeys, like they have command
shift P, which I use a lot to open up this command
palette. And then I could usually type network
and go to network, but it's not, I wish there
was a two for it. Then you would know the key
binds will be super comfortable. But yeah, I
usually do tab tab and stuff like that and get
to where I want, but it's not perfect. I still
need to use my mouse to, you know, pick whatever
I want to inspect. Stuff like that. Okay, makes
sense. Yeah, I think the solution that I'm going
to have to end up with is have two modes, basically,
right? So, Yabai, I will probably have to run
a script. Use Yabai in stack mode, but if I need
to do that side -by -side thing... run another
script that configures configures your buy in
a different mode move stuff around i don't know
i'll i'll have to think about it when it'll put
a couple of hours into it yeah yeah yeah a couple
of hours yeah okay why did you move away from
your buy um i think you needed to disable system
integrity or something to have to have the moving
between applications be instant because it uses
spaces under the hood, like macOS spaces. And
then it had that small delay. And I've watched
Linux videos where people just switch instantly
between applications. And I wanted that to be
instant. And the way that aerospace works, it
basically just puts your applications at the
bottom right corner. You can barely see them
if you have more than one. But then it uses one
workspace, one macOS space, and switching is
instant. So, yeah, it's the little things. Yeah.
I guess, yeah, but it works for me because I
don't use macOS desktops. I keep everything in
the same space. If I would have them in different
desktops, I think probably would not work out
quite well. Yeah. But yeah, I want to try aerospace.
I want to install it. I want to do it live. Why
so serious? He's a Discord user. He has to guide
me through the process. We're going to do it
live. I don't know when next week or someday
if you want to join would be great. So you can
just share. tips there as well and uh single
monitor is there a reason for that uh yeah i
think i have like uh something called hyper focus
where i can i really if i focus on something
i'm really focused into it and uh if if there's
some noise from the outside i get totally thrown
out of my focus um So that's the way I feel about
multiple monitors. Basically, whenever I tried
using two monitors, I've never looked at the
other monitor or I find myself looking at the
other monitor for 30 minutes with my neck bent
like that and it would start hurting. Yeah, so
basically I can only focus on one thing at a
time. Otherwise, it's not working for me. Yeah.
And when you use the laptop by itself, I guess
you want to keep the same workflow, right? Desk
or laptop and be as efficient just in the laptop,
right? Yeah, that's something that I need to
work on still. But I do use the Mac keyboard
without any modifications. I can easily go between
my Moonlander and my laptop. So if I go to a
coffee shop and work from there, I just use my
laptops. keyboard but if it's a longer session
and i know that that i will get neck pain or
hand pain then i would use my uh full -blown
setup here that's one of the reasons why i don't
use layers in my keyboard um because i could
have a layer for the numbers right but I usually
just unplug the computer and take it somewhere
else and work there. And I want to have the same
workflow, the exact same. I want to be as efficient,
you know, as on my desk, as on the laptop by
itself. So I use the numbers, you know, the traditional
way. I use them in the laptop the same way. So
I don't know. I'm kind of against layers in the
keyboard because of that reason. But I don't
know. yeah i get i get that i i think it's not
that hard to have uh to be accustomed to both
uh at the same time like i yeah i'm used to just
pressing command one if i'm on my laptop then
i'm gonna press it one way if i'm on my woundlander
it just comes naturally um i don't know why it
comes naturally but it works for me yeah yes
so you got used to the two already Yeah, I think
there are programs like Vial, I think one is
called, that allows you to modify any keyboard,
like even your built -in Mac keyboard. And then
you can have a Vial configuration on top of your
Moonlander configuration. So it would work the
same. I might check it out. Yeah, that's what
I want to do. If I create layers, I create them
in software, in Karabiner. I have them both in
the Club 80 and the Mac keyboard. I can use hyper
sub layers in the Mac keyboard. So the workflow
is the same, right? So if I type hyper A something
on the Mac keyboard, it works. Because I do it
in software. I don't do it in the hardware itself.
And how do you feel when people send hello messages
with the focus thing that you mentioned? Have
you ever received messages that are just... hello
in slack or any other tool and nothing else how
does that make what do you mean what oh like
oh someone reaches out yeah and they just type
hello and that's it and you know i i do that
sometimes too so i can't do it i can't blame
other people if i usually do it i do it i do
it like and because i'm typing a lot of messages
and press enter enter to send a bunch of stuff
i don't i hate slacks like it's not vim so you
can't go up a line and down a line and bold and
select and then you need to press shift and all
those arrows uh so it's an item so i usually
just spam messages yeah yeah because i don't
know i guess it's a cultural thing right there's
people that just send you a message hello trying
to be nice but personally to me that's like yeah
okay you got my attention now and uh now why
did you send me the message like just hello standalone
is not it's not okay just hello yeah nothing
else and yeah 10 minutes 30 minutes after nothing
else and it's like it just slows down like the
the thing between you and the person yeah yeah
okay it's um we've been here for almost two hours
i'm gonna let you go everybody Is there? Yeah,
time flies by. Pretty nice conversation, by the
way. Do you want to talk about any of these that
I have listed here? Do you want to talk terminal,
keyboard? Yeah, AI. I guess I can talk about
AI because I'm on the I'm on the hater side.
Yeah. Everyone. I guess I can bring my hot take.
Yeah, go on. Share us what you think of AI. Basically,
I think it's a really big bubble because I think
it has its use cases, but the tech community,
like every other major technology, tries to jump
on the bandwagon and integrate it even in use
cases that aren't really suited for AI. And I
personally don't really use AI. I did try Copilot.
I used it for a full year because GitHub gives
maintainers for free. If you have above a certain
amount of styles, they give you a subscription
for free, so I used it. And I found that it introduced
bugs that it was really hard for me to find because
it's not code I wrote. In a high -level glance,
it looked okay. But then I'm like, God damn it,
Copilot, why didn't I see it? It took me two
hours to debug. And also, I think it robs you
from learning. You basically are less engaged
with your code and you're less engaged. You just
basically, I think it lets you pump out a lot
of code pretty fast, but you do it without actually
gaining something from it. Or I think I see coding
more like a craft. So I guess, yeah, it's my
personal opinion, but yeah. And do you use AI
or not at all? No, no, I'm pretty harsh about
AI. Ask my friends and family. My wife says I'm
radicalizing her against AI and people at work
will laugh at her, stuff like that. Because she
sometimes blurts out my opinions about AI and
everyone around her are using AI pretty extensively.
uh so it's kind of uh being a non -conformist
to say something uh bad about ai but i'm still
i'm sticking to it yeah oh okay okay and um do
you think there are use cases when do you think
um ai could be used by by someone or never people
should never use ai is that your take like no
one should use ai ever No, I don't think I can
say that. I'm not someone who says something
so black and white. I myself don't see a use
case for me, but I guess people use the computer
differently. But yeah, I personally won't use
it for anything. Maybe, I guess it excels at
side projects and hobby stuff that you just need
to pump up. pump out a bunch of code and build
out an mvp i guess it's really good at that um
but anything remotely serious is is not or prototyping
stuff right yeah exactly to come up with something
quick that you need to show off but you don't
really care about right um yep and the thing
is that you cannot trust everything that it says
right because it's just gonna come up with really
dumb ideas and it's just gonna think it's right
and it's just it's it's hard i guess even people
use it without really understanding how it works
so like a colleague of mine uh searched for uh
an issue she had like the containers logs showed
an error or something like that and she asked
ChatGPT about it, and then she didn't find anything.
And I looked at Google and found an issue, a
GitHub issue, that a human wrote, and that was
published a couple of months ago. So it's stuff
you aren't going to find on these algorithms,
because they're not trained on data that was
so recently written. And also, there's something
about having it written by a human. Gives you
a lot more trust in what it wrote. It's not predicting
the next world. It's actually understand the
issue and had the same issue and frustration
that you had. And he opened an issue about it.
And went through the whole process and completely
understands. And yeah, you identify with that.
You understand the solution. I have found a lot
of issues that way as well. Because at the beginning,
I used to ask ChatGPT, right? And a few times
it just made stuff up. And it made me look like
a fool. Like the... What is this movie called?
Nacho Libre. It's... Let me show it to you. Hold
on. Where's my screen? Nacho Libre? Is that like
an international movie? Yep, yep. It's with Jack
Black. Where is it? Okay. I don't know if you've
seen it or not. Oh, no. I'm going to watch it.
It's funny. It's really funny. Yeah, it looks
good. But, yeah, it didn't make me look like
a fool. But, you know, suggest stuff that if
you don't know what you're doing, you could suggest
to someone else, and it's just nonsense. So I
don't trust it anymore. If I need to search for
something, I don't use ChatGPT. I just go to
Google because I usually find the answer in a
GitHub issue. Or Stack Overflow? I don't know
what's going to happen with Stack Overflow. Oh
yeah, GitHub issues are so underrated. I usually
go straight to GitHub and then search for free
text and then go to the Issues tab. And I usually
find a solution there. And I find that ChatGPT
and stuff like that are good when you know what
you're talking about so you can verify what the
LLM is saying. If it's something that you don't
understand at all, I think it's... You can't
verify what it's saying, so you probably just
accept stuff that are wrong. Yep, yep. And one
question, in GH - can you search for GitHub repos
and all that stuff? No, you can't search for
repos, but you can just search for issues, like
if you just search for... Yep. If you just search
for Docker error or something like that, it's
going to search through all the repos, but you
can always add like Docker, Docker, I think it's
the repo or something like that. No, but you
can always write up the repo that you're looking
for and search for that. So the horrible experience
that you get when you go to GitHub and try to
search for something. if i don't want to go to
the browser i could search for stuff in here
let's say that i want to just search in forks
right so i i could as long as i know the query
i can paste it in here and uh it's gonna find
it can you save your queries or something yeah
so these uh uh sections are saved queries uh
but you can there's like a special tab here uh
the search tab that keeps your last search. You
can use it to search, and then it won't affect
your other tabs, your other search queries. And
you can always, if you use this query a lot,
you can always put it in your json -config file,
and it would be saved. So you can add in your
config file, your JSON file. Yeah, exactly. Because
I don't remember, like, to search only in Forex
is a specific, you know, parameters that you
need to pass. I don't remember those all the
time. And it's like, man, I hate this because
I have to go and search in the documentation.
So if I could save those in my config file, that
would be awesome. How do you save them? Yeah,
exactly. So you basically, for PR, you define
PR sections and then for each section you define
a filter. This is my filter because I have one
ER for VS Code that Microsoft never reviewed.
So it's just open there forever. So I filter
it out. But yeah, if I want to look at repos
that are interesting to me, I don't want to type
them over and over again. I just save them here
and then I can take a look. yeah interesting
okay wonderful okay thanks for sharing that and
um last question and i'll let you go home lab
because you like tweaking a lot it seems have
you played with home labs or are you planning
to yeah i really want to get into it because
of all the subscriptions which got crazy So in
order to watch like some of the more popular
shows, you need to have like Apple and Disney
Plus and Amazon. You need to have you need to
pay for like it's become really aggressive. You
need to pay a ton of money just to watch your
favorite shows. If it's one show from Apple,
you need to do a subscription to Apple. Yeah.
And it's it's yeah, it's really a money grab.
So. If I were to start a homelab, it's going
to be mainly for watching stuff. I know a lot
of people do crazy things with homelabs, but
I haven't really dug into it. There are probably
a lot of great use cases for it. Yeah. Yeah.
Okay. Interesting. All right. So, Dolev, really
appreciate your time. It's been two hours. Thanks
for sharing. all of the stuff you're set up loved
it was wonderful anything you want to share before
we wrap it up uh no yeah i really enjoyed the
conversation as well um i'm gonna steal some
of your stuff as well now that you've explained
how those layers work uh looks awesome and yeah
it was a great time yep and if you ever have
questions just let me know on discord and we
can go live or something and i can just show
you stuff around or we don't even have to go
live you know we can just have a session and
uh so yeah the discord community is awesome so
yeah okay thanks for your time see you cool man
bye bye