Menu
Sign In Pricing Add Podcast

Matthew Sanabria

Appearances

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1065.142

I see JJ as like... It's going to be very successful because it's compatible with Git in the back end. But its front end, like the way you interact with it and use the CLI tools, is very good. It's a different kind of paradigm, and it solves the problems that Git's CLI is a little cumbersome to use for humans. It solves those problems. But you have to learn JJ's kind of paradigm of working.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1087.076

And once you get over that hump, you're like, wow, this is actually pretty great. My rebasing and all that stuff is much safer and easier to do in JJ than it was in Git. And like JJ's undo operation is very safe because you can just do something, say, oh, wait, I didn't mean to do that.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1102.788

JJ undo and you're back to where you were without having to like do any sort of like get reset or restores or whatever. Really nice.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1213.416

Yeah. I mean, it's, I probably wouldn't have even tried JJ if we didn't have a whole like channel for it at Oxide. We have like a whole channel discussing jujitsu, jujitsu. And everyone's like, oh, you know, you should try it. I was like, okay. So, I got kind of, I kind of like fell for the peer pressure a little bit.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1230.785

But then when I went there on the other side, I was like, this is actually pretty good. I see why you all are using it. So, if I didn't have that like kind of peer pressure, I probably wouldn't have tried it myself.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1248.547

Yeah, we have a lot of people here like to try bleeding edge tools or at least stay on like the main branch for different tools and build things from source. That's how I found Helix. That's how I found Jujutsu. And, you know, I've kind of started to take this mantra of not just installing my tools using like a package manager, but instead building them from source.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1269.753

And like, it's been really nice. It's kind of like a different paradigm than I'm used to, but it's nice to be able to monitor an issue or something and say, oh, this thing that I was having issues with is fixed. I just build from source. I don't have to wait for them to release anything. This is great. Mm-hmm. So that's kind of the oxide way, so to speak.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1334.838

And a lot of people, they pull in things that aren't even merged into the default branch, right? Like they'll pull in, they'll go to the main branch and pull in some PRs that are not yet merged and build that. And that's what they daily drive. And I think part of it too is that the commands for building these things now are better than what we used to do in the past, right?

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1353.854

Like you can just, like Ghosty is just one zig build away from using it and having a nice binary. And same thing with like Helix. You just cargo build it, right? And you install it and it's done. You don't have to really worry about, you know, autoconf, configure, make and all that stuff. You just use the tooling for the language and you have everything you need, which is much nicer. Yeah.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1703.558

Do you agree, Matthew? Yeah, I agree overall. I think part of the negative attention Go is getting right now I think has to do with the cloud repatriation effort that's going on, where people are just kind of fed up with the cloud in general.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1719.031

And since Go is more of that cloud-focused language, people by definition are fed up with the tools around the cloud too, and Go just kind of gets caught up in the middle. And Go is a simple language, right? There's something to be said about the average developer being able to read a piece of Go code and understand it because it's a simple language.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1735.063

But also, I know that it doesn't have all the bells and whistles like other languages that it's competing with does, right? Like, you don't have reduce and fold or whatever. You don't have, you know, true iterators like that or true generics. They all feel like bolt-ons to the language. And, like, I'm at Oxide, right? And we build a cloud computer.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1753.047

And you would think that cloud and Go go hand in hand. And that's very true. But most of Oxide is written in Rust. But we do have a lot of Go in the places where we have to integrate. So think like Kubernetes integrations, Terraform integrations, Packer integrations, all of that stuff is still Go. So I'm responsible for all that at HashiCorp, or sorry, HashiCorp at Oxide.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1774.497

And it's like, that's all going to be Go stuff, right? You don't write that stuff in Rust because all of the integration points are Go and have Go libraries for that. So I don't know. I think the kind of negative attention Go is getting is somewhat warranted because it is a language that hasn't really evolved so, so much in comparison to its competitors.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1795.631

But it's still a good language to choose, especially if you're dealing with any sort of cloud environments or Kubernetes.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1889.798

I think at some point the Go team is going to have to rethink their backwards compatibility promise and maybe even think about what a Go 2 would look like.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1899.602

Because if they maintain this backwards compatibility is the thing and simplicity is the thing and all of these features that we have to add have to be added in a backwards compatible way, I think they lose in the long run if they keep that mindset personally. I think at some point they should reevaluate and say, we're going to do a Go 2. It's going to be backwards incompatible.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

1921.311

It's going to have breaking changes, but it's going to allow us to add these things to the language that we've been wanting in a way that feels better than what we're doing it today. And I think that might be something that they want to consider at some point in the future.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

2080.717

I keep forgetting that they're becoming more load-bearing on the go mod file and like the go directive in there and the tools directive now. They're using the versions listed there for tool chain conditionals. I keep forgetting about that and that is true. They can probably get a long way with that especially since the tool chain is built into the language.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

2098.526

You don't think though that like iterators and generics are kind of, they feel out of place in the language syntactically? You don't feel like they're just kind of too overly verbose or not a first-class citizen so to speak?

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

2180.264

Yeah, that's fair. I would say that's where I'm okay if someone were to say, here's GoTo, I'm going to take all of those things that are kind of warty in the language and clean up their syntax for a GoTo. I'd be okay with that. Is it something I think is going to happen? Probably not, but I'd be okay if they announced that.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

2547.008

Like, what's the artifact, right? Like, that's my question is if I'm using natural language or prose to describe what I want to do, is the artifact that I'm kind of storing and versioning, is it going to be assembly? Is it going to be the prose? What is it, right? So, I think I agree with what Chris is saying for the most part, but there might be some benefit into that intermediate representation

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

2571.744

in a language that is the artifact and that way because you know the average human can't read assembly at all right that's more for machines to read and checking in prose is not technical enough to understand like what it's actually doing so maybe there is a value in that intermediate representation being like go or rust or zig or something and that's what we check in i don't know but i don't think we're going to get there and and i agree like what's the point of it

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

2646.237

Feels like it turns into protobuf, but instead of a protobuf to go generation, it's pros to go generation. And it's like, I can just see it now in GitHub. Binary file too large to include or whatever. And you don't actually see the diff. Yeah. But no, I think it's an interesting topic of discussion because it would really be nice.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

2667.289

Sometimes you can only express what you want to do in natural language. And you don't really know what the code is going to look like. And you want to have that translation. But are we there yet reliably? Definitely not.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

268.86

Yeah, it's all good. I'm coming here from Vegas right now on Hotel Connection, but it's all good.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

2789.141

I'm sure. You know, send me a link. I got you.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3105.576

Does this, um, require you to go down the levels here or the actions? Like, for example, do you have to do a praise and understand before you can do explore? Is that what the author is getting at? Or can you kind of just do any of the seven actions?

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3140.803

Yeah. I, I, My opinion on this whole documentation thing is I agree that we have too few documentation or what is that? We have not enough documentation out there in relation to the code and to the things that we have available. And if I have to go look at the source code to understand what things are doing, That's a failure in my opinion. And like OpenTelemetry does this pretty well.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3165.628

Like fails pretty well, I guess is what I'm trying to say. I'm not trying to be mean or anything. Yeah, I'm not trying to be mean or anything with that. I'm really not.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3175.214

It's just when I was working with OpenTelemetry, I found myself always having to go to the source code because there was either no docs or the docs were far out of date and not kept up and they were kind of meaningless at that point. And it's like if you're telling your users to do that, then you're going to suffer. Like nobody's going to know what your program does. Adoption is going to suffer.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3195.586

People are going to be upset using your thing. And it just breeds like an animosity using your tooling. Like is that what you really want? And you hit it right on the head, Jared. Like a small paragraph describing how things are laid out or kind of like the concepts and ideas can go a long way to unlocking your mental model to understanding what it is you're doing and looking at.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3218.606

Yeah, write the paragraph.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3376.169

Request for discussion. Request for discussion, yeah. Okay. We have, I think, over 500, 600 RFDs now, somewhere in between 500 to 600. And you're right. Like, we have search, and it's, like, full-text search. You get to search the title of the RFD and the content as well. But you're correct. There's no, like... organization structure to them.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3395.491

Unless the author of an RFD put in enough keywords that will be generally searchable and accurate, it's kind of difficult to find them. And as a new employee to Oxide, that makes it difficult for me because if I search generic keywords, I get maybe hundreds of results back. And now what's actually relevant to me? What do I actually want to read and go into?

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3418.921

Now I have to go talk to a human and say, hey, I'm doing XYZ, what should I be reading out of these RFDs and they give me like the number based on their experience, right? But still, there's no cataloging, it's more just word of mouth experience.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3435.498

I mean, like, it's not an unsolvable problem either, right? It's not that, like, Oxide's RFDs are bad or whatever. No, they're great. At least we wrote the stuff down and they're there. Now it's a matter of someone has to go through and comb through these documents and organize them. We need a librarian.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3523.888

It reminds me of like your favorite, you know, detective series or whatever, where they have to go into the evidence room and find evidence and it's tagged very well. The case files are there. You can find them. They're dated. There's keywords. There's identifiers. And it's like, that's pretty decent actually, right? You can find what you need relevant to the things you're working on.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3543.244

And it's like we've, like what Chris was saying, we've digitized a lot of this stuff and we kind of just forgot to add that metadata, right? You know, we just kind of left that behind. And it's actually more important than ever because we're generating so much digital content that now we have the problem of finding it. It's like, why did we do this to ourselves?

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3572.009

Unlike the physical world though, at least like, at least the digital world is, you know, malleable, right? You can mutate this stuff. So, if you did find some sort of RFD or some document somewhere and you were like, hey, I thought this was going to have the keyword foo for this and I didn't see keyword foo. I can update it and put foo there.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3591.423

So, next time someone else can find it with that keyword. And I think that's... That's another part of the digital world that we as engineers tend to forget is that this stuff is very malleable. You shouldn't be afraid to change something, even though it's like a five-year-old document to make it better for future people to find it.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3635.584

Like using your trash example. Let's, let's, let's, I have an analogy real quick of trash on the ground somewhere to a typo in a documentation on a website. Let's make that analogy real quick.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3646.192

In the trash example, I can fully autonomously pick up the trash, take it, and dispose of it without having to get an approval, without having to get a review for it, without having to verify if the trash really is trash, any of that stuff. I can just do that automatically myself. And that makes it easy for me to do and simple. Whereas that typo on the website, we all know it's correct, right?

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3666.57

We all know that like the change I'm going to make is correcting it. But I have to be subject to a PR review and approval, CICD, all of this crap just to clean up some garbage. And it's like that disincentivized people from wanting to clean up garbage because we've subjected them to these processes that actually are a hindrance. It's like, why did we do these things, right? It's just a typo.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3687.861

I shouldn't need three reviews from the SIG person to do it. Like, come on, you know, let's just, let's get it in. And then we wonder why there's so much garbage.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

369.098

I'm not using Zed like full time. I just have it installed just in case I need it for something like else. And I'm not using Knicks. Um, everything else I'm using though, like full time.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

3889.229

Oh, yeah. Escape Room was great.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

405.123

Yeah, it's very much inspired by Vim and Cocoon and they like kind of flipped like Vim has like a motion verb sort of deal and like Helix is a motion like noun verb sort of deal, right? You don't say the verb of what you want to do and then the noun of what you want to do it on, you say the noun of what you want to do and then the verb they want to do.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

4224.372

Yeah, yeah, it's my first time being a host on a podcast. I've been a guest a few times before that, so I'm excited for that. And, you know, to echo what Chris said about Fall Through, you know, if Chris approached me and was like, hey, we're doing a Go podcast, I probably would have said no.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

4238.341

But, you know, we talked about what we were doing and more nuance than that and being able to expand and, you know, I think it's really reflective of the Go community is also in this kind of state as well, where people are curious to what else is out there. We can cover things like Zig and Rust.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

4254.058

We can cover things like the cloud and Kubernetes and all these other Go adjacent things, but not necessarily strictly related to Go. So I'm really excited about that stuff. I've always found myself listening to Go Time and every time Chris goes off on his monologues, I'm like, yeah, yeah, you get it. You know, I'm just like clapping there like, yeah.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

4272.002

So, I'm excited to be able to, you know, have those conversations live with Chris and go into these nuanced topics. Yeah, no, it's interesting being a podcast host. I mean, you know, scheduling is interesting. And look at me, I'm in a mobile setup right now, right? I brought my stuff with me to the hotel to record an episode. So things I didn't think I was going to do.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

429.4

So, it's like sort of backwards but it's very Vim-like, it feels like Vim. It just kind of has first class for selections. So, it's kind of like you're almost always in visual mode in a sense in Helix and then you like enter insert mode to do your thing. I really like it though. It's, it's got a lot of batteries included for like LSP and tree sitter and things like that nature.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

4403.908

love yeah we're not stopping there either like we have uh plans to write some software for the other side of podcasting which is scheduling and coming up with show ideas and notes and all of that it's surprisingly difficult to schedule across different people and you know guests and whatnot that's a very difficult thing to keep synchronized so for sure we have some plans to to tackle that too

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

4468.593

Definitely. And we're really excited for CPU.fm as well. The whole podcast scene has a kind of a problem with discoverability of finding new podcasts. Because if you go to your average podcast player, they're just going to shove you whatever algorithm down your throat and say, hey, here's the podcast you should listen to. And it ends up being the same tech podcast again and again.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

4490.719

But there's some really nice gems out there. And I think CPU.fm could help get those gems out to the world and to new listeners.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

452.549

Whereas NeoVim, you have to set that up yourself. So that's why I really like Helix.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

4571.576

in the spirit of this episode, like some of the content we covered, information organization and whatnot. So don't forget to be a librarian with cpu.fm and organize it in the way that's best for people to consume. That's a tall order, Matthew.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

459.315

Yeah. That's what I've been using for the past couple of months now.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

4632.817

I have to go to a data center to install an oxide rack.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

526.144

I was very surprised to see that you changed your terminal because you were very adamant on saying, I think on what, iTerm or Terminal app? I forget what you were on.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

566.712

So I don't, I don't use that, but I heard it's really nice.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

593.385

Yeah, I'm running GNOME and it feels pretty native for a GNOME app. But those that are on like KDE or something else probably are like, this is not native. But, you know, Linux doesn't really have a definition of native anyway. So it's hard to do that.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

810.317

I'm just sitting here crying in Linux. Like, can't run any of these things. Right.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

860.436

I really don't like content creation on Linux and that's where like life splits for me. Maybe I should have just got a Mac book or something and kind of that's, I feel like, I think that's the best of both worlds personally.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

919.617

I believe it. Well, give the listeners a big sigh because I am running Linux right now. So let them have it.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

954.512

I actually don't know how you say it either. I was saying it like jujitsu, like the martial arts. Right. But the spelling makes me want to say jujitsu. And that, but that sounds weird. I was hoping you'd tell me. Yeah, I love it. I don't even use Git anymore.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

974.3

Correct. Yep. It's a version control system that has its own concept of storage backends. And Git is just one of those storage backends that you can use. So you can literally drop it into your workflow today and just start using it. And I haven't used Git in months now. It's great.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

996.278

Exactly. Exactly.

The Changelog: Software Development, Open Source

Fallthrough & Friends (Friends)

999.6

Yep, it's a CLI tool. JJ is the tool name. And you're going to do commands like JJ new, JJ commit, JJ describe, things of that nature. And you work with your source code that way. And it doesn't really have a concept of branching and whatnot. It just kind of treats everything as a detached head state. And you just mutate your commits and revisions that way.