
Strange Loop Bun 1-0 and Rome Becomes Biome
An engaging talk on Strange Loop’s final run, Bun 1.0 vs. Rome, AI data ethics, and the future of JavaScript tooling and frameworks
Episode Description
JavaScript Jam Live discusses the final Strange Loop conference, compares Bun 1.0's success with Rome's collapse, and debates TypeScript's future.
Episode Summary
This JavaScript Jam Live episode covers three interconnected topics shaping the JavaScript ecosystem. The hosts begin by reflecting on Strange Loop, the long-running multi-disciplinary tech conference in St. Louis that is hosting its final edition, sharing how its talk archive influenced developers and lamenting its end. The conversation shifts to open data in AI, touching on the Allen Institute for AI's effort to build a truly open large language model called OLMo with transparent training data. The bulk of the discussion centers on a striking parallel: Bun reaching its 1.0 release the same week Rome officially collapsed. Anthony traces Rome's trajectory from its ambitious VC-funded promise to unify JavaScript tooling through to its communication failures and eventual abandonment, contrasting it with Jared Sumner's self-funded, execution-first approach to building Bun. He also shares the personal story of his late friend Aldo, who was independently building a similar integrated tool called Lambdragon. The episode closes with a spirited debate about TypeScript's trajectory, with Anthony arguing it has peaked and that JavaScript itself will eventually need native type support, while Nick counters that TypeScript's value extends well beyond types into essential developer tooling.
Chapters
00:00:00 - Welcome and Introductions
The episode opens with host Scott Steinlage welcoming listeners to JavaScript Jam Live, the weekly Wednesday show covering web development and JavaScript. Co-hosts Ishan Anand and Anthony Campolo join in, with Ishan sharing how much he values the externally-facing nature of the show compared to internal meetings. The hosts introduce themselves and their roles at Edgio, and Anthony plugs the weekly JavaScript Jam newsletter.
Scott sets up the day's agenda, which includes Strange Loop conference, Bun, and the Rome-to-Biome transition. He encourages audience participation, emphasizing the open-mic format where anyone can request to come up and join the conversation. The atmosphere is casual and welcoming, establishing the collaborative tone for the rest of the episode.
00:07:59 - Strange Loop Conference and Its Legacy
The hosts introduce Strange Loop, the multi-disciplinary tech conference founded in 2009 in St. Louis that is hosting its final edition. Anthony shares how Strange Loop talks on YouTube, particularly Joe Armstrong's "The Mess We're In" and Rich Hickey's "Simple Made Easy," were formative for him as a self-taught developer learning to code. The conference covered a wide range of topics beyond just JavaScript, including security, programming languages, distributed systems, and AI.
Ishan notes the sadness of seeing the conference end, especially given the challenging macroeconomic environment that has already paused or ended other events. He shares community reactions from Reddit showing widespread appreciation for the event. The hosts briefly float the humorous idea of taking over the conference as "Jam Loop" before pivoting to discuss a particularly interesting Strange Loop talk on ethical AI and open data.
00:13:25 - Open Data, AI Ethics, and the Allen Institute
A Strange Loop talk titled "Without Open Data, There Is No Ethical Machine Learning" sparks a passionate discussion about transparency in AI development. Anthony argues that knowing what data a model was trained on matters far more than whether the model weights are open, calling training data the real secret ingredient that competitors need. Ishan traces the progression of openness in AI from open models without weights, to open weights, to open licensing, noting that open training data remains the final frontier.
The conversation turns to the Allen Institute for AI in Seattle, a nonprofit founded with resources from Microsoft co-founder Paul Allen but operating independently. Ishan highlights their effort to build OLMo, a truly end-to-end open large language model including its training data, which he considers the most promising hope for genuine openness in AI. Anthony and Ishan briefly debate the institute's independence from Microsoft before agreeing it represents a meaningfully different model from arrangements like OpenAI's commercial relationship with Microsoft.
00:24:10 - Rome's Collapse and Bun's Rise
Anthony breaks down the week's two biggest JavaScript stories: Bun's 1.0 release and Rome's official sunsetting into the community-driven Biome project. He explains Rome's original vision as a VC-funded effort by Babel creator Sebastian to build an all-in-one JavaScript tool replacing bundlers, linters, transpilers, and test runners. Despite the compelling pitch, Rome struggled with execution, made a costly decision to rewrite everything in a different language, and ultimately failed to ship a usable product while communicating poorly with the community it was supposed to serve.
Ishan and Anthony debate the role of venture capital in open source, with Ishan providing the VC perspective that some failures are necessary and that the zero-interest-rate era produced lasting benefits for developers. Anthony counters that the problem wasn't funding itself but the lack of transparency and accountability, arguing that Rome's team essentially gaslit the community with promises that never materialized. He contrasts this with Bun creator Jared Sumner, who built essentially the same tool self-funded through sheer determination before receiving investment.
00:37:05 - The Lambdragon Story and Lessons in Innovation
Anthony shares the personal story of his late friend Aldo, a veteran software engineer who had been independently building Lambdragon, another all-in-one integrated JavaScript tool. Aldo was deeply secretive about his work in the old-school tradition of guarding code, and he had been building in isolation for years without even knowing Rome existed. When Anthony told him about Rome, it energized rather than discouraged him, validating that the broader community recognized the same problem he was solving.
Ishan reflects on how this saga illustrates both the "great man theory" and the emergent-movements view of technological innovation, with multiple people independently converging on the same solution. Aldo's passing in an accident meant Lambdragon died with him, leaving only two podcast interviews as its legacy. Anthony explains how this personal connection fueled a tweet comparing Bun and Rome that garnered 30,000 views, clearly striking a nerve in the JavaScript community about how ambitious developer tools should be built and funded.
00:45:56 - Bun's Technical Promise and Ecosystem Challenges
The conversation shifts to Bun's technical details, with Ishan marveling at the sheer number of tools it replaces as batteries-included functionality. Anthony highlights Bun's promise to handle the fragmented landscape of JavaScript file types including JS, TS, JSX, TSX, MJS, CJS, and more, along with compatibility across CommonJS and ESM modules. Nick Taylor joins the discussion to raise practical compatibility concerns, noting issues flagged by Fastify creator Matteo Collina around specific Node API gaps and top-level await support.
Nick also raises the deployment question, noting that while Vercel supports bundling with Bun, deploying with it on AWS Lambda isn't yet practical since Bun isn't natively supported there. The hosts discuss how Bun's use of WebKit's JavaScriptCore engine rather than V8 creates ecosystem adoption challenges, since most of JavaScript infrastructure has been built around V8. Despite these hurdles, the group agrees Bun's existence pushes the entire ecosystem forward, making Node and Deno better through competition.
00:56:35 - TypeScript's Peak and the Future of JavaScript Types
Ishan brings up the week's other hot topic: DHH removing TypeScript from Turbo 8 in the Rails ecosystem. Anthony reveals he deliberately left it out of the newsletter, partly because he agrees with DHH's position and didn't want to publicly defend it. He argues TypeScript has already peaked, predicting JavaScript will eventually need native type support built into the language itself, drawing a parallel to how CoffeeScript's best features were absorbed into JavaScript and the language moved on.
Nick offers a counterpoint from his experience using TypeScript since 2015, emphasizing that much of TypeScript's value is actually developer tooling like go-to-definition, refactoring, and IntelliSense rather than just the type system. He points out that even plain JavaScript in VS Code relies on TypeScript's language server under the hood. The episode wraps with Scott encouraging listeners to subscribe to the JavaScript Jam newsletter, attend Strange Loop if possible, and check out the conference talks when they're posted online.
Transcript
00:00:31 - Scott Steinlage
Yo, yo, yo. What's up, everybody? Nick, Nicky T. There we go. Nicky T. What's up, man? How you doing? All right, we're just waiting for a couple others here to get in the room. There's Anthony, AJC Web Dev. What's up? Bring you up here. There's Ishan. Let's bring him up. Welcome, welcome, welcome. Both invited. Welcome to JavaScript Jam Live. This is JavaScript Jam Live. We do this every Wednesday, 12:00 p.m. Pacific Standard Time. If you're here, you're here at the right time. This is such a fun time. I love doing this on JavaScript Jam. Here we talk about everything web dev and, obviously, JavaScript-related and more.
00:02:01 - Ishan Anand
This is my favorite meeting of the week.
00:02:04 - Scott Steinlage
There you go.
00:02:06 - Anthony Campolo
It's my favorite activity.
00:02:08 - Ishan Anand
Yeah, we even have a no-meeting Wednesday. That's true internally. And this is on a Wednesday, but it's my favorite meeting because it's the one meeting I know is definitely externally facing and interacts with people in the trenches on web development, whether beginner or expert. And I relish the opportunity. Sometimes you can get very internally facing, and activities like this are hugely important for that. So that's one of the things. I love this so much.
00:02:42 - Anthony Campolo
I didn't know you had a moratorium on Wednesday meetings. That means they must break that moratorium like once a month.
00:02:50 - Ishan Anand
So, you know, we all work together. So Anthony has seen my calendar. The no-meeting Wednesday never holds up. But...
00:02:59 - Anthony Campolo
People who show up every week will notice you're here, like, a couple weeks a month. Not every week, though.
00:03:05 - Ishan Anand
So, you know, I have a coworker who went on a staycation and he showed up in, like, a couple of meetings that week. And one of my coworkers was like, "What's going on?" He's like, "Well, I'm only going to the meetings I want because I'm on vacation." I was like, that's the true definition of luxury.
00:03:23 - Anthony Campolo
I'm only going to the fun meetings.
00:03:25 - Ishan Anand
Yes. So this is the fun meeting, and if I can't make it, I'm actually very disappointed. So anyway, this is a fun time, Scott. I'll let you continue.
00:03:35 - Scott Steinlage
Yeah, no worries. Good fun for sure. So, yeah, like Ishan was saying, whether you're a beginner or whether you're advanced in your development journey, it doesn't matter. We'd love to hear from everybody here. And so at any point, if you have something to say, feel free to request to come up. We'll bring you up. We love this kind of open mic atmosphere. We enable everybody to partake in the conversation, ask questions, make comments, statements, facts, opinions, whatever. We want to hear from you. And yeah, so feel free to do that at any point in time. As you kind of noticed today, we're supposed to be talking about the Strange Loop conference here in St. Louis, where Anthony and I reside, and some other things: Bun and Rome and Biome. Anyway, we'll get into those things here shortly. I do want to just go ahead and quickly make some intros. I believe we may have a couple people joining us that are going to be speaking at Strange Loop. We will see. This was a little bit last second here, but it's fun either way, and we love to talk about events that we think are good for the dev community either way, so it doesn't really matter. We want to really just help promote those things that benefit the developer community as much as possible.
00:05:18 - Scott Steinlage
So that's what we're all about here: growing the developer community, empowering the developer community, and helping to grow the developer community. With that being said, my name is Scott Steinlage, and I am a technical community manager at Edgio, co-host of this here podcast. Who's up next?
00:05:41 - Ishan Anand
I'm Ishan Anand. I'm VP of Product for our Edgio Applications platform, which combines security, performance, and, call it headless or composable hosting, for large enterprises and high-stakes websites.
00:05:57 - Anthony Campolo
My name is Anthony Campolo. I am a developer advocate at Edgio. I host the FSJam podcast, and I write our weekly newsletter, which I will pin to the top.
00:06:12 - Scott Steinlage
Yeah, for sure. And if you haven't subscribed to our newsletter yet, go to javascriptjam.com. Be sure to subscribe now so you don't miss out on any future amazing things that Anthony writes up, because he's got some gravy things there. There's always some nasty, juicy bits that he puts in there. So don't miss out. Don't miss out. Awesome. So thank you so much for the intros there. We have someone in the crowd there cheering us on, it looks like, or at least Anthony.
00:06:50 - Anthony Campolo
Well, I am the best. So I'm Zava. I'm the Zava of JS Jam. Do you know who Zava is?
00:07:00 - Ishan Anand
No.
00:07:00 - Scott Steinlage
Tell me.
00:07:00 - Anthony Campolo
These guys do, apparently. We got two Ted Lasso fans out there.
00:07:05 - Scott Steinlage
Oh, Ted Lasso. Okay, gotcha.
00:07:07 - Anthony Campolo
He's like this superstar player that they recruit onto the team, and he's kind of full of himself, but he's also actually the best. But he's also kind of chill, but he's also really full of himself.
00:07:25 - Scott Steinlage
Sounds like an interesting character. Maybe goes back and forth a bit, huh?
00:07:29 - Anthony Campolo
Yeah.
00:07:31 - Scott Steinlage
Cool, cool. So is it Utba? Maybe that's how you pronounce the name there. Apologies if I totally got that wrong, but feel free to come up if you'd like. Do you know anything about Strange Loop or any of that, or Anthony, or anybody?
00:07:59 - Ishan Anand
Yeah, let's first open it by telling folks just a little bit about Strange Loop.
00:08:03 - Scott Steinlage
Yeah, sure. Let's do that.
00:08:04 - Ishan Anand
I'll just say this. It's a conference. Well, why don't you intro Strange Loop, and I'll give my little commentary, and we can go from there.
00:08:12 - Scott Steinlage
Sure, no problem. So we'll go with that first. Strange Loop. Yeah. So basically, kind of a multifaceted conference bringing, obviously, developers and other people in the tech field together, such as different languages and databases, distributed systems, security, etc., right? So all the things that we talk about on here, which is awesome. It was actually created back in '09 and has been around for quite some time. And supposedly, I believe, if I hadn't read this incorrectly, I think this is their last year.
00:08:56 - Anthony Campolo
Yeah, I've heard the same. And actually, so, I want to talk about this. So you can say how it's been around for a while. When I was first learning to code, like most people, I was on YouTube searching for things, and I would find conference talks from all over the place, different eras, different places. And there was a handful of talks that I would see pop up again and again and again in the search results, and they had this weird green infinity logo on every single one of them. And they were all talks from Strange Loop. And I'll link to one in particular called "The Mess We're In" by Joe Armstrong, the creator of Erlang. These are some of the best talks I've ever seen, and very, very clear and easy to follow. Rich Hickey has a whole bunch that are really famous, and even at the time, they were about really complicated subjects. I would watch them and, you know, for like 10 minutes, I'd be like, okay, I get it.
00:09:58 - Anthony Campolo
Like, wow, learning so much. Then about 20 minutes in, I'd be like, wait, I'm confused. Then by like 30 minutes in, I'd be like, I don't understand any of the words that are being said right now. That was kind of how I felt watching most conference talks. But the hooks would always get me, because I would be like, all right, yeah, we are in a mess with programming. What's the solution? The actor model? Okay.
00:10:22 - Scott Steinlage
Do you understand the words that are coming out of my mouth? Yeah.
00:10:29 - Anthony Campolo
What most people usually say in those moments is, "I understand the words you're saying. I just don't know what they mean together."
00:10:39 - Scott Steinlage
Well, yeah, link that up there and we'll all go check that out for sure. If you don't know what we're talking about, if you just scroll up when you're in here, you can see the top. We call it the Jumbotron, but it's linked there, and you can scroll back and forth when we link more stuff. So check it out. Yes. And so, as you can tell, Strange Loop has made an impact on the developer community, just from hearing Anthony's little testimonial there. Not planned, but no, I'm kidding. But yeah, so that's awesome. Thanks for sharing that. But yeah, it's like this technology stew, right, where interesting stuff happens and people from different areas are all in the same room with a broad range of topics and things, and it's fun, and it's moderately priced for an event, so pretty cool stuff that they're doing there. But that's kind of the gist of it. Ishan, you had a little bit there I think you wanted to share.
00:11:42 - Ishan Anand
I was gonna say, I've never had a chance, unfortunately, to attend, but I've seen some of the videos. I recognize the name. It's been around for over a decade. And in this environment, we've seen the macroeconomic environment. We saw some conferences either hold off or pause, but to see this one end is sad and unfortunate. There's a Reddit thread that I posted, if you want to add it to the Jumbotron. I put it in the chat. People are like, "Why is it going away? It will be missed." But it's a great collection of technology topics every year. If you look at this year's schedule, it's covering things from security and programming languages. It's not just web and JavaScript. It really goes the full stack, AI of course. But it was a really nice brew of topics that has a real library of talks and an audience that I'm sure will miss it. So unfortunately, if you're in the St. Louis area, though, I believe it sold out at this point.
00:12:57 - Ishan Anand
Is that correct?
00:12:58 - Scott Steinlage
I think that's what I heard from Alex, who's the founder of it. But maybe he meant sponsors sold out and not the actual tickets. I don't know. You can still try. Go to thestrangeloop.com and try and scoop up some tickets, and if you can't get it, then, yeah, I think they'd be sold out. But you can give it a go. So yeah, absolutely.
00:13:25 - Ishan Anand
Yeah. One of the speakers who mentioned they might be able to attend has an interesting talk on AI called... let me see. I'll pull it back up so I don't butcher it. But "Without Open Data, There Is No Ethical Machine Learning," which I think is a really...
00:13:47 - Anthony Campolo
So true. Oh my God.
00:13:48 - Ishan Anand
Yeah, it's actually an unappreciated topic.
00:13:52 - Scott Steinlage
[unclear].
00:13:53 - Anthony Campolo
I've been saying the same thing. I've been talking about this forever: the fact that people are more up in arms about whether the model's open source than what data OpenAI was trained on. I'm like, no, the model is just a bunch of math. You need to know what data they trained it on.
00:14:12 - Ishan Anand
Yeah, this is like...
00:14:16 - Scott Steinlage
No, please. I was just saying, exactly.
00:14:18 - Ishan Anand
Yeah, this is like the next frontier. We've seen in the open AI ecosystem, right? First you had an open model, but not the weights, and then you had the open model plus the weights, so you can execute inference on it. But we haven't got to... then we had open model and weights and licensing, sort of.
00:14:39 - Anthony Campolo
It's open everything except what actually would allow a competitor to create a similar model, which is knowing what data it was trained on. That's the most important secret sauce. Everyone knows it's a transformer.
00:14:50 - Ishan Anand
Exactly. And so this is the last frontier, this open-data area. There was a guest, I think, on the Latent Space podcast, and he was saying, yeah, it's still a gap. The closest thing I've seen to closing it is, up here where I am in Seattle, there's a nonprofit, a true nonprofit AI institute, called the Allen Institute for AI. And they recently announced they are going to build a truly open end-to-end...
00:15:31 - Anthony Campolo
It's... yes, it is. So wasn't he like the COO of Microsoft or something?
00:15:36 - Ishan Anand
He was the co-founder, but he left.
00:15:39 - Anthony Campolo
So, yeah, exactly, that's what I'm saying.
00:15:41 - Ishan Anand
It's Microsoft stock money from many decades ago, but it is not officially associated with Microsoft now.
00:15:50 - Anthony Campolo
Yeah, just like Jeffrey Epstein wasn't officially associated with MIT. It's the same thing.
00:15:55 - Ishan Anand
No, no. It's important because they are a true nonprofit and they're not... it's not like it's the Allen Institute of Computer Science inside or funded by Microsoft. It's technically a separate organization. Obviously they're friendly with the rest of the...
00:16:09 - Anthony Campolo
Because I remember they were doing a whole bunch of research on NLP not too long ago, which obviously interfaces with Microsoft and their products and their roadmap.
00:16:20 - Ishan Anand
Yes, but I mean the same is...
00:16:23 - Scott Steinlage
True when you got friends.
00:16:24 - Ishan Anand
You got friends, but nobody...
00:16:26 - Anthony Campolo
Let's say Microsoft has no influence. That Microsoft would have no influence, I think, would be the incorrect statement.
00:16:31 - Ishan Anand
I think, yes. But they are truly a separate organization. They have a separate endowment. They don't take money. It's not like OpenAI... no, no, no shade against the situation, but Microsoft is investing money in OpenAI in exchange for compute, right? It's a financial agreement. There is no financial tie between OpenAI and the Allen Institute. The Allen Institute is a separate, completely separate entity. It has a separate endowment, as far as I'm aware. So it's a truly separate nonprofit, to make that clear.
00:17:13 - Scott Steinlage
Now it should just decentralize.
00:17:15 - Ishan Anand
Yeah. No, I don't want to say there's no relationship. Obviously there are researchers who go back and forth, and they're friendly with each other, but they're not like... OpenAI and Microsoft have a commercial incentive with each other. Allen Institute for AI does not. It was truly designed to be AI for the human good. And actually they kicked off some of the large language model stuff with an early large language model called ELMo. And now what they said is...
00:17:44 - Anthony Campolo
I remember ELMo. Yeah, that was like 2018.
00:17:46 - Ishan Anand
They announced that they're going to work on a new, truly open large language model, including the training data. And they actually just released some of that training data before they've released the model yet. But as they're building it, they're kind of releasing that as they go. That's probably the best hope I've seen on the horizon for a truly open large language model end to end. And I think not enough people actually know about OLMo, which is the name of the model. But I think more will, hopefully, in the next coming months as it gets released sometime next year. So hopefully if that speaker is able to join us, it'd be a great topic to talk to them more about.
00:18:35 - Scott Steinlage
Yeah, totally.
00:18:36 - Ishan Anand
So I don't know if there's more on that, Anthony, you want to dive into, or anything else on the Strange Loop agenda that jumped out at you. If not, we can jump to the newsletter this week or anything anybody has if they want to raise their hands.
00:18:52 - Anthony Campolo
You got anything, Scott? Anything else you want to say about the conference, or speakers or topics you want to highlight? Anything like that?
00:19:00 - Scott Steinlage
Yeah. So let's see, where was he? There was a speaker and he was... let's see. Trying to find him. Oh, yes. So I hadn't heard of this, and that's just because I'm under a rock sometimes when it comes to this development stuff here, but the creator of Elm, Evan... I don't know if you've heard of that, but a lot of people are saying there was JavaScript and then what was the thing that they compared Elm to?
00:19:50 - Anthony Campolo
I'm trying to remember. Haskell. It's kind of like Haskell. It's kind of like a couple things, yeah. I'm not sure what other language they would compare it to aside from Haskell or...
00:20:03 - Scott Steinlage
Well, it was like the next level. It was like from this to this to Elm, right? And I can't think. But anyway, yeah, an article on it.
00:20:17 - Anthony Campolo
So was TypeScript?
00:20:19 - Scott Steinlage
You know, it's like from JavaScript to TypeScript to Elm. Someone was comparing those. It was interesting. The reason why I thought about it and brought it up is because there's so much hype around TypeScript, especially lately with the DHH thing and things. So yeah, I think I found it.
00:20:37 - Anthony Campolo
By Kevin Lanthier.
00:20:39 - Scott Steinlage
Yeah, I think so. Yeah.
00:20:45 - Anthony Campolo
Yeah. I know some people who are super, super into Elm. Lindsay Wardell, she got a job specifically to write Elm.
00:20:59 - Scott Steinlage
Oh, wow. Very into it then.
00:21:03 - Anthony Campolo
Yep. Yeah. For people who don't know, it's a functional front-end programming language that allows ultimate front-end type safety, even more so than TypeScript, which is why you hear it compared like JavaScript to TypeScript to Elm. You get no types, types that are kind of fragile because they're attached to this whole compiler system, and then a programming language with actual, real, strong typing. Do you ever use Elm, Ishan?
00:21:37 - Ishan Anand
I have not. I hear about it. I hear people who use it and love it, but I have not used it personally myself. I did add, actually, to the thread, if you want to throw up on the Jumbotron, when Strange Loop announced that this will be the last Strange Loop...
00:21:58 - Anthony Campolo
There. You have the ability to do that. You just got to click the share button, and then it's going to be at the very top on "Share post."
00:22:05 - Scott Steinlage
I thought I added it, but I guess I didn't.
00:22:07 - Anthony Campolo
Okay. You should get Ishan used to doing it himself, so he can share his own links. Yeah, so we're doing enough things up here already.
00:22:15 - Ishan Anand
There it is.
00:22:16 - Scott Steinlage
There we go. Okay.
00:22:19 - Anthony Campolo
You're a big boy now.
00:22:21 - Ishan Anand
Yeah, I know.
00:22:24 - Anthony Campolo
Last tip though, when you just drop a link, you want to put some text before it explaining what it is because, as you can see on the Jumbotron, you're just like, "Oh, oh." Actually, here, this is what you want to do. You can actually just share that tweet itself like this. See, that's the move.
00:22:44 - Scott Steinlage
Yeah.
00:22:45 - Ishan Anand
There we go. Thank you.
00:22:47 - Scott Steinlage
Yep.
00:22:48 - Anthony Campolo
We're teaching Ishan how to host Spaces right now.
00:22:50 - Ishan Anand
That's what today is. But you can see lots of people in there talking about it. Some people said it's the best conference I've ever been to, and lots of other multiple people are saying, honestly, one of the best conferences I've been to.
00:23:14 - Scott Steinlage
Exactly. And since Anthony and I are local to St. Louis and we probably want to keep the vibe rolling and going and building the dev community here in St. Louis, maybe we should just take over the event and help keep the fire going.
00:23:29 - Anthony Campolo
I think it would be a real shame if Strange Loop, the property, just died. I think that would really suck. I don't know if we're the right people to run a conference, but I don't know. We'll see. I think it's an interesting conversation.
00:23:41 - Ishan Anand
Jam Loop 2024.
00:23:43 - Scott Steinlage
[unclear].
00:23:46 - Ishan Anand
Jam Loop. Jam Loop. Jam.
00:23:49 - Scott Steinlage
Oh my gosh. You know what I hear in the background of my head right now? It's like, "Welcome to the Loop Jam. All right, all right. Throw your hands in the air. Come on." Space Jam, the movie.
00:24:04 - Anthony Campolo
That's funny.
00:24:06 - Scott Steinlage
All right, y'all.
00:24:10 - Ishan Anand
So should we move on to the newsletter?
00:24:14 - Anthony Campolo
Yeah. So did you read the newsletter this week, Ishan? I'd be curious to get your take on it if you did.
00:24:19 - Ishan Anand
Yes, I did. I thought the topic on Bun was very, very interesting. I thought your personal story about Lambdragon, I think it was called, was also really poignant and timely. So there was a lot in there that I think it'd be great to have you share.
00:24:41 - Anthony Campolo
Yeah, I got on a roll with this one because I had a lot of thoughts. And this is a topic I've had a lot of thoughts on for many years because I've been following both Rome and Bun since each of them started. So I've been following Rome now for like three years and Bun for like two, maybe. And yeah. So, to back up, for people who haven't read it yet, there were kind of like two big items in the news that I wanted to tie together. One was Bun 1.0's release, which a lot of people probably saw. There's a lot of hype, a lot of people posting stuff about it. And then Rome was officially sunsetted, and the code that was Rome is now Biome. So if you imagine Rome, you slot an "i" in there and then change the "r" to a "b." The logos look very, very similar. It's kind of clever.
00:25:34 - Ishan Anand
It's...
00:25:34 - Anthony Campolo
It's fun. But wait, wait, let's...
00:25:37 - Ishan Anand
Let's back up.
00:25:37 - Anthony Campolo
I was gonna say, I was about to explain what Rome is.
00:25:40 - Ishan Anand
Yeah, yeah. Let's explain what they are for people who don't know. Yeah, keep going.
00:25:42 - Anthony Campolo
Yeah, yeah. So Rome was built in a day... not built ever at all.
00:25:53 - Ishan Anand
Too soon. Okay.
00:25:56 - Anthony Campolo
It was a venture-funded company created by the original creator of Babel, Sebastian. I always confuse the React Sebastian and the Babel Sebastian, so I'm not going to bother saying his last name. It's Sebastian, the creator of Babel. You can find him online. He was basically given VC funding to create this tool called Rome. And the point of Rome was to essentially solve JavaScript fatigue once and for all. And the way they would do this was... this is even more low-level than a meta-framework. So right now we have all these meta-frameworks, and that's a big conversation right now: how do you add routing and server-side rendering and authentication and database access to a front-end framework? This was like, no, how do we replace Nodemon and Jest and webpack? It was meant to be a transpiler, a bundler, a linter, a test runner, all together at the same time. That would be a single integrated tool. So when you're creating a JavaScript project, you wouldn't have to install all these different pieces and have all these different kind of flaky components that are constantly changing and breaking each other.
00:27:15 - Anthony Campolo
So, you know, I think most people who are in JavaScript, they hear that pitch. Unless they're absolutely insane and obsessed with configuring their toolset, they're probably like, "That sounds great. That's exactly what I want. Why don't we have this yet?" So obviously a lot of people are like, great, Rome sounds awesome. I'm super into this idea. Let's build Rome. And it struggled to do that because that's a hard thing to build. It takes years, requires specific kinds of user testing and feedback loops and cycles and whatnot. And they made the very poor choice of, once they finally finished creating the whole thing, instead of putting it out regardless of how much it sucks and iterating on it, they decided, no, we need to rewrite the whole thing in a different language because it's not good enough. So they scrapped everything and then had to rewrite the whole thing. And then at a certain point, once they're like two years in, they had absolutely nothing. People started to talk, and they were like, so is Rome dead, like, officially? I was having these conversations over a year ago with people and I was telling people, I'm like, yeah, Rome's 100% dead.
00:28:22 - Anthony Campolo
Any day now you're gonna hear them make an announcement saying Rome, the company, is folded. Rome, the project, is over. Full stop. I said this over a year ago. We're finally there. They finally announced and gave up. Basically what they built was dumped in this new repo with a new name. Not a great story for the JavaScript community. It's not a great outcome, and there's lots and lots of lessons for lots and lots of people to learn. Thankfully, we have a very good counterexample, which is Bun 1.0. Bun 1.0 is, hey, an integrated JavaScript toolset with a bundler, transpiler, and test runner. How nice. Basically, Bun built Rome by himself with no funding and said, here you go guys, I did it. And then they're like, all right, cool, let's give him money now to build a company. So this is the right way to do it. You actually build something that people actually want. Then there's at least something worth funding. You can't just say, hey, this kid's smart. He built something in the past. He has a cool idea. Let's give him a bunch of money.
00:29:31 - Anthony Campolo
Don't do that. That's a bad idea.
00:29:35 - Scott Steinlage
Sounds like a traditional VC thing. I don't know.
00:29:38 - Ishan Anand
Well, I don't know if it's a bad idea. I mean, it depends.
00:29:41 - Anthony Campolo
I think in the context of open source right now, I'm saying if you have a business plan, sure. It's one thing to invest in a business plan. I'm not saying don't invest in anything. I'm saying don't pick a random kid who had open-source success, who says he wants to build something and has no plan.
00:30:02 - Ishan Anand
Okay. I don't know if he had no plan. We can debate the merits. Maybe later on, because it's worthwhile to talk about Bun and your personal experience. I will say, we were also... this was during the height of what we're now calling the zero-interest-rate phenomenon. I don't know if they truly had no plan. And sometimes the job and element of VC is kind of like, I'll call it, business research. You may not know which ones turn into successes. And I'll give you an example. The mental model is not, did it fail? It's, did I miss out on the big deal? Because the big deals, the ones that actually are runaway successes, that are moonshots, are where you make most of your money. And so the biggest problem is the opportunity cost. Somebody asked Peter Thiel in an AMA on Reddit what the worst investment he ever made was, and he invests in a lot of companies. And he said, my worst investment was not doing the second round and follow-on rounds for Facebook.
00:31:13 - Ishan Anand
It was not doubling down on that one thing because that was the big investment. So it's missing the runaway success. And we can get into that later. But there's a method to that.
00:31:25 - Anthony Campolo
This is the problem. This is why people criticize VC, because then the open-source community has to deal with the fallout of those failures.
00:31:36 - Ishan Anand
Yes, that's true. I mean, that is the byproduct. Another way of looking at this, though, is there needs to be some failures, otherwise we're not pushing hard enough.
00:31:50 - Anthony Campolo
Right. I'm not saying there shouldn't be failures. I'm saying the failures should be smaller, and it should happen quicker. You fail sooner, faster, in less terrible ways.
00:32:03 - Ishan Anand
Okay.
00:32:04 - Anthony Campolo
They could have given him less funding to build something smaller, you know, and then iterate and eventually get to the big vision.
00:32:12 - Ishan Anand
Yeah, that's possible in hindsight, maybe. You know, the people got caught in a bidding war.
00:32:19 - Anthony Campolo
You know, it's just because once you have the open-source cred, it's like, oh, I built Babel. So then they're like, all right, cool. Since he did this, it's like the guy built a business in the past, he can build a business again. But the thing is, building Babel doesn't actually set you up to build Rome. It doesn't set you up to build a tool that's also a company. So I think they need to not pattern-match one type of success onto another type of success.
00:32:49 - Ishan Anand
Yes. But I would say the bigger thing, as a VC looking at this, is it's really hard to find actually anybody in open source who has turned open source into a business that gets big enough without one of the hyperscalers trying to steal it from you.
00:33:06 - Anthony Campolo
Yeah, I guess my issue is less that he got funding and more so that once the funding was there, it didn't actually function in a way that would serve either the company or the open-source project, in the sense that they weren't putting things out that people could really use and iterate on. And they weren't really... yeah, I don't know. I feel like I'm still trying...
00:33:31 - Ishan Anand
I don't know if I'd blame the VCs for that.
00:33:34 - Anthony Campolo
No, I'm not saying I'm blaming the VCs.
00:33:35 - Scott Steinlage
Okay.
00:33:37 - Anthony Campolo
That's the problem. Because there's so little transparency, I don't know who to blame right now.
00:33:44 - Scott Steinlage
Got to put it on somebody. Come on.
00:33:46 - Ishan Anand
Yeah, maybe it's... well, you know, in AI they talk about Moloch, right, or in ethics. It's like the collective incentives drive the bad outcome, as opposed to any particular one person. It may be the system. It may be systemic, which may be a fair criticism. But I think we're way far off topic. Well, to some extent, I think it's really important as it relates to the open-source community. The open-source community has benefited from a lot of great tooling that is free, openly available, whether it's frameworks, whether it's the investment in rewriting a bunch of tools in Rust or Go to be faster. And we've partially enjoyed that through funding that may have actually not, or in some cases did or did not, turn into material outcomes, but it turned into outcomes that benefited developers. We have these frameworks. We can take the code and use it. We're at least somewhere along the line. I feel like actually, in some sense, we'll probably look back at the zero-interest-rate period and say there were actually a lot of great things there. Maybe we'll rediscover them and have to reimplement them, or maybe somebody will take them and realize, oh, I can take this thing and now is the right time to use it.
00:34:59 - Ishan Anand
It's buried treasure, potentially, out there.
00:35:04 - Anthony Campolo
But I totally agree. I totally agree with all that. Yeah. So I think I know how to pinpoint why this whole saga leaves a bad taste in my mouth, because I don't feel like there was ever any sort of actual line of communication between anyone at Rome, either VCs or the people actually building it, and the so-called open-source community they were building it for. So there were all these promises that were made, and then things were built, and then there's not really a lot of communication around what the problem was and why the thing they promised was never really fully built and what the issues were and how long it was going to take and what was going on. And then it just felt like people were being kind of gaslit, like, hey, you got this really cool tool. It's coming any day now. It's like, okay, well, is it coming out? Oh, you know, any day now. It was kind of like that. It just kept going and going and going and going. At a certain point, people were like, it's never coming, right, guys?
00:36:04 - Anthony Campolo
And then at that point they stopped. They weren't responding to anyone about anything, and they kind of just cut and run. So that's, I think... and that has nothing to do with the VCs, has nothing to do with this project getting funded and getting created and all that. It's just how it was actually executed doesn't feel like it was done in a responsible, ethical way.
00:36:26 - Ishan Anand
Okay. So I'm actually empathetic to both sides of that. I'm empathetic to the frustration of, like, I've been there where there's a project and you're like, "Oh, I'm really excited about this. Where's your Discord? How can I help?" And they're like, well, we're not ready yet. And then it's really frustrating when that drags on. I'm also, though, empathetic to if you're on the inside and things, for whatever reason, aren't going the way you expected. In either situation...
00:36:52 - Anthony Campolo
But what do you think you should do in that situation?
00:36:53 - Ishan Anand
That situation?
00:36:54 - Anthony Campolo
Don't you think you should be honest, though, with the community and be as transparent as possible?
00:36:59 - Ishan Anand
Yes, ideally.
00:37:01 - Anthony Campolo
Yes, exactly. That's the mistake that I think they made.
00:37:05 - Ishan Anand
But I guess I'm saying, empathetic to the emotional... coming to it internally was probably hard. It's like the classic example I can use is working out, right? You know what you should do. It's just hard to fit in logistically and whatever, and emotionally want to do it. I'm sure that was an issue. I think another thing, though, is you have a personal connection to somebody who was doing this without the benefit of that kind of funding and was succeeding and building something. And I think that might also be leading to some frustration too.
00:37:35 - Anthony Campolo
Yeah. And I should actually say, though, and I'll explain the backstory here. Yeah, Aldo was friends with Tom, and Tom was funding him. So I think that was smart, though, because Tom was funding a single individual a small amount of money to work on this project. I thought that was smart. Aldo made a lot of mistakes too. But let's explain. So yeah, I have a great friend who unfortunately has passed on. His name is Aldo. He was a core contributor on Redwood, and actually he's a very good friend of Matt Billman. They've known each other for a really long time. So he was deep in the early Netlify crew, and he knew people like Tom, and he was really excited about Redwood and wanted to work on it with us. He had a different thing he was building, though. It eventually got renamed to Lambdragon. I think it was called Decoupled. But yeah, the lamb dragon, I should say. It's like a lamb and a little dragon. It's actually a lamb, not a dragon. It's a lambdragon.
00:38:44 - Anthony Campolo
But I digress. He was basically building another all-in-one integrated JavaScript tool that would be the whole thing. It would be both the bundler and the test runner. The front-end framework would be in there. There'd also be infrastructure-as-code stuff. So with him, he was really big into this idea he called pure code, which is that you could just have a project where it's only code in it and you wouldn't need all these dashboards and services and stuff like that. But I met him in 2020, when things like Rome were starting to take off, and every now and then we would talk about this project he was building, and he could tell that I was interested in it. I like big, cool, moonshot kind of projects that try to rewrite paradigms and stuff like that. So I got what he was trying to do. I thought it was very cool. And I was in my bootcamp at the time, and this dude had been a professional software engineer for like 20 years. He really, really knew his shit.
00:39:55 - Anthony Campolo
And so the fact that he wanted to talk to me about the project and share things about it with me, it really meant a lot to me because Aldo was highly, highly secretive, highly untrusting because, you'll know this, Ishan, old-school software devs are like, ain't no one seeing my company's code. No way. They guard it.
00:40:21 - Ishan Anand
Oh, yeah, absolutely. Yeah. It was a different world. It's the exact opposite. It's a huge generational shift where people are like, show me your open-source repos, and they're like, what? And I come from that previous guard where it was very rare. It's something I think the web community kind of takes a little for granted. In other ecosystems, there's less of that. It's a lot better today, but yeah, certainly different.
00:40:46 - Anthony Campolo
Yeah, it's pretty rare in business for everyone to share their business secrets with their competitors, for sure. So basically, every time we would chat, if he was showing something, he would be like, "Don't tell anyone about this." That's the last thing he would say, you know, like, "I know, Aldo, I won't tell anyone about this." And then so, you know, he's working on this, and he'd already been working on it for years. And at a certain point, we're talking and I mentioned Rome, and he didn't even know about it. He'd never even heard of it because he wasn't on Twitter. He had quit Twitter. He was just this hermit dude who wouldn't engage the community. So he had no idea that in the time he had been heads down building this thing, a whole other person had presented the same idea, gotten funding for it, and had been building it for like a year. But it really fired him up. It got him super invigorated. All of a sudden he realized he wasn't just a dude in a cave with an idea.
00:41:43 - Anthony Campolo
He realized other people understood this and the world had kind of caught on to it. So he got super fired up by the fact that Rome existed. So eventually he did kind of release... not release. He demoed it like once to Swyx on a single stream, and he came on FSJam and we did two interviews with him. And that's it. That's all the content that will ever exist about this project because he then passed away in Hawaii in some sort of surfing accident or something like that. I don't really know the specific details. So Lambdragon came to an end. But then Bun keeps going, and I'd just be really curious if... I would love to know what he would have thought about Bun and how he would have kind of positioned Lambdragon against these other tools. So unfortunately that's like a branching fork of the multiverse I will never get to see. But yes, that's just why when I saw the Bun-Rome thing happening and I tweeted about it... first I tweeted basically making this whole thing, the entire post, in a single tweet, and it got a very big response.
00:42:53 - Anthony Campolo
It got like 30,000 views or something. So I could tell it kind of hit a nerve. And like I said, I had kind of a personal story about it, so I just kind of felt like I should share that. I've shared this in some interviews before, but I've never written about it.
00:43:09 - Ishan Anand
Yeah, you know, it's... I don't know how to put it. We sometimes look at certain developments as eventually inevitable. And in technology, it's this tension between, I know they call it the great man theory of history, and movements. Here I feel like we see a version of that, where a bunch of people are trying to wrestle with the same idea. But we see both sides of that philosophically. We see the idea that it's movements and emergent, like we see multiple people wrestling with the same problem and realizing it's a problem that needs to be fixed. But then at the same time, we see how much the individual does matter, or individual circumstance. Unfortunately, sadly, Aldo passing away... we don't know what would have happened if that had not happened and where that would have ended up, or the success Bun has had in execution versus the issues Rome ran into in gaining traction. So it's kind of like, I look at it in technology development and innovation terms.
00:44:22 - Ishan Anand
It's an illustration of both principles at work. I'm curious why you think it hit such a nerve, though. Is it simply because of the personal story?
00:44:35 - Anthony Campolo
Well, no. So when I say it hit a nerve, the tweet that I just linked to, that didn't mention Aldo or Lambdragon at all. I said, "There's something very poetic about Bun hitting 1.0 the same week Rome finally collapsed. While no one was paying attention, an entirely different person built essentially the exact tool that Rome promised to provide and set out to build in early 2020. The biggest difference was Jared lit his own savings on fire to do it instead of everyone else's."
00:45:02 - Ishan Anand
Oh, I thought that was very compelling. Okay, that one definitely would hit a nerve. But on the spectrum of polarizing statements on X or Twitter, I think you're somewhere in the middle there. And maybe it was too soon in the demise of Rome, or the transition of Rome to a community project. But I mean, I think it's really valuable. When you look at that list of things that Bun replaces that you have in the newsletter, it's mind-boggling. It's really mind-boggling. And the analogy I'd give you is, as a JavaScript developer, it's like being a fish in water and somebody finally tells you there's water around you. You've just gotten used to having to have all these other things.
00:45:56 - Anthony Campolo
And that's actually why I think I understood this as a beginner even more so than some professional devs, because I had to figure out all of these tools, and then figure out which ones I had to use, and then figure out how to put them together in a certain order.
00:46:11 - Ishan Anand
Yes, exactly. And that's where I was going. We often hear about how it's hard for beginners to get started, and they're not even sure. In the early days of React, it wasn't even Create React App, but even that bundled five things for you, right? It creates a huge amount of friction for people to get started. And if you've gradually grown up with these tools, so to speak, as a developer, it's hard to appreciate how much activation energy, or like cliff or hill, somebody has to overcome just to get started. I highly encourage people to just look at that list in the Bun 1.0, or that we linked to in Anthony's newsletter this week. I should have counted them all. It's like 20, 30 different things in total that it's going to just put together for you that are just batteries included. It definitely speaks to a pain point there in developer experience.
00:47:09 - Anthony Campolo
Another thing it does, actually, that I think is going to really be a game changer, because it is the integrated bundler and transpiler, is that allegedly, and this is what they're saying... obviously this stuff never works as smooth as you'd want... you don't really have to worry about whether your file is JS, TS, JSX, TSX, MJS, CJS, CTS, and MTS. We have like eight file types to deal with now, and I absolutely hate this. So supposedly it deals with all of that and also it can do both CommonJS and ESM and is Node-compatible and web-standard-compatible. So essentially what they're saying is that it works with everything in all situations, which obviously can't be true. But if that's true most of the time, that's just incredible. And that will actually make me switch. That will make me use this on my day to day.
00:48:10 - Ishan Anand
Yeah, there's so much potential value in here in DX. So hats off to... I actually don't know what's the name of the gentleman behind it? Jared...
00:48:26 - Nick Taylor
[unclear].
00:48:27 - Ishan Anand
Jared. I realize it's probably a whole team, but just getting this off.
00:48:31 - Anthony Campolo
So Jared. And this is important, I think. This is part of the story and why I think they're worth comparing. Jared was a man on a mission who, for a year, built this just through the sheer force of will on his own savings, coding 18 hours a day, and built something that people were really excited about and wanted to get involved in. So I think that's cool. I think that would have actually served Sebastian better in the long run. He wouldn't have to use his own money. So just fund him to do that. Just go heads down, build something, and then see where you get.
00:49:06 - Ishan Anand
Yeah. I noticed Nick came up, so I'll give him a minute at the stage in a second. But you were talking earlier about VCs, right? One of the things VCs say is that we want to fund somebody who's going to do it anyway, regardless of whether you give him the money. And Jared literally just did that.
00:49:23 - Anthony Campolo
Exactly.
00:49:23 - Ishan Anand
Yeah. So, Nick, what's up? Nicky T. Yeah, welcome. Thoughts?
00:49:29 - Nick Taylor
What's up? Yeah, in regards to the compatibility with Bun, the stuff I've been reading about, because I follow Matteo Collina, who's one of the Fastify folks.
00:49:41 - Anthony Campolo
Yeah, I was gonna say, they have a couple asterisks in terms of specific things in Node they say they don't support. I guess that's like the one, but I think that's the only thing. There's like a handful of Node APIs. So that's an important asterisk to call out. I think that's what you're about to do.
00:49:55 - Nick Taylor
Yeah, yeah. There's stuff like that. Or if you have a module that does top-level await, I think it blows up. But I'm sure the Bun folks are going to sort that stuff out.
00:50:08 - Ishan Anand
The...
00:50:09 - Anthony Campolo
Well, my question is, will anyone but Matteo encounter these issues?
00:50:12 - Nick Taylor
Yeah, because... yeah, it's true. He was kind of like, hey, I can't use Fastify or Pino. But they're moving pretty fast. So I think stuff they run into, it's going to get sorted out. And I have a few... I'm curious about folks contributing to the project because, obviously, not many people know Zig, which is what Bun's written in. So maybe there's a bit of a... I don't know how big the community is for Zig. I don't think it's as big as Rust. I could be wrong about that.
00:50:45 - Scott Steinlage
But...
00:50:46 - Anthony Campolo
But I'd say it's bigger than any other obscure language you've never heard of. Obviously it's not as big as Rust, but you'd be surprised. Actually, I hear people talk about Zig out in the community, for sure. I think that's less of an issue, though, because so much of the internal Zig code for Bun is being written by Jared. He needs everything else. He needs docs, examples, people helping. That stuff, I think...
00:51:14 - Ishan Anand
Yeah.
00:51:14 - Nick Taylor
And the other thing, because I know Vercel released that you can bundle with Bun now, but they're not... I was reading, I forget where I was reading this, but you can't deploy with Bun yet. Or you could, but the benefits of Bun wouldn't be worth it currently because Bun isn't native in AWS, so you'd have to use a custom setup and that slows things down. So it'd be interesting to see if companies like AWS would just make it native on Lambda.
00:51:50 - Anthony Campolo
We should do that maybe. Ishan.
00:51:54 - Ishan Anand
It's a good point. I mean, because everything else is based on V8, and Bun is based on the WebKit.
00:52:05 - Anthony Campolo
Which means... but that means that's probably a bigger problem for Cloudflare than for us, though.
00:52:10 - Ishan Anand
Well, that's a side topic. It's clearly a different environment. All these benefits in the DX, but if you go the entire way through Bun-stack, the point here is that the bottom of it is a different, I want to say runtime or architecture, than a lot of the ecosystem in JavaScript land has been built around, which has been largely dominated by V8, which was really one of the first JIT and high-performance JavaScript runtimes. But it will take the ecosystem some time to digest and evolve and adopt. But it seems like he's certainly done an amazing job here despite those differences, and we'll see how that translates into adoption.
00:53:08 - Anthony Campolo
But are you building stuff with it?
00:53:11 - Nick Taylor
I haven't really dug into it too much yet, honestly. I looked at it briefly last year and I was getting some segfaults, but that was early days. But I'm definitely gonna take it for a spin. I think it's just exciting in general that somebody's just pushing the envelope because it's only going to make Node.js better. It's only going to make Deno better. It's just pushing things forward. And the other thing that's interesting too, if I sidebar... not sidebar, but if I go on a tangent for a sec...
00:53:51 - Anthony Campolo
You've got as much time as you need, man.
00:53:53 - Nick Taylor
You know how you're talking about Rome? The thing is, for example, something like Deno. Deno has a formatter, it has a linter, you can even bundle with it. It's got a built-in test runner. So that's pretty neat. And even Node.js now, as of I think in Node 20, it's stable now, they have a test runner.
00:54:13 - Anthony Campolo
Yeah, finally.
00:54:15 - Nick Taylor
Doesn't mean people are necessarily going to use it, but I would probably, because there's a lot of good DX in Vitest and all those other runners. So I could maybe see them, maybe under the hood, starting to use the newer Node test runner, potentially. But it's just interesting to see. Some of these things are super boring, which is maybe why... I don't know, Rome seemed kind of interesting. But at the end of the day, Prettier is pretty good, to be honest. I know there's config hell, but even Prettier has minimal config and you don't even have to create one. And coming from other languages, all these things are built in. When I was doing C#, it compiles, it formats...
00:55:01 - Anthony Campolo
That's what's so frustrating, though, is that we have this in other languages, so we should have it in JavaScript, and...
00:55:08 - Nick Taylor
We never have. The thing I'm kind of bouncing around here. But getting back to Bun, I'm curious what the debug story is because, for example, Deno's based off of V8 as well, and so say you want to debug Node, you can open up a Chromium-based browser and use the same debugger that you use for front end.
00:55:29 - Anthony Campolo
It uses the WebKit Inspector protocol.
00:55:32 - Nick Taylor
Okay. Yeah, so I imagine there's obviously going to be a language server, like a lot of languages do now, so you can use it in the editors and stuff.
00:55:41 - Ishan Anand
But yeah.
00:55:41 - Anthony Campolo
Oh, they have a debug Bun... they have a web-based debugger. It's interesting. Oh yeah, actually, dude, you might dig this. This looks like they actually built something specifically as a playground on their website for debugging. I've never seen this before.
00:55:58 - Nick Taylor
Yeah, I'll definitely check it out. But yeah, I was just curious.
00:56:01 - Anthony Campolo
Yeah, yeah. Just for you, Nicky T. I know you love debugging.
00:56:04 - Nick Taylor
Exactly. I do other things. I do other things aside from debugging.
00:56:09 - Ishan Anand
Yeah, yeah.
00:56:11 - Nick Taylor
But yeah, no, I think it's just exciting that people talk about the churn in JavaScript and all kinds of stuff going on, but I'm still of the mindset, as a web dev, I think it's just an amazing time to be alive. I definitely don't dread having to configure webpack.
00:56:35 - Ishan Anand
Yeah. Well, I'm just so excited, even just with the cloud compared to where we were a long time ago. It's been hugely productive. There was something that came up over the last week that I was surprised you didn't put in the TypeScript thing. Yes, that's exactly where I'm going.
00:57:04 - Anthony Campolo
I have no interest in talking about it.
00:57:07 - Ishan Anand
Okay.
00:57:09 - Anthony Campolo
Yeah, no. I mean, I feel like everyone was talking about it. So they took TypeScript out of Ruby on Rails. They said Turbo 8, but I think that's part of Ruby on Rails, I believe. And yeah, David Heinemeier Hansson has talked about not liking TypeScript and things like that forever. He loves Ruby, which is a dynamic language like JavaScript. He wrote a message explaining why. He explained it very clearly and actually in a not very inflammatory manner at all, I thought, especially by DHH standards. And so everyone lost their goddamn minds.
00:57:46 - Scott Steinlage
And they found aliens in Mexico.
00:57:48 - Nick Taylor
So yeah, I saw that. Might be related.
00:57:53 - Anthony Campolo
Wait, what? I missed that.
00:57:55 - Nick Taylor
There's some aliens on display in Mexico.
00:57:57 - Anthony Campolo
Oh, they found an alien in Mexico. That's what you said. Yeah, yeah, yeah.
00:58:01 - Ishan Anand
So do you believe that there's a... it felt like TypeScript was an unassailable freight train. Its adoption is only going up until now.
00:58:13 - Anthony Campolo
I've been saying TypeScript already peaked. I've been saying that. I think we're on the downslope now.
00:58:18 - Ishan Anand
Okay. We are? Okay. So...
00:58:20 - Anthony Campolo
Well, I think that because it already won, and at this point we're going to actually try and build types into JavaScript. I have no idea how long it's going to take or whether it's going to work well or not. But at a certain point there's going to be a widespread acknowledgement that we just need JavaScript itself to work with types and just have it in the language. It's inevitable. I don't know how long it's going to take, but this can't be the end state. It just can't.
00:58:49 - Ishan Anand
Got it. Like what happened with CoffeeScript. We got all that stuff in JavaScript eventually because people were like, this is so good. And then it went away. Okay, so that's interesting. So there have been attempts before. I think Google's team proposed something they called StrongScript or Strong JavaScript.
00:59:09 - Anthony Campolo
Nothing in the past matters because none of them had an actual serious competitor to go up against.
00:59:14 - Ishan Anand
What about...
00:59:15 - Anthony Campolo
What about what?
00:59:17 - Ishan Anand
Nobody say JSDoc, but I want to hear what you were going to say.
00:59:21 - Anthony Campolo
JSDoc is also why I think TypeScript's on the way out, because both there's going to be efforts to build types into the language. There's also going to be efforts to have tooling that handles the types without having to actually have it in TypeScript, with things like JSDoc. So it's getting attacked from two different angles. But what was the thing we were just talking about before that?
00:59:45 - Ishan Anand
Before Bun or...
00:59:46 - Anthony Campolo
No, no, no, just... I lost my train of thought. Just a second. I was about to say something about TypeScript and... oh shit, continue. It'll come back to me.
01:00:05 - Ishan Anand
Yeah, I think you were saying something around it's been recognized that we need to have types in some form inside...
01:00:15 - Anthony Campolo
Oh, I was going to say previous attempts at building types into the language have failed because there was no existential threat to JavaScript. TypeScript is an existential threat to JavaScript, the language continuing to exist as an independent programming language.
01:00:33 - Ishan Anand
Got it. Or looked at another way, rather than necessarily a threat, it's an existence proof of demand and interest. Like the strongest indication that we need to solve this is how many people are on TypeScript. It's like, guys, at a certain point maybe you should build it into the language. At this point we should have a poll on this. That's a bad idea.
01:00:54 - Anthony Campolo
Make a poll, Scott.
01:00:55 - Scott Steinlage
Yeah.
01:01:01 - Ishan Anand
So I guess you didn't want to bother talking about it not because you disagree with it, but you're already convinced that we're at peak TypeScript and I feel like it was just part of a... yeah, good.
01:01:13 - Anthony Campolo
I just didn't feel like I would have had a lot to say. And especially because, one, I agree with DHH. No one wants to hear that. So I didn't really want to have to make that case and put myself out as a defender of DHH. So it's more of a tactical decision than anything.
01:01:31 - Ishan Anand
Got it. Okay.
01:01:32 - Scott Steinlage
You know something else I was thinking about, just speaking of polls real quick. So I ran a poll. I don't even think we discussed it unless you guys talked about it when I was out, like last week or the week before, whenever that was. But I had said, hey, the age-old thing: vanilla versus a framework. And it was like, okay, look, frameworks come and go, but the beauty of vanilla JS is timeless, just like your grandma's cookie recipe. Anyway, but I said, put in your vote on this age-old question: learn vanilla or go with a framework and learn along the way. And I was actually very surprised by the results because I thought a lot of people were going to go with framework, because how many people nowadays have just started with React or something like that, right? Like, Anthony, you did that, right? And many other people too, I'm sure.
01:02:26 - Anthony Campolo
Like some other framework. I mean, yeah, I did. But I think even people who did that, like me, came out of it saying, I wish I hadn't done that.
01:02:34 - Scott Steinlage
Yeah, yeah, sure.
01:02:35 - Anthony Campolo
Yeah.
01:02:36 - Scott Steinlage
Well, anyway, I don't know. And there were a lot of people just saying, hey, look, just go with a framework because you don't have to do as much work necessarily. It's like Redwood. It's all built in there, right? But I was pretty surprised. There were almost 30 votes on here, 29. And 82.8% of people said learn vanilla, and only 17.2% said framework. So kind of interesting.
01:03:13 - Ishan Anand
Yeah, good.
01:03:16 - Scott Steinlage
I was just gonna say I think it correlates a little bit. It's a little bit different, but TypeScript is still... like you said, though, Anthony...
01:03:26 - Anthony Campolo
I think you're onto something there.
01:03:28 - Scott Steinlage
Take JavaScript out of business, right, per se. But TypeScript, on the other hand, is a whole other thing. I don't know.
01:03:38 - Nick Taylor
Yeah, no. You go. You go ahead, Ishan. I'll go after.
01:03:43 - Ishan Anand
No, no, no, you first. I always want to hear what other people have to say.
01:03:46 - Nick Taylor
Yeah, I think even though I'm super excited that, like, to be a web dev these days, there's so much great tooling and stuff, if I'm somebody new coming into this space, it's pretty intimidating because there's just all this tooling. Even if it's in the framework and stuff, you might not know a lot, because a lot of web devs that I've met in more recent years, because I speak to a lot of early-career devs, their introduction to web development is React. And they don't necessarily think that React is built into the browser, but there's a disconnect between what actually gets rendered and stuff. But my point, though, is whether you go vanilla or a framework or you jump into whatever, I think the important thing is just to build stuff. And I had this conversation with Austin Gill when he was on my stream, because the thing is, if you don't start with fundamentals and you go with a framework and you build something, at some point you're gonna get stuck.
01:05:01 - Nick Taylor
Like, I don't know how a radar map works when you're looping over some components or something. So you're gonna dig into the fundamental stuff. If you start with vanilla and then you go to a framework and you're like, I have no idea what's going on, either way I think you're still gonna learn. And I think it's just more important to build something. That's the essence of why I always loved web development from the early days: just literally FTPing an index.html file with some JavaScript and you see it instantly. I think just building is super important regardless of where you're at.
01:05:38 - Scott Steinlage
Yeah, and building, like you said, I think you're very on point there. Because when you start building, you're going to run into things where you're going to need to discover something more about vanilla to understand the process, to be able to learn more, to be able to get to the next step of whatever you're trying to accomplish. Maybe not in a very basic profile build-out or something like that, but something more advanced that you start to do may require understanding the foundation of vanilla versus knowing what's rendering or whatnot. So yeah, I think you're on point there. As you build, you will grow, right? I don't know.
01:06:18 - Nick Taylor
And the other thing I was going to say is about TypeScript. I've been working with TypeScript since 2015, and TypeScript's actually been around since 2012. The thing with it is, when I first started using it, I was at a Microsoft shop. I was using Visual Studio Code 1.0. I don't know when people started using Visual Studio Code, but Visual Studio Code literally used to be just an editor. There were no extensions. There was nothing. It was literally just... we used it because it's what had TypeScript support. The interesting thing about TypeScript, because front-end devs are like, oh, wow, I can go to definition and I can do all these things, and these are things that... because I did a lot of C# before... these are all things that have been in Visual Studio and any kind of... they're typically object-oriented, enterprise-grade languages that have these things. If you use, I forget what it is for Java, IntelliJ and stuff, all those things exist. And TypeScript has the types, but also a huge chunk of TypeScript is actually tooling: go to definition, rename this variable and then it changes it everywhere.
01:07:43 - Nick Taylor
The thing I always say to people when I hear them say they don't like TypeScript, it always makes me laugh, because if you're in Visual Studio Code and you're just using JavaScript, it's still using TypeScript under the hood. That's how you get the IntelliSense from the DOM APIs. It's pulling in types still and stuff. It's giving you all that IntelliSense and refactoring. So I see TypeScript really as... a lot of it is really tooling to just make your developer experience better. There are the types as well, obviously. So it's just kind of interesting to see where it goes. But I think a lot of what TypeScript drives these days is really tooling, and the types are there too. But I just wanted to mention that.
01:08:35 - Anthony Campolo
All right, cool. I think that's about gonna close it out for us. Thanks so much for hopping up, Nick. Appreciate your Bun thoughts, your TypeScript thoughts. I know you're someone who's been doing TypeScript for a long time. And I will say, I don't think TypeScript itself is going away. I think TypeScript will be around forever. But I think that at a certain point JavaScript is going to admit it has to have its own solution for this problem. Anyway, I'll close out, Scott.
01:09:04 - Scott Steinlage
Yeah, awesome. Hey, thank you all so much for joining us. If you got any value from anybody up here on stage, please be sure to follow them if you're not already. And I'm sure you already are if you're in this room, it looks like, for the most part. So thank you all so much for joining us today. Remember, as always, you can feel free to come up too. Nick just requested and we brought him up, no problemo. Even though we know Nick and he's our homie. But if you are not our homie, you could become one. So just hang out with us. Come on up here, have a good time next time. Also, if you're not already subscribed to javascriptjam.com, go to javascriptjam.com. Subscribe to our newsletter that Anthony puts out every single week and has a lot of these topics in them that we discuss on Wednesdays. So be sure to do that. Don't want to miss out on the latest and greatest in JavaScript and web development. With that being said, thank you all so much for joining us today. Had some awesome conversation about Strange Loop.
01:10:00 - Scott Steinlage
If you don't already have a ticket, I think they may be sold out, but you may be able to sneak in the door. Go to thestrangeloop.com, check it out.
01:10:07 - Anthony Campolo
Actually, the talks end up online as well, so check those out.
01:10:11 - Scott Steinlage
Yeah, yeah. And the talks will probably end up online. But yeah, thestrangeloop.com. Sorry, it's not strangeloop.com, thestrangeloop.com. Go check that out for more. If you're in the St. Louis area around that time frame, hit up Anthony and I. Maybe we can hang out or something. I don't know. But yeah, be sure to check it out. All right, y'all, thank you so much. It's been a blast. Thank you, Nick, for coming up and hanging out. Thank you to everybody else in the audience there hanging out. Love y'all. We appreciate y'all, and we'll see y'all in the next one.
01:11:09 - Anthony Campolo
Yeah.
01:11:16 - Scott Steinlage
All right. Thanks, y'all. Love you. See you in the next one. Peace.