Tech Over Tea - Vim Is The Only REAL CODE EDITOR | ThePrimeagen
Episode Date: January 26, 2024Today we're talking to the one and only ThePrimeagen, software engineer, HTMX shill and most importantly the man who spends way too much time telling you why Vim is the greatest text editor. ====...=====Guest Links========== YouTube 1: https://www.youtube.com/@ThePrimeagen YouTube 2: https://www.youtube.com/@ThePrimeTimeagen YouTube 3: https://www.youtube.com/@TheVimeagen Twitter: https://twitter.com/ThePrimeagen Twitch: https://www.twitch.tv/ThePrimeagen ==========Support The Show========== ► Patreon: https://www.patreon.com/brodierobertson ► Paypal: https://www.paypal.me/BrodieRobertsonVideo ► Amazon USA: https://amzn.to/3d5gykF ► Other Methods: https://cointr.ee/brodierobertson =========Video Platforms========== 🎥 YouTube: https://www.youtube.com/channel/UCBq5p-xOla8xhnrbhu8AIAg =========Audio Release========= 🎵 RSS: https://anchor.fm/s/149fd51c/podcast/rss 🎵 Apple Podcast:https://podcasts.apple.com/us/podcast/tech-over-tea/id1501727953 🎵 Spotify: https://open.spotify.com/show/3IfFpfzlLo7OPsEnl4gbdM 🎵 Google Podcast: https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy8xNDlmZDUxYy9wb2RjYXN0L3Jzcw== 🎵 Anchor: https://anchor.fm/tech-over-tea ==========Social Media========== 🎤 Discord:https://discord.gg/PkMRVn9 🐦 Twitter: https://twitter.com/TechOverTeaShow 📷 Instagram: https://www.instagram.com/techovertea/ 🌐 Mastodon:https://mastodon.social/web/accounts/1093345 ==========Credits========== 🎨 Channel Art: All my art has was created by Supercozman https://twitter.com/Supercozman https://www.instagram.com/supercozman_draws/ DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase we may receive a small commission or other compensation.
Transcript
Discussion (0)
Good morning, good day, and good evening.
I don't know how this episode's happening, but today we have the Primogen.
Welcome to the show.
How you doing?
I am doing very, very well.
Thank you for having me.
Yeah, thank you for doing this.
I have this problem, right, where I have imposter syndrome.
So when there is someone who is, know noticeably more well known than i am
i'm like you know what i'm not gonna message them because uh they're probably just not gonna be
interested uh you know all of that sort of stuff and then you sent me that message last year like
hey i saw the i think it was the meifu charm video and you were like oh i'm gonna react to this and
then i don't think you did because your audio broke during that part of your stream.
But that gave me the excuse to send the message.
So here you are.
How are you doing?
Yeah.
Yeah, yeah, precisely.
I remember you, I mean, you have a lot of videos on Vim,
but one of them was on Vim and I was just like,
ooh, I want to watch this one because it looks really good.
And then I was going to do it and then my audio broke
and then I think my computer froze and then I think i just turned off the stream i was like
that's it i quit well it happens yeah i yeah it does happen sadly i mostly have things that just
work at this point but sometimes sometimes like a config file just won't be loaded or some update changes something.
You're like, what is going on?
What is this?
Yeah, well, I run...
So the problem is I kind of have a multi-computer setup.
And so I run my Linux box through a capture card
onto a Windows PC.
So I do all my streaming via Windows.
Right.
Just because, I mean, i had a go xlr and
at that point that thing didn't even have a linux driver yeah when i first got it like even available
so i was just like i windows it is you know like and so i was just using that plus i had a stream
deck and i had to like write the board's way too small i can't actually even get it on screen
that thing yeah that one it i'd have to write my own back then for linux i was just like this is
stupid i'm not gonna i'm just not gonna do that uh i'm just gonna have all my tech work and
surprisingly it doesn't work that often yeah i i've made the explicit purchase choices of things
that i know work on linux uh i i've considered trying out some stuff like i know nowadays you
have um boatswain.
Boatswain is like a tool to configure the stream deck.
I don't know how well it works,
but considering you don't have all of the nice integrations
you have on Windows as well,
where you can just easily say,
oh, I want to play a thing in OBS.
You've got to deal with like WebSocket stuff
and you can do it.
It's just a lot of extra overhead
that I don't want to deal with really.
Exactly. Like the thing is, is that that i like programming i like building stuff what i don't like is
configuring right like just just spending time being like okay why doesn't this thing work well
there's no manual i'm just gonna have to like play with it and print stuff out until i figure out how
it works and then i will eventually get there. It's just like,
for me, that's not what I get excited about.
I get excited about building something.
I have this dumb idea in my head and I'm like,
I will make this thing work.
Streaming is not a dumb idea in my head that I want to make work.
I'm already doing it. It already works.
I don't need anything else.
So I iterate as
low or as best as I can depending on what I want out of it.
Well, I guess we can sort of get into that.
Do you want to start talking about streaming
or how you got into like programming first?
We can go either direction.
You get to choose.
A host choice.
Okay, you know what?
We'll get into your like tech background first
and then go from there.
So I assume that you've had an interest in
tech for a long time i know you've been programming for a really long time as well but like when did
all of that start for you and what what what did you start on yeah yeah so i don't i don't know the
name of the language i'm not even sure if it had a name of the language uh there was a video game
in the 90s called grail or graal it was It was like G-R-A-A-L.
And it was like a Zelda clone that you could also open up a level editor.
And the level editor, you could double click on PCs, on treasure chests, on pretty much any interactable item.
And it actually came with a small scripting language.
And so when I was there, I was just like, oh, that's kind of cool.
And I found one that did like a spiral fire. And so I just like, Oh, that's kind of cool. And I found one that did like a spiral fire, like, and so I was like, Oh, that's kind of cool. And I opened it up. And there
was just a bunch of math and a while loop and X's and all that. And I've never seen code before. And
I was just like, that's kind of neat. So I started tweaking with it. And I started kind of figuring
things out. Then eventually, I could figure out how to shoot fire in a straight line. So I was
like, Okay, yeah, you just add stuff to x x means horizontal
y means up and down like i didn't realize that you could swap the variable names or anything
and eventually just i kept just figuring things out and i was like oh this is really fun i knew
about while loops and basic stuff you know it's like some npc script it didn't it looks like c
it's c-ish and so it's pretty easy for me to just kind of get running and doing that and then in in
high school i took a programming class q basic it was it was okay i did i made the mistake of just making a
dumb game i made uh blackjack very boring game to make as it is yeah uh should have done something
different and then i went to college and did a lot of java and it really kind of hit home for me more in my second class after my first class i thought maybe i don't want to
be a programmer you know like maybe making those games and all that that was fun but this isn't
that fun like was that a java thought or a programming thought programming thought because
you know like school intro to programming is like here's the size of an int here's the this here's that like
it's it's not fun to to put it mildly right it's it's it's very academic and looking back very
happy that i had it that way right a lot of people don't get that and they don't get a four year slow
introduction into programming where you slowly get more and more complex they just get thrown
into a deep end like here's how you render a div right like i didn't start there like that's crazy
a lot of people starting on like like, boot camps, for example,
where they're like, oh, I just build a web application.
And so you don't have that core fundamental understanding
of how these things actually work,
like what memory management is, what a pointer is.
It's something you then have to learn after the fact.
Precisely.
And so it's one of those things that it's just,
I'm very happy it happened.
But after my first class, I was pretty disheartened.
And then my second class, like day – like week one, I was like, ah, this is going to be just more stuff I don't want to do.
And then week two hit, and it was like, all right, time to start data structures.
And it was like, let's go over a linked list.
And, you know, public class node, curly brace.
And I'm like, okay,
it's like next node.
And when I saw it,
I was like,
what?
It references.
And all of a sudden it's just like,
I see memory,
right?
Like I was just like,
oh my God,
this is the coolest thing ever.
And then it just,
it was cool after that.
And then after that,
it was just like,
that was the moment that was true.
I remember just being floored at how cool the fact that you could reference yourself in a class and you could just keep on going.
And I could see it.
And that was like my first time ever seeing something in your mind's eye like that.
So I was just like this is absolutely the coolest.
And I think that's probably the moment where I truly fell in love with programming,
if that makes sense.
No, no, I have a very similar experience.
I wrote, there was a game library called Greenfoot,
which is like an introductory education thing
that I learned back in high school.
Then when I got into university,
I did some introductory Python stuff.
I probably wrote Blackjack and rock, paper, scissors,
and maybe like game of life things like basic, basic things.
Then I also had my data structures course, which was also in Java.
And I know exactly the feeling you're talking about.
And then I did, I think it was an assignment on trees or something
and A star out, like basic, like searching algorithms.
Like, wait, that? trees or something and a star out like basics like searching algorithms like wait that and then
like you can start piecing it together in real world problems like you see oh a map that is just
a really complex like like a really complex graph and you're using these same sort of concepts so
even though you're doing this simple thing you can see how it like pieces into these bigger problems
yeah exactly it's exciting it just gets so dang exciting and then once you start seeing that it
just feels so cool yeah yeah no that's absolutely the only problem is just i i feel like a lot of
there are a lot of educators who just don't get into the content. It's just another year of teaching the same content.
Oh, it's another group of students.
Especially when they don't do new assignments each time.
I think the best class I had is the ones where the professors actually made new content every time.
It was the same sort of structure.
But it was like, okay.
I had like a web dev class for example one year
they did like a weather application another year it was some other thing and it was like the same
core tooling and the same sort of core concepts but the topic around it was different i think that
that helps keep them interested along with it getting the students interested as well
yeah yeah i'd agree with that you generally
see you'll see a much more excited uh excited professor if he's actually you know if he's
engaged then you can see it a lot more like i had a professor hunter lloyd in montana state university
very much so like this just was totally into robots and all that and i think he appeared on
on jay leno with his alarm clock that you'd throw
and if it hit the wall it would snooze for 10 minutes and then ring so then you'd have to go
get it and so it's like a very very clever idea right and so very very funny and is just
you know he was so engaged it made me so engaged yeah yeah you know so i had a class that i know that you don't like the fact that
they exist i had a entire semester class on learning git oh hold on when you say learning
git literally just like executing commands or like this is source control this is the difference
between perforce and how it does object storage versus Git. Or just like literally like this week it's Git add period.
This was a maybe three days of content stretched over a semester.
So my final assignment for that class, you had to commit some code.
You had to write some like merge requests.
And that's pretty much it was like maybe
maybe 30 minutes of work and that was 40 of the grade for that class it was it was a joke
that that actually hurts it does truly hurt me that that can even exist
um makes me sad because it shouldn't exist. Like it shouldn't be a thing.
It's not real.
Yeah.
Uh, because again, that's 30 minutes outside of class.
Like what I want to see professors do be like, by the way, we're on GitHub.
Submit your stuff via GitHub.
There you go.
It's just like, okay, I will go learn how to get ad and get commit.
And if you had everyone kind of push some sort of get, yeah, you know, you can have
your, you know, your university host a Git server.
It's not like that crazy.
Just have that.
People will naturally at least figure out the most important commands.
Git add period, Git commit dash M, Git push, Git pull.
That's like 95% of real world Git.
There's like the 5% where you're actually like, I got to add this honk.
I'm going to ignore this. No one's you're like bisecting bisecting is fun yeah bisecting
is fun but you're already in a bad place when you're bisecting life already sucks when you're
there no i know i know what you mean um oh go someone go i also find that bisecting is not
always that useful because whenever i on the applications i've had to bisect on it's like a 20 30 minute process per one so it's like i'm gonna go search the logs
and try to find the most likely spots i think and like i'm gonna just try to be more clever
because it's like i have 500 commits that's like six days so let's just be super clever here and
try to jump through it no but i know what you mean about um we're saying with like
learning git i hadn't even thought of doing it like that because when i got my assignments they
were all through some like online loading platform you just download a zip and that downloads all of
it but if you just force the shoot like even if it's not uploading the content at least forcing
them to pull the content down from like a git server like even just that is just a basic
introduction and then from there you've already got the git repo anyway so you might as well start
messing around with it and you know it yeah because if you have to push it back up as well
then at that point you you minimally have to learn add and commit yeah like minimally you're just
gonna sheer accident learn those two things.
Like use that as the way you submit the assignment.
Yeah.
And so it's like at least minimally,
you will make people learn a thing.
Like as far as a class goes,
something that I think would be a way cooler class is,
here's how source control works.
Let's go over the algorithms.
Why is Perforce good for large assets?
Why does Git suck for large assets?
How does Git handle large assets using?
I forget.
There's like some sort of Git binary addition you can use to make large assets good.
And so it's like, yeah, let's learn about how to make one.
So when you have a problem, you're like, I know everything.
It's just dumb to have a class that shows you some basic commands.
Yeah. that it's just dumb to have a class that shows you some basic commands yeah in the same way a lot of
so my my university is often described as uh so we have a thing in australia called tafe which
is basically just like boot camps for various things like it's a a barber boot camp a programming
but like it's all these like it's a technical school yeah that's that's what i'm trying to get
at okay um and a lot of people describe my university as basically like a super version of that.
It's just a longer version.
So a lot of my classes were just, hey, here's how to learn.
Here's learning Java.
Here's learning Python.
Here's learning C++.
But I think the courses that stuck with me the most,
and I wish there were more of them,
were those ones where it was
like my my ai course for example where it wasn't focused on a language it was focused on the
concepts of okay how do these neural network systems work like what are the algorithms
what is all the maths behind it as opposed to like oh this week we're going over chapter one
of the c programming language now it's chapter two
like i can do that outside of class when i need to or i can i can learn that content as
as like i i need to learn it but how do you want to go learn enough i'm sorry we'll say that again
i was gonna say if you want to go learn a language like what is the process you normally take now
if i'm learning a language uh typically i go straight to just trying to build something
like i have enough of the core concepts down that i can you know any c-based language i can
effectively run with it and now any functional language i at least have some concept of kind of
what they're about i did a little bit of ocammel uh you know tried to build a little bit of some
web stuff with ocammel just like barely trying to figure it out. But nonetheless, and did some advent of code.
But typically I just try to solve stuff, build real stuff.
Because like if you were telling me, hey, you need to go learn C Sharp, right?
Like, you know, I'm pretty sure I could learn C Sharp really quick, right?
I could just get up there.
Okay, how do I start a server?
Okay, this is how I start a server.
Let's try to come up with a good project.
Okay, here's a good project.
Let's actually build something.
Let's build a good CLI tool to parse out all these logs and
figure something out with it. Right? That's to me, that's at this point, that's the best way.
And then I like to go after I kind of get the basics down and kind of understand it,
then typically I'll go buy a book on it and like read through what they did. So that way,
I already have this like really practical foundational knowledge. And I'm like,
oh, I could see why I was totally doing that wrong this is way cooler okay this is way cooler
because often if i read first i just miss out like on a lot of that like i don't have that like heart
change like oh i understand why they do it this way because i right you know i just don't have
that experience so it just means nothing to me i imagine that is especially true if like the first
time you started doing functional where it's a whole different paradigm of program where you can
like see what's being written there but the concepts are not going to stick because it's
just such a different way to write the code um i myself have never actually done functional
programming i don't i know there are a lot of people that are very dedicated on functional
and this is the greatest way to write code any like oop is the worst thing ever created what is the appeal of functional like obviously you
said you not like the most experienced data but touched it yeah from what you've seen what is the
appeal well i would say there's some constructs that are super nice in functional a lot of pattern
matching uh like elixir a really cool thing Elixir has is that
you can define a function many times, kind of like
function overloading, except for instead
of arguments you're taking in,
it's the
shape of the argument you're taking in. So I'm going to
define, say, foo, and
it takes in the empty array. And I'll
do the case with empty array.
Then I'll redo foo, but it takes in
an array with one element. And I'll do the thing with one element. Then I'll redo foo, but it takes in an array with one element.
And I'll do the thing with one element.
Then I'll do foo with the general array case and then program that one.
So it's kind of like it strips the if statements out and brings it up into a language level construct.
And to me, that's super, super cool because you're pattern matching on the function.
And you're like defining how this function will be called at a language level, like how your array will interact with it. And so that's like super duper cool to me because
that's a lot of things that I want, which is I don't like, I hate functions with a bunch of if
statements, but if I could actually just put the shape inside the function, then it's like, I can
define that case. And it's like so easy to understand this case the empty case looks like
this three lines of code it's so clean it's so obvious it's not somewhere within wherever I
decided to handle the zero line case right and so for me there's like a lot of cool concepts
obviously uh partial application being able to uh you have a function that takes in three parameters
abc and I go foo and I pass in five.
Out comes a function.
This is like an OCaml.
And that function has five curried in it.
So when I call it with B and C,
five will already be auto-applied
to that new function that I had pop out of it
because it's been partially applied.
The function hasn't been fully,
like, I don't know all the right terms.
I'm not a functional bro.
No, I don't know the terms either.
Use whatever term makes sense. I don't have a lot of experience yet but uh i think that's like super duper neat
because then you can define these functions it's like in javascript if you were to do this
you would define a function uh say like you wanted to do a timer and so you wanted to create
an ability that is a function that returns a function that is a timer so that I can pass in
five minutes into the first function and then it returns
a function for me that will be
the five minute timer every single time.
Right? So that's kind of like what you
could do in OCaml except for
you would just simply have one function and the first
parameter is the time and then I call
it with just the time and out comes
a function that's now locked into that
and will always have that time coming as the first parameter.
So it's like,
oh,
that's super cool.
Like that's a,
that's a much like,
that's just,
I can't describe that in JavaScript.
I have to write a function that returns a function.
You just write a function and it just is automatically a part of the language.
It's just different.
And OCaml also like OCaml super cool in a sense that if you wanted to add two numbers together
you'd use a plus sign if you want to add two strings together you'd use a caret if you want
to add two floating points you'd use a plus dot which means that by the syntax of what you're
doing it can infer every single type and it actually is a fully typed language it is type
safe it will actually it actually is fully inferred you can specify your
type but you virtually never need to because it just it just knows by how you're using it
exactly what's going on and so you you will create a function that's like function a b a plus b
a will go ah this is an int int function that's what you want int int returns an int because i
can tell because of the syntax used here.
And so it's like, wow, that's pretty cool.
So when you try to call it with a float,
it's like, you can't do that.
You can't provide a float here.
This is not a float function.
Right.
That sounds really cool.
I'm not like, you know,
you have these language concepts
where it's like, this is a neat idea.
I'm not sure like where i
would realistically apply them but i kind of want to go learn it now like yeah there's a lot of
recursions you got to be like really into recursion as well i have a white obviously
yeah they like i mean if you know recursion uh it's it's not hard to at least see it but
to always reach for recursion as opposed to thinking in loops is really hard.
And so I kept finding myself having to be like,
okay, so how do I shape this function to solve the problem?
And so I still, you know, obviously I just didn't do it long enough to become good at it.
It's an obvious neural pathway I do not flex.
Therefore, it is weak.
It is very very very weak no that's that's a really cool concept and i i just want to try it out now
rust is a good middle ground it have you done have you programmed any rust i've not done rust
yet um i've been meaning to for a long time. It's a good middle ground because you get like,
you get iterators and options and results.
So you get the sum types and all the fancy terms
that functional programmers use.
But you can also just do a for loop.
And so it's like, you kind of get, you know,
it allows imperative programming to just exist.
And so it feels very nice.
And so, because I mean, ultimately at the end of the day,
procedural slash imperative programming
is just the easiest, I think, for all humans to understand. Cause you just read from top
to bottom and it just like, it just goes like this functional is very, you know, swirly. It looks
like the E-max learning curve, right? It's very, you gotta like, you know, you're looping on
yourself a bunch, which I think just makes it different, but people swear by it, which makes
me still so curious. I feel like I need to do more of it because how can people be that excited it it confuses me right there has to be something there
i'm missing because i haven't used it long enough to become actually good at it to be fair people
were very excited about object-oriented programming when they first started doing that
so okay fair that's fair that's this is fair uh i i mean i was a part of the clean code
you know i i was all all in it there for a while my entire start of programming was java
and then python doing actually don't please please the love of god don't ever write oop
in python it's the most disgusting use any other language it is the worst syntax or op you will ever see um i did use a lot of it and it's slow
it's crazy slow it's not just like oh it's like 10 slow no it's like an order of magnitude slower
than just writing dictionaries or whatever and using functions it's incredible how slow it is
yeah i didn't know that i built the parser in it and it was taking like 10 minutes i'm like what
the hell is going on here?
Threw in a couple functions, and it took like a second.
I was like, dude, this is a racket.
Like, this is wild.
What is happening here?
Just don't do that.
So you mentioned Emacs there, and obviously I can't have you on the show without talking about Vim.
So when did you start using them and
when you first used it did you actually find it interesting or was it one of those things we're
like oh this is a cool concept and just like throw it away for a bit so before i can tell you that i
first have to tell you that when i was younger during the the old days of tcp connections between
computers and playing some Battle.net.
Battle.net Warcraft 2 came out.
And on it, there was a ladder system.
And I learned I really like trying to compete in this kind of stuff.
I really like RTSs.
And so I got really into it.
I was really trying to become good at doing all the things.
A big fan of grunts and the horde.
And I was like, I was just into it, right? And then Warcraft 3 came out i loved it world of warcraft came out i didn't like it as much because i was kind of coming into a really like warcraft mentality right and so when i started
programming it was net beans and i i tell you what if you could see those days i was so fast switching between control shift and the
arrows and i would just just rage it as fast as possible it was just so good i was i guarantee
you that if i could if i could just practice a little bit i bet you i could get good at it again
it's still around genuinely just like the control arrows and shifting and all that i thought i was
genuinely great at that and
someone was just like alright you gotta try Vim
and now when I went to college I literally thought
Vim that's for old people
that's like stupid right
it's just stupid it's a stupid program for
stupid old people that want to work on a terminal
who wants to work on a terminal
come on get with the modern times right like I
you see
you know it takes time to change
so then in a 2011 something like that uh i had a friend bavard bavard to bury he was just like hey
i'm gonna learn vim motions i need someone to join me because or else i'm gonna just lose it if i
don't so can you just join me and i was and just like, okay, well, I'm very fast.
Maybe I could like Vim Motions.
And so like day one, I'm www.bbb.
You know, I learned the basic things.
I'm in IntelliJ, so I'm using IntelliJ with Vim Motions.
So I'm just like doing it.
And then I discover F and T.
And I was just like, oh boy, this is awesome.
And then I discover percent sign.
So to delete a function,
I'd hit shift V, F, opening scorely, percent sign, D.
Bam, bam, bam, it just felt so good.
I was just like, oh my goodness,
this is like my previous version of programming,
except for I just have more than arrow keys.
I have like a whole set to describe
how I can move really, really fast.
And so that's kind of like
when I fell in love with Vim Motion.
So Vim Motions have always been the best. I don't really, really fast. And so that's kind of like when I fell in love with Vim Motion. So Vim Motions have always been the best.
I don't really mind other editors.
It's just editors are just so slow and it bothers me.
That's it.
And so I just use NeoVim because it's just fast.
Like I quit using Doom Max because I just kept,
it just kept pissing me off
because it would just like be too slow.
So I was just like, just move faster, right?
And so I quit Emacs, that whole thing,
and did IntelliJ for a long time,
but it eventually made me kind of bonkers.
But IntelliJ was really good during the JavaScript days
before TypeScript.
IntelliJ was truly the way to do web programming
at that point.
And so finally, then I tried VS Code for a long time,
really didn't like it.
And I had a coworker that was just like, just use Vim.
Trust, I'll help you.
I'll get you set up. And that's when I learned a little bit more about the vim rc using bundle to
install plugins all that kind of stuff you hadn't done any plugin stuff before that point no i
haven't so now we're like 2000 2018 2017 something like that i had a co-worker anders backen uh and
i went and asked him a question about some older version
of the television platform.
And he used Emacs
and he doesn't even type properly.
He types like a weirdo.
And he just flew so fast,
switching, going to old versions,
hitting a build, opening up here, fuzzy.
And I'm just like, OK,
I'm going to get better.
I'm going to get better.
And so like that was really
where the fire happened.
And so about two years after that,
then I started streaming and all that. And that's when I learned even more. And so about two years after that, then I started streaming and all that.
And that's when I learned even more.
And then about four years after that,
I started building a bunch of plugins
and kind of really getting into the whole NeoVim thing.
Because I just knew I'd never learned FemScript.
I'm just not going to learn it.
It's just too crazy of a language.
And it just didn't interest me.
It just, I don't want something that's super bespoke.
But Lua is super cool.
Lua is great. You can use L lua like embedded into whatever program you're using and be like i now have
scripting powers in my program this is fantastic so i i am a huge fan of lua and so i i have enjoyed
learning it and using it for neovim my neovim config is the most cobbled together disaster you will ever see. It's like...
It's pulled over from my old Vim install,
and then I've never refreshed it,
so it's just been adding on to it over the years,
and it works.
You just have a bunch of raw-dogged Vim commands?
Yeah.
Like with Vim.command passing the string,
and it's actually just vim
script executing yeah yeah oh yeah that's beautiful that's beautiful back when people
were like really excited about lua in near vim people like oh you should you should do some
lua stuff because back then i was like really i was still like really big on doing vim stuff
really big on doing programming stuff and now i've sort of shifted away to doing more like general linuxy stuff um i just never got around to it like i i really
should though like lua seems like a neat language uh great it's super it's it's like go it's super
stupid and by being super stupid you just don't express yourself as much. And if you don't express yourself as much, you end up building simple programs that just do the thing well.
Like that's kind of how I – this is kind of like my ultimate kind of renaissance of simplicity.
It's just like the more – the less ways you can express yourself, the more likely you're just going to write something that does one thing well.
And so Lua is a very constrained, simple language.
You can learn it in an afternoon
it's not hard like there's some dumb things about it like not equals is not a bang equal it's a
tilde equal okay like whatever right like that's not that's not the end of the world right and so
there's a couple gotchas i don't know i love it uh my neovim config is the best it's ever been
i'm gonna upload it into my own little repository coming up but it is the best it's ever been. I'm going to upload it into my own little repository coming up, but it is the best it's ever been. It's smooth. It's great. LazyVim,
plugin manager is really, really good. It does a lot of things that I want things to do. Everything
just feels good. I'm happy with where I'm at. So somebody wanted to get started with,
they've not touched Vim at all, and they want to get to the point where they are writing
whatever their language of choice is in vim what would be the process that you would suggest they
take yes this is a great question uh start with motions right uh the hardest thing to do is just
to use vim you don't know the motions and you and's like, and now you also are in this program that looks nothing like what you're used
to.
I,
have you ever read any,
uh,
CS Lewis,
the,
uh,
out of the silent planet?
No.
Okay.
Super great sci-fi book.
And effectively ran soon.
The main character gets abducted and he has to go to Mars.
And when he lands on Mars,
he looks out and he describes something,
which is like super, super clever observation of humankind.
Or have you ever seen something you've never seen before?
And it's like you can't even see it.
It's like right in front of you, but you can't see it.
And so he describes his experience where there's mountains, there's trees, and there's lakes.
And I couldn't see any of it.
It was so different than what I was used to looking at.
I just couldn't see the landscape.
It was in front of me.
There was colors, but I was blind to the whole thing.
So using Vim for the first time,
you kind of get that experience.
You don't have a file tree that's ever present.
You don't have the tools running along the top.
You don't have some other kind of command window right here.
You don't have the terminal running across the bottom, right?
You don't have this extremely familiar setup. You look at it and you just feel
like you can't see the code that's directly in front of you. I even remember my first time using
Vim. It was hard for me to program despite being a good programmer because I felt like I couldn't
understand the code in front of me because it just was such a different experience. And so I feel
like that analogy just really kind of drives it home. And so I suggest using motions first,
understand how to move in Vim. Then if you really want to make the jump, use Kickstarter,
NeoVim, which is like a script, and it walks through exactly how to program a config. Very,
very easy. I can get the exact link for it.
Very, very simple.
Walks through everything.
I think TJ has helped out on a lot of it.
There's a couple of pretty cool people
from the community that have worked out
and done some good stuff on it.
They don't have Harpoon, hurts my feelings,
but they do have Telescope.
And it'll set you up with a pretty decent
NeoVim experience all the way up to the LSP.
And you'll have a nice, nice time, and it
will not feel as confusing because you at least know how to move. Then it's just trying to get
your mind used to not seeing a file tree. So then you're like, oh, I know enough about Vim now that
I've read Kickstarter. I'm just going to open up a file tree and just set it here and just put it
there just for the sake of you've always had a file tree there. Just put a file tree there so
you feel comfortable for a little bit.
And then slowly remove things
and kind of get off the training wheels.
I'm a big fan of only ever having one buffer open.
I'm not a big fan of splits.
Like just learn how to navigate your files
really, really quickly.
And then you don't need it as much.
TJ would completely disagree with that.
So fun times.
Yeah, one of the things I found
when I first started learning Vim
was getting it to a
like a baseline point and and something like kickstart i think would have helped me a lot
back then yeah it's really nice like when you look through it it just it's fully it's like 200
lines of documentation like 150 lines of lua it extremely simple. Because one of the things that is really unapproachable with Vim
is the first time you open up those Vim docs,
and you're like, okay, everything's really well documented.
It's just, it's a book problem.
If you start reading about a language first,
you're like, I cannot retain any of this knowledge.
Yeah, exactly. start reading about a language first you're like i cannot retain any of this knowledge yeah exactly and so that's why i think going the learn the motions first feel really comfortable with it
wait till they're second nature and then maybe consider the jump into actual vim yeah while i
use vim i don't i wouldn't say i use vim well i am i am very heavy on the uh hjknl movie around i know
i like i know a couple of motions to do a couple of things and you know get to the start of the
line get to the end of the line things like that uh jumping to specific line numbers but i have
seen some of those shorts you put out and just like i you just 20 key presses like oh just do
this and it does like all this magical stuff like what what did
you just do what did you what what so a good thing to do is just adopt one motion right like that's
it don't don't do anything else don't try to get a whole bunch in just try something like so if you
don't use f and t then start using f and t uh very very fantastic for those that don't know that is
jumping forward by the character.
So if I say F capital S,
it will jump to the first occurrence of capital S
on the line I'm currently at.
Okay, so you kind of get that one.
All right, well then start navigating
with control D and control U,
like force yourself to use a half page jumps.
You'll get used to it pretty quick.
I actually only got used to it
because I started using T mucks.
And then since that was the way to navigate up,
I was like, oh, okay, yeah, this is actually really easy.
At first it's super disorienting,
but now it's actually super easy.
Okay, awesome, I'm gonna start using that.
And so now I use that exclusively.
Then I actually built a game in NeoVim
so I could learn how to relative jump.
So 10J, you know, all that,
just so I could force myself into the habit.
It's a great habit to be in.
And once you learn, once you just do it enough, that's why I built the game, so I could force myself into the habit. It's a great habit to be in. And once you learn,
once it like,
once you just do it enough,
that's why I built the game.
So I just do it enough.
It's super easy.
Then you get really good at it.
So I just kind of did one little motion at a time.
And so my,
my big new motions right now is just using much more C.
C is really fantastic.
C does the delete then into insert mode.
Yeah.
And so my favorite,
my favorite command right now is,
here, I'll just, I'll paste it to you.
But when I'm copying from one thing
and going to another thing,
I love Y-I-W that will yank
the entire contiguous piece of code I'm on
up until white spaces on both sides.
Then I can go to another place in V-I-W
to highlight another section of
code and then
paste in my previous one right
and so like have you ever had like a
you know you have like pattern matching you have
almost the exact same sentence
you need to do again so I like paste
it change one of them
and then either
use dot and if I can't use dot just to replay
it I'll just like yank out the thing I want and then paste to use dot and if i can't use dot just to replay it i'll just like yank out
the thing i want and then paste it somewhere else like iw is so much fun if you don't use iw it is
just so sweet what would you say to people who think that learning all of this is sort of just
like a waste of time and a distraction when you could just be writing code in vs code intelligent
whatever whatever editor of choice
it is. What do you have to say to
those people?
Generally, I think it's
mostly a lame excuse, and what I mean
by a lame excuse is I don't mean it's
not lame to say,
hey, I really want to focus on
code. That's fine.
But what I see is it's learning Vim and doing that isn't about wasting your time.
It's about you really wanting to learn your tools better, right? If you use Vim, you'll also find
that you have to use grep more often or said, or you'll have to get JQ or you'll have to do,
you know, like you start learning your entire system. You just learn more about things.
And so I think that at the end of the day,
due to me using Vim,
I have become a significantly better programmer
because I'm more significantly aware of my environment.
And I don't know if I would have ever been that
if I would have stuck to something like IntelliJ
because I would have just used Control-Shift-F,
searched for all the things,
learned how to do all the replace, just use the, which is a very convenient set of tools,
but those tools just also exist everywhere. I would have opened logs in IntelliJ and search
through logs and do all that. But now that I'm getting pretty good with JQ, I open logs in Vim,
highlight all my logs, execute a JQ statement. It will reduce all my logs into now just a couple
keys and all that.
And I can go, okay, I like these ones.
All right, let's filter again.
And like, there's some cool stuff you can do
by piping in and out of a file to the command line and back.
It's like super neat.
And it's just like, I wouldn't have learned all those things
if I didn't, you know, do that.
And yeah, sure.
It was kind of a waste of time configuring an editor,
but it also has made me a better engineer.
So I'm happy that makes
sense no that that definitely does make sense um you mentioned your your linux box before how long
have you been messing up with linux for and did that come like from like needing it for work and
then doing that or was linux an interest uh was linux an interest before that? I, this is going to sound so stupid.
I use Linux for the window manager.
I use Linux for the window manager as well.
Yeah, that's it.
I have no, I don't really want,
like I've never distro hopped.
I used Ubuntu and now I use Pop!OS.
Like I don't have a strong desire to deeply learn Linux,
though I know enough about it to kind of like,
if I need to find anything,
like I've learned enough to be able to do stuff.
Like if I oopsie daisy some stuff, I can go find where things are and delete them out.
I generally understand how things are sourced, passed, all that kind of stuff, right?
Like I generally kind of understand Linux, but I don't really care as much as the fact
that I just want an environment that I can press one key and go exactly where I want
to be always.
And I just want it to work. And I just want to be always. And I just want it to work.
And I just want it to be fast.
And I want it to work.
I don't care if audio works all the time, which sometimes it doesn't.
It's mostly only doesn't because I have this capture card.
And the capture card really is actually where all my problems are at.
It's actually not, it's no longer Linux is my problem.
It's now the capture card.
So that's cool.
But it's still just like, that's why I use Linux is because I want a really good window manager.
When I use Mac,
there's not a good window manager.
It's just like,
there's kind of a window manager.
When I use Windows,
Windows is just awful.
I can't use Windows.
I have to use Unix.
I understand Unix,
I just don't understand Windows
and it drives me nuts.
So I've just kind of stuck with linux because
it's it works very well for my job you either use mac or linux at my job no one really uses windows
just not really an option especially if you work on tv because tv has a kind of a unix flavored uh
software emulator of the tv that you have to launch and program against so it's like you're
either using linux or you're using a Mac.
There's no other option.
And so I don't want to use a Mac.
I don't really care for Mac.
Like having a, you know, a quote unquote
nice computer doesn't really bother me.
I just want something that works
and has a really great window manager.
And Linux just totally fulfills that.
That's a very different approach
from a lot of the people I have on.
Cause you know, most of the people in my space are obviously like you know diehard linux fans like i run arch linux for
example there's a bunch of other people that run i had a guy on not long ago ran gen 2 you know
things like that like daily driving it sort of stuff i know other people that daily drive linux
from scratch things like that but that's super impressive though it It is, yeah. I have done a Linux Refresh install. It's a waste of time. I just like compiling a lot of code and doing nothing
but compiling code. Just bootstrapping an LFS system takes a long time. Just getting all that
basic stuff set up is not worth it. But I get it. It's cool and I did it once. But it seems like the way that you use Linux is more of as like a tool.
It doesn't really matter
like what the underlying issue,
it doesn't matter what the underlying distro is.
Like you're here for the window manager,
you're here for the Unix tooling.
The rest of it is just inconsequential.
Like if your distro was swapped out for something else,
the only thing that would change to you is,
oh, I need to install a package my package manager is different yeah i now have a pacman or whatever i don't know how
to say that one uh but yeah it's like that's it and because the biggest thing for me is that
like the reason why i love linux is really i just want i want the ability to customize
my developer productivity.
And so that's why I use Tmux.
I'm sure I could use Kitty or Westerm or Ghosty.
I actually am on Ghosty's Discord.
I have access to it.
That's like my next thing I might explore.
But it doesn't buy me anything other than I'm using a more modern one.
And so I may not stick with it at all.
But I just want to, like, my favorite script I've ever built I call tmux sessionizer I don't know if you've ever seen it
or ever used it but all it does is I
press ctrl f and you have a
set of files that you
want and I find across all those files
with the max depth of one
or all those directories
and then I put that into a little
fcf thing and you just select where
you want and then it will create a tmux session
in that location here's a really simple example. I'll just show you. I don't know if people can
see it, but like right now I'm in a work project. I want to go to Vim APM. I'm now in Vim APM.
Fantastic. I want to go to my.files. I could just, again, just control F,.files. And now I'm
in my.files. It's just what it is. And so that's
all I want to do. If I want to go back and forth, you know, I can just switch back and forth between
I just want that. That's all I want is that. And then I'll type where I want to go and go.
So I just try to optimize my experience to be as fast as possible. And so everything like I put
my work browser on the same location every single time, GIMP on the same location, Slack on the same
location, everything is just a one key press, all the same location, just time gimp on the same location slack on the same location everything
is just a one key press all the same location just try to build it as you know as just low overhead
as possible that is the complete opposite of my system it is as i said as you mentioned about my
vim before it is thrown together mess that happens to just work but i i really respect the idea of having like a super well put together system that
like
just the only honestly the only things
that like are consistent in my case
like one thing I had
to do is get my bookmarks out of my browser
because I swap browsers to like talk about
them different times so I have like a script
that loads up my bookmarks and then
it just whatever browser
I'm currently on.
So I don't need to like migrate things,
it's a giant hassle.
And I would like to do that
for other things in my system as well.
But yeah, it's just something I've not got around to.
It's a lot of work.
Yeah, it's a lot of work.
Yeah, so that's kind of like,
that's my philosophy is I try to make
my most often performed task
in the fewest amount of buttons and always the same.
So like I never once think about where is my browser.
It will always and forever be position one.
And that's that, that's my personal one.
My work one forever and always will be position eight.
Slack will always be position five,
GIMP six, you know, terminal three,
PowerFinger right in the center. Yeah, you know, like it will just always be position five, GIMP six, you know, terminal three, power finger right in the center.
Yeah.
You know, like it will just always be that.
And so it's just like I never think I don't, you know, because the thing that I hate the most is search fatigue.
There is no greater way to give me anxiety than watching someone explode on Mac and see all their applications open to find where they want to go.
Like to me, I'm just sitting there like, oh gosh, oh gosh, what is this?
You know, or they use the command tab, but it's not just like,
you're not just swapping back and forth, which is a single click.
You actually have to like, oh, okay, that one.
Oh, okay, that one.
Oh, good, good, good, good, good.
Like I freak out because it's just like, press a button to get there.
Why are you doing this to yourself?
For me, the biggest one I need to deal with is my tabs.
Because normally when I'm just doing regular things,
I don't have that many tabs open.
When I'm doing video research,
I can have 20, 30 tabs open.
I'll have duplicates of the same tab.
Like, where is the thing I'm looking at?
If I'm trying like uh some video on
something happening on the links mailing list i'll have like 20 different emails open in different
tabs like where did the email go what do i do with this i don't have a good system for that
yet i hear people use like this grouping idea there's like these vertical tabs or yeah people
like yeah i i haven't tried that yet.
Honestly,
what I do is every time I go to my personal browser and let's say I want to go to Twitter right now,
I go to my personal browser,
hit command T or a control T and type in Twitter.
I just open a new one.
And at the end of the day,
I have 500 tabs open,
close them all and move on.
And just like,
I'm just no longer going to look for it.
I'm just gonna,
it's easier for me to type four
buttons and open it up because i just need to go tw enter yeah i don't know maybe that's maybe
that's lazy in its own unique way but it just makes it easier for me look you have the ram there
so you might you paid for the ram you might as well use it yeah so what window manager do you use i3 i'm gonna switch to not i3 here soon uh sway at some
point but okay everyone says sway is good i gotta go over to wayland and all that and and and enjoy
that i'll do it soon i still get screen tearing so i want to not have screen tearing and everyone's
like oh you gotta use pcom you know compton's a problem i've used pcom and compton and
set all the settings and i've done so much of it yet here i am i still have screen tearing so i'm
just like i accept screen tearing and i will switch one day if it pisses me off enough it doesn't i
don't see it do you have a like just great gpu in that system or is it just like whatever's on the
cpu say that again do you have like an actual gpu in that system or is it just like whatever's on the CPU? Say that again? Do you have like an actual GPU in that system,
or is it just whatever is on your CPU?
I think I have a GPU.
Honestly, I don't even know.
It's a Lemur Pro.
I think it has an integrated GPU on it.
I typically try to shoot for integrated GPUs
because anytime I've had like an NVIDIA GPU,
my battery lasts for approximately 14 seconds.
When unplugged, it's like I better run to the next outlet because it's going to die.
So integrated GPUs is, you know, I'm not gaming on it.
It's purely a work machine.
I have a 470 sitting right here, the one I'm streaming on right now or recording this video on.
I'm going to use that one.
Sure.
I have two 2070s right here.
I'm going to, you know, me and my kids, we all play WoW together or Roblox.
So I'm just gonna use
i'm just gonna use the big machines for the that task the only reason i mention it is because
nvidia drivers on wayland are a bit iffy um isn't nvidia always been iffy on linux
wayland notoriously so uh especially with anything older than like a 20 series card
intel stuff though is
it's fine you shouldn't have any issues with that especially because you're doing your captures
outside of linux honestly most of my issues are due to just capturing on linux and yeah it's it's
a bit messy right now tech is like constantly being changed new solutions are being developed
there's like this portal thing
and just all of this nonsense being done uh and right now we're in the middle of that transition
period so nothing is fully done yet so gives me a lot of talk but last time i played with nvidia
was during the bumblebee days and i was trying to get bumblebee to work out and it was a it was a
nightmare because i had a razor laptop that i put put Linux on and I had a big old beefy
graphics card that I could game on.
It's just like,
you know what?
That's what I learned.
I don't want a graphics card on my laptop.
Just give me just an integrated one.
And that's why I love system 76 with like their lemur pros.
I'm going to buy another lemur pro here shortly just cause it's so simple.
That's all I want
yeah and then my I also have another workstation that's a a thread ripper with without a I think
with also an integrated gpu it's just like I don't want I don't I'm never going to play video
games on linux it's like making fetch happen it's just not going to happen I'm just going to play
I know people keep telling me it's going to happen and when it does happen it's just not gonna happen i'm just gonna play i know people keep telling me it's gonna happen and when it does happen it'll be glorious i have a stick on that shelf back there
and i game on this system so it can happen it's just it can happen i've heard of it i had a good
friend uh beast co if you know him he's in the twitch community a bunch he got his fortnite
account permanently banned because he was using wine and some sort of gpu passer and he had like
three thousand dollars worth of Fortnite skins.
This was during the heyday of Fortnite and they would just not give it to him
back.
And he just like,
and he's just like,
I'll never play that game again.
And I feel so bad because he was like,
I'm gaming on Arch Linux and got destroyed.
You do not mess with Epic.
Epic will smack you down if you try to get around their systems.
Yeah, it's so funny. That's right. So I just keep it simple. will smack you down if you try to get around their systems. Yeah.
It's so funny.
That's why I just keep it simple.
No, that's totally understandable.
I only get on this system because...
Look, it's one of these things
where if things break,
that's a video for me.
Ultimately, that's what everything comes down to.
This is why I run Arch.
This is why I'm running
cutting-edge, weird window managers. I'm running hyperland which is like a wayland system
and it's like it only has been good for the past maybe like a year or so and i run this because
if something goes down if anything breaks i can talk about it yeah yeah i mean but that makes
sense you're optimizing you're optimizing for your use case like i am super good at vim and i'm making a plugin called vim apm to measure how good you
are at typing it on vim and using motions like i'm optimizing for my own use case right like
that's all i care about i think that's i think that's glorious that you're doing it right you're
doing the perfect way to do it which is i'm gonna live a life and this is the life i want to talk about and that's what i want to do like
i'm not going to talk about linux because i don't really know like i'm just not that educated on
linux like it's just not for me but i'll tell you all about vim motions and tell you optimal
optimal way to do things right well speaking of ways to do things you have sort of perfected the
making videos from your stream sort of content like you don't really do actual videos
that much anymore i know like there's hasn't there been like a couple but yeah i just released
one a couple days ago but yeah i i i'm shooting for about 10 to 12 a year me videos yeah yeah and i release about 360 to 400 videos on my other channel a year
and i don't know how you do that like i i can hold a conversation in something like this but
when i want to talk about something especially if it's not react content react content i can
obviously like you know you can you can wing that sort of. But when there's an actual thing that you want to talk
about, I have no idea how
you manage to, like, actually keep a conversation
going and keep it
somehow coherent and not
repeating the same thing over and over again.
Yeah. It's hard. I have to really think about it.
I actually think about that quite a bit as not repeating myself.
It's such a danger
when it comes to, like, live
speaking. It's very hard not to do it. The React content's kind of cool because it's a it's such a danger when it comes to like live speaking i it's very hard not to do it uh
the react content is kind of cool because it's not like watching a funny video and me laughing
or you know making an emotion it's more like let's read this technical blog and let's discuss why i
think this is good or bad and that's like a fun way to do it i feel like because i've you know
the technical blogs are usually really happy that i do it because it highlights some great things.
People really like it because most people read like the headline in one paragraph and
they don't read anymore.
So they just don't even get anything out of like the good stuff.
So it's like, I will, I will be the Morgan Freeman narrator for you just without all
the good voice.
And then we'll just talk about the ideas.
I think it's a, it's, it's really fun and it's a great way to kind of go over a concept without having to do just a ridiculous amount of preparation.
Because when I make a main channel video, I'm spending 20 hours on a script alone trying to really come up with the idea.
So you know how it goes.
Produce content is very hard.
Yeah.
No, I get it.
And I can hold a conversation with myself for hours.
Yeah, no, I get it.
And I can hold a conversation with myself for hours.
Yeah, and then someone in chat. You know, it also helps that I did streaming for five years before I ever even started trying to do any of this.
It's hard for me to call it React because it's not quite what modern mainstream would call React in the sense that I'm not watching a cat run into a wall.
But nonetheless, it is most certainly React.
So it's been super fun it's like it's been
one of the funnest things ever i'll be doing my first year of doing it will be february 1st
wow yeah the style that you do is you know there's a lot of we can mention any number of twitch
channels where it's just like turn a video on just like get get some foods. Like nothing is being said.
It's just like using the content as their content basically.
And then there's channels like Asmongold,
where he'll take a five minute video
and somehow turn it into like an hour discussion.
And that's sort of what you do in like your own way.
He was also my inspiration was for it,
is that after I started doing it,
I started like looking up people and I just saw I just saw so much crap.
And I was like, I know there's something good out there.
And then I kind of started watching some Aspen Gold stuff.
And I was like, OK, he's doing it exactly the way I want to do it, which is like use it as a platform and then go off the rails and just talk about the free flow and like challenge chat.
When chats like L take, you bring them up on the big
board and be like all right why yeah and you make them be a part of the conversation too and so it
just makes everybody more engaged and want to be a part of the situation which i think is just a lot
of fun i know you've reached out to me with like the video that you're going to watch in mind but
is that something you normally do with your content or is that like i try to on the videos i try to on
none of the uh written
stuff i do i don't i can't imagine most blogs are unhappy about that um but a lot of the videos i'll
try to reach out to just because i don't want to some people are sensitive i had one person uh
give me a pretty good insulting for watching their content uh i mean despite i literally like after i
did that i gave many
compliments and their channel grew by like 50 like they went from 20s of thousands to like 30s
of thousands for subscribers and got a lot more views and things were great but they still just
were so mad at me for looking at their content so i was like okay i'm gonna try to reach out first
for anyone i don't know just because i don't know sure i can understand like why people get weird
about especially when it's a new video because some people feel like you watching it might be
like stepping over the views they would naturally get and it might get make the video get less used
but i don't know how anyone really says that after they see the impact that it has on their channel. The only case where I could see it being a negative is if you or someone else was to like completely trash the video and then maybe I could see it.
But yeah, I try never to trash a video like I'll say, oh, I don't like that point or I don't ever try to insult the person because I know that in a sense, I hold a lot of their like, quote unquote, future in my hands by doing this.
And like, that'd just be so rude of me.
Like, if someone did that to me, I'd be very sad, even if they're smaller or bigger than me.
Say something mean about me.
I wouldn't like that.
And my wife has been really a big kind of driving force in my life saying like, hey, you got to really be careful about how you say things and all that.
And so I really, I really do try to like lift up the person and really grab out the things and all that. And so I really do try to lift up the person
and really grab out the things I really like.
I know there was a video not too long ago
that I disliked probably 80% of it.
And so I just focused at the end,
really talk about that 20%
and why I think that was a really well done part of it
and all that.
I don't know, it can be tricky.
It can be tricky because you don't want to ever,
you don't want to destroy someone. don't want to like destroy someone.
That'd be awful.
And so it's like, how do you bring up somebody
even if you aren't necessarily loving what you're watching?
I think the only exception to that
is when someone is trying to be actively malicious.
Like I've had people where they're just blatantly,
like they'll react to my video.
I'm like, you know what?
I'm going to react to your react.
And it's like, they are blatantly lying about what i've said or trying to frame it in a way where this is
you you know what they're doing they are not being that this is not it's disingenuous yeah yeah yeah
no yeah that stuff i you gotta handle differently that one i i still don't know how exactly to
handle that one yet uh just because you you know, like when I tweet something,
it could get a thousand or 2000 likes
or something like that.
And so when I tweet back at somebody
for saying something mean or something like that,
I don't really want a bunch of people dogpiling in.
And so there was a recent adventure I had
with somebody who said mean things about me
in a GitHub thing.
And so I reached out to him privately and said,
yo, let's like,
you should reach out to me first, man.
And he was just like, oh, okay.
Yeah.
You know, Hey, sorry about that and all that.
And then like a week later called me a racist.
And so I was just like, yo dog, like, why didn't you reach out to me first?
Again, I feel like we could have had this conversation.
It's a little bizarre that you did that.
And so he called a whole bunch of people that.
Anyways, so it's just like that.
It's hard to handle well because it's like, how do I respond to this person?
And is it even good to respond to the person publicly?
I don't know.
I'm still pretty out on that one because, again, you know know like there's this thing that i have where you
know people talk a lot these days about like punching down versus punching up and my general
take is if you think that punch is bad one direction it might be bad both directions and so
like if i feel it's unfair to do it this way but then someone hurts me i really try to think about
do is this punch justified or am i really sure you know effectively in some sense
punching for vengeance and not for justice right it's something like a hundred views for example
it's like do i really need to talk about this like yeah you're being you this is stupid but like
no one really cares it's not gonna affect me yeah i i get it though like it's especially it's hard not to
no i yeah no i get it like i i get enough at my size but i can only imagine at your size it's it's
a lot more people there's obviously a lot more people being positive as well but
yeah there's just as much more negative stuff and it's hard to really work out how to handle that and like what you should do and
it's a learning process like most people just don't know how to deal with that much attention
and it you know you have you have to go through these things you make mistakes and eventually
you're like okay well maybe this is a better way to handle this. Yeah.
Yeah, it's hard.
Yeah.
We're just past the hour mark now.
I'm not sure if you're still good to talk or if you need to like wrap it up.
I got to bounce because I got to do a quick workout
and then I got to go take kids to soccer
and all that kind of stuff.
Okay, all good.
Well, let the people know where they can find you
and if they want to catch your live stuff or whatever.
Yeah, Twitter, Twitch, YouTube, all the same name, The Primogen.
Yeah, you can go catch me on none of those, none of those.
You can insult me, say something nice.
I don't know.
You make a choice.
I mean, me personally, my favorite thing to do is live stream i like doing stuff live like that's just
where i get all my enjoyment from so i'm i'm more of like a clip guy so i i have watched plenty of
your individual topic cutouts but like streaming i i just i just can't get into like it's it's like
you know hours of content and you like get into them when you join it you're in the middle
of a topic unless you watch from the start of the stream it's just i like the idea of being able to
just watch what i want to watch when i want to watch it so i appreciate the fact that you put
out the clips and i like that most people do this now because it's just i feel it's a better way to
consume the content um yeah most of live streaming is empty space yeah it's just it's just a fact of
life yeah especially
those ones where they're just eating food and reacting to content and then it's literal empty
space yeah um as for me my main channel is brody robertson i do linux videos there six days a week
i've got the gaming channel brody on games i don't know what's gonna be live there something
probably the world ends with you and something else check it out if you're listening to the
audio version of this you can find the video version on YouTube at Tech Over Tea.
If you're watching the video, you can find the audio
pretty much any podcast platform.
Search Tech Over Tea and you will find it.
Give me the final word.
What do you want to say?
Give us your normal outro.
Use NeoVim.
Use NeoVim, kids.
Yep, that works.
Actually, you know what?
Give us your normal outro.
Let's see it.
Let's see you come up with one on the spot.
Well, my normal outro would be something like,
and the name is,
this has been a really,
actually a very fantastic podcast,
and I'm very, very happy.
I can't believe that you actually use Arch all the time.
I always think that that might not exist,
and people just say that on the internet,
but you literally are recording a podcast on it right now.
A gen.
Perfect.
How was that?
See you guys later.