Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

Rain Paharia

👤 Person
138 total appearances

Appearances Over Time

Podcast Appearances

Oxide and Friends
Crates We Love

I have a great idea. So is BetGraph due mainstream to talk about here?

Oxide and Friends
Crates We Love

I have a great idea. So is BetGraph due mainstream to talk about here?

Oxide and Friends
Crates We Love

So PetGraph is a crate I've had the good fortune to use a few times in my career. And it is a crate that lets you represent graphs, right? So it is a crate that essentially has a bunch of graph data structures, and you can represent your things in there.

Oxide and Friends
Crates We Love

So PetGraph is a crate I've had the good fortune to use a few times in my career. And it is a crate that lets you represent graphs, right? So it is a crate that essentially has a bunch of graph data structures, and you can represent your things in there.

Oxide and Friends
Crates We Love

One of the things, you know, and I was thinking about why I like PetGraph so much and like, you know, there's some other places where I will like handwrite my own representations rather than using some framework someone has provided. And like, you know, for this, in this case, PetGraph is like, it is a whole framework, right? You kind of model your data, you put it into their data structures.

Oxide and Friends
Crates We Love

One of the things, you know, and I was thinking about why I like PetGraph so much and like, you know, there's some other places where I will like handwrite my own representations rather than using some framework someone has provided. And like, you know, for this, in this case, PetGraph is like, it is a whole framework, right? You kind of model your data, you put it into their data structures.

Oxide and Friends
Crates We Love

And for me, I think the distinguishing thing is that PetGraphs gives you a lot of value from that thing. So there is a wealth of graph algorithms that are included in PetGraph. So, you know, there's like two different SCC algorithms. There's a bunch of different like, you know, like min, you know, the max cut min flow stuff. Like there's a lot of really careful handling.

Oxide and Friends
Crates We Love

And for me, I think the distinguishing thing is that PetGraphs gives you a lot of value from that thing. So there is a wealth of graph algorithms that are included in PetGraph. So, you know, there's like two different SCC algorithms. There's a bunch of different like, you know, like min, you know, the max cut min flow stuff. Like there's a lot of really careful handling.

Oxide and Friends
Crates We Love

And so, you know, at this point it's like, okay, you know, if I have a graph and one way I could do a graph is like, you know, the simplest way is you can imagine like a,

Oxide and Friends
Crates We Love

And so, you know, at this point it's like, okay, you know, if I have a graph and one way I could do a graph is like, you know, the simplest way is you can imagine like a,

Oxide and Friends
Crates We Love

a node with like a arc of node of children or something right like a or something like that um and i think um you know what kind of what can you end up having to write your own algorithms uh on top of that uh but petcraft just kind of you know you have to do a little bit of work to fit into it but it just gives you all of these algorithms and like there have been times where i have thought that all i want is like a dfs and you know you could probably write a dfs by yourself

Oxide and Friends
Crates We Love

a node with like a arc of node of children or something right like a or something like that um and i think um you know what kind of what can you end up having to write your own algorithms uh on top of that uh but petcraft just kind of you know you have to do a little bit of work to fit into it but it just gives you all of these algorithms and like there have been times where i have thought that all i want is like a dfs and you know you could probably write a dfs by yourself

Oxide and Friends
Crates We Love

But then I realized, oh, you know, in some cases the graphs can have cycles. So I need an algorithm to kind of convert the graph into like what is called a condensation graph, which is the same graph but without cycles. And then, you know, so it kind of gives you all of these things. And I don't know, there's something very satisfying about PetGraph in a way that I really like it.

Oxide and Friends
Crates We Love

But then I realized, oh, you know, in some cases the graphs can have cycles. So I need an algorithm to kind of convert the graph into like what is called a condensation graph, which is the same graph but without cycles. And then, you know, so it kind of gives you all of these things. And I don't know, there's something very satisfying about PetGraph in a way that I really like it.

Oxide and Friends
Crates We Love

So PetGraph is really interesting because it actually presents four or five different representations of a graph. So there's the adjacency list graph, which is the default graph, right? If you want a graph, then you probably want to reach for an adjacency list graph, right? There is also an adjacency matrix graph,

Oxide and Friends
Crates We Love

So PetGraph is really interesting because it actually presents four or five different representations of a graph. So there's the adjacency list graph, which is the default graph, right? If you want a graph, then you probably want to reach for an adjacency list graph, right? There is also an adjacency matrix graph,

Oxide and Friends
Crates We Love

um uh which you know if your graph is uh you know in some cases you want to use the matrix representation of things and you can do fancy things with eigenvectors and so on um um there's um also like this uh other one that lets you kind of uh so the the the first representations only let you use integer keys um if i remember correctly

Oxide and Friends
Crates We Love

um uh which you know if your graph is uh you know in some cases you want to use the matrix representation of things and you can do fancy things with eigenvectors and so on um um there's um also like this uh other one that lets you kind of uh so the the the first representations only let you use integer keys um if i remember correctly

Oxide and Friends
Crates We Love

But then there's also one that lets you use your own keys, anything that implements copy and I think hash and EQ or whatever. But then it also provides essentially like an abstract interface. So it provides a bunch of traits. And if you have your own graph and so you can bring your own graph and you can implement, you know, those traits for your graph.

Oxide and Friends
Crates We Love

But then there's also one that lets you use your own keys, anything that implements copy and I think hash and EQ or whatever. But then it also provides essentially like an abstract interface. So it provides a bunch of traits. And if you have your own graph and so you can bring your own graph and you can implement, you know, those traits for your graph.