Menu
Sign In Pricing Add Podcast

David Crespo

Appearances

Oxide and Friends

RFDs: The Backbone of Oxide

1090.891

Yeah, so I think that's kind of right. And I think we had also reached kind of a software complexity. So when we were talking about this, my recollection is we were kind of going back on what was good about PSARC, what was bad about PSARC. And in particular, it was kind of like the 20 questions part of it.

Oxide and Friends

RFDs: The Backbone of Oxide

1107.535

Not necessarily did you write every manual page down into a case that was there, but more of the what are we trying to do and why. we had kind of gotten to the point where both Triton and Manta had reached a level of complexity as well, where it's just like, how did these things intersect? What actually happens when you're building this?

Oxide and Friends

RFDs: The Backbone of Oxide

1128.029

And to your point, the act of writing it down just forced you to think about it a little bit ahead of time. But yeah, I think that that's kind of where we were. And then I think we kind of used Alex as the first willing

Oxide and Friends

RFDs: The Backbone of Oxide

1157.688

Yeah, I think it was both. I think we kind of both were looking for it and then looking for a way to kind of lead with a couple examples of what we were looking for because it was kind of a hard thing to – if you just like what is the actual shape of this kind of amorphous document? And so you want to have, you know, something that kind of describes like, what's the problem?

Oxide and Friends

RFDs: The Backbone of Oxide

1178.919

You know, what are we actually proposing? How does this intersect? You know, especially for kind of like a bunch of stuff for us was, you know, then, you know, what is actually going to be user visible? Like how does some of these APIs, what are some of these APIs, what are these sketches of them? So we understand how they fit together.

Oxide and Friends

RFDs: The Backbone of Oxide

1383.154

Yeah, that's my recollection, especially, like, in the era of, like – chat bots that will link to things. I think the bot already did RFCX to the actual IETF RFC, so that was going to be doubly confusing. I think it was that, and then also that way we could just distinguish it from the IETF. Yeah, that's mostly why we chose a different name. I don't think there's too much

Oxide and Friends

RFDs: The Backbone of Oxide

1419.937

Yeah, I think the sentence you have, the parenthetical you have at the end of that joint RFD intro is probably about as accurate as it is.

Oxide and Friends

RFDs: The Backbone of Oxide

1488.274

had come along the way like i don't remember if we had something as formal for manta i think i wrote up a bunch for the fabrics stuff in like 2013 2012 yeah and but they were just kind of like one-off documents that we would just kind of store and toss on you know the like local http server for folks to build to see and then i guess we eventually had manta we tossed it in there but

Oxide and Friends

RFDs: The Backbone of Oxide

1522.586

I think they've been sands of time.

Oxide and Friends

RFDs: The Backbone of Oxide

1539.391

Very well. Thank you.

Oxide and Friends

RFDs: The Backbone of Oxide

1569.266

Yeah, I think, you know, But definitely a bunch of things we're trying to figure out is what is the content? How do we section it? I was going back and looking at the prototype we had for the RFD set at Joyent. And it's literally just like, OK, there's a title, and that's it.

Oxide and Friends

RFDs: The Backbone of Oxide

1589.944

And I think sometimes that not even having like, not that there's too many more sections than what we have at Oxide, but I think having a little bit there

Oxide and Friends

RFDs: The Backbone of Oxide

1599.833

helps um and then i think the method of discussion it's also something that we're trying to iterate and figure out you know what's the right way to do it um yeah you know some of it was just kind of like ah there's an issue or you know some folks discuss in chat or sometimes we had an email thread and that worked okay ish um i don't know yeah i mean pros and cons there the github

Oxide and Friends

RFDs: The Backbone of Oxide

1630.103

GitHub PR today is differently painful because of GitHub more so than anything else.

Oxide and Friends

RFDs: The Backbone of Oxide

1794.414

Yeah, and I think some of the other bits here, you know, locating everything in a repo makes it very easy to see what's changed over time. The discoverability was big, and then We ended up with Markdown initially mostly because, I don't know, it was the thing to do du jour. It was easy to see rendered.

Oxide and Friends

RFDs: The Backbone of Oxide

1815.871

Trent had his Python Markdown 2, which we had used for a lot of docs and other things historically.

Oxide and Friends

RFDs: The Backbone of Oxide

1889.416

I mean, probably. Given how we're weird on everything else, right? Yeah, part of this evolution I think came from a few steps. I mean, once you're in the non-WhizzyWig world, so once you're not in a Word or Google Docs, then there's kind of two challenges. One, and

Oxide and Friends

RFDs: The Backbone of Oxide

1911.308

This may be my own fault, but it is very hard in the markdown days, particularly in 2012, 2015, to see a rendered markdown doc, per se, locally without pushing it somewhere up. And that, for me, was just my own mental foible of wanting to see, hey, does this render correctly before I push it?

Oxide and Friends

RFDs: The Backbone of Oxide

1949.98

It's like tough, tough and fair. Uh, and then I think the other, the other thing that we kind of saw as we were getting down, um, And I think the first Joyent, so actually Alex Wilson, who wrote RFD1, was the first one to use ASCII doc in an RFD at Joyent. Oh, really? Yeah, he was the one who found it and pointed us towards it. And I want to say it was probably for RFD77 there.

Oxide and Friends

RFDs: The Backbone of Oxide

1975.34

And once you kind of got to, you know, I think one of the Markdown strengths was, you know, it was very simple. Uh, one of Markdown's weaknesses is like, if you want to create a table, there's still probably like 20 different ways to create a table. And if you want a table of contents, like, you know, God forbid that, uh, you're, you're really on your own. And so the little bit of additional, um,

Oxide and Friends

RFDs: The Backbone of Oxide

2000.186

syntactic features that we got out of asciidoc was kind of why for complex documents we want to move there you know easy knowing that there's easy ways to link between different sections or other things or kind of a bunch of the other features and you know there's a bunch of features we didn't even use back then that uh now so our colleagues like uh ben knacker is using in the oxql rfd so he could easily do call outs or other things so i i found it to be a you know

Oxide and Friends

RFDs: The Backbone of Oxide

2031.094

Easy to get something basic that looks pretty good. And then if you need to go complex, you had that capability. Whereas with Markdown, you were kind of constrained by the Markdown renderer. And no two renders were going to do it the same way.

Oxide and Friends

RFDs: The Backbone of Oxide

2117.999

I just always used ASCII doctor and just pulled up the HTML file. Um, and just use that. And it was pretty good. It had default CSS too, which just meant you could use it and toss a document somewhere, and people could see it. And it looked fine on both mobile and not mobile, which was really nice as someone who doesn't want to think about CSS.

Oxide and Friends

RFDs: The Backbone of Oxide

5616.92

Yeah, specifically for the Gimlet hardware sled.

Oxide and Friends

RFDs: The Backbone of Oxide

5647.702

Sure. So, I mean, I think to kind of talk about how we use RFDs for Cosmo, it helps a little bit to talk about RFDs for Gimlet along the way. So when we were developing Gimlet, I'd say, you know, this was a time when the first RFDs were in, there's maybe what, 12 of us, 15 of us. And this is before most of the team has started. I mean, this is mid 2020, maybe early.

Oxide and Friends

RFDs: The Backbone of Oxide

5676.167

So a lot of it was us trying to separate out the specifics of what was important for socket SP3 or specifics for this particular AMD aspect versus what is it we generally want. So a lot of things are split up in those early RFDs in part because of that. We had something about what does PCIe hot plug look like? What are our goals and constraints?

Oxide and Friends

RFDs: The Backbone of Oxide

5703.85

How do we split up responsibility between different subsystems? Just edit broad core strokes. What's even the role of power monitoring? When should we do it? When shouldn't we do it? All these things. So that gives us a lot of initial foundation there. And then from there, with Cosmo, a lot of these things that we have, we're not starting from a clean slate, per se. We have an existing system.

Oxide and Friends

RFDs: The Backbone of Oxide

5739.463

There's a lot of stuff we want to reuse between that. we have a large investment in hubris and tooling and different components. You know, we have vendors that we've worked with. So we're not trying to necessarily reinvent the whole wheel there. So, you know, not everything is like, not everything is starting from a clean shade again. So that kind of helps constrain it.

Oxide and Friends

RFDs: The Backbone of Oxide

5759.18

So in there, we kind of, in the Cosmo RFD, for example, you know, we've broken up that into a bunch of different areas that different folks helped collaborate on. Some of it was Adam and I collaborating on, what is the disk drive interface that we should use? There's U.2, E3S, E1S. There's E1L. There's three different variants of widths and thicknesses of E3S and even longer things.

Oxide and Friends

RFDs: The Backbone of Oxide

5788.542

How many lanes do you want? But that's something there. Sorry.

Oxide and Friends

RFDs: The Backbone of Oxide

5797.963

There's one of those is up there. But, but that's that. Whereas like we have a very different question, you know, where like Nathaniel, who's kind of lurking, I think on this, you know, was dealing with how do we kind of rethink about how we're doing parts of what the FPGA's role is as we want to add different features around eSpy and other things.

Oxide and Friends

RFDs: The Backbone of Oxide

5821.209

And so that's different places where different folks kind of collaborate with different takes on it. And then we have an appendix, to your point of things that you've abandoned. There was a bunch of early ideas that we kind of ended up not rolling with this time, but we have a note of what they were and then why we didn't, because a lot of them weren't

Oxide and Friends

RFDs: The Backbone of Oxide

5840.25

you know, they're still good ideas, but just didn't make sense based on certain circumstances. So it's helpful there. And I think then the other bit that we've tried to do here is that, you know, to the folks' points, you know, throughout this is like, hey, how do I ramp up when there's you know, a million words, million and a half words of context of this. And I don't know what it is.

Oxide and Friends

RFDs: The Backbone of Oxide

5860.003

And it's like, okay, well, there's, you know, if you're just starting, you kind of have a determination section or even a small overview presentation that someone's given. And the specifics of why don't necessarily matter. But if you do, but later on, if you come back to this, you do have specifics of why. And that's helpful for, you know, that's not helpful when you're trying to ramp up.

Oxide and Friends

RFDs: The Backbone of Oxide

5879.387

But if you're trying to come back to like, why did we make this decision? What were the different trade-offs?