Conrad Irwin
๐ค SpeakerAppearances Over Time
Podcast Appearances
Definitely. And we have a build step that does it for you. But for example, if you have an error in the protobuf file, it breaks everything because the build step fails. And then it's like, oh, you can't build. And you have to really dig in and find out why that is. But yeah, thanks for the postcard link. And I will look into those. Thank you.
I guess what makes it so complicated is that there are 50 different programming languages that we're trying to support. The other thing that makes it complicated is it's actually a very fiddly piece of UI and UX. And obviously, there are lots of existing ones, so we can kind of copy them. But it's not just a copy-paste from VS Code or something like that.
I guess what makes it so complicated is that there are 50 different programming languages that we're trying to support. The other thing that makes it complicated is it's actually a very fiddly piece of UI and UX. And obviously, there are lots of existing ones, so we can kind of copy them. But it's not just a copy-paste from VS Code or something like that.
I guess what makes it so complicated is that there are 50 different programming languages that we're trying to support. The other thing that makes it complicated is it's actually a very fiddly piece of UI and UX. And obviously, there are lots of existing ones, so we can kind of copy them. But it's not just a copy-paste from VS Code or something like that.
There's a lot to think about and a lot to build so that it not only works well, but it feels intuitive and you can actually understand how to use it. So one of the things that's really interesting, there's kind of a debugger protocol that's beginning to feel somewhat standard, which is the one that Chrome uses for its dev tools. That's the one the VS Code builds on.
There's a lot to think about and a lot to build so that it not only works well, but it feels intuitive and you can actually understand how to use it. So one of the things that's really interesting, there's kind of a debugger protocol that's beginning to feel somewhat standard, which is the one that Chrome uses for its dev tools. That's the one the VS Code builds on.
There's a lot to think about and a lot to build so that it not only works well, but it feels intuitive and you can actually understand how to use it. So one of the things that's really interesting, there's kind of a debugger protocol that's beginning to feel somewhat standard, which is the one that Chrome uses for its dev tools. That's the one the VS Code builds on.
There are obviously other implementations, like some go directly to the debuggers. But what I imagine we'll do first is kind of support the debug protocol, kind of punt a little bit on the languages that don't work with that and make it a language problem. But I hope if we do that, we can kind of like language servers. We get most of the benefit with a tenth of the work.
There are obviously other implementations, like some go directly to the debuggers. But what I imagine we'll do first is kind of support the debug protocol, kind of punt a little bit on the languages that don't work with that and make it a language problem. But I hope if we do that, we can kind of like language servers. We get most of the benefit with a tenth of the work.
There are obviously other implementations, like some go directly to the debuggers. But what I imagine we'll do first is kind of support the debug protocol, kind of punt a little bit on the languages that don't work with that and make it a language problem. But I hope if we do that, we can kind of like language servers. We get most of the benefit with a tenth of the work.
But they're still building all the UI, so you can look at local variables, job list lines. If you start to think about all the things that a debugger can do, it's definitely a lot more than just play and pause.
But they're still building all the UI, so you can look at local variables, job list lines. If you start to think about all the things that a debugger can do, it's definitely a lot more than just play and pause.
But they're still building all the UI, so you can look at local variables, job list lines. If you start to think about all the things that a debugger can do, it's definitely a lot more than just play and pause.
So JavaScript definitely works well with the protocol because it was written for that. I know that Go's debugger, Delve, also has support for it. One thing I'm not sure about is does LLPP, which is the Rust debugger, or NEC-based language, I don't know if it supports that protocol yet, but that's definitely a debugger that we would like to have support for.
So JavaScript definitely works well with the protocol because it was written for that. I know that Go's debugger, Delve, also has support for it. One thing I'm not sure about is does LLPP, which is the Rust debugger, or NEC-based language, I don't know if it supports that protocol yet, but that's definitely a debugger that we would like to have support for.
So JavaScript definitely works well with the protocol because it was written for that. I know that Go's debugger, Delve, also has support for it. One thing I'm not sure about is does LLPP, which is the Rust debugger, or NEC-based language, I don't know if it supports that protocol yet, but that's definitely a debugger that we would like to have support for.
A particularly unique bug, I guess. So Zed allows you to edit files of any size. And we had a bug where if you had a file that was over about 100,000 lines long, and you scrolled down, the line numbers would not be at the right position. You'd have the line of text, and the line number would be plus or minus a couple of pixels.
A particularly unique bug, I guess. So Zed allows you to edit files of any size. And we had a bug where if you had a file that was over about 100,000 lines long, and you scrolled down, the line numbers would not be at the right position. You'd have the line of text, and the line number would be plus or minus a couple of pixels.
A particularly unique bug, I guess. So Zed allows you to edit files of any size. And we had a bug where if you had a file that was over about 100,000 lines long, and you scrolled down, the line numbers would not be at the right position. You'd have the line of text, and the line number would be plus or minus a couple of pixels.
And we looked into it, and it turned out that because our graphics coordinates float 32s, when we were multiplying the line number by the float 32 to try and figure out the distance from the very top of the file, it just didn't work out at all. And so we ended up having to first subtract from the first visible line and then do the offset. And then that just fixed it.