Jerod Santo
Appearances
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
RedMonk recently did their rankings this year, top 20 languages. in use in industry, according to their tech, you know, their methodologies. I'm not sure what the methodologies are, but you got jobs for number one and then TypeScript is down there at five or six. And so imagine how number one, number one gets, if you just combine those two.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
So going back to Deno as different from Node from this project, we'll definitely get to Deno too, so bear with me. But here's a thought that I had. Deno is different insofar as it's a startup, right? This is a business, and that's different and new. That constraint informs a lot of decisions, I'm sure. How has that constraint helped Deno as a project over the seven years of its inception?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
What up, nerds? I'm Jared, and you are listening to The Change Log, where each week we sit down with the hackers, the leaders, and the innovators of the software world to pick their brains, to learn from their mistakes, to get inspired by their accomplishments, and to have a lot of fun along the way.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Is that no re-license thing, is that formalized in any way? I mean, I feel like there should be some sort of like no rug pull clause somewhere or somehow in a way that you can't just say, well, I, Ryan Dahl, say that it's never going to happen. You're like, sure, that's great.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
But then what happens if somebody else runs the company or you get, I'm sure there's a board of directors, maybe you get excised as the CEO and the next guy comes in and says, well, we're re-licensing to Fair Source or something else.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
So, yeah, I mean, well, you haven't pulled the mask off and said muahaha in the last seven years. So I expect, you know, more of the same in terms of, ah, I'm now relicensing and everything I do in the future is going to go against everything I've said in the past. It's just, there's, there's good intentions. And then we have
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
over time change in organizational structures, it seems that usually changes what ultimately leads to a relicensing in the future. So I'm always curious if people have thought about how to somehow just formalize their intentions, maybe even if just saying out loud is sometimes all you can do.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Yeah, I do think that's the best model so far for the style of software that you're building. Of course, different types of open source, I think, lend themselves to different models.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Well, you know, the old saying, no good deed goes unpunished and it's doubly true on the internet. I mean, you are going to be criticized if you go left and you're gonna be criticized if you go right. And that's just kind of how it works.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
All right, let's talk Deno 2. You said you guys kind of agonized over when you could call it a 2. This is always a hard problem, even for the folks who are trying to semver their projects, which is usually libraries, not so much runtimes. But hard problem. What's a major? What's a minor? Is this a patch? Of course, most majors in these cases are for...
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
uh, marketing purposes, which I think is totally fine. You got to get attention on what you've been up to and you can't just simply release things all the time and people just don't pay attention. So usually a 2.0 comes with it, a whole bunch of stuff. This one certainly does. You want to iterate over a few of the high points and we'll talk about them.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Very cool. JSR is very interesting because the history of NPM is fraught with costs. It was a cost center. Effectively, it was infrastructure for all of us web developers and NPM Inc or whatever. I think that's what it is. NPM Inc became the entity that had to bear the burden of that cost of just hosting millions and millions and maybe trillions of downloads over the years.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
And so JSR, I assume also must cost some money to run. How are you guys doing that? How's it working?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
is it the kind of thing where you would write a package and you would maybe put it on both registries for in the meantime, or does it matter? Like if I was going to author something, maybe I'd already know how to do all the crazy NPM things you have to do. Is it, I just post them both. Do I post a JSR? How does it, how do you suggest?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Yeah, yeah, yeah. Yeah, totally. I agree with that. So as an author, I totally understand why JSR would be cool, especially if I'm an author of a package and I don't have all of the NPM know-how. As an end user who just has a package JSON in my Deno app or something, like why... does JSR help me or does it matter if I'm NPM installing JSR?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
all right i am here with ryan doll creator of node and more recently but not that recently it turns out dino what's up ryan hey how's it going it's going well thanks for joining me you know i was just on youtube checking out some of the node documentaries i think honeypot put up a new one that's a little bit shorter about the origins of dino
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
That's awesome. And JSR modules don't lock you into Deno. Like you can use it in Node, you can use it in other things, right?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
So I'm here looking at a node server file I have on my machine that has import Fastify, import Puppeteer, and import AWS SDK. At this point with Deno 2, I could just Deno run this sucker, you think?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
That's really exciting.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
I was thinking about trying it. Well, I don't have Deno 2 on this machine. I still have Deno 1. Can I just, I probably can't brew install.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
This Deno was built without the upgrade feature. Please upgrade. That probably because I brew installed it.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
I will post later whether or not it works. We will not take this long of a diversion, unless you're super interested in it.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Uh, okay. Let's try it. How do I install a VO year? Just, you know, dot land and follow the.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Now, if I already have it installed via brew, are we going to have any issues or it's going to be all good?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
All right. So I just got Dino version one, not four, six dot three. So now I run Dino upgrade.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
right so dino run server uh you you can just do dino task maybe you have some scripts in there in your package json yeah i just have just a start script this is a pretty simple thing besides the fact that it has puppeteer which immediately makes it not simple task start node server.js well it's running so my i guess my task says node so is it running node now
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Yes.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
I see the task, Deno task start. I don't see any sub-processes.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
I don't have a ps3 command. Is that argument to ps?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
I just have the one. I just have dino task start. And that's the only dino process? Oh, no, auto update homebrew. Stop, stop, stop. Yeah, exactly. Hold on. Let me go this direction. Oh, I got a bunch of node tasks running. Apparently, Adobe Creative Cloud is running Node. Maybe it just happened to be a match. This is getting nasty. Let's try it this way. Can I do dino run server.js?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
And I was looking like 600,000 people watched the Node.js documentary. I think the new one has thousands as well. And I wondered, did you ever think this would happen to you? Like just for slinging some C++ code and putting your ideas out there, like you're kind of a internet celebrity now.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Is dino run a thing? Yeah. Yeah, let's just try that because then we're guaranteed to use dino, right?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
I'm going to say allow all because I'm living dangerously. I'm allowing sys. I'm allowing read. I'm allowing write. I'm allowing run. I'm allowing net. Yeah. Hey, it is serving on port 3000. It works. Congrats.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
For me, that was relatively simple. I'm sure for you and your team, that was a huge lift. Super, super huge lift.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
That's exciting. I mean, as a fellow idealist slash purist, like part of me dies as you talk about this, but part of me actually is also excited because I'm way more likely to use this. Some of this NPM support has been there for a while now.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Well, well-deserved. And of course, not just yourself, hundreds, scores of people working on Node over the years. And of course, Dino, you are primary on Dino, but a team over there as well. And gosh, I said not too recently because you've been working on Dino a long time now. Hasn't it been like six or seven years?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
That's really cool that you've been able to architect it in such a way that is extensible like that and allows people. I mean, talk about, again, meeting people where they are. There are people that appreciate those lower levels and they can use those open source projects to their own benefit.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
And that's really cool and allows you to continue to take pride in it and to usher things forward while still supporting the things that you have to support in order to bring people forward. along with you. You mentioned serverless computing.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
I think last time you were on the show, which I guess was two years ago now, we were talking about Winter CG and some of the efforts between you all and Cloudflare to kind of formalize a spec around serverless runtimes. I haven't really kept up with that. Is that something that's continued to move forward? Is there progress there? Is it bearing fruit, this effort to create these specs?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Fair enough. As you talked about these different layers, One of the more interesting features I think you have added, which for me as a person who's been in the open source world for a long time and cares about sustainability and talks about licenses, you know, real kind of wonky in these areas. DenoKV was very interesting to me because it's kind of like where A, it's open source.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
This is a key value store built right into Deno and has a potential, I guess, upgrade path to Deno, the service, you know, Deno, the hosted stuff. where that database can be hosted by you all for pay. But then also you don't have to do that. And this is like one of those areas, again, where I wouldn't call this, this is not open core. I don't think so. It's a hosted service.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
But it's like that weird connection point of like, well, where does the... runtime stop and the product begin. And I'm just curious your thoughts through that, because I'm sure you thought deeply about it as you guys designed it.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
open core concerns or or incentive concerns are would be addressed by by kind of decoupling them it also makes the engineering effort a bit easier i guess yeah yeah that's interesting you say that because that was my initial reaction when it first came out i think we talked about it on the show and i was like it's cool it's interesting it seems experimental Would I use it? I don't know.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
It seems kind of strange that it's like a top-level global inside of the runtime. Like, why is this not just a package? It makes sense. You're saying, you know, technically it's probably easier for you guys, especially when you're experimenting with a new feature, just like, well, we're just going to drop it in right here because that's the easiest button.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
On this episode, I'm joined by Ryan Dahl, creator of Node.js and Deno, his second attempt to level up the world by leveling up JavaScript developers all around the world. We cover a lot of ground. I ask Ryan, why not try to fix or fork Node instead of starting fresh? How Deno, the open source project, can avoid the all too common rug pull not cool scenario?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Maybe not an easy button, but the easiest button and see how it works out. So, I mean, that's fascinating that you've kind of thought, well, maybe it makes more sense just as a package versus a built-in thing.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Yeah. And we are on the edge of Deno 2 now. So you're going to have an official 2.0 launch pending coming very, very soon. It's in a release candidate. So I'm sure people can get out there and use it right now today, right?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
And what's interesting is that Node recently added the experimental SQLite support. And I thought, was that maybe, again, you being their research arm, maybe they're like, wow, putting a key value store in there, we could just drop SQLite in there and you'd give more power than a key value store. But I don't know if they were inspired by you or if not simultaneous invention.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Oh, does Bunn have a direct SQLite embedded thing? Yeah. Gotcha.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Yeah, that's cool. So much. I love the competition and the spirit of innovation and like the fact that all these ideas are going back and forth and different directions. I think the whole community really benefits when these things happen.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
100%. Do you guys have any other experiments in the works? Anything you're working on that you're excited about testing out, whether it's, you know, monetization or otherwise, like cool new stuff that Dino's working on?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Okay, what about non-commercial or the things that like in the open source side that are exciting to you? Maybe after the 2.0 gets finalized and you're working on what's next.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
So you are obviously in the code in the decision making process, like you are still rocking your code editor on a daily basis, right? Like you're still writing code?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
I mean, are you fighting that off? Are you embracing it? What's your stance on it?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Sure. Well, you're at least in the weeds of the decision-making with the architecture and the direction of the project. So, I mean, it sounds like you are very well versed in where Deno is headed, not just generally speaking as a business or as open source project, but like in the technical details of the decision-making process, whether or not you're actually coding up the functions or not. Yeah.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Have you ever considered reorganizing the company a little bit? Maybe bring on a CEO or somebody and then just stay in IC? Is that something that's attractive to you or do you just think that you need to be at the helm?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Yeah. Wear whatever hats are necessary. What surprised you in that arena in terms of things you weren't necessarily good at or hadn't done previously? Is the sales process harder than you thought? Is it easier? What's been a surprise in this new role?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
The cool thing about Deno and its origin was these 10 mistakes I made with Node and that conference talk like you mentioned. And then this was your second effort to rearrange the letters, start fresh, fix some of those mistakes. But you've been working on Deno now for seven years.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
I'm sure it is. In that sense, how do you make those decisions? Like the focus of, no, we're not going to go right. We're going to go left. And we're all going to like when it comes down to it, is it intuition? Is it data? Do you ask the people around you? Like, how do you make the call of this is what we're focusing on?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Well, on the note of leveling up JavaScript, let's close on this. An open call, a letter to Oracle, of all people, if you can consider Oracle a person.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
About JavaScript, not the programming language, but the word JavaScript that represents the programming language, which really is kind of belongs to the world at this point. However, the trademark... Is it the word trademark? Yes, the trademark belongs to Oracle. If you go to javascript.tm, it says Oracle, it's time to free JavaScript. So this is an open letter, I think.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Was this penned by you or just signed first by you? Tell us the story here. Was this your idea? This is a great idea.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
And so I'm not saying there should be a third effort, but like, are there things you've learned about Deno or do you have Deno regrets at this point? It's been long enough. Everybody has regrets, right? Yeah.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Very nice. Well, this is very well written. You go through it and you describe specifically how they have abandoned this trademark through non-use. And the call to action at the bottom says, if you agree with us, you are encouraged to sign this open letter below. Your support will help raise awareness and add weight to this cause. As of the time of us recording, 9,924.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
It was three, but I signed it just before we hopped on the call. Very easy, just with your GitHub profile. I signed that sucker. Have lended their name to this open letter, including... folks like Brendan Eich, creator of JavaScript, Rich Harris, creator of Svelte, Isaac Schluter, creator of NPM, Firas Aboukadej, CEO of Socket, some big names. Of course, you're on at the top there.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
So people are very invested in
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
javascript have signed this thing so to our listener if you are also so inclined to get behind ryan's open letter go sign that and what's the next step after this you're actually going to start the legal process are you raising money do you have enough money are there are there pro bono javascript lawyers out there that who might represent you yeah we're we we are looking for legal help so if anybody listening is an ip lawyer and
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
100% drew well. That URL is javascript.tm. We will drop it in the show notes for easy clicking through and lending your name if you feel so inclined. Ryan, thank you so much for sitting down with me, all the hard work you've been doing on this project over the last seven years, probably at least seven more years ahead of you. I mean, it sounds like you're in it for the long haul.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
As a web worker and as a web denizen, I appreciate you trying to make JavaScript and the web a better place. Just keep leveling it up. And we appreciate you. Thanks so much. So I have a little secret for you. This conversation was originally recorded for JS Party. In fact, we are shipping it to the JS Party feed as well.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
So if you listen to both pods or subscribe to our master feed and you see it twice, that is not a mistake. We just thought both audiences would get a lot out of this one. If you don't listen to JS Party, but you enjoy the changelog and want to hear more of me interviewing folks, chatting about web development, playing silly games, stuff like that, maybe give JS Party a listen.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Even if you don't write JavaScript, you can probably get a lot out of that show. I know I do. Oh, and this is it, the last week in September, which means it's your last chance to get some sweet, sweet ChangeLog stickers for $0. All it costs you is one thoughtful five-star review or blog post. We do accept blog posts. Just send proof of your review to stickers.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
at changelog.com alongside your mailing address and I'll ship you the goods anywhere in the world. This is your last chance for a while, so let's do this. Or you could get some stickers from us IRL at All Things Open 2024. Yes, Adam and I will be in Raleigh once again hanging out in the hallway track, recording conversations, giving out high fives and more.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
We even have some free passes to give to our audience. Introduce yourself in our shiny new Zulip chat and we'll hook you up with a free pass. Link to join our Zulip is in your show notes. Thanks once again to our partners at Fly.io, to our Beat Freakin' residents, The Goat, Breakmaster Cylinder, to our friends at Sentry, use code CHANGELOG, save 100 bucks, and to you for listening.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
We love that you choose to spend time with us each week. That is all for now, but we'll talk to you again on Changelog and Friends with special guest Nick Nisi on Friday.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
So you initially started with a clean cut from NPM as well with your own URL based imports. And you basically had to do that stuff because there's so much, like you said, there's extant code out there. There's packages that you just don't want to have to re-implement. on the Deno side, because let's be realistic.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
I mean, when Node came out, I remember that first call for contributors that you gave, and it was like, come create things for Node.js because it was available for use, but there was no standard library, there was no
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
code there to use and people did it was amazing i mean it was like the frontier of web development uh server-side was make a node package for this i mean the person who made the grpc package initially of course that was probably years later i'm not sure when grpc became interesting to folks but that person it was greenfield and they were probably highly motivated to do that but nowadays it's like well i already have node i have a grpc over here in npm
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
It's now a barrier to Deno, right? It's no longer Greenfield. It's like, do I want to rewrite this or port it over? And so when did you guys make that call? And was that a tough one to finally, it's a pragmatic choice. Like you have to kind of ditch a little bit of the pure idealism of the fresh start, right?
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
what's new in dino 2 and their pragmatic decision to support npm we talk jsr we talk dino kv and sqlite we even talk about ryan's open letter to oracle and his attempt to free the unused javascript trademark from the giant's clutches but first a thank you to our partners at fly.io over 3 million apps have launched on fly including ours and you can too in five minutes or less Learn how at fly.io.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Yeah, exactly. And you can't, you have to meet people where they are, you know, for them to actually benefit because you're trying to make software that's A, used by the mass developers and B, has to then be useful to all of them or many of them. You're not happy, like you said, writing a niche runtime that 500 people use.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Back in the day, go back seven years, I know you had this initial idea and it was like, I think in that initial speech you said that Node kind of offended some of your sensibilities over time. And I know there's a lot of personal history there and there's job-related stuff and lots of baggage there, just mental baggage. I'm sure it was just more fun to start fresh with something else.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
But now that you're competing with your previous creation in terms of getting people to use Deno and That's probably an uphill battle because Node is established and it's like the de facto. And it's probably hard to move certain people.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Is there an alternate world where instead of starting fresh that you just said, like, I'm either going to fork Node and start from there and change these things or I'm going to rejoin the Node technical steering committee and like... I don't know if that could have even happened, but like moved it in a direction because then you wouldn't have to regain all these users.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
You'd have all the millions of users already.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Okay, Ryan Dahl on the changelog. Let's do this.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
Good point. I mean, I think the autonomy and the ability to move quickly and not have to convince others of your ideas is to me highly desirable in any software project. So I 100% understand why you went that way. And your take on JavaScript is on point. There's been two recent rankings released, one from IEEE Spectrum.
The Changelog: Software Development, Open Source
Leveling up JavaScript with Deno 2 (Interview)
which had JS, I think it was one or two, maybe Python was one, JavaScript was two, in terms of surveyed from their readership. But then TypeScript was like five or six. So if you combine those two, which I mean, come on, you might as well just combine those two, cleared them one. And so there's academia right there. And then you go to industry.