Your support is very much appreciated. Thanks, guys!
So, I think we got to stop with some of
the hate as far as some of these AI
tools, some of these chat assistants,
these large language models, things like
chat GBT and Gemini and Clawude and
Llama. Now, I use all of those and I use
all of those in a variety of different
ways, including scripting and
programming because I am not really a a
programmer. I can do a little
programming. I know a little bit about a
few different programming languages, but
I'm not somebody that is a serious
programmer. I don't work in that field
and I'm not somebody that really wants
to ever work in that field or know that
much about programming. I don't want to
actually uh have to learn that stuff,
right? So these tools like chat GPT and
Gemini, these things are great. If I
want, for example, to create a program
and in a language I don't know, I can
just tell, for example, Google's Gemini,
I can tell it, hey, create this program
that does this in this language for me.
And within seconds, it spits a program
out. You know, something that would take
me potentially weeks because I'd have to
potentially learn the language a little
bit and learn some of the nuances,
right? It would take me seriously
several weeks to do some of this stuff
that these things can do within a few
seconds. One of the things with a lot of
these AI tools, there is a lot of haters
out there and they have these derogatory
names for things. For example, you've
probably heard the term AI slop. you
know, anything that you create using an
AI tool, whether it be uh generating a a
text uh or image or a video, it's AI
slop because a real person didn't create
that or a real person didn't create that
the traditional way. They had to use
this AI tool and you know, it's AI slop.
Basically, it's garbage because AI was
involved in it. We kind of have this
with programming as well. Anytime you do
any kind of scripting or programming
using a AI tool, they call it quote vibe
coding because you're coding based on
vibes, right? And this is actually this
uh term was basically coined by this
person here, Andre Carpathy. He wrote
this back in February of 2025. So, this
is just a few months old. He posted a
tweet that became very popular on this.
There's a new kind of coding that I call
vibe coding where you fully give in to
the vibes. You embrace exponentials and
you forget that the code even exists.
And he goes on and on to write about
what vibe coding is. But it's
essentially just what he said. You're
vibing on codes. It's all about the
feels, right? You don't know anything
about coding itself. It's just all based
on vibe. And that term kind of caught on
vibe coding. And you know, anytime
somebody talks about, "Hey, Chat GPT
helped me write this script." Hey, he's
a vibe coder, right? And for me, I don't
think this should be a derogatory kind
of thing. I actually think vibe coding
should actually be embraced. I think
it's the future. I have done a lot of
vibe coding in the past few months,
right? It it has become something that
is a normal kind of activity for me. And
if you understand how to use it, it's a
beautiful thing. First of all, it's not
coding in the traditional sense. You
know, when you're vibe coding, when
you're using a tool like chat GPT, for
example, you're basically giving chat
GBT what you want. You you want the end
goal result. You know, I want the
program that does this. Help me get that
program, right? And it's basically it it
leans on intuition and pattern
recognition, fast iteration, right? It's
about letting the code just kind of
emerge, right? you just happen to
eventually get to the end goal while
you're conversing with CHP. It's
basically kind of like you're an
architect and you're building a house
with no blueprint, right? And that's
kind of what you're doing when you're
vibe coding. You go into it, there's no
real plan. You kind of know what you
want, but in some cases, you don't know
exactly what you want. You meander
around until you finally get to a
product that you're like, "Hey, this
right here, this works for me. I'm
good." It's not about uh being correct.
It's not about correct code or clean
code, right? Matter of fact, you can do
this without knowing anything about
coding. Now, for me, I know enough about
programming. I go look at the code and
uh notice obvious things that could be
improved on, you know, things that could
be refactored. But if you don't know any
coding at all, I mean, you're not
worried about the correctness of the
code or the cleanliness of the code,
right? You don't have to understand the
code even, right? Somebody that knows
nothing about programming can do some
vibe coding. And I can actually show you
a couple of realworld examples that I
went through last night. I I decided I
was going to do some quick and dirty
vibe coding um for real world use, but
also for purposes of this video. So I
asked Google's Gemini. Basically, I
wanted to create a Emacs run launcher
similar to Dmenu or ROI. So you guys
know what ROI is. It's a command line
run launcher. Let me run this. This
here, this is actually not ROI. This is
actually Emacs, right? It's kind of
glitching out here. Let me escape out of
that. The code is a little buggy, but
this is not a finished product here.
What I was doing, but I basically told
Gemini, hey, I'm running Arch Linux. I
want to use the Emacs mini buffer window
as a run launcher similar to ROI. I told
it, you know, kind of I gave it a
function that I had in one of my EMAC
scripts. And you know, I basically said,
"Hey, can you possibly use this and
maybe flesh this out a little more?" And
we went back and forth a lot because Jim
and I gave me some things that were
buggy. At first, the first couple of
iterations of this, I would get this
kind of window here, but then I would
also get a second Emacs window with the
initial buffer come up, which obviously
was not something I wanted. I I want my
run launcher, but I don't want other
Emacs windows coming up with this. So we
had to flesh out that problem, we had to
solve that problem. And then we
eventually got to where this would open
without another Emacs window opening.
But when I would select a program to
run, for example, maybe I selected, you
know, the Brave browser or something, it
would open Brave and then it would also
open a second Emacs window along with
it. So that was another bug. So, you
know, we kept encountering bugs. Kept
encountering bugs. And then I had to
find a way to keybind it so I could use
this in my um Qile config. And right
now, by the way, these windows that
sometimes bug out. That is because I
actually have a different EMAC window
open on a different screen. So, it's
actually causing u that issue. If I
close my other Emacs window, uh that run
launcher does work somewhat. It's not
perfect. One thing, it is a little slow.
And partly the reason it's a little slow
is because when you exit out of
something in Emacs, for example, if I
escape, it takes like a second or two
for that exit signal to go to Emacs and
actually close the program. And that's
actually a design of Emacs. So, it's not
quite as peppy as something like Dmenu
or ROI. Uh because there is a delay
anytime you hit escape. I can disable
the escape or I could tell uh Google's
Gemini to disable where escape
immediately kills the program. But by
default in Emacs, it's there's a little
delay on the escape key. We've got a lot
of chat log here. Lots of different
example snippets of code. Some worked,
some didn't. Some half ass worked. And I
told it, hey, I needed you to improve
the code. I can actually show you what
we ended up doing. So, let me navigate
to my uhconfig/ac
folder here. And then I've got some
scripts and app launchers.
And I've got various functions in here.
And me and Gemini created several
different kind of functions, including
one, it created one for me to get my
Brave bookmarks. So, I've got my uh
Brave bookmarks inside Emacs, which is
kind of a neat little function. And I'm
I'm not sure if I would actually use
this, but it was a proof of concept, the
fact that that works. Now, after playing
with this for a couple of hours last
night, I don't know if I would ever
fully replace ROI with Emacs as a run
launcher. Uh because, you know, it's
just it's got some issues. It's got some
quirkiness to it. But this was again
something kind of cool, right? I I gave
Jim and I an idea I was thinking about
and you know we started playing around
and we got a whole bunch of code a whole
bunch of Emacs lisp code all of those
custom functions that I could have never
written myself well I won't say that I
could have written it myself it would
have taken me [snorts] quite a lot of
time and then I also asked a different
chat assistant I went to chat GPT and I
got the idea of this hey I'm I think I'm
just going to stick with Roi but I have
this idea can I have a roy launcher that
lists all the meta x programs in Emacs.
So in Emacs, if you go back to Emacs
here, meta X, and I get this command
prompt, right? And it lists all the
thousands and thousands of Emacs
programs that I have available for me
inside my Emacs, all the functions in
Emacs, and there's probably thousands of
them. And then I got the idea, I want a
roy that brings up MetaX in Emacs. And
with the help of chat GPT, I ended up
getting that. So, let me actually run
this script. Let me cd into this uh
folder that I have here. If I do an ls,
I have this program emac
for meta x.sh. It's a shell script. And
if I run that, it launches ROI. And then
the ROI menu here, all of this stuff,
these are EMAC programs. It's the output
from that. And if I want to, I can run
one of these. So, we can run the
standard find file command from Emacs.
And let me actually find the proper find
file. It's right here. And if I hit
enter on that, it opens Emacs and it
runs the find file command, right? You
see down here, it's running the find
file command where I can navigate to
some file. For example, actually, I
could just have opened that script for
you. Let's go ahead and open that. You
can see it's not a lot of code. This is
very simple. This is something I asked
chat GPT for and in less than a second
it spit that out. I put that in a file.
I I made it executable and now I've got
this cool little ROI menu that gives me
the Emacs meta X command right here in
ROI. Now again, is this something that I
would seriously use? Probably not. But
again, I these were fun little scripts
and I could see myself eventually
finding uh some really cool stuff where
I asked one of these chat assistants to
do things that, you know, maybe would
seriously change my workflow and become
something that I would actually use on a
regular basis. So, if you're one of
these people that kind of look down on
these chat assistants and these large
language models, and if you look down on
people that vibe code, uh I I think you
need to reconsider. Vibe coding has a
place. Vibe coding can actually be
extremely useful, especially when you're
trying to again explore an idea. You
don't really know where you're going.
You're just kind of letting the code
happen. Maybe you're not a programmer at
all. You don't know anything about
coding. Maybe you have an idea, but you
don't know how to get there, right?
Sometimes it's just about uh just going
back and forth with one of these chat
assistants, bouncing ideas off the chat
assistant. Now, obviously, are there
some downsides to vibe coding? Yeah, you
could potentially end up in a situation
where the program that it comes up with
has some malicious code. For me, I know
enough about programming. I can usually
read these scripts that it spits out. so
I can go through the code myself and
spot things that might be an issue. If
you're not one of these people, just
know there is some risk you're taking by
just blindly running these programs that
these chat assistants spit out. There
could be some fragile behavior, right?
The script could not work. That's always
a risk, but a lot of times whatever it
spits out the first time is either not
going to work at all or it's not going
to work the way you intended because
sometimes you just don't give the chat
assistant enough detail, right? You tell
it, hey, I want you to create a program
that does this. You don't give it a
whole lot of details, and it does what
you told it to do. You know, it'll
create that program, but not really in
the way that you intended because you
didn't give it enough specificity. But I
think this stuff is going to become
extremely common place going forward. I
think I could see a world where vibe
coding becomes normal for even
professional programmers because why
not, you know, especially for something
quick and dirty. Hey, I'm just going to
uh use some VI coding just to kind of
shape where things are going, just to
let the thing happen. And then later
when I need to develop the program in
proper form, we can do some refactoring.
You can even use the chat assistant to
help you refactor the code later. But at
first, you just want to get to the end
goal as quickly as you can. In my
opinion, it's it's very much like that
architect that is just sketching some
blueprints, right? it's not, you know,
going to be the official plan for the
building, right? At first when he's just
sketching things out, he's just kind of
spitballing it and then later he'll go
back and refine it. I think that's what
vibe coding will be for programmers. So,
there you have it. Just some of my
thoughts. Before I go, I need to thank
the producers of this episode. Matt,
Steve, George, Dar, Lee, Mark, Methos,
Uran, Peace, Arch, and Fedor, Roland,
Warrenu, and Abuntu, and Willie. These
guys, they're my highest tier patrons
over on Patreon. Without these guys,
this episode about vibe coding wouldn't
have been possible. The show is also
brought to you by each and every one of
these fine ladies and gentlemen. All
these names you're seeing on the screen
right now, these are all my supporters
over on Patreon because I don't have any
corporate sponsors. I'm sponsored by you
guys, the community. If you like my work
and want to see more videos about Linux
and free and open source software, even
free and open source software that I
create using Vibe Coding, subscribe to
Dro Tube over on Patreon. Peace, guys.