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, Elijah.
How's it going, Elijah? It's going all right,
you know, it's a beautiful day here in Colorado.
And I'm just like really excited to write some
code, I guess, today and talk about it. Wonderful.
Wonderful. So for people that don't know who
Elijah is, he is the creator. Is that correct?
Creator Elijah of Harper? Sure. Yeah. I like
the word author because it implies a certain
amount of, I don't know, literature. Okay. Mindset.
Okay, okay. But yes. Okay, author of Harper.
So if you don't know what Harper is, it's an
alternative for Grammarly. It's open source.
Would you like to give us a quick demo before
we get to know you a little bit better? Yeah,
so Harper is a grammar checker, and it was designed
from the ground up to be fast and private. So
that means unlike Grammarly or LanguageTool,
I'm painting in broad strokes here, but unlike
Grammarly and Language Tool, Harper doesn't send
your data anywhere. It stays on your device no
matter what, wherever you're using it. So in
my case, my most frequent use of Harper happens
inside of my text editor when I'm writing code.
So here we have the Harper readme. Harper can
detect a variety of different grammatical errors.
So it can do agreement errors, spelling mistakes.
It can identify if you're using the wrong kind
of contraction, that kind of thing. Harper, like
I said, it's designed to be very fast. It's designed
to get out of your way. So I find that a lot
of people who are using Grammarly, their biggest
complaint is that they are spending a lot of
time just waiting for Grammarly to do its thing.
And the goal for Harper is you should be able
to fix the grammatical errors in your work while
you're doing it so that you don't have to context
switch. You can just stay in the writing flow
and you're not getting distracted with a variety
of different things. So everything remains local,
right? Harper doesn't have to reach out anywhere.
Everything like the dictionaries that I use,
I don't know how it works, but the dictionaries
that it uses, downloads them locally and it uses
that. It doesn't have to contact. I mean, I'm
happy to get into the technical details, but
yes, it is always local no matter what. So like
even on our website, we have like a little demo
here that like showcases how it can insert Oxford
commas, that kind of thing. and improve the idiomatic
nature of your writing. All of this is happening
in your browser on your device. So anything you
type into this text box stays on your device.
It's not going into any server, it's not being
used to train any large language models, and
it's not being sold to anybody. Because it can't.
It's not going anywhere, right? And that one...
Makes it even faster because you don't have to
do a network request to do anything Network requests
are I think on average like 80 milliseconds For
language language tool if it's not running on
your device And that just makes it yeah Yeah,
I noticed that it's quite snappy quite fast I
was looking for a tool because I have always
used the new of him the the spell thingy that
comes with vim or neovim right and it's good
highlights the words when they are not part of
the dictionary but it's not it's not enough right
i needed something like grammarly in neovim because
i write a lot of text and i was looking for something
and i don't know i think i searched in reddit
i don't know how i found out about harper because
i was ready to try this language tool thing or
other plugins neovim plugins and i don't know
just found harper somehow gave it a try and i
love it what's one of my it's not a plug -in
i know it's what what is it is it a language
server for people that use neovim right yep yes
it's a language server um although i don't know
i feel like the line between plug -in and language
server is a little fuzzy in neovim just because
they're very tightly integrated um but yeah okay
wonderful is there anything you want to talk
about harper anything else you want to talk about
it I would say right now, in addition to it just
being like we're trying to make it available
everywhere we can. The other big thing about
Harper for developers, the real reason why we
say it's the grammar checker for developers is
because we've designed Harper to be very easy
to integrate into your application. So if you
have a web app and you want to add grammar checking
to your web app, Um, it's as simple as NPM install.
Um, it really is that simple. Um, obviously you
have to create some UI, um, but that's going
to be easier by the day. Um, and it, it, it,
it's easy, you know? Um, and we're under an Apache
two license, completely open source. Um, so it's
not like you don't have to worry about your business
or whatever. Um, but yeah, I don't think there's
anything else I want to mention. Maybe just like
beyond NeoVim. So NeoVim was the original editor
we supported, but we've since expanded to VS
Code, VS Code happens through a language server,
so does NeoVim, Elix. But we also have Obsidian,
and we have a WordPress plugin available as well.
How does that WordPress plugin work? I've always
been curious. So is it a plugin that you install
when you're inside WordPress? Uh, yeah. So the
plugin works. I mean, if you're, if you're a
person that runs a WordPress site or a blog and
you want to add grammar checking, um, to like,
so it just helps you write better in WordPress,
basically the same thing that, that, that it
does in Neobim. Right. Right. Yep. Exactly. Yep.
Okay. Um, and then in addition to these, we also
have a Chrome extension on the way. Um, I disabled
it before we got onto the call. So you're not
going to get to see it, but it's, it's in the
works. I'm really excited about it because there's
like basically two things that people ask me
about most often when it comes to Harper is,
does it support other dialects of English? It
does. That's one of my questions. Yeah. It supports
all four major dialects of English as of, I don't
remember the exact date, but a few weeks ago.
And soon it will also have a Chrome extension,
so you can use it pretty much anywhere you write
in the browser. Okay, interesting. In addition
to all these places. So is it only English for
now? Does it support other languages? So, yes.
So right now it is only English. That is an intentional
decision by us. We want to make the English experience
truly amazing before we move on to anything else.
Harper's Harper's internals will work for pretty
much any European language. There's pretty much
no chance of it working for like Chinese, for
example, just because we leverage the. Like English
just does not have very many characters or most
European languages only work with a pretty small
set of characters, but Chinese and Japanese,
they all. have huge character sets and it just
doesn't work with the framework that we've built
out. Okay. And are there any plans for something
like Spanish, for example? To directly answer
your question? No, we don't, we don't have plans
to expand BL into English because we don't, we
see English as being a very complicated piece
to tackle. And we, like I said, we want to make
it truly amazing. Part of the, Part of the weakness
of other open source grammar checkers like LanguageTool
is that, well, LanguageTool is great, let's be
clear. It's a really amazing tool. You should
use it if it fits your use case. They've spent
a lot of time making their support for languages
other than English very good. But that's been
at the sacrifice of the English support itself.
So LanguageTool's English support could be better.
They just haven't invested the time into it because
they've been spending their time on other languages,
which is fine, which is great. And that's, that
is the use case. And if that is, if that is important
to you, you should absolutely use language tool.
Right now we're focusing on English, making the
English support really, really good before we
go on to anything else. Okay. So no plans short
term to support other languages. Okay. Wonderful.
Yeah. Too, too, too much stuff. I think would
need to happen for you to support other languages.
Okay. But thanks for letting us know about that.
And that said, if you are interested in adding
support to another language or for another language
to Harper, we're open source and we welcome contributions.
So I would love to see someone open a PR about
this. Okay. Yeah. It's just that I personally
don't have time to do English and something else.
Right. Yeah. Makes sense. Okay, but you're open
to it. Okay, wonderful. Something that I noticed
when I was playing around with Harper is the
GitHub account that it lives in. And I noticed
that it's in the automatic account. I thought
it was going to be in your account, but it's
in automatic. Can you share something about this
or, I don't know, anything you want to let us
know about that? Yeah. Um, so Harper was originally
a project that I worked on in my free time. Um,
whenever I had a moment to spare, I would work
on it. Um, because I saw it as kind of like a,
a productivity multiplier for everything else
I did. Um, because at least for me, writing is
a really important part of my development workflow.
Um, so if I can write better, write well, um,
that sped up everything else, my professional
academic life. Um, so I would work on Harper
in my free time. Um, and in December, uh, automatic
reached out to me or before December. Um, but
it was finalized in December automatically reached
out to me and they, um, they offered to, um,
basically hire me to work full time on Harper
and all of its like related, um, peripheral components.
Um, and part of that was just like, this is now
an automatic thing. They're sponsoring it. So
it makes sense for it to be under the automatic
org. Okay. Yeah. That said, it's still under
Apache 2. Automatic is amazing. They're probably
the single largest company in terms of open source
commitment. We really do believe that open source
is one of the most powerful ideas of our generation.
And so Harper is going to... There are no plans
to... Make a closed source or anything like that.
It is it is an open source project. It just happens
to the end of the automatic work Okay, so it
was acquired basically. I think you shared this
article with me. I'm just gonna open it here
on my Browser, I'm just sharing my screen right
now. Let me just fix this a little bit because
I have the lights over my my face There we go,
okay so um i can share this with um with everyone
watching this right this article it explains
what happened and uh and all that stuff so if
if someone wants to know more a little bit about
this i'm gonna leave this in the video description
so you can go and read there right And are you
working on Harper by yourself now or is there
a team working on it? So Harper. Harper is interesting
in terms of just like full time commitment. I'm
probably the only one. But I'm definitely not
the only person like contributing. We have like.
So many people have open PRs and tweaks and little
fixes to harbor. There are a couple people, you
can look at the GitHub repo, that are doing just
truly amazing work, contributing when they can.
So I would not say I'm the only one with commit
access, I suppose, is the real technical. But
I'm definitely not the only one working on the
project. Okay. So let's say that I find, I remember
that I detected that it was not identifying when
I had a duplicate word, right? So what should
I do in that case? Should I just create an issue
in the GitHub repo? I would say, oh, sorry, go
ahead. No, no, no, you go ahead. Like as a user,
if there's someone in Neobim using Harper, they
just go to the repo, create an issue, or? When
they detect something? Yes. If you encounter
a problem with Harper, the single best thing
that you can do is open an issue and just give
us an example text or just a snippet that replicates
that problem. You don't have to give us too many
details about what platform. I mean, it'd be
nice if you gave us details about what platform
you're on and that kind of thing, what version
of Harper. But if you're busy and you don't have
a lot of time, But you find an issue in Harper,
just take a screenshot or just copy and paste
the problematic text. And we'll try and get Harper
to not have that issue anymore. So even if that
could be a false positive or a false negative,
either way, we want to hear about it. That makes
everything easier. Right. Yes. Language in general
is a very complicated beast. we can kind of find
these edge cases is through people. I mean, we
have a couple other methods that I would love
to talk about. And we can. Yeah, whatever you
want to share is fine. Well, I don't want to
get too off track. But yeah, to just answer your
question. Just open an issue. If you would like
to try and get into the code, we have amazing
documentation and you should absolutely try.
It would be a really great learning experience.
I've talked to a lot of people who have opened
PRs on Harper and been like, wow, this is so
cool. Being able to contribute to an actual open
source project. I didn't realize it was this
easy. So I would love PRs. We welcome them. But
if you only have time for an issue, that's more
than enough. Okay. And is there questions that
you get asked all the time that we can cover
in here, right? Because there's a few of, do
you have any common stuff that you want to share
here for everyone that's going to go into the
repo and ask for something that you know that
you have asked or answered a lot of times? Is
there something you want to share here? I mean,
we've already covered two of them. The two most
frequent things people ask me about Harper are,
English. Like language support, right? English.
What dialects of English? The answer is all of
them now. And then Chrome extension, which we're
working on. We have a PR open for it. Hopefully
it'll get merged the next week or so. Okay. Oh,
there it is. Okay. Wonderful. Yeah. And this
extension is intended to work? Similar to Grammarly,
for example, right? Right, right. I've been postponing
the creation of a Chrome extension and a desktop
app because those kind of fall in the same category
where the general idea is you start with something
basic and it kind of covers every case and then
you have to slowly refine it over time. I've
been kind of postponing that until we've reached
like a critical point of actual utility. Like
Harper's really great for taking quick notes,
that kind of thing. But it hasn't been until
we added the dialect support where it's really
become like a truly formidable grammar checker
for a wide variety of use cases. And you mentioned
an application. Are there plans to create a desktop
app or something? So we're going to start with,
like I said, the problem with a Chrome extension
or a desktop app is there's a lot of edge cases
that we would have to handle. The most common
complaint about Grammarly that I've received
is the fact that if you open Grammarly in Obsidian,
for example, you're not going to get great support
because Grammarly isn't aware of code blocks
or headings or anything like like it's not understanding
the rich text or the context that your work is
lying in right it's just taking the contents
of obsidian or whatever app and treating it as
plain text and that leads to a lot of like erroneous
false positives that just doesn't make for a
very good experience um so we're going to start
with the chrome extension I'm just wondering,
what would be the purpose of a dedicated desktop
app? I don't see the well, I know for sure that
I wouldn't use it, but who would use it? That's
that's that's my question, basically. Like, what's
the use case of a desktop app? I see. The main
use case is just like like I've had people be
like, I need Harper in Discord or I need Harper
in Slack. And we can't make extensions for Discord
or Slack because they don't have. like the capability
for that. So the only other option is to create
a desktop app that uses your device or your operating
system's accessibility APIs. This is what Grammarly
does. It looks at the accessibility APIs and
uses that to do grammar checking for Discord
and Slack or Microsoft Teams or whatever. Okay.
Makes sense. So there's plans for that as well.
The Chrome extension first and then the app?
In the long future, maybe? I could see an app
happening, yes. I'm hesitant to make guarantees
on this just because I approach development in
kind of a discovery fashion. So we need to see
if, like, I don't know if people actually use
a Chrome extension. People ask about it a lot,
but that doesn't mean people actually would find
that valuable, right? Yeah. If they will switch
from Grammarly to Harper, right? Like, yeah.
That's a good point. Okay. Thanks for sharing.
Yep. Yeah. We already covered that it works in
multiple, not only IDEs, but also applications
like Obsidian, even in WordPress and a lot of
different stuff, even Emacs. What is Emacs? Emacs
is not an ID. What is it? Is it like an operating
system or something? So I have a friend that
uses Emacs. I don't know if he has installed
Harper, right? But it's not too complicated to
get it running in Emacs. Have you tried it in
Emacs or no? I have not tried it in Emacs. I
know there are people who have used it in Emacs
and I've asked them for like concise documentation
about it. From what I understand, Emacs is like...
such a build your own system that it's hard to
like, it's just a language server, but there's
not, it's not like in them LSP config where there's
like a centralized repositories of language server
configurations. You have to, you have to do it
yourself a little bit more. So I, I'm not sure
what the experience looks like there. Okay. Okay.
So we started, we started at the, at the end,
we didn't. Is there anything you want to share
about you? I think we already know you a little
bit based on everything that you have shared.
Is there anything you want to share about you?
Do you have a blog post, a YouTube channel newsletter?
Yeah. So I don't have a newsletter. I don't have
a YouTube channel. I do have, I don't want to
call it a blog, but it is, it is totally a blog.
Elijah potter .dev. That's where you can find
me. I have links to everything that you might
find relevant about me, Harper. I also kind of
semi -frequently write on here, although I would
say that it's not really for the purpose of informing
a broad audience. This is usually like, for example,
the general policy in Harper is you should just
open a PR as soon as you have something. Um,
just leave it as a draft if you're not ready
yet. Um, but I really like the idea of, of people
just opening a PR when they have something so
that we can see like who's working on what. And
so like this kind of thing that doesn't really
fit into the documentation, but it's like kind
of that general idea, something that I can link
to. Um, that's what goes on here. So, okay. And
is everything related to Harper or anything related
to you personally? Like if you switched when
you. editor or or something you're gonna post
it there it's just harper related stuff in your
blog post uh i would definitely say i mean there
is a lot of harper related stuff like this is
definitely harper related harper related sort
of harper related okay uh harper related but
it's definitely not all harper um like this is
definitely not harper related okay You should
read this, by the way. It's a very good book.
Okay. Interesting. Okay. Yeah. Okay. So I will
not be. Oh, no, go ahead. I will not be posting
about switching to a new editor because why would
I? It's just so good. We're going to touch on
that in a little while. I am curious, you know,
why are you using U of M? Okay. And. You want
to talk a little bit about the experience of
being an open source maintainer? How does it
feel? Is it a lot of work? How does it go with
issues, discussions? Is it a lot of burden of
maintaining open source? And how long have you
been doing it? Let's see. I would definitely
not call it a burden. I know that's a word that
people use a lot when it comes to open source
maintenance because, and this is true for some
projects where it is like, like it's critical
infrastructure and it's something that you need
to do or maintenance is something that you need
to do to make things continue working and that
there are people relying on you to build something
or keep something. running, keep something free
of bugs and security problems. I wouldn't use
burden to describe maintenance of Harper for
two reasons. One, we don't really have any security
concerns. Harper is essentially just like we're
not doing network in the vast majority of cases.
We're not doing remote code execution. of any
kind. It's really very self -contained. And the
only... I won't say the only, just because there's
always surprises, in which case we would be there
to handle them. But the vast majority of potential
security problems with Harper come from the consumers
of our libraries. So if you're... if you're consuming
harper and like maybe you're not loading the
right web assembly binary or something like that
um that's not that's not us that's not the harper
team that is something that you need to consider
you need to look at um but but yeah so i wouldn't
say it's a burden it's a lot of fun actually
um because it's been a good experience yeah okay
yeah I caught you there. I'm sorry. Continue.
No, it's it's a good it's a good experience.
It's a lot of fun because we just I get to hear
about people using Harper and all sorts of like
interesting scenarios. Like I think someone's
using them on like YouTube transcripts, that
kind of thing. Weird edge cases. And I don't
know, it's just it's very rewarding. rewarding
experience to come across, come across someone
in like real life. This happened multiple times.
And they're like, yeah, so I was using Harper
the other day and they don't realize that I'm
the guy that made it. And that's partly because
I live near a college campus and we have a lot
of college students that use NeoVim for notes
and stuff. Okay. Okay. Yeah. Okay. Wonderful.
Okay. And let's see, what else do we have here?
Just to get, you know, a little bit more. Let's
see. We've been here for 30 minutes. I think
we won't have enough time to go through all of
the questions that I have here. Right. So I want
to share two of your favorite music bands, if
you have any, just to get, you know. I'm a big
fan of Watch House. They're like a folk kind
of music. They just feel very raw. And then also,
I don't know, who doesn't like Taylor Swift?
Let's be honest. Let's be honest. If you don't
like Taylor Swift, you might not have a soul.
I think I don't have one then. You know what?
Teach their own. Teach their own. Tay -Tay is
not for everybody. Yeah, well, I think I have
her. Her? I don't even know, to be honest. Of
course that I have her, her, but I'm like, oh,
that's Taylor Swift. You know, I have no idea.
Yeah. It may be placed in the background, but
yeah. Yeah. Well, I do. I do spend a lot of time
around like children and they are obsessed. Oh,
into that. OK. Yeah. OK. Definitely. All right.
All right. So watch House and Taylor Swift. You
would say that are the ones. And. You have any
favorite movies? Baby Driver. Baby Driver. What
is that? It's like this. Is it a movie? Yeah.
It's like this awesome action action movie. It's
got a great story. Great music. Just the whole
thing scored so well. It's just, I don't know.
It's just a really good movie. It's hard to put
into words. This is one of my favorite actors.
What's this guy's name? This is Ray Charles,
right? The guy that did Ray Charles. You watched
Ray Charles by any chance? No, I haven't. Oh,
hold on. This guy. This guy's not Jamie Foxx.
Is that Jamie Foxx? Jamie Foxx. Yep. Yep. Man,
this is such a great movie, okay? I haven't watched
this one, but if Jamie Foxx is in there, for
sure, check it out. Yeah. I'll have to watch
Rachel's. Oh, yeah, you should, man. I love backstories
on musicians. It adds so much depth to the music,
I think. Yeah. Yeah, definitely. Baby Driver's
very good. And I don't know. Who doesn't like
Forrest Gump? Oh, yeah, for sure. Forrest Gump
is a very good movie. Yeah, definitely. Definitely.
Wonderful movie. I haven't met someone that doesn't
like Forrest Gump. And are you into video games?
Or, I don't know. I used to be. I haven't had
time these last couple of years. Honestly. My
little brother, he's six right now. He's really
into Minecraft. So if there were a video game
that I'd be playing, it would be that. Okay.
Okay. Interesting. How old are you, by the way?
You seem pretty young. If you want to share.
If not, it's okay. I'm 20. 20? Yeah. Yeah. So.
Not not not an aged man yet. Yeah. Although sometimes
I feel like I'll get like cricks in my spine.
Like, oh, it's getting there. Yeah. Sitting the
whole day. Yeah. That. Oh, yeah. Makes your back
hurt. I don't do too much activity. I go to swim
two times a week. You know, that's the only thing
I do. But I should take physical activity more
seriously. I should go to the gym and all that
stuff. I don't. But. Yeah. But yeah, I feel the
same way. 20 years old. Yeah. You seem pretty
young, you know, and you have a successful open
source tool already. Developer. Is that your,
your main, well, your developer for sure. Right.
Yeah. Okay. Wonderful. I don't know. I, I just,
I think I, I just gotten very lucky that I've
happened upon something that people find useful.
And that's the thing. That's the thing. You found
an opportunity. You found something that the
community needed, that everyone needed. And you
just did it. And that's wonderful. You know,
that's actually pretty great. And what do you
use to take notes? Do you use NeoVim, Obsidian
or something? It's complicated. That's the rough
of it. I tend, I used to take notes, like I said,
in the oven and I still do, um, the vast majority
of the time, if it's just like, I need to record
information, but if I'm like trying to really
get in depth on something, I, I have one of these,
uh, I don't know if you've seen these, uh, like
a note taking like e -paper tablet. It's called
remarkable. I haven't. You write and it translated
to digital text or something, or what is it?
It can. Um, I, the big appeal for me is just
that it's a, it's a big, it's a big screen, big
e -paper screen that I can load books onto and
I can take notes in the margins. Oh yeah. So
if I'm really trying to get in depth on a topic,
like if I'm writing like a linguistics textbook
or something like that. That's what I use this
for. But for the vast majority of use cases,
I'm using either NeoVim or Obsidian if I'm just
trying to polish. If I'm trying to focus on polishing
the hardware Obsidian experience, I'll use Obsidian.
Okay. Yeah. Generally, actually, I would say
as a general rule, it's whatever I'm focusing
on improving that week. So if I'm working on...
Working on improving the WordPress experience.
I'll be taking notes in WordPress. Okay. It's
not working on improving the Obsidian experience.
I'm taking notes in Obsidian. You got what I'm
saying? Yep. Makes sense. All right. Yeah. Okay.
Okay. And when we were not recording yet, you
mentioned that you use Hyperland, if I'm not
mistaken. So Linux, you seem like a macOS guy.
why are you using linux wow wow no i'm actually
that's i don't see any problem with that i used
to be really really uh really into the os flame
wars but i actually see appeal for everything
except for windows actually man just let me let
me pause you right there People is going to think
that the people that I bring over, that there's
like a conspiracy or something against Windows
because nobody so far has liked Windows. Everyone's
like, okay, I'm into Linux, mainly Linux, some
of them Mac OS, and everyone's like, not Windows.
And I don't do it on purpose. It's just, I don't
know. I need to get more Windows guys in here.
But yeah, go on. Well, you're a Mac OS guy, right?
Tell me about that. mac os yep yeah have you
ever tried running linux everyone keeps telling
me to switch to linux like everyone because i
have my mac os really not really customized but
if you look at it you would you wouldn't notice
that it's it's mac os right if uh hold on let's
see what's happening here so for example if i
switch to my screen You wouldn't know it's Mac
OS. You're like, what kind of Linux is this?
It's just the little Apple that I left there.
So people know that it's Mac OS. But yeah, everyone
tells me the same thing. You know, you should
switch to Linux. But I do love Linux. I run it
only in servers. I have used it for years. I
don't use a desktop environment. I just deploy
a server. Debian is my operating system of choice.
I just deploy them and I just SSH through them.
And yeah, but not for the desktop. I'm not ready
to take that jump yet. And what about you? Yeah,
the desktop's a pretty big leap. I actually,
I think that's my fly in the face of a lot of
people. The main reason that I use Linux on the
daily is for the desktop. mac os is great actually
i think it's a really polished experience and
i think it works for a lot of people i think
it's great uh windows is also great if you use
wsl um yeah for sure i agree yeah um but neither
of them allow you to truly like customize the
desktop experience how you like it um and i've
gotten to a point where i i cannot use a computer
for more than a few hours at a time if it doesn't
have my specific key bindings and HyperLan set
up. Oh, yeah. It's not even, I wouldn't even
like, HyperLan's okay. I think it's fine. It's
got a few reliability issues. But the main reason
I use it is just because it would take so much
time to get used to anything else. Okay. And
did you get started with Linux or did you get
started with something else? My first computer
was a Linux machine. I used Windows after that
for, I want to say, five years, something like
that. And now I've been running Arch with Hyperland
and Westerm for, I want to say, four years now,
maybe. Okay. And why, why was the first one Linux?
Like that's not something most people would do.
You know, usually you get a computer and you
get it with windows, right? Like, I don't know.
My parents got me a computer and it had windows
installed. I didn't, I didn't even know that
something else existed. Like, yeah. Who influenced
you into, into Linux basically? So my first computer,
Was a machine that... So I did odd jobs to raise
money as a kid. And I eventually built up, I
think it was like maybe $300. And you can't get
a great machine for that price. So I decided
to build a desktop. from scratch or not from
scratch obviously but like you know from components
um and while i was doing that a i don't even
remember the context someone told me just that
that that i should approach linux and that'd
be a really great way to learn how computers
work um and so i installed linux mint on that
first machine it was so confusing um but i muddled
through it I eventually switched to Windows because
I wanted to play video games. Oh, yeah. And you
couldn't do that on Linux at the time. You just
couldn't. Other than maybe like Minecraft or
something. So I switched to Windows. And then
I eventually switched back to Linux after I had
been using a Raspberry Pi for like some random
server things for a while. And I felt confident
enough. And I haven't looked back. Except in
my old job, they made me use Windows, and that
sucked. Yeah. With WSL, could be, but you still
have that hypervisor in there, right? That extra
layer that makes things slower. That's the only
way that I can use Windows as well with WSL,
but I just rather not use it at all. I don't
game anymore, so I don't have a reason, but I
do understand. If you play games the whole day,
I would go with Windows. Well, people say that
nowadays you can play whatever you want in Linux,
you know, but I would go with Windows either
way because it's just simpler. And if you do
Windows application development, of course, you'd
have to use Windows. And what are your thoughts
on Mac OS? We already discussed Windows. What
are your thoughts on Mac OS? Have you used it?
I have used it. Um, just for like a month or
so total, because my, I had like a, like a 2014
Mac machine lying around and my Linux machine
was broken. It was in the shop. Um, and it was
okay. I wouldn't, yeah, I thought it was fine.
Like I said, the main thing that I was missing
was just the, the desktop, like pretty much everything
else, like with homebrew and you can install
whatever terminal, like terminal emulator you
want. it's like it's a pretty good experience
um i just couldn't couldn't get used to the key
bindings yeah takes time um to set everything
up that that's the reason why i don't switch
to linux because i have all my key binds here
already right so if i want to switch to the terminal
it's just a single key bind if i want to switch
to another app if i want to switch the scenes
in obs man I have it set up to my liking already.
So switching to Linux would involve, you know,
setting up different keybinds at the OS level,
right? NeoVim is fine. I can run NeoVim. It doesn't
matter where I run it. So, yeah. And do you use,
well, of course you use a window manager in Linux.
Which one do you use? Hyperland. Everland you
mentioned that. Okay. Do you use it in DSP mode
or I don't know what the other mode is called
stack. I Don't I think I use the master layout.
I think that's what it is So it partitions the
screen like every time you open an app in partitions
the screen It so here actually a lot I can show
you. Okay. Yep In master mode, there's a master
window And for me, I set that to be on the right
side. And if you open any additional windows,
they'll open. So it's not binary partitioning.
I have a main thing that I'm focusing on. This
is usually like NeoVim. And then I have a couple
side windows. So this is maybe like if I'm working
on a web app, I'll put it here. And then I'll
have like documentation or something here. Interesting.
Okay. your main screen is going to stay there
all the time the main application and any others
that you open are just going to open on the on
the side then right okay that seems quite useful
i guess it would be something similar to what
you see on my screen right now i keep this um
the main application always on the left hand
side but i also keep this other thingy where
i take the notes on the on the right side but
if i switch to my browser for example terminal
if i switch to any other application like youtube
or whatever else yeah it's always there on the
on the main screen okay interesting and um are
you a single monitor person or multiple monitors
um either i'll use multiple monitors though i
have one Um, but I'm a pretty nomadic worker.
I can't stay in the same place, um, physically
for too long without losing focus. Okay. So I
try to move around every couple hours. Um, and
just by that nature, I tend to be working from
a laptop a lot of the time. Okay. Um, but usually
I try to organize my day so that in the mornings
that's like deep work mode. That's where I'm
trying to do. one really difficult task and in
those cases i'll i'll try to stay like at a proper
desk with a dedicated monitor and in addition
to my laptop do you find it a little bit difficult
when you switch i only work with a single screen
um because i want the workflow to be exactly
the same right so if i'm on the if i'm i have
the laptop and the external monitor but the laptop
is always closed um and if i grab the laptop
i'm just on the on the screen laptop the reason
is because if i'm only working on the laptop
i want that workflow to be exactly the same i
don't want to be moving applications around i
don't want to be no i just want it to be the
same do you find it difficult when you switch
from two monitors to one no no i well but i think
that is just because My workflow is pretty much
like if I have a second monitor, that monitor,
the only reason I'm using it is because it's
like more comfortable because it's like higher
up and I'm not staring down at a screen. Yeah.
So I'm still using basically the same workflow
where I have like my master light, my master
layout with NeoVemo on one side and the documentation
and the running app. Okay. Mainly on that monitor
then. Yeah. Okay. yeah so i i think we're in
the same we're pretty much in the same boat then
i'm not really using the my laptop screen yeah
sometimes i will but it's not really important
yeah i mean either i just use it when i unplug
it from the desk and i move it somewhere else
yep and um you mentioned that you use uh western
right um why uh i just really like that you can
configure west term in lua so um a lot of like
the like if like For example, I use light mode
during the day and dark mode at night, which
if you set up in Linux is like a little bit more
complicated because you need to like, you just
need to do extra work. Like in NeoVim, I use
a short Lewis snippet that checks the time and
sets the color scheme based off of that. Being
able to use that same code in West term is huge.
I also. I've been using it less because I've
been using Tmux more, but I used to use Westerm's
native terminal multiplexing a lot. So that's
the main reason. It's also just, I don't know,
very polished. Fonts work nicely well, or work
nicely in it. You get ligatures and everything.
It's just a, I don't know, very polished experience.
It may not be as fast as, like, Alacrity or however
you pronounce it. but um there's a setting have
you checked this let me let me just show you
in my screen real quick because i did have an
issue with um with western uh fps this i thought
western was slow i even made a video about it
you know because western i switched from um kitty
To western and I immediately felt it that it
was slower right until I don't know someone in
a youtube comment Let me know about this max
fps 120. My monitor is not 120. My monitor is
75 hertz. I don't know how this works I don't
know anything. I know anything about gaming and
all that resolution and refresh rates or anything
but this actually did it for me, uh, and it's
the same performance in Western kitty ghosty
alacrity. I don't feel a difference, but you
should wait. Well, I'm going to, I'm going to
set this right now. Config dot max FPS. That's
it. Yeah. Yep. I'm in inside config here. Let's
see. I can share your screen. Want me to share
it? Sure. Well, I already changed it. I'm I'm
working ahead. Oh, my gosh. That feels so nice.
Right. That's crazy. Yeah. I spent working in
Western like for two months with or maybe a month,
you know, with that. It felt laggy. And I was
like, man, Western is perfect except for it's.
It's laggy. It's slow. But someone told me, no,
just change the setting and you'll see a big
difference. And I did. Nice. That's actually
huge. Thank you. It is. It is. And have you tried
any other terminals? Have you tried Ghosty, for
example? Or since Western works so fine, there
is basically no need. I used Alacrity for a long
time. And then I switched to Westterm and I just
haven't had any reason to switch anything else.
It works. Yeah. Good. Okay. Wonderful. Do you
like Ghosty? I'm using Ghosty, but for no particular
reason. Well, I'm using two actually. The one
on the screen right now is Ghosty, the main one.
And the one on the right -hand side is Kitty,
right? And both of them work fine. Don't use
Western because Western is like my backup terminal
in case that I don't know I switch away from
From ghosty. I will definitely go back to Western
but I don't have a specific preference, you know,
it's They work all great they allow me to view
images inside new of him which is a main Which
is a big point for me. So either of the three
work fine And the IDE that you use is NeoVim.
Why is that? You don't look like a NeoVim guy.
Oh, man. I'm just playing with you. No, well,
yeah. No, NeoVim is just very good. It's holistic.
It does everything that I need it to do and nothing
more unless I want it to do something more. It
works pretty much anywhere I've tried. I can
do it over remote connection, which is huge.
It's the first text editor that I came across
that allowed me to go completely mouse -less.
Plus, there's just a lot of the functionality.
Like Telescope is a really, really, really amazing
plugin. And you can find similar things in other
IDEs, but I've personally not really enjoyed
how they're set up. I use Telescope with FreeCency,
which is... Oh yeah, wonderful. And there are
other IDEs... That's not a word. Someone in the
comments told me it's not a word, but I also
call it FreeCency. Yeah. Oh, yeah. It's a word.
It's a word. Yeah. I appreciate the level of
control it gives me overall. Plus, it also brings
me pretty close to... I don't know. I just learned
a lot about how text editors work from setting
up Neova. Like you can you can use like even
from a document editing standpoint, just like
in a general sense, like you can use Word or
Gutenberg or Google Docs and you're not going
to understand how any of the low level things
work, which is fine for most people. But as programmers,
we're spending like. A significant portion of
our waking lives working inside these things,
and so it's it's. very much to our advantage
to understand how these how they work um because
what you learn inside of neovim also applies
to like any other text editing experience you
can you can work with right yeah and you learn
a lot for sure you'll learn a lot by playing
around with uh with neovim how long have you
been using neovim um i've been using neovim three
or four years now three or four years that's
a lot i've been using it for a year only okay
and how has it been because like learning it
when i learned it is dramatically different from
if you were to try and learn it now it's like
now you have all these distros and and out of
the box setup experiences yeah the distros man
it's 50 50 um or you love them or you hate them
right but um It was tough, really tough coming
from VS Code into NeoVim. I have always used
BIM, you know, but in servers, right? Just to
edit config files, stuff like that. But it was
tough because you have too many options, too
many choices, too many plugins, too many settings.
So it's hard to get there. But once you get there,
man, you cannot go to something else because
it's... very flexible, right? I started with
the distribution, with the LazyVim distro, and
I have configured my stuff on top of it, right?
So it was really challenging to understand the
LazyVim distribution and configure it to my liking
because it's a little bit complex. But I got
to that point already, which I know how to do
stuff, but it was not easy at the beginning,
right? Yeah. And what about you? How was it on
your end? Uh, learning it took a lot of time.
Um, I built it. I, I don't think, I don't remember
there being any distros when I was, when I first
picked up NeoVim. So I, I configured it from
scratch as in I copy and pasted the setup instructions
for each plugin. Um, and I, I was astounded by
the, it seems to be like an unspoken rule in
NeoVim, like in the NeoVim ecosystem. And it's
an unspoken rule that you don't see in other
editors, especially like JetBrains or VS Code.
And it's about what the role of a text editor
is. It seems like a lot of like... like plugin
developers for vs code are under the belief that
you should be focused on the editor as much as
possible right so uh you're interacting with
like github copilot you should be thinking about
copilot often um thinking about how you can use
it When you first look at the NeoVim ecosystem,
you get the sense that people are spending a
lot of time configuring their editors, which
is true, which is true. But that's not the goal.
The goal is not to configure the editor. Sometimes
it is to make it look pretty. And I went through
that phase. The goal is for the editor to be
out of the way. I personally, and it seems like
a lot of people agree with me. believe that I
should be able to press a button and it will
just do what I want it to do. Right? There's
no hunting and poking. There's no whatever. Searching
in the menu. Right. It seems like customizability
is very important, but it's not customizability
for customizability's sake. It's customizability
with the goal of eventually disappearing. um
yeah yeah like you like sorry go ahead you get
all that power right because for example i wanted
to let's say that i'm going to file any of them
and i want to open the github repo i want to
open github in that file in my browser i created
a key map that does that right so i just execute
the key map takes me right there right yeah so
gives you a lot of power in that Right. Like
I like I I've spent a significant portion of
my life in VS Code and IntelliJ. And with both
of those, there's a lot of like like you can
customize it. Yes. But that is not like when
you when you go to the VS Code or the IntelliJ
documentation, their first suggestion is not
to customize it so that you get it out so that
you don't have to solve this problem again. I
found myself having to bookmark documentation
pages for IntelliJ because they either change
the behavior every so often, or it's just so
unintuitive and such a hidden menu that you have
to click on that you have to keep a reference.
There's no way you can keep all that in your
head. Where NeoVim's like, we're going to spend
a little bit more time up front getting this
working. But once it's working, it's just a key
map and you won't even have to think about it.
Yeah. Bam. How long did it take you to get it
to where to a point in which you said, OK, it's
just minor tweaks from now on. Like how many
years did it take you or how many months you
remember? And did you stop configuring it already?
Because there's new optimizations all the time,
right? I'm just working on something. I say,
oh. I like the way that Emacs creates headings.
I do a lot of markdown, right? And I installed
Emacs a few days ago. And I like the way that
it creates headings in markdown files by just
pressing control enter in Emacs. That's not something
that I could do in any of them. I was like, hmm,
that is actually quite useful. I want to have
a heading of the same level below the heading
I'm at by pressing control enter. I did it. Took
me, I don't know, like two, three. Or hours,
maybe, to get there, because I had to play with
the terminal, with Tmux, and with NeoVim, the
three of them, right? I had to modify them. But
now that I have that, you know, I just have it,
and it's wonderful. It saves me seconds every
time. So how long did it take you to get to your
config? Or is it still going? Well, one would
argue that I'm still working on my NeoVim configuration
several hours a day through Harper. Okay. Argo
is so much more than just a NeoVim language server
now, but every improvement to the algorithm does
affect my NeoVim experience. I would say probably...
Hmm. This is really... It probably took me about
a month of like an hour here or there, like maybe,
maybe an hour or two on the weekends each week,
maybe a month or two of that before I felt really
comfortable and productive. And that's also with
me, like just spending a lot of time practicing
the VIN motions, I guess. Yeah. Since then, I
really don't have to touch it. It just kind of
works. I don't know. Part of it is with NeoVim,
you can spend a lot of time configuring it, but
in the end, it gives you extra energy, I guess.
When I was using VS Code, or even more recently
with IntelliJ, I could only really focus and
work for an hour at a time just because of the,
all the overhead and the mental exhaustion that
comes from having to wait for your editor to
do a thing or waiting for, or like having to
figure out something. Yeah. That also comes with
just having a very large Java code base, but
I find that like having a good Neovin config,
and making changes to it just gives me a lot
more energy and allows me to deeply focus for
significantly longer. So I would say it's a multiplicative
effect, maybe. Okay. And you mentioned that you
have your own config. What are your thoughts
on distros? Any quick thoughts there? I think
distros are fine. I don't really have an opinion.
I have a friend. um who uses lazy them and he
thinks it's okay but he finds he has a hard time
like changing something yeah uh like he wants
to customize whatever he just can't because there
isn't a space for it or it's not like super clear
yeah um and if you if you write your config yourself
then it's like You're an expert on it already.
You don't need to find a spy. You don't have
to read documentation. You just know. Yeah. Well,
it is customizable because I use LazyVim as well.
There are some things that you have to keep in
mind, like merging rules, for example, right?
Because LazyVim provides you with the default
configuration for each one of the plugins, right?
So if you go to the page, you're going to...
Let me show you. Okay. That's going to make...
more sense but i do get it it is really complicated
to um to get started let me just switch this
and for example uh merging rules right so if
you're going to configure a plugin you have to
keep this in mind right because you're going
to add your rules on top of the config that is
already provided to you by the by the distribution
right so You can configure anything that you
want in LazyVim, actually. But it does take time,
and it's not as straightforward as if you do
it with your own distro. Yeah, I agree. The other
thing is, there are plugins like Witchkey to
help you learn the keys. But I found like when
I set up the telescope plugin, I made a decision.
What's the hockey for this? And that was so much
easier to remember then, which I guess you can
solve if you just like when you first set up
the lazy event, you go through each plugin and
you make a decision on the hockey then there
rather than just like trying to figure out what
the defaults are. I guess that would also work.
Yeah. Something that I have done a lot in the
past regarding that is. i've switched to this
i have a key map alt k and if i don't remember
something github i just come and search it right
so uh leader colon does this you know paste the
github link or i don't know create a github repo
with space gc because i don't remember the key
maps all the time so i just instead of using
which key i just come here search for something
and um Uh, to me, I think, uh, it's just easier
because I already, I already know all the key
maps that I, that I use. Just forget some of
them at times. So I tend to use this. It's a
lot. Yeah. Which exploder do you use in new file
exploder? Um, that's a great question. I think
it's Neo tree. Neo tree. I'm opening up my config.
Yeah, go ahead. No, it's nvimtree. nvimtree,
okay. I guess you started with it and you just
left it, right? That's what you got started with?
I think, well, my original NeoVim config was
a vimrc. Now it's a Lua init file. So my original
vimconfig had Nerd tree, I think something like
that But when I switched it all till late to
Lua for like performance reasons I Switched it
to just because it looked like the first thing
that looked good ultimately It doesn't really
matter to me that much because I can configure
it with the key bindings that I'm used to So
I just went in and did that when I moved over
Okay. Yeah most of these I don't have like a
lot of opinions on other than like maybe Harper
language server. Yes. You should use Harper for
everything. Just install it. It's no biggie.
Okay. Now in this part here, do you have three
favorite in the open plugins? Telescope. Telescope.
Okay. I'm not going to include Harper. Cause
that's not, yeah, that doesn't count. That doesn't
count. Yeah, Telescope. Does TreeSitter count
as a plugin? No, that's native, right? Yeah,
but you could call it as one, I guess. No, no,
no, I'm not going to include that. Telescope,
leap .envim. Leap, okay, to jump, okay. Yep,
yep, yep, yep. And then, what else? Those are
really, oh, I like Smear Cursor. You've seen
that you've seen all the animation that is like
is that is that a plugin? Yeah, it's a plugin.
I'm not using like Neobite or anything. This
is just like it animates a smear using. Oh, I
didn't know about that one. Because it's in Kitty.
Kitty implemented that Neobite. They are the
ones that started with that with that cursor
animation. And I was like, how are you doing
this in Western? So it's it's not Western. It's
this plugin then. Yeah, I know it's this plugin.
It works. You can use it anywhere. Even if you're,
if NeoVim is running like on a server, like a
remote machine, it'll still work. I do that sometimes.
It won't look as good because there's delay,
but, but yeah, no, I, I, it adds nothing to my
productivity, literally nothing. It just looks
cool. I was just shocked that it worked out of
the box. Like I just pasted in whatever their
thing is and it just worked. I was not expecting
it to work as well as it does. I thought it was
running on the terminal. I thought it was a Western
thing because it does look quite nice. And it
looks, you know, native. It's snappy. So I didn't
expect that at all. What color scheme do you
use? Oh, this is... Why light mode? People in
the... The comments are going to be like, why
light mode? Well, your eyes are pretty young
yet, so I guess they don't hurt too much. I did
use light mode for a long time, to be honest
with you. I did love light mode and everyone
was like, why do you use light mode? But all
of them were old folks, just old people. Interesting.
Maybe. Yeah. My reasoning. is well like i said
i like to move around a lot and i really really
really appreciate natural light um especially
like in the winter so i live in colorado um in
the winter the days get pretty short and that
can like um it can affect you like it's just
it's just kind of dreary you know so i try to
get as much natural light as i can um and It's
very hard for me to see, even with my monitor
on full brightness. If I'm sitting in direct
sunlight, I just can't see anything in dark mode.
Plus, I actually talked to my optometrist about
this. There is a lot of strain that can come
from, like if you're looking at a dark screen
or a light screen, and it is substantially different
in brightness from the surrounding environment.
If you switch back and forth from surrounding
environment to a dark screen, if the surrounding
environment is bright, that can cause a lot of
strain in your eyes, which can make it hurt.
But it also, like, I don't want to have to get
new glasses too often, you know? So it's just
better for your eyes. Or for my eyes, at least.
I've noticed a difference. I think your mileage
may vary. That's the main reason. So at night,
I have it set up so it'll automatically switch
to dark mode when the sun goes down. Okay, interesting.
Wonderful. And what color scheme is that? Do
you have a special color scheme or something?
This is called Modus Vivendi is the dark mode,
and Modus Operandi is the light mode. Okay, it's
a little bit small, so if you could make it a
little bit bigger. Yeah, sorry about that. Okay.
Got it. Yeah. I used to use Dayfox and Nightfox,
but this has a higher contrast, and I like that
better. It's just easier to read for me. Okay.
Okay. Great. Now, moving on to something else.
What tool do you use to push to versioning control,
like to GitHub or whatever? Do you use just commands
or... Oh, LazyKit. Yep. If we hop over, yeah,
this is Harper. Yeah, I use LazyKit. It's just
very useful. It saves me a lot of typing. I know
I could probably set up shortcuts in the terminal,
but I'm very frequently switching between branches,
doing merging, that kind of thing. The only other,
other than LazyKit, I do use the GitHub command.
Um, cause it saves me the hassle of trying to
set up origins for like pull requests and stuff.
Um, so I can, I can review a pull request and
then pull it down, run it, make sure everything
works, um, before merging. And it's just pretty,
pretty straightforward. Okay. Type in the PR
number. Okay. The GitHub CLI, right? Yeah. Okay.
Okay. Interesting. But Lacey get is like the
main one. Okay. And, um, Let's see. Oh, you mentioned
tmux as well, right? So What what how do you
use tmux like They use it for the sessions they
use it for the splits or What's your use case
for a team us Pretty much pretty much just for
splits. Like I said, I used to use West term
for terminal deflexing But I've been recently
spending more time on remote machines. And so
being able to use the same config for my local
machine terminal multiplexing and remote machine
terminal multiplexing is just, it makes everything
so much easier. So sessions are nice, I guess.
Like I can reset my machine or like log out,
log back in, that kind of thing. It'll still
be there. But it's mostly just the multiplexing.
Okay, wonderful. okay all right and uh let's
see tmux do you have a special keyboard do you
use a special keyboard or just the laptop keyboard
just the laptop keyboard nothing fancy there
it's yeah i i i run a a dell machine and they
just have really fantastic keyboards like i've
had trouble like i have a mechanical keyboard
too i have trouble getting up to the same typing
speed on my mechanical keyboard as on the laptop.
And like I said, I move around a lot. Having
to carry around an extra keyboard is just kind
of a hassle. Yeah, that happened to me with my
Magic Keyboard, the one that I used before, the
Apple Magic Keyboard. I love that keyboard. I
used to type really fast. I'm not as fast on
my mechanical keyboard. I'm still faster on the
other one. But yeah, okay. Do you use AI? I...
Sometimes. Yeah? Sometimes. Mostly just like
ChatGPT. Okay. Can I show you the screen or no?
I mean, I don't really have anything to show.
Nothing? Okay. Just copy -paste ChatGPT, the
app itself. Yeah. I think Simon Willison's point
on this is actually really... He's of the belief
that chat is currently still the best way to
use LLMs for coding or whatever, just because
of the level of control you have over context.
So you can give them exactly the information
you think they'll need. Where if you're trying
to use RAG or... I haven't actually tried Cursor
for any real programming yet. But you have a
lot less control over context. And I've just
found that I get much better results when I'm
able to give it exactly the context I think it
needs rather than trying to let it figure it
out itself. Yeah, makes sense. Yeah, I also provide
it with documentation. I just print PDFs and
add the PDF and I just let it read the PDF and
get the information from there. Don't just...
Okay. And besides Harper... Are you working on
any other projects? I don't think you have the
time, but... Yeah, I mean, obviously, Harper
isn't the only thing I work on. I do work on
other things for Automatic. But in terms of CLI
apps or anything open source, I do have a couple
tiny little projects. I don't think anyone uses
them, though. I have, like, I call it the olama
function caller. It's just a little command line
app for using olama in, like, bash scripts, that
kind of thing. I also, when I take notes or write
stuff in, like, NeoVim, I use my project Tatum.
which just like runs a Tiny web server on your
machine so like here do sure yeah So I can just
hit a key and it'll run up a web server with
the current content of my buffer Okay, and it's
very simple like it's two lines of the oven config
to get this working It's just a little tiny rust
binary that you can install with one line Oh,
okay. There's something similar already for,
well, there's a plugin. I think it is plugin
Markdown preview that NBIM. I don't know if you've
seen it or not, but I tried it. I tried it. The
disadvantage with that is because Markdown, wait,
does Markdown preview actually run a web server?
Yep. Okay. I don't know. I, I, I had some very
specific needs because I want. specific, like,
JavaScript libraries available in my Markdown
documents. Like, I want to be able to... Can
you make it a little bit bigger? Yeah, sorry.
Like, specific styles or, like, math rendering,
that kind of thing. I want to have jQuery available.
So if I do an inline script in my Markdown file,
I can still use these specific utilities. I don't
know if Markdown preview lets you do that. It
probably does. But this is just, again, I appreciate
a high level of control. And I don't have to
dig through documentation to figure out how to
customize the template that's used for this.
It's just like right here. It's very simple.
It just works. Okay. Okay. Wonderful. Okay. Do
you have any favorite CLI tools, like terminal
tools? It doesn't matter if it's a 2E, CLI tool,
whatever. Anything you want to share there? LazyGit
is very good. I like ripgrep. I use that a lot
in jq. I try not to stray towards anything hyper
specific or obscure for command line tools because
I want to be able to toss them into like a reusable
bash script and I can't reasonably expect like
people to have some random tool, right? The only
two eyes I use are lazy get and any of it. Okay.
Yeah. Okay. Any favorite applications that you
want to share? Like desktop applications? Obsidian
is very good. Just generally. Obsidian is a very
well -polished experience. I try to limit myself
to things that I can extend. So that means browser
apps I can extend through a web extension, command
line apps, NeoVim, just because it's very...
I don't know. Like I said, I don't want to have
to think about launching an app. It should just
kind of work. I don't want to have to dig through
documentation. I want to be able to open it up
myself. So I use a lot of custom scripts, a lot
of web extensions, that kind of thing. Okay.
But Obsidian is very good, especially with the
Harper plugin. A little bit of promotion there.
What are your thoughts on Homelapse? Do you have
one or no? Uh, yeah, I run a little lab with
some, some think center, uh, machines and an
old, an old desktop computer. Um, I don't, I
don't use it to its greatest extent. It's kind
of a new thing. I just got it. I just started
setting it up a few weeks ago. So I've yet to
get to truly explore the possibilities. And what
type of machines like the micro computers or
what? Sorry. Yeah. Like the tiny mini micro.
yeah they're wonderful yeah yeah i use those
too yep they're sturdy you can take them you
can kind of open them up and put whatever you
want inside yeah um and they're they're really
small they actually so i have like i said i have
a desktop machine and uh it's it's a huge case
for what for the actual hardware that's inside
so power and noise right yep yep but You can
fit the think centers inside of the desktop case.
So I have two. Yeah, exactly. So I have the two
think centers stacked on top of each other inside
of the desktop case with all of the other hardware
that's in there. So I get to take advantage of
that cooling. Interesting. And it's still like
one unified kind of thing. And there's not as
much noise, actually, I found. The ThinkCentre
machines spin up kind of lab, but when they're
inside the case, it's not as bad. Yeah, mine
support up to 32 gigs of RAM, the micros that
I have, but I just installed 64 on one of them
to see if it worked, and it works just fine.
So 64 gigs of RAM, and I have three of them.
Only one has 64. Right. I have to upgrade the
other two. But man, you can basically that's
the way that I run Windows. Sometimes I need
to run Windows. I even run Mac OS in a virtual
machine in one of those, you know, but it's not
cool. It's not great because you cannot increase
the video memory. It's only seven megs and the
desktop looks. But it works. All right. And oh,
just something that I want to share for the people
that would like to get. demo on Harper hold on
let me just I created a video about Harper if
there's someone that doesn't know what Harper
is I basically go over like the setup is quite
easy there's not much to set up right but a demo
and all that stuff and how I personally use it
so if there's someone that does not know yet
or it needs I don't know Like another demo or
more information on Harper. I have this video
go and check it out. All right, so Is there something
you want to share before we wrap it up like that?
I Can't think of anything specific. Thank you
so much for for reaching out to To do this. I've
had a blast. This has been a lot of fun I hope
I've shared some some information that's hopefully
useful Oh, for sure. Harper is a really great
project, and I'm really proud of all the people
who have contributed to it. Like I said, we're
completely open to contributions, so if you need
a good project to get started with open source,
Harper is a great place to start. We have a Discord
server, so if you need help contributing or finding
something in the documentation or in the code,
don't feel like... Don't be afraid to reach out.
Or if you find an issue in Harper, false positive
or false negative, either one, just let us know.
And we'll try and get to it. Harper is slowly
becoming a really formidable grammar checker.
Even if it didn't have all of the privacy advantages
and the memory usage and the CPU advantages.
And yeah, I hope that... I hope that I've shared
some good information. And yeah, thank you so
much for having me. No, thanks to you for your
time. It's been an hour and a half. Well, almost
two hours because of the tests and all that stuff.
So I really appreciate your time. I do love Harper
as well. I use it every day. I have it installed.
Any Markdown file that I edit, Harper is there.
So I think it's a wonderful tool. And if there's
someone still watching, if you like this type
of content, if you like this type of interviews
that I'm doing, let me know in the comments.
And I guess that's it for today. Really appreciate
it, Elijah. I'll see you next time. Yeah. See
you soon. Bye. Bye.