Zencastr
00:00:00
00:00:01
Speed1x
Format
Share
Embed
Report

Z13 - Bg

The Stable Hands Podcast
The Stable Hands Podcast

268 plays · Apr 3, 2023

Ever have one of those moments where you wish you didn't have any deadlines to finish? This was my experience with this conversation with Bg. Sit down, grab a pen to take notes, and enjoy this conversation with the GOAT of horse math, Bg.  We cover plenty in this conversation, although only getting through about one third of the questions I had for him! Hopefully, we can make this part one of a series in the coming months but for now, this one will have to stand on it's own.  We touch on the recent DP Twitter 'controversy' and in the spirit of the season, there's (what I think is) a wonderful little easter egg there at the end.  So I hope you enjoy this conversation, I learnt so much talking to Bg that I'm really looking forward to listening to this multiple times to actually get the chance to take it all in.  As always, if you're interested in becoming a guest on the show - hit me up on Twitter, @eclecticTec :) Would love to chat about digital horses!

Transcript

Speaker: All right, welcome back to the show.

Speaker: And this week, it gives me great pleasure indeed to have on a man that needs no introduction whatsoever.

Speaker: The one, the only BG.

Speaker: BG, how are you, mate?

Speaker: Thanks for helping us out.

Speaker: Yeah, of course.

Speaker: Thank you for that intro.

Speaker: Yeah, I don't even know what I'm doing at Zen anymore at this point.

Speaker: The math is still fun, and I get to be a little bit of a pain in everybody's ass.

Speaker: So that keeps me entertained, at least.

Speaker: Yeah, nice.

Speaker: A little bit of a pain and somewhat of a guardian angel at times, I think.

Speaker: I refer to the...

Speaker: You know, the times I've seen, just stuff you've published has really moved the needle.

Speaker: You know, like even when the new meta came out and you were like, hey, these breeds aren't changing the performance of horses properly.

Speaker: And you talk with data, right?

Speaker: Yeah, yeah.

Speaker: And there's always...

Speaker: A kind of dual purpose to when I do stuff like that.

Speaker: Like one, like one purpose is, this seems weird and maybe it's worth more investigation.

Speaker: And, and, you know, what do you think of this, Ed, or what do you think of this shady or whoever else looking is looking at data?

Speaker: Yeah.

Speaker: And then the other purpose is like, I could be wrong.

Speaker: And someone might say like, oh, I see, I actually do see a trend here.

Speaker: And so that it's a way for me to, you know, hone my data pipeline.

Speaker: And that's worked.

Speaker: I mean, both outcomes have happened multiple times, right?

Speaker: Like sometimes that is like, oh yes, I'm the broke.

Speaker: Or sometimes somebody points out something I missed.

Speaker: So, you know, satisfies both purposes.

Speaker: Yeah, nice.

Speaker: So just crowdsourcing constant improvement, which is one of the beautiful uses of the industry itself.

Speaker: Interestingly enough, like BG, let's all kind of get to know you a little bit, I think.

Speaker: Like, how did you get turned on as Ed?

Speaker: And how long have you been in the ecosystem?

Speaker: And like, I don't think I even know you're stable.

Speaker: Do you race?

Speaker: I'm sure you do.

Speaker: I have a bunch of stables and they're mostly filled with donkeys and I'm not doing a lot of racing nowadays.

Speaker: Mostly because of my day job keeps me super busy lately.

Speaker: And yeah, I've always, you know, it's probably an open secret, but I don't really want people making decisions on what I do or, you know, horses I buy or make offers on.

Speaker: So yeah.

Speaker: It's not a huge secret, but I generally don't talk about my actual stables.

Speaker: Because, I mean, there's been no movement in months and months on them, so they're pretty boring.

Speaker: But, yeah, what got me into it was I have a weekly... When the pandemic started, I started a weekly online poker night with a bunch of friends.

Speaker: We all get on Zoom and play attorney on PokerStars, just like the home games.

Speaker: And...

Speaker: you know, poker draws people who like to gamble and we got to talking about betting on horses and whatnot.

Speaker: And somebody said, oh, you know, there must exist.

Speaker: And then there's some crypto aficionados in that group as well.

Speaker: So somebody said, you know, oh, you know,

Speaker: horse racing or horse betting must exist on a blockchain somewhere.

Speaker: And then I think that night we found Zed and it was like way early on.

Speaker: And I think this was back when, I mean, I could probably find you an exact date if I just look at my code here.

Speaker: Expecting nothing else from this session.

Speaker: Okay.

Speaker: Yeah.

Speaker: Yeah.

Speaker: Um, God, I'm just trying to remember what I would have called it.

Speaker: Um, let me see.

Speaker: Let me see what I got.

Speaker: This is, is back in 2020, like real, real early days.

Speaker: I think it was early 2021.

Speaker: I, that's, that's what I remember, but let me see if I can give you an actual date.

Speaker: Uh,

Speaker: Earliest code I see is... Well, I guess this would be the last time I modified this file.

Speaker: And that was April 2021.

Speaker: But there was some stuff before that because when the Matic beta for OpenSea came out, I was trying to buy a horse.

Speaker: And there was such low volume that if a horse was good, it just got snatched up immediately.

Speaker: And I don't think anyone was botting OpenSea at that point.

Speaker: So it was like people would write like little scripts to like text them if a new horse came up or something.

Speaker: So I wrote some code to do that and managed to buy a Jenny that was just an absolute donkey.

Speaker: Yeah.

Speaker: It has to be one of the worst 10 horses in the game.

Speaker: And maybe there'll be a use for it someday, but I don't really care.

Speaker: You know what I mean?

Speaker: That's what got me.

Speaker: Straight into Roy Rage's Museum of Donkeys.

Speaker: Totally.

Speaker: Yeah.

Speaker: And then I just started looking at the math and looking at all of what data was available.

Speaker: Yeah.

Speaker: wrote a bunch of code to scrape lots of that data and have kept that mostly up to date over time.

Speaker: I just looked this morning, it's like 50,000 lines of code at this point, which is a lot, right?

Speaker: Like five or 600 hours working on all that code.

Speaker: A lot of it was trying to figure out what performance metrics I could come up with that would then correlate to either the innate attributes of the horse or figure out reverse engineer different parts of the game.

Speaker: actually just the last couple of days I've, I've, I wrote a, like the simplest possible simulator for a game like Zed.

Speaker: So taking into account what we know about Zed, like what's the simplest possible way to implement a racing algorithm that I think works identically to Zed's does it.

Speaker: And the difference being, you know, we don't know the coefficients that Zed uses, but it's, it's my guess at exactly how it works.

Speaker: And then, um,

Speaker: simulated a ton of races from that and then just looked at how the how does that data look versus how this data looks as a way to kind of see like well did I figure it out or not and it looks pretty dang close at this point so I'm um pretty I think it's fairly accurate so I'll release that at some point and is that something similar to I guess zed sim with like running Monte Carlo simulations and those kind of things

Speaker: It is, except I, so I think, I think, um, CSIM is like,

Speaker: It comes at it from a pragmatic point of view.

Speaker: I don't think he really cares how Zed's underlying algorithm works as long as the results he can give people are useful, right?

Speaker: Like as long as they're positive expected value, if you use them, I don't think he necessarily cares how Zed works under the hood.

Speaker: And that's an oversimplification because I know he...

Speaker: He does care, but I don't think he is obsessed with exactly how the algorithm works, which is kind of what I have been trying to figure out.

Speaker: There's, there's, I think a lot of there's varied opinions on how distance preference works and is applied, for example.

Speaker: And I kind of wanted to know like exactly how it worked or to put another way, if you wrote a simulator and

Speaker: given how I think it works, does it spit out the same data that we see empirically within Zed?

Speaker: And that's been a big, something I've been trying to work on for a long time.

Speaker: Yeah, nice.

Speaker: So you've mentioned a few things there, like, which seem clearly like second nature to you and the way you kind of talk about stuff like, you know, scraping the code, grabbing the data and all that kind of stuff.

Speaker: So for me on the outside, I've always kind of sat back and I'm like, okay, well, what does that actually mean when you talk about this stuff?

Speaker: So this data set that you publish, like, can you talk a little bit about like, where are you getting that data?

Speaker: Are you hitting the ZAPI?

Speaker: Are you getting it off the chain?

Speaker: Like,

Speaker: How does that work?

Speaker: Yeah, yeah, yeah.

Speaker: Yeah, so initially, like the very first thing I ever did was look at what data is available on-chain within Zed.

Speaker: And there's a lot less than you might expect.

Speaker: And it's not always authoritative, which is funny for a Web3 game.

Speaker: So, for example...

Speaker: When Zed started out, the horse name was on-chain, and now it's no longer, right?

Speaker: Because you can... Like, if it was an offensive name, or it was a data issue in the name, they'll change that in the API, and they won't necessarily go back and change it on-chain.

Speaker: So there's a discrepancy between the on-chain data and the API data.

Speaker: Which, I mean, I think in Zed, because it's a game, people care...

Speaker: Less, maybe, but like if this was just like an like an art NFT or something, and the chain said one thing, and like what showed up in OpenSea said another thing, I think people would care more.

Speaker: But, you know, it's hard to have that like immutability or.

Speaker: Mm hmm.

Speaker: like that strict Web3 ethos within a game because games have to change and grow and actually meet the demands of the players.

Speaker: So Zed finds himself in a hard spot because of that.

Speaker: So that's an aside, yeah.

Speaker: For the non-nerds above us, I was going to say, for the non-nerds listening, immutability is a fancy nerd word for can't change it.

Speaker: Exactly, exactly.

Speaker: Yep.

Speaker: And so, right, so there's like a few things that are on chain.

Speaker: And you can't even necessarily rely on those entirely.

Speaker: Because there was one horse that had the breed different.

Speaker: So like it was Genesis in the API and it was legendary on chain.

Speaker: Yeah.

Speaker: Oh, wow.

Speaker: I have no idea how that happened, but they eventually fixed it to make it legendary on the API as well.

Speaker: So there's been interesting data things I've uncovered.

Speaker: Colors, there were some variants of the color names that were misspelled that showed up early on.

Speaker: And I think that was like an encoding issue.

Speaker: There's also one that just like has a typo in it.

Speaker: Like it's a one-off with a typo in it.

Speaker: And yeah, so there's been interesting things.

Speaker: There's also due to the way blockchains work, there's a thing called reorgs, which is,

Speaker: this is slightly technical, but a block reorg can change the order of transactions at some point after the fact, right?

Speaker: So like you breed a horse in Zed and, you know, within a minute or two, those blocks can still be reorg'd so that the transactions happen in a different order or the transaction happens in a different block.

Speaker: And this doesn't happen frequently.

Speaker: It is like,

Speaker: Back in the day, it was happening maybe 10, 20 times a day in Polygon.

Speaker: I think they just did some work to make it happen less.

Speaker: But the net effect is that a horse can change gender within that one to two minute period.

Speaker: And that happened.

Speaker: And the reason is because the gender of a horse in Zed is modulo two of the block hash of the preceding block, I think.

Speaker: And...

Speaker: If that block cache changes because it gets reorg, then the order changes or different transactions make it in.

Speaker: And then you get a different block modulus and the gender conflict.

Speaker: And so that's why... They're using the crypto of the chain to determine some of the attributes of the horse.

Speaker: It's fascinating to me.

Speaker: I would have thought that it would be generated centrally in the Z algorithms.

Speaker: And then the way I always thought it works is just right...

Speaker: out to the blockchain what you've generated internally?

Speaker: They do that for everything but the gender and the color.

Speaker: Okay.

Speaker: Yeah.

Speaker: So like it mostly works like that.

Speaker: And this used to be problematic because there are many exploits in Web3.

Speaker: Well, let me finish the story first.

Speaker: So this is the reason that when you breed a horse, it doesn't show up immediately.

Speaker: Zed holds it back until after that reorg time limit is done and then they show you the horse.

Speaker: Because they don't want to show it to you immediately, and it's a female, and then the blacks get re-orged, and then you come back two minutes later, and it's male.

Speaker: And so that's why there's a delay.

Speaker: So Twitter would be so okay with that, BG.

Speaker: Well, yeah, it depends on who has the premium, right?

Speaker: Because there's been different premiums on different genders of horses within a different time.

Speaker: Um, and, uh, yeah.

Speaker: Um, so like, yeah, if you have a male and you end up female, um, like maybe that's a, a, a good outcome for some people, but, but yeah, no, I've had people who have come to me, um, later and said like, yo, this weird thing happened.

Speaker: And then I've been able to kind of go back and look and say like, oh yeah, that got reorned.

Speaker: Um, so Zed's response to this was you have to add a delay, right?

Speaker: So your, your horse shows up two minutes after you breed it now.

Speaker: And that's to solve that kind of, um, uh,

Speaker: What is it?

Speaker: Eventually consistent.

Speaker: Kind of like a race condition on the blockchain, right?

Speaker: Yeah, yeah, kind of, kind of, yes.

Speaker: And so, like, you bring up a good point around, like, using properties of the chain itself as random input.

Speaker: to the attributes of the horse, right?

Speaker: So you used to be able to influence, if you were technically capable, the gender of the horse you got.

Speaker: Because you can do what's called a transact and revert.

Speaker: So you could write a contract, for example, to breed a horse and then check the resulting gender of that horse.

Speaker: And if you didn't like what you got, you could then just revert the whole transaction.

Speaker: So if you wanted only males or only females, you could guarantee that.

Speaker: You would either get a female or nothing if you used a contract like that.

Speaker: And now, so Zed fixed that years ago at this point.

Speaker: But that's a danger of using the block hash as input to randomness.

Speaker: And people always find those things and exploit them.

Speaker: Yeah, definitely.

Speaker: That's interesting.

Speaker: So the other thing that you've kind of often talked about, people talk about a lot is this doing things like submitting races directly on chain.

Speaker: Is that, can you talk me through how that's possible?

Speaker: Because again, my understanding is a lot of this stuff needs to run server side on Zed, right?

Speaker: Or like, how does that entry work?

Speaker: Yeah.

Speaker: So, yeah, there's multiple ways, right?

Speaker: Because free races have – that's an API called Zed.

Speaker: So they have more control over that.

Speaker: But the paid racing is just a contract, and you can transact with that contract through Zed's website, or you can do it directly.

Speaker: Right.

Speaker: And they have a backend service that's running, that's watching for contract entries.

Speaker: And that service historically has not cared if it came from the ZEB website using MetaMask or whether it came from code that somebody wrote.

Speaker: So all it sees is somebody entered this race on the chain and it doesn't care whether it's from MetaMask or whether it's from code.

Speaker: they've changed the racing contract to require another signature.

Speaker: And that signature comes from an API.

Speaker: And so they've basically required you to use the API to enter a

Speaker: on-chain paid races as well.

Speaker: And that lets them do an additional layer of checking on, for example, does the horse being entered match the conditional requirements for the race?

Speaker: Because there are many things that are not on-chain as far as the racing contract goes.

Speaker: For example, the concept of class.

Speaker: You can enter any horse into any race in any class if it's a paid race.

Speaker: So you could race a class one horse in a class six race.

Speaker: There's nothing on the chain to prevent that.

Speaker: And so I have to assume that was one of the drivers for adding that additional signature.

Speaker: And anecdotally, I don't think all of those checks are in place yet.

Speaker: So I think you can still get that signature and enter the wrong class race.

Speaker: So there's some work to be done there.

Speaker: But, you know, crucially, people notice those and they alert Zed.

Speaker: So it's not like you can do it with impunity.

Speaker: People will notice, like, why the hell is this, you know, class one horse in my race?

Speaker: Or why is this...

Speaker: 1.0 horse in a 2.0 conditional and things like that.

Speaker: So it's certainly not widespread, but I've seen people kind of slip up and enter the horse in the wrong race.

Speaker: And that's kind of a tell that they're going outside of Zeb's website.

Speaker: Yeah, I've seen a 1.0 in a conditional before and I saw someone call it out on Twitter as well.

Speaker: Yeah, yeah.

Speaker: Fascinating actually.

Speaker: Yep.

Speaker: So I guess the next logical step from that is that like this is, there's obviously, you know, everyone's still botting in race entry, like and it's still obviously a common thing to do.

Speaker: Yeah, I mean, I don't think it's super common.

Speaker: Like if I had to guess, I'd say it's probably fewer than 20 people.

Speaker: And I think the ones who have been, like where you can tell they're doing it, you know what I mean?

Speaker: Like I think they've largely stopped because the repercussions or the consequences from Zed have been like slowly going up, right?

Speaker: Like a weak ban or so like people are finding it.

Speaker: Stopped or gotten better at it.

Speaker: Well, and that's the crucial thing.

Speaker: I had a tweet where I said people, like, if you can't tell if it's human or not, then why should you care?

Speaker: The Zed-Juring test.

Speaker: Fantastic.

Speaker: Yeah, right, right.

Speaker: Yeah.

Speaker: So, like, if you're looking at a horse's racing history and it looks like a human racing that horse, then...

Speaker: should you care if it was actually a bot or not?

Speaker: And the people who think you should care are like, well, you know, it's not an equal playing field because I have to spend my time out of my day to race my horse and they're just having a bot do it.

Speaker: And I don't know, I don't like, I don't, that argument doesn't sway me.

Speaker: I get it.

Speaker: And I get that people want an even playing field.

Speaker: So like the, you know, people who make this argument are like, well, if Zed just gave everyone the tools to do that, it would be, it would be fine.

Speaker: But I think that's maybe, I find that at odds with this whole Web3 mentality where there's this idea of decentralization that comes into play.

Speaker: And so like, if you can, and Zed is gonna sign the API request and they're gonna let you submit it to the racing contract, then it's kind of on you to either level up or spend your time racing if you don't wanna write the code.

Speaker: Yeah, I think I can see both sides of that argument.

Speaker: Yeah, I can definitely see both sides.

Speaker: I think I'm slightly more biased towards the, if you can't tell, then how does it matter?

Speaker: It's really like they're complaining about unfairness in terms of time spent more than anything else at this point.

Speaker: Yeah, and it's interesting because the unfairness in terms of time spent, is that a real TCO?

Speaker: Because it's a lot of time that goes into building and managing that code base.

Speaker: Yes.

Speaker: Oh, yeah.

Speaker: Yeah, yeah.

Speaker: There are some people who write bots who I'm kind of, you know, I talk to them and they kind of keep me apprised of like what they're doing or like what, you know, things break and like it's a lot of time.

Speaker: And so like recently I'm asking, like, what's your ROI on this?

Speaker: And it is basically nothing.

Speaker: There are people who are basically racing like a human would who are now no longer, they basically turned off their bots because they're not making any ROI.

Speaker: And that is really interesting to me.

Speaker: I think Zed would see that as a win, wouldn't they?

Speaker: Like that statement, that single statement.

Speaker: The flip side of it is if you can't

Speaker: analyze every race and find an edge, even a little edge, uh, in an automated fashion with all of the Z data at your fingertips, then who can?

Speaker: Um, and so is it like, are we at such an equality of outcomes that, uh, it's essentially random or you're, you know, people can get to break even and not find much edge.

Speaker: Um,

Speaker: And then I can hear Zed's argument around, like, well, this is the reason they want to get the Jennys and the 1.0s aged out of the game is because they're so different that they kind of mop up all of the profits because they have such outlier stats.

Speaker: And that is, you know, I think that's why we're seeing aging being so imminent and so important to that plan.

Speaker: Yeah, let's stick a pin in that.

Speaker: I've got a question later on to talk about some of the things that you're looking in the code base.

Speaker: But before we get there, one of the things that I saw you mentioned on Twitter was like, you're going to keep telling us about variants until we get it.

Speaker: So let's start there.

Speaker: What is variants?

Speaker: And let's have a lesson in, I guess we're going to have a lesson in statistics, right?

Speaker: Right.

Speaker: And it's probably going to be hard because I'm not a statistician.

Speaker: And that's one of the reasons I really like playing with Zed is because I've had to learn a lot of statistics that was missing from my previous education.

Speaker: So yeah, anything where I feel like I've 100% got it and understood everything, that gets boring.

Speaker: So there's a lot of opportunities to learn within Zed.

Speaker: So I enjoy it for that reason.

Speaker: But to, I mean, talking about variance is also hard because there's an attribute of the horse called variance.

Speaker: And there's also the general statistical idea of variance.

Speaker: And what people don't understand is that given a random process, you can still see very long streaks.

Speaker: anything has changed and it doesn't mean that things are unfair it's just an outcome of a random process um happening over the course of many times and so you might have a great horse um that loses its first 20 races uh and then goes on to have a streak of much better outcomes and it's not because anything changed with the horse it can sometimes be a change in competition but even if you held the competition like even if you if you just race the same 12 horses

Speaker: 50 times, you might see streaks that look surprising, but they're just an outcome of a simple random process.

Speaker: And one of the ways this came up recently was super breeds.

Speaker: I can't remember what we currently think the super breed chances, but just for example, if you look at 0.1% chance, or if you give it a 1% chance, one in a hundred,

Speaker: you still might go a thousand tries and not see it, even though on average, it's going to converge to every hundred or so.

Speaker: But like you might see two in a row, you might see none for 2000.

Speaker: And that is just a consequence of a truly random process where you're generating a random number.

Speaker: You're saying, is it the number 100?

Speaker: If not, no super breed.

Speaker: And you might get two hundreds in a row.

Speaker: And so that's really what I'm talking about when I, when I,

Speaker: talk about people not understanding variants.

Speaker: It's just, there was a big conversation, like massive, like days long conversation in the Zed Discord around if a horse has just had a super breed, should you not breed with that horse?

Speaker: Cause you're going to have a lower chance of having a super breed, which is,

Speaker: finally resolved correctly that like, no, you shouldn't avoid that horse.

Speaker: Cause there's like the super breed chance does not take into account prior super breed successes for that horse.

Speaker: It's just the same random chance per attempt.

Speaker: And so.

Speaker: Exactly.

Speaker: Exactly.

Speaker: Like, yeah.

Speaker: choosing lotto numbers based on what lotto numbers came up last week.

Speaker: Right.

Speaker: Right.

Speaker: Yeah.

Speaker: Yeah.

Speaker: On average over many, many, many, many lotteries, like it is, um, statistically looking in hindsight, not often that that happens just because the pool of potential numbers is so large.

Speaker: Right.

Speaker: But you have like, they all have the same chance of coming up.

Speaker: So it's, uh, yeah, it's, um,

Speaker: it doesn't make sense from a gambling point of view to avoid certain numbers because they just came up because they all have the same chance.

Speaker: It's just over long runs, you know, the trends converge too.

Speaker: Yeah.

Speaker: And I can give you an example and give the listeners, I guess, an example in my own stable at the moment.

Speaker: I've got a horse that's on a massive streak, right?

Speaker: Unfortunately for me, that streak is...

Speaker: On the downside.

Speaker: Oh, no.

Speaker: I got like a 94 variance horse in C4 that has been winning at 20% clip in 2,000 metres and its streak is so bad now over about, I think, of the 350 races, total races in 2.0.

Speaker: Its winning percent has dropped from 20 to 16.

Speaker: It hasn't won a race in so long.

Speaker: So should I be now...

Speaker: Interestingly enough, like, should I be going, well, this thing's about to go on a tear and keep racing it or do I just park this horse?

Speaker: Yeah.

Speaker: So that's, that's, same conversation.

Speaker: Yeah.

Speaker: That's, that's really interesting.

Speaker: Cause there's a number of things at play here.

Speaker: Cause you're looking at, um, okay.

Speaker: So what, uh, so how many wins did it have?

Speaker: Okay.

Speaker: So is it, is the streak 350 races long or is that the total number of races for the horse?

Speaker: That's its total number of 2.0 races.

Speaker: It's had about 1,500 races all up.

Speaker: Okay, gotcha.

Speaker: So one win out of 350 races would raise your win percentage by 0.28%.

Speaker: So to go from 20... Okay, so let's do four divided by that.

Speaker: Let's see.

Speaker: I messed up my math.

Speaker: 14.

Speaker: So you're, you're, you're kind of like at 14 wins under par.

Speaker: which makes me think, um, like at that point I would look at like, and that's totally like, you might see that, right?

Speaker: Like 14 is not a huge, um, like if those were going to be, um, kind of randomly distributed through a, through 350 races, that's like a win every 25 races or so.

Speaker: And you can imagine that just based on variance, you might see streaks this long without a win.

Speaker: And I think that's true.

Speaker: But then the thing you also want to look at, which none of the tools really make easy at this point, is what are the attributes of the horses you're competing against and have those changed?

Speaker: And there's a tool I wrote.

Speaker: That's pretty janky, but on a week basis, it shows you the mean of the BA variance and DP for all of the competition you faced in that week.

Speaker: And your own win rate.

Speaker: Where's that tool?

Speaker: Fourth line.

Speaker: It just lives on my hard drive.

Speaker: It is the chart I send to people when they say, did Zed rug my horse?

Speaker: Okay.

Speaker: Because it makes it very clear that like when your win rate is high, the attributes, like the average attributes of the horses you're facing is lower.

Speaker: It's like totally inversely correlated and it makes a ton of sense.

Speaker: And I've really wanted to like make this a tool that can be online.

Speaker: My current data pipeline is always a week out of date because I just updated on Sundays.

Speaker: And so we require a lot of retooling to make it real time and whatnot.

Speaker: And so that's why it's kind of a, it works great in hindsight.

Speaker: And that retooling needs access, right?

Speaker: Like, you want to keep going to the firewalls.

Speaker: Yeah, I have the access, but even still, they've kind of been changing the rates a little bit.

Speaker: I don't think that really... That's not the problem.

Speaker: The problem is just time in my day to rewrite a bunch of code to be real-time instead of batch-based.

Speaker: So that's really all it is.

Speaker: But you'll see on a week basis, like, okay, you are winning at this clip, and...

Speaker: the next week you faced horses that were way higher in average variance and your win rate went down as a result.

Speaker: So it does kind of help make sense of that.

Speaker: And then really the only change I think is instead of grouping it by week, I would do a rolling average average.

Speaker: like a window of the last 10 races or something.

Speaker: Cause I think you would see, um, some horses are bursty or they don't have a ton of data, um, for some weeks.

Speaker: And so it's, it's just a more discontinuous, um, uh, chart, but you touched on something there.

Speaker: That's like, I I've always been, this has been at the edge of my brain for a while is to try and get a real definitive answer on this.

Speaker: So I think you're the perfect person to ask, um,

Speaker: Across all the tools and, you know, in our own research and stuff, what's a good sample size of races for a horse?

Speaker: Like how many races should we have before we go, okay, cool, this horse has been discovered and I can start to trust the patterns that we might be observing?

Speaker: Yeah, I mean, it's hard because nothing is really held constant unless you're racing the same 12 horses over and over again.

Speaker: You know what I mean?

Speaker: Like the competition changes on a daily and a weekly basis based on what events are running, based on the composition of, you know,

Speaker: racing formats, you know, that activates and deactivates some horses as people kind of switch to horses that do better or not in those formats.

Speaker: And so it's really hard.

Speaker: And like, really, the answer is, even if you have 1000 races from two months ago, like,

Speaker: I don't know if you can really rely on your averages from those races if things have changed in Zed and or different horses are now racing.

Speaker: And it's just, I think it's going to get even harder with aging because we're going to age out horses and

Speaker: and those are going to replace with new horses.

Speaker: So competition is going to be continually changing.

Speaker: And that's where a tool that kind of shows you how you're doing against the averages and how you're doing against specific archetypes is, is going to help.

Speaker: But yeah, it's, it's hard.

Speaker: Like you want, you want more, you want more races always to really be able to say anything with, with kind of statistical accuracy.

Speaker: And there's some,

Speaker: there are some ways to get to a higher degree of certainty.

Speaker: Um, and that's, for example, if you race, um,

Speaker: if you are a heads up against a horse a bunch of times, not necessarily, you know, one V one race, but if you have lots of data against a certain horse in a 12 horse race or something, you can kind of start to understand how those horses are relatively to each other in terms of performance.

Speaker: And I want to take that to its logical conclusion and look at every one V one pairing between every horse and every race.

Speaker: So you can kind of look at,

Speaker: courses differentially um and that's like a massive graph search problem though um and so i'm not there yet but i've like that's that's a thing that i've played with a bunch of times and um most of the solutions i've come up with are too slow um well that's very very cartesian joiny isn't it

Speaker: Yeah, yeah, totally, totally.

Speaker: Yeah.

Speaker: Right.

Speaker: It's like, yeah, what every, you know, there's, there's, uh, however, you know, the hundreds of thousands of horses and they've probably each raced, um, thousands of horses, um, themselves.

Speaker: Uh, and so it's like, it looked like if you grafted, it would look like a giant hairball.

Speaker: And yeah, so it's hard to kind of get, one, just like the data structure to hold all that.

Speaker: And there's graph databases like Neo4j and whatnot who kind of excel at that.

Speaker: But even so, like the number of links in that database is just absolutely massive.

Speaker: Yep.

Speaker: And growing all the time with the print and everything.

Speaker: Yeah.

Speaker: And you can, you know, DanChan has a pretty simple and effective solution, which is like, just look at the last 90 days.

Speaker: And that excludes horses who raced last year and then stopped.

Speaker: And so you're maybe excluding some gems that have just been deactivated because people didn't like them or they got busy or whatever.

Speaker: So not a great market research tool, but it is a good way to figure out, should I keep racing this horse or did the comp change?

Speaker: And yeah, so that's one answer there.

Speaker: Yeah, nice.

Speaker: So we kind of covered, I guess, variants from a conversation piece.

Speaker: And let's sort of, let's walk up to the third rail from this week.

Speaker: Obviously the discussion on Twitter around distance preference.

Speaker: And before we get in there, like what is distance preference in a horse?

Speaker: How does that, how does that work?

Speaker: Yeah, so I mean, I think that's, I can tell you how I think about it, which is similar to how I think a lot of people think about it, but maybe not identical.

Speaker: So how I think about it is it's distance preference is one number.

Speaker: It can be negative or positive, and it's bounded, or it's unbounded.

Speaker: So like, it really just depends on the numbers you choose to represent.

Speaker: I don't know, and I think nobody knows,

Speaker: what numbers Z actually uses to represent this internally, right?

Speaker: It could be negative 100 to positive 100.

Speaker: It can be negative one to positive one.

Speaker: But I do think it is roughly symmetrical around zero.

Speaker: And so those, and the other crucial part in the way that I think about it is, um,

Speaker: 1600 is the middle distance as far as how distance preference is applied.

Speaker: And I think I wrote out, you know, my example equation for it, which is the distance from 1600 is

Speaker: times some coefficient, right?

Speaker: And we don't really know what the coefficient is.

Speaker: We can maybe guess based on statistical analysis.

Speaker: But crucially, it means that at 1600, that multiplier is zero.

Speaker: So it's zero times whatever coefficient exists for distance preference.

Speaker: Meaning if you have a horse that has a ton of distance preference and does greater than 1000, none of that distance preference is going to apply at 1600.

Speaker: And I think we've seen enough examples that this is like one of the few things that I would like, you know, if, if Zed would actually tell us the answer I would, you know,

Speaker: put five grand down on that bet tomorrow.

Speaker: It's one of the things that I'm as certain as I can be of within Zed, which has some interesting implications because there are more marathon distances further from 1600 than there are sprinter distances.

Speaker: So there's more room to play on the marathon side.

Speaker: But given... And it also means that there is no idea of preferred distance.

Speaker: It's just where are you racing?

Speaker: Like, where is your competition that you can win against?

Speaker: Yeah.

Speaker: And what happens naturally is that if you do well in 1000, because you have a ton of short distance preference, which is just a synonym for if you're, if you're one distance preference number is more negative.

Speaker: So like, look at the Crimson Chin, which is like probably the most, you know, it's at negative 100.

Speaker: If, you know, those are the limits.

Speaker: It's going to do great there.

Speaker: And less of that distance preference applies at 1200 and 1400.

Speaker: And so it still has a huge number.

Speaker: And so maybe it still does very well there, given that distance reference is a smaller portion of total performance at those distances.

Speaker: But for example, if you have a horse that is like on this negative 100 to positive 100 scale, maybe it's negative 50.

Speaker: So it has half the sprint distance preference of Crimson Chin.

Speaker: it's probably not going to do very well running at 1000 against horses like the Crimson Chin, right?

Speaker: So it's going to probably find more success in 1200 and 1400.

Speaker: And then the consequence of that is that those horses self-select into those races.

Speaker: And then people are, will kind of say, Oh, well I win more at 1400 and therefore it is my quote unquote preferred distance.

Speaker: But it's, you know, it's,

Speaker: it's, it's like a semantic argument.

Speaker: Um, it's just where you're going to face competition that has distance preference like yours and win more.

Speaker: Um, and, um, so, you know, I, I, I struggled a lot initially with distance preference and, um, uh, you know, like the quote unquote off distance, um, phenomenon or like down, down buttons.

Speaker: Um, but because until you, until you kind of,

Speaker: come up with the hypothesis, it's not easy to look for in the data.

Speaker: But once you, um, come up with this idea that like, okay, um, like there's two extremes for distance preference.

Speaker: And if it's short, you're like, you get more of it at a thousand.

Speaker: Um, then, um,

Speaker: The inverse can be true in that you get less of it at 2600.

Speaker: And so that became that down, you know, people would race at the extreme off distance for their horse and that became their down button.

Speaker: So you can downclass very easily, which was a boon to those high distance preference horses, whether it was short or long.

Speaker: And which, you know, became something Zed had to address eventually by means of this up only XP progression.

Speaker: So there's no going down in classes anymore.

Speaker: And it's largely because there was that loophole.

Speaker: And, you know, that gets into like this idea of variance sources being negatively affected by the, what was it, like plus...

Speaker: plus 12, negative 5 points.

Speaker: I don't remember the actual points.

Speaker: But it basically offset that you won more points for a first, then you lost for a 12th.

Speaker: So those horses would only move upwards, whereas they were neutral before, so they could kind of stay in a given class.

Speaker: Yeah.

Speaker: My variance horse that landed in C4...

Speaker: the end, like I couldn't keep it below C3 in the old middle because it runs top 5% speed across every funnel.

Speaker: Yeah.

Speaker: I tried down class and one race, it gets a roll and comes in first.

Speaker: Yep.

Speaker: Yep.

Speaker: Yeah.

Speaker: It's tough.

Speaker: Yeah.

Speaker: And, and so then, so then, um, we have this, you know, idea from last week around like the leveling calculation.

Speaker: I think it only weights variance around 5%.

Speaker: And that seems super low, right?

Speaker: And so those horses with super high variance can start at a lower level and thus face worse competition than a horse like Crimson Chin, which has outlier distance reference and gets leveled up.

Speaker: And depending on who you talk to, that can be an extreme penalty for that horse because it's facing much harder competition than it was previously.

Speaker: And I think this is an example where I think some communication proactively from Zed would help because it really does, you know, it like the effect on those horses and their owners is one that is, it cuts into their bottom line, like pretty massively.

Speaker: Yeah.

Speaker: So let's, let's probably just dial it back a bit for a second.

Speaker: So what, what actually happened when we talk about like,

Speaker: that and maybe explain to us like what for those of us that aren't on twitter um what happened this week on twitter between between all the players yeah i mean twitter is twitter is where all where everything happens in zed so you can't can't not be on twitter i know so i know people are but it always surprises me i'm like where do you where do you get your zed news from um and then and then the flip side is everybody on zed twitter like

Speaker: does not pay attention to the discord, which is where all the announcements happen.

Speaker: So like both, both, both sets of people are like, you know, missing huge, huge portions of the conversation, which I think is fascinating.

Speaker: I'm in the latter.

Speaker: I can't do discord.

Speaker: Yeah.

Speaker: Yeah.

Speaker: I'm God.

Speaker: I mean like, I'm still in like seven or eight Z discords at this point.

Speaker: But yeah, just, yeah, there's, there's a lot of conversations happening in various places.

Speaker: So, right.

Speaker: So what happened?

Speaker: Yeah.

Speaker: And the thing that happened was not necessarily news.

Speaker: People knew this, right?

Speaker: What happened was there was confirmation.

Speaker: And what was confirmed is that outlier high distance preference horses, and that could be high sprinter or high marathon, were

Speaker: but just, you know, the extremes of either end, um, were leveled up higher, um, due to that outlier.

Speaker: Um, like it's basically due to the curves that used.

Speaker: Um, and the consequence is that those horses, um, were up against much tougher competition.

Speaker: And this was the first time Zed had said like, yes, that's what happened.

Speaker: Um, and I think people, um, like Keith has been trying to, um,

Speaker: get this addressed for a long time because, um, you know, it was a, Crimson Chain is a money producing asset and then it no longer is.

Speaker: Um, and so there, of course there's a desire to figure out like what happened, like, is this something that can be fixed?

Speaker: Do I just have to wait for the next change?

Speaker: Um, and,

Speaker: you know, when money is involved, people are passionate.

Speaker: And so there was a lot of passionate debate around, you know, is this a nerf?

Speaker: What does nerf mean?

Speaker: You know, what actually changed in the attributes of the horse change, or was it just the racing algorithm or the leveling algorithm?

Speaker: And really what changed is just like what comp you're up against due to what your starting level was.

Speaker: And then there's two parts to that.

Speaker: There's, um,

Speaker: if you start at a higher level, there's, you actually miss out on gains, right?

Speaker: Because there's, um, if you, if you start out at 500, um, you have, uh, a hundred fewer levels to gain BA than a horse that started at 400.

Speaker: So there's this idea of missing potential gains.

Speaker: And then there's this idea of just facing much harder competition than you previously were.

Speaker: And that's, I think, what is impacting the success of these horses monetarily.

Speaker: Interesting.

Speaker: So if I can kind of try to rephrase that into language that my brain might understand.

Speaker: Yeah.

Speaker: You've essentially put these high distance preference horses against horses that have essentially higher base ability and assume that the base ability will be the same.

Speaker: So these other horses over a large, like over time, will consistently run higher regardless of that distance preference, right?

Speaker: Yeah, and it's really the combination.

Speaker: Yeah, it's the combination of the three.

Speaker: I think, was it Sharks and Ponies who came up with this idea of empty levels, which I think is maybe a more intuitive way to understand it.

Speaker: But it's basically like, so if 3.0 horses can have, let's say, between negative one and positive one distance preference, and 1.0s can have between negative 10 and positive 10 distance preference,

Speaker: There's like a, like those extra like nine on the short side and nine on the marathon side get shoved into a higher starting level.

Speaker: But crucially, that horse might not have the variance or the BA that it's now facing of the competition it's now facing.

Speaker: And so they are quote unquote empty levels.

Speaker: I've heard it kind of be described as.

Speaker: And I think in the case of Crimson Chin, which has low variance, like that's exactly what's happening because variance is weighed so low in the leveling algorithm that it's facing horses with like way more variance and potentially likely more BA as well.

Speaker: Yeah.

Speaker: Yeah.

Speaker: That's an interesting thing, right?

Speaker: Because if you start talking about just variants, my first thought there was, well, wouldn't I be running that horse then in one-on-ones if it's got super high DPP?

Speaker: Doesn't that give me that advantage?

Speaker: But then potentially the high BA, low variance horses have the advantage and...

Speaker: Yeah.

Speaker: Yeah.

Speaker: And so there's this kind of constant, constant discovery of like where you're competitive.

Speaker: And, and so like the, the kind of controversy came around Fakundo saying, you know, why would we make a one-off or why would we handle the outlier DP horses separately?

Speaker: When like,

Speaker: even a new super breed can't get DP that strong.

Speaker: Um, and, and I think there's, it kind of goes, I could see either argument.

Speaker: They're like, like, they're like 3.0s are the way forward.

Speaker: Um, we don't have these massive game breaking outliers and therefore like you get what you get.

Speaker: And then I can see like, well, could there have been, could there have been some tweak that just took into account that quote unquote extra, um,

Speaker: DP and fine tune the level, not on a one off basis, but just, you know, some coefficient that applied to any horse beyond some DP level.

Speaker: And I can kind of see, I can see either way.

Speaker: It affects the future ROI of Crimson and maybe the resale value, but it still has the profits it's made.

Speaker: And I think really... And then does it pass down that DP in breeding?

Speaker: Does it still have value as a breeder?

Speaker: So I think it's not going to pass down...

Speaker: So like, for example, if it's negative 10, which in our kind of model means like the most short preference you can get, it can't make a horse that's negative 10 because no 3.0, even a super breed 3.0 can have negative 10 DP ever again.

Speaker: So there's a new high watermark.

Speaker: And like, it's totally useful for getting to that new high watermark.

Speaker: It just can't replicate its exact DP going forward.

Speaker: I guess it's still got to get the breeding pool right to get that deep enough off that side of the room.

Speaker: Yeah, we don't necessarily know if that – like I kind of assume that having that, like for example, negative 10 is going to be easier to – okay, so let's just make the numbers concrete.

Speaker: If we say that negative one is the new max sprint DP you can have, and I managed to find Crimson and another horse like Crimson that both have negative 10 or as close as you can get, which was the highest sprint DP you could have in a 1.0 or a Jenny.

Speaker: I kind of imagine that breeding those two negative 10 horses is going to get you...

Speaker: closer to a negative one or higher chance to get a negative one, which is the new maximum that you can get versus if you find two negative one horses and breed them.

Speaker: My guess is it's going to be, you're going to be further away from that new theoretical max.

Speaker: And so I would hope that that's the case, right?

Speaker: Because then Crimson does retain some breeding

Speaker: Yes.

Speaker: And I think that's the future for all of our 1.0 horses, right?

Speaker: Like that's once aging comes in.

Speaker: Yeah.

Speaker: It's very clear they're being removed from the racing game.

Speaker: And then so the only value they can have is as breeders, surely.

Speaker: Yeah.

Speaker: Yeah.

Speaker: And I think like occasional, like, like if you have a 1.0 or Jenny, that's still capable of racing well on the track.

Speaker: Then at some point, I think when you get down, like based on the numbers I've seen, like when you get down to level six, you get like one stamina bar every four days.

Speaker: And that's like the kind of max aging level.

Speaker: Yeah.

Speaker: So, you know, after some number of years of racing, you get down to that one race every four days.

Speaker: And it's like, yeah, if those horses still want to race and they're still competitive, they're going to be in like high dollar value races.

Speaker: And it becomes more of an event, right, as those horses save up their stamina for –

Speaker: those like true degenerate gambling opportunities or, or, or, you know, Champions League tourneys or things like that.

Speaker: So I think there's a lot of things they can play with if we can get there.

Speaker: And, and by that, I mean like if, if we, if the game gets to sustainability and gives Zed the runway they need to kind of grow the game and keep everybody paid.

Speaker: It's an interesting conundrum.

Speaker: Damn, BG, I've wrote out a bunch of questions that I wanted to cover.

Speaker: We've covered like 30% of them so far and we're kind of already near an hour.

Speaker: I got more time.

Speaker: So yeah, there's two, two things.

Speaker: I kind of want to keep these to an hour from just a consistency point of view.

Speaker: Yeah.

Speaker: It's, it's quarter past eight in the morning.

Speaker: I'm going to go and start my day.

Speaker: Okay.

Speaker: Do a lightning round or, or so one thing.

Speaker: So one thing that I kind of want to finish on and look,

Speaker: At some point in the future, I'd love to get you back on and continue this conversation at some indiscriminate point in the future.

Speaker: I've really, really enjoyed this.

Speaker: But the one thing I wanted to finish on is, you know, you're looking, and we've touched on this, you look inside the code base.

Speaker: I've seen you on Twitter talk about features that you've seen identified in the code that haven't been released.

Speaker: So give us a bit of an insight.

Speaker: What's in there?

Speaker: Pull out your crystal ball, the BJ crystal ball.

Speaker: What's the thing that you've seen that people aren't aware of that's going to blow our minds?

Speaker: I mean, I don't want to judge Zed or their developers too harshly, but there's so much crap in there that was...

Speaker: removed from the roadmap like years ago.

Speaker: So all the code for surface preference is still in there.

Speaker: And I think at this point, like I would be surprised if we ever saw it in the game.

Speaker: And so like some of like what I find is just like stuff that's ages old.

Speaker: I'm like, God, why don't they clean up and just delete all that if they're not going to use it, you know?

Speaker: So like that's some of the surprising things I come up with are that.

Speaker: And then like two days ago, the aging stuff showed up.

Speaker: which actually, like, so, like, they had, you know, like, whenever Zed launches a new feature, they kind of show you a modal when you log in, like, hey, you know, there's this new thing called aging, and, you know, here's how it works, and, like, you know, there's, like, a screenshot of what it looks like.

Speaker: So they added that, and the text for that

Speaker: had said something like, oh, aging might affect your future horse performance, which was major alarm bells for me.

Speaker: So I actually asked Ryan and Facundo, what is happening here?

Speaker: And they're like, no, no, no, no.

Speaker: Some engineer, that was the example text.

Speaker: So they confirmed, I'm happy to confirm for everybody that aging does not affect racing performance.

Speaker: All it affects is how fastly your stamina or how quickly your stamina regenerates.

Speaker: It's the only thing it touches.

Speaker: But like some of that stuff, you can see that show up in the code before it actually goes live.

Speaker: And in some cases, like the version that I saw will never go live, right?

Speaker: Because it was incorrect.

Speaker: And so there's times where I've spotted similar things or typos and like DM Miguel and I'm like, you got a typo here or whatever.

Speaker: But yeah, there is...

Speaker: When you could actually look at the dev and the prepod versions before they locked them down, you would see stuff weeks or months ahead of time there.

Speaker: And now there's maybe a weekly time.

Speaker: So I think aging is very close.

Speaker: Like Facundo said, first week of April is now his new estimate, which I'm disappointed because it doesn't involve moons or tides or...

Speaker: Yeah, well, it's, well, it's still the 30th for me.

Speaker: Yeah.

Speaker: So two days, April for the US.

Speaker: But when you say like you're looking at the code,

Speaker: This is obviously like the polygon contract.

Speaker: Yeah.

Speaker: No, no, no.

Speaker: Like where do you see the code?

Speaker: No.

Speaker: Yeah.

Speaker: Just the front end code.

Speaker: So like you load Z dot run.

Speaker: Okay.

Speaker: Browser pulls down a ton of JavaScript.

Speaker: Yeah.

Speaker: Yeah, yeah.

Speaker: And of course, I've written a ton of tools to actually make it readable and to compare the version that's there today to the version that was there yesterday so that I don't have to read 10 megabytes of JavaScript at any time I want to look.

Speaker: I'm just looking at literally what's the difference between today and yesterday.

Speaker: And then things pop out in two seconds, right?

Speaker: Because you're like, oh, they added this thing called race regeneration or whatever, or racing recovery, whatever they're calling aging now.

Speaker: But I will say,

Speaker: There's a couple of things that I found solely based on new contracts.

Speaker: And I mean, hopefully no one from Zed listens to this, but basically what you do is you figure out who's deploying contracts on testnet for Zed.

Speaker: And then you just look at any contract that they've deployed recently.

Speaker: And then you can kind of see like, oh, there's the Zed token locking contract.

Speaker: that's interesting and they'll deploy 20 versions of that because they're testing out different things and you can see like, oh, that made it to mainnet.

Speaker: So I guess we're probably gonna see token locking soon, that type of stuff.

Speaker: So yeah, I mean, the detective work is what makes it fun, but yeah, I'll leave it there.

Speaker: I've said it before and I'll say it a hundred times again, Zed, give this guy a job.

Speaker: What do you want him on the inside of the fence?

Speaker: Inside the tent?

Speaker: Yeah, they offered me a job at one point and I was not in a position to leave my current job.

Speaker: And I've kind of poked a couple times since then.

Speaker: I think maybe that they've just done some layoffs and whatnot.

Speaker: Which, to be fair, many startups, including my own, have.

Speaker: So not saying that's necessarily not a dig, it's that...

Speaker: But yeah, so I did apply for the community.

Speaker: Yeah, I did apply for the community grant.

Speaker: And I think I'm just too much of a pain in the ass to them.

Speaker: So I won't be surprised and no hard feelings if they don't want to give it to me.

Speaker: But I think what I do counts, all the data analysis and the charts and the graphs and answering people's questions.

Speaker: I think that's probably been a net good for the game, even though, you know, I am a pain in the ass.

Speaker: It's interesting, right?

Speaker: Like the pain in the ass side of it, I think becomes more apparent because ultimately,

Speaker: anyone at Zed knows that when you talk, they kind of have to stop and listen.

Speaker: That's what the pain in the ass bit is.

Speaker: Like it's that, oh, hang on, BG's saying something.

Speaker: I've got to stop what I'm doing.

Speaker: There's a non-zero chance that there is something here we've missed.

Speaker: And I think that's the pain in the ass bit, which is the good bit for us, right?

Speaker: Yeah, an ex-employee told me there's a Slack channel specifically for my tweets and discussion of what their response should be, which I'm flattered by.

Speaker: But also, I mean, it really drives home from Kundo's point that I should be careful what I say, which is not to mean that I shouldn't say it, but I think being...

Speaker: specific and level-headed helps everybody out.

Speaker: So I, you know, that was great, great feedback from him.

Speaker: Because like often what I don't, like what happens sometimes, like Evergreen just lost his fucking mind at Facundo and everybody else when that controversy happened last week, which I don't want, right?

Speaker: Like our customers at my job yell at me sometimes and I don't want to like cause that to happen to anybody else.

Speaker: So yeah, I definitely feel for the team when stuff like this happens and just, yeah, I want to strive to be a little more level-headed, just knowing that people are going to get pissed off if there are changes that affect their assets happen.

Speaker: So yeah, that's been a learning I've had to do some learning there.

Speaker: Well, there's nothing like self-reflection for growth.

Speaker: Yeah, yeah.

Speaker: Okay, BG, look, we're at an hour.

Speaker: I'm going to have to wrap this up.

Speaker: Normally I'd say to everyone I'll see them on the track, but since you won't tell me who your stables are, I guess I hope I'll see you on the track.

Speaker: Yeah, I'd really, really love the opportunity to... Sorry, mate.

Speaker: It's been my plan to do some actual racing and have a public stable for a while.

Speaker: I don't know if I'll find the time, but if I do, I'll let it.

Speaker: Yeah, cool.

Speaker: All right, mate.

Speaker: As I say, I'll keep in touch on Twitter.

Speaker: I'd love to finish this off at some point in the future.

Speaker: Super appreciate your time.

Speaker: This has been really enjoyable.

Speaker: I've learned a lot and I hope everyone else does.

Speaker: So until next time, BG, thanks for coming on, mate.

Speaker: Awesome.

Speaker: Yeah, thanks so much for having me on.

Speaker

Speaker

Speaker

Speaker

Speaker

Speaker

Speaker

Recommended

Z14 - Iceberg Racing1:04:00
Z10 - Mace Racing58:31
Z9 - Rockabella Racing1:05:31