TRANSKRIBEERI 🔗
WEBVTT
00:00:00.080 --> 00:00:00.800
Hey everybody.
00:00:00.959 --> 00:00:04.799
Welcome to another episode of the Ruby AI podcast.
00:00:04.959 --> 00:00:06.959
I am one of your hosts today, Valentino Stoll.
00:00:07.200 --> 00:00:07.919
Hi, I'm the other host.
00:00:08.000 --> 00:00:08.960
I'm Joe Leo.
00:00:09.119 --> 00:00:10.320
It's great to see you, Valentino.
00:00:10.400 --> 00:00:13.839
And it's great to we're doing two in a row here of the headlines.
00:00:14.080 --> 00:00:15.119
Yeah, it's exciting.
00:00:15.279 --> 00:00:24.800
Another between the commits series here, which I've been loving, ranting and raving over all of the crazy news that the world puts out for the AI realm.
00:00:25.039 --> 00:00:25.359
Me too.
00:00:25.440 --> 00:00:26.239
Yeah, it is fun.
00:00:26.320 --> 00:00:34.159
It's also fun, it's a little exciting for us here, you know, being totally unprepared, just getting a list of articles and saying, all right, go.
00:00:34.320 --> 00:00:35.520
Let's see your opinion.
00:00:35.679 --> 00:00:36.880
It does make it fun.
00:00:36.960 --> 00:00:38.640
It puts me a little bit on the edge of my seat.
00:00:38.799 --> 00:00:41.840
I don't know what I'm going to say or how to react to some of this stuff.
00:00:42.000 --> 00:00:45.679
But luckily, we both bring our opinions and we've got a lot of those.
00:00:45.840 --> 00:00:46.079
Yeah.
00:00:46.159 --> 00:00:52.159
And hopefully it gets you riled up to want to yell at us and uh suggest new things that we should be talking about.
00:00:52.479 --> 00:00:56.479
So before we dive in, I wanted to tell you, I know we mentioned this to you after the show last week.
00:00:56.560 --> 00:01:12.400
So I've set up some virtual machines and used Tail Scale and used a bunch of the stuff that we've talked about on this show, or really I've heard you tell us about on the show to set up some independently operating agents in environments that where I am comfortable with them just running around and doing crazy stuff.
00:01:12.480 --> 00:01:13.599
And it's been a lot of fun.
00:01:13.680 --> 00:01:13.840
Yeah.
00:01:14.000 --> 00:01:24.159
I went a little bit into the Steve Yeage direction where I have a supervisor agent that talks to the other two agents that are building separate projects and then reports back.
00:01:24.400 --> 00:01:25.840
A couple of things that I've noticed.
00:01:26.000 --> 00:01:29.519
One is that it is so much more fun.
00:01:29.840 --> 00:01:32.400
I don't know if this is a great thing for like production software.
00:01:32.560 --> 00:01:36.959
Like this is all like internal deaf method tools that have one or two users.
00:01:37.120 --> 00:01:42.640
But it is a lot of fun to just let these agents crank, you know, just be on my phone and be like, hey, just go do this thing.
00:01:42.719 --> 00:01:43.280
And they do it.
00:01:43.359 --> 00:01:44.000
It's amazing.
00:01:44.239 --> 00:01:47.519
The other is that it hasn't created less work for me at all.
00:01:47.599 --> 00:01:51.680
And we're gonna get into this with Meta's Muse tools later on in this episode.
00:01:51.840 --> 00:02:02.640
I know that I'm getting a lot more done, but now there's like four projects, there's so much going on, and there are just things where the agents are like, hey, you need to make this decision, you need to set this thing up, you need to do this.
00:02:02.799 --> 00:02:07.200
And like, man, I've got like another track of work now to do.
00:02:08.479 --> 00:02:10.479
Like, I thought you guys were gonna make less work for me.
00:02:10.560 --> 00:02:13.280
Not really the case, but the results are pretty uh encouraging.
00:02:13.520 --> 00:02:15.919
Yeah, it takes some getting used to moving up the stack.
00:02:16.080 --> 00:02:16.800
Yeah, that's for sure.
00:02:17.039 --> 00:02:19.360
It's not gonna be easy, but you'll figure it out.
00:02:19.520 --> 00:02:20.560
You'll find what works for you.
00:02:20.639 --> 00:02:21.599
And it's different for everybody.
00:02:21.680 --> 00:02:25.680
Yeah, I've seen many people go through this process and end up at different things.
00:02:25.840 --> 00:02:27.360
I'm like, oh, maybe I should try that.
00:02:27.439 --> 00:02:28.080
And then I try it.
00:02:28.159 --> 00:02:29.199
I'm like, uh, that's not for me.
00:02:29.439 --> 00:02:30.400
Yeah, that makes total sense.
00:02:30.639 --> 00:02:37.199
I said on this show, until I was up on like a digital ocean droplet, my entire workflow was basically manual.
00:02:37.280 --> 00:02:43.039
Like, I didn't want to let Claude or Codex or anything really run loose because it's my computer and it's all my stuff.
00:02:43.280 --> 00:02:44.479
I don't want it destroying it all.
00:02:44.560 --> 00:02:47.599
I've caught it doing too many really scary things.
00:02:47.759 --> 00:02:51.439
But opening it up and saying, Oh, okay, go take down a droplet if you want.
00:02:51.520 --> 00:02:52.639
Like that's the worst that can happen.
00:02:52.719 --> 00:02:53.199
Okay, great.
00:02:53.360 --> 00:02:56.159
Maybe commit something to my repo, which is not such a big deal.
00:02:56.319 --> 00:03:00.319
Again, because it's not shared, it's not some production environment that is super critical.
00:03:00.560 --> 00:03:06.240
Yeah, you know, it makes me wonder uh or worry uh about all of these providers.
00:03:06.400 --> 00:03:08.639
If I were in their shoes, I would be very nervous right now.
00:03:08.800 --> 00:03:09.599
Oh, yeah, how come?
00:03:09.759 --> 00:03:12.159
Everybody's spinning up their own agent free-for-all.
00:03:12.319 --> 00:03:12.879
Oh, I see.
00:03:12.960 --> 00:03:14.719
Yeah, and making use of the bandwidth.
00:03:14.960 --> 00:03:15.439
That's for sure.
00:03:15.520 --> 00:03:16.400
Yeah, that's for sure.
00:03:16.639 --> 00:03:24.960
First headline we got up is the FTC just sent OpenAI Ananthropic a 50-page subpoena and sued OpenAI on the same day.
00:03:25.199 --> 00:03:26.400
The fun continues.
00:03:26.639 -->
Load full transcript
00:03:36.000
Just last Wednesday on the October 15th, FTC sent both companies' civil investigative demands, which are just subpoenas with a friendlier name, each running more than 50 pages.
00:03:36.159 --> 00:03:38.560
What you might be wondering is what are these demands?
00:03:38.719 --> 00:03:49.520
They document security incidents, safeguarding practices, marketing materials, privacy policies, all this fun stuff that the FTC agency now plans to compel top executives to testify.
00:03:49.680 --> 00:03:51.039
Let's see if they actually do.
00:03:51.280 --> 00:04:14.879
The same day that all of this has happened, a group of state attorneys they filed a separate consumer protection lawsuit against OpenAI, and OpenAI's response was carefully bland, saying, as we improve our models and they increasingly help people in their day-to-day lives, safety remains a top priority, adding it will engage constructively with the FTC.
00:04:14.960 --> 00:04:17.199
And an anthropic, of course, said nothing.
00:04:17.439 --> 00:04:17.680
Yeah.
00:04:17.920 --> 00:04:28.160
FTC chair Andrew Ferguson's longstanding position just was paraphrased by reporters rather than quoting directly is that the AI system shouldn't ship if they aren't safe.
00:04:28.399 --> 00:04:31.680
The question for us is Is AI's regulation moment finally here?
00:04:31.839 --> 00:04:35.120
Does it have real teeth, or is all of this just kind of like paperwork?
00:04:35.519 --> 00:04:42.560
It's gonna have its moment where a bunch of Silicon Valley execs go to Capitol Hill and make some headlines for a couple of weeks.
00:04:42.639 --> 00:04:44.240
Like that's the moment that's here.
00:04:44.560 --> 00:04:49.600
I feel like I have to walk a fine line here because I am not an AI doomer by any means.
00:04:49.920 --> 00:04:55.519
At the same time, I want to say that I think Andrew Ferguson's claim here needs some scrutiny.
00:04:55.680 --> 00:04:58.240
AI systems shouldn't ship if they aren't safe.
00:04:58.560 --> 00:05:15.199
That sounds nice, but I actually think that we all, including regulators, need to update our definition of what is safe because these models, even at their best, are not safe in the traditional sense that we have all come to know and understand from computers.
00:05:15.439 --> 00:05:19.600
Things that are not deterministic are going to do crazy things.
00:05:19.759 --> 00:05:20.480
We've seen that.
00:05:20.720 --> 00:05:24.480
That does not mean by any means that open AI and anthropics shouldn't be held accountable.
00:05:24.560 --> 00:05:30.800
They absolutely should for every time that their models go off and cause an outage or make people pull their hair out.
00:05:30.959 --> 00:05:39.120
At the same time, what we were just talking about at the top of the show, I've never had to so closely guard a software program running on my machine.
00:05:39.199 --> 00:05:40.480
I've never been so worried about it.
00:05:40.560 --> 00:05:42.560
It's just not that safe, even in
the best of times.
00:05:42.879 --> 00:05:53.199
You need to be a little bit more understanding of what the power of these models are and sort of couch our regulations or whatever's coming in the understanding that safety is looks a little different today.
00:05:53.439 --> 00:05:57.439
You make a great point because I think about we're working very small scale.
00:05:57.600 --> 00:06:03.920
Yeah, we're worried about our local computers, maybe a small little droplet somewhere, maybe a few of them.
00:06:04.160 --> 00:06:07.279
The scale here, I think, is what is the worry.
00:06:07.600 --> 00:06:09.920
But you're a czar, you're not that's not small scale.
00:06:10.000 --> 00:06:13.600
Like there's a lot of things that can go very, very wrong if those models go crazy.
00:06:13.839 --> 00:06:15.759
Yes, but even that's not small scale.
00:06:15.920 --> 00:06:16.079
Okay.
00:06:16.240 --> 00:06:23.839
These are like swarms in the hundreds of thousands of agents collaborating together and are let loose on a public domain, right?
00:06:23.920 --> 00:06:24.480
Like on the internet.
00:06:24.720 --> 00:06:24.959
Yeah.
00:06:25.120 --> 00:06:30.240
Hopefully, that's what kind of comes out of this is like, where are those guardrails?
00:06:30.720 --> 00:06:33.040
Can somebody do that for one?
00:06:33.360 --> 00:06:42.399
And I worry though, because the whole premise of how these things were trained to begin with stems from them having access to the public realm and letting things go loose at it.
00:06:42.560 --> 00:06:45.120
So what we're seeing now though is kind of like the reverse of it.
00:06:45.199 --> 00:06:45.439
Yeah.
00:06:45.600 --> 00:06:51.519
Before it was very much information gathering and collective, and now it's being put out there.
00:06:51.680 --> 00:06:54.160
They're they're actually doing stuff, mutating.
00:06:54.399 --> 00:06:55.040
Yeah, they are.
00:06:55.199 --> 00:06:56.560
I do want accountability, right?
00:06:56.639 --> 00:07:00.160
If somebody can mutate something that's available, that's the concern.
00:07:00.399 --> 00:07:05.759
Let's move on to Ruby 4.1, just got its first preview.
00:07:06.000 --> 00:07:08.319
It is all about Ractors.
00:07:08.560 --> 00:07:10.639
So this is really interesting to me.
00:07:10.800 --> 00:07:15.680
This is October 12th, Ruby 4.1.0 preview one is out.
00:07:16.079 --> 00:07:24.319
The headline is that each Ractor now collects its own heap on its own thread instead of stopping the whole program for global garbage collection.
00:07:24.560 --> 00:07:29.439
Now, allocation-heavy Ractor programs now scale like forked processes.
00:07:29.600 --> 00:07:32.079
That's a quote from the Ruby maintainers.
00:07:32.319 --> 00:07:40.959
There are a couple of ins and outs about this, but I think the headline is that Ruby is leaning into Ractors.
00:07:41.120 --> 00:07:53.600
They definitely have found something where they're able to make this genuinely a difference maker with respect to forked processes,
with respect to multi-threaded or multi-processed programming.
00:07:53.920 --> 00:07:57.439
I think people are starting to see real gains in performance.
00:07:57.680 --> 00:08:00.800
I'm curious to know what you think about this, V.
00:08:01.120 --> 00:08:04.879
Does per ractor garbage collection finally make Ractors worth reaching for?
00:08:05.040 --> 00:08:06.639
Have you already been reaching for them?
00:08:06.800 --> 00:08:13.439
I'm starting to get a sense that people are, but I haven't seen a lot of production instances in the headlines in the news.
00:08:13.600 --> 00:08:16.000
Where do you think we stand right now with Ractors?
00:08:16.240 --> 00:08:18.399
I'm torn on this because fibers are great.
00:08:18.639 --> 00:08:30.560
There's a whole rage framework, which we've been living under a rock as a fiber-based parallelism framework that's kind of taking storm and it works really well from a performance perspective.
00:08:30.800 --> 00:08:33.440
But at the same time, it's not true parallelism.
00:08:33.600 --> 00:08:36.080
And I think that's what Ractors aims at solving.
00:08:36.320 --> 00:08:37.120
It's the aim, yeah.
00:08:37.279 --> 00:08:38.399
I don't think we're there yet.
00:08:38.639 --> 00:08:42.799
Does this really solve the whole global interpreter lock and things like that?
00:08:43.120 --> 00:08:43.759
No, it doesn't.
00:08:43.840 --> 00:08:47.279
And I think definitely correct us if we're wrong here, anybody who's listening.
00:08:47.360 --> 00:08:52.960
But my understanding is that you're not getting true parallelism as long as the GVL is still in place and the GVL is not going anywhere.
00:08:53.039 --> 00:08:54.480
This is an improvement for sure.
00:08:54.720 --> 00:08:59.840
Garbage collection is being and not going across different reactors is a performance improvement.
00:08:59.919 --> 00:09:01.519
It's not a solution to the GVL.
00:09:01.840 --> 00:09:05.519
I worry it's just a way of shifting around blame for the GVL.
00:09:07.600 --> 00:09:09.840
I had a different take when I looked at this.
00:09:10.000 --> 00:09:11.440
I think Ractors are exciting.
00:09:11.519 --> 00:09:17.679
And I guess what I noticed was when I was quickly scanning this, Ractors shipped with Ruby 3.
00:09:17.919 --> 00:09:20.960
So they shipped in 2020, which is kind of interesting, right?
00:09:21.039 --> 00:09:22.080
It's been six years.
00:09:22.320 --> 00:09:23.759
This is an AI podcast.
00:09:23.919 --> 00:09:33.519
I think that the reason that there've been a significant number of advancements in the last 12-ish months is really because they've set AI at this problem.
00:09:33.679 --> 00:09:40.080
I don't know that for sure, but I think we can tease out from Matt's talks that they're definitely leaning into that.
00:09:40.320 --> 00:09:42.480
So I think that that is a good thing.
00:09:42.639 --> 00:09:44.960
What you say about fibers is interesting, though.
00:09:45.120 --> 00:09:46.480
I have always liked fibers.
00:09:46.559 --> 00:09:48.080
The Rage framework exists.
00:09:48.240 --> 00:09:49.759
Maybe people are already comfortable.
00:09:49.840 --> 00:09:54.000
And then if that's the case, then what are we really trying to achieve with Ractors?
00:09:54.159 --> 00:09:57.919
We're not going to have a true parallelism in Ruby.
00:09:58.080 --> 00:09:58.960
I don't think that's in the offing.
00:09:59.120 --> 00:10:00.960
And I don't think anybody's really trying to do that.
00:10:01.200 --> 00:10:03.679
What's the ceiling then for Ractors?
00:10:03.759 --> 00:10:06.320
Is it that it gets as good as fibers or better?
00:10:06.399 --> 00:10:08.240
And if that did, I'm curious to know.
00:10:08.320 --> 00:10:13.679
And it this is an open question: what advantage would a Ractor have over fibers?
00:10:14.080 --> 00:10:16.639
What I've been reading, it's kind of reduced footprint.
00:10:16.799 --> 00:10:22.799
So encapsulation of the Ractor is kind of like a reduced version from an object standpoint and responsibility.
00:10:23.039 --> 00:10:23.840
And I could be wrong.
00:10:23.919 --> 00:10:24.399
I don't know.
00:10:24.720 --> 00:10:27.200
Part of me is just hesitant to try out a preview.
00:10:27.279 --> 00:10:31.759
So I'm excited to see it coming kind of out of the experimental phase.
00:10:32.000 --> 00:10:33.679
Will I start working with it?
00:10:34.000 --> 00:10:34.799
Probably not.
00:10:34.960 --> 00:10:35.200
Yeah.
00:10:35.360 --> 00:10:37.600
Until somebody else figures out all the sharp edges.
00:10:37.759 --> 00:10:39.200
What are we getting Ruby 4.1?
00:10:39.360 --> 00:10:40.240
Are we getting that on Christmas?
00:10:40.399 --> 00:10:41.360
Oh, we've got to be.
00:10:41.440 --> 00:10:41.600
Yeah.
00:10:41.759 --> 00:10:44.000
Anticipated final stable release on Christmas.
00:10:44.159 --> 00:10:44.480
Beautiful.
00:10:44.639 --> 00:10:45.759
Beautiful.
00:10:46.480 --> 00:10:49.919
Y Jit runs on Windows, and YJet we're going to do in our next segment.
00:10:50.080 --> 00:10:52.799
But Y Jet running on Windows, I think, is a big deal.
00:10:53.120 --> 00:10:58.000
We constantly give every Windows developer short shrift and no tools.
00:10:58.159 --> 00:11:02.000
And I didn't actually realize until I read this that we weren't even shipping with YJet.
00:11:02.240 --> 00:11:07.600
It was just kind of like, well, if you're running Ruby on Windows, it's going to be slow and it's going to probably not install.
00:11:07.679 --> 00:11:09.120
So we're just not going to help you.
00:11:09.279 --> 00:11:10.639
Which is not okay.
00:11:10.879 --> 00:11:15.120
It's not really nice to a whole ton of people in the world that run on Windows.
00:11:15.279 --> 00:11:17.679
I guess we're going to give them some crumbs on Christmas.
00:11:18.000 --> 00:11:18.879
A little warm-up.
00:11:19.360 --> 00:11:19.679
Yeah.
00:11:19.919 --> 00:11:21.120
Do you want to take this next one?
00:11:21.360 --> 00:11:24.080
Shopify just put Zajit into production.
00:11:24.320 -->
00:11:25.519
Yeah, I think I think it's Zajit.
00:11:25.759 --> 00:11:27.600
It's already going toe-to-toe with YJIT.
00:11:27.759 --> 00:11:30.639
If you're not familiar, Shopify has a special Ruby team.
00:11:30.720 --> 00:11:33.200
They have been working on various JIT implementations.
00:11:33.360 --> 00:11:35.360
This is the latest iteration of that.
00:11:35.519 --> 00:11:49.679
They have deployed Zujit, the newer SSA-based method JIT that shipped disabled by default in Ruby 4 to a couple of small regions of its storefront renderer, each compared against a same-size YJIT region.
00:11:49.840 --> 00:11:59.039
In their post, they kind of looked at the response times for what the Zajit is, in quotes, probably as fast as or faster than YJIT.
00:11:59.360 --> 00:12:06.159
Not a clear win or clean win, and the author admits running different regions for each makes the comparison a little sketchy.
00:12:06.559 --> 00:12:16.159
Memory told a clearer story, so they are seeing about 125 megabits of average JIT overhead for YJIT versus the 101 on Zijit.
00:12:16.399 --> 00:12:18.320
Measured separately from the Ruby heap itself.
00:12:18.559 --> 00:12:21.600
Her benchmark results, though, are genuinely mixed.
00:12:21.840 --> 00:12:24.240
Several are roughly tied, some are worse.
00:12:24.399 --> 00:12:29.200
One benchmark call path mostly vanished after inlining, removed it entirely.
00:12:29.360 --> 00:12:34.960
So it seems like there's some mixed reviews here on Zajit from Shopify's partial deployment and measuring of it.
00:12:35.120 --> 00:12:41.279
But Zujit ships compiled into Ruby already, but off by default, so you could just turn it on with a flag if you wanted to try it out.
00:12:41.519 --> 00:12:44.480
Is it too early to call Zajit a win then?
00:12:44.720 --> 00:12:50.000
And when the sample is small like this and the results are mixed, I don't really know what to take from this.
00:12:50.240 --> 00:12:51.120
This is the funny thing.
00:12:51.200 --> 00:12:57.440
Just pulling this article up, this is Max Bernstein, by the way, who wrote about this at Rails at Scale, and he works for Shopify.
00:12:57.679 --> 00:13:03.200
So just looking at this, the agents' coverage of the story is mixed.
00:13:03.440 --> 00:13:05.919
Their opinion is mixed for what it's worth.
00:13:06.159 --> 00:13:07.519
Shopify is very happy.
00:13:07.679 --> 00:13:09.200
And I'm on the optimistic side.
00:13:09.279 --> 00:13:11.840
I mean, I think what Shopify did with WideJIT was incredible.
00:13:11.919 --> 00:13:16.720
And I think they did that at a time where there was a lot of skepticism over a new just-in-time compiler.
00:13:16.879 --> 00:13:19.600
And it's already light years better than its predecessor.
00:13:19.759 --> 00:13:23.360
Now it's DJT, it's taking some time to answer this question directly.
00:13:23.519 --> 00:13:27.759
Maybe it's not time to switch over your applications, but it seems like it's close.
00:13:27.840 --> 00:13:30.559
And it definitely seems like that is the future.
00:13:30.799 --> 00:13:31.360
It's interesting.
00:13:31.440 --> 00:13:38.799
I was looking at what's the difference, just for listeners out there who might not be savvy about just in time compilers, because I'm not really.
00:13:39.120 --> 00:13:42.960
The reason that YJIT has been a huge success is because it takes this pragmatic approach.
00:13:43.039 --> 00:13:45.919
It compiles small pieces of Ruby code as they're needed.
00:13:46.000 --> 00:13:48.720
That's as very, very just in time, like just as they're needed.
00:13:49.120 --> 00:13:51.919
ZJIT kind of takes a step back, or is ZJIT, I'm sorry.
00:13:52.320 --> 00:13:53.919
It kind of takes a step back.
00:13:54.240 --> 00:14:01.840
And so instead of optimizing little pieces at a time, it takes a sort of a more traditional compiler architecture and it looks for larger chunks of code.
00:14:01.919 --> 00:14:04.960
And so it's looking at ways to optimize code paths.
00:14:05.039 --> 00:14:09.120
It looks at places that are likely not going to be executed, duplicative code paths.
00:14:09.360 --> 00:14:19.759
The idea is that over time it can actually get a lot better than YJet, but it doesn't sound like that to me, just looking at this, and I'm a layman when it comes to compilers.
00:14:19.919 --> 00:14:22.480
That doesn't sound like the kind of thing that's going to be an overnight success.
00:14:22.559 --> 00:14:23.919
It sounds like that's going to take some time.
00:14:24.159 --> 00:14:29.440
We have an entire language and decades worth of execution strategy to kind of take into consideration here.
00:14:29.759 --> 00:14:43.679
I think until they get around to finally introducing the typed annotations where you can give the compiler kind of like ahead of time details about what it's looking at, which you know is in quite a few other languages to help with this specifically.
00:14:43.840 --> 00:14:48.480
I feel like until we get that worked out, we won't see the drastic improvements we're looking for.
00:14:48.720 --> 00:14:53.360
When you say it's available in other languages, is it available in other interpreted languages, like Python, for example?
00:14:53.600 --> 00:14:56.320
I believe Python does do something like that.
00:14:56.480 --> 00:14:56.879
Yes.
00:14:57.120 --> 00:14:57.279
Okay.
00:14:57.440 --> 00:15:06.639
I don't know if it's full-fledged, like you can get with a true compiled language, but there are aspects of it that you can kind of inject at certain instructions.
00:15:06.879 --> 00:15:07.200
That's cool.
00:15:07.279 --> 00:15:08.320
I'd like to learn more about that.
00:15:08.399 --> 00:15:11.840
But I'm not going to learn about it right now because we're going to move into the next segment.
00:15:12.480 --> 00:15:19.360
Meta defaults your code to train our next model and calls the box, you have to find yourself the opt-out.
00:15:19.679 --> 00:15:34.080
In news that shouldn't surprise anybody ever anywhere, Meta's new
MuseWonder and MuseWonder full models, their subscriptions default new users into contributor mode, which means that everything you do is going back into their system for training.
00:15:34.240 --> 00:15:47.759
This, of course, was a huge barrier to adoption for open AI in the very beginning, because people and companies, quite understandably, didn't want all of their private information going into some black box that a company owned.
00:15:48.000 --> 00:15:54.960
We've sort of settled that question by saying, well, hey, if you pay us some money and tell us not to do it, then we won't train our models with your data.
00:15:55.200 --> 00:15:57.840
Which of course we just have to like trust that they're telling the truth.
00:15:57.919 --> 00:16:00.399
And we may find out years later that it's not the truth at all.
00:16:00.480 --> 00:16:02.080
And that's not going to surprise any of us either.
00:16:02.320 --> 00:16:03.039
I digress.
00:16:03.120 --> 00:16:05.840
Here we are with Muse Code subscriptions.
00:16:06.000 --> 00:16:16.159
The only way to guarantee that your content stays out of training is surprise, surprise, the pay as you go API in standard mode, where contributor mode isn't even offered.
00:16:16.399 --> 00:16:22.080
Is this a fair trade for free capacity or is this a trap most people will never notice they walk into?
00:16:22.159 --> 00:16:23.039
Or actually both.
00:16:23.200 --> 00:16:24.879
The question is yours, Valentino.
00:16:25.120 --> 00:16:25.679
I guess both.
00:16:25.840 --> 00:16:26.000
Yeah.
00:16:26.240 --> 00:16:29.039
Muse is not an open weight model, right?
00:16:29.200 --> 00:16:29.440
Right.
00:16:29.600 --> 00:16:33.039
I don't really understand why people would contribute to it, to be honest.
00:16:33.840 --> 00:16:36.320
The reason is because they don't know that they're doing it, I guess.
00:16:36.639 --> 00:16:39.840
If you use any provider, you don't know if they're doing it either.
00:16:40.080 --> 00:16:40.320
Yeah.
00:16:40.559 --> 00:16:44.879
Which I guess they're at least disclosing that they are doing it and you can opt out.
00:16:45.039 --> 00:16:47.440
I imagine Anthropic is doing the same.
00:16:47.679 --> 00:16:48.000
Yeah.
00:16:48.240 --> 00:16:51.039
All the other companies are doing the same in some capacity.
00:16:51.279 --> 00:16:53.600
If you want to use it, who cares if they trade on it?
00:16:53.840 --> 00:16:55.360
Pay the money, I guess, if you want to avoid it.
00:16:55.440 --> 00:16:56.960
You know, if it does improve it too.
00:16:57.200 --> 00:17:04.160
Well, some of it is going to be used to improve the model, and some of it is going to be used, I'm sure, to send you ads and send people to it.
00:17:04.319 --> 00:17:06.559
When I read this, I thought it this is app tracking.
00:17:06.720 --> 00:17:20.319
You know, Facebook, before it was even called Meta, hit this real valley in its revenue model once it wasn't allowed anymore to track users across all the different apps they pulled up in their phone after they had Facebook up, right?
00:17:20.480 --> 00:17:24.720
And so all of a sudden they couldn't tell where you went after you clicked the link.
00:17:24.880 --> 00:17:29.440
And so they couldn't guarantee performance to the people that were paying them for ads.
00:17:29.519 --> 00:17:30.480
And that's how it runs.
00:17:30.640 --> 00:17:31.920
That's how a lot of companies run.
00:17:32.079 --> 00:17:37.359
At the same time, here we are with Meta in its 2026, and AI is ruling the roost.
00:17:37.440 --> 00:17:45.839
And it's like, well, hey, here is a way that we can potentially make money off of this or provide a better service to people that are going to run ads through our tools.
00:17:46.079 --> 00:17:51.359
So it comes as no surprise to me that they're not going to make it very easy for you to not do that.
00:17:51.599 --> 00:17:58.559
Actually, the only thing that's maybe a little bit surprising is that if you are in standard mode where you're paying, contributor mode isn't even offered.
00:17:58.720 --> 00:18:02.319
Because I would probably, if I were Meta, say, hey, everybody can be contributors, right?
00:18:02.480 --> 00:18:04.559
Unless you specifically tell us not to.
00:18:04.720 --> 00:18:07.359
We're taking your information and we're going to do whatever we want with it.
00:18:07.519 --> 00:18:09.839
I don't even necessarily have a problem with this.
00:18:10.000 --> 00:18:16.559
I mean, these are businesses that are trying to make money and to think that they have some kind of altruistic aim is really naive.
00:18:16.799 --> 00:18:19.680
When we use these tools, we don't have necessarily altruistic aims either.
00:18:19.839 --> 00:18:25.279
We want to be able to go through our day more efficiently or shop easier or not answer people's emails.
00:18:25.359 --> 00:18:26.720
We're just going to have an agent do it.
00:18:26.960 --> 00:18:31.599
If you want to get out of the trap, the only way out is to pay a little money.
00:18:31.759 --> 00:18:33.920
Yeah, I mean, we do that with Claude and Codex.
00:18:34.079 --> 00:18:34.240
Yeah.
00:18:34.400 --> 00:18:36.799
Until these smaller models are better, we're going to keep doing that.
00:18:36.960 --> 00:18:37.119
Yeah.
00:18:37.279 --> 00:18:39.359
I will have to retract something I said.
00:18:39.519 --> 00:18:46.480
Apparently, Meta has started this super intelligence framework and are releasing open weight versions of some of these models.
00:18:46.720 --> 00:18:47.440
Oh, no kidding.
00:18:47.599 --> 00:18:48.960
An in-episode retraction.
00:18:49.119 --> 00:18:49.440
I know.
00:18:49.680 --> 00:18:50.480
It's incredible.
00:18:50.720 --> 00:18:53.359
And the producer got in your ear and said, hey, you know, you can't say that.
00:18:53.519 --> 00:18:56.319
We're going to have to have a producer on soon that just corrects us.
00:18:56.799 --> 00:18:58.000
Corrects us in real time.
00:18:58.240 --> 00:18:58.559
Yeah.
00:18:58.720 --> 00:18:59.839
But
right now it's so much fun.
00:18:59.920 --> 00:19:01.519
It feels like everything I say is right.
00:19:01.759 --> 00:19:02.319
Right.
00:19:04.160 --> 00:19:05.920
These are just going to get better and better.
00:19:06.079 --> 00:19:07.279
Make use of it if you can.
00:19:07.440 --> 00:19:07.599
Yeah.
00:19:07.759 --> 00:19:08.799
There's no out training.
00:19:09.039 --> 00:19:09.359
That's right.
00:19:09.519 --> 00:19:16.559
Next up we've got Claude writes so much code that Anthropic had to build its own version control system from scratch.
00:19:16.720 --> 00:19:21.920
Anthropic's engineers, they hit a real wall because they were just producing so much code.
00:19:22.319 --> 00:19:27.839
Fetching their mono repo with plain Git would mean over 600 petabytes of Git traffic a day.
00:19:28.079 --> 00:19:34.720
So a seven-person team spent five months replacing Git entirely with a homemade system they call Scion.
00:19:35.119 --> 00:19:36.319
Not to be confused with the cars.
00:19:36.400 --> 00:19:36.559
Yeah.
00:19:36.799 --> 00:19:39.839
Plus a new review tool they're calling Antique.
00:19:40.000 --> 00:19:42.480
So the pressure came directly from Cloud's own output.
00:19:42.559 --> 00:19:50.720
The merge volume went from about 2,500 code changes a day in May of this year to over 30,000 by September.
00:19:50.880 --> 00:19:51.119
Wow.
00:19:51.279 --> 00:19:51.839
That's incredible.
00:19:52.079 --> 00:19:56.559
So a chart that tracks almost exactly with each new Claude model release.
00:19:56.799 --> 00:20:09.839
The main branch alone on our code base runs close to 100 gigs with a compressed working copy at 25 gigs, and CI performs roughly 25 million checkouts a day before anyone's laptop or agent SAMOX is even counted.
00:20:10.079 --> 00:20:14.960
A Scion engineer shrugged off a complaint about missing offline support on Hacker News.
00:20:15.119 --> 00:20:22.079
Since Claude is by far the heaviest user of Scion and is necessarily online, this just wasn't important to do.
00:20:22.319 --> 00:20:26.000
Anthropic's own write-up is candid about what the job became.
00:20:26.160 --> 00:20:31.039
So they're saying very often we found that the role of engineers was to tell Claude no.
00:20:31.200 --> 00:20:38.640
Elsewhere, agents will sometimes violate core system constraints to satisfy a pattern that should never have been allowed in the first place.
00:20:38.799 --> 00:20:40.880
And then they're getting more skepticism online.
00:20:41.119 --> 00:20:49.119
The register is saying that this only works because a company flush with venture funding has quote cost is no object mentality.
00:21:00.640 --> 00:21:08.000
Is that a preview of where every engineer org is gonna end up, or a problem only a company with unlimited venture money ever needed to solve?
00:21:08.240 --> 00:21:15.039
Sorry, I wasn't paying attention at the end of that because I was just registering scionhub.com and barking it.
00:21:16.559 --> 00:21:17.920
I love this story.
00:21:18.160 --> 00:21:19.440
This is fascinating to me.
00:21:19.599 --> 00:21:21.359
All of it is fascinating to me.
00:21:21.519 --> 00:21:26.799
First of all, 2,500 code changes a day to 30,000 in the last six months.
00:21:27.039 --> 00:21:29.200
That's what's happening right now at Claude?
00:21:29.359 --> 00:21:30.160
That's incredible.
00:21:30.400 --> 00:21:35.680
I have no problem at all if you're hitting you're hitting performance issues with your tools, then maybe you got to build new tools.
00:21:35.839 --> 00:21:37.599
This is like a story as old as time.
00:21:37.759 --> 00:21:42.400
So I think it's really interesting that they built a new homemade system.
00:21:42.799 --> 00:21:48.559
My thought is well, it's fine to say, well, Scion is closed, we're not going to open source it because it's ours.
00:21:48.799 --> 00:21:53.359
And probably that's correct that most teams today do not need this.
00:21:53.599 --> 00:21:54.559
What about tomorrow?
00:21:54.799 --> 00:21:55.839
What about a year from now?
00:21:56.000 --> 00:21:57.279
Are we all headed for that?
00:21:57.599 --> 00:21:59.440
That is an enormous increase.
00:22:00.160 --> 00:22:02.000
In output and merge volume.
00:22:02.240 --> 00:22:07.759
I don't actually agree with this skepticism that it's a company flush with venture funding and it's a cost is no object.
00:22:07.839 --> 00:22:09.599
I think that this is probably the right move.
00:22:09.759 --> 00:22:14.319
I think the efficiency gains alone probably make this worth it.
00:22:14.559 --> 00:22:20.559
It's just to me, it sounds like it's maybe a little shot for us of what the future might look like.
00:22:20.880 --> 00:22:24.960
This problem has been solved by other companies like Google and Meta.
00:22:25.200 --> 00:22:27.279
They each have their own kind of prior art here.
00:22:27.519 --> 00:22:32.480
If you're dealing with 600 petabytes of just Git traffic, that's so much.
00:22:32.720 --> 00:22:36.240
The cost optimization for bringing that down is like huge.
00:22:36.400 --> 00:22:36.559
Yeah.
00:22:36.799 --> 00:22:37.519
The value for that.
00:22:37.680 --> 00:22:38.640
Why would you not do that?
00:22:38.720 --> 00:22:38.880
Yeah.
00:22:39.119 --> 00:22:44.079
For us, peons is serving well until you get to a certain point of adoption.
00:22:44.240 --> 00:22:49.359
So I wonder what is that tipping point for us of changes per day?
00:22:49.599 --> 00:22:52.720
What number of changes per day for you are you like, you know what?
00:22:52.799 --> 00:22:54.000
Git is not the right tool.
00:22:54.240 --> 00:22:54.640
A ton.
00:22:54.799 --> 00:22:55.680
It's gotta be a lot.
00:22:56.000 --> 00:22:56.640
Yeah.
00:22:57.440 --> 00:23:02.960
At the same time, they probably use some of the prior art as their uh go bys.
00:23:03.519 --> 00:23:12.799
As somebody who has lived through the end of CVS and the entire lifespan of SVN, it's funny to just come to a point where it's like, oh, maybe Git isn't fast enough anymore.
00:23:12.960 --> 00:23:18.240
Git was the most incredible thing I experienced as a developer once it came out and I compared it to SVN.
00:23:18.480 --> 00:23:19.119
Oh, so fast.
00:23:19.200 --> 00:23:20.799
And so much better at resolving conflicts.
00:23:21.119 --> 00:23:27.359
We only have 90 seconds for this one for some reason that I'm I'm not sure of, because of the rules that we put in place and don't even remember putting in place.
00:23:28.000 --> 00:23:33.359
So developers are ripping the smart out of smart TVs using AI coding assistance to do it.
00:23:33.519 --> 00:23:44.000
So there's two open source MIT licensed projects that are surfaced this week that will strip loatware and ads and tracking off of your Android TV, your Google TV, your Fire TV.
00:23:44.160 --> 00:23:46.960
They're called Clean Your TV and Dumb TV.
00:23:47.039 --> 00:23:48.799
And you can check these out right now.
00:23:49.119 --> 00:23:58.720
My question for you, Valentino, is how hard is it going to be now if you put these things in place to set up your parents' TV?
00:24:01.839 --> 00:24:04.319
Well, you know, this is just pie hole all over again.
00:24:04.640 --> 00:24:05.759
Yeah, I was thinking the same thing.
00:24:05.839 --> 00:24:06.720
It's like piehole.
00:24:06.799 --> 00:24:08.000
I remember I made a pie hole.
00:24:08.079 --> 00:24:08.720
I was so proud of myself.
00:24:09.039 --> 00:24:09.759
Pain in the ass.
00:24:10.000 --> 00:24:10.240
Yeah.
00:24:10.480 --> 00:24:10.799
You know?
00:24:10.960 --> 00:24:11.680
Yeah, it is.
00:24:11.920 --> 00:24:15.599
And uh I imagine this is gonna be very much a pain in the ass.
00:24:16.400 --> 00:24:18.880
But you know, we didn't have agents back in the day.
00:24:19.200 --> 00:24:22.160
And uh maybe pie hole is much easier to set up now.
00:24:22.319 --> 00:24:23.920
Uh I may remember that.
00:24:24.480 --> 00:24:24.799
That's true.
00:24:24.880 --> 00:24:25.440
That's a good point.
00:24:25.519 --> 00:24:30.400
I have a friend who runs an engineering team, and he said that in his spare time he developed a thing.
00:24:30.559 --> 00:24:40.640
It's a tool that he loves to listen to Yankee games on the radio, and it's a tool that it detects when the inning is over and then automatically mutes his audio for the commercials.
00:24:40.880 --> 00:24:41.440
It's incredible.
00:24:41.599 --> 00:24:44.319
He's like, I never looked at any of the True Smart TV.
00:24:44.559 --> 00:24:46.160
Yeah, yeah, yeah, yeah.
00:24:46.480 --> 00:24:51.680
Next week on the show, we're going to have Rick Van Michellen.
00:24:51.839 --> 00:24:54.559
He's going to talk a little bit about Museum of Modern Art.
00:24:54.799 --> 00:24:58.000
If you're interested in being on the show, we would love to have you.
00:24:58.079 --> 00:24:59.759
We have guests booked out through February.
00:24:59.839 --> 00:25:00.319
Do you know that?
00:25:00.480 --> 00:25:00.960
Wow, really?
00:25:01.119 --> 00:25:02.160
And potentially even further.
00:25:02.240 --> 00:25:02.400
Yeah.
00:25:02.480 --> 00:25:03.920
So they're, I mean, it's really exciting.
00:25:04.079 --> 00:25:05.759
Thank you, everybody, for saying yes.
00:25:06.000 --> 00:25:10.880
So I we have somebody in the background that's not AI, that's just begging people left and right to come on the show.
00:25:11.039 --> 00:25:12.160
So thank you for saying yes.
00:25:12.319 --> 00:25:15.119
The week after that, we have Marty Hott for Ruby Central.
00:25:15.200 --> 00:25:16.160
And uh let me tell you something.
00:25:16.559 --> 00:25:18.559
Marty's had a very interesting year.
00:25:18.799 --> 00:25:21.200
So we're gonna have a lot of fun talking to him.
00:25:21.440 --> 00:25:24.160
So much going on in Ruby Central and Ruby Gems.
00:25:24.319 --> 00:25:25.759
So that'll be a lot of fun as well.
00:25:26.000 --> 00:25:26.960
Yeah, I'm looking forward to it.
00:25:27.039 --> 00:25:27.920
All of our guests are great.
00:25:28.079 --> 00:25:29.680
Making the show fun and interesting.
00:25:29.920 --> 00:25:32.240
So until next week, great to have you all.
00:25:32.400 --> 00:25:32.960
Thanks for coming.
00:25:33.200 --> 00:25:33.759
Talk to you soon.