Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:10
What? Else.
0:14
Welcome friends your listening to the
0:17
Change Log Conversations with the hackers,
0:19
the leaders and the innovators of
0:21
the software world. Today we bring
0:24
you Ellie Huxtable, the creator of
0:26
a magical open source tool for
0:28
seem keen searching and backing up
0:31
your shell history. Oh and have
0:33
you heard our Ship It Podcast
0:36
is back? Baby New hosts, same
0:38
change log goodness. Get over the
0:40
reboot. Listen at Ship It.show big
0:43
various to our partners. At
0:45
Flight Io, the home of
0:47
Change log.com easily launch your
0:49
apps close to your users
0:51
all around the world by
0:53
now. How at Fi.i Oh
0:55
okay l huxtable on the
0:57
change log. Let's do it.
1:09
Will. Friends. I have some good news
1:11
for you. It is Launch Week once
1:13
again for Century and I'm here with
1:16
Rahul Job Ria from the Prime team
1:18
at Century so Ravel! Can you tell
1:20
me about the launch read this year
1:22
for Century in March or a huge
1:24
investment into our product by for which
1:27
I'm bigger, faster, better a November we
1:29
shared a sneak peek about or new
1:31
metrics offer it. For now, developers really
1:33
define custom metrics they care about a
1:35
monitor how quickly their apples responding to
1:38
that is as measured by. After be
1:40
accountable for Plus Also right because my experiences
1:42
that are committed to an hour to be
1:44
real one an alpha people can sign up
1:46
your access I will turn off for them
1:48
like when the couple days once they write
1:50
in any can get going right away. travel
1:52
or it's like we are looking more at
1:55
how do we make the products martyr. Now
1:57
I know the world is talking about Ai
1:59
and Ml. There also are solving we think
2:01
like entertaining problems. Super center seeking a more
2:03
thoughtful approach to it. We're trying to go.
2:05
what is a developer trying to didn't like?
2:07
Our goal is not to have he said
2:09
central to our both not have as a
2:11
few tablets you need keep open or goal
2:13
is to have this be a tabby open
2:16
when something is wrong to be the information
2:18
you need right away. Tell you how impactful
2:20
is your user base and if easy chair
2:22
and if he is on bc care about
2:24
here's how to fix it. So we're taking
2:26
a broader look at how developers use a
2:28
product. Where is the noise? They're. Seeing like
2:30
seeing repeat events are they seeing like things
2:32
that are not critical rice the top and
2:35
haft automatic to resolve. the bird my the
2:37
tsunami central of smarter with artificial intelligence. To
2:39
give you a more prioritized you are the
2:41
issues that really matter. seek and solving quickly
2:44
and move on and not be distracted by
2:46
random rates. Clicks that are you know just
2:48
goes to she's Those are two major things
2:50
coming out of, like thinking about more like
2:53
to find an emergency care about have suffered
2:55
in always like organizer issues to developers who
2:57
actually saw this false faster and the we're
2:59
also. Working on a few features for our
3:02
mobile developers like centuries, a platform that works
3:04
by any technology was there. For mobile developers
3:06
there's always been this site wait a second
3:08
there was an air for hold on a
3:10
good the of this device and see if
3:12
I can recreate it. I carry created a
3:14
kilometer like the stack Trace my gets his
3:16
desk me something they'll just fix it for
3:18
Shirley's and hopefully those ballot because it's go
3:20
up and across a user it's go out
3:22
But this was solidly this idea like I
3:24
still need to figure out like where does
3:26
that bag of used old devices for someone
3:28
running insults I was thirteen. On an I
3:31
phone eleven somewhere. So we're giving them
3:33
the ability where preteen ability for mobile
3:35
developers taxi see what happens on an
3:37
end user session. So that way there's
3:39
no question about the problem or the
3:42
latency issue and building up more performance
3:44
capabilities. Latency? Exactly how faster Office with
3:46
one thousand and three de Fazer with
3:48
my are talking about. Aside from core
3:50
platform announcements and integrations and cool partner
3:53
says we're working with guess the big
3:55
investment and machine learning are percent of
3:57
okay since you must be happens more
3:59
to. 18th to the 22nd. Check the
4:01
show notes for a link to the launch
4:03
week page. We'll be showing off new features,
4:05
products. You can tune into their YouTube channel
4:07
or Discord daily at 9 a.m. Pacific
4:10
Standard Time. You can delete a scoop
4:12
or if you want to get swag
4:15
along the way, enter your email address
4:17
at the page. We'll link up to
4:19
get swag all along the way. Or
4:22
join the Discord, whatever
4:24
works for you. edessentry.io.
4:26
That's s-e-n-t-r-y.io I'm
4:29
sure the link is up somewhere. Or check the show notes
4:31
for a link. While you're at it, use
4:33
the code CHANGELOG to get a hundred bucks
4:36
off a team plan. Again, use the code
4:38
CHANGELOG. Go to century.io You
4:58
can find the link in the description. You
5:00
can find the link in the description. You
5:02
can find the link in the description. Hello,
5:07
we are here with Ellie Huestable, creator
5:09
of A2N. Ellie, welcome.
5:12
Hi, happy to be here. Happy to have
5:14
you. This is a really cool tool. This
5:17
is one of those tools that you
5:19
use and you're like, where have you been all
5:21
my life? Tool? I didn't know I needed
5:23
you. And in fact,
5:26
I didn't even know this entire subset
5:28
of things, of shell history, was
5:30
so powerful until last summer when we
5:32
did a show about the Linux command
5:34
line. And I confessed on that show
5:37
that I had just learned control R
5:39
after multiple decades
5:42
of Linux use. I
5:44
had never known about control R. And after
5:46
that show came out, I had a few people
5:48
on Mathadon say, you have to
5:51
check out A2N. It's like control R
5:53
on steroids or control R on with
5:55
levels up. I don't know. I can't remember exactly
5:57
what they said. And I checked it out and indeed it was...
5:59
It was awesome, we put that on changelog news and
6:02
multiple people found it and thought it
6:04
was cool and then a few
6:06
months later you announced you're working on it full time
6:08
and I thought, we gotta talk to
6:10
Ellie. In fact, Adam, you also linked this up
6:12
to me privately. Like, should we talk about this?
6:14
Yeah. And I was like, we already
6:17
booked it. I was like, that's the best day ever, really.
6:19
Whenever I suggest something like that,
6:21
already done. Yeah, so we're
6:23
super excited to have you. Let's open up
6:25
with A2N, what it is, and
6:28
why you built it. Yeah,
6:30
sure, so you've kind of covered it quite well, but firstly,
6:33
A2N replaces control
6:35
R, provides like a nicer search
6:37
interface for your command history, but
6:40
it goes a little bit further than that. So
6:42
there's a few similar tools that make control R
6:44
nicer, like FZF, a lot of people use. But
6:47
the main sort of this killer feature, I guess,
6:49
is that it lets you sync the shell history
6:51
you have between N different
6:54
machines. I started this because
6:56
I had the problem myself kind of scratching
6:58
my own itch. I had this really long
7:00
command that I regularly used at work that
7:02
was suddenly useful at home as well. But
7:04
my work laptop was like the other side
7:06
of the room, closed, locked, whatever. And
7:09
I couldn't quite remember how to do it
7:11
exactly. So I had to go and like boot the
7:13
machine up, login, copy paste it across, and it was
7:15
really long winded. And I
7:17
actually didn't really want to make a new tool.
7:19
I kind of assumed someone would have solved this
7:21
problem already, but I couldn't find anything. So went
7:24
from there and I had a little bit of
7:26
time off work for some reasons. And I kind
7:28
of polished up a GitHub read me, put it
7:30
online and forgot about it for a little while.
7:32
But it turns out a lot of people had
7:35
the same problem too. So it grew from that.
7:37
I think I have that problem as well. I
7:40
do a lot of homelabbing, so not a lot of production work
7:42
really. And a lot of my machines
7:44
are ephemeral because they're VMs. So I will like be
7:46
embedded and do things and test out. And like that
7:49
command history just like stuck in that machine that just
7:51
now not even real.
7:53
It's just back to digital
7:55
dust on the disk again. So the command
7:57
history is there, not with me.
8:00
Now I'm also a user of
8:02
warp which does supplant some of that and
8:04
I thought well This is sort of like an interesting thing
8:07
like does warp use something like this behind the scenes How
8:10
does this work with you know that kind
8:12
of terminal because warp is doing some smarts
8:14
there and keeping some of that history I
8:16
don't know how it works, but it does work
8:19
to some degree but not always Perfect
8:22
long history. So I imagine that a twin is a little
8:24
bit better than that Yeah I mean from what I know
8:26
of warp they're doing a lot of different things shell
8:28
history there as far as I know it's not synchronized
8:31
and The kind of frustrating
8:33
thing right now is that a two and doesn't
8:35
work on warp They're like key binding stuffs not
8:37
customizable completely as far as I know But yeah,
8:39
there's a comparison to be made but the main
8:41
goal with a two and I guess is to
8:43
run in as many places As possible. I actually
8:45
heard from someone that it runs on their phone
8:47
And I only knew this because they were complaining about
8:49
compile times on phones being quite high. I was like,
8:52
sorry what? It runs on phones So
8:54
that's pretty cool. Are they using Terminus
8:57
what are they using? Did you know what app they
8:59
were using on the phone? So it's off in my
9:01
head I think it's like term oxal or something like
9:03
that. Yeah, the one I'm using is called. I
9:06
think it's called termus Yeah termus.
9:08
Yeah, T-e-r-m-i-u-s really cool. I
9:10
like it Well, I'm not
9:12
using warp because they do
9:14
not yet support tmux. No, they
9:16
get there. I will Continue
9:19
not to use it but excited
9:21
about that I've actually had
9:24
this problem inside of tmux even I think this is
9:26
fixable with a config where
9:28
I'd have multiple tmux sessions and
9:30
even they would not share their history between
9:32
the two sessions and At
9:35
some point I found a way of fixing that particular thing
9:37
to have those shared But it was kind
9:40
of a pain and a to and
9:42
will solve that I assume as well even
9:44
on the same machine between sessions Right. Yeah,
9:46
it does That's actually something a lot of users say
9:49
there there is for most shells some config you
9:51
can do to make sure That it is all the
9:53
sessions are shared, but it's not
9:55
usually the default and it even just does
9:57
that automatically So open
9:59
source You know brew
10:01
install or app get
10:03
or actually you have a knife You know
10:05
if you're cool with curling and piping into
10:07
bash or whatever Ellie will
10:09
take care of you and just figure out
10:11
what system you're on and what particular
10:15
Shell you're running whether it's bash, you know
10:17
the shell etc and get it all
10:19
installed. Of course, you can do it manually but
10:23
Sink, you know immediately I
10:25
hear sink and I think service right
10:27
and so this I guess leads
10:29
into the bigger conversation around The
10:31
sink service because that's kind of a core aspect
10:34
of what a twin does for you
10:36
in addition to just a better UI
10:38
around finding and navigating and executing your
10:41
history but Immediately,
10:43
it's like login, you know Because
10:46
the sink service is there and I wouldn't have
10:48
and did it with a little trepidation now Your
10:50
docs are nice and you say right up front
10:52
end-to-end encrypted. So, you know, everything's safe here,
10:55
but That's gonna be a
10:58
core thing of what you're you're doing and
11:00
you're doing for an open source project now You
11:02
want to talk more about the sink side of things? Yeah,
11:04
so you said you were a
11:07
bit hesitant, right? And yeah, trust is like
11:09
super important. So then to end encryption was
11:11
a definite requirement from the
11:13
very beginning It did make
11:15
a lot of development very frustrating because like
11:17
key sharing key management All of this stuff is
11:19
just not that easy. There's also
11:21
two sides to that I guess
11:23
because users don't want to give me their shell
11:26
history if it's not encrypted But I also don't want
11:28
I think right now we've got like 70 million
11:30
lines of history on the server and I don't
11:32
want that not encrypted because Like all of the
11:34
API keys all of the credentials all of the stuff
11:36
that you shouldn't paste into your shell But lots of
11:38
people do it's just gonna be sat there and that
11:41
would make me a huge target as well So
11:43
it's kind of best for everyone the idea with the
11:45
sink service as it's all encrypted Pretty
11:47
much just a dumb blob store it sinks
11:49
encrypted data that data can be shell history
11:51
in this case it is But it doesn't
11:53
really have to be it's just small little
11:55
bits of information There's a
11:58
very tiny amount of metadata that we think
12:00
as well just in order to make the
12:02
sync work, mostly just timestamps and host names.
12:05
The host names are hashed just as long as they're different.
12:07
But yeah, it's actually very simple. I'm giving a
12:10
really in-depth tech talk about it next month, which
12:12
I'm looking forward to. But yeah. I
12:15
guess sync is required to use
12:17
A2N? Sync isn't
12:19
required. So you don't have to sign in, you
12:22
don't have to register. You can just use it
12:24
locally if you want to as like
12:26
a better search interface. If the
12:28
fact that it's encrypted still isn't enough for you
12:30
to trust me, you can go ahead and host
12:32
your own. So there's a Docker image, there's some
12:35
documentation on how to get it running. There's a
12:37
Helm chart as well. I know there's quite a
12:39
lot of people that sell host. I normally get
12:41
like questions and stuff about it most days. So
12:43
I've tried to make sure there's options there for
12:45
whatever your risk tolerance is, I guess. What's
12:48
it all written in? Can you tell us how
12:50
it works and all that, Chas? Like not the
12:52
full tech talk, but like the quick tech talk.
12:54
The teaser. Yes. So it's all in Rust. Back
12:56
when I started, my Rust was like, I've done
12:58
it on and off for years. I never had
13:00
a job writing Rust. So it was only when
13:02
I had the energy for side projects. And at
13:04
the time I was working in Go and
13:07
the idea of like doing more Go after writing
13:09
Go all day wasn't really something I
13:11
wanted to do. And I think one of
13:13
the biggest selling points of Rust, which maybe isn't
13:16
included in all of the Go versus Rust blog
13:18
posts is that Rust is just really fun. There's
13:20
loads of different ways of doing things. When it
13:22
all works, you sort of feel quite satisfied about
13:24
it. And it's just like a sense of satisfaction.
13:26
I don't think it's there with a lot of other languages. So
13:29
that was a big selling point for me. I've never
13:31
heard that one. I've heard a lot
13:33
of Rust enthusiasts and enthusiasm. I've
13:35
heard some comparisons, of course, hosting, not
13:37
hosting, but producing a Go time
13:39
podcast. Rust comes up a lot on
13:42
that and certain Gofers are excited and
13:44
other ones are dreading Rust or,
13:46
you know, combating it. And
13:49
I've heard Rust hard to learn
13:51
and sometimes complicated,
13:53
but worth it. I've never
13:55
heard fun. Never heard that. So
13:58
satisfying, I think is the keyword you use.
14:00
there. What's so satisfying about it? I
14:02
think especially in the early days, the
14:04
compiler shouts at you a lot. It's
14:07
actually very friendly. If you're new, don't be scared by
14:09
me saying shouting. It's super friendly. But there's a lot
14:11
of things you can do slightly wrong. There'll be a
14:13
lot of borrow checker errors, all these things.
14:16
When you first get to the point where you can
14:18
write a bunch of code and then there's not
14:20
really very many errors to fix, that's
14:23
a big point of satisfaction. There's
14:25
also quite a lot of functional
14:28
programming inspired functionality, so
14:31
maps and filters, all this stuff. When
14:33
you first get to the point where you're like, hang
14:35
on this big if else chain can
14:38
be written as some pattern matching and some
14:40
combinators and stuff, that also feels really nice.
14:42
I guess it makes you feel a little
14:44
bit smart, which people like. Now
14:47
you're speaking my language. I love good functional
14:49
tooling in a language or a standard library.
14:52
I think it's kind of the opposite to Go there.
14:54
Like Go is obviously intentionally very simple and Rust is
14:56
kind of the opposite, I guess, in a lot of
14:58
ways. Well said, well said. You wrote
15:00
it in Rust because this was a side project. This was
15:02
just something that you were doing to scratch an itch and
15:05
people liked it. If you look at
15:07
these stars on the GitHub star watch
15:09
thing embedded in the readme, it was
15:12
kind of slow and steady and then eventually
15:14
there were a few inflection points. How
15:16
did people find it? Did you get the word out on
15:18
your own? Did you slap up a website? Talk to us
15:20
about the boring kind of
15:23
branding and marketing side of open source. Yeah,
15:25
I think at first I just put it
15:27
on Twitter and I had a
15:29
decent number of retweets. I wouldn't say it
15:31
went viral or anything, but that got me
15:33
my first slow
15:35
momentum. The inflection points
15:37
you mentioned were mostly Hacker
15:39
News and Reddit. I tried posting on Hacker
15:42
News myself a few times and it just
15:44
never really picked up. It's always been when
15:46
other people post it. There's one inflection point
15:49
from last year in May where I was actually on holiday
15:51
and that morning I was meant to be going on this
15:53
big trip and I woke up and my phone was going
15:55
crazy and I was like, what's going on here? So I
15:57
was like in the car replying to comments and stuff. That
16:00
was really cool. I think a
16:02
lot of the marketing is down to just
16:05
having a read me that's very clear as to
16:07
what it is that makes a lot of sense.
16:10
Having a nice logo and stuff can
16:12
be very helpful. I tried to make
16:14
the install very, very straightforward. So the
16:16
curl to bash you mentioned earlier, literally
16:19
just calls your package manager for you
16:21
and add something to your ZSH or
16:23
whatever config file. So kind of
16:25
the friction for people giving it a try
16:27
is very low. So that helps a lot. I
16:29
think a lot of it's also just luck. It was
16:31
like the right thing at the right time that had, you
16:34
know, it was a need a lot of people had
16:36
and it turned out. One other thing that
16:38
really helps. I gave a talk at Fuzzdam that
16:40
wasn't really intended as marketing. It was more like
16:42
I wanted to give a talk and I had
16:44
this project. So it was a easy fit that
16:46
helped a lot. A lot of people shared it. A lot of people have
16:49
told me they saw my talk. So that was really helpful to. How
16:51
many people suggest this is a problem?
16:54
Like how many people really want their shell history
16:56
to just go with them? I
16:58
guess this is a pervasive issue with developers
17:01
at large. I think it's a
17:03
very almost bimodal problem because
17:05
I've heard some people just say
17:07
to me, like, why would I want that? I don't get
17:09
it. This is like not something
17:11
I need. I've had a lot of
17:13
people almost say what you said earlier
17:15
and like, wow, where's this been? I
17:18
guess there's been users sort of tell
17:20
me that they've been manually keeping their
17:22
bash history file over the
17:24
last 10 years and having something
17:26
automated. Really helps them out. And
17:29
I think there's a lot of people who never
17:31
really realized the value of their shell
17:33
history and having something long-term until they've
17:35
had tools that make it easier because
17:37
most people might use the default setup
17:39
where not very much history is maintained.
17:41
It's not shared across sessions, like that
17:43
kind of thing. So. I
17:47
think you don't need it until you know you need
17:49
it because you're like. Trying
17:51
to do some stuff like you did where you had a
17:53
command on your work laptop and it's like, I'm not going
17:55
to remember that. Maybe I'll throw it in docs somewhere. Maybe
17:57
that's the easy way to sort of move some things around.
18:00
Which I do that as well, but at
18:02
the same time like your your history in
18:04
some cases like muscle memory if
18:06
you could like easy search it and find
18:09
a ZFS command or The
18:12
there's a docker PS command
18:15
I run it like just has like a
18:17
nice formatting that doesn't do that like which
18:19
machines on this machine are running docker and
18:22
How many instances are there? It's just like a
18:24
prettier format that I've? carboculted
18:26
essentially around that it is just now part
18:28
of my history and then when it's not
18:31
I bring it back in but having this it's like
18:33
well I don't ever have to lose that history ever
18:35
again Plus with the nature of
18:37
the terminal the more you use it the
18:39
more you kind of Scrap
18:42
together you know longer
18:44
and longer commands over time that
18:46
do something very specific and
18:48
then not need that For a very long
18:50
time yeah I found and then six months
18:52
eight months two years later, and you're like I've
18:55
done this before and I can't remember exactly what
18:57
I did, but I know I Called
18:59
cut at some point you know or like some
19:02
Terminal command is in there And
19:04
if I can just type in cut and look at
19:06
all the I don't cut very often But if I
19:08
have the history you know I can remember a cut
19:10
I can look at the seven times I use cut
19:12
and one of them you'll see like there it is
19:14
right there And you just save yourself
19:16
so much time being able to just call you know Remember
19:19
that without having to remember it it
19:21
really is a time saver and
19:24
I got sold on you know setting your history
19:26
to like a Good
19:28
million or whatever is it infinity? I don't
19:30
know it's a many Ellie you probably know
19:33
how this works better than we do Is
19:35
there like a maximum history size histo size? I
19:37
think might be the yeah, it's his size I
19:39
always used to just spam a bunch of numbers
19:41
until I thought that was probably enough Pretty
19:45
much like how large is my disc you
19:47
know yeah Yeah, I had this one command
19:49
back in my you know more tried and
19:51
true Ruby days whenever I would blow
19:53
away gems It was
19:55
a for loop that is now on a
19:58
Mac that doesn't exist for me And
20:00
if I wanted to, like you said, recall
20:02
that command, like it's just gone. It's not
20:04
part of this new environment. Maybe
20:07
I'm running Jekyll and I want to, you
20:09
know, blow away the gems and do something
20:12
different. Now I don't have that for loop readily
20:14
available. I could probably Google it. Maybe
20:16
there's a gist out there where I like stuck it
20:18
in a gist on GitHub somewhere from back in the
20:20
day, which is how we used to sort of like
20:22
stow away some ideas and kind of share them too.
20:26
But, you know, now if I wanted to do that
20:28
for loop, I'd probably just be like, like
20:30
you, I don't know how I did it. You
20:32
know, forget it. I find as well that as
20:34
time goes on, the number of sort of original
20:37
commands you write goes down. Like even if
20:39
you were recalling something from three, four years ago,
20:41
like you've written it before and having that history
20:43
means that like, the longer you have
20:45
it for, the less time you spend typing and that sort
20:47
of compounds over time. For sure. It's
20:50
like, maybe there's a saying like command
20:52
line, I don't know what prompts, commands
20:55
are code too, you know, like.
20:57
For sure. I don't know, maybe
20:59
that translates here because like you kind of want to
21:01
keep it in a way and it's not quite code
21:03
you write and gets stored. It's
21:05
history. Well, the entire website
21:07
is dedicated to awesome command lines, right? Like
21:10
commandlinefu.com. I'm not sure
21:12
if it's still active, but I used to go there
21:14
and just read other people's command lines and be able
21:16
to learn what I can do. Ellie,
21:19
your statement about reusing
21:21
the same commands over time rings
21:23
true because one of the coolest things about A2N
21:26
is the stats subcommand. It
21:29
has stats built into it. And
21:31
so you can get a top list of
21:33
your commands and also list out total commands
21:35
and unique commands. And I have in
21:38
mine 15,000 total command history, which
21:41
I just installed it and then loaded
21:43
my history into it, 15,511. I
21:46
wonder if my hist size is 15,000 or something like
21:48
that. Or if that's just really how many
21:50
commands I've done in my days, at least
21:52
on this computer. And of those, 15,500, 4,800 are unique.
21:59
So what does that mean? Something like that.
22:01
Something like repeating myself quite a bit. You
22:03
know? Like two out of three commands is not
22:05
unique. I think that's right. That's top of the head
22:07
mass. Here's the moment where I
22:09
come off later sounding like an idiot, Ellie. Like, well, this math is awful.
22:13
But the point stands. Lots of repeat
22:15
commands in there, you know? Oh,
22:17
it's fine. We've got a channel on the Discord where people
22:19
share that sort of a two in stats output.
22:22
And the number of times it's CD
22:24
or LS at the top is huge.
22:27
Yeah, I got CD at number one as well. What
22:29
else do you do? Mix. I
22:32
run mix a lot. So I'm an elixirist. So I run mix.
22:34
Sure. Which is usually just mix test.
22:36
I just run mix test over and over again. Git
22:39
ST, which is Git status. That's my shorthand
22:41
for Git status. IEX,
22:43
which is also elixir. That's
22:46
starting the elixir shell. And
22:48
then Smug. What's Smug? Smug
22:50
is a Go-based tool
22:52
for managing TMUx sessions. So
22:55
you can define different TMUx sessions using
22:58
YAML or some sort of little config file format.
23:01
And you can use Smug to manage them. So
23:03
I can say Smug start change log and that
23:05
will launch a specific TMUx session with three terminals.
23:08
And this one runs that command. This goes to
23:10
this directory. This starts that command. And
23:13
then I can just switch between them quickly.
23:15
Because I have a few things that I do,
23:17
but that's about it. And so I use
23:19
Smug to just start that thing. So spend this
23:21
one, start that one. And it always is just set up
23:23
the way you like it. So I run that command a lot in
23:26
order to get into whatever it is that I'm up to. So that's
23:28
a cool one. It's based off
23:30
of, there's an old project in
23:32
Ruby called TMUXinator, which does the same
23:34
thing. And I think TMUXinator
23:37
either got unmaintained
23:40
or I got sick of having
23:42
to deal with Ruby with regards
23:44
to it. And I wanted a universal binary. And
23:47
Go is very good at that. And so
23:49
there's one called Smug in Go, which
23:51
I replaced it. And I think
23:54
it even uses the TMUXinator config format or something. So
23:56
it's like an easy switch. So that's my
23:58
top five. And then LS
24:00
on it coming to number six for
24:03
sure. That's kind of a cool tool
24:05
because getting started half the
24:07
battle right? I guess it creates that momentum.
24:09
There's no minutia to do no ceremony to
24:11
do so it's like what was
24:13
it smug change log that was it? It's
24:16
not a start change log. Yeah. Yep. And you're off
24:18
to the races because like hey, this is what my
24:20
environment is whenever I do this development and starting
24:23
is pretty easy. It's already set up for me.
24:25
It's pretty cool. I like that. So
24:29
LS, CD kind of boring. And
24:32
FG as well. You mentioned the
24:34
command Z thing earlier. So that's on there
24:37
for me. Get status
24:39
and lvim as well. So
24:41
lvim is basically neovim but it's
24:43
like a distribution. I had a neovim
24:45
setup I maintained for like years and
24:48
years. And I got to the point where
24:50
I was tired of constantly updating plugins. So
24:52
luenovim just has them all from the get
24:54
go. I would share
24:56
mine but I haven't trusted you yet. I'm
25:01
actually stuck. I was like let me trust
25:03
Ellie in a VM. And
25:05
so I use warp issh in this
25:07
VM. And the thing I
25:09
get whenever I do H1 status
25:12
is maybe you can help
25:14
me with this. It says
25:17
error could not fetch history.
25:19
I did import my history. And then
25:21
if I do a different stats,
25:24
for example, it says error failed to find
25:26
a two in session in the environment check
25:28
that you have correctly set up your shell.
25:30
Now use your command. This is
25:33
a boom two. I think it's
25:35
2304 potentially. And I
25:37
just use your command. I'm like yeah, I trust your bash
25:39
command. I'll just whatever you want to do on my machine
25:41
because this is a VM. I don't care, right? And that's
25:43
all I did. And then I was like, well, maybe, maybe
25:46
I missed that up somehow. And so
25:49
I did the import process to import
25:51
my zsh history. And thus
25:53
far, I only get errors whenever I do
25:55
a twin stats or history because there's nothing
25:57
there yet. We usually see that
25:59
error later. when the sort of
26:01
shell plugin half isn't properly installed. So
26:04
maybe it installed to a different
26:06
config file to the shell you're using, which
26:08
can happen sometimes depending on the setup. So
26:11
a two end session basically just tracks
26:13
like the current shell session. So we
26:15
track history per, even though they're all merged,
26:18
we also track the history per session. And
26:20
if it can't find that variable, it's not
26:22
being set by the shell integration. Would
26:25
that be my like ZSH file then? My RC file?
26:27
Yeah, it would be your ZSHRC. It
26:29
should be like a two end in it. Yeah,
26:32
I don't think it's in there then. So
26:34
that's probably my issue. Well, actually it's eval.
26:36
Yeah, there's an addition at the very bottom.
26:38
It's eval A2N and it ZSH. Doesn't
26:41
need to be a live debug here, but that was my
26:43
hurdle here. I was trusting in a VM. Okay. I was
26:45
trying my best to
26:47
protect my machine from Ellie at all
26:49
costs. Well, you wouldn't have your
26:51
history in there either then. Well, I actually did it
26:53
in a VM that I know I don't need anymore,
26:55
but does have some ZFS history. So I was like,
26:58
well, it's probably going to be a ZFS fine
27:01
tune command. It's like an older thing that... Retainted
27:03
man. Yeah, it's got some history in it. So
27:05
I was like, okay, I can use this. And
27:08
the VM has a backup yesterday. So I'm cool
27:10
with like, if this VM dies, I'll just like
27:12
blow it away and restore from a backup. That's
27:15
how Proxmos works. You know, it's pretty easy. Okay.
27:17
So I've got this issue. Maybe I'll try to
27:19
my Mac and I haven't gone deeper, but don't
27:22
feel bad. I do trust you. I
27:25
do trust you. Wait, if you don't, it's cool. You can write
27:27
it on your home lab too. That's true. Well, I
27:29
was trying to. That'd be a cool thing. Adam has
27:31
set it up on your home lab and run it.
27:33
Yeah, I actually like that idea a lot like running
27:35
your own server. I think it's super cool that you
27:37
offer that. I, you know, I did like a
27:40
lot of the install process. I can at least share some
27:42
of my thoughts on experience here, which was your thoughtfulness
27:45
in the messaging, I think is super cool.
27:47
Like you have the ASCII art going on
27:49
and you've got these very polite prompts. Detected
27:52
Linux checking distro Ubuntu detected. It
27:54
gives them all this details,
27:57
you know, all this different stuff. Runs.
28:00
AppGet update for me, which is super kind of
28:02
you to give me the latest repositories available. Super
28:04
kind. Yeah, super kind of you. And at the
28:06
very end, it does all its thing and it's
28:08
like, hey, thank you. And this is how you
28:10
can like use it and contribute and become
28:13
a part of the community, which I think is super important
28:15
for any tool that wants to be
28:17
adopted. Like tell me how to adopt, right? And you've
28:19
done that. So very, very well done on
28:21
that part of it, even though I've had this ZSH
28:24
eval issue. I'll figure it out. Sorry
28:27
about that. But no, thank you. It's, obviously I
28:29
don't know how many people click on the links
28:31
at the bottom of the installer, but I hope
28:33
that it does help to some
28:35
degree. Yeah. And you did give a prompt
28:37
with the next step too, which is A2N register
28:39
or A2N login. So you've already
28:41
done that. It is kind
28:43
of hard. I would say if I didn't go there
28:45
and do that, it would be kind of hard to
28:47
understand what the next steps are. Like give me a
28:49
quick win. Like the
28:51
import, like, hey, you might want to import because
28:54
I didn't know that. That might be
28:56
something to add there. Like, hey, to get
28:58
started, just run this command to import.
29:00
And then you can run stats as an example,
29:02
because you probably have all the data and you
29:04
can run stats because you have all of it
29:06
imported. And you get a quick win. Like, Oh,
29:09
I get how this thing works. I get how this
29:11
thing will help me. That's a good suggestion. Thank you.
29:13
I'm actually thinking of doing like A2N setup, which just
29:15
is kind of like a little interactive wizard that just
29:18
does the whole lot for you. Better, even better. Yeah.
29:20
A2E, that could be fun. Yeah. Well,
29:23
I would definitely, I would agree on the setup process
29:25
and the documentation was all very handholdy and nice. And
29:27
even when I was feeling like, I don't know if
29:29
I want to be like right there, you're like, no,
29:31
it's A2N, I'm like, all right. So this person cares.
29:34
I also kind of figured that like, if I was a
29:36
user, I would be like, no way are you getting my
29:39
data. So I have to make sure it was like something
29:41
I would use if I was on the other side. What's
30:03
up friends? This episode is
30:05
brought to you by our
30:07
friends at Sanadia. Sanadia is
30:09
helping teams take NASA to
30:11
the next level via a
30:13
global multi-cloud, multi-geo and extensible
30:15
service fully managed by Sanadia.
30:17
They take care of all
30:19
the infrastructure, management, monitoring and
30:21
maintenance for you so you
30:24
can focus on building exceptional
30:26
distributed applications. I'm here with
30:28
VP of product and engineering Byron Ruth. So
30:30
Byron, in the Nat versus
30:33
Kafka conversation, I hear a
30:35
couple different things. One I hear out there, I
30:38
hate Kafka with a passion. That's quoted by the
30:40
way on Hacker News. I
30:42
hear Kafka is dead, long live Kafka.
30:44
And I hear Kafka is the default,
30:46
but I hate it. So
30:49
what's the deal with Nat versus Kafka? Yeah,
30:51
so Kafka is an interesting one. I've
30:53
personally followed Kafka for quite some time
30:55
ever since the LinkedIn days. And I
30:57
think what they've done in terms
31:00
of transitioning the landscape to event
31:02
streaming has been wonderful. I think
31:04
they definitely were the sort of
31:07
first market for persistent data streaming.
31:09
However, over time, as people have
31:11
adopted it, they were the first
31:14
to market, they provided a solution.
31:17
But you don't know what you don't know
31:19
in terms of you need this solution, you
31:21
need this capability. But inevitably, there's
31:23
also all this operational pain and
31:25
overhead that people have come to
31:28
associate with Kafka deployments. Based
31:31
on our experience and what users and
31:33
customers have come to us with, they
31:35
would say, we are spending a ton
31:37
of money on spend on a team
31:39
to maintain our Kafka clusters, or
31:42
managed services or something like that.
31:45
The paradigm of how they model
31:47
topics, and how you partition
31:49
topics, and how you scale them is
31:52
not really in line with what they fundamentally
31:54
want to do. And that's
31:56
where Nat can provide, as we
31:58
refer to it, subject based addressing, which
32:01
has a much more granular way
32:03
of addressing messages, sending messages, subscribing
32:06
to messages and things like that, which
32:08
is very different from what Kafka does.
32:10
And the second that we introduced
32:12
persistence with our Jetstream subsystem as
32:15
we refer to it a handful
32:17
of years ago, we literally had
32:19
a flood of people saying, can
32:21
I replace my Kafka deployments with
32:24
this NATs Jetstream alternative? And
32:26
we've been getting constant inbounds, constant customers
32:28
asking, hey, can you enlighten us with
32:31
what NATs can do? And oh, by
32:33
the way, here's all these other dependencies
32:35
like Redis and other things and some
32:38
of our services based things that we
32:40
could potentially migrate and evolve over time
32:42
by adopting NATs as a technology, as
32:45
a core technology to people's systems and
32:47
platforms. So this has been largely organic.
32:49
We never from day one, you know,
32:51
with our persistence layer Jetstream, the intention
32:54
was never to say we're going to
32:56
go after Kafka. But because of how
32:59
we layered the persistence on top
33:01
of this really nice PubSub, Coronets
33:03
Foundation, and then we promoted it
33:05
and we say, hey, now we
33:07
have the same, you know, same
33:10
semantics, same paradigm with these new
33:12
primitives that introduce persistence in terms
33:14
of streams and consumers. The floodgates
33:16
just opened and everyone was frankly
33:18
coming to us and wanting to
33:20
simplify their architecture, reduce costs, operational
33:22
costs, get all of these other
33:24
advantages and NATs has to offer that Kafka
33:26
does not whatsoever or any of the other
33:29
similar offerings out there. And you
33:31
get all these other advantages that NATs has to offer. So
33:33
there's someone out there listening to this right
33:35
now. They're the Kafka cluster admin. The
33:38
person in charge of this cluster going down
33:40
or not. They manage the team, they
33:42
feel the pain, all the things.
33:44
Give a prescription. What should they do? What
33:47
we always recommend is that you can
33:49
go to the NATs website, download the
33:51
server, look at the client and model
33:54
a stream. There's some guides on doing
33:56
that. We also have, so NAT provided
33:58
a basically a packet of resources. to
34:00
inform people because we get again so
34:03
many about requests about how do you
34:05
compare NAPs and Kafka and we're like
34:07
let's actually just put a thing together
34:09
that can inform people how to compare
34:11
and contrast them. So we have a
34:13
link on the website that we can
34:16
share and you can basically go get
34:18
those set of resources. This includes a
34:20
very like lengthy white paper from an
34:22
outside consultant that did performance benchmarks and
34:24
stuff like that and discuss basically the
34:27
different trade-offs that are made and
34:30
they also do a total cost
34:32
of ownership assessment between people who
34:35
are organizations running Kafka versus running
34:37
NAPs for comparable workloads. Well
34:39
there you go. You have a
34:42
prescription. Check for a link in
34:44
the show notes to those resources.
34:46
Yesterday's tech is not cutting it.
34:48
NAPs powered by the global multi-cloud
34:51
multi-geo and extensible service that is
34:53
fully managed by Sanadia. It's the
34:55
way of the future. Learn more
34:57
at sanadia.com/change log that's s-y-n-a-d-i-a dot
35:00
com slash change log. So
35:07
when you decided to quit your job to do
35:10
this what were
35:12
you thinking? What when who what when were
35:16
why? So I
35:18
started 2023 and this was just
35:20
like a random little side project right? It
35:22
was it was going okay. It was some
35:24
bit of fun and then um after my
35:26
talk at FOSDEM uh some of the other
35:28
speakers I was speaking to one of them sort of says
35:30
to me like you need to take this more like you
35:32
should take this more seriously think about monetizing
35:34
it etc etc and
35:37
I wasn't 100 convinced at the
35:39
time but it sort of sat in the back of my head
35:41
and throughout that year after a
35:43
lot of the reception I got I started
35:45
spending like an extra few hours per
35:48
like few days um just polishing improving
35:50
that kind of thing and
35:53
the user growth we got was huge so like
35:55
we had more growth in 2023 than we'd had
35:57
in the previous two years by a long shot.
36:00
and kind of got to the end of
36:02
the year and I'd always fancied having
36:04
a go at building my own company and
36:07
I had this project that was continuously growing.
36:09
It was sort of continuously demanding more time
36:11
as well. And I got to the point
36:13
where I was like either I give this a
36:15
go and try to make something of it or
36:18
I reduce how much time and energy I'm
36:20
putting into it because like it's not sustainable.
36:22
I can't like have a full-time
36:24
job and be like handling support
36:26
and prioritizing issues and all of this in a way that's
36:29
going to continue to grow. I think
36:31
there's a bit of a gap in sort
36:33
of the shell as it is. It
36:36
hasn't really changed a whole lot in a
36:38
long time. And the way you
36:40
said earlier like about how you know the
36:42
shells code to or something like that maybe I'm not quite
36:45
in you exactly but I think there's a
36:47
ton of developer tools focused around writing
36:49
software but people who spend a lot of
36:52
time in the terminal are almost underserved right
36:54
now. Yeah, I agree. The
36:56
command line code is code to I guess
36:58
I don't know your command line commands are
37:00
code to. Exactly. I feel that even
37:02
during the process like you recognize which dish drawer
37:05
I'm using like that's a cool code. I'm sure
37:07
is that in Rust as well like what
37:10
are you doing to confirm like which dish drawer do you
37:12
have like a massive statement or
37:14
something like that or a case statement. It's like
37:16
a chunky bash script. Yeah, okay. I mean that's
37:18
fun too. I mean code to. Yeah. And
37:21
I like I like bash scripts even too.
37:23
I mean I like them because they're useful
37:25
tooling that you can make for you. They're
37:27
very bespoke for what you need and I
37:29
think you know in my last I say
37:32
year and a half I've become more empowered
37:34
with chat GPT encoding tools because there's just
37:36
so much knowledge out there in a island
37:38
to generate or at least
37:41
guide me on bash scripting where I never
37:43
really I felt intimidated by it because
37:45
I was like I'm not that kind of hacker Adam
37:47
come on. You know you can't do this but
37:50
then I'm like I need to do it and so I found
37:52
out how to do it with my buddy code
37:54
Jenny I stuff and now
37:56
I have lots of Linux tooling that
37:59
I use myself. for various things
38:01
that are not really probably useful
38:03
to anybody else, but they're useful to me only,
38:06
and they could be highly specific. Whereas
38:08
before I would have never done it, but it's
38:10
telecode too, and I have no idea where to
38:12
keep it at, like it's in a repository, but
38:14
now it's the true version of it, how do
38:16
you deploy it, how do you easily
38:18
get into like an apt repository you
38:20
can install yourself, that whole world is weird.
38:22
Like if you write your own little tools,
38:25
how do you install your own little tools? I
38:28
would love somebody to solve that problem better, or at least
38:30
document how to better add a
38:32
repository to apt so that I can easily
38:35
install my own things from like a repository,
38:38
because my central repository of it essentially is
38:41
living in my bin folder, my own personal bin folder,
38:43
wherever I put my stuff at, that's the version, and
38:46
it changes without being versioned, because I'm
38:48
an idiot, it's just my own tooling.
38:51
That was better, that'd be cool. Definitely be very cool.
38:54
Adam, do you remember RVM? Oh yeah,
38:56
of course. Ellie, are you aware
38:58
of RVM, Ruby, version manager? Yeah, there's a
39:00
few similar for other languages as well. Yeah,
39:03
it was kind of the first one that
39:05
ended up being like NVM, no version manager,
39:07
et cetera. And RVM was
39:10
famous, but also a little bit infamous
39:12
because the entire thing was written in Bash,
39:15
and it was a lot of code, and
39:18
it was very complex once you got into there, and
39:21
RVM had some, I mean, a lot of users,
39:23
a lot of bugs, a lot of
39:25
issues, and then as a user
39:27
you dive into it, and you're a Ruby person or
39:29
something, and all you're seeing is like, I
39:31
can't remember the guy's name who wrote it,
39:34
but he knew Bash very, very, very well,
39:37
to the degree where you're like,
39:39
oh, this is borderline, too much
39:41
Bash. Anyways, at
39:44
one point he decided that he
39:46
was going to make a package manager, I
39:48
guess for the listeners who aren't aware, RVM, Ruby
39:51
version manager. Michael Puppies is his name. Michael
39:53
Puppies. We talked to him back in 2013, Jared.
39:56
That was a long time ago. I feel like
39:58
there was another fellow that was, that's not Michael Puppies. I
40:00
remember Michael me call Wayne. Yes.
40:02
Yeah Wayne Seguin. Maybe he's yes
40:05
Wayne segwin or segwin segwin Yeah, did they work
40:07
on it together? I think he was the originator.
40:09
Okay, and Michael poppies took it over and had
40:11
to maintain it Okay, it's all coming back. I
40:13
think Michael took over a lot of the issues
40:15
really though And he yeah, there was like a
40:18
burnout stage there too with with Michael Wayne was
40:20
super into bash Maybe he still is I haven't
40:22
kept up with him Yeah, and
40:24
I remember at one point he talked about
40:26
riding a bash package manager For
40:28
X where X is whatever it is you wanted
40:31
to manage It was one of these like I'm
40:33
going to engineer the general thing that solves all
40:35
problems kind of situations that we get into as
40:37
engineers and the reason I think
40:39
of it is because his deal is like you should just be
40:42
able to Like package manage your bash
40:44
scripts just like you can other things which
40:46
is kind of what you're asking for Adam
40:48
Yeah, it's like just give me a way of like
40:51
Packaging up and deploying even if only to
40:53
myself Which a lot of
40:55
us should do with our dot files synced across machines,
40:58
you know, it's like you
41:00
write your little bash scripts and your functions and
41:02
stuff into your dot files and use git to
41:04
basically Synchronize those across machines, which
41:07
is a poor man
41:09
solution, but it works, you know to a
41:11
certain degree better than you know going the
41:13
route of like doing
41:16
it distro or package manager
41:18
specific like at for example, you
41:20
know, cuz if I'm gonna do the same if
41:23
I need the same bin options in
41:25
on my Mac then You
41:28
know, maybe there's you know
41:30
dependencies required or whatever. I don't know like
41:32
usually you'll end up with some sort of
41:34
platform specific Yeah conditions in your scripts which
41:37
I know I've had in my days where like check is
41:39
it Mac or is it Linux? All of those ones I've
41:41
been writing are they translate from Mac
41:44
to Linux? No problem Yeah, just as
41:46
so long as the package there like 70 or ZFS
41:48
or whatever like those things As
41:51
long as it's present and it runs and there's no way
41:53
to do in the bash. Anyway, yeah, we're in the weeds
41:56
I was just thinking I was just reminiscing. Yeah a little
41:58
bit about that as something that And that doesn't
42:00
exist that I know of. Maybe people know ways
42:02
that you can deploy out your
42:05
little scripts to yourself and
42:07
to others in a way that's
42:09
a lot like NPM install or
42:11
cargo install, where they have these
42:13
language-specific things. This would be
42:15
more generic. I think it would be cool.
42:17
Also, even for internal tooling, like I've been
42:19
in jobs before where some of the onboarding
42:21
is like, please copy paste all of this
42:23
from the wiki into your .file. Totally. It's
42:25
not great, right? Yeah. Maybe
42:28
a new frontier for A2N at some
42:30
point. I actually just made it sync
42:32
aliases earlier today. Really? So there's some
42:35
scopes for that too. Okay. So
42:37
now we're starting to see what maybe a potential future for
42:40
this looks like. Maybe. I use
42:42
something from Thoughtbot for some of these things.
42:44
I think it's RC Up or RC Something.
42:47
There's lots of different... People have taken different whacks
42:49
at this, I think, over the years. But
42:52
yeah, syncing aliases. Yeah,
42:54
that's kind of the inspiration there. I had a
42:56
lot of feedback from users that it's the
42:58
first thing they install on their machine. And
43:00
then from there, they recall other commands for
43:02
setting up the rest. And
43:04
it's like, well, if you didn't have to recall all
43:07
the commands and you could just install it on your
43:09
machine and then your setup's right there, then that would
43:11
be the next step. Bam.
43:14
Yeah. So this could be your .file
43:16
syncer and your environment setup syncer without
43:18
a GitHub repo or something.
43:20
All you need is A2N and you're
43:22
already logged in. Exactly. I
43:24
love it. I love it. We sidetracked
43:27
a little bit. Is it trivial to run your own
43:29
server in a home lab or on-prem? Is
43:31
it pretty easy? It should be. And
43:34
if you have any problems, let me know because I want to make it
43:36
easier. It's just
43:38
Postgres, at least Postgres 14
43:40
and run a binary.
43:43
And that's it. I
43:45
guess I could probably Dockerize that. I would
43:47
prefer Docker in that scenario. We
43:49
have a Docker image too. There's a Docker image, there's
43:51
an example Docker Compose, and there's a Helm chart. Oh,
43:54
that's too easy there. I think there's
43:56
some Kubernetes community distro
43:59
thing. have the home labs that has it
44:01
included too. I can't remember what it's called now. I'll
44:04
test it out after this conversation. I'll
44:06
boil it a bit. I'll give you some feedback.
44:08
Oh, I see it. Yeah. Thanks. Under your
44:10
docs, self hosting, server setup, usage, Docker, Kubernetes.
44:13
So very cool. Here's a setup that
44:15
I think has worked in the past. It's like open source,
44:18
library or framework or system
44:20
with a hosted business
44:23
attached to it where
44:25
the end user is
44:28
more mainstream, more normal, less
44:30
nerdy. But when you have
44:33
open source tool service
44:36
as the business model with
44:38
your core audiences, super
44:40
nerds, like Adam, who's
44:42
like gets excited because he heard Docker
44:44
or somebody even nerdier
44:47
who hears Helm Chart and is like, let's go. You
44:49
know, which I'm sure some of our listeners are like,
44:51
okay, the Helm Chart, cool. It
44:53
seems like that's harder for the business side, isn't it? Where it's like
44:56
the people who are your core demographic
44:58
of potential purchasers, because they're all
45:00
command line users, they also
45:02
are super down with self hosting. I
45:04
think it's split. I think a lot of the
45:06
sort of early users are very down for
45:08
self hosting, very down for customizing things.
45:11
But I think there's tons of people
45:13
that don't actually know how nice the
45:15
shell can be and how things can be
45:17
better. And if there was a
45:19
very easy way for them to have a nice
45:21
setup that felt modern and was good, and they
45:24
didn't have to know what sort
45:26
of scripts and plugins they need to install and
45:28
which things they need to add and all of
45:30
this, which most people will just stop caring as
45:32
soon as they start seeing this huge list of
45:34
stuff. It was nice with no effort,
45:36
I think we could have more people using the terminal
45:38
much more. I agree with you. And
45:41
I also want to recognize that
45:43
of amongst the nerdy ones like
45:45
Adam, there's also me and I would just I have
45:47
no interest at all in self hosting, even though I
45:50
totally could do it. I just don't want
45:52
to, I would happily sign up for the service and
45:54
pay the money on a recurring
45:56
basis to have you handle that for me. So even
45:59
amongst you know, There's a lot of home
46:01
labbers, a lot of self-hosters amongst
46:03
us nerds, and then it's also the ones that are
46:05
just like, yeah, I'd rather not.
46:07
I'd rather give Ellie my money. Maybe I'll hold
46:09
you to that recurring payment thing. Hey, I'm into
46:11
it. I'm interested for sure. Especially
46:14
if you are just gonna like automatically
46:16
sync all of my things. And
46:20
it's cool, it's very cool. My
46:22
reasoning is not to pay. We know that,
46:24
we know that you're just tinkerer. We even
46:26
talked about that with Obsidian. Nick and I
46:28
talked about that when we were at that
46:31
conference. We were talking about Obsidian. Are you
46:33
Obsidian? I love Obsidian.
46:35
It's my favorite thing. And you use their
46:37
sync service? I do. Were
46:39
you early enough to get the half off discount?
46:41
Nick got, Nick Nesey got this like, I
46:44
don't know, early adopter super cool person
46:46
discount that's like forever. Cool person discount. Because
46:49
Nick is cool. I don't think that strikes
46:51
true for Nick, but come on. We'll see.
46:55
Well anyways, I paid 10 bucks a month. You paid
46:57
10 bucks a month for a sync? Yeah. Yeah.
47:00
I don't not wanna pay that number, but
47:02
I think that's not exactly what
47:04
I think the value is that Obsidian gives me,
47:07
is syncing. It seems
47:09
to be pretty trivial to do.
47:11
Like why not just give somebody the option to
47:13
run their own server? I
47:15
don't know. But that's why I think about this.
47:17
Like not so much not paying you, but more like just
47:20
even data protection or just for learning. How
47:23
does this actually run? What does it take to, because
47:25
I don't get to do SRE stuff as a living.
47:27
I'm a podcaster. You know, my SRE
47:30
for a living is myself in my
47:32
home lab and tinkering. Yeah. And
47:35
so that's why I do it to learn. Less about keeping my
47:37
own dollars. Yeah, when I
47:39
have been SRE for a living, my
47:41
home lab got neglected quite a lot.
47:43
Yeah. What's
47:46
your home lab then? It's pretty simple.
47:48
It's just like a little Yvonne Tusser
47:51
of a bunch of ZFS stuff running
47:53
on it. What a bunch of Docker
47:55
containers for my home media setup and
47:57
like a Prometheus and Grafana dashboard.
47:59
sets up and stuff. Doing a little bit
48:02
of home automation at the moment just because maybe
48:04
future me will want to know the temperature
48:06
in my kitchen 10 years ago. What's
48:39
up friends, this episode is brought
48:41
to you by Image Proxy. Image
48:43
Proxy is open source and optimizes
48:46
images for the web on the
48:48
fly. They use the world's fastest
48:50
image processing library under the hood,
48:52
LibVeeps. It makes websites and apps
48:55
blazing fast while saving storage and
48:57
fast costs. And I'm joined by
48:59
two guests today, Sergei, Aleksandrovich, author,
49:01
founder, and CTO of Image Proxy
49:04
and Patrick Byrne, VP of engineering
49:06
at Dribbble, where they use Image
49:08
Proxy to power the massive amounts
49:10
of images from all of dribbble.com.
49:12
Sergei, tell me about Image Proxy.
49:14
Why should teams use this? Everyone
49:16
needs to process their images. You
49:19
can just take an image and
49:21
just send it to the browser
49:23
because usually it's a megabyte of
49:25
data. And if you have lots
49:27
of images like Dribbble does, you
49:29
need to compress and you need
49:31
to optimize your images and you
49:33
need them in the best quality
49:35
you can provide. That's where Image
49:38
Proxy shines. Very cool. So Patrick, tell
49:40
me how Dribbble is using Image Proxy.
49:42
Being a design portfolio site, we deal
49:44
really heavy in all sorts of images
49:46
in a lot of different sizes, levels
49:49
of complexity. And when we serve those
49:51
images to the users, those really have
49:53
to match exactly what the designer intended.
49:55
And the visitors need to receive those
49:58
images in an appropriate file size. dimensions
50:00
depending on whatever their internet connections beat
50:02
is or their device size is. And
50:04
that was just a constant struggle really
50:06
to really thread that needle throughout the
50:08
course of the platform using a handful
50:10
of different tools in maintaining that right
50:12
balance of high degree of fidelity, high
50:15
degree of quality without sacrificing the
50:18
visitor's experience. And when we
50:20
were exploring using Intracy we were able to
50:22
spin up using the open-source version of the
50:24
product, a small ECS cluster, to just throw
50:26
a few of those really tough cases that
50:28
went through our support backlog, looking at
50:30
some of the cases people were reporting
50:32
and almost to a T we aced
50:35
every one of those cases. Wow, so
50:37
it seems like image proxy was really
50:39
impressive to you. Yeah Adam, I just
50:41
have nothing but positive things to say
50:43
about using image proxy. The documentation is
50:45
crystal clear. Out of the box it
50:47
does everything you need it to. Tweaking
50:49
it to meet your specific needs is
50:52
incredibly easy. It's wicked fast. It deploys
50:54
real simple and our compute costs
50:56
have gone down over the open-source tools that
50:58
we've used in the past. Even
51:00
including the image proxy pro license
51:02
it still costs us less to
51:05
use and gives our visitors a
51:07
better experience. So as an
51:09
engineer I like using it and as an
51:11
entering manager I like what it does to
51:13
our bottom line. So image proxy is open
51:16
source and you can use it today but
51:18
there's also a pro version with advanced features.
51:20
Check out the pro version or the open
51:22
source version at imageproxy.net. The one thing I
51:25
love so much about this is that a
51:27
matter which you choose the open source route
51:29
or the advanced features and the pro
51:32
version you use the same way to
51:34
deploy it. A Docker image one
51:36
that is from Docker Hub that
51:38
everybody can use open source or
51:40
one that's licensed differently for those
51:42
advanced features that's the same delivery
51:44
mechanism via Docker Hub. It's so
51:46
cool. Once again imageproxy.net. Check out
51:48
the demo while you're there and
51:50
check out the advanced features for
51:52
the pro version. Once again imageproxy.net.
52:00
So when you decided to quit the job, let's go back
52:02
there. Yes, I like this go back there. I was about
52:04
to go back there. Yeah, good. We,
52:06
we, we moved far. I think
52:08
they were boring me, Adam. Yeah, I am good. You're
52:10
on track or on the same page. I also was
52:12
happy you brought us back to the, to
52:14
the home lab, but well,
52:16
you kind of gave a little bit of
52:19
your thought and your reasoning, but maybe just
52:21
expand more, talk about money, talk about life,
52:24
you know, like, tell us the inside scoop
52:26
on what you're thinking about it. Yeah,
52:29
sure. I mean, money wise, I'm quite
52:31
lucky. I've had a good career. I've
52:33
got plenty of savings. My outgoings are
52:35
pretty low. Like it's just me. I've
52:37
got no kids, mortgage, whatever. So it's
52:39
a bit of rent and money
52:42
for my motorbikes pretty much it. But
52:46
yeah, so the outgoings are low. I had enough for
52:48
like at least a year. So I'm good there. Um,
52:51
I just figured that, you
52:53
know, have you ever had something that you
52:55
have to work on and like, if you don't,
52:57
it's going to bug you forever. Like it's one
52:59
of those things I figured I had to give
53:01
it a go. Otherwise I'd always wonder like, what
53:03
if I had tried? What if I had done this?
53:06
And like at the end of the day, it's maybe
53:08
a small risk, but I don't think doing
53:10
this will make me any less employable if it
53:12
doesn't work out. So it's something
53:14
I really wanted to at least
53:17
give a shot. You set parameters
53:19
around what success looks like, what
53:21
failure looks like, when you're going to call
53:23
it a day, if there is
53:25
one, or do you have a business model,
53:28
like how much did you put into it?
53:30
You're like, I just want to work
53:32
on this. I'm going to give it a shot. Yeah, I've got,
53:35
I was kind of trying to get
53:37
a nice balance between planning enough, but
53:39
also not making it too rigid because obviously
53:42
when you go from fitting something into your mornings and
53:44
doing something full-time, like a lot can change. So
53:47
the way I saw it was like the
53:49
first six months of the year wouldn't be
53:51
focusing too much on getting revenue. They'd be
53:53
focusing on making sure I'm building the right
53:55
thing, making sure I'm building something people want,
53:57
making sure that like any. sort
54:00
of frustrations people had with souls. And then the
54:02
latter six months of the year, I'd be thinking
54:04
more about like making sure I can pay rent. But
54:07
that's, that's the main plan. I'd kind of like to
54:09
start addressing some more team use cases later in the
54:11
year as well, but the first, again, the
54:13
first beginning is just focusing on making sure
54:15
like individuals are very, very happy with their
54:17
shell. And how long
54:19
have you been doing it? So full-time,
54:21
like six weeks. Otherwise
54:24
it's like three years now. The
54:26
first majority of that was very sporadic though.
54:28
Yeah. So six weeks full-time.
54:31
Are you having a blast or what? Yeah, it's been great.
54:34
It's cool because I'm, I don't know, I've had
54:36
loads of ideas I've wanted to explore, but I've
54:38
never had the time and the energy. So being
54:40
able to tie up so many loose ends from
54:42
last year, like as an example, the first
54:45
version of the sync that Atuin had
54:47
was like mostly good
54:49
for most use cases and it
54:52
lasted way better than I thought. I think
54:54
there was a comment from the first version
54:56
that was like, this is really naive, improve
54:58
it, and I never
55:00
got around to fixing it. So that was like
55:02
a prototype sync V2 that was sitting around for
55:04
all of last year. And in
55:07
the last, the first few weeks of full-time,
55:09
I managed to finish it and we
55:11
rolled it out a couple of weeks ago and working
55:14
so much better. And it's nice to have been able
55:16
to do that. I think that's like very important for
55:18
laying the foundations for everything else. What
55:20
are you doing to ensure you're building the right
55:22
thing? Like how do you, is it
55:25
just Discord? Is it emailing? Is it interviewing?
55:27
Like what do you do to ensure this? It's
55:31
a big mix. So Discord's been
55:33
great. That's been growing constantly. People give
55:35
me some really nice feedback there. I think
55:38
I can't stick to just Discord. So there's also a
55:40
forum now, which is mostly for support.
55:42
And that's been really good too. I've
55:44
been doing user interviews too. So I have like little video
55:46
calls with people and talk about like
55:48
what they like, what they don't like, what other
55:51
problems they might have, what they'd be willing to pay
55:53
for, what they might not want to pay for, that kind of thing.
55:56
That's been going pretty well too. Did you see
55:58
mountain bikes when you said to... Yeah,
56:00
I'm kind of obsessed. It's like my not computer thing
56:02
to do. Where do you live
56:04
at again? I live just outside of London. A
56:07
lot of good trails there, right? Kind
56:09
of. I mean, the UK is a bit mixed. It's always
56:11
raining? It rains a lot. We can ride in
56:13
the mud though. We can't ride in the mud around here. I
56:15
mean, it's... It sucks, but I like
56:18
it. Yeah, I mean, most cycles in the rain, they're
56:20
still fun, but it's very
56:22
different and it's like more dangerous. Yeah,
56:26
okay. We'll sidetrack that. I
56:28
wanted to check that because
56:30
I thought I heard you say motorbikes or mountain bikes. I
56:32
wasn't sure which one. So for other people who are in
56:34
the motorbikes, which I'm not, I'm asking this for them. What
56:37
motorbike do you have? Is that awesome?
56:40
I have a Husqvarna 701 Supermoto. Okay,
56:43
Husqvarna I'm aware of because they make
56:45
very good riding lawnmowers around these parts.
56:49
And chainsaws, apparently. Yes, chainsaws. And they're all just
56:51
three numbers, so you don't know what you're getting. It could be a chainsaw,
56:53
could be a sewing machine, could be a motorbike.
56:55
Did they make sewing machines too? They
56:58
do. Found that out recently. That's hilarious. Yeah. You
57:01
never know until the box shows up and you're
57:03
like, that's too small for a motorbike. It looks
57:05
like a sewing machine. Exactly. What
57:07
do you think the possibility is with A2N?
57:09
Like, what do you think you might be
57:11
going towards? I know this is
57:13
early days, six weeks full time at least.
57:16
But what do you think the... What's the big dream? I
57:18
think the big dream is to kind of hit all
57:20
the use cases, right? Like
57:23
I want power users to love using
57:25
it because it's customizable. It lets them get
57:27
what they want out of it. I would love
57:29
it if people who are less comfortable in
57:32
the command line and kind of freak out and
57:34
are a bit scared feel so much more
57:36
confident using it. And I would love for teams and
57:38
organizations to be using it just to accelerate their productivity,
57:42
to make it more comfortable. You mentioned, I
57:44
guess, warp to some point. to
58:00
some degree, a lot of
58:02
folks use terminal app on Mac or
58:04
pick your terminal flavor on Linux. I'm not even sure.
58:07
I don't use Linux desktop, so I can't say for
58:09
sure. It's still not the
58:11
year of Linux desktop, so there you
58:13
go. Maybe next year. Maybe next
58:15
year. It's always next year. It's
58:17
always next year. How does
58:20
H-WIN fit into the world
58:22
of warps, for example, where they want to supercharge
58:24
or be the terminal of the future and they're
58:26
trying to, there's
58:28
even our friends at, not
58:30
bubble tea, but what's their name,
58:33
Jared? Charm. Charm, yes. Y'all
58:36
are all wanting to improve the
58:39
command line. One
58:42
organization, project, dream at
58:44
a time, and I feel like there's a version
58:47
of you all that come together and just coalesce
58:49
into a great symphony or something like that. How
58:51
does it work with the warps and
58:53
the non-warps and the things that sort of add
58:56
things? Is it challenging to work around those things?
58:58
Like you mentioned, it doesn't work right. Describe
59:01
that. Yeah, I mean, I guess
59:03
it's different challenges. Warps are in
59:05
a nice place where they control
59:07
the sandbox. Everyone's using their terminal. They've got
59:09
the whole thing from the bottom up. And
59:12
the downside is there that they have to convince
59:14
someone to download and use a new terminal, which
59:17
I don't know anyone there, but I imagine they struggle with that. Whereas
59:20
the challenges that we have are
59:22
a little bit different in that
59:24
the friction to get started with
59:26
the two ends is quite low. It's just
59:28
a plugin to install into what you already have. But
59:31
the flip side there is that the
59:34
number of things it can conflict with
59:36
and the number of different setups people
59:38
have is like huge. And I
59:40
didn't realize when I started this, the number of very
59:43
weird installs some people would have,
59:45
like some strange terminal on
59:47
Windows that when you're SSH'd into a different
59:49
machine and have three specific plugins, it doesn't
59:51
work. And it's like, well, great. I never
59:54
really envisioned someone would do that. But let's
59:57
see how we can sort that out. Yeah, I'm
59:59
not sure that answered the question. Well, I think
1:00:01
just mapping around the, I guess the land of terminal,
1:00:03
which is like the Wild Wild West in a lot
1:00:05
of ways. There's no right
1:00:08
way or wrong way. It's just the way. And
1:00:10
there is no way to determine
1:00:12
this random SSH session into on
1:00:15
Windows that has these three plugins. You just can't predict that, right?
1:00:19
Exactly. So I think there's like somewhere in
1:00:22
the middle where everything converges and that's where
1:00:24
the answer is. But we'll see. So
1:00:27
you don't need much money. So I'm guessing you haven't raised
1:00:29
any money or have decided
1:00:32
to take on investment or do you
1:00:34
have a posse? Do
1:00:37
you have folks behind you rooting for
1:00:39
you? You have fans. I know that
1:00:42
because they hit us up on
1:00:44
the socials. And they're like, hey, everyone's awesome. The
1:00:47
support has been amazing, actually. I didn't really
1:00:49
realize that many people cared that much. So
1:00:52
that's been lovely, especially on Mastodon. Lots
1:00:54
of people are like, what on Mastodon? Why? Where?
1:00:56
And like every time I post about it
1:00:58
there, I get loads of nice feedback and support. So that's
1:01:01
lovely. Thank you to anyone listening to this. I
1:01:03
think funding wise, no, I don't have any
1:01:05
funding. Sort of consider a little bit of
1:01:08
angel money at the moment, maybe. But again,
1:01:10
I don't need loads of
1:01:12
money right now. The most expensive thing
1:01:14
is my time. And I'm good with
1:01:16
that for now. I guess I'm not
1:01:19
ruling it out for the future, but it's not a
1:01:21
thing in the present. I
1:01:23
don't think like if someone gave me
1:01:25
$2 million tomorrow, pretty much the only
1:01:27
thing I could do with it is hire people. And
1:01:29
I don't think that's the right thing right now. I
1:01:31
think it would be the wrong incentives at this point. Sure.
1:01:34
Is there anybody else working on it with you? Not
1:01:37
full time. Not like this. There's a
1:01:39
lot of open source contributors who are
1:01:41
amazing and I really appreciate them all.
1:01:43
It kind of varies. There's some regular
1:01:45
contributors and some of them have their
1:01:48
special sort of interest areas of what
1:01:50
they like to work on. And
1:01:52
there's a lot of drive-thly contributors too. So
1:01:54
someone will have something that annoys
1:01:56
them and then they'll come and fix it and then
1:01:58
vanish. on a sticker so
1:02:00
I mean I know it's not going to show up for the audio
1:02:02
but I got one of these and every
1:02:05
um... A turtle with a wizard hat on? It's
1:02:07
got a wizard hat on and it's sparkly. So
1:02:09
everyone can contribute. And the shell is kind of
1:02:11
a gem or something? Exactly. It's like
1:02:13
a magic shell. So
1:02:16
anyone that wants one I'll ship them out.
1:02:18
Nice. Yeah. I like that mascot. What's
1:02:22
the name? Et-et-et-et-et-et-et? It doesn't have
1:02:24
a name. I should
1:02:26
probably name it Et-et-et-et-et. Oh, like what does
1:02:28
Et-et-et-et-et mean? Why would you pick that name?
1:02:30
Oh, um, my favorite book
1:02:32
series is the sort of Terry Pratchett
1:02:34
Discworld universe. I don't know if you're familiar
1:02:36
with it. The
1:02:38
premise, it kind of comes from a lot of... The
1:02:41
premise is that there's like a giant turtle in
1:02:43
space and flying swimming around.
1:02:46
He has four elephants on his back and then the
1:02:48
world is like a flat disc on the back of
1:02:50
the elephant. It's kind of like a wacky fantasy series.
1:02:52
Okay. Oh, yes. And
1:02:55
the name of that turtle is the Great Ativan.
1:02:58
It kind of came from there and it's been
1:03:00
like adjusted slightly. But the concept comes through
1:03:02
like a lot of old religion and mythology of
1:03:04
like the world turtle. Gotcha.
1:03:07
Interesting. The world
1:03:09
turtle, the magical shell. Yeah,
1:03:12
I've heard some people say, I'm not sure what the
1:03:14
context was, but like we're all just on
1:03:16
a world on a turtle's back flying through space
1:03:18
or something like that. I've heard that at least
1:03:21
somewhere in a geek
1:03:23
land of some sort. I'm not sure
1:03:25
which. There's a big intersection between computer
1:03:27
nerds and Terry Pratchett fans. That makes
1:03:30
sense. Okay. Is there a tie-in to
1:03:32
turtles all the way down from that or no? No,
1:03:34
but it is fitting. I mean, there might
1:03:36
be, but not that I'm aware of. I
1:03:38
mean, the synapses connected in my brain, but
1:03:41
I don't know. I don't know the history of the
1:03:43
phrase turtles all the way down well enough. But
1:03:45
I just figured, you know, nerds and turtles, there
1:03:47
you go. Nerds and turtles. Well, does
1:03:50
the mascot, the icon, does it have
1:03:52
a name? No, it does not. I've
1:03:54
been debating. I suggest the name. Okay,
1:03:57
for it. Shelley. Oh, actually.
1:04:00
That's cute. Yeah, maybe it's
1:04:02
Shelly. Shelly. That's a pun, and
1:04:04
it's good. That's a good pun. Yeah,
1:04:07
I would dig it That's almost as good as
1:04:09
my TNT tie-in from the day. So good. Yeah
1:04:13
But not good so bad. It was good. I
1:04:15
like Shelly. That's actually good. Good. It's good good That's
1:04:18
not bad. Good. That's good. Good. So Ellie
1:04:21
which rhymes with Shelly. That's true, by the way in case
1:04:23
you didn't notice How can we
1:04:25
help how can change all the community our listeners? You
1:04:28
know fellow nerds terminal junkies Adam
1:04:32
and I like I'm rooting for you. I think
1:04:34
it's really cool I hope you
1:04:36
make it even cooler and that
1:04:38
you can do this, you know as long as you want
1:04:40
to so how can we help? How can get involved? What
1:04:43
would help you? I mean even just being here
1:04:45
and sharing it is huge So I think if
1:04:47
anyone who wants to help out could check it
1:04:50
out. Give it a try Let me know what
1:04:52
you think all feedbacks good even if it's not
1:04:54
obviously positive Sharing it with
1:04:56
people you think might be interested is also great.
1:04:58
So this is spread pretty much entirely through word-of-mouth
1:05:01
So continuing that would be fantastic, but
1:05:03
no just more of the same fantastic. Thank you
1:05:05
so much. Adam any final thoughts or
1:05:09
Lines of questioning not necessarily. I
1:05:11
think I think
1:05:13
the trust factor is Like
1:05:16
you got registered like in the whole
1:05:18
happy path of getting started is all
1:05:20
Registering and I think there's
1:05:22
an allergy Initially like even
1:05:24
with Jared on when we first talked to Zach
1:05:27
Lloyd with warp we talked on twice down the
1:05:29
podcast It was like we
1:05:31
don't want to have to register to use the terminal and
1:05:33
I get it I understand all this your project you get from
1:05:35
doing it and I get that we can trust you understand all
1:05:37
that I think just generally hackers are
1:05:39
like I would rather not so
1:05:42
I'd like a more squeaky or I
1:05:45
guess a more smooth path to the
1:05:47
non-register version to get a
1:05:49
win early on and Let
1:05:51
the the trust be earned over
1:05:54
the usage of the tool like that would be
1:05:56
feedback from me because that's That
1:05:59
would be my hurdle really And I know this
1:06:01
isn't feedback time, but that's my one
1:06:03
thought after talking to you and know what the
1:06:05
tool is and what it can do is like
1:06:07
that's I think probably a hurdle you're having to
1:06:09
deal with. And the server is
1:06:11
awesome, but I don't think somebody's going to stamp a server
1:06:13
just to like bifurcate the option to trust you. I think
1:06:15
it's just going to be like let's just figure out how
1:06:17
to get to a win with
1:06:20
it without having to do the whole let it
1:06:22
– let me put it in your cloud kind
1:06:24
of thing or whatever. However that looks. Well, what's
1:06:27
the third option? So if they're not going
1:06:29
to run their own server and you don't want them to register,
1:06:31
what could Ellie do? Well, you don't have to, right?
1:06:33
You could just sync it locally. Isn't it local if
1:06:36
you don't register? Yeah, you can use it offline. It
1:06:38
won't sync, but it's still useful. But that's the core
1:06:40
feature that it offers out. Well, you
1:06:42
get the usage of the tool. I think that's what's cool
1:06:44
for me is like, well, okay, now that I see this
1:06:46
tool is cool and how I can use it in this
1:06:48
one single environment, I know I want it
1:06:50
over there too and over here too. But in that way,
1:06:52
I actually want to opt in to sync later on. Give
1:06:55
me the tool and its usefulness and let
1:06:57
sync be a superpower that I
1:07:00
sought after after I trust you
1:07:02
because I don't need to have syncing
1:07:04
to enjoy stats immediately
1:07:06
as an example. That was my hurdle here in
1:07:09
the call was I just couldn't share that with you
1:07:11
all because I had my issues. I can
1:07:13
fix that and that's not your problem, but I
1:07:15
think ultimately you may have the
1:07:17
loss of somebody's attention in
1:07:20
that moment if they just – I can't figure it out. It's
1:07:22
not that big of a deal to me. Let me move on.
1:07:24
I think over time, there'll be a challenge. Yeah,
1:07:26
maybe you started with the stats and
1:07:28
the history, the actual control
1:07:31
R replacement as part of this setup
1:07:33
that you're working on. And at
1:07:35
the end of the setup was now
1:07:37
the sync option which requires either self-host
1:07:39
or login right now. Register.
1:07:42
I can see that because I think I
1:07:44
would potentially download it and use it to
1:07:47
get to the stats and just to replace
1:07:49
control R. If that was obvious
1:07:51
and good enough for me to be like, oh, I
1:07:53
love to control – I love control R on steroids
1:07:55
or whatever way you are able to
1:07:57
pitch that because I realize the steroids
1:07:59
are good. have also bad effects
1:08:02
on the body. So maybe not the best. Call
1:08:04
it on strawberries. Strawberries are great for you. They
1:08:06
give you energy. Oh, on strawberry. Yeah, antioxidants. Amazing
1:08:08
for you. Great for your skin. All right, so
1:08:10
control R on strawberries. Plus
1:08:12
the history, the stats might
1:08:15
get me to install it. And then by the way,
1:08:17
sync. Oh, wow. Yeah.
1:08:21
So I can see what you're saying there, Adam. Yeah,
1:08:23
I mean. But I think as you build out the
1:08:25
like your developer environment, sync everywhere,
1:08:28
a lot of people are going to come
1:08:30
for that exact reason. And they're going to go straight for it. For
1:08:32
sure. Because I think we
1:08:34
understand that a sync requires some sort of
1:08:37
quote unquote cloud computer. You know, like somewhere
1:08:39
that's not our computer. And so either registering
1:08:41
or hosting your own server makes
1:08:44
complete sense. Definitely. Thank you. No, I'll bear that in
1:08:46
mind. Whereas with warp, it was like it's a terminal.
1:08:49
I don't want to have to sign up and sign
1:08:51
in to use a terminal. But like it's a sync
1:08:53
service. This is, it has become the sync service. So
1:08:56
I get the reason. But
1:08:58
I agree. For sure. Thank you. I think I'll do
1:09:00
something like that for the like sort of
1:09:03
hand-holding setup to me, maybe. I would
1:09:05
wear. But I dig it. I'm excited for
1:09:07
you. I think Shelly is a hit. Turtle
1:09:09
in the back, you know, world's on a turtle's back, flying
1:09:12
through space. How do we get some of
1:09:14
those stickers? Yeah, let's get some stickers up
1:09:17
there. I see Sammy or dressed after this,
1:09:19
so I'll send you some. Fantastic. All
1:09:21
right. All right. This has been fun.
1:09:23
Thanks, Helly. Yeah, it's been great. Thank you so much.
1:09:26
Thank you. Thank
1:09:29
you. It took me a minute,
1:09:31
but I finally put my finger
1:09:33
on what the name Attuen was
1:09:35
reminding me of throughout this conversation,
1:09:37
Q Grand Moff Tarkin. I
1:09:40
grew tired of asking this, so it will be
1:09:43
the last time. Where is
1:09:45
the rebel face? They're
1:09:53
all down to me. Do you hear the resemblance?
1:09:56
Just me. Somehow, everything reminds me of
1:09:59
Star Wars. Okay, so
1:10:01
I've been using Atuin for a while now
1:10:03
and I don't think I'm ever going back
1:10:05
to the old built-in Control-R style. It's just
1:10:07
too good, and even though I primarily use
1:10:10
a single machine, I love the idea of
1:10:12
eventually using this to bootstrap my future shell
1:10:14
environments. What about you? Are
1:10:16
you a long time Atuin user who is excited? We
1:10:18
finally had Ellie on the Pod? Or is this your
1:10:21
first time hearing about it? Let us know in the
1:10:23
comments, we'd love to hear from you, there's a link
1:10:25
in your show notes. Or hop
1:10:27
in our community slack, there's great
1:10:29
conversations going on in there and
1:10:32
it's totally free to get yourself
1:10:34
an invite at changelog.com/community. Thanks
1:10:37
once again to our partners at fly.io, to
1:10:39
our friends at Sentry, who will give you
1:10:42
$100 off their team plan if you use
1:10:44
code changelog when you sign up, and to
1:10:46
Breakmaster Cylinder for Beat Freakin' For Us all
1:10:48
these years. Coming up next, homebrew
1:10:51
maintainer Mike McQuaid is back on
1:10:53
changelog and friends. We talk about
1:10:55
social media of course, the Apple
1:10:57
Vision Pro of course, Elon Musk
1:10:59
of course, homebrew and
1:11:01
workbrew, Mike's new business that's
1:11:03
building the missing features and
1:11:05
providing support for companies using homebrew.
1:11:08
Plus a few surprises along the way, I
1:11:10
think you'll dig it, it was a real
1:11:12
fun one. Alright that's all for
1:11:14
now, thanks for listening. If you dig this show,
1:11:16
share it with your friends, and if you really
1:11:19
dig it, hook us up with a 5 star
1:11:21
review. And if you really
1:11:23
really dig it, consider supporting our work with
1:11:25
a changelog plus plus membership. I hear it's
1:11:27
better, that's what people tell me at least.
1:11:29
It is better, it's been better for years.
1:11:31
Okay I'm done for real now, we'll talk
1:11:33
to you again, I'm free. and
1:12:14
a a
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More