Getting the transcript
Reading the captions from YouTube. A video nobody has opened here before takes 10 to 30 seconds; this page fills in on its own.
Getting the transcript
Reading the captions from YouTube. A video nobody has opened here before takes 10 to 30 seconds; this page fills in on its own.

Theo - t3․gg · @t3dotgg
Where viewers went back to watch this video again, from YouTube's public Most replayed graph, lined up with what was said at that moment.
Most replayed moment #1
3:005.4x the video's typical replay level
user ready, enterprise ready, and agent ready at soyv.link/workos. Let's read what Jared has to say. I'm actually pretty excited about this. I've only seen parts of the article so far. So, let's dig in. He opens with the disclosure that he's now part of anthropic, yada yada. Bunst started as a line for port of ESU's
Said at 2:54
Most replayed moment #2
4:123.4x the video's typical replay level
really nice. I should probably stop living in my cramped Oakland apartment after raising a bunch of money. and I yelled at him about it and convinced him to move here where he lives in a much nicer spot. Back in like 2023, I want to say he stayed in that apartment way longer than he should have. Silly aside,
Said at 4:05
Most replayed moment #3
41:292.7x the video's typical replay level
the get-go. No, it wasn't. they just needed to figure out how to do it. We would receive some negative publicity by proxy and we'd stop getting that regular donation. So when the anthropic acquisition finally happened, we at the Zigg Foundation breathed the sigh of relief. When the donation silently stopped, our bank
Said at 41:21
The graph counts replays. It does not show where viewers stopped watching.
Words
12,535
Runtime
1:00:06
Speaking pace
209wpm
Reading time
52min
209 words per minute, above the 201 75th percentile of 349 measured videos. That distribution comes from the 349-video hook study.
Opening (first 30 seconds)
Stop me if you heard this one before. Buns being ported from Zigg to Rust with Claude. Well, it was. And there's a blog post now. And I think it's fair to say that this blog post is the end of Zigg and the respect the community has. You might be thinking that's cuz this blog post tears Zigg apart and talks about how terrible it is. That is not what we're talking about at all. In fact, this blog post does a great service both in sharing the details of how Jared did this port, but also being super kind to Zigg and the
105 words, the words spoken in the first 30 seconds at 209 words per minute.
Free, no signup. See how the first 30 seconds hold attention, with rewrites.
Sentence shape
| Measure | This transcript |
|---|---|
| Sentences | 859 |
| Average words per sentence | 14.6 |
| Longest sentence | 63 words |
| Questions asked | 56 |
| Sentences containing a number | 70 |
Most used terms
Filler phrases
109 in total: like 77 · actually 13 · you know 6 · kind of 4 · literally 3 · right? 3 · uh 3.
A literal whole-word count of the same phrase list the Prepublish browser extension uses, so a phrase inside another word is not counted and a phrase used in its ordinary sense still is. It is a count and not a judgement.
Free, no account. See where attention is likely to drop, with a rewrite for each weak line. The free check shows the scores and the one issue costing the most. Or run it on the words above first.
Free · No login · See a sample audit first if you prefer.
What this transcript is
Every word below is the caption track YouTube publishes for this video, pulled from the video itself and reproduced unchanged. It is not Prepublish's writing, not a summary, and not a re-transcription: it is the video's own published captions. English captions, generated automatically by YouTube, in the video’s original language. Source: the video on YouTube. A channel that would rather this page did not exist can ask for its removal through the contact page, and it is removed.
Stop me if you heard this one before. Buns being ported from Zigg to Rust with Claude. Well, it was. And there's a blog post now. And I think it's fair to say that this blog post is the end of Zigg and the respect the community has. You might be thinking that's cuz this blog post tears Zigg apart and talks about how terrible it is. That is not what we're talking about at all. In fact, this blog post does a great service both in sharing the details of how Jared did this port, but also being super kind to Zigg and the Zig Foundation.
So, why is this the death of Zigg? You should ask Andrew Kelly because the blog post that's going to kill Zigg wasn't written by Jared or the Bun community. It was written by Andrew Kelly, the creator of Zigg itself. He crashed out so hard at Jared over him making this move that I ended up crashing out, too. I am refilming this intro for the third time because the first time I filmed it, I hadn't read the article yet.
And the second time I filmed it, I don't think I accentuated how absurd things were properly. This whole thing is stupid and it is absurd just how stupid it is. And as such, I had to split this video into two parts. Part one is the smart part where we go over how Jared did this insane million plus line port in just a week because he used the hell out of Claude and AI tools to make this happen. And I do genuinely believe there's a lot we can learn from this.
The other half is me going through Andrew Kelly's post and being the angriest I think I've ever been in a video because it is you want to see what it looks like to kill your own language, it's this blog post. Personally, I think the first half is the better half of this video. But if you just want to skip to the crash out, I understand. But I would politely request that you wait for a quick word from today's sponsor.
I'm going to be real with y'all. If you're working on something that other companies have built before, there's a very good chance you can vibe code it. Once the code is in the training data, it's able to be reproduced a lot, which is why something as trivial as O should be really easy to vibe code, right? Well, it is, but it's hard to get right. And importantly, it is changing really fast now, more so than ever. If you want to replicate a basic Google signin button that every site uses, cool, fine.
But what happens when you need to onboard enterprises? What happens when their agents want to be able to sign up themselves? At that point, I certainly hope you're using work OS because these guys understand what businesses really need. Not just the libraries, which obviously they have all of the frameworks, SDKs, and things that you would expect, but more importantly, what a business expects you to have ready for them when you go to negotiate a contract or trying to sign up their teams.
Or if their agents are trying to sign up for your service, you need a way for them to do that, too. And computer use is great and all, but filling out forms and dealing with captures is far from the best use of GPT56, especially in a world where agents want to sign up to lots of different things at the same time, and you don't want to be rate limited. If you set up an OMD for your service, then agents can register on the behalf of their users, which is a pattern I think is going to catch on huge in the not too distant future.
And I'm not the only one who feels this way. Cloudflare, Firecraw, and more have already partnered with Work OS to make this standard real. Make sure your OTH is user ready, enterprise ready, and agent ready at soyv.link/workos. Let's read what Jared has to say. I'm actually pretty excited about this. I've only seen parts of the article so far. So, let's dig in. He opens with the disclosure that he's now part of anthropic, yada yada.
Bunst started as a line for port of ESU's JavaScript and Typicer transpiler from Go to Zigg. He wrote his first line of Zigg in April of 2021. He bet on Zig after seeing the single page Zigg language reference on HackerNews and getting really excited about the low-level control and care for performance. From the start, Bun's scope was massive. There's going to be a JS, TS, and CSS transpiler, minifier, and bundler, npm compatible package manager just like testr runner, node and typescript compatible module resolutions, proper HTTP1 and websocket clients, as well as a Node.js full API implementation for things like FSN, Net, TLS, and dozens of other built-in modules.
The initial version of Bun was written by Jared in one year in a cramped Oakland apartment pre-LM in Zigg. Fun fact about this, I had Jared come over to my current apartment when I first moved here so we could hang out. And he was surprised by how close it was to the bun office. And we had a conversation about that and he realized, oh, I didn't realize I could just like live closer to the office. This seems really nice.
I should probably stop living in my cramped Oakland apartment after raising a bunch of money. and I yelled at him about it and convinced him to move here where he lives in a much nicer spot. Back in like 2023, I want to say he stayed in that apartment way longer than he should have. Silly aside, but like I have known this kid for a while. He just kind of sits and does the thing until somebody taps him on the shoulder and says, "Hey, this other thing next to it also matters." And his apartment is one of the silliest examples.
Back to the article. The default outcome for ambitiously scoped projects like Bun is joining the graveyard of dead side projects on a GitHub profile page. Don't call me out like that. Zigg made bun possible. I would never have been able to build this much in one year if it wasn't for Zigg. Nowadays, the Bun CLI gets over 22 million monthly downloads. Popular tools like Claude Code and Open Code bet on Bun as their runtime.
Open Code is moving to Node for what it's worth. Verscell, Railway, Digital Ocean, and more all have firstparty support for Bun. Bun Scope's also been a challenge for stability. Here's a small sample of bugs that they had to fix in the most recent release. A bunch of weird crashes, memory leaks, and out of bounds. We could have kept fixing these kinds of bugs one-off in perpetuity, but we owe it to our users counting on us to do better than that and systematically preventing these kinds of bugs from recurring.
So, what did they start doing? They patched the Zig compiler to add address sanitizer support. They ran their test suite with an address sanitizer checks on every commit. They shipped the Zig safety checked release safe builds on Windows. They fuzz buns runtime APIs 24/7 using fuzzy, which is a JS engine fuzzer used by the V8 and JS core teams. and they have a whole bunch of endto-end memory leak tests. Most projects don't go this far.
He says it's more than most do and I totally agree. So why don't you just be really smart and not make mistakes? Our bug fix list felt bad and I was tired of going to sleep worrying about crashes in bun. I don't blame Zigg for that. Other users of Zig don't have the bugs that he has in mixing GC with manually managed memory is an uncommon enough thing for software to need that no language really designs for it. We wouldn't have gotten this far if not for Zigg and I'll always be grateful.
Until very recently, programming language choice was a one-way decision for a project like Bun. Notice all of the nice things he's saying about Zigg. Remember that for the next thing we read, JS is a garbage collected language, and a modern JS engine like JSC or V8 have strict rules around exception handling and the garbage collector. Zigg like C doesn't memory manage for you. And this is a trade-off that for many projects is a great reason to use Zigg.
Z does not have constructors and destructors and most cleanup is expected to be written out explicitly at each call site with a deferrun correctly handling the lifetimes of garbage collected values and manually managed values has been a major source of stability issues most often small memory leaks and occasionally crashes. Every memory allocation has to be meticulously reviewed. Where do these bytes get freed? How do we ensure it only gets freed once?
Do we check for JS exceptions properly? Is the garbage collected pointer visible to the conservative stack scanner? Is this garbage collected memory or manually managed memory? Versibility issues. Knowing as early as possible is best. Buzzing happens after code is merged. CI happens when code is pushed. Runtime safety checks in address sanitizers happen when code is run, hopefully in development before you get to CI.
One common way to reduce this class of issues is to ensure cleanup code is always run exactly once for the code that needs it. Zigg's designed to be a simple language with no hidden control flows. So it prefers explicit defer keyword to run code at the end of a scope over C++'s implicit destructor or Russ implicit drop for zig code. When exactly should we be running this cleanup though? If we're passing the same pointer to many different functions, how do we know when it's no longer accessible and can be cleaned up?
How does it work when some functions need to continue to reference the memory after the functions called? Our current approach is a mix of lifetimes, reference counting, and paying really close attention. This is a a scary one. Many projects opt to answer these questions through style guides. Tiger Beetle's Tiger Style is an example in Zigg and Google's 31,000word C++ style guide is another. The challenge with style guides is enforcement.
How do you make sure that the style guide is followed? Historically, code reviews were the answer with best effort enforcements via llinters and static analyzers. Having a rigid style guide with clear ownership expectations explicitly spelled out the type system was a real option for Bun. Since Zig had no operator overloading, we would likely end up with a lot of code looking like this. Just a ton of types all over the place.
Normally with Zigg, you write much simpler, more elegant code, and you don't have to manually dreference and defer all over the place. And a lot of why people like Zigg is this crazy flexibility and simplicity they get out of it that goes away if you have to triple check every single thing you do. About 20% of their code is written in C++. So why not consider that? Things like the JavaScript core which is the engine that powers both Safari and Bun.
U Web Sockets and Usockets are both phenomenal libraries which they use for HTTP and the websocket server. IshPac and isquick which are built on top of C++ as well. Boring SSL, Google's open SSL fork and SQLite. C++ instead of ZIG would be a reasonable choice for bun. We would get constructors and destructors. We could delete lots of external C wrapper code, but we would still be reliant on style guides and forced through code review.
And even with ASIN, memory corruption and memory leaks would still happen. So why Rust? And I will tell you as a friend of Jared, Rust is far from his favorite language. He made this as the right choice, not his preferred choice. A lot of the bugs he was talking about before are from use after free, double freeze, and forget to freeze in error paths. In safe rust, these are compiler errors and they are guarded with cleanups and drop.
Compiler errors are better feedback loops than style guides. I absolutely agree. And now that we have agents writing our code, getting that feedback early through a compiler is really useful. Historically, rewrites are a terrible idea. Yes, everything he is saying is so agreeable here, I'm amazed anyone could be mad as they read this article. Excluding comments, bun is 500,000 lines of Zigg. A rewrite in another language would take a small team of engineers a full year.
It would mean freezing bug fixes, security fixes, or feature development for that time. The least risky approach to getting something shippable would be a mechanical port from Zigg to Rust with a minimal number of behavioral changes using the exact same test suite we already use for testing Bun. Fortunately, Bun's test suite's already written in Typescript, which means it doesn't depend on the runtime's programming language.
A year of no userfacing impact is not a realistic option they could consider. So, enforcement through code style to fix stability issues was their best bet, and it was their plan when they added the Rust inspired smart pointers to Bun's codebase. But honestly, Jared didn't want to do it. Homegrown smart pointers offer worse ergonomics than Rust and have none of the guarantees. What if instead he spent a week testing if Anthropic's new model could rewrite bun in Rust?
He didn't expect it to work. A few days in, a high percentage of the test suite started passing and he saw how much the new Rust code matched up with the original Zig codebase. His opinion went from this is worth trying to I'm going to merge this. I watched this happen real time. I was in a group chat with him. I did not think he would bite the bullet and he did. Claude, rewrite bun and rust. There's a lot of ways to do a terrible job of this.
For example, prompting Claude to just rewrite it. Don't make mistakes. Definitely not what I did with Typescript Go and Rust video probably out by the time you're seeing this. and then praying it would work is not what he did. Think about how a person would do this. The first big question is incremental rewrite or everything at once. Since he's already done ports like this, like ES build from Go to Zigg, he knew that everything all at once was better.
An incremental rewrite adds temporary code that you hope gets deleted eventually. It'll be painful in the short and medium term and probably never get deleted if I'm being real. The second big question is how how do we keep bun and rust the same bun as before with the same architecture performance and feature set while also getting the language features of rust like the borrow checker. How do we ensure the team can still maintain it after the rewrite?
Their plan was to do the rewrite that makes it look like they transpiled the zig code to rust. They can gradually refactor it to reduce unsafe usage and look more like idiomatic rust after the 1.4 release ships. There's only two big questions left. Loops that write and review code. A lot of day-to-day engineering work as software engineers can be oversimplified into a loop. You task and while there is stuff on the to-do list, you get a result from calling the task.
Then you wait for feedback. promise.all review result review result. Then you apply the feedback to the result. Then you do it again and again and again forever. A task has some context associated with it like a Jira ticket, a GitHub issue, etc. The result is the code you wrote to fix it. Code reviewers review the changes to check for regressions and correctness and then you address the feedback. He rewrote bun and rust using about 50 dynamic workflows in cloud code.
All run continuously over the course of 11 days. Each dynamic workflow was a loop like this. A workflow for generating a porting guide mapping zig patterns and types to rust patterns and types. Mechanically porting everyzig file to a rs file matching the porting.mmd and lifetimes.tsv files. Fixing every crates compile errors. Get subcomands like bun test and bun build to work. Get every test and bun's entire suite to pass.
And several large refactors and cleanup passes. These are the things that make the dynamic workflows in cloud code so powerful. If you haven't seen my video called the good things about cloud code, watch it cuz I go in depth on workflows and how cool they are there. For most of those 11 days, as well as afterwards, he monitored the workflows, manually reading the outputs to check for issues and bugs and prompting Claude to edit the loop to fix things.
How do you review a PR with 1 million lines added? How do you start to build the confidence needed to responsibly merge large quantities of LLM authored code? You do it with a language independent test suite with a million assertions, adversarial code review, and then when something goes wrong, you fix the process that generates the code instead of just handfixing the code itself. They did a bunch of adversarial review as well, always splitting the context windows because you don't want to have the knowledge of how it was built in your brain.
You just want to check it. This is another one of the things that dynamic workflows do well is you can cut off that context window and set up something else with a different one to go explore by itself. Super powerful tactic. So you'd have one implement and then two or more adversarial reviewers per implement. The reviewer's only job was to find bugs and reasons why the code doesn't work. The implement doesn't review.
The reviewer doesn't implement. Yep, I do this a lot, too. The one thing he doesn't have which makes it even more impressive that this worked is I get much better reviews when I have different reviewers using different language models and families of models from different labs. So having one reviewer on codeex and one on claude meaningfully increases the quality of the responses. You had to do something big and expensive.
It saves a lot of time and money to derisk it first. And then he discusses how he prepped. He started by talking for 3 hours with Claude about how to map the patterns from the Zig code base closely to Rust. Claude serialized the discussion into the porting MD document which somehow ended up on hacker news. After fighting GitHub for 15 minutes, I found the document, the ZGS porting guide. It has the ground rules for how it wants to structure the files, not inventing crate layouts.
Instead, use the ones that they already set up. Don't use all of these different packages because bun owns his event loop ancest calls. No async, yada yada, and the map to all the different crates, all the allocators, all this type of like how to map things. If anybody saw this port and assumed it was just like a blind go port, make no mistakes, I would implore they read this and see how much time and thought Jared put into doing this port.
I know I hadn't done that before making my first video and now I feel a little bad about it because this is a great document with a lot of useful context on how hard he worked to do this right. He did a bunch of adversarial reviews on these guide files and as he says also manually read over them. I love this be called out but it's important. They did a trial run before asking Claude to translate all 1448.zig files to RS files.
He started with just three. For each of the three files, one implement wrote the new Rust file. Two reviewed the changes and made sure the behavior in the file matched and then it followed the porting MD and lifetimes MD files. And then one fixer applied the suggestions. He wanted to make sure he did this right. So he started with just a handful of files. I believe three he said here. And he noticed that all of the claude instances were stepping on each other.
And if you put each Claude in a separate work tree, he would run out of disk space because Bun's git repo is too big. So instead, he asked Claude to edit the workflow and instruct Claude to never run git stash or get reset or any git command that doesn't commit a specific file at once. No cargo either, no slow commands at all. Jar and I had a long talk about this bit. I think the future is your tool calls executing on another machine so they don't step on each other.
He thinks you need to prompt around it and he prompted around it here. I think this idea of agents stepping on each other is going to be one of the next arcs we go through in the like agentic coding world. How do we solve this problem? And I would guess the different labs will solve it entirely differently. And now after all of that and breaking up the workflows more, it finally started to really write the code. At peak, Claude was writing 1300 lines of code per minute.
Get on this level, Gary Tan. You're not even close. Is this the first real 100x engineer? It's insane, but it worked. 11 days and 652 commits. Notice the egos assistant timing. He forgot to increase the default IOPS on the EC2 instance that this was running on. So one slow GP command was all it took to freeze disc reads and writes for minutes. Yep, I've even had that problem. And then he treated the compiler errors as a work cue.
Another very interesting strategy. When crate by crate, the trickiest class was the cyclical dependencies because it just Rust does not like that type of thing. Also, Rust compiles really slowly. So instead of having just one crate or package like he did with Zig, he wanted to split the code base into a 100 separate crates so the Rust code could compile faster, but it needed to avoid cyclical dependencies while minimizing changes compared to the Zig code.
His PR to do this immediately before starting the Rust rewrite was insufficient. Instead of starting over, he wrote another workflow to classify where the code with cyclical dependencies should go and write it all down. Then another workflow to actually do that work. This is the loop engineering [ __ ] It sounds insane, but when you find the problems and they are at this scale, setting up a system to allow the agents to prevent it or fix it is a new type of engineering.
And it's cool to see it in practice and written up as well as this is. There is no piece of like media out there that does this good of a job of explaining something this chaotic and new. And it's a weird artifact. Like I bet this blog post will be referenced in five years for very interesting reasons as the start of this shift. It's super cool and I get why he took so much time to rewrite it. Rewrite is not the right word.
Writing this blog post. I'm sure he didn't rewrite this a bunch. And I know he didn't have Claude write a lot of it. This is a great Claudism here, too. I've had Claude write longass comments justifying things that it thinks are okay. And he told it specifically, if you need a paragraph long comment to justify why the workound's okay, the code is wrong. Fix the code. I like this a lot. I'm going to steal this. Specifically, he had to do this cuz Claude was interpreting let's get all the CR to compile as stub out the functions with compilation errors.
Claude also started adding suspiciously long explanatory comments to document workarounds. So he added that rule specifically for that. And then the smoke tests models love saying smoke tests. Once cargo check passed, getting it to compile and run was next. It had linker errors and then it panicked immediately on start. So then you had to get it to run the bun test like helper. Once that worked, they could start actually running the tests.
He had a new loop for that. It kept going. A lot of the tests had memory leaks which is crazy because Rust but again line for line it's using a lot of uh unsafe not going to have the benefits immediately. He also noticed that the tests were exhausting the maximum number of TCP sockets on the machine. Tests were reading and writing gigabytes of stuff to disk and tests were spawning 10,000 plus processes. I had this problem too with a big port I was working I hinted at it earlier.
I was working on porting Go to Rust inspired by what he did here and I had the processes spin up and fail and memory leak and crash the machine so many times that I had to build a lot around that too. As he said, he needed something stronger than please. So we used systemd run with croups to limit memory and CPU usage and isolate PIDs by their namespace. The machine ran out of disk space and crashed several times regardless.
Yep. And then they got the test suite passing in CI. 2 days after the first run, the failing list was down from 972 test files to 23. A day and a half after that, Linux went fully green, and for the first time, it felt like this Rust rewrite was actually going to work. That is insane. Just crazy. The rest of the time leading up to merging, it was straightforward. A workflow that looped on fixing CI test failures for each platform until there were no more test failures.
Several workflows for Windows related cleanup to ddup code, to reduce unsafe usage, and to generally clean up some stuff. Then he merged it. Once 100% of the test suite passed in CI on all platforms and he manually verified the tests were actually running and not being skipped. He ran a bunch of commands locally to test things. Then he pressed merge. Merging into main isn't a versioned release. This is another big thing that I've been emphasizing.
Maine shouldn't be prod anymore because merging is too useful to have it also be deploy. I have an action that you can manually trigger in my projects that will take what's on main and move it to a prod branch and then trigger a deploy manually rather than having main autodeploy because then I can more freely merge to main if things break on staging or when I manually build the package revert change etc. So the merge to main wasn't a release it was confidence to start really making sure this could happen.
This ended up being over 6,500 commits and 1.78 million lines written or rewritten. As I hinted at at the start, this was an insane number of tokens premerge. 5.9 billion uncashed inputs, 690 million inputs, and 72 billion cached input reads, which would have been 165,000 if you paid API price. Crazy to have this number public. And I know it seems insane because it is, but there's a few things we need to recall. First, if this was done by humans, it would have been three engineers over a year.
And that year isn't just, oh, you lost three engineers for that time. It's all other development has to kind of be paused or mirrored, which makes it either more expensive or unrealistic. Instead, it happened in just a few days. So if you assume all three engines made 200k a year and it would have taken three years, this is still cheaper because it's 165k in a week of edge time instead of 200k * 3 in a year of time. But there's two other layers I want to dig into here because the first and arguably most important is that this just wouldn't have happened.
If this would have taken a year, they wouldn't do it because there's too much other [ __ ] to do. as a shortterm experiment, it is absolutely worth it just to to know if it can happen and then if it does to go further with it. So this isn't like 600k versus 165. This is it didn't happen versus 165k. But the other layer I want to call out is that this is $165,000 right now. This is the most expensive it'll ever be. This level of intelligence is already accessible via cheaper models because 56 soul just dropped and it's way cheaper.
And over time, Anthropic and other labs will release models that are this smart or smarter for this price or lower. So, the prices are going to keep getting better. And when you factor in the margins that Anthropic already spikes into their product, between 50 and 80% from recent rumors, this number is really not that big in practice. So, yeah, 165K, big scary number to have on the front. It's going to get cheaper from here.
It wouldn't have existed otherwise. and it was subsidized to all hell by the fact that it was anthropic and this yeah this just wouldn't have happened otherwise. So people who think this number means this that AI engineering is doomed or whatever be [ __ ] realistic. The idea that you can spend under 200k to port a project as big and important as bun to an entirely different language is a thing that wouldn't have even been fathomable 6 months ago.
It is unbelievable how fast the stuff is moving. The most wrong I've ever been is when I said we hit a ceiling. We are blasting through any ceilings I thought were there faster than I could have imagined. And we're already getting dumb comments. How can we say prices get better? If anything like this continues, it will get more expensive. No. Again, use your brain. When new models come out, they are either the same price or more expensive because they are smarter.
At any given intelligence level, at any given capability level, the price drops constantly. So again, could a smarter model come out that would be more expensive for this? Perhaps, but you don't need a smarter model. Fable 5 was able to do it at this price. So as new models come out that are just as smart and cheaper, you can still do this for a cheaper price. Will there be a new smarter model you want to use for bigger things?
Perhaps. Will that model be more expensive? Probably. But again, that doesn't mean that what we're doing today gets more expensive later. If you have a task you can do today with an LLM and then the same task with the same output quality next year, on average that gets five times cheaper year-over-year. So yeah, I I've seen so much dumb commentary around this number that it's almost enough for me to crash out on just that.
But the dumb things that the Zigg guy said are stupider. So we're going to go there right after. I like how he describes all of this as well. So I'll read a bit more of what he said. If he had three engineers working on this for a year, they wouldn't have been able to improve node compatibility, fix bugs, fix security issues, or implement new features, they never would have been able to sacrifice that. The realistic alternative was to do nothing and just keep fixing bugs at the top of this post forever.
This is the bleeding edge of what's possible today. Jared used a pre-release version of Claude Fable 5, a mythos class model. He also used Cloud Code's new dynamic workflows, which would keep 64 Clouds running for 11 days. He would have had to handwrite his own harness to pull this off otherwise. [ __ ] didn't have to. This is why it's one of the things I've been so positive about quad code for. It's a really cool thing.
Since merging the Rustport, they've done 11 rounds of security review with the Claude Code Security, which is the white labeled whitelisted special Claude code that can do security stuff, probably using Methos. They've had a 24/7 coverage guided fuzzing on every parser in bun. Only 4% of the code is sitting inside of unsafe blocks. I called them out for the unsafe thing before, but the important piece is that 78% of the blocks are literally just one line, usually a pointer that came from C++ or a call into a C library.
The number should go down over time as they refactor from a faithful Zigg port over to idiomatic Rust, but they're going to have to keep using the C and C++ libraries like JSC. So, there will always have to be unsafes, unlike pure Rust apps. The rewrite only introduced 19 regressions, which is crazy. He says he doesn't say only here, but I will. And most of the regressions came from code that's syntactically identical in both languages but semantically different.
He has some cool examples here. Link in the description if you want to see all of these syntax things. But we're a vibe coding channel now. We don't read syntax. Joking, but I want to get into the other fun details here. Specifically, the improvements. He fixed 128 bugs that are still reproducible in the latest non Rust version back in 1314, which is the last Zigg one. They reduced memory usage meaningfully because of the cleaned up uh memory utilization.
They fixed every instrumentable memory leak, which is kind of crazy. In bun 1314, this build process would slowly leak. So when you ran up to 2,000 builds, it would have almost 7 gigs of memory leaked. And now it it leaks a little bit, but way way less aggressively. It would only have 600 megs, a tenth as much RAM being used. The binary is a bit smaller, too, which is cool. Now it's 20% smaller on Linux and Windows as a result of other changes they made.
It's two to 5% faster which is pretty cool and it's already been launched in production by plenty of things including cloud code. Prisma using it with Prisma compute and I believe those are the only two examples they have here but more coming very soon. The team says it feels similar to the zig codebase. They show syntax examples so it hasn't been that bad for them. Awesome. With one engineer using fable and closely monitoring cloud code we went from a start to 100% of the test suite passing on all platforms in 11 days.
One engineer can do a lot more today than they could a year ago. I absolutely agree. This is an awesome write out up. Shout out to Jared. I am sure nobody has anything stupid or rude to say about this. How could you possibly be dumb about something this well written? This is going to be fun. I have heard mixed things about Andrew Kelly and I don't like calling out individuals. When you call out my friends, I'm going to read what you have to say and if I have to do it publicly, I will.
So, here are Andrew Kelly's thoughts on the bun rust rewrite. remember creator of Zigg, he has opinions. Let's see what he has to say. Bun was almost inarguably the biggest Zigg project and also a pretty heavy contributor to Zigg both financially and code-wise. And they've had a bit of a rift. I personally know Jared put a lot of work into trying to form a proper Zigg community in SF and even like hosting events and things.
So, let's read what he has to say. I'm already getting mad just skimming. When Jared joined the Zig community about 5 years ago, I described him as someone who had strong beginner energy. Referring to Jared Sumar, one of the best engineers I've ever known, as a beginner or having beginner energy in your first sentence sets up for quite a read, Andrew, excited for you to call me a JavaScript soy boy that has no idea what he's doing after I give my thoughts.
Back to the article. He moved fast and tried a lot of different stuff, jumping head first into problems that he was not yet equipped to solve, leading to mediocre outcomes in terms of engineering, but learning a whole heck of a lot in the process. I see it as quite a healthy attitude, particularly for young people and students. This is the best way to level up and learn new things. This is such a pathetic attempt to look nice as you belittle.
We'll see where this goes. You know, I would think that the low-level engineering guy would want to talk about the engineering and not this. He's trying to make Jared sound like he just learned how to code, not like a very experienced engineer that we all look up to. As Jared focuses efforts on Bun, he began to attract attention. JS being the most popular programming language in the world, there are a lot of potential eyeballs on a promising new tool chain.
The attention could have been harnessed in a few different ways. For example, he could have easily achieved a solid living via crowdfunding, even for San Francisco standards. You guys have any good examples of popular things that are crowdfunded? Because I have a few. Here's E18E, a very beloved thing in the JavaScript ecosystem. It's the ecosystem performance group. These guys look through all of the packages we use and find dead or undermaintained dependencies in our tool chain.
They are so goddamn important and I have poured quite a bit of money into supporting them because again they need to be successful. They need to do well. For reference, they have raised a total of $20,000. $20,000 total from sponsorships, crowdfunding, and individuals donating, including individuals like the Chrome team donating 10 grand and myself donating five. And this is one of the most important things in the JS ecosystem. 20 grand.
I'm sure that's enough to fund the SF standards. [ __ ] delusional. Absolutely delusional. This is somebody who doesn't understand how little money there is in donating to open source [ __ ] And now we get to where this starts being very dirty. Having graduated from the Teal Fellowship School of Thought rather than university, he was essentially groomed from a young age into uncritically embracing the Silicon Valley mindset. and he took venture capital.
I wonder if somebody has a bone to pick. I can say pretty confidently that everyone who is currently betting on Zigg should reconsider because the guy who makes your language might crash the [ __ ] out at you for no good reason. From the beginning, Jared was appreciative towards the Zigg project. He credited Zigg on the Bun website for the project's performance achievements. He sent monthly donations to the Zig software foundation that amounted to 60 grand per year.
Remember that thing I said about donations just a minute ago? The total budget for E18E, by the way, link in the description. You should donate to these guys. They're really important. Was a third of how much Bun was donating just to Zigg. So, the Zigg Foundation was getting three times more money than one of the most important JavaScript foundations I can think of because he raised VC money to use for things like hiring engineers and donating to the language foundation.
According to our friend Andrew, he didn't have to do either of those things, but he chose to, and it was pretty cool of him. Even in his blog post that's being referenced here about the rewrite, he expresses what is perceived to be sincere gratitude towards the Zigg project. It is sincere. However, once Bun became a VC backed startup, he started racing towards the finish line. This is so obvious that you do not know Jared at all or you're willfully trying to misrepresent him that it's crazy.
Jared's whole thing from day zero, from when I first met him, was pushing to 11, going way harder and way further than any human should, contributing on GitHub so much that the one day he didn't have any commits was suspicious, got called out by Dax, and turned out to be the day he was discussing the acquisition. This is a person who doesn't know how to not race. He's either not moving, which means he's asleep, or he is going to like unbelievable speeds to get wherever he is trying to.
Trying to accuse him of doing this cuz he's VCbacked instead of him just being like this means you don't know jack [ __ ] [ __ ] about Jared and you better shut your goddamn mouth. Now, instead of working on free and open- source projects, learning and growing with the community, Jared was running a business. No, this is just how he does things. Remember earlier when you said that he moves fast and tries a lot of different stuff, jumping head first into problems?
Seems like you know this trait of his and instead of acknowledging this trait of his, you're trying to dishonestly represent him as other because he was successful and raised money. You're mad at him for doing what it took to be successful in the space because he will do whatever it takes to make his [ __ ] happen because that's how Jared is. It was at the point where he suddenly became a manager that the beginner energy started to hit differently.
It's one thing to choose a poor work life balance, a different thing entirely to demand it of others. This is him [ __ ] on the Jared post where he said that like working at Bun isn't going to be a nice 40hour work week with long vacations that he was grinding and he wanted others that would grind with him. And here I'll say a few things. First and foremost, as much as I love Jared, he isn't a great manager. I talked to a lot of his team and we would have to find ways to convince Jared of important things that varied wildly in our implementation methods.
I have had videos I put out about Bun that weren't really because I wanted to do a video on Bun. They were attempts to help the team leverage important points against Jared so the business would be more successful and Bun would be more likely to win. Sometimes you have to engineer a person like Jared into the right box to do the right thing. And that's just how it is. I know I am this way too. I know my team has a weekly meeting where they all talk without me on how they can sigh up me into doing the things I'm supposed to do.
That's just reality. Another part of this reality is that Jared is really hard to work with if you take a lot of breaks. You could take a weekend off and when you come back the project's been rewritten in Rust. Like that's just how he is. And if you're not trying to work at that level, you shouldn't. And rather than pretend or build a workplace he doesn't want to work in, he just said upfront what it's like. And if you think this is a unique to bun thing that a team formed by a person who works 80 to 90 hours a week wants people who work at least 50 hours a week.
If you think that is crazy, there are much crazier things I would have to show you in the city, including but not limited to someone coming for a oneweek trial, staying at the office, and then not being allowed to leave at risk of losing their dream job for 6 months to a year living in the office on an air mattress. I had other examples, but honestly, I think I'm just going to leave it at that because I don't want to get in too much trouble.
And the amount of these types of things I know of is insane. Jared was one of the better people to work for. His employees all love him, even when they are frustrated with him and his admittedly narrowfocused lockin mindset. But the godamn guy was transparent about this, and I don't think it's fair to fault him for it. You even quoted him here, and I don't think this quote's that bad, especially in retrospect. oven, which is the company that makes bun, is going to be a grind, especially the first nine months or so.
If work life balance means a lot of time spent not working, this probably isn't a good fit. Entirely realistic. Fun fact, people talk to each other. You're right about that, Andrew. And some of those people have an audience like I do. And now they're all going to talk about you and how much of a [ __ ] you are. He talked to those who interviewed for a job at Oven. He talked to people who worked there. Those people talked to each other.
Everybody talked to everybody. The grape vine was large and healthy and full of juicy grapes. And all of those grapes contained the juice of the same message. Jared was a stinky manager. Poor communication, unrealistic expectations, low empathy, no experience. Just a total shitow from an employment perspective. If you think that is a total shitow, you have never had a manager, much less a bad one. Jared was far from a great manager.
I have said as much. I have told him as much. I have said as much here. But you don't join Jared's team expecting a great manager. You join Jared's team expecting a highly motivated, incredibly talented person that is next to you as you do crazy [ __ ] and get pushed harder and harder. It's also worth noting very few people left Oven at any point other than the acquisition, which inherently came with like a slight trim.
That is how it is. All the people who didn't make it over with that got really really generous severance. Consequently, although Zigg community members were eager to find work coding in Zigg on the clock, most of the talent pool steered clear of Oven and Bun. Huh. I wonder if that's because Jared is a really bad manager, as you say. Or perhaps the people who you think of as the Zigg community are the people that you haven't scared off who are all [ __ ] like yourself.
Sorry for getting so heated about this, but this is the worst thing I've read in a long ass time. Apparently, a rift between Zigg and Jared started to widen. His singular focus on productivity and his startup's exit strategy was increasingly at odds with his long-term vision for the Zigg project. He wasn't looking for an exit strategy, [ __ ] He was trying to make Bun production ready. I'm sorry that not everybody is making their language to toy around and write [ __ ] posts online for.
And some people made the mistake of trying to use your language for the real [ __ ] world. Lesson learned. If anyone's building anything real, they probably shouldn't use Zigg because if you ever want your thing to be used in businesses by real people, you're just trying to find an exit strategy. Jesus [ __ ] Christ. I remember he kept nagging me to drop my other priorities and work on a language server protocol implementation and a VS Code integration while I had bigger plans.
What were your bigger plans that are more important than your language working and providing feedback? Are you joking? This dude's never worked before. Yep. I cannot imagine this guy's ever had a real job. This is the most embarrassing thing I've ever seen. Notice how he hasn't said a single technical thing yet. Not one. Apparently, we're finally about to. After all of that, we're going to start talking about code quality.
The Zigg team regularly checks in on our users projects. We read source code to find out how the language is affecting users. We test changes to see how problematic breakage might be. And we check for performance regressions. We became increasingly horrified at the programming practices we saw in the bun code bases. Hacks on top of hacks. Abuse of assertions. This is an article he linked from another dev about how asserts are bad.
This is one of those like personal back and forth. I know some really smart engineers that think asserts are awesome. We should use them for everything. If I recall, Primagen leans that direction. He really likes asserts than other engineers who absolutely hate them. But if you're citing that as abuse when it's clearly a difference in opinion, [ __ ] yourself. Most of all, recklessly speeding past feature after feature with very little time taken for reflection and elimination of bugs and technical debt.
Jared was already writing slop well before he had access to LLMs. Cheers, Jared. Makes the two of us. Now, it's not our business to police what our users do. But you may have noticed people screaming in our faces about memory safety constantly. You can imagine how we might want to put some social distance between ourselves and a project whose irresponsible software engineering practices invite the exact kind of criticism that people are eager to level.
We made futile attempts to guide them towards better programming practices. There were a few exceptional heroes who did their very best at a dysfunctional company. You know who you are, but you can't stop a rising tide. By this time, we all felt at the Zig Foundation that Bun was a net liability, and this was before Robo Bun became the number one contributor. Robo Bun is the bot that Jared made using Claude. This is just a hate piece.
Along with the discomfort of the publicly presumed poster child for Zig's programming language, actually being the prime example of how not to write Zigg code, at some point they would sell out. Let's be honest, the vague sell some cloud something business plan was a farce from the get-go. No, it wasn't. they just needed to figure out how to do it. We would receive some negative publicity by proxy and we'd stop getting that regular donation.
So when the anthropic acquisition finally happened, we at the Zigg Foundation breathed the sigh of relief. When the donation silently stopped, our bank account was ready for it. Probably because you somehow conned [ __ ] Mitchell to donating $400,000 to your [ __ ] foundation. I hope he reconsiders in the future. The rewriting was on the wall. Even within a couple days, we already suspected a Rust rewrite was coming and we were rooting for it.
The acquisition by a large AI company was a burden because even the indirect connection of Claude being written and bun being written in Zigg caused not only a surge of driveby slop contributions, but also an influx of tasteless AI enthusiasts into the Zigg communities who had to be informed that its antisocial to paste LLM outputs into forum posts. For a moment, I feared Zigg's identity would become known colloquially as a programming language associated with AI.
This is a guy that hates having users. He wants to run around in circles with nobody touching his [ __ ] and gets mad at you for using them. This is the end of the [ __ ] language. I've never seen anything like this in my life. When Jared announced the Rust rewrite, we were ecstatic. It seemed too good to be true. I have to admit, I didn't think the technology was there to pull off this stunt. This stunt. But he did it.
And now I'm metaphorically sipping delicious tea from a mug that says it tastes like it's not my problem anymore. Seems like you're a little salty, [ __ ] The blog post is expertly written. It's almost like the marketing department of a trillion dollar company has a lot of money writing on it. No, Jared is just a slow writer and he put a lot of time into writing it. He has some bones to pick. What a surprise. The the king of picking bones has a bone to pick.
It's a dichotomy being presented here where you have to either choose a style guide or a programming language feature in order to avoid bugs. The slight of hand misdirects the reader away from the main way bugs are eliminated by dedicating engineering resources to it. Yeah, I'm sure for you going from three unpaid volunteers to four is not a big deal. But for a realworld project, which I'm sure you're not super familiar with, things are a little different, Andrew.
You're going to be belittling I will too. You sound like somebody who's never worked on a team for longer than a week because they can't stand working with you. And when you get [ __ ] fired, the response you have is, "Well, they just didn't see my genius." [ __ ] insane. I hate that you and I are both on the same side with the Codeberg things. I love Codeberg, and I really hope they don't get stuck dealing with your [ __ ] Quite simply, Tiger Beetle put in the time to find and eliminate bugs.
They made an effort to maintain a healthy relationship with the Zig Foundation, and Bun did neither of those things. Are we talking about the same blog post? talking about the same bun, the one that donated a bunch of money to you that glazed the [ __ ] out of you at the top of the article and also showed all the bugs they are currently fixing. Jared has personally fixed more bugs in any given year than you have in your goddamn life.
The argument for shipping all the million lines of unreed code is that the test suite is good enough to catch everything. Then why are you saying you have so many annoying bugs in the Zig codebase? Okay, I have a lesson for you, Andrew. It is lesson time. We get to learn together. There are many types of bugs. I know this is crazy to you because you only think of two bugs. You think of bugs in software and your users, which to you are also insects.
But to the rest of the world, there's lots of different ways software can break. Sometimes it breaks in a way that is verifiable via a test. Other times it breaks in ways that are harder to verify, like in a longunning process, the memory leaks, which you wouldn't understand because you're not using your code to do anything [ __ ] real at all. Meanwhile, we have real production servers running Bun for months at a time that actually get hurt by these memory leaks.
You seem to think if a team only hires extraordinary engineers, which you claim you have a monopoly of with your community, insane problem for you, but for the rest of the world, I guess we just can't hire these great of engineers. Hm. Wouldn't it be cool if there were tools that could catch some of these other types of bugs? like a I don't know maybe a compiler with a server protocol that would communicate to the person or the tool you're writing the code with that maybe there's a bug here or crazy just just hear me out.
What if there was a way to check what memory was being used and what was using it? Like when a function borrows the memory and puts it somewhere else and does something. What if we could check that? You know, like a a borrow checker. I know that tests are great, but maybe there are some things that a traditional unit test can't quite find. Oh, what's that on my screen? A language empowering everyone to build reliable and efficient software.
Oh, it has a type system and an ownership model that guarantees memory safety and thread safety. The problems that you can't really unit test for, as you seem to think you can, you [ __ ] imbecile. How am I, the JavaScript soy boy, more qualified than you at very basic testing practices for low-level languages? I know why. Because I'm not here to complain about somebody I'm mad about. I'm here trying to educate my audience on software development.
You [ __ ] imbecile. You child. Do you see how many people just dropped bangers in my chat as I went on this rant? Cuz you're so [ __ ] God. I I knew this was going to be bad. I did not expect he was going to say that the unit tests in bun verifying behavior are enough to handle any memory errors. Are you [ __ ] kidding? I don't know if I can finish this. I'm so pissed off. What happened to the test suite being sufficient to catch everything?
It's not sufficient to catch bugs in the Zig code, but it is to catch bugs in a million lines of unreed slop. This is the most damning thing I've ever seen a language author write. This is him outright admitting he cannot fathom how Rust has guarantees that Zigg doesn't. He genuinely believes that unit tests are all it takes to prevent memory leaks. And that's why Zig's a terrible language because it's creator doesn't understand [ __ ] memory, which is unbelievable.
I love this. He claims that the performance improvements are due to LTO, which Zigg supports, and it was enabled before by default, but they turned it off because of LLVM bugs. All of which also affect Rust. We probably tried to tell you to try enabling it and you didn't listen. I love the probably tried [ __ ] The post implies you were diligently fuzzing the Zig code. While during our calls, the bun team told us that they were not fuzzing anything.
Didn't you just say the calls stopped? Pretty sure you did. Pretty sure you said that you guys stopped talking and that you drifted so you wouldn't know this. The bun post outlines a bunch of engineering work done to reduce binary size to better make the case that bun is better in Rust. No, it doesn't. It calls out these small benefits, the fact they saw more and they went and took them. It wasn't used to justify this.
If I was to reach like this for your article, I could say that this is an attempt to get Jared killed in the street. Obviously, you're not calling for that. But when you make absolutely insane generalizations and then a bunch of reaches on top, you can say stupid [ __ ] You've done a lot of that here. I think this specifically the binary size section of the blog post is precisely why it took so long for the blog post to come out. you were doing engineering work that you should have done in the Zigg codebase since the beginning.
This is like the whole article is full of absurd speculative reaches. This sentence is just [ __ ] stupid. Obviously, this is not the case. You can check the commit history to see this is not the case. This is just a desperate attempt to pretend Jared is acting in bad faith when he has been beyond transparent about all of this. Apparently, Andrew was mad at him for using comp time so much and even made a time report thing to try and get him to stop.
Andrew noticed that Jared neglected to mention compilation speed. No, he didn't. He specifically talked about how bad the compile times were and how he had to break up the project differently in order to make it work reliably at all. The Zig compiler is about 600,000 lines of code, roughly the same size as Bun before the rewrite, and he's clocking 16 seconds to build from scratch with a clean cache. Yeah, awesome. You do understand that Jared's an engineer, right? that he can look at these things and make a decision.
Do you understand how crazy it is that he traded the super fast compile times from Zigg for the god awful ones for Rust as well as having to rearchitect the project to have hundreds of crates instead of just one which he preferred. You should take this as a lesson, Andrew. This [ __ ] Jared was so frustrated with his experience working in Zigg that he ate all of these real costs that you're discussing because again, let's be real here, your language sucked so hard that the benefits didn't matter to him enough.
He wanted those things. That's why he picked your language. That's why he complimented Zigg so much at the start of his post. But because you're still acting like no one uses your goddamn language, he couldn't stick with it. So, he had to switch to a language that has these horrible compilation times. And he admitted it. He's not hiding any of this. You need to learn from this. Like, if like like let's be real here. If I had a kid and I would offer to drive them to school and they said, "No, fine.
I'll walk and the school's 20 miles away." That doesn't mean the kid is stupid. Okay? Might. But it also probably means I screwed up some amount that my kid doesn't want to get in the car with me and will instead go through that insane amount of pain because they would rather deal with that than get in my [ __ ] car. That is what you're doing here. You are mad at the kid for not wanting to be near you because you [ __ ] suck.
Oh, the kid's so stupid for walking to school. No, you're a shitty parent. What did we learn here today? The main issue here was the relationship breakdown. as he's outlined above. Nothing to do with programming language features. Of course, I don't expect the blog post to admit that. Really, it was well played. I'll read his last words here, but I'm going to go on one last tangent cuz remember, I'm a friend of Jared's.
We've talked about a lot of different things, including his choice of languages. He genuinely loves Zigg. He loves it so much that he worked his [ __ ] ass off to try and bridge this relationship to try and help the Zig community form a real presence in SF and be pleasant to work with. He only brought up these issues once or twice with me ever. He's brought up a lot of other things a lot more often. I'm pretty sure I've talked about bunnies with Jared more than I've talked about the Zigg Foundation.
But in the little bit we talked, the tone I got from him was slight disappointment. Like he genuinely felt sad that the Zigg Foundation was being unnecessarily hostile. And he didn't even bring it up. Like I had to bring it up and he was like, "Yeah, I don't know what's up there. It sucks cuz I love the language and I love them and we donate, but they're just like hostile towards us and I don't get it." That was his take on the whole thing over the last three plus years I've talked about it with him.
I have heard more about this relationship through this article than I've heard from Jared over three years. Jared was very kind and political about this, which is crazy because you think he's this terrible manager that's super inconsiderate. You are projecting all of your own bad behavior in this article in the most absurd way. And we're about to point out the absurd level as we wrap it up. You only thank him for the donations, not for any of the other things he did or the absurd levels of effort he put in and the promotion he gave Zigg.
I learned about this language through Jared's work and now I will never touch it thanks to your work. But part two is where I want you to just and Andrew, I know this has been spicy. I know you're watching the whole thing because you're a narcissistic prick, but I need you to just reset everything I've said so far and lock in for a second with me because there's a sentence we have to look at together. I actually don't have any personal criticisms of Jared.
I know you hate LLMs, but we're going to do a thing. I don't want you to think that this is a biased model. So, I'm specifically asking ChatGpt, which in seconds calls out that the article contains numerous personal criticisms of Jared, even though many arise in a professional context, including but not limited to calling him inexperienced and prone to mediocre outcomes, groomed into uncritically adopting Silicon Valley ideology, saying that he has poor communication, unrealistic expectations, low empathy, no experience.
He kept nagging you. He's writing slop. And he's singularly focused on productivity, wealth, and exit strategies. Literally, all of these things are personal attacks, including calling him a stinky manager. And just to address some bias, we will ask our friend Fable 5. Yes, pretty clearly. The disclaimer at the end sits awkwardly against much of what precedes it. The most direct example, the article relays that based on accounts from interviewees and employees, Jared was a stinky manager.
The sheer volume of personal criticisms of Jared in this article is genuinely hilarious. You're [ __ ] hallucinating, man. He has different tastes than me. He wants different things out of life than me. But I think he's actually happy and successful exactly where he is. Unlike you, you seem incredibly unhappy and petty and pissed off. He figured out how to accomplish all the stuff in life that he wants. He gets to live out productivity fantasy fever dreams.
He's probably already super wealthy. He has minor tech celebrity status. I think he did well for himself and I don't wish him any ill will. I added this paragraph in an update to the blog post because it seems like people are having a hard time believing me when I say it's not personal and that I actually accept Jared for who he is and actually perceive him as successful by his own standards and in fact am genuinely happy for him.
It's the truth though. I accept people who are wildly different than me. You're going to have to accept that all of your users are too and they're all going to stop using your goddamn language. I don't hold it against people that have different tastes than me. And I don't even hate my opponents in the world of business. You of course you don't. You don't have a [ __ ] business. If anything, we have something in common.
We're both playing the same game, albeit on opposite teams. What teams? What? What do you mean you're playing on opposite teams? What game? What the [ __ ] are you saying? His team is shipping. Your team is [ __ ] posting. His team is building useful software. Your team is complaining of people who build useful software. What the [ __ ] do you mean opposite teams? I'm happy our business interests are no longer intertwined.
As soon as the internet stops arguing in public about whether the rewrite was good or bad for Bun based on the language choice, I believe that concludes our interactions. God, what are you linking here? He's literally linking the sex robot skit from whitest kids. You know, this guy's a literal teenager. He is actually operating as though he's 14 [ __ ] years old. I've never seen anything like this in my adult life. I'm I'm not even kidding.
Best part is it's not even a target blank. It pulls you off his website. Hey there, Theo from the future here. Since this blog post was published, it's been edited multiple times, and it got edited again since I filmed. And while this edit does soften a few things, it also opens in like the worst possible way, and I just I need to crash out a bit more. Okay, this is the change. First off, he changed the title of that last section from uh what do we learn here today to moving on.
Notice that I have this blog post open twice cuz this is from last stream. This is from today's recording. So it's the same link but two different pieces of content. He used to say that this was a relationship breakdown as he outlined above. He changed it to my main issue here has nothing to do with the language features of Zigg versus Rust and everything to do with the diverging value system of the two projects in relationship breakdown that followed.
Zooming out I want to make one thing clear and here is where it falls apart. While I resent Jared for making Bun into an embarrassment for Zigg, and I blame him partially for some of the slop we've been dealing with, you know that he didn't have the words partially and some until he had someone else give feedback on it. And it was previously I blame him for the slop we've been dealing with. And he added those words to make it feel less absurd.
And he stands by the criticism of his leadership. He also empathizes with Jared. He has different values than me. He wants different things out of life than me. But I think he's actually happy and successful exactly where he is. yada yada yada. Same thing that he mostly had there. Then he says, "The blog has been characterized as a personal attack against Jared when he originally framed it as telling the story of a failed business relationship.
My framing didn't work because I had unprocessed emotions of resentment that were obvious to the reader, but not to myself. Yeah, no [ __ ] I've updated this conclusion section after self-reflection and chatting with friends. Feel free to go look at the original text in the website's public source repo. The other critical mistake I made with this post was failing to consider the rather obvious and important point that this might affect Zigg users who knew next to none of these facts and have only the surface level understanding that an exzig user is getting trashed by the language creator.
Such people might reasonably worry that this might happen to them. I'm sorry to those who I made feel this way. At this point, all I can say is that myself and the other ZSF folks have outstanding relations with essentially everyone who openly uses Zigg and talks about it publicly. And this incident is the one exception. the the biggest one is the exception. Plenty of people have decided to move away from Zigg was zero fuss.
I hope you give me some grace considering a trillion dollar company fired the first shot. No, you were saying earlier that they were doing this before. Also, the blog post wasn't a shot. I agree that a shot was fired here and that shot killed Zigg, but the shot was fired by your gun in your hand in your own direction. All of the issue here is yours. 100% of it. And to the I don't think I will do this again. People seem to be worry about that.
I just want to highlight another blog post of his quick. This one's titled I am not a JavaScript developer. You would imagine that this blog post is him crashing out because he was mischaracterized in some reporting or something somewhere, right? Do you want to guess what this blog post is about before you read the page? It's this. Back in 2013, GitHub had a feature where the languages you used would be put under your bio on GitHub.
And since he had one project that had some JavaScript in it, it put JavaScript under his username on GitHub. And this caused him to crash out so hard, he wrote a page and a half about it on his blog because he hates the idea of being categorized as a JavaScript developer so much with just one word as a label on his GitHub. If that's enough to get this guy to crash out, I do not trust him in saying that this is a one-time thing at all.
One more quick joke and then we'll go back to my original crash out. I I just love Ellie and thought this was hilarious. I'm going to make a programming language slop lang. And if any of my users dare to write nice code, manage their employees well, or bootstrap, I'll write a blog about what a shitty person they are. Just I thought this one was funny. Anyways, back to what Theo 3 days ago was saying. Holy [ __ ] I got nothing.
I'm angry. I hope you are, too. I would do the normal outro, but I don't feel like switching the camera. Peace nerds, I guess. What the [ __ ]
The words are the caption track's own and nothing is reworded or re-transcribed. Paragraph breaks are placed between sentences so the text reads as prose.
Free tools for your own script: paste a draft and see where it stands before you record it.
Paste your draft and see where viewers are likely to drop off, with a rewrite for each weak line.
Paste the first 30 seconds of your own draft for a hook score and rewrites.
Check your draft against YouTube's advertiser-friendly guidelines before you record it.
Read this channel's public videos and transcripts, and download a writing brief for it.