mm-hmm yep oh my gosh i'm so excited to get into this
welcome back to type a unhinged the podcast for the architects of order and the masters of chaos
i lost track of count i don't know if this is latte three or four oh no but it's definitely
at least three oh i moved my server from upstairs in the closet down to behind my tv in the main
living room because in the summer i don't want upstairs getting hot from the ai stuff
i also got yeah it was a yeah i'm still on like cloud nine from how productive i was
uh speaking of servers nate that was a an accidental segue into
our topic for today vibe coding i'm so excited i i love vibe coding what is your take
uh also love it this has been on our list for a little while and i felt like i didn't have as
much to contribute as you until the last few months and so it was like yep that's it's going
to the top of the list let's go yeah let's talk about it where would you say like first of all
for our listeners if they're not sure how would you define
vibe coding oh gosh i would define it as i should have thought of this ahead of time nate i would
define it as uh basically a prompt interface to coding an app or a website or whatever the heck
you want it to be uh that allows you to like not have to learn every detail about coding
in order to actually create something at the same time i do think it is important and we'll probably
get into this that you do understand some basics and are learning and teaching yourself those things
as you go otherwise you can easily get stuck and be like okay i guess i can't build unless you're
doing something so incredibly basic right um you definitely you still need to to learn and
understand a few things the ai can generally fix the problems for you but not all the time
yeah i think that's well put yeah like vibe coding you're using natural language to code right with
ai's help but to me it's enabling everyone to go from syntax focused like is my semicolon or period
in the right spot for the code to not fail to more sentiment focused what are we trying to achieve
here what's the end goal or vibe right agreed with you i i think it's like one of the most
coolest things to come out in the last several years i think it's like one of the coolest things
to come out in the last several years in the last several years in the last several years in the last
I think it's enabling pretty much everyone on the face of the earth to dabble in tech that maybe before had that like imposter syndrome or barrier to entry just from knowledge perspective.
And now that's basically gone.
However, I do want to recognize that for the people that don't know a lot about programming, there is a huge potential for a lot of risk as well.
Like, for example, if you know nothing about cybersecurity and you tell AI to make you a website that has a portal that people log in, log into, there's a really good chance that that's not locked down or secure in any way.
Right. You're getting a portal, you enter a password and a lot of the security best practices aren't being followed.
So to completely agree, you have to know some, but a fraction of what you used to need to know.
So, Dai, what was the first what was your first vibe coding experience?
My first.
My first vibe coding experience was actually in Canva.
OK.
We had a couple of use cases at Fun.com at our day jobs.
And I had one where we're constantly missing in our studio when models would come and go, especially if we had a like offsite lifestyle shoot where you'd have like a dozen people just coming and going different starts and stop times or maybe even with a break for lunch because it was a full day production.
And.
We would handwrite as people were coming and going.
And if one of us missed it because we were busy doing something else, then it's like, oh, did you catch what time Sarah left?
You know, and it's like, oh, did somebody like, OK, I think it was about this, you know, and it was just like big frustration.
Right. And it happens in the studio as well on site.
So I was I think I can build a really basic time clock.
I know there's a bunch of them out there.
Right.
It's just it's just a button that records.
The time and ends the time and has profiles for everybody.
We're not going to open it up so that it's like available online.
So we don't have to worry about names even being out there.
You don't need a password.
We can keep it super duper simple.
And I was able to go into Canva code, they call it, and prompt my way into this.
And I didn't actually see like you can toggle to the code side.
But I was like, I don't I don't know.
I know basic HTML.
OK, it's a CSS, but that's it.
So I was like, I don't understand what's happening on the back end.
All I know is I can prompt it and tell it exactly what I want it to do.
And and I started really basic and I was like, OK, now I want to have an option to export everything by a date range.
So then I would tell what I want, where I want it, how I want it to function.
You have to be very, very detailed, just like when you're prompting AI in general input equals output, garbage in, garbage out.
Right. So you have to make sure that you're being very detailed about it.
But I was able to make this model time clock that functioned for us.
For a short time until we didn't end up booking models very much anymore.
You decrease that.
But it was that was my first foray into it.
And it it was pretty seamless.
Very, very light lift.
It gave me hope.
I was like, oh, my gosh, what else could I do?
I still remember that first day you came into the office after making it.
And you're like, guys, look at this.
And it was one of the coolest things like.
OK, so.
Canva code.
Shortly after that.
I stumbled across Firebase for personal reasons.
I was just looking at what's out there and I was like, I wonder what I could make.
And we were just in the process of moving to our new building.
And so my office was going to get a TV on the wall.
And I was like, OK, I'm bringing in video games that we can occasionally play in tournament style.
And I wanted a way to manage the tournaments.
And I envisioned like we might only have an hour this day or an hour that day.
And so how can we make what could be a big tournament and schedule?
It out.
And maybe it takes two weeks to complete, but we can still have fun at work.
Right.
And so I ended up using Firebase to make that.
And my I mean, literally, I felt like.
It was insane.
Like, I don't even have words to describe how how exciting it was.
And then I came and showed you and what please tell the crowd what you did with it.
OK, so I took that.
Our CEO had this idea.
Brilliant idea.
It's going swimmingly.
He wanted our customers who are big fans of animatronics for Halloween to be able to submit ideas for their own animatronics.
And so really this great collaboration with the brand.
And he wanted them to be able to do that.
But he also wanted them to be able to promote them because a lot of them have huge followers on like Instagram, YouTube, that type of thing.
And he wanted everybody to be able to vote.
Right.
So they're going to vote for their favorites.
The top 10.
The top 10 get like looked at and then we select two and actually produce them.
They get profits off that 5% revenue off of it.
Like this is a huge program, like very, very built out.
And the voting had to be only one vote per person.
So you can't vote multiple times because that could skew.
Right.
And people could create bots for it.
So there were a lot of different layers to it.
And when you talked about Firebase, I was like, well, I could I was thinking Replit originally.
And then I was like, OK, well, maybe I'll try this.
Because if.
I totally screw it up or I get really stuck.
Nate could probably help me because he's familiar with it.
To be honest, that is the way why I went that way.
Your experience is pretty positive, right?
Overall.
Yes.
Positive overall.
At first, I was very frustrated because we actually had mockups for this.
And so I was envisioning it would just take the mockup and do what the like the visual of the mockup.
And it was so far off.
And it added all these different variables and like footers and things in that were not even close.
To what was in the mockup.
So I learned very quickly that I needed to be able to understand what was happening in the code.
And I ended up relying too on like Gemini's built in.
That's the prompting within Firebase because they're both Google.
But I opened up a separate Gemini chat or project.
It's called right in Gemini.
I opened up a separate one there and I was taking screenshots.
What was happening?
Screenshots of the code.
What does this mean?
Here's my issue.
I want the best.
The background of like like a different dev was like really expanded all wonky.
And so I'm like, how do I fix this?
It's not pulling the right image in.
Where do I put that?
So I learned a lot to the point now.
I'm not even really utilizing the ask Gemini what you want to do to your page or site.
And I'm going into the code and working with Gemini on the side.
If I'm running into issues where I'm like, I just added search, for example, on the admin.
Login side.
There's an admin log inside too.
Oh my God.
It was like, it was so great.
And that looks really bad.
And I was like, how do I move this and make it look better?
And you know, so I was, it was fun to watch the adjustments.
Yeah.
Oh my gosh.
When I got that metal log into work, I ran into your office.
I felt like I made fire.
I was like, what Tom Hanks and Wilson?
I made fire.
Right.
But it's just like, I finally got the metal log into work.
There is a few of those too.
You have to go through all their processes too.
Yeah.
I feel like I made fire.
Yeah.
A few stumbles, a few recovers.
And now we have an entirely vibe coded app featured on our website that customers are
using in high volume.
Yep.
High volume.
We have over a thousand entries already.
Yeah.
That's insane.
I haven't even counted how many votes, but some of them have like multiple, multiple,
multiple hundreds, four or 500.
That's actually, that's, I feel like that's a pretty good segue.
Cause what I was going to talk about next is, okay, I want to take you and our listeners
back even just like two years ago.
Yeah.
And, and so one of the reasons we started this is because before vibe coding was widespread,
right, we had this need at fun to monitor some of our partner listings, whether they
be on Amazon, Walmart, whatever.
And I ended up downloading an app, two different apps on my phone and then taking an online
course on how to learn Python and SQL.
And I ended up setting up my own Python scraper and my SQL database to hold all the data entirely
by myself.
And this was before.
even have chats with AI right like I was going to forums that I felt like were active and posting
screenshots with questions to learn what the heck was going on like what was wrong with my code
it's so impressive so impressive it was wild so going from that that where it took me almost a
whole year just to figure out what I was doing and get something working to now in like hours
sometimes you can get what you need going is just insane but I learned very quickly doing it all the
manual way what you were just highlighting with pushing out the search feature right like testing
in your local environment being super sure before you hit push I can't even tell you how many times
I messed up and uh had to learn the hard way how to do things better for example right away when
you started your firebase project you connected it to git so you have version control I didn't
know about git for like six months after my project and I can't tell you how many times that
like midnight I'm updating a line of code because our boss wants new data scripts
and I accidentally cleared out four lines of code that were needed and it took me two weeks to
figure out where that went because I had no backups I learned I learned from your lesson
because you told me right away to hook that up and I did like as I built it yep but all of the
disasters I feel like they they shape you right oh yeah on top of like checking in bad code I also
had this moment where when you're building it yourself and you don't have AI to help you you
don't always think of all the outcomes and I remember the one day when we did this big scrape
and I filled up all the hard drive space that the server had to the point where it took me like over
10 minutes just to log in because it couldn't like it couldn't record my session and then I couldn't
just delete stuff because this is all stuff we needed and I had to figure out how to make trick
my remote cloud server into thinking that my hard drive located in my house was physically attached
to it so I could send a backup to my house before wiping the remote drive and making space yeah
insane anyway
you learn you learn and and as when you're doing it as a as a side project I mean yes it was for
your job but you also didn't do that during your job because you had a job to do during your normal
job hours this is just extra but I think all of that really helped like both you and I right like
talking to you about some of the things I struggled with and saying you should try git
helped you right away like all of those I guess scars of doing things the hard way helped us
really understand the importance of doing things the hard way and I think that's what I'm trying to
emphasize is the importance of QC which I I do think is even if you're vibe coding a sick project
and all these barriers are removed there's still an element of QC that's absolutely needed right
yes absolutely and that's enough that's another lesson that I learned too from doing the actual
like in designer chat coding versus in the code side of things is that when I have an idea and
I'm explaining exactly what I wanted to do and I'll even use Gemini to help me prompt it a certain
way
I have to be really cognizant of all the other things that could touch oh we have these designer
profiles of that that program for the the haunters right and on the admin side I want to be able to
filter by them and so I had them linked to the designer profile but the designer profile
permissions are only allowed for the designer themselves to be able to see the pending or
denied because if something's inappropriate we'll deny it but if it's not appropriate we'll deny it
or approve statuses and you don't see any of that if you're just a regular user visiting
their profile so I had to make sure that I wasn't messing something up for a regular user where then
they could see all of these the denied pieces by allowing the admin side to see it so you have to
like yeah really think through all of those those bits if you're doing the vibe coding side of it
that is I I literally just had that exact same thing happen to me with the hangout spot not even
two weeks ago
so real quick it's also permissions related and I almost poop my pants to be honest but it was all
happening in my testing environment so I caught it and this is why you test in QC however so for
those that don't know I think this fits right in with the journey actually so you start you tried
canva then we found firebase you made the app for fun I made that bracket software and I think the
next step in my journey personally was all these things were so cool and again eliminated barriers
it was fun right there's
instant gratification with it you can now make tools you could never make before but one one
downside that a lot of people don't discuss a lot is that the companies that made these tools had
really great marketing teams and they kind of lock you into their ecosystem to an extent right like
you're using firebase and if you use the designer chat and you build this app it's going to default
to using firebase's database or firebase's authentication or firebase's back at other
back-end services right and then you're going to have to make sure that you're using the right
things right and then you're going to have to make sure that you're using the right things right and
suddenly now your app starts getting attention and visits and now you can no longer live on like
the free tier and there is a convenience tax right like as you scale you will pay
yeah and so I had this idea to make the hangout spot and my vision here was like a privacy forward
brand new social media app designed to help people hang out with their already existing friend
friends right in person eventually online as well I did add that functionality but the intent was
to help people hang out with their friends especially to support the spontaneous side
of things like I'm going to the gym and I don't care if any of my gym bros drop in or are there
at the same time more of like a passive I'm hanging out I wanted to kill that group text
with 20 people of what are you doing right like who wants to come over anyway I I was
while I was debating how I would make this I did want to plan for the fact that it could grow
right and I didn't want to be stuck on a platform that now I'm
funding and so I went on this journey of really trying to switch off of like cloud AI and go to
local AI and I think this also we touched on this in one of our previous episodes of type A people
getting not hobbies but unpaid secondary careers and kind of going all in definition of what I did
I rebuilt my server so that I could host AI models and then I downloaded Microsoft's visual code
app in there or an extension in there called rue code but now instead of using Gemini or Claude or
chat GPT to help me write my local server that's in my closet is running its own AI models to help
me and the benefit there is then everything that I've been coding for the hangout spot I can host
on my own infrastructure like I'm using you know my own database my own file storage everything
there and so I'm not as I scale I'm limited by the resources my server has versus paying per usage
fees on some of those third parties right yeah yep um but in my to go back to the issue I learned
I'm working on the hangout spot it's been live for about a month and a half and I found a need to
roll out co-host capabilities if I set up a hangout maybe it's a bigger one maybe die you
also need to be like a moderator or like a co-host of this event right like you should be able to
accept RSVPs or kick people out or
whatever there's several permissions that are tied just to the host so I went through had AI
helped me draft up an implementation plan we went through and QC'd it made sure we were thinking of
everything I pushed the code out to my testing server open it up every single hangout that
anyone has made is visible to anyone because my co-host logic ruined the permissions of yeah it
blew everything up and granted like I think my implementation plan was like spot on how we should
have done it but I think it's a good thing that I'm able to do it right now and I think it's a good
thing that I forgot to go back and make sure you know that it wasn't messing up permissions
elsewhere so anyway I fixed that and then like four or five days later I found another spot that
it was still wrong and what it was was when you go to a hangout where photo uploads were enabled
that was one little bug where I forgot to again update it for co-hosts so the importance of like
sometimes you're rolling out features that you don't even realize they're going to break other
things and yep it does and it does
should we do a rapid fire I love rapid fire round rapid fire is fun here's a good shared one
cloud hosted set it and forget it or local hosted spinning fans and 30 night use
oh um yeah I'm gonna go self-hosted only because of cost efficiency there again kind of what I
just touched on if I'm gonna build something I'm gonna go all in as a type a and it's going to
fail and I don't want to be stuck paying for somebody else yep that makes sense um I'm I'm
probably still in the cloud hosted set and forget it mode right now just with the projects I've been
working on because I'm looking for speed of deployment and making sure it just works uh
because I'm not doing a personal project I think if I was doing a personal project I would probably
go that route but this one I was like I have two weeks to make it and to demo it for an influencer
along with whatever else I'm doing in my daily job so I needed uh I needed something quick
and and that's a super important distinction right like um I'm bootstrapped I wanted to start a side
project and I don't want to invest anything other than my own time that's a very different approach
than like we need to get this going now yep okay for die what is the most unhinged prompt you've
given some of the
vibe coding designers oh my gosh unhinged prompt that actually produced something that works
oh that pretty or not you take it either way either way um man I wish I had one pulled up
that I could scroll back through I I know I definitely prompted back this is before I started
really getting on to the code side of things and I was very frustrated
I told it to stop creating images and to use the image I provided
like why do you keep doing this stop it I would say my unhinged examples all involve swear words
like it's like I did not tell you to do that so stop freaking doing that yeah one that actually
worked though I'm gonna say creating my admin dashboard side because first I built the design
program and it's designprogram.halloweencostumes.com
if you ever want to check it out but I built it and then I was like okay I can go into the
database and approve just from the submission logs by updating the text fields in there but
I need a way for my team to be able to do it because I can't manage all of that on a day-to-day
basis so I had to prompt it to allow for a specific gmail login because I set it up for
gmail and meta logins and that's it that's the only way you can log in and so I gave it a very
specific one and I was like okay I'm gonna do this I'm gonna do this I'm gonna do this I'm gonna do this
one and said for this one only then I would like to see an option in the drop down for an admin
dashboard and then specifically for the admin dashboard anything coming in that's pending for
approval and I set up all of those states ahead of time like what to display and how to display it
and everything and it worked the first time I mean there was like a couple little tweaks where I'm
like this is a little ugly and and hard to like from a ux standpoint but everything functioned
right away that's not somehow I don't know I don't know I don't know I don't know I don't know I don't
know somehow I don't know if this is unhinged but the most basic prompt that I did not think
would work that did work where I was like what the heck is on the hangout spot I felt like again
solo dev like I don't have a team of people I can answer bug reports or questions or whatever so I'm
trying really hard to like you can file a bug report in the app and I'll get back to you and I
can but I don't want like an email box you know I don't want a bunch of things that I have to
yeah yeah I don't want to get
bogged down so I was like okay one of my friends was like how do I do this and like
yeah I don't want questions on how to do things either so I should probably make like a self-help
like wiki oh yeah I gave it one sentence and was like my users need a wiki that I can control from
the admin portal that allows me to document commonly used features where they can like
whatever I did not give it much direction and it came out so legit you can nest pages it
automatically adds like a lot of stuff to it and it's like it's like it's like it's like it's like
like emojis I mean like I feel like my wiki blew up in the best way possible so it's really
understanding best practices probably for something like that because that's a common
use case yeah and wow and I didn't have to give a lot of context because it already knew what my app
was and I wasn't putting any type of authentication or blockers around the wiki I actually the only
thing I went back and had it do after was make sure that my wiki pages showed up in my site map
because those can help with seo right so I didn't have to give a lot of context because it already
knew what my app was and I wasn't putting any type of authentication or blockers around the wiki I
didn't have to give a lot of context because that's a common use case right but right yeah it
was pretty nuts a one-liner got a whole wiki data or a whole wiki infrastructure set up on my app and
it was it was cool Nate just talking about this I'm like what's my next project what am I gonna
I kind of wanted to talk about that at the end like I'm sorry I'm jumping ahead somehow no that's
like that's what makes this so fun like sometimes when I'm bored and it's like nine o'clock at night
and it's dark outside I'm just sitting on my couch like okay what do I want to make next
well my son okay we'll get to it let's uh let's keep going with our with our uh rapid fire here
okay what was your best deep end struggle the moment you realized you were way over your head
oh okay so back to when I was transitioning from cloud AI to local AI I rebuilt my home server
right and so I I had a home server it was running a lot of services for me before but not AI so that
was like the big thing I wanted to fix was not run AI and I was like okay I'm gonna do this I'm gonna
run AI and AI runs primarily on GPUs not CPUs so I had to get like a graphics card my server is like
it's a big computer box I bought like a server box but it looks like a slightly bigger desktop
right if you can visualize that okay and yeah yeah and it's just sitting in my closet in the
laundry room in the corner only with two cables plugged in a power cable and an internet cable
there's no monitor keyboard mouse like no peripherals like it just sits there quietly
in the corner can you please
can you please take a picture of it yeah it's cute I'm like envisioning not that I ever think
we'll be like Jeff Bezos but I'm envisioning like that first Amazon shot you know the desk and it's
like a hand-drawn picture behind him do you know this have you seen this photo we should we need
a photo of that go ahead continue so I bought all of the hardware put it all together everything's
turning on and passing tests and I could not get AI to run on the GPUs
only on the CPU and that was like 15 times slower minimum it took me like almost two weeks to
figure out how to install the right graphics driver so that my server knew how to use the GPU
okay and the worst part was like I'm talking like probably spent 40 hours on this issue like a full
full time like weeks worth of work it was the exact same command that I had tried the very
first time with a flag added to the end and I was like I'm gonna have to do this again and I'm gonna
saying this is headless meaning no monitor keyboard and mouse oh my gosh wow yep wow
the more you know right so what about you um I definitely had to our rabbit holes I don't
think I had anything that I deployed that failed completely like it didn't go live
meta the meta login was definitely that was a multi-day like I don't know how many things
I switched in the meta app side of things and finally I realized there was one flag for email
address that was separate than profile and I had asked Gemini I had asked GPT I had asked everybody
like taking screenshots what do I need what do I need this is what I'm trying to do and it said
I had everything and that it was correct and then I got it approved through Facebook and then it
still didn't work and I was like what's going on and finally finally um was able to go in I'm like
I gotta think that I need email and be and request that for meta and not just profile information
and once I did that the next morning that was approved and then magically it worked so uh yeah
didn't deploy it that way uh but I definitely spent many many an hour trying to figure out
what the heck was wrong and why it wouldn't work it was just that simple checkbox props to you
I originally was going to do meta login on the hangout spot and then I read forums about how
it's notoriously incredibly difficult to set up compared to Google
and I gave up I didn't even try so the fact that you guys don't work like I was like Google's
enough man I went with a sovereign email login and Google and that's it well when you're ready
Nate if you ever want to add it on hopefully hopefully I can save you some hours I can consult
Dai from Type A Unhinged yes sir Dai at Type A Unhinged all right one more for you here just you
root code or github copilot who is the better assistant when the logic gets weird
my biggest gripe with github copilot as well as even like Gemini and Claude now is that they
even on paid plans have extremely limited how much you can use it so like you'll run through
your available token quota so fast so for that reason alone I use root code and the models I
have on my own server okay kind of hit on this earlier Dai but curious on your take is vibe
coding a shortcut or a new language
new language it's a little bit of both to be honest it's a little bit of both but you you
can't just describe what you want and poof it's there you have to understand how all the pieces
work together or be willing to put in the time to figure it out right right and at the same time
like you're not actually writing the code you're maybe updating code to fix things or make it look
better you might add some blocks in here or you might add some blocks in here or you might add
some blocks in here and there that if you understand it but I would say it's a new language
because yeah it's really hard to get something just with without knowing how it all functions
together on the backend and I feel like the biggest thing you learn when you start vibe
coding is how to coach the AI assistant through what you need right like there's a lot of how
you phrase things do you repeat your main goal at the end you know you don't want to put error
messages that are too long because it can start hallucinating things like that I agree with you
new language I'm a little nervous if like as AI assistants I'm not going to be able to do that
AI advances if it can remember some of our old conversations because
I kind of bully it sometimes and I don't want that to come bite me in the butt but right now
I'm like it's just a robot it doesn't know I feel like I've shared this uh in an episode in the past
before but early early early days back before image gen and everything right uh our copywriters
were using it and our copywriting manager he um had an instance where it got cheeky with him
because he would
yeah he would tell it uh please don't use that phrase anymore I would really appreciate it if
you didn't include that it was like this costume is sure to turn heads or something and just put
it in everything and so he's like please don't use it anymore right and it actually came back
with one later on saying that phrase and then in parentheses after it in the product description
you don't want like oh that's right you don't want me to use that phrase whereas somebody else on the
team was like you don't want me to use that phrase and he was like oh that's right you don't want me
don't ever use that again just like very direct blunt about it and it never used it again so the
way you talk to it at least way back then I'm not sure you know new models right it's all different
um it it does understand that context and how you interact with it and wants to interact back
with you the way you do because it thinks you're gonna be more comfortable so so I have to know
what are you planning to make next I want to jump more into
and make some agents make some agents there to automate some things there's some stuff we've
talked about it in the day job of just massive emails that require work for a number of different
departments and having them having having the co-pilot agent really like disperse it into
separate tickets and provide updates on what how many are done and not done versus having a human
have to read every email copy and paste every email and then have to do it again and again and
paste things into a bunch of different ticket systems for different teams either that or I want
to build a base for my son for his website and then allow him to really have some fun with it
but get get the basics in there so that he doesn't have to get worried and bogged down with all that
yet let him do some more of the fun stuff to really like hook him in yeah I don't know that
I have a great next project because I still have so many ideas of how I want to expand the hangout
spot I don't know I don't know I'm trying to figure out how to do that I don't know I don't
know I'm trying to figure out how to do that I don't know I'm trying to figure out how to do that
the best thing that I could use that other people would benefit from too you know like I don't want
to code something just for me yeah I don't know the possibilities are freaking endless and that's
what makes it so hard you know what I mean yeah and being type a like I don't want to do a half
ass project like I want to like it needs to be like eyes dotted t's crossed yes we're gonna have
to have a cocktail on my porch when it gets nice in a couple of weeks and brainstorm because I
feel like we're gonna just like oh my gosh let's vibe come live yep yep ah I'm pumped the possibility
I'm pumped too so I think the bottom line really is don't be intimidated just get in there get your
hands dirty play around with it if you break something it's fine just start over or use the
tools to help fix it jump into some other AI chats and and it'll show you the way just give it a shot
this is the way all right guys until next time stay type a and a little unhinged
thanks for listening to type a unhinged now it's time to get to work
make sure to hit subscribe so you never miss a system update
woo